Skip to content

Commit

Permalink
TC_DeviceBasicComposition: Fix lighting-app-data-mode-no-unique-id an…
Browse files Browse the repository at this point in the history
…d add tests to CI (#36718)

* TC_DeviceBasicComposition: Fix lighting-app-data-mode-no-unique-id and add to CI

This PR fixes Basic Composition failures on the lighting-app-data-mode-no-unique-id
examples app add the test to CI to prevent it from breaking again.

This App is already built in CI, so it shouldn't add much CI cost.

* Add other app tests to CI

* removed flaky fabric app
  • Loading branch information
soares-sergio authored Dec 9, 2024
1 parent 72dbbcf commit 6447c64
Show file tree
Hide file tree
Showing 3 changed files with 82 additions and 167 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -2577,70 +2577,6 @@ cluster ColorControl = 768 {
command StepColorTemperature(StepColorTemperatureRequest): DefaultSuccess = 76;
}

/** The server cluster provides an interface to occupancy sensing functionality based on one or more sensing modalities, including configuration and provision of notifications of occupancy status. */
cluster OccupancySensing = 1030 {
revision 5;

enum OccupancySensorTypeEnum : enum8 {
kPIR = 0;
kUltrasonic = 1;
kPIRAndUltrasonic = 2;
kPhysicalContact = 3;
}

bitmap Feature : bitmap32 {
kOther = 0x1;
kPassiveInfrared = 0x2;
kUltrasonic = 0x4;
kPhysicalContact = 0x8;
kActiveInfrared = 0x10;
kRadar = 0x20;
kRFSensing = 0x40;
kVision = 0x80;
}

bitmap OccupancyBitmap : bitmap8 {
kOccupied = 0x1;
}

bitmap OccupancySensorTypeBitmap : bitmap8 {
kPIR = 0x1;
kUltrasonic = 0x2;
kPhysicalContact = 0x4;
}

struct HoldTimeLimitsStruct {
int16u holdTimeMin = 0;
int16u holdTimeMax = 1;
int16u holdTimeDefault = 2;
}

info event OccupancyChanged = 0 {
OccupancyBitmap occupancy = 0;
}

readonly attribute OccupancyBitmap occupancy = 0;
readonly attribute OccupancySensorTypeEnum occupancySensorType = 1;
readonly attribute OccupancySensorTypeBitmap occupancySensorTypeBitmap = 2;
attribute access(write: manage) optional int16u holdTime = 3;
readonly attribute optional HoldTimeLimitsStruct holdTimeLimits = 4;
attribute access(write: manage) optional int16u PIROccupiedToUnoccupiedDelay = 16;
attribute access(write: manage) optional int16u PIRUnoccupiedToOccupiedDelay = 17;
attribute access(write: manage) optional int8u PIRUnoccupiedToOccupiedThreshold = 18;
attribute access(write: manage) optional int16u ultrasonicOccupiedToUnoccupiedDelay = 32;
attribute access(write: manage) optional int16u ultrasonicUnoccupiedToOccupiedDelay = 33;
attribute access(write: manage) optional int8u ultrasonicUnoccupiedToOccupiedThreshold = 34;
attribute access(write: manage) optional int16u physicalContactOccupiedToUnoccupiedDelay = 48;
attribute access(write: manage) optional int16u physicalContactUnoccupiedToOccupiedDelay = 49;
attribute access(write: manage) optional int8u physicalContactUnoccupiedToOccupiedThreshold = 50;
readonly attribute command_id generatedCommandList[] = 65528;
readonly attribute command_id acceptedCommandList[] = 65529;
readonly attribute event_id eventList[] = 65530;
readonly attribute attrib_id attributeList[] = 65531;
readonly attribute bitmap32 featureMap = 65532;
readonly attribute int16u clusterRevision = 65533;
}

endpoint 0 {
device type ma_rootdevice = 22, version 1;

Expand Down Expand Up @@ -3127,14 +3063,6 @@ endpoint 1 {
handle command MoveColorTemperature;
handle command StepColorTemperature;
}

server cluster OccupancySensing {
ram attribute occupancy;
ram attribute occupancySensorType;
ram attribute occupancySensorTypeBitmap;
callback attribute featureMap;
ram attribute clusterRevision default = 5;
}
}


Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"fileFormat": 2,
"featureLevel": 103,
"featureLevel": 104,
"creator": "zap",
"keyValuePairs": [
{
Expand Down Expand Up @@ -41,14 +41,16 @@
"code": 22,
"profileId": 259,
"label": "MA-rootdevice",
"name": "MA-rootdevice"
"name": "MA-rootdevice",
"deviceTypeOrder": 0
},
"deviceTypes": [
{
"code": 22,
"profileId": 259,
"label": "MA-rootdevice",
"name": "MA-rootdevice"
"name": "MA-rootdevice",
"deviceTypeOrder": 0
}
],
"deviceVersions": [
Expand Down Expand Up @@ -3976,14 +3978,16 @@
"code": 257,
"profileId": 259,
"label": "MA-dimmablelight",
"name": "MA-dimmablelight"
"name": "MA-dimmablelight",
"deviceTypeOrder": 0
},
"deviceTypes": [
{
"code": 257,
"profileId": 259,
"label": "MA-dimmablelight",
"name": "MA-dimmablelight"
"name": "MA-dimmablelight",
"deviceTypeOrder": 0
}
],
"deviceVersions": [
Expand Down Expand Up @@ -5622,96 +5626,6 @@
"reportableChange": 0
}
]
},
{
"name": "Occupancy Sensing",
"code": 1030,
"mfgCode": null,
"define": "OCCUPANCY_SENSING_CLUSTER",
"side": "server",
"enabled": 1,
"attributes": [
{
"name": "Occupancy",
"code": 0,
"mfgCode": null,
"side": "server",
"type": "OccupancyBitmap",
"included": 1,
"storageOption": "RAM",
"singleton": 0,
"bounded": 0,
"defaultValue": "",
"reportable": 1,
"minInterval": 0,
"maxInterval": 65344,
"reportableChange": 0
},
{
"name": "OccupancySensorType",
"code": 1,
"mfgCode": null,
"side": "server",
"type": "OccupancySensorTypeEnum",
"included": 1,
"storageOption": "RAM",
"singleton": 0,
"bounded": 0,
"defaultValue": "",
"reportable": 1,
"minInterval": 0,
"maxInterval": 65344,
"reportableChange": 0
},
{
"name": "OccupancySensorTypeBitmap",
"code": 2,
"mfgCode": null,
"side": "server",
"type": "OccupancySensorTypeBitmap",
"included": 1,
"storageOption": "RAM",
"singleton": 0,
"bounded": 0,
"defaultValue": "",
"reportable": 1,
"minInterval": 0,
"maxInterval": 65344,
"reportableChange": 0
},
{
"name": "FeatureMap",
"code": 65532,
"mfgCode": null,
"side": "server",
"type": "bitmap32",
"included": 1,
"storageOption": "External",
"singleton": 0,
"bounded": 0,
"defaultValue": null,
"reportable": 1,
"minInterval": 1,
"maxInterval": 65534,
"reportableChange": 0
},
{
"name": "ClusterRevision",
"code": 65533,
"mfgCode": null,
"side": "server",
"type": "int16u",
"included": 1,
"storageOption": "RAM",
"singleton": 0,
"bounded": 0,
"defaultValue": "5",
"reportable": 1,
"minInterval": 0,
"maxInterval": 65344,
"reportableChange": 0
}
]
}
]
}
Expand Down
73 changes: 73 additions & 0 deletions src/python_testing/TC_DeviceBasicComposition.py
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,72 @@
# script-args: --storage-path admin_storage.json
# factory-reset: false
# quiet: true
# run9:
# app: ${ENERGY_MANAGEMENT_APP}
# app-args: --discriminator 1234 --KVS kvs1 --trace-to json:${TRACE_APP}.json
# script-args: >
# --storage-path admin_storage.json
# --manual-code 10054912339
# --PICS src/app/tests/suites/certification/ci-pics-values
# --trace-to json:${TRACE_TEST_JSON}.json
# --trace-to perfetto:${TRACE_TEST_PERFETTO}.perfetto
# factory-reset: true
# quiet: true
# run10:
# app: ${LIT_ICD_APP}
# app-args: --discriminator 1234 --KVS kvs1 --trace-to json:${TRACE_APP}.json
# script-args: >
# --storage-path admin_storage.json
# --manual-code 10054912339
# --PICS src/app/tests/suites/certification/ci-pics-values
# --trace-to json:${TRACE_TEST_JSON}.json
# --trace-to perfetto:${TRACE_TEST_PERFETTO}.perfetto
# factory-reset: true
# quiet: true
# run11:
# app: ${CHIP_MICROWAVE_OVEN_APP}
# app-args: --discriminator 1234 --KVS kvs1 --trace-to json:${TRACE_APP}.json
# script-args: >
# --storage-path admin_storage.json
# --manual-code 10054912339
# --PICS src/app/tests/suites/certification/ci-pics-values
# --trace-to json:${TRACE_TEST_JSON}.json
# --trace-to perfetto:${TRACE_TEST_PERFETTO}.perfetto
# factory-reset: true
# quiet: true
# run12:
# app: ${CHIP_RVC_APP}
# app-args: --discriminator 1234 --KVS kvs1 --trace-to json:${TRACE_APP}.json
# script-args: >
# --storage-path admin_storage.json
# --manual-code 10054912339
# --PICS src/app/tests/suites/certification/ci-pics-values
# --trace-to json:${TRACE_TEST_JSON}.json
# --trace-to perfetto:${TRACE_TEST_PERFETTO}.perfetto
# factory-reset: true
# quiet: true
# run13:
# app: ${NETWORK_MANAGEMENT_APP}
# app-args: --discriminator 1234 --KVS kvs1 --trace-to json:${TRACE_APP}.json
# script-args: >
# --storage-path admin_storage.json
# --manual-code 10054912339
# --PICS src/app/tests/suites/certification/ci-pics-values
# --trace-to json:${TRACE_TEST_JSON}.json
# --trace-to perfetto:${TRACE_TEST_PERFETTO}.perfetto
# factory-reset: true
# quiet: true
# run14:
# app: ${LIGHTING_APP_NO_UNIQUE_ID}
# app-args: --discriminator 1234 --KVS kvs1 --trace-to json:${TRACE_APP}.json
# script-args: >
# --storage-path admin_storage.json
# --manual-code 10054912339
# --PICS src/app/tests/suites/certification/ci-pics-values
# --trace-to json:${TRACE_TEST_JSON}.json
# --trace-to perfetto:${TRACE_TEST_PERFETTO}.perfetto
# factory-reset: true
# quiet: true
# === END CI TEST ARGUMENTS ===

# Run 1: runs through all tests
Expand All @@ -95,6 +161,13 @@
# Run 5: Tests CASE connection using manual code (12.1 only)
# Run 6: Tests CASE connection using QR code (12.1 only)
# Run 7: Tests CASE connection using manual discriminator and passcode (12.1 only)
# Run 8: Tests reusing storage from run7 (i.e. factory-reset=false)
# Run 9: Tests against energy-management-app
# Run 10: Tests against lit-icd app
# Run 11: Tests against microwave-oven app
# Run 12: Tests against chip-rvc app
# Run 13: Tests against network-management-app
# Run 14: Tests against lighting-app-data-mode-no-unique-id

import logging
from dataclasses import dataclass
Expand Down

0 comments on commit 6447c64

Please sign in to comment.