[scripts] update cert tests to use thread_cert.TestCase (#4874)

- Update all test cases to inherit thread_cert.TestCase and update
  topologies accordingly. The topologies should all be correct because
  they are automatically generated, not hand written.

- Use default Thread version: 1.1

- Cleanup node tmp files in tmp directory according to the current
  PORT_OFFSET in setUp. This is required by
  test_reed_address_solicit_rejected.py and test_coap_observe.py since
  they define multiple test functions in one TestCase.

- Removed call to set_extaddr64 because it's not necessary and causing
  failures.
This commit is contained in:
Simon Lin
2020-04-29 10:41:04 -07:00
committed by GitHub
parent 90ecb574bb
commit e5069a41d5
108 changed files with 3564 additions and 3851 deletions
@@ -29,9 +29,9 @@
import unittest
import node
import config
import command
import config
import thread_cert
LEADER = 1
ROUTER1 = 2
@@ -41,45 +41,120 @@ DUT_REED = 18
ROUTER_SELECTION_JITTER = 1
class Cert_5_2_5_AddressQuery(unittest.TestCase):
def setUp(self):
self.simulator = config.create_default_simulator()
self.nodes = {}
for i in range(1, 19):
self.nodes[i] = node.Node(i, (i == ED1), simulator=self.simulator)
self.nodes[LEADER].set_panid()
self.nodes[LEADER].set_mode('rsdn')
self.nodes[LEADER].enable_whitelist()
for i in range(2, 17):
self.nodes[i].set_panid()
self.nodes[i].set_mode('rsdn')
self.nodes[i].add_whitelist(self.nodes[LEADER].get_addr64())
self.nodes[LEADER].add_whitelist(self.nodes[i].get_addr64())
self.nodes[i].enable_whitelist()
self.nodes[i].set_router_selection_jitter(1)
self.nodes[ED1].set_panid()
self.nodes[ED1].set_mode('rsn')
self.nodes[ED1].add_whitelist(self.nodes[LEADER].get_addr64())
self.nodes[LEADER].add_whitelist(self.nodes[ED1].get_addr64())
self.nodes[ED1].enable_whitelist()
self.nodes[DUT_REED].set_panid()
self.nodes[DUT_REED].set_mode('rsdn')
self.nodes[DUT_REED].add_whitelist(self.nodes[ROUTER1].get_addr64())
self.nodes[ROUTER1].add_whitelist(self.nodes[DUT_REED].get_addr64())
self.nodes[DUT_REED].enable_whitelist()
self.nodes[DUT_REED].set_router_selection_jitter(1)
def tearDown(self):
for n in list(self.nodes.values()):
n.stop()
n.destroy()
self.simulator.stop()
class Cert_5_2_5_AddressQuery(thread_cert.TestCase):
topology = {
LEADER: {
'mode':
'rsdn',
'panid':
0xface,
'whitelist': [
ROUTER1, BR, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, ED1
]
},
ROUTER1: {
'mode': 'rsdn',
'panid': 0xface,
'router_selection_jitter': 1,
'whitelist': [LEADER, DUT_REED]
},
BR: {
'mode': 'rsdn',
'panid': 0xface,
'router_selection_jitter': 1,
'whitelist': [LEADER]
},
4: {
'mode': 'rsdn',
'panid': 0xface,
'router_selection_jitter': 1,
'whitelist': [LEADER]
},
5: {
'mode': 'rsdn',
'panid': 0xface,
'router_selection_jitter': 1,
'whitelist': [LEADER]
},
6: {
'mode': 'rsdn',
'panid': 0xface,
'router_selection_jitter': 1,
'whitelist': [LEADER]
},
7: {
'mode': 'rsdn',
'panid': 0xface,
'router_selection_jitter': 1,
'whitelist': [LEADER]
},
8: {
'mode': 'rsdn',
'panid': 0xface,
'router_selection_jitter': 1,
'whitelist': [LEADER]
},
9: {
'mode': 'rsdn',
'panid': 0xface,
'router_selection_jitter': 1,
'whitelist': [LEADER]
},
10: {
'mode': 'rsdn',
'panid': 0xface,
'router_selection_jitter': 1,
'whitelist': [LEADER]
},
11: {
'mode': 'rsdn',
'panid': 0xface,
'router_selection_jitter': 1,
'whitelist': [LEADER]
},
12: {
'mode': 'rsdn',
'panid': 0xface,
'router_selection_jitter': 1,
'whitelist': [LEADER]
},
13: {
'mode': 'rsdn',
'panid': 0xface,
'router_selection_jitter': 1,
'whitelist': [LEADER]
},
14: {
'mode': 'rsdn',
'panid': 0xface,
'router_selection_jitter': 1,
'whitelist': [LEADER]
},
15: {
'mode': 'rsdn',
'panid': 0xface,
'router_selection_jitter': 1,
'whitelist': [LEADER]
},
16: {
'mode': 'rsdn',
'panid': 0xface,
'router_selection_jitter': 1,
'whitelist': [LEADER]
},
ED1: {
'is_mtd': True,
'mode': 'rsn',
'panid': 0xface,
'whitelist': [LEADER]
},
DUT_REED: {
'mode': 'rsdn',
'panid': 0xface,
'router_selection_jitter': 1,
'whitelist': [ROUTER1]
},
}
def test(self):
# 1. LEADER: DHCPv6 Server for prefix 2001::/64.