mirror of
https://github.com/espressif/openthread.git
synced 2026-09-12 12:10:07 +00:00
Update test scripts to actually perform reset. (#1909)
This commit is contained in:
@@ -52,6 +52,7 @@ void otPlatReset(otInstance *aInstance)
|
|||||||
|
|
||||||
argv[gArgumentsCount] = NULL;
|
argv[gArgumentsCount] = NULL;
|
||||||
|
|
||||||
|
platformRadioDeinit();
|
||||||
platformUartRestore();
|
platformUartRestore();
|
||||||
|
|
||||||
execvp(argv[0], argv);
|
execvp(argv[0], argv);
|
||||||
|
|||||||
@@ -119,6 +119,12 @@ void platformAlarmProcess(otInstance *aInstance);
|
|||||||
*/
|
*/
|
||||||
void platformRadioInit(void);
|
void platformRadioInit(void);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This function deinitializes the radio service used by OpenThread.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
void platformRadioDeinit(void);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This function updates the file descriptor sets with file descriptors used by the radio driver.
|
* This function updates the file descriptor sets with file descriptors used by the radio driver.
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -375,6 +375,11 @@ void platformRadioInit(void)
|
|||||||
sAckFrame.mPsdu = sAckMessage.mPsdu;
|
sAckFrame.mPsdu = sAckMessage.mPsdu;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void platformRadioDeinit(void)
|
||||||
|
{
|
||||||
|
close(sSockFd);
|
||||||
|
}
|
||||||
|
|
||||||
bool otPlatRadioIsEnabled(otInstance *aInstance)
|
bool otPlatRadioIsEnabled(otInstance *aInstance)
|
||||||
{
|
{
|
||||||
(void)aInstance;
|
(void)aInstance;
|
||||||
|
|||||||
@@ -54,13 +54,16 @@ class Cert_5_1_05_RouterAddressTimeout(unittest.TestCase):
|
|||||||
|
|
||||||
self.nodes[ROUTER1].set_panid(0xface)
|
self.nodes[ROUTER1].set_panid(0xface)
|
||||||
self.nodes[ROUTER1].set_mode('rsdn')
|
self.nodes[ROUTER1].set_mode('rsdn')
|
||||||
self.nodes[ROUTER1].add_whitelist(self.nodes[LEADER].get_addr64())
|
self._setUpRouter1()
|
||||||
self.nodes[ROUTER1].enable_whitelist()
|
|
||||||
self.nodes[ROUTER1].set_router_selection_jitter(1)
|
|
||||||
|
|
||||||
self.sniffer = config.create_default_thread_sniffer(SNIFFER)
|
self.sniffer = config.create_default_thread_sniffer(SNIFFER)
|
||||||
self.sniffer.start()
|
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):
|
def tearDown(self):
|
||||||
self.sniffer.stop()
|
self.sniffer.stop()
|
||||||
del self.sniffer
|
del self.sniffer
|
||||||
@@ -81,7 +84,8 @@ class Cert_5_1_05_RouterAddressTimeout(unittest.TestCase):
|
|||||||
|
|
||||||
rloc16 = self.nodes[ROUTER1].get_addr16()
|
rloc16 = self.nodes[ROUTER1].get_addr16()
|
||||||
|
|
||||||
self.nodes[ROUTER1].stop()
|
self.nodes[ROUTER1].reset()
|
||||||
|
self._setUpRouter1()
|
||||||
time.sleep(200)
|
time.sleep(200)
|
||||||
self.nodes[ROUTER1].start()
|
self.nodes[ROUTER1].start()
|
||||||
time.sleep(5)
|
time.sleep(5)
|
||||||
@@ -89,8 +93,8 @@ class Cert_5_1_05_RouterAddressTimeout(unittest.TestCase):
|
|||||||
self.assertNotEqual(self.nodes[ROUTER1].get_addr16(), rloc16)
|
self.assertNotEqual(self.nodes[ROUTER1].get_addr16(), rloc16)
|
||||||
|
|
||||||
rloc16 = self.nodes[ROUTER1].get_addr16()
|
rloc16 = self.nodes[ROUTER1].get_addr16()
|
||||||
|
self.nodes[ROUTER1].reset()
|
||||||
self.nodes[ROUTER1].stop()
|
self._setUpRouter1()
|
||||||
time.sleep(300)
|
time.sleep(300)
|
||||||
self.nodes[ROUTER1].start()
|
self.nodes[ROUTER1].start()
|
||||||
time.sleep(5)
|
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_panid(0xface)
|
||||||
self.nodes[ROUTER].set_mode('rsdn')
|
self.nodes[ROUTER].set_mode('rsdn')
|
||||||
self.nodes[ROUTER].add_whitelist(self.nodes[LEADER].get_addr64())
|
self._setUpRouter()
|
||||||
self.nodes[ROUTER].enable_whitelist()
|
|
||||||
self.nodes[ROUTER].set_router_selection_jitter(1)
|
|
||||||
|
|
||||||
self.sniffer = config.create_default_thread_sniffer(SNIFFER)
|
self.sniffer = config.create_default_thread_sniffer(SNIFFER)
|
||||||
self.sniffer.start()
|
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):
|
def tearDown(self):
|
||||||
self.sniffer.stop()
|
self.sniffer.stop()
|
||||||
del self.sniffer
|
del self.sniffer
|
||||||
@@ -80,7 +83,8 @@ class Cert_5_1_13_RouterReset(unittest.TestCase):
|
|||||||
|
|
||||||
rloc16 = self.nodes[ROUTER].get_addr16()
|
rloc16 = self.nodes[ROUTER].get_addr16()
|
||||||
|
|
||||||
self.nodes[ROUTER].stop()
|
self.nodes[ROUTER].reset()
|
||||||
|
self._setUpRouter()
|
||||||
time.sleep(5)
|
time.sleep(5)
|
||||||
|
|
||||||
self.nodes[ROUTER].start()
|
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_panid(0xface)
|
||||||
self.nodes[ROUTER2].set_mode('rsdn')
|
self.nodes[ROUTER2].set_mode('rsdn')
|
||||||
|
self._setUpRouter2()
|
||||||
|
|
||||||
|
def _setUpRouter2(self):
|
||||||
self.nodes[ROUTER2].add_whitelist(self.nodes[ROUTER1].get_addr64())
|
self.nodes[ROUTER2].add_whitelist(self.nodes[ROUTER1].get_addr64())
|
||||||
self.nodes[ROUTER2].enable_whitelist()
|
self.nodes[ROUTER2].enable_whitelist()
|
||||||
self.nodes[ROUTER2].set_router_selection_jitter(1)
|
self.nodes[ROUTER2].set_router_selection_jitter(1)
|
||||||
@@ -78,7 +81,8 @@ class Cert_5_3_6_RouterIdMask(unittest.TestCase):
|
|||||||
time.sleep(5)
|
time.sleep(5)
|
||||||
self.assertEqual(self.nodes[ROUTER2].get_state(), 'router')
|
self.assertEqual(self.nodes[ROUTER2].get_state(), 'router')
|
||||||
|
|
||||||
self.nodes[ROUTER2].stop()
|
self.nodes[ROUTER2].reset()
|
||||||
|
self._setUpRouter2()
|
||||||
|
|
||||||
time.sleep(300)
|
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_panid(0xface)
|
||||||
self.nodes[LEADER].set_mode('rsdn')
|
self.nodes[LEADER].set_mode('rsdn')
|
||||||
self.nodes[LEADER].add_whitelist(self.nodes[ROUTER].get_addr64())
|
self._setUpLeader()
|
||||||
self.nodes[LEADER].enable_whitelist()
|
|
||||||
|
|
||||||
self.nodes[ROUTER].set_panid(0xface)
|
self.nodes[ROUTER].set_panid(0xface)
|
||||||
self.nodes[ROUTER].set_mode('rsdn')
|
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].enable_whitelist()
|
||||||
self.nodes[ROUTER].set_router_selection_jitter(1)
|
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):
|
def tearDown(self):
|
||||||
for node in list(self.nodes.values()):
|
for node in list(self.nodes.values()):
|
||||||
node.stop()
|
node.stop()
|
||||||
@@ -68,7 +71,8 @@ class Cert_5_5_1_LeaderReset(unittest.TestCase):
|
|||||||
|
|
||||||
rloc16 = self.nodes[LEADER].get_addr16()
|
rloc16 = self.nodes[LEADER].get_addr16()
|
||||||
|
|
||||||
self.nodes[LEADER].stop();
|
self.nodes[LEADER].reset();
|
||||||
|
self._setUpLeader()
|
||||||
time.sleep(5)
|
time.sleep(5)
|
||||||
|
|
||||||
self.nodes[LEADER].start()
|
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_panid(0xface)
|
||||||
self.nodes[LEADER].set_mode('rsdn')
|
self.nodes[LEADER].set_mode('rsdn')
|
||||||
self.nodes[LEADER].add_whitelist(self.nodes[ROUTER].get_addr64())
|
self._setUpLeader()
|
||||||
self.nodes[LEADER].enable_whitelist()
|
|
||||||
self.nodes[LEADER].set_router_selection_jitter(1)
|
|
||||||
|
|
||||||
self.nodes[ROUTER].set_panid(0xface)
|
self.nodes[ROUTER].set_panid(0xface)
|
||||||
self.nodes[ROUTER].set_mode('rsdn')
|
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].add_whitelist(self.nodes[ROUTER].get_addr64())
|
||||||
self.nodes[ED].enable_whitelist()
|
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):
|
def tearDown(self):
|
||||||
for node in list(self.nodes.values()):
|
for node in list(self.nodes.values()):
|
||||||
node.stop()
|
node.stop()
|
||||||
@@ -78,7 +81,8 @@ class Cert_5_5_2_LeaderReboot(unittest.TestCase):
|
|||||||
time.sleep(5)
|
time.sleep(5)
|
||||||
self.assertEqual(self.nodes[ED].get_state(), 'child')
|
self.assertEqual(self.nodes[ED].get_state(), 'child')
|
||||||
|
|
||||||
self.nodes[LEADER].stop()
|
self.nodes[LEADER].reset()
|
||||||
|
self._setUpLeader()
|
||||||
time.sleep(140)
|
time.sleep(140)
|
||||||
self.assertEqual(self.nodes[ROUTER].get_state(), 'leader')
|
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_panid(0xface)
|
||||||
self.nodes[LEADER].set_mode('rsdn')
|
self.nodes[LEADER].set_mode('rsdn')
|
||||||
self.nodes[LEADER].add_whitelist(self.nodes[ROUTER1].get_addr64())
|
self._setUpLeader()
|
||||||
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.nodes[ROUTER1].set_panid(0xface)
|
self.nodes[ROUTER1].set_panid(0xface)
|
||||||
self.nodes[ROUTER1].set_mode('rsdn')
|
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].add_whitelist(self.nodes[ROUTER1].get_addr64())
|
||||||
self.nodes[ED3].enable_whitelist()
|
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):
|
def tearDown(self):
|
||||||
for node in list(self.nodes.values()):
|
for node in list(self.nodes.values()):
|
||||||
node.stop()
|
node.stop()
|
||||||
@@ -112,7 +115,8 @@ class Cert_5_5_3_SplitMergeChildren(unittest.TestCase):
|
|||||||
time.sleep(5)
|
time.sleep(5)
|
||||||
self.assertEqual(self.nodes[ED3].get_state(), 'child')
|
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[ED1].add_whitelist(self.nodes[ROUTER1].get_addr64())
|
||||||
self.nodes[ROUTER1].add_whitelist(self.nodes[ED1].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_panid(0xface)
|
||||||
self.nodes[LEADER].set_mode('rsdn')
|
self.nodes[LEADER].set_mode('rsdn')
|
||||||
self.nodes[LEADER].add_whitelist(self.nodes[ROUTER1].get_addr64())
|
self._setUpLeader()
|
||||||
self.nodes[LEADER].add_whitelist(self.nodes[ROUTER2].get_addr64())
|
|
||||||
self.nodes[LEADER].enable_whitelist()
|
|
||||||
self.nodes[LEADER].set_router_selection_jitter(1)
|
|
||||||
|
|
||||||
self.nodes[ROUTER1].set_panid(0xface)
|
self.nodes[ROUTER1].set_panid(0xface)
|
||||||
self.nodes[ROUTER1].set_mode('rsdn')
|
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].enable_whitelist()
|
||||||
self.nodes[ROUTER4].set_router_selection_jitter(1)
|
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):
|
def tearDown(self):
|
||||||
for node in list(self.nodes.values()):
|
for node in list(self.nodes.values()):
|
||||||
node.stop()
|
node.stop()
|
||||||
@@ -103,7 +106,8 @@ class Cert_5_5_4_SplitMergeRouters(unittest.TestCase):
|
|||||||
time.sleep(5)
|
time.sleep(5)
|
||||||
self.assertEqual(self.nodes[ROUTER4].get_state(), 'router')
|
self.assertEqual(self.nodes[ROUTER4].get_state(), 'router')
|
||||||
|
|
||||||
self.nodes[LEADER].stop()
|
self.nodes[LEADER].reset()
|
||||||
|
self._setUpLeader()
|
||||||
time.sleep(150)
|
time.sleep(150)
|
||||||
|
|
||||||
self.nodes[LEADER].start()
|
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_panid(0xface)
|
||||||
self.nodes[LEADER1].set_mode('rsdn')
|
self.nodes[LEADER1].set_mode('rsdn')
|
||||||
self.nodes[LEADER1].add_whitelist(self.nodes[ROUTER1].get_addr64())
|
self._setUpLeader1()
|
||||||
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.nodes[ROUTER1].set_panid(0xface)
|
self.nodes[ROUTER1].set_panid(0xface)
|
||||||
self.nodes[ROUTER1].set_mode('rsdn')
|
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].enable_whitelist()
|
||||||
self.nodes[ROUTER3].set_router_selection_jitter(1)
|
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):
|
def tearDown(self):
|
||||||
for node in list(self.nodes.values()):
|
for node in list(self.nodes.values()):
|
||||||
node.stop()
|
node.stop()
|
||||||
@@ -91,7 +94,8 @@ class Cert_5_5_7_SplitMergeThreeWay(unittest.TestCase):
|
|||||||
time.sleep(5)
|
time.sleep(5)
|
||||||
self.assertEqual(self.nodes[ROUTER3].get_state(), 'router')
|
self.assertEqual(self.nodes[ROUTER3].get_state(), 'router')
|
||||||
|
|
||||||
self.nodes[LEADER1].stop()
|
self.nodes[LEADER1].reset()
|
||||||
|
self._setUpLeader1()
|
||||||
time.sleep(140)
|
time.sleep(140)
|
||||||
|
|
||||||
self.nodes[LEADER1].start()
|
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_panid(0xface)
|
||||||
self.nodes[ROUTER3].set_mode('rsdn')
|
self.nodes[ROUTER3].set_mode('rsdn')
|
||||||
self.nodes[ROUTER3].add_whitelist(self.nodes[LEADER1].get_addr64())
|
self._setUpRouter3()
|
||||||
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.nodes[ROUTER2].set_panid(0xface)
|
self.nodes[ROUTER2].set_panid(0xface)
|
||||||
self.nodes[ROUTER2].set_mode('rsdn')
|
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].add_whitelist(self.nodes[ROUTER1].get_addr64())
|
||||||
self.nodes[ED1].enable_whitelist()
|
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):
|
def tearDown(self):
|
||||||
for node in list(self.nodes.values()):
|
for node in list(self.nodes.values()):
|
||||||
node.stop()
|
node.stop()
|
||||||
@@ -108,7 +111,8 @@ class Cert_5_5_8_SplitRoutersLostLeader(unittest.TestCase):
|
|||||||
if addr[0:4] != 'fe80':
|
if addr[0:4] != 'fe80':
|
||||||
self.assertTrue(self.nodes[LEADER1].ping(addr))
|
self.assertTrue(self.nodes[LEADER1].ping(addr))
|
||||||
|
|
||||||
self.nodes[ROUTER3].stop()
|
self.nodes[ROUTER3].reset()
|
||||||
|
self._setUpRouter3()
|
||||||
time.sleep(140)
|
time.sleep(140)
|
||||||
|
|
||||||
self.nodes[ROUTER3].start()
|
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_panid(0xface)
|
||||||
self.nodes[ED].set_mode('rsn')
|
self.nodes[ED].set_mode('rsn')
|
||||||
self.nodes[ED].set_timeout(3)
|
self.nodes[ED].set_timeout(3)
|
||||||
|
self._setUpEd()
|
||||||
|
|
||||||
|
def _setUpEd(self):
|
||||||
self.nodes[ED].add_whitelist(self.nodes[LEADER].get_addr64())
|
self.nodes[ED].add_whitelist(self.nodes[LEADER].get_addr64())
|
||||||
self.nodes[ED].enable_whitelist()
|
self.nodes[ED].enable_whitelist()
|
||||||
|
|
||||||
def tearDown(self):
|
def tearDown(self):
|
||||||
for node in list(self.nodes.values()):
|
for node in list(self.nodes.values()):
|
||||||
@@ -66,7 +69,8 @@ class Cert_6_5_1_ChildResetSynchronize(unittest.TestCase):
|
|||||||
time.sleep(5)
|
time.sleep(5)
|
||||||
self.assertEqual(self.nodes[ED].get_state(), 'child')
|
self.assertEqual(self.nodes[ED].get_state(), 'child')
|
||||||
|
|
||||||
self.nodes[ED].stop()
|
self.nodes[ED].reset()
|
||||||
|
self._setUpEd()
|
||||||
time.sleep(5)
|
time.sleep(5)
|
||||||
|
|
||||||
self.nodes[ED].set_timeout(100)
|
self.nodes[ED].set_timeout(100)
|
||||||
@@ -74,8 +78,10 @@ class Cert_6_5_1_ChildResetSynchronize(unittest.TestCase):
|
|||||||
time.sleep(5)
|
time.sleep(5)
|
||||||
self.assertEqual(self.nodes[ED].get_state(), 'child')
|
self.assertEqual(self.nodes[ED].get_state(), 'child')
|
||||||
|
|
||||||
self.nodes[ED].stop()
|
self.nodes[ED].reset()
|
||||||
|
self._setUpEd()
|
||||||
time.sleep(5)
|
time.sleep(5)
|
||||||
|
self.nodes[ED].set_timeout(100)
|
||||||
self.nodes[ED].start()
|
self.nodes[ED].start()
|
||||||
time.sleep(5)
|
time.sleep(5)
|
||||||
self.assertEqual(self.nodes[ED].get_state(), 'child')
|
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_panid(0xface)
|
||||||
self.nodes[ED].set_mode('rsn')
|
self.nodes[ED].set_mode('rsn')
|
||||||
|
self._setUpEd()
|
||||||
|
|
||||||
|
def _setUpEd(self):
|
||||||
self.nodes[ED].add_whitelist(self.nodes[LEADER].get_addr64())
|
self.nodes[ED].add_whitelist(self.nodes[LEADER].get_addr64())
|
||||||
self.nodes[ED].enable_whitelist()
|
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[LEADER].remove_whitelist(self.nodes[ED].get_addr64())
|
||||||
self.nodes[ED].remove_whitelist(self.nodes[LEADER].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)
|
time.sleep(5)
|
||||||
self.nodes[ED].start()
|
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_active_dataset(LEADER_ACTIVE_TIMESTAMP, panid=PANID_INIT, channel=CHANNEL_INIT)
|
||||||
self.nodes[ROUTER].set_mode('rsdn')
|
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].add_whitelist(self.nodes[LEADER].get_addr64())
|
||||||
self.nodes[ROUTER].enable_whitelist()
|
self.nodes[ROUTER].enable_whitelist()
|
||||||
self.nodes[ROUTER].set_router_selection_jitter(1)
|
self.nodes[ROUTER].set_router_selection_jitter(1)
|
||||||
|
|
||||||
self.nodes[ED].set_active_dataset(LEADER_ACTIVE_TIMESTAMP, panid=PANID_INIT, channel=CHANNEL_INIT)
|
def _setUpEd(self):
|
||||||
self.nodes[ED].set_mode('rsn')
|
|
||||||
self.nodes[ED].add_whitelist(self.nodes[LEADER].get_addr64())
|
self.nodes[ED].add_whitelist(self.nodes[LEADER].get_addr64())
|
||||||
self.nodes[ED].enable_whitelist()
|
self.nodes[ED].enable_whitelist()
|
||||||
self.nodes[ED].set_timeout(3)
|
self.nodes[ED].set_timeout(3)
|
||||||
|
|
||||||
self.nodes[SED].set_active_dataset(LEADER_ACTIVE_TIMESTAMP, panid=PANID_INIT, channel=CHANNEL_INIT)
|
def _setUpSed(self):
|
||||||
self.nodes[SED].set_mode('s')
|
|
||||||
self.nodes[SED].add_whitelist(self.nodes[LEADER].get_addr64())
|
self.nodes[SED].add_whitelist(self.nodes[LEADER].get_addr64())
|
||||||
self.nodes[SED].enable_whitelist()
|
self.nodes[SED].enable_whitelist()
|
||||||
self.nodes[SED].set_timeout(3)
|
self.nodes[SED].set_timeout(3)
|
||||||
@@ -119,9 +128,12 @@ class Cert_9_2_8_DelayTimer(unittest.TestCase):
|
|||||||
panid=COMMISSIONER_PENDING_PANID)
|
panid=COMMISSIONER_PENDING_PANID)
|
||||||
time.sleep(5)
|
time.sleep(5)
|
||||||
|
|
||||||
self.nodes[ROUTER].stop()
|
self.nodes[ROUTER].reset()
|
||||||
self.nodes[ED].stop()
|
self._setUpRouter()
|
||||||
self.nodes[SED].stop()
|
self.nodes[ED].reset()
|
||||||
|
self._setUpEd()
|
||||||
|
self.nodes[SED].reset()
|
||||||
|
self._setUpSed()
|
||||||
|
|
||||||
time.sleep(60)
|
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_active_dataset(15, channel=CHANNEL_INIT, panid=PANID_INIT)
|
||||||
self.nodes[ROUTER2].set_mode('rsdn')
|
self.nodes[ROUTER2].set_mode('rsdn')
|
||||||
|
self._setUpRouter2()
|
||||||
|
|
||||||
|
def _setUpRouter2(self):
|
||||||
self.nodes[ROUTER2].add_whitelist(self.nodes[ROUTER1].get_addr64())
|
self.nodes[ROUTER2].add_whitelist(self.nodes[ROUTER1].get_addr64())
|
||||||
self.nodes[ROUTER2].enable_whitelist()
|
self.nodes[ROUTER2].enable_whitelist()
|
||||||
self.nodes[ROUTER2].set_router_selection_jitter(1)
|
self.nodes[ROUTER2].set_router_selection_jitter(1)
|
||||||
@@ -105,7 +108,8 @@ class Cert_9_2_15_PendingPartition(unittest.TestCase):
|
|||||||
time.sleep(5)
|
time.sleep(5)
|
||||||
self.assertEqual(self.nodes[ROUTER2].get_state(), 'router')
|
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,
|
self.nodes[COMMISSIONER].send_mgmt_pending_set(pending_timestamp=20,
|
||||||
active_timestamp=80,
|
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_active_dataset(1, channel=CHANNEL_INIT, panid=PANID_INIT)
|
||||||
self.nodes[ROUTER2].set_mode('rsdn')
|
self.nodes[ROUTER2].set_mode('rsdn')
|
||||||
|
self._setUpRouter2()
|
||||||
|
|
||||||
|
def _setUpRouter2(self):
|
||||||
self.nodes[ROUTER2].add_whitelist(self.nodes[ROUTER1].get_addr64())
|
self.nodes[ROUTER2].add_whitelist(self.nodes[ROUTER1].get_addr64())
|
||||||
self.nodes[ROUTER2].enable_whitelist()
|
self.nodes[ROUTER2].enable_whitelist()
|
||||||
self.nodes[ROUTER2].set_router_selection_jitter(1)
|
self.nodes[ROUTER2].set_router_selection_jitter(1)
|
||||||
@@ -106,7 +109,8 @@ class Cert_9_2_16_ActivePendingPartition(unittest.TestCase):
|
|||||||
time.sleep(5)
|
time.sleep(5)
|
||||||
self.assertEqual(self.nodes[ROUTER2].get_state(), 'router')
|
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,
|
self.nodes[COMMISSIONER].send_mgmt_pending_set(pending_timestamp=20,
|
||||||
active_timestamp=20,
|
active_timestamp=20,
|
||||||
|
|||||||
@@ -220,6 +220,9 @@ class Node:
|
|||||||
def ping(self, ipaddr, num_responses=1, size=None, timeout=5000):
|
def ping(self, ipaddr, num_responses=1, size=None, timeout=5000):
|
||||||
return self.interface.ping(ipaddr, num_responses, size, timeout)
|
return self.interface.ping(ipaddr, num_responses, size, timeout)
|
||||||
|
|
||||||
|
def reset(self):
|
||||||
|
return self.interface.reset()
|
||||||
|
|
||||||
def set_router_selection_jitter(self, jitter):
|
def set_router_selection_jitter(self, jitter):
|
||||||
self.interface.set_router_selection_jitter(jitter)
|
self.interface.set_router_selection_jitter(jitter)
|
||||||
|
|
||||||
|
|||||||
@@ -444,6 +444,9 @@ class otCli:
|
|||||||
|
|
||||||
return result
|
return result
|
||||||
|
|
||||||
|
def reset(self):
|
||||||
|
self.send_command('reset')
|
||||||
|
|
||||||
def set_router_selection_jitter(self, jitter):
|
def set_router_selection_jitter(self, jitter):
|
||||||
cmd = 'routerselectionjitter %d' % jitter
|
cmd = 'routerselectionjitter %d' % jitter
|
||||||
self.send_command(cmd)
|
self.send_command(cmd)
|
||||||
|
|||||||
Reference in New Issue
Block a user