mirror of
https://github.com/espressif/openthread.git
synced 2026-07-30 15:47:46 +00:00
[toranj] add new method to finalize all nodes at end of each test (#2930)
This commit adds a new method `finalize_all_node()` in `wpan.Node` class to finalize all previously created instances of `wpan.Node`. It terminates the associated `wpantund` process and wait.
This commit is contained in:
committed by
Jonathan Hui
parent
d67c4e2f6b
commit
44e583a554
@@ -154,4 +154,6 @@ for prop in all_gettable_props:
|
||||
#-----------------------------------------------------------------------------------------------------------------------
|
||||
# Test finished
|
||||
|
||||
wpan.Node.finalize_all_nodes()
|
||||
|
||||
print '\'{}\' passed.'.format(test_name)
|
||||
|
||||
@@ -107,5 +107,7 @@ verify(node.get(wpan.WPAN_XPANID) == '0x1020031510006016')
|
||||
#-----------------------------------------------------------------------------------------------------------------------
|
||||
# Test finished
|
||||
|
||||
wpan.Node.finalize_all_nodes()
|
||||
|
||||
print '\'{}\' passed.'.format(test_name)
|
||||
|
||||
|
||||
@@ -99,5 +99,7 @@ verify(node2.get(wpan.WPAN_STATE) == wpan.STATE_ASSOCIATED)
|
||||
#-----------------------------------------------------------------------------------------------------------------------
|
||||
# Test finished
|
||||
|
||||
wpan.Node.finalize_all_nodes()
|
||||
|
||||
print '\'{}\' passed.'.format(test_name)
|
||||
|
||||
|
||||
@@ -98,4 +98,6 @@ verify(nodes[0].is_in_scan_result(scan_result))
|
||||
#-----------------------------------------------------------------------------------------------------------------------
|
||||
# Test finished
|
||||
|
||||
wpan.Node.finalize_all_nodes()
|
||||
|
||||
print '\'{}\' passed.'.format(test_name)
|
||||
|
||||
@@ -81,5 +81,7 @@ for node in nodes[1:]:
|
||||
#-----------------------------------------------------------------------------------------------------------------------
|
||||
# Test finished
|
||||
|
||||
wpan.Node.finalize_all_nodes()
|
||||
|
||||
print '\'{}\' passed.'.format(test_name)
|
||||
|
||||
|
||||
@@ -103,4 +103,6 @@ for src,dst in [ (ll1, ll2), (ll1, ml2), (ml1, ll2), (ml1, ml2) ]:
|
||||
#-----------------------------------------------------------------------------------------------------------------------
|
||||
# Test finished
|
||||
|
||||
wpan.Node.finalize_all_nodes()
|
||||
|
||||
print '\'{}\' passed.'.format(test_name)
|
||||
|
||||
@@ -108,4 +108,6 @@ for poll_interval in [10, 100, 300]:
|
||||
#-----------------------------------------------------------------------------------------------------------------------
|
||||
# Test finished
|
||||
|
||||
wpan.Node.finalize_all_nodes()
|
||||
|
||||
print '\'{}\' passed.'.format(test_name)
|
||||
|
||||
@@ -78,4 +78,6 @@ verify(node.get(wpan.WPAN_NETWORK_ALLOW_JOIN) == 'false')
|
||||
#-----------------------------------------------------------------------------------------------------------------------
|
||||
# Test finished
|
||||
|
||||
wpan.Node.finalize_all_nodes()
|
||||
|
||||
print '\'{}\' passed.'.format(test_name)
|
||||
|
||||
@@ -119,4 +119,6 @@ verify(recver2.was_successful)
|
||||
#-----------------------------------------------------------------------------------------------------------------------
|
||||
# Test finished
|
||||
|
||||
wpan.Node.finalize_all_nodes()
|
||||
|
||||
print '\'{}\' passed.'.format(test_name)
|
||||
|
||||
@@ -182,4 +182,6 @@ verify_prefix([r1], prefix4, 48, priority="low", stable=True, on_mesh=False, sla
|
||||
#-----------------------------------------------------------------------------------------------------------------------
|
||||
# Test finished
|
||||
|
||||
wpan.Node.finalize_all_nodes()
|
||||
|
||||
print '\'{}\' passed.'.format(test_name)
|
||||
|
||||
@@ -94,4 +94,6 @@ for child in children:
|
||||
#-----------------------------------------------------------------------------------------------------------------------
|
||||
# Test finished
|
||||
|
||||
wpan.Node.finalize_all_nodes()
|
||||
|
||||
print '\'{}\' passed.'.format(test_name)
|
||||
|
||||
@@ -168,4 +168,6 @@ for msg_length in MSG_LENS:
|
||||
#-----------------------------------------------------------------------------------------------------------------------
|
||||
# Test finished
|
||||
|
||||
wpan.Node.finalize_all_nodes()
|
||||
|
||||
print '\'{}\' passed.'.format(test_name)
|
||||
|
||||
@@ -166,4 +166,6 @@ verify(recver.was_successful)
|
||||
#-----------------------------------------------------------------------------------------------------------------------
|
||||
# Test finished
|
||||
|
||||
wpan.Node.finalize_all_nodes()
|
||||
|
||||
print '\'{}\' passed.'.format(test_name)
|
||||
|
||||
@@ -177,4 +177,6 @@ wpan.verify_within(check_address_prefix_removed, 15)
|
||||
#-----------------------------------------------------------------------------------------------------------------------
|
||||
# Test finished
|
||||
|
||||
wpan.Node.finalize_all_nodes()
|
||||
|
||||
print '\'{}\' passed.'.format(test_name)
|
||||
|
||||
@@ -136,4 +136,6 @@ wpan.verify_within(check_prefix, 5)
|
||||
#-----------------------------------------------------------------------------------------------------------------------
|
||||
# Test finished
|
||||
|
||||
wpan.Node.finalize_all_nodes()
|
||||
|
||||
print '\'{}\' passed.'.format(test_name)
|
||||
|
||||
@@ -146,4 +146,6 @@ for router in routers[1:]:
|
||||
#-----------------------------------------------------------------------------------------------------------------------
|
||||
# Test finished
|
||||
|
||||
wpan.Node.finalize_all_nodes()
|
||||
|
||||
print '\'{}\' passed.'.format(test_name)
|
||||
|
||||
@@ -157,4 +157,6 @@ for i in range(len(all_children)):
|
||||
#-----------------------------------------------------------------------------------------------------------------------
|
||||
# Test finished
|
||||
|
||||
wpan.Node.finalize_all_nodes()
|
||||
|
||||
print '\'{}\' passed.'.format(test_name)
|
||||
|
||||
@@ -208,4 +208,6 @@ verify(wpan_state == wpan.STATE_ASSOCIATED or wpan_state == wpan.STATE_ASSOCIATI
|
||||
#-----------------------------------------------------------------------------------------------------------------------
|
||||
# Test finished
|
||||
|
||||
wpan.Node.finalize_all_nodes()
|
||||
|
||||
print '\'{}\' passed.'.format(test_name)
|
||||
|
||||
@@ -117,4 +117,6 @@ verify(int(node.get(wpan.WPAN_CHANNEL_MANAGER_DELAY), 0) == 180)
|
||||
#-----------------------------------------------------------------------------------------------------------------------
|
||||
# Test finished
|
||||
|
||||
wpan.Node.finalize_all_nodes()
|
||||
|
||||
print '\'{}\' passed.'.format(test_name)
|
||||
|
||||
@@ -143,4 +143,6 @@ verify_channel(all_nodes, 18)
|
||||
#-----------------------------------------------------------------------------------------------------------------------
|
||||
# Test finished
|
||||
|
||||
wpan.Node.finalize_all_nodes()
|
||||
|
||||
print '\'{}\' passed.'.format(test_name)
|
||||
|
||||
@@ -146,4 +146,6 @@ verify_channel([node], 12)
|
||||
#-----------------------------------------------------------------------------------------------------------------------
|
||||
# Test finished
|
||||
|
||||
wpan.Node.finalize_all_nodes()
|
||||
|
||||
print '\'{}\' passed.'.format(test_name)
|
||||
|
||||
@@ -113,5 +113,7 @@ verify(int(c2.get(wpan.WPAN_CHANNEL), 0) == 26)
|
||||
#-----------------------------------------------------------------------------------------------------------------------
|
||||
# Test finished
|
||||
|
||||
wpan.Node.finalize_all_nodes()
|
||||
|
||||
print '\'{}\' passed.'.format(test_name)
|
||||
|
||||
|
||||
@@ -60,4 +60,6 @@ wpan.Node.init_all_nodes()
|
||||
#-----------------------------------------------------------------------------------------------------------------------
|
||||
# Test finished
|
||||
|
||||
wpan.Node.finalize_all_nodes()
|
||||
|
||||
print '\'{}\' passed.'.format(test_name)
|
||||
|
||||
+11
-2
@@ -243,8 +243,10 @@ class Node(object):
|
||||
Node._all_nodes.add(self)
|
||||
|
||||
def __del__(self):
|
||||
self._wpantund_process.terminate()
|
||||
self._tund_log_file.close()
|
||||
self._wpantund_process.poll()
|
||||
if self._wpantund_process.returncode is None:
|
||||
self._wpantund_process.terminate()
|
||||
self._wpantund_process.wait()
|
||||
|
||||
def __repr__(self):
|
||||
return 'Node (index={}, interface_name={})'.format(self._index, self._interface_name)
|
||||
@@ -510,6 +512,13 @@ class Node(object):
|
||||
break
|
||||
time.sleep(0.4)
|
||||
|
||||
@classmethod
|
||||
def finalize_all_nodes(cls):
|
||||
"""Finalizes all previously created `Node` instances (stops the wpantund process)"""
|
||||
for node in Node._all_nodes:
|
||||
node._wpantund_process.terminate()
|
||||
node._wpantund_process.wait()
|
||||
|
||||
@classmethod
|
||||
def set_time_speedup_factor(cls, factor):
|
||||
"""Sets up the time speed up factor - should be set before creating any `Node` objects"""
|
||||
|
||||
Reference in New Issue
Block a user