Skip to content

Commit 7bab72f

Browse files
committed
Python: consolidate endpoint selection
Add a function to get the endpoint from the config with an explicit default. This makes it so folks don't have to remember where that parameter comes in. TL;DR - all tests should now use --endpoint to set endpoint
1 parent f66ce35 commit 7bab72f

23 files changed

+28
-25
lines changed

src/python_testing/TC_BOOLCFG_2_1.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ def pics_TC_BOOLCFG_2_1(self) -> list[str]:
5656
@async_test_body
5757
async def test_TC_BOOLCFG_2_1(self):
5858

59-
endpoint = self.user_params.get("endpoint", 1)
59+
endpoint = self.get_endpoint(default=1)
6060
all_alarm_mode_bitmap_bits = functools.reduce(
6161
ior, [b.value for b in Clusters.BooleanStateConfiguration.Bitmaps.AlarmModeBitmap])
6262
all_sensor_fault_bitmap_bits = functools.reduce(

src/python_testing/TC_BOOLCFG_3_1.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ def pics_TC_BOOLCFG_3_1(self) -> list[str]:
5858
@async_test_body
5959
async def test_TC_BOOLCFG_3_1(self):
6060

61-
endpoint = self.user_params.get("endpoint", 1)
61+
endpoint = self.get_endpoint(default=1)
6262

6363
self.step(1)
6464
attributes = Clusters.BooleanStateConfiguration.Attributes

src/python_testing/TC_BOOLCFG_4_2.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ async def test_TC_BOOLCFG_4_2(self):
6868
"the --hex-arg flag as PIXIT.BOOLCFG.TEST_EVENT_TRIGGER_KEY:<key>, "
6969
"e.g. --hex-arg PIXIT.BOOLCFG.TEST_EVENT_TRIGGER_KEY:000102030405060708090a0b0c0d0e0f")
7070

71-
endpoint = self.user_params.get("endpoint", 1)
71+
endpoint = self.get_endpoint(default=1)
7272
enableKey = self.matter_test_config.global_test_params['PIXIT.BOOLCFG.TEST_EVENT_TRIGGER_KEY']
7373

7474
self.step(1)

src/python_testing/TC_EEVSE_2_2.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ async def test_TC_EEVSE_2_2(self):
101101
events_callback = EventChangeCallback(Clusters.EnergyEvse)
102102
await events_callback.start(self.default_controller,
103103
self.dut_node_id,
104-
self.matter_test_config.endpoint)
104+
self.get_endpoint())
105105

106106
self.step("2")
107107
await self.check_test_event_triggers_enabled()

src/python_testing/TC_EEVSE_2_4.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ async def test_TC_EEVSE_2_4(self):
7777
events_callback = EventChangeCallback(Clusters.EnergyEvse)
7878
await events_callback.start(self.default_controller,
7979
self.dut_node_id,
80-
self.matter_test_config.endpoint)
80+
self.get_endpoint())
8181

8282
self.step("2")
8383
await self.check_test_event_triggers_enabled()

src/python_testing/TC_EEVSE_2_5.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ async def test_TC_EEVSE_2_5(self):
7171
events_callback = EventChangeCallback(Clusters.EnergyEvse)
7272
await events_callback.start(self.default_controller,
7373
self.dut_node_id,
74-
self.matter_test_config.endpoint)
74+
self.get_endpoint())
7575

7676
self.step("2")
7777
await self.check_test_event_triggers_enabled()

src/python_testing/TC_EEVSE_Utils.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ async def get_supported_energy_evse_attributes(self, endpoint: int = None):
7272

7373
async def write_user_max_charge(self, endpoint: int = None, user_max_charge: int = 0):
7474
if endpoint is None:
75-
endpoint = self.matter_test_config.endpoint
75+
endpoint = self.get_endpoint()
7676
result = await self.default_controller.WriteAttribute(self.dut_node_id,
7777
[(endpoint,
7878
Clusters.EnergyEvse.Attributes.UserMaximumChargeCurrent(user_max_charge))])

src/python_testing/TC_FAN_3_4.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ async def test_TC_FAN_3_4(self):
5151
logger.info("Test skipped because PICS FAN.S.F03 is not set")
5252
return
5353

54-
endpoint = self.user_params.get("endpoint", 1)
54+
endpoint = self.get_endpoint(default=1)
5555

5656
self.print_step(1, "Commissioning, already done")
5757

src/python_testing/TC_RVCCLEANM_1_2.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ def pics_TC_RVCCLEANM_1_2(self) -> list[str]:
4848

