Skip to content

Commit ff6cdaa

Browse files
committed
Basic comp tests: add fix for pre-commissioned devices
1 parent 44f8837 commit ff6cdaa

File tree

2 files changed

+9
-6
lines changed

2 files changed

+9
-6
lines changed

src/python_testing/basic_composition_support.py

+3-1
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,8 @@ def get_code(self, dev_ctrl):
104104
created_codes.append(dev_ctrl.CreateManualCode(discriminator, self.matter_test_config.setup_passcodes[idx]))
105105

106106
setup_codes = self.matter_test_config.qr_code_content + self.matter_test_config.manual_code + created_codes
107+
if not setup_codes:
108+
return None
107109
asserts.assert_equal(len(setup_codes), 1,
108110
"Require exactly one of either --qr-code, --manual-code or (--discriminator and --passcode).")
109111
return setup_codes[0]
@@ -132,7 +134,7 @@ async def setup_class_helper(self, allow_pase: bool = True):
132134
node_id = self.dut_node_id
133135

134136
task_list = []
135-
if allow_pase:
137+
if allow_pase and self.get_code(dev_ctrl):
136138
setup_code = self.get_code(dev_ctrl)
137139
pase_future = dev_ctrl.EstablishPASESession(setup_code, self.dut_node_id)
138140
task_list.append(asyncio.create_task(pase_future))

src/python_testing/matter_testing_support.py

+6-5
Original file line numberDiff line numberDiff line change
@@ -1744,15 +1744,19 @@ def populate_commissioning_args(args: argparse.Namespace, config: MatterTestConf
17441744

17451745
device_descriptors = config.qr_code_content + config.manual_code + config.discriminators
17461746

1747+
if not config.dut_node_ids:
1748+
config.dut_node_ids = [_DEFAULT_DUT_NODE_ID]
1749+
1750+
if args.commissioning_method is None:
1751+
return True
1752+
17471753
if len(config.dut_node_ids) > len(device_descriptors):
17481754
print("error: More node IDs provided than discriminators")
17491755
return False
17501756

17511757
if len(config.dut_node_ids) < len(device_descriptors):
17521758
# We generate new node IDs sequentially from the last one seen for all
17531759
# missing NodeIDs when commissioning many nodes at once.
1754-
if not config.dut_node_ids:
1755-
config.dut_node_ids = [_DEFAULT_DUT_NODE_ID]
17561760
missing = len(device_descriptors) - len(config.dut_node_ids)
17571761
for i in range(missing):
17581762
config.dut_node_ids.append(config.dut_node_ids[-1] + 1)
@@ -1765,9 +1769,6 @@ def populate_commissioning_args(args: argparse.Namespace, config: MatterTestConf
17651769
print("error: Duplicate value in discriminator list")
17661770
return False
17671771

1768-
if args.commissioning_method is None:
1769-
return True
1770-
17711772
if args.discriminators == [] and (args.qr_code == [] and args.manual_code == []):
17721773
print("error: Missing --discriminator when no --qr-code/--manual-code present!")
17731774
return False

0 commit comments

Comments
 (0)