project-chip / project-chip/matter-test-scripts

[TC-OCC-2.3] The UI-Python testing process will execute step 8b, but the product does not support the holdtime attribute.

Open
#585 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
19
Forks
7
Avg merge
3d 17h
Merged PRs (30d)
3

Description

Version: v2.11+fall2024
Sha: 8f86ccd

[TC-OCC-2.3] The UI-Python testing process will execute step 8b, "TH writes DUT PhysicalContactOccupiedToUnoccupiedDelay attribute with HoldTimeMax, then TH reads DUT PhysicalContactOccupiedToUnoccupiedDelay and HoldTime attributes." But the product does not support the holdtime attribute. Why doesn't Test Harness skip this step?

TC-OCC-3.1 and TC-OCC-3.1 are also the same problems!

The log is as follows:

[MatterTest] 05-21 08:58:07.882 INFO Avahi group established
[MatterTest] 05-21 08:58:07.883 INFO ***** Test Step 7b : TH writes DUT UltrasonicOccupiedToUnoccupiedDelay attribute with HoldTimeMax, then TH reads DUT UltrasonicOccupiedToUnoccupiedDelay and HoldTime attributes.
[MatterTest] 05-21 08:58:07.890 INFO ***** Test Step 8a : If DUT FeatureMap has PHY, and PhysicalContactOccupiedToUnoccupiedDelay is supported, then TH writes HoldTimeMin to HoldTime attribute, otherwise skip 8a, 8b.
[MatterTest] 05-21 08:58:07.894 INFO ***** Test Step 8b : TH writes DUT PhysicalContactOccupiedToUnoccupiedDelay attribute with HoldTimeMax, then TH reads DUT PhysicalContactOccupiedToUnoccupiedDelay and HoldTime attributes.
[MatterTest] 05-21 08:58:07.899 INFO Found an existing secure session to [1:0000000012344321]!
[MatterTest] 05-21 08:58:07.902 INFO 0 data version filters provided, 0 not relevant, 0 encoded, 0 skipped due to lack of space
[MatterTest] 05-21 08:58:07.903 INFO {
[MatterTest] 05-21 08:58:07.903 INFO "event" : "MessageSend",
[MatterTest] 05-21 08:58:07.904 INFO "messageType" : "Secure",
[MatterTest] 05-21 08:58:07.904 INFO "packetHeader" :
[MatterTest] 05-21 08:58:07.905 INFO {
[MatterTest] 05-21 08:58:07.905 INFO "flags" : 0,
[MatterTest] 05-21 08:58:07.905 INFO "msgCounter" : 121197322,
[MatterTest] 05-21 08:58:07.906 INFO "securityFlags" : 0,
[MatterTest] 05-21 08:58:07.906 INFO "sessionId" : 49374
[MatterTest] 05-21 08:58:07.906 INFO },
[MatterTest] 05-21 08:58:07.906 INFO "payload" :
[MatterTest] 05-21 08:58:07.907 INFO {
[MatterTest] 05-21 08:58:07.907 INFO "decoded" :
[MatterTest] 05-21 08:58:07.907 INFO {
[MatterTest] 05-21 08:58:07.907 INFO "read_request" :
[MatterTest] 05-21 08:58:07.908 INFO {
[MatterTest] 05-21 08:58:07.908 INFO "attribute_requests" :
[MatterTest] 05-21 08:58:07.909 INFO {
[MatterTest] 05-21 08:58:07.909 INFO "Anonymous<0>" :
[MatterTest] 05-21 08:58:07.909 INFO {
[MatterTest] 05-21 08:58:07.909 INFO "attribute_id" : "3 == 'holdTime'",
[MatterTest] 05-21 08:58:07.910 INFO "cluster_id" : "1030 == 'OccupancySensing'",
[MatterTest] 05-21 08:58:07.910 INFO "endpoint_id" : "12"
[MatterTest] 05-21 08:58:07.910 INFO }
[MatterTest] 05-21 08:58:07.910 INFO },
[MatterTest] 05-21 08:58:07.911 INFO "fabric_filtered" : "true",
[MatterTest] 05-21 08:58:07.911 INFO "interaction_model_revison" : "11"
[MatterTest] 05-21 08:58:07.911 INFO }
[MatterTest] 05-21 08:58:07.912 INFO },
[MatterTest] 05-21 08:58:07.912 INFO "hex" : "1536001724020C250306042404031818290324FF0B18",
[MatterTest] 05-21 08:58:07.912 INFO "size" : 22
[MatterTest] 05-21 08:58:07.913 INFO },
[MatterTest] 05-21 08:58:07.913 INFO "payloadHeader" :
[MatterTest] 05-21 08:58:07.913 INFO {
[MatterTest] 05-21 08:58:07.913 INFO "exchangeFlags" : 5,
[MatterTest] 05-21 08:58:07.914 INFO "exchangeId" : 35627,
[MatterTest] 05-21 08:58:07.914 INFO "initiator" : true,
[MatterTest] 05-21 08:58:07.915 INFO "messageType" : 2,
[MatterTest] 05-21 08:58:07.915 INFO "needsAck" : true,
[MatterTest] 05-21 08:58:07.915 INFO "protocolId" : 1
[MatterTest] 05-21 08:58:07.915 INFO }
[MatterTest] 05-21 08:58:07.916 INFO }
[MatterTest] 05-21 08:58:07.916 INFO <<< [E:35627i S:30152 M:121197322] (S) Msg TX from 000000000001B669 to 1:0000000012344321 [AF18] [UDP:[fd82:1d74:c12c:c000:56ef:44ff:fe83:8e9b]:5540] --- Type 0001:02 (IM:ReadRequest) (B:52)
[MatterTest] 05-21 08:58:07.917 INFO ??1 [E:35627i S:30152 M:121197322] (S) Msg Retransmission to 1:0000000012344321 in 1183ms [State:Active II:1000 AI:1000 AT:4000]
[MatterTest] 05-21 08:58:07.919 INFO Avahi group established
[MatterTest] 05-21 08:58:07.926 INFO {
[MatterTest] 05-21 08:58:07.926 INFO "event" : "MessageReceived",
[MatterTest] 05-21 08:58:07.927 INFO "messageType" : "Secure",
[MatterTest] 05-21 08:58:07.928 INFO "packetHeader" :
[MatterTest] 05-21 08:58:07.928 INFO {
[MatterTest] 05-21 08:58:07.928 INFO "flags" : 0,
[MatterTest] 05-21 08:58:07.929 INFO "msgCounter" : 177024127,
[MatterTest] 05-21 08:58:07.929 INFO "securityFlags" : 0,
[MatterTest] 05-21 08:58:07.930 INFO "sessionId" : 30152
[MatterTest] 05-21 08:58:07.930 INFO },
[MatterTest] 05-21 08:58:07.931 INFO "payload" :
[MatterTest] 05-21 08:58:07.931 INFO {
[MatterTest] 05-21 08:58:07.931 INFO "decoded" :
[MatterTest] 05-21 08:58:07.932 INFO {
[MatterTest] 05-21 08:58:07.933 INFO "report_data" :
[MatterTest] 05-21 08:58:07.933 INFO {
[MatterTest] 05-21 08:58:07.934 INFO "attribute_reports" :
[MatterTest] 05-21 08:58:07.934 INFO {
[MatterTest] 05-21 08:58:07.934 INFO "Anonymous<0>" :
[MatterTest] 05-21 08:58:07.935 INFO {
[MatterTest] 05-21 08:58:07.935 INFO "attribute_status" :
[MatterTest] 05-21 08:58:07.936 INFO {
[MatterTest] 05-21 08:58:07.936 INFO "path" :
[MatterTest] 05-21 08:58:07.937 INFO {
[MatterTest] 05-21 08:58:07.938 INFO "attribute_id" : "3 == 'holdTime'",
[MatterTest] 05-21 08:58:07.938 INFO "cluster_id" : "1030 == 'OccupancySensing'",
[MatterTest] 05-21 08:58:07.939 INFO "endpoint_id" : "12"
[MatterTest] 05-21 08:58:07.939 INFO },
[MatterTest] 05-21 08:58:07.940 INFO "status" :
[MatterTest] 05-21 08:58:07.940 INFO {
[MatterTest] 05-21 08:58:07.941 INFO "status" : "134 == kUnsupportedAttribute"
[MatterTest] 05-21 08:58:07.941 INFO }
[MatterTest] 05-21 08:58:07.942 INFO }
[MatterTest] 05-21 08:58:07.942 INFO }
[MatterTest] 05-21 08:58:07.943 INFO },
[MatterTest] 05-21 08:58:07.943 INFO "interaction_model_revison" : "12",
[MatterTest] 05-21 08:58:07.944 INFO "suppress_response" : "true"
[MatterTest] 05-21 08:58:07.944 INFO }
[MatterTest] 05-21 08:58:07.945 INFO },
[MatterTest] 05-21 08:58:07.945 INFO "hex" : "153601153500370024020C2503060424040318350124008618181818290424FF0C18",
[MatterTest] 05-21 08:58:07.945 INFO "size" : 34
[MatterTest] 05-21 08:58:07.946 INFO },
[MatterTest] 05-21 08:58:07.946 INFO "payloadHeader" :
[MatterTest] 05-21 08:58:07.947 INFO {
[MatterTest] 05-21 08:58:07.947 INFO "ackMessageCounter" : 121197322,
[MatterTest] 05-21 08:58:07.948 INFO "exchangeFlags" : 6,
[MatterTest] 05-21 08:58:07.948 INFO "exchangeId" : 35627,
[MatterTest] 05-21 08:58:07.949 INFO "initiator" : false,
[MatterTest] 05-21 08:58:07.949 INFO "messageType" : 5,
[MatterTest] 05-21 08:58:07.950 INFO "needsAck" : true,
[MatterTest] 05-21 08:58:07.950 INFO "protocolId" : 1
[MatterTest] 05-21 08:58:07.951 INFO }
[MatterTest] 05-21 08:58:07.951 INFO }
[MatterTest] 05-21 08:58:07.952 INFO >>> [E:35627i S:30152 M:177024127 (Ack:121197322)] (S) Msg RX from 1:0000000012344321 [AF18] to 000000000001B669 --- Type 0001:05 (IM:ReportData) (B:68)
[MatterTest] 05-21 08:58:07.966 ERROR Exception occurred in test_TC_OCC_2_3.
Traceback (most recent call last):
File "/usr/local/lib/python3.12/dist-packages/mobly/base_test.py", line 818, in exec_one_test
test_method()
File "/root/python_testing/scripts/sdk/matter_testing_support.py", line 1985, in async_runner
return _async_runner(body, self, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/root/python_testing/scripts/sdk/matter_testing_support.py", line 1973, in _async_runner
return asyncio.run(runner_with_timeout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/asyncio/runners.py", line 194, in run
return runner.run(main)
^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/asyncio/runners.py", line 118, in run
return self._loop.run_until_complete(task)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/asyncio/base_events.py", line 687, in run_until_complete
return future.result()
^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/asyncio/tasks.py", line 520, in wait_for
return await fut
^^^^^^^^^
File "/root/python_testing/scripts/sdk/TC_OCC_2_3.py", line 92, in test_TC_OCC_2_3
holdtime_dut = await self.read_occ_attribute_expect_success(attribute=attributes.HoldTime)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/root/python_testing/scripts/sdk/TC_OCC_2_3.py", line 41, in read_occ_attribute_expect_success
return await self.read_single_attribute_check_success(endpoint=endpoint_id, cluster=cluster, attribute=attribute)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/root/python_testing/scripts/sdk/matter_testing_support.py", line 1172, in read_single_attribute_check_success
asserts.assert_true(read_ok, read_err_msg)
File "/usr/local/lib/python3.12/dist-packages/mobly/asserts.py", line 319, in assert_true
fail(msg, extras)
File "/usr/local/lib/python3.12/dist-packages/mobly/asserts.py", line 441, in fail
raise signals.TestFailure(msg, extras)
mobly.signals.TestFailure: Details=Error reading <class 'chip.clusters.Objects.OccupancySensing'>:<class 'chip.clusters.Objects.OccupancySensing.Attributes.HoldTime'> = ValueDecodeFailure(TLVValue=None, Reason=InteractionModelError(<Status.UnsupportedAttribute: 134>)), Extras=None
[MatterTest] 05-21 08:58:07.968 INFO {
[MatterTest] 05-21 08:58:07.978 INFO "event" : "MessageSend",
[MatterTest] 05-21 08:58:07.979 INFO "messageType" : "Secure",
[MatterTest] 05-21 08:58:07.980 INFO "packetHeader" :
[MatterTest] 05-21 08:58:07.983 INFO {
[MatterTest] 05-21 08:58:07.984 INFO "flags" : 0,
[MatterTest] 05-21 08:58:07.985 INFO "msgCounter" : 121197323,
[MatterTest] 05-21 08:58:07.986 INFO "securityFlags" : 0,
[MatterTest] 05-21 08:58:07.986 INFO "sessionId" : 49374
[MatterTest] 05-21 08:58:07.987 INFO },
[MatterTest] 05-21 08:58:07.988 INFO "payload" :
[MatterTest] 05-21 08:58:07.988 INFO {
[MatterTest] 05-21 08:58:07.989 INFO "decoded" :
[MatterTest] 05-21 08:58:07.990 INFO {
[MatterTest] 05-21 08:58:07.990 INFO "mrp_ack" : ""
[MatterTest] 05-21 08:58:07.991 INFO },
[MatterTest] 05-21 08:58:07.992 ERROR


  • Test test_TC_OCC_2_3 failed for the following reason:
  • Details=Error reading <class 'chip.clusters.Objects.OccupancySensing'>:<class 'chip.clusters.Objects.OccupancySensing.Attributes.HoldTime'> = ValueDecodeFailure(TLVValue=None, Reason=InteractionModelError(<Status.UnsupportedAttribute: 134>)), Extras=None
  • File "/usr/local/lib/python3.12/dist-packages/mobly/asserts.py", line 441, in fail
  • mobly.signals.TestFailure: Details=Error reading <class 'chip.clusters.Objects.OccupancySensing'>:<class 'chip.clusters.Objects.OccupancySensing.Attributes.HoldTime'> = ValueDecodeFailure(TLVValue=None, Reason=InteractionModelError(<Status.UnsupportedAttribute: 134>)), Extras=None

[MatterTest] 05-21 08:58:07.993 INFO "hex" : "",
[MatterTest] 05-21 08:58:07.994 INFO [Test] test_TC_OCC_2_3 FAIL
[MatterTest] 05-21 08:58:07.994 INFO "size" : 0
[MatterTest] 05-21 08:58:08.004 INFO },
[MatterTest] 05-21 08:58:08.006 INFO "payloadHeader" :
[MatterTest] 05-21 08:58:08.007 INFO {
[MatterTest] 05-21 08:58:08.008 INFO Summary for test class TC_OCC_2_3: Error 0, Executed 1, Failed 1, Passed 0, Requested 1, Skipped 0
[MatterTest] 05-21 08:58:08.008 INFO "ackMessageCounter" : 177024127,
[MatterTest] 05-21 08:58:08.010 INFO "exchangeFlags" : 3,
[MatterTest] 05-21 08:58:08.011 INFO Summary for test run MatterTest@05-21-2025_08-58-06-976:
Total time elapsed 0.9860506819968577s
Artifacts are saved in "/tmp/matter_testing/logs/MatterTest/05-21-2025_08-58-06-976"
Test summary saved in "/tmp/matter_testing/logs/MatterTest/05-21-2025_08-58-06-976/test_summary.yaml"
Test results: Error 0, Executed 1, Failed 1, Passed 0, Requested 1, Skipped 0
[MatterTest] 05-21 08:58:08.012 INFO "exchangeId" : 35627,

INFO | 2025-05-21 08:58:08.028218 | ---- End of Python test logs ----
INFO | 2025-05-21 08:58:08.031310 | Test Step Completed [PASSED]: Show test logs
INFO | 2025-05-21 08:58:08.033387 | --------------------------------------------------------------------------------
INFO | 2025-05-21 08:58:09.144400 | Test Cleanup
INFO | 2025-05-21 08:58:09.146440 | Test Case Completed [FAILED]: TC-OCC-2.3
INFO | 2025-05-21 08:58:09.147650 | ================================================================================
INFO | 2025-05-21 08:58:09.150512 | Suite Cleanup
INFO | 2025-05-21 08:58:09.151851 | Stopping SDK container
INFO | 2025-05-21 08:58:09.560906 | Stopping Border Router
INFO | 2025-05-21 08:58:09.563716 | Test Suite Completed [FAILED]: Python Testing Suite
INFO | 2025-05-21 08:58:09.564936 | ################################################################################
INFO | 2025-05-21 08:58:09.567993 | Test Run Completed [FAILED]

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with /root/python_testing/scripts/sdk/TC_OCC_2_3.py, especially test_TC_OCC_2_3 and read_occ_attribute_expect_success, then review the corresponding TC_OCC-3.1 tests. Run the affected Matter tests with a device that lacks HoldTime; done means unsupported HoldTime steps are skipped instead of causing a failure.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
testing-qa
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Clearly specified
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.