4949
@async_test_body
5050
async def test_TC_RVCCLEANM_1_2(self):
51-
self.endpoint = self.matter_test_config.endpoint
51+
self.endpoint = self.get_endpoint()
5252

5353
attributes = Clusters.RvcCleanMode.Attributes
5454

src/python_testing/TC_RVCCLEANM_2_1.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ async def test_TC_RVCCLEANM_2_1(self):
5757
"PIXIT.RVCCLEANM.MODE_CHANGE_FAIL must be included on the command line in "
5858
"the --int-arg flag as PIXIT.RVCCLEANM.MODE_CHANGE_FAIL:<mode id>")
5959

60-
self.endpoint = self.matter_test_config.endpoint
60+
self.endpoint = self.get_endpoint()
6161
self.mode_ok = self.matter_test_config.global_test_params['PIXIT.RVCCLEANM.MODE_CHANGE_OK']
6262
self.mode_fail = self.matter_test_config.global_test_params['PIXIT.RVCCLEANM.MODE_CHANGE_FAIL']
6363

src/python_testing/TC_RVCCLEANM_2_2.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ def pics_TC_RVCCLEANM_2_2(self) -> list[str]:
6262

6363
@async_test_body
6464
async def test_TC_RVCCLEANM_2_2(self):
65-
self.endpoint = self.matter_test_config.endpoint
65+
self.endpoint = self.get_endpoint()
6666

6767
asserts.assert_true(self.check_pics("RVCCLEANM.S"), "RVCCLEANM.S must be supported")
6868
asserts.assert_true(self.check_pics("RVCRUNM.S.A0000"), "RVCRUNM.S.A0000 must be supported")

src/python_testing/TC_RVCOPSTATE_2_1.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ def TC_RVCOPSTATE_2_1(self) -> list[str]:
5353

5454
@async_test_body
5555
async def test_TC_RVCOPSTATE_2_1(self):
56-
self.endpoint = self.matter_test_config.endpoint
56+
self.endpoint = self.get_endpoint(default=None)
5757
asserts.assert_false(self.endpoint is None, "--endpoint <endpoint> must be included on the command line in.")
5858

5959
attributes = Clusters.RvcOperationalState.Attributes

src/python_testing/TC_RVCOPSTATE_2_3.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,7 @@ def print_instruction(self, step_number, instruction):
130130
@async_test_body
131131
async def test_TC_RVCOPSTATE_2_3(self):
132132

133-
self.endpoint = self.matter_test_config.endpoint
133+
self.endpoint = self.get_endpoint(default=None)
134134
asserts.assert_false(self.endpoint is None, "--endpoint <endpoint> must be included on the command line in.")
135135

136136
asserts.assert_true(self.check_pics("RVCOPSTATE.S.A0003"), "RVCOPSTATE.S.A0003 must be supported")

src/python_testing/TC_RVCRUNM_1_2.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ def pics_TC_RVCRUNM_1_2(self) -> list[str]:
4848

4949
@async_test_body
5050
async def test_TC_RVCRUNM_1_2(self):
51-
self.endpoint = self.matter_test_config.endpoint
51+
self.endpoint = self.get_endpoint()
5252

5353
attributes = Clusters.RvcRunMode.Attributes
5454

src/python_testing/TC_RVCRUNM_2_1.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ async def test_TC_RVCRUNM_2_1(self):
5757
"PIXIT.RVCRUNM.MODE_CHANGE_FAIL must be included on the command line in "
5858
"the --int-arg flag as PIXIT.RVCRUNM.MODE_CHANGE_FAIL:<mode id>")
5959

60-
self.endpoint = self.matter_test_config.endpoint
60+
self.endpoint = self.get_endpoint()
6161
self.mode_ok = self.matter_test_config.global_test_params['PIXIT.RVCRUNM.MODE_CHANGE_OK']
6262
self.mode_fail = self.matter_test_config.global_test_params['PIXIT.RVCRUNM.MODE_CHANGE_FAIL']
6363

src/python_testing/TC_RVCRUNM_2_2.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ async def test_TC_RVCRUNM_2_2(self):
9797
"PIXIT.RVCRUNM.MODE_A:<mode id> \n"
9898
"PIXIT.RVCRUNM.MODE_B:<mode id>")
9999

100-
self.endpoint = self.matter_test_config.endpoint
100+
self.endpoint = self.get_endpoint()
101101
self.mode_a = self.matter_test_config.global_test_params['PIXIT.RVCRUNM.MODE_A']
102102
self.mode_b = self.matter_test_config.global_test_params['PIXIT.RVCRUNM.MODE_B']
103103

