mirror of
https://github.com/espressif/openthread.git
synced 2026-08-06 10:47:46 +00:00
[tests] change 1.2 builds to 1.3 (#7756)
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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:
|
||||
"""
|
||||
|
||||
@@ -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')
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user