Update test scripts to actually perform reset. (#1909)

This commit is contained in:
Jonathan Hui
2017-06-20 00:33:33 -07:00
committed by GitHub
parent c8e1d24042
commit a768eaf55e
19 changed files with 138 additions and 54 deletions
@@ -54,13 +54,16 @@ class Cert_5_1_05_RouterAddressTimeout(unittest.TestCase):
self.nodes[ROUTER1].set_panid(0xface)
self.nodes[ROUTER1].set_mode('rsdn')
self.nodes[ROUTER1].add_whitelist(self.nodes[LEADER].get_addr64())
self.nodes[ROUTER1].enable_whitelist()
self.nodes[ROUTER1].set_router_selection_jitter(1)
self._setUpRouter1()
self.sniffer = config.create_default_thread_sniffer(SNIFFER)
self.sniffer.start()
def _setUpRouter1(self):
self.nodes[ROUTER1].add_whitelist(self.nodes[LEADER].get_addr64())
self.nodes[ROUTER1].enable_whitelist()
self.nodes[ROUTER1].set_router_selection_jitter(1)
def tearDown(self):
self.sniffer.stop()
del self.sniffer
@@ -81,7 +84,8 @@ class Cert_5_1_05_RouterAddressTimeout(unittest.TestCase):
rloc16 = self.nodes[ROUTER1].get_addr16()
self.nodes[ROUTER1].stop()
self.nodes[ROUTER1].reset()
self._setUpRouter1()
time.sleep(200)
self.nodes[ROUTER1].start()
time.sleep(5)
@@ -89,8 +93,8 @@ class Cert_5_1_05_RouterAddressTimeout(unittest.TestCase):
self.assertNotEqual(self.nodes[ROUTER1].get_addr16(), rloc16)
rloc16 = self.nodes[ROUTER1].get_addr16()
self.nodes[ROUTER1].stop()
self.nodes[ROUTER1].reset()
self._setUpRouter1()
time.sleep(300)
self.nodes[ROUTER1].start()
time.sleep(5)
@@ -53,13 +53,16 @@ class Cert_5_1_13_RouterReset(unittest.TestCase):
self.nodes[ROUTER].set_panid(0xface)
self.nodes[ROUTER].set_mode('rsdn')
self.nodes[ROUTER].add_whitelist(self.nodes[LEADER].get_addr64())
self.nodes[ROUTER].enable_whitelist()
self.nodes[ROUTER].set_router_selection_jitter(1)
self._setUpRouter()
self.sniffer = config.create_default_thread_sniffer(SNIFFER)
self.sniffer.start()
def _setUpRouter(self):
self.nodes[ROUTER].add_whitelist(self.nodes[LEADER].get_addr64())
self.nodes[ROUTER].enable_whitelist()
self.nodes[ROUTER].set_router_selection_jitter(1)
def tearDown(self):
self.sniffer.stop()
del self.sniffer
@@ -80,7 +83,8 @@ class Cert_5_1_13_RouterReset(unittest.TestCase):
rloc16 = self.nodes[ROUTER].get_addr16()
self.nodes[ROUTER].stop()
self.nodes[ROUTER].reset()
self._setUpRouter()
time.sleep(5)
self.nodes[ROUTER].start()
@@ -56,6 +56,9 @@ class Cert_5_3_6_RouterIdMask(unittest.TestCase):
self.nodes[ROUTER2].set_panid(0xface)
self.nodes[ROUTER2].set_mode('rsdn')
self._setUpRouter2()
def _setUpRouter2(self):
self.nodes[ROUTER2].add_whitelist(self.nodes[ROUTER1].get_addr64())
self.nodes[ROUTER2].enable_whitelist()
self.nodes[ROUTER2].set_router_selection_jitter(1)
@@ -78,7 +81,8 @@ class Cert_5_3_6_RouterIdMask(unittest.TestCase):
time.sleep(5)
self.assertEqual(self.nodes[ROUTER2].get_state(), 'router')
self.nodes[ROUTER2].stop()
self.nodes[ROUTER2].reset()
self._setUpRouter2()
time.sleep(300)
@@ -43,8 +43,7 @@ class Cert_5_5_1_LeaderReset(unittest.TestCase):
self.nodes[LEADER].set_panid(0xface)
self.nodes[LEADER].set_mode('rsdn')
self.nodes[LEADER].add_whitelist(self.nodes[ROUTER].get_addr64())
self.nodes[LEADER].enable_whitelist()
self._setUpLeader()
self.nodes[ROUTER].set_panid(0xface)
self.nodes[ROUTER].set_mode('rsdn')
@@ -52,6 +51,10 @@ class Cert_5_5_1_LeaderReset(unittest.TestCase):
self.nodes[ROUTER].enable_whitelist()
self.nodes[ROUTER].set_router_selection_jitter(1)
def _setUpLeader(self):
self.nodes[LEADER].add_whitelist(self.nodes[ROUTER].get_addr64())
self.nodes[LEADER].enable_whitelist()
def tearDown(self):
for node in list(self.nodes.values()):
node.stop()
@@ -68,7 +71,8 @@ class Cert_5_5_1_LeaderReset(unittest.TestCase):
rloc16 = self.nodes[LEADER].get_addr16()
self.nodes[LEADER].stop();
self.nodes[LEADER].reset();
self._setUpLeader()
time.sleep(5)
self.nodes[LEADER].start()
@@ -44,9 +44,7 @@ class Cert_5_5_2_LeaderReboot(unittest.TestCase):
self.nodes[LEADER].set_panid(0xface)
self.nodes[LEADER].set_mode('rsdn')
self.nodes[LEADER].add_whitelist(self.nodes[ROUTER].get_addr64())
self.nodes[LEADER].enable_whitelist()
self.nodes[LEADER].set_router_selection_jitter(1)
self._setUpLeader()
self.nodes[ROUTER].set_panid(0xface)
self.nodes[ROUTER].set_mode('rsdn')
@@ -60,6 +58,11 @@ class Cert_5_5_2_LeaderReboot(unittest.TestCase):
self.nodes[ED].add_whitelist(self.nodes[ROUTER].get_addr64())
self.nodes[ED].enable_whitelist()
def _setUpLeader(self):
self.nodes[LEADER].add_whitelist(self.nodes[ROUTER].get_addr64())
self.nodes[LEADER].enable_whitelist()
self.nodes[LEADER].set_router_selection_jitter(1)
def tearDown(self):
for node in list(self.nodes.values()):
node.stop()
@@ -78,7 +81,8 @@ class Cert_5_5_2_LeaderReboot(unittest.TestCase):
time.sleep(5)
self.assertEqual(self.nodes[ED].get_state(), 'child')
self.nodes[LEADER].stop()
self.nodes[LEADER].reset()
self._setUpLeader()
time.sleep(140)
self.assertEqual(self.nodes[ROUTER].get_state(), 'leader')
@@ -47,11 +47,7 @@ class Cert_5_5_3_SplitMergeChildren(unittest.TestCase):
self.nodes[LEADER].set_panid(0xface)
self.nodes[LEADER].set_mode('rsdn')
self.nodes[LEADER].add_whitelist(self.nodes[ROUTER1].get_addr64())
self.nodes[LEADER].add_whitelist(self.nodes[ROUTER2].get_addr64())
self.nodes[LEADER].add_whitelist(self.nodes[ED1].get_addr64())
self.nodes[LEADER].enable_whitelist()
self.nodes[LEADER].set_router_selection_jitter(1)
self._setUpLeader()
self.nodes[ROUTER1].set_panid(0xface)
self.nodes[ROUTER1].set_mode('rsdn')
@@ -82,6 +78,13 @@ class Cert_5_5_3_SplitMergeChildren(unittest.TestCase):
self.nodes[ED3].add_whitelist(self.nodes[ROUTER1].get_addr64())
self.nodes[ED3].enable_whitelist()
def _setUpLeader(self):
self.nodes[LEADER].add_whitelist(self.nodes[ROUTER1].get_addr64())
self.nodes[LEADER].add_whitelist(self.nodes[ROUTER2].get_addr64())
self.nodes[LEADER].add_whitelist(self.nodes[ED1].get_addr64())
self.nodes[LEADER].enable_whitelist()
self.nodes[LEADER].set_router_selection_jitter(1)
def tearDown(self):
for node in list(self.nodes.values()):
node.stop()
@@ -112,7 +115,8 @@ class Cert_5_5_3_SplitMergeChildren(unittest.TestCase):
time.sleep(5)
self.assertEqual(self.nodes[ED3].get_state(), 'child')
self.nodes[LEADER].stop()
self.nodes[LEADER].reset()
self._setUpLeader()
self.nodes[ED1].add_whitelist(self.nodes[ROUTER1].get_addr64())
self.nodes[ROUTER1].add_whitelist(self.nodes[ED1].get_addr64())
@@ -46,10 +46,7 @@ class Cert_5_5_4_SplitMergeRouters(unittest.TestCase):
self.nodes[LEADER].set_panid(0xface)
self.nodes[LEADER].set_mode('rsdn')
self.nodes[LEADER].add_whitelist(self.nodes[ROUTER1].get_addr64())
self.nodes[LEADER].add_whitelist(self.nodes[ROUTER2].get_addr64())
self.nodes[LEADER].enable_whitelist()
self.nodes[LEADER].set_router_selection_jitter(1)
self._setUpLeader()
self.nodes[ROUTER1].set_panid(0xface)
self.nodes[ROUTER1].set_mode('rsdn')
@@ -77,6 +74,12 @@ class Cert_5_5_4_SplitMergeRouters(unittest.TestCase):
self.nodes[ROUTER4].enable_whitelist()
self.nodes[ROUTER4].set_router_selection_jitter(1)
def _setUpLeader(self):
self.nodes[LEADER].add_whitelist(self.nodes[ROUTER1].get_addr64())
self.nodes[LEADER].add_whitelist(self.nodes[ROUTER2].get_addr64())
self.nodes[LEADER].enable_whitelist()
self.nodes[LEADER].set_router_selection_jitter(1)
def tearDown(self):
for node in list(self.nodes.values()):
node.stop()
@@ -103,7 +106,8 @@ class Cert_5_5_4_SplitMergeRouters(unittest.TestCase):
time.sleep(5)
self.assertEqual(self.nodes[ROUTER4].get_state(), 'router')
self.nodes[LEADER].stop()
self.nodes[LEADER].reset()
self._setUpLeader()
time.sleep(150)
self.nodes[LEADER].start()
@@ -45,11 +45,7 @@ class Cert_5_5_7_SplitMergeThreeWay(unittest.TestCase):
self.nodes[LEADER1].set_panid(0xface)
self.nodes[LEADER1].set_mode('rsdn')
self.nodes[LEADER1].add_whitelist(self.nodes[ROUTER1].get_addr64())
self.nodes[LEADER1].add_whitelist(self.nodes[ROUTER2].get_addr64())
self.nodes[LEADER1].add_whitelist(self.nodes[ROUTER3].get_addr64())
self.nodes[LEADER1].enable_whitelist()
self.nodes[LEADER1].set_router_selection_jitter(1)
self._setUpLeader1()
self.nodes[ROUTER1].set_panid(0xface)
self.nodes[ROUTER1].set_mode('rsdn')
@@ -69,6 +65,13 @@ class Cert_5_5_7_SplitMergeThreeWay(unittest.TestCase):
self.nodes[ROUTER3].enable_whitelist()
self.nodes[ROUTER3].set_router_selection_jitter(1)
def _setUpLeader1(self):
self.nodes[LEADER1].add_whitelist(self.nodes[ROUTER1].get_addr64())
self.nodes[LEADER1].add_whitelist(self.nodes[ROUTER2].get_addr64())
self.nodes[LEADER1].add_whitelist(self.nodes[ROUTER3].get_addr64())
self.nodes[LEADER1].enable_whitelist()
self.nodes[LEADER1].set_router_selection_jitter(1)
def tearDown(self):
for node in list(self.nodes.values()):
node.stop()
@@ -91,7 +94,8 @@ class Cert_5_5_7_SplitMergeThreeWay(unittest.TestCase):
time.sleep(5)
self.assertEqual(self.nodes[ROUTER3].get_state(), 'router')
self.nodes[LEADER1].stop()
self.nodes[LEADER1].reset()
self._setUpLeader1()
time.sleep(140)
self.nodes[LEADER1].start()
@@ -51,11 +51,7 @@ class Cert_5_5_8_SplitRoutersLostLeader(unittest.TestCase):
self.nodes[ROUTER3].set_panid(0xface)
self.nodes[ROUTER3].set_mode('rsdn')
self.nodes[ROUTER3].add_whitelist(self.nodes[LEADER1].get_addr64())
self.nodes[ROUTER3].add_whitelist(self.nodes[ROUTER2].get_addr64())
self.nodes[ROUTER3].add_whitelist(self.nodes[ROUTER1].get_addr64())
self.nodes[ROUTER3].enable_whitelist()
self.nodes[ROUTER3].set_router_selection_jitter(1)
self._setUpRouter3()
self.nodes[ROUTER2].set_panid(0xface)
self.nodes[ROUTER2].set_mode('rsdn')
@@ -77,6 +73,13 @@ class Cert_5_5_8_SplitRoutersLostLeader(unittest.TestCase):
self.nodes[ED1].add_whitelist(self.nodes[ROUTER1].get_addr64())
self.nodes[ED1].enable_whitelist()
def _setUpRouter3(self):
self.nodes[ROUTER3].add_whitelist(self.nodes[LEADER1].get_addr64())
self.nodes[ROUTER3].add_whitelist(self.nodes[ROUTER2].get_addr64())
self.nodes[ROUTER3].add_whitelist(self.nodes[ROUTER1].get_addr64())
self.nodes[ROUTER3].enable_whitelist()
self.nodes[ROUTER3].set_router_selection_jitter(1)
def tearDown(self):
for node in list(self.nodes.values()):
node.stop()
@@ -108,7 +111,8 @@ class Cert_5_5_8_SplitRoutersLostLeader(unittest.TestCase):
if addr[0:4] != 'fe80':
self.assertTrue(self.nodes[LEADER1].ping(addr))
self.nodes[ROUTER3].stop()
self.nodes[ROUTER3].reset()
self._setUpRouter3()
time.sleep(140)
self.nodes[ROUTER3].start()
@@ -49,8 +49,11 @@ class Cert_6_5_1_ChildResetSynchronize(unittest.TestCase):
self.nodes[ED].set_panid(0xface)
self.nodes[ED].set_mode('rsn')
self.nodes[ED].set_timeout(3)
self._setUpEd()
def _setUpEd(self):
self.nodes[ED].add_whitelist(self.nodes[LEADER].get_addr64())
self.nodes[ED].enable_whitelist()
self.nodes[ED].enable_whitelist()
def tearDown(self):
for node in list(self.nodes.values()):
@@ -66,7 +69,8 @@ class Cert_6_5_1_ChildResetSynchronize(unittest.TestCase):
time.sleep(5)
self.assertEqual(self.nodes[ED].get_state(), 'child')
self.nodes[ED].stop()
self.nodes[ED].reset()
self._setUpEd()
time.sleep(5)
self.nodes[ED].set_timeout(100)
@@ -74,8 +78,10 @@ class Cert_6_5_1_ChildResetSynchronize(unittest.TestCase):
time.sleep(5)
self.assertEqual(self.nodes[ED].get_state(), 'child')
self.nodes[ED].stop()
self.nodes[ED].reset()
self._setUpEd()
time.sleep(5)
self.nodes[ED].set_timeout(100)
self.nodes[ED].start()
time.sleep(5)
self.assertEqual(self.nodes[ED].get_state(), 'child')
@@ -48,6 +48,9 @@ class Cert_6_5_2_ChildResetReattach(unittest.TestCase):
self.nodes[ED].set_panid(0xface)
self.nodes[ED].set_mode('rsn')
self._setUpEd()
def _setUpEd(self):
self.nodes[ED].add_whitelist(self.nodes[LEADER].get_addr64())
self.nodes[ED].enable_whitelist()
@@ -68,7 +71,8 @@ class Cert_6_5_2_ChildResetReattach(unittest.TestCase):
self.nodes[LEADER].remove_whitelist(self.nodes[ED].get_addr64())
self.nodes[ED].remove_whitelist(self.nodes[LEADER].get_addr64())
self.nodes[ED].stop()
self.nodes[ED].reset()
self._setUpEd()
time.sleep(5)
self.nodes[ED].start()
@@ -67,18 +67,27 @@ class Cert_9_2_8_DelayTimer(unittest.TestCase):
self.nodes[ROUTER].set_active_dataset(LEADER_ACTIVE_TIMESTAMP, panid=PANID_INIT, channel=CHANNEL_INIT)
self.nodes[ROUTER].set_mode('rsdn')
self._setUpRouter()
self.nodes[ED].set_active_dataset(LEADER_ACTIVE_TIMESTAMP, panid=PANID_INIT, channel=CHANNEL_INIT)
self.nodes[ED].set_mode('rsn')
self._setUpEd()
self.nodes[SED].set_active_dataset(LEADER_ACTIVE_TIMESTAMP, panid=PANID_INIT, channel=CHANNEL_INIT)
self.nodes[SED].set_mode('s')
self._setUpSed()
def _setUpRouter(self):
self.nodes[ROUTER].add_whitelist(self.nodes[LEADER].get_addr64())
self.nodes[ROUTER].enable_whitelist()
self.nodes[ROUTER].set_router_selection_jitter(1)
self.nodes[ED].set_active_dataset(LEADER_ACTIVE_TIMESTAMP, panid=PANID_INIT, channel=CHANNEL_INIT)
self.nodes[ED].set_mode('rsn')
def _setUpEd(self):
self.nodes[ED].add_whitelist(self.nodes[LEADER].get_addr64())
self.nodes[ED].enable_whitelist()
self.nodes[ED].set_timeout(3)
self.nodes[SED].set_active_dataset(LEADER_ACTIVE_TIMESTAMP, panid=PANID_INIT, channel=CHANNEL_INIT)
self.nodes[SED].set_mode('s')
def _setUpSed(self):
self.nodes[SED].add_whitelist(self.nodes[LEADER].get_addr64())
self.nodes[SED].enable_whitelist()
self.nodes[SED].set_timeout(3)
@@ -119,9 +128,12 @@ class Cert_9_2_8_DelayTimer(unittest.TestCase):
panid=COMMISSIONER_PENDING_PANID)
time.sleep(5)
self.nodes[ROUTER].stop()
self.nodes[ED].stop()
self.nodes[SED].stop()
self.nodes[ROUTER].reset()
self._setUpRouter()
self.nodes[ED].reset()
self._setUpEd()
self.nodes[SED].reset()
self._setUpSed()
time.sleep(60)
@@ -71,6 +71,9 @@ class Cert_9_2_15_PendingPartition(unittest.TestCase):
self.nodes[ROUTER2].set_active_dataset(15, channel=CHANNEL_INIT, panid=PANID_INIT)
self.nodes[ROUTER2].set_mode('rsdn')
self._setUpRouter2()
def _setUpRouter2(self):
self.nodes[ROUTER2].add_whitelist(self.nodes[ROUTER1].get_addr64())
self.nodes[ROUTER2].enable_whitelist()
self.nodes[ROUTER2].set_router_selection_jitter(1)
@@ -105,7 +108,8 @@ class Cert_9_2_15_PendingPartition(unittest.TestCase):
time.sleep(5)
self.assertEqual(self.nodes[ROUTER2].get_state(), 'router')
self.nodes[ROUTER2].stop()
self.nodes[ROUTER2].reset()
self._setUpRouter2()
self.nodes[COMMISSIONER].send_mgmt_pending_set(pending_timestamp=20,
active_timestamp=80,
@@ -72,6 +72,9 @@ class Cert_9_2_16_ActivePendingPartition(unittest.TestCase):
self.nodes[ROUTER2].set_active_dataset(1, channel=CHANNEL_INIT, panid=PANID_INIT)
self.nodes[ROUTER2].set_mode('rsdn')
self._setUpRouter2()
def _setUpRouter2(self):
self.nodes[ROUTER2].add_whitelist(self.nodes[ROUTER1].get_addr64())
self.nodes[ROUTER2].enable_whitelist()
self.nodes[ROUTER2].set_router_selection_jitter(1)
@@ -106,7 +109,8 @@ class Cert_9_2_16_ActivePendingPartition(unittest.TestCase):
time.sleep(5)
self.assertEqual(self.nodes[ROUTER2].get_state(), 'router')
self.nodes[ROUTER2].stop()
self.nodes[ROUTER2].reset()
self._setUpRouter2()
self.nodes[COMMISSIONER].send_mgmt_pending_set(pending_timestamp=20,
active_timestamp=20,
+3
View File
@@ -220,6 +220,9 @@ class Node:
def ping(self, ipaddr, num_responses=1, size=None, timeout=5000):
return self.interface.ping(ipaddr, num_responses, size, timeout)
def reset(self):
return self.interface.reset()
def set_router_selection_jitter(self, jitter):
self.interface.set_router_selection_jitter(jitter)
+3
View File
@@ -444,6 +444,9 @@ class otCli:
return result
def reset(self):
self.send_command('reset')
def set_router_selection_jitter(self, jitter):
cmd = 'routerselectionjitter %d' % jitter
self.send_command(cmd)