[tests] change 1.2 builds to 1.3 (#7756)

This commit is contained in:
Jonathan Hui
2022-06-08 11:44:23 -07:00
committed by GitHub
parent 9e887eb77a
commit 0c48ade2ff
21 changed files with 111 additions and 101 deletions
+1
View File
@@ -146,6 +146,7 @@ LEADER_NOTIFY_SED_BY_CHILD_UPDATE_REQUEST = True
THREAD_VERSION_1_1 = 2
THREAD_VERSION_1_2 = 3
THREAD_VERSION_1_3 = 4
PACKET_VERIFICATION_NONE = 0
PACKET_VERIFICATION_DEFAULT = 1
+11 -11
View File
@@ -441,7 +441,7 @@ class OtCli:
cmd = './ot-cli-%s' % (mode)
# For Thread 1.2 MTD node, use ot-cli-mtd build regardless of OT_CLI_PATH
if self.version == '1.2' and mode == 'mtd' and 'top_builddir' in os.environ:
if self.version != '1.1' and mode == 'mtd' and 'top_builddir' in os.environ:
srcdir = os.environ['top_builddir']
cmd = '%s/examples/apps/cli/ot-cli-%s %d' % (srcdir, mode, nodeid)
@@ -449,11 +449,11 @@ class OtCli:
elif self.version == self.env_version:
# Load Thread 1.2 BBR device when testing Thread 1.2 scenarios
# which requires device with Backbone functionality.
if self.version == '1.2' and self.is_bbr:
if 'OT_CLI_PATH_1_2_BBR' in os.environ:
cmd = os.environ['OT_CLI_PATH_1_2_BBR']
elif 'top_builddir_1_2_bbr' in os.environ:
srcdir = os.environ['top_builddir_1_2_bbr']
if self.version != '1.1' and self.is_bbr:
if 'OT_CLI_PATH_BBR' in os.environ:
cmd = os.environ['OT_CLI_PATH_BBR']
elif 'top_builddir_1_3_bbr' in os.environ:
srcdir = os.environ['top_builddir_1_3_bbr']
cmd = '%s/examples/apps/cli/ot-cli-%s' % (srcdir, mode)
# Load Thread device of the testing environment version (may be 1.1 or 1.2)
@@ -518,14 +518,14 @@ class OtCli:
# Load Thread 1.2 BBR device when testing Thread 1.2 scenarios
# which requires device with Backbone functionality.
if self.version == '1.2' and self.is_bbr:
if 'OT_NCP_PATH_1_2_BBR' in os.environ:
if self.version != '1.1' and self.is_bbr:
if 'OT_NCP_PATH_1_3_BBR' in os.environ:
cmd = 'spinel-cli.py -p "%s%s" -n' % (
os.environ['OT_NCP_PATH_1_2_BBR'],
os.environ['OT_NCP_PATH_1_3_BBR'],
args,
)
elif 'top_builddir_1_2_bbr' in os.environ:
srcdir = os.environ['top_builddir_1_2_bbr']
elif 'top_builddir_1_3_bbr' in os.environ:
srcdir = os.environ['top_builddir_1_3_bbr']
cmd = '%s/examples/apps/ncp/ot-ncp-%s' % (srcdir, mode)
cmd = 'spinel-cli.py -p "%s%s" -n' % (
cmd,
@@ -387,7 +387,9 @@ CSL_DEFAULT_TIMEOUT = 30
CSL_DEFAULT_CHANNEL = 12
# Thread Version TLV value
THREAD_VERSION_1_1 = 2
THREAD_VERSION_1_2 = 3
THREAD_VERSION_1_3 = 4
# ICMPv6 Types
ICMPV6_TYPE_DESTINATION_UNREACHABLE = 1
@@ -176,7 +176,7 @@ class PacketVerifier(object):
for i, topo in self.test_info.topology.items():
name = self.test_info.get_node_name(i)
if topo['version']:
self._vars[name + '_VERSION'] = {'1.1': 2, '1.2': 3}[topo['version']]
self._vars[name + '_VERSION'] = {'1.1': 2, '1.2': 3, '1.3': 4}[topo['version']]
def verify_attached(self, child: str, parent: str = None, child_type: str = 'FTD', pkts=None) -> VerifyResult:
"""
+2 -2
View File
@@ -94,8 +94,8 @@ def cleanup_backbone_env():
def setup_backbone_env():
if THREAD_VERSION != '1.2':
raise RuntimeError('Backbone tests only work with THREAD_VERSION=1.2')
if THREAD_VERSION == '1.1':
raise RuntimeError('Backbone tests do not work with THREAD_VERSION=1.1')
if VIRTUAL_TIME:
raise RuntimeError('Backbone tests only work with VIRTUAL_TIME=0')
+8 -3
View File
@@ -482,15 +482,20 @@ class TestCase(NcpSupportMixin, unittest.TestCase):
params = params or {}
if params.get('is_bbr') or params.get('is_otbr'):
# BBRs must use thread version 1.2
assert params.get('version', '1.2') == '1.2', params
params['version'] = '1.2'
# BBRs must not use thread version 1.1
version = params.get('version', '1.3')
assert version != '1.1', params
params['version'] = version
params.setdefault('bbr_registration_jitter', config.DEFAULT_BBR_REGISTRATION_JITTER)
elif params.get('is_host'):
# Hosts must not specify thread version
assert params.get('version', '') == '', params
params['version'] = ''
# use 1.3 node for 1.2 tests
if params.get('version') == '1.2':
params['version'] = '1.3'
is_ftd = (not params.get('is_mtd') and not params.get('is_host'))
effective_params = DEFAULT_PARAMS.copy()
@@ -118,7 +118,7 @@ class LowPower_6_1_07_PreferringARouterOverAReed_Base(thread_cert.TestCase):
.filter_mle_cmd(consts.MLE_PARENT_REQUEST) \
.filter_mle_has_tlv(TlvType.CHALLENGE, TlvType.MODE) \
.filter(lambda p: p.mle.tlv.scan_mask.r == 1 and p.mle.tlv.scan_mask.e == 0) \
.filter(lambda p: p.mle.tlv.version == 3) \
.filter(lambda p: p.mle.tlv.version >= config.THREAD_VERSION_1_2) \
.filter(lambda p: p.ipv6.hlim == 255) \
.filter_LLARMA() \
.must_next()
@@ -127,7 +127,7 @@ class LowPower_6_1_07_PreferringARouterOverAReed_Base(thread_cert.TestCase):
pkts.filter_wpan_src64(ROUTER_1) \
.filter_wpan_dst64(DUT) \
.filter_mle_cmd(consts.MLE_PARENT_RESPONSE) \
.filter(lambda p: p.mle.tlv.version == 2) \
.filter(lambda p: p.mle.tlv.version == config.THREAD_VERSION_1_1) \
.must_next()
# Step 5 - DUT sends another multicast MLE Parent Request to the all-routers multicast with the Scan Mask TLV
@@ -136,7 +136,7 @@ class LowPower_6_1_07_PreferringARouterOverAReed_Base(thread_cert.TestCase):
.filter_mle_cmd(consts.MLE_PARENT_REQUEST) \
.filter_mle_has_tlv(TlvType.CHALLENGE, TlvType.MODE) \
.filter(lambda p: p.mle.tlv.scan_mask.r == 1 and p.mle.tlv.scan_mask.e == 1) \
.filter(lambda p: p.mle.tlv.version == consts.THREAD_VERSION_1_2) \
.filter(lambda p: p.mle.tlv.version >= consts.THREAD_VERSION_1_2) \
.filter(lambda p: p.ipv6.hlim == 255) \
.filter_LLARMA() \
.must_next()
@@ -152,7 +152,7 @@ class LowPower_6_1_07_PreferringARouterOverAReed_Base(thread_cert.TestCase):
.filter_mle_cmd(consts.MLE_CHILD_ID_REQUEST) \
.filter_wpan_dst64(ROUTER_1) \
.filter_mle_has_tlv(TlvType.ADDRESS_REGISTRATION, TlvType.LINK_LAYER_FRAME_COUNTER, TlvType.MODE, TlvType.RESPONSE, TlvType.TIMEOUT, TlvType.TLV_REQUEST) \
.filter(lambda p: p.mle.tlv.version == consts.THREAD_VERSION_1_2) \
.filter(lambda p: p.mle.tlv.version >= consts.THREAD_VERSION_1_2) \
.must_next()
@@ -79,7 +79,7 @@ class Router_5_1_01(thread_cert.TestCase):
msg.assertMleMessageContainsTlv(mle.Challenge)
msg.assertMleMessageContainsTlv(mle.ScanMask)
msg.assertMleMessageContainsTlv(mle.Version)
assert msg.get_mle_message_tlv(mle.Version).version == 3
assert msg.get_mle_message_tlv(mle.Version).version >= config.THREAD_VERSION_1_2
scan_mask_tlv = msg.get_mle_message_tlv(mle.ScanMask)
self.assertEqual(1, scan_mask_tlv.router)
@@ -97,7 +97,7 @@ class Router_5_1_01(thread_cert.TestCase):
msg.assertMleMessageContainsTlv(mle.LinkMargin)
msg.assertMleMessageContainsTlv(mle.Connectivity)
msg.assertMleMessageContainsTlv(mle.Version)
assert msg.get_mle_message_tlv(mle.Version).version == 3
assert msg.get_mle_message_tlv(mle.Version).version >= config.THREAD_VERSION_1_2
# 4 - Router_1 receives the MLE Parent Response and sends a Child ID Request
msg = router_messages.next_mle_message(mle.CommandType.CHILD_ID_REQUEST)
@@ -110,7 +110,7 @@ class Router_5_1_01(thread_cert.TestCase):
msg.assertMleMessageContainsTlv(mle.Version)
msg.assertMleMessageContainsTlv(mle.TlvRequest)
msg.assertMleMessageDoesNotContainTlv(mle.AddressRegistration)
assert msg.get_mle_message_tlv(mle.Version).version == 3
assert msg.get_mle_message_tlv(mle.Version).version >= config.THREAD_VERSION_1_2
# 5 - Leader responds with a Child ID Response
msg = leader_messages.next_mle_message(mle.CommandType.CHILD_ID_RESPONSE)
@@ -88,7 +88,7 @@ class SED_EnhancedKeepAlive(thread_cert.TestCase):
msg.assertMleMessageContainsTlv(mle.Challenge)
msg.assertMleMessageContainsTlv(mle.ScanMask)
msg.assertMleMessageContainsTlv(mle.Version)
self.assertEqual(msg.get_mle_message_tlv(mle.Version).version, 3)
self.assertGreaterEqual(msg.get_mle_message_tlv(mle.Version).version, config.THREAD_VERSION_1_2)
scan_mask_tlv = msg.get_mle_message_tlv(mle.ScanMask)
self.assertEqual(1, scan_mask_tlv.router)
@@ -106,7 +106,7 @@ class SED_EnhancedKeepAlive(thread_cert.TestCase):
msg.assertMleMessageContainsTlv(mle.LinkMargin)
msg.assertMleMessageContainsTlv(mle.Connectivity)
msg.assertMleMessageContainsTlv(mle.Version)
self.assertEqual(msg.get_mle_message_tlv(mle.Version).version, 3)
self.assertGreaterEqual(msg.get_mle_message_tlv(mle.Version).version, config.THREAD_VERSION_1_2)
# 4 - SED_1 receives the MLE Parent Response and sends a Child ID Request
msg = sed_messages.next_mle_message(mle.CommandType.CHILD_ID_REQUEST)
@@ -118,7 +118,7 @@ class SED_EnhancedKeepAlive(thread_cert.TestCase):
msg.assertMleMessageContainsTlv(mle.Timeout)
msg.assertMleMessageContainsTlv(mle.Version)
msg.assertMleMessageContainsTlv(mle.TlvRequest)
self.assertEqual(msg.get_mle_message_tlv(mle.Version).version, 3)
self.assertGreaterEqual(msg.get_mle_message_tlv(mle.Version).version, config.THREAD_VERSION_1_2)
# 5 - Leader responds with a Child ID Response
msg = leader_messages.next_mle_message(mle.CommandType.CHILD_ID_RESPONSE)