src/python_testing/TC_VALCC_3_4.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ def pics_TC_VALCC_3_4(self) -> list[str]:
5151
@async_test_body
5252
async def test_TC_VALCC_3_4(self):
5353

54-
endpoint = self.user_params.get("endpoint", 1)
54+
endpoint = self.get_endpoint(default=1)
5555

5656
self.step(1)
5757
attributes = Clusters.ValveConfigurationAndControl.Attributes

src/python_testing/TC_VALCC_4_2.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ def pics_TC_VALCC_4_2(self) -> list[str]:
5858
@async_test_body
5959
async def test_TC_VALCC_4_2(self):
6060

61-
endpoint = self.user_params.get("endpoint", 1)
61+
endpoint = self.get_endpoint(default=1)
6262

6363
self.step(1)
6464
attributes = Clusters.ValveConfigurationAndControl.Attributes

src/python_testing/TC_VALCC_4_3.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ def pics_TC_VALCC_4_3(self) -> list[str]:
6161
@async_test_body
6262
async def test_TC_VALCC_4_3(self):
6363

64-
endpoint = self.user_params.get("endpoint", 1)
64+
endpoint = self.get_endpoint(default=1)
6565

6666
self.step(1)
6767
attributes = Clusters.ValveConfigurationAndControl.Attributes

src/python_testing/TC_VALCC_4_4.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ def pics_TC_VALCC_4_4(self) -> list[str]:
5555
@async_test_body
5656
async def test_TC_VALCC_4_4(self):
5757

58-
endpoint = self.user_params.get("endpoint", 1)
58+
endpoint = self.get_endpoint(default=1)
5959

6060
self.step(1)
6161
attributes = Clusters.ValveConfigurationAndControl.Attributes

src/python_testing/TC_pics_checker.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ def steps_TC_IDM_10_4(self):
112112
def test_TC_IDM_10_4(self):
113113
# wildcard read is done in setup_class
114114
self.step(1)
115-
self.endpoint_id = self.matter_test_config.endpoint
115+
self.endpoint_id = self.get_endpoint()
116116
self.endpoint = self.endpoints_tlv[self.endpoint_id]
117117
self.success = True
118118

src/python_testing/drlk_2_x_common.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ async def run_drlk_test_common(self, lockUnlockCommand, lockUnlockCmdRspPICS, lo
9797

9898
self.createdCredential = None
9999

100-
self.endpoint = self.user_params.get("endpoint", 1)
100+
self.endpoint = self.get_endpoint(default=1)
101101

102102
# Allow for user overrides of these values
103103
credentialIndex = self.user_params.get("credential_index", 1)

src/python_testing/matter_testing_support.py

+6-3
Original file line numberDiff line numberDiff line change
@@ -690,6 +690,9 @@ def certificate_authority_manager(self) -> chip.CertificateAuthority.Certificate
690690
def dut_node_id(self) -> int:
691691
return self.matter_test_config.dut_node_ids[0]
692692

693+
def get_endpoint(self, default: Optional[int] = 0) -> int:
694+
return self.matter_test_config.endpoint if self.matter_test_config.endpoint is not None else default
695+
693696
def setup_class(self):
694697
super().setup_class()
695698

@@ -761,7 +764,7 @@ async def read_single_attribute_check_success(
761764
if node_id is None:
762765
node_id = self.dut_node_id
763766
if endpoint is None:
764-
endpoint = self.matter_test_config.endpoint
767+
endpoint = self.get_endpoint()
765768

766769
result = await dev_ctrl.ReadAttribute(node_id, [(endpoint, attribute)], fabricFiltered=fabric_filtered)
767770
attr_ret = result[endpoint][cluster][attribute]
@@ -793,7 +796,7 @@ async def read_single_attribute_expect_error(
793796
if node_id is None:
794797
node_id = self.dut_node_id
795798
if endpoint is None:
796-
endpoint = self.matter_test_config.endpoint
799+
endpoint = self.get_endpoint()
797800

798801
result = await dev_ctrl.ReadAttribute(node_id, [(endpoint, attribute)], fabricFiltered=fabric_filtered)
799802
attr_ret = result[endpoint][cluster][attribute]
@@ -820,7 +823,7 @@ async def send_single_cmd(
820823
if node_id is None:
821824
node_id = self.dut_node_id
822825
if endpoint is None:
823-
endpoint = self.matter_test_config.endpoint
826+
endpoint = self.get_endpoint()
824827

825828
result = await dev_ctrl.SendCommand(nodeid=node_id, endpoint=endpoint, payload=cmd, timedRequestTimeoutMs=timedRequestTimeoutMs)
826829
return result

0 commit comments

Comments
 (0)