mirror of
https://github.com/espressif/openthread.git
synced 2026-08-13 22:27:47 +00:00
Update to latest Thread Certification Test Spec. (#925)
This commit is contained in:
@@ -34,12 +34,12 @@ import node
|
||||
|
||||
LEADER = 1
|
||||
ROUTER = 2
|
||||
ED = 3
|
||||
SED1 = 6
|
||||
|
||||
class Cert_5_1_07_MaxChildCount(unittest.TestCase):
|
||||
def setUp(self):
|
||||
self.nodes = {}
|
||||
for i in range(1, 14):
|
||||
for i in range(1, 13):
|
||||
self.nodes[i] = node.Node(i)
|
||||
|
||||
self.nodes[LEADER].set_panid(0xface)
|
||||
@@ -54,17 +54,11 @@ class Cert_5_1_07_MaxChildCount(unittest.TestCase):
|
||||
self.nodes[ROUTER].set_router_selection_jitter(1)
|
||||
self.nodes[ROUTER].set_max_children(10)
|
||||
|
||||
self.nodes[ED].set_panid(0xface)
|
||||
self.nodes[ED].set_mode('rsn')
|
||||
self.nodes[ED].add_whitelist(self.nodes[ROUTER].get_addr64())
|
||||
self.nodes[ROUTER].add_whitelist(self.nodes[ED].get_addr64())
|
||||
self.nodes[ED].enable_whitelist()
|
||||
|
||||
for i in range(4, 14):
|
||||
if i in range(8, 14):
|
||||
self.nodes[i].set_mode('s')
|
||||
else:
|
||||
for i in range(3, 13):
|
||||
if i in range(3, 7):
|
||||
self.nodes[i].set_mode('rsn')
|
||||
else:
|
||||
self.nodes[i].set_mode('s')
|
||||
self.nodes[i].set_panid(0xface)
|
||||
self.nodes[i].add_whitelist(self.nodes[ROUTER].get_addr64())
|
||||
self.nodes[ROUTER].add_whitelist(self.nodes[i].get_addr64())
|
||||
@@ -85,39 +79,23 @@ class Cert_5_1_07_MaxChildCount(unittest.TestCase):
|
||||
time.sleep(5)
|
||||
self.assertEqual(self.nodes[ROUTER].get_state(), 'router')
|
||||
|
||||
for i in range(4, 14):
|
||||
for i in range(3, 13):
|
||||
self.nodes[i].start()
|
||||
time.sleep(7)
|
||||
self.assertEqual(self.nodes[i].get_state(), 'child')
|
||||
|
||||
if i in range(4, 8):
|
||||
meshLocalEID = ''
|
||||
ipaddrs = []
|
||||
ipaddrs = self.nodes[i].get_addrs()
|
||||
ipaddrs = self.nodes[SED1].get_addrs()
|
||||
for addr in ipaddrs:
|
||||
if addr[0:4] != 'fe80' and 'ff:fe00' not in addr:
|
||||
self.assertTrue(self.nodes[LEADER].ping(addr, size=1280))
|
||||
break
|
||||
|
||||
for line in ipaddrs:
|
||||
if 'fdde' in line and 'ff:fe00' not in line:
|
||||
meshLocalEID = line
|
||||
break
|
||||
|
||||
self.assertTrue(self.nodes[LEADER].ping(meshLocalEID, size=106))
|
||||
time.sleep(1)
|
||||
|
||||
self.nodes[ED].start()
|
||||
time.sleep(5)
|
||||
self.assertEqual(self.nodes[ED].get_state(), 'detached')
|
||||
|
||||
self.nodes[ED].stop()
|
||||
for i in range(4, 14):
|
||||
self.nodes[i].stop()
|
||||
time.sleep(5)
|
||||
|
||||
self.nodes[LEADER].stop()
|
||||
time.sleep(100)
|
||||
|
||||
self.nodes[ED].start()
|
||||
time.sleep(5)
|
||||
self.assertEqual(self.nodes[ED].get_state(), 'detached')
|
||||
for i in range(3, 13):
|
||||
ipaddrs = self.nodes[i].get_addrs()
|
||||
for addr in ipaddrs:
|
||||
if addr[0:4] != 'fe80' and 'ff:fe00' not in addr:
|
||||
self.assertTrue(self.nodes[LEADER].ping(addr, size=106))
|
||||
break
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
|
||||
Reference in New Issue
Block a user