[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:
Abtin Keshavarzian
2018-08-02 17:17:40 -05:00
committed by Jonathan Hui
parent d67c4e2f6b
commit 44e583a554
24 changed files with 57 additions and 2 deletions
+2
View File
@@ -154,4 +154,6 @@ for prop in all_gettable_props:
#-----------------------------------------------------------------------------------------------------------------------
# Test finished
wpan.Node.finalize_all_nodes()
print '\'{}\' passed.'.format(test_name)
+2
View File
@@ -107,5 +107,7 @@ verify(node.get(wpan.WPAN_XPANID) == '0x1020031510006016')
#-----------------------------------------------------------------------------------------------------------------------
# Test finished
wpan.Node.finalize_all_nodes()
print '\'{}\' passed.'.format(test_name)
+2
View File
@@ -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)
+2
View File
@@ -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)
+2
View File
@@ -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)
+2
View File
@@ -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)
+2
View File
@@ -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)
+2
View File
@@ -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)
+2
View File
@@ -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)
+2
View File
@@ -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)
+2
View File
@@ -60,4 +60,6 @@ wpan.Node.init_all_nodes()
#-----------------------------------------------------------------------------------------------------------------------
# Test finished
wpan.Node.finalize_all_nodes()
print '\'{}\' passed.'.format(test_name)
+11 -2
View File
@@ -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"""