@@ -374,7 +374,9 @@ class MatterTestConfig:
374
374
discriminators : Optional [List [int ]] = None
375
375
setup_passcodes : Optional [List [int ]] = None
376
376
commissionee_ip_address_just_for_testing : Optional [str ] = None
377
- maximize_cert_chains : bool = False
377
+ # By default, we start with maximized cert chains, as required for RR-1.1.
378
+ # This allows cert tests to be run without re-commissioning for RR-1.1.
379
+ maximize_cert_chains : bool = True
378
380
379
381
qr_code_content : Optional [str ] = None
380
382
manual_code : Optional [str ] = None
@@ -390,7 +392,10 @@ class MatterTestConfig:
390
392
# Node ID to use for controller/commissioner
391
393
controller_node_id : int = _DEFAULT_CONTROLLER_NODE_ID
392
394
# CAT Tags for default controller/commissioner
393
- controller_cat_tags : List [int ] = field (default_factory = list )
395
+ # By default, we commission with CAT tags specified for RR-1.1
396
+ # so the cert tests can be run without re-commissioning the device
397
+ # for this one test. This can be overwritten from the command line
398
+ controller_cat_tags : List [int ] = field (default_factory = lambda : [0x0001_0001 ])
394
399
395
400
# Fabric ID which to use
396
401
fabric_id : int = 1
@@ -1415,7 +1420,7 @@ def convert_args_to_matter_config(args: argparse.Namespace) -> MatterTestConfig:
1415
1420
return config
1416
1421
1417
1422
1418
- def parse_matter_test_args (argv : List [ str ] ) -> MatterTestConfig :
1423
+ def parse_matter_test_args () -> MatterTestConfig :
1419
1424
parser = argparse .ArgumentParser (description = 'Matter standalone Python test' )
1420
1425
1421
1426
basic_group = parser .add_argument_group (title = "Basic arguments" , description = "Overall test execution arguments" )
@@ -1527,9 +1532,7 @@ def parse_matter_test_args(argv: List[str]) -> MatterTestConfig:
1527
1532
args_group .add_argument ('--hex-arg' , nargs = '*' , type = bytes_as_hex_named_arg , metavar = "NAME:VALUE" ,
1528
1533
help = "Add a named test argument for an octet string in hex (e.g. 0011cafe or 00:11:CA:FE)" )
1529
1534
1530
- if not argv :
1531
- argv = sys .argv [1 :]
1532
-
1535
+ argv = sys .argv [1 :]
1533
1536
return convert_args_to_matter_config (parser .parse_known_args (argv )[0 ])
1534
1537
1535
1538
@@ -1612,7 +1615,7 @@ def _commission_device(self, i) -> bool:
1612
1615
raise ValueError ("Invalid commissioning method %s!" % conf .commissioning_method )
1613
1616
1614
1617
1615
- def default_matter_test_main (argv = None , ** kwargs ):
1618
+ def default_matter_test_main ():
1616
1619
"""Execute the test class in a test module.
1617
1620
This is the default entry point for running a test script file directly.
1618
1621
In this case, only one test class in a test script is allowed.
@@ -1622,26 +1625,13 @@ def default_matter_test_main(argv=None, **kwargs):
1622
1625
...
1623
1626
if __name__ == '__main__':
1624
1627
default_matter_test_main.main()
1625
- Args:
1626
- argv: A list that is then parsed as command line args. If None, defaults to sys.argv
1627
1628
"""
1628
1629
1629
- matter_test_config = parse_matter_test_args (argv )
1630
-
1631
- # Allow override of command line from optional arguments
1632
- if not matter_test_config .controller_cat_tags and "controller_cat_tags" in kwargs :
1633
- matter_test_config .controller_cat_tags = kwargs ["controller_cat_tags" ]
1630
+ matter_test_config = parse_matter_test_args ()
1634
1631
1635
1632
# Find the test class in the test script.
1636
1633
test_class = _find_test_class ()
1637
1634
1638
- # This is required in case we need any testing with maximized certificate chains.
1639
- # We need *all* issuers from the start, even for default controller, to use
1640
- # maximized chains, before MatterStackState init, others some stale certs
1641
- # may not chain properly.
1642
- if "maximize_cert_chains" in kwargs :
1643
- matter_test_config .maximize_cert_chains = kwargs ["maximize_cert_chains" ]
1644
-
1645
1635
hooks = InternalTestRunnerHooks ()
1646
1636
1647
1637
run_tests (test_class , matter_test_config , hooks )
0 commit comments