@@ -31,6 +31,189 @@ tests:
31
31
Chip-repl commands used below are an example to verify the DUT as client test cases. For certification test, we expect DUT should have a capability or way to run the equivalent command.
32
32
disabled : true
33
33
34
+ - label :
35
+ " Step 0 (Pre-Condition 1): Commission TH Client to TH device (Server),
36
+ if not done so already."
37
+ verification : |
38
+ Ensure DUT is commissioned to TH device (Server).
39
+ disabled : true
40
+
41
+ - label :
42
+ " Step 0 (Pre-Condition 2): Commission DUT to TH device (Server), if
43
+ not done so already."
44
+ verification : |
45
+ Ensure DUT is commissioned to TH device (Server).
46
+ This likely requires opening the commissioning window with TH Client."
47
+ disabled : true
48
+
49
+ - label :
50
+ " Step 0 (Pre-Condition 3): TH Client send `FailAtFault` command to
51
+ `FaultInjection` cluster to TH device (Server)."
52
+ cluster : " FaultInjection"
53
+ command : " FailAtFault"
54
+ arguments :
55
+ values :
56
+ - name : " Type"
57
+ value : 3
58
+ - name : " Id"
59
+ value : 12
60
+ - name : " NumCallsToSkip"
61
+ value : 3
62
+ - name : " NumCallsToFail"
63
+ value : 1
64
+ - name : " TakeMutex"
65
+ value : false
66
+ verification : |
67
+ Equivalent TH Client command to run `chip-tool faultinjection fail-at-fault 3 12 3 1 false 1 0`
68
+ On TH(all-clusters-app), Verify command is successfully:
69
+
70
+ CHIP:DMG: InvokeRequestMessage =
71
+ CHIP:DMG: {
72
+ CHIP:DMG: suppressResponse = false,
73
+ CHIP:DMG: timedRequest = false,
74
+ CHIP:DMG: InvokeRequests =
75
+ CHIP:DMG: [
76
+ CHIP:DMG: CommandDataIB =
77
+ CHIP:DMG: {
78
+ CHIP:DMG: CommandPathIB =
79
+ CHIP:DMG: {
80
+ CHIP:DMG: EndpointId = 0x0,
81
+ CHIP:DMG: ClusterId = 0xfff1fc06,
82
+ CHIP:DMG: CommandId = 0x0,
83
+ CHIP:DMG: },
84
+ CHIP:DMG:
85
+ CHIP:DMG: CommandFields =
86
+ CHIP:DMG: {
87
+ CHIP:DMG: 0x0 = 3,
88
+ CHIP:DMG: 0x1 = 12,
89
+ CHIP:DMG: 0x2 = 3,
90
+ CHIP:DMG: 0x3 = 1,
91
+ CHIP:DMG: 0x4 = false,
92
+ CHIP:DMG: },
93
+ CHIP:DMG: },
94
+ CHIP:DMG:
95
+ CHIP:DMG: ],
96
+ CHIP:DMG:
97
+ CHIP:DMG: InteractionModelRevision = 11
98
+ CHIP:DMG: },
99
+ CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0xFFF1_FC06 e=0 p=m
100
+ CHIP:DMG: AccessControl: allowed
101
+ CHIP:DMG: Received command for Endpoint=0 Cluster=0xFFF1_FC06 Command=0x0000_0000
102
+ CHIP:ZCL: FaultInjection: Configure a fault of type: 3 and Id: 12 to be triggered deterministically <--------- Verify success with this message.
103
+ disabled : true
104
+
105
+ - label :
106
+ " Step 0 (Pre-Condition 4): TH Client send `FailAtFault` command to
107
+ `FaultInjection` cluster to TH device (Server)."
108
+ cluster : " FaultInjection"
109
+ command : " FailAtFault"
110
+ arguments :
111
+ values :
112
+ - name : " Type"
113
+ value : 3
114
+ - name : " Id"
115
+ value : 13
116
+ - name : " NumCallsToSkip"
117
+ value : 2
118
+ - name : " NumCallsToFail"
119
+ value : 1
120
+ - name : " TakeMutex"
121
+ value : false
122
+ verification : |
123
+ Equivalent TH Client command to run `chip-tool faultinjection fail-at-fault 3 13 2 1 false 1 0`
124
+ On TH(all-clusters-app), Verify command is successfully:
125
+
126
+ CHIP:DMG: InvokeRequestMessage =
127
+ CHIP:DMG: {
128
+ CHIP:DMG: suppressResponse = false,
129
+ CHIP:DMG: timedRequest = false,
130
+ CHIP:DMG: InvokeRequests =
131
+ CHIP:DMG: [
132
+ CHIP:DMG: CommandDataIB =
133
+ CHIP:DMG: {
134
+ CHIP:DMG: CommandPathIB =
135
+ CHIP:DMG: {
136
+ CHIP:DMG: EndpointId = 0x0,
137
+ CHIP:DMG: ClusterId = 0xfff1fc06,
138
+ CHIP:DMG: CommandId = 0x0,
139
+ CHIP:DMG: },
140
+ CHIP:DMG:
141
+ CHIP:DMG: CommandFields =
142
+ CHIP:DMG: {
143
+ CHIP:DMG: 0x0 = 3,
144
+ CHIP:DMG: 0x1 = 13,
145
+ CHIP:DMG: 0x2 = 2,
146
+ CHIP:DMG: 0x3 = 1,
147
+ CHIP:DMG: 0x4 = false,
148
+ CHIP:DMG: },
149
+ CHIP:DMG: },
150
+ CHIP:DMG:
151
+ CHIP:DMG: ],
152
+ CHIP:DMG:
153
+ CHIP:DMG: InteractionModelRevision = 11
154
+ CHIP:DMG: },
155
+ CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0xFFF1_FC06 e=0 p=m
156
+ CHIP:DMG: AccessControl: allowed
157
+ CHIP:DMG: Received command for Endpoint=0 Cluster=0xFFF1_FC06 Command=0x0000_0000
158
+ CHIP:ZCL: FaultInjection: Configure a fault of type: 3 and Id: 13 to be triggered deterministically <--------- Verify success with this message.
159
+ disabled : true
160
+
161
+ - label :
162
+ " Step 0 (Pre-Condition 5): TH Client send `FailAtFault` command to
163
+ `FaultInjection` cluster to TH device (Server)."
164
+ cluster : " FaultInjection"
165
+ command : " FailAtFault"
166
+ arguments :
167
+ values :
168
+ - name : " Type"
169
+ value : 3
170
+ - name : " Id"
171
+ value : 14
172
+ - name : " NumCallsToSkip"
173
+ value : 1
174
+ - name : " NumCallsToFail"
175
+ value : 1
176
+ - name : " TakeMutex"
177
+ value : false
178
+ verification : |
179
+ Equivalent TH Client command to run `chip-tool faultinjection fail-at-fault 3 14 1 1 false 1 0`
180
+ On TH(all-clusters-app), Verify command is successfully:
181
+
182
+ CHIP:DMG: InvokeRequestMessage =
183
+ CHIP:DMG: {
184
+ CHIP:DMG: suppressResponse = false,
185
+ CHIP:DMG: timedRequest = false,
186
+ CHIP:DMG: InvokeRequests =
187
+ CHIP:DMG: [
188
+ CHIP:DMG: CommandDataIB =
189
+ CHIP:DMG: {
190
+ CHIP:DMG: CommandPathIB =
191
+ CHIP:DMG: {
192
+ CHIP:DMG: EndpointId = 0x0,
193
+ CHIP:DMG: ClusterId = 0xfff1fc06,
194
+ CHIP:DMG: CommandId = 0x0,
195
+ CHIP:DMG: },
196
+ CHIP:DMG:
197
+ CHIP:DMG: CommandFields =
198
+ CHIP:DMG: {
199
+ CHIP:DMG: 0x0 = 3,
200
+ CHIP:DMG: 0x1 = 14,
201
+ CHIP:DMG: 0x2 = 1,
202
+ CHIP:DMG: 0x3 = 1,
203
+ CHIP:DMG: 0x4 = false,
204
+ CHIP:DMG: },
205
+ CHIP:DMG: },
206
+ CHIP:DMG:
207
+ CHIP:DMG: ],
208
+ CHIP:DMG:
209
+ CHIP:DMG: InteractionModelRevision = 11
210
+ CHIP:DMG: },
211
+ CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0xFFF1_FC06 e=0 p=m
212
+ CHIP:DMG: AccessControl: allowed
213
+ CHIP:DMG: Received command for Endpoint=0 Cluster=0xFFF1_FC06 Command=0x0000_0000
214
+ CHIP:ZCL: FaultInjection: Configure a fault of type: 3 and Id: 14 to be triggered deterministically <--------- Verify success with this message.
215
+ disabled : true
216
+
34
217
- label : " Step 1: DUT sends the Invoke Request Message to the TH. The
35
218
Message should contain two valid and unique paths in the
36
219
CommandDataIBs, which has the specific Endpoints, specific Clusters
@@ -110,7 +293,10 @@ tests:
110
293
111
294
`await devCtrl.SendBatchCommands(0x12344321, [chip.clusters.Command.InvokeRequestInfo(1, chip.clusters.OnOff.Commands.Toggle()), chip.clusters.Command.InvokeRequestInfo(2, chip.clusters.OnOff.Commands.Toggle())])`
112
295
113
- Verify DUT doesn't crash by seeing next step execute.
296
+ * Verify DUT doesn't crash by seeing next step execute.
297
+ * On TH(all-clusters-app), Verify following logs are seen:
298
+ CHIP:DMG: Response to InvokeRequestMessage overridden by fault injection
299
+ CHIP:DMG: Injecting the following response:Each response will be sent in a separate InvokeResponseMessage. The order of responses will be the same as the original request.
114
300
disabled : true
115
301
116
302
- label : " Step 3: DUT sends the Invoke Request Message to the TH. The
@@ -130,7 +316,10 @@ tests:
130
316
131
317
`await devCtrl.SendBatchCommands(0x12344321, [chip.clusters.Command.InvokeRequestInfo(1, chip.clusters.OnOff.Commands.Toggle()), chip.clusters.Command.InvokeRequestInfo(2, chip.clusters.OnOff.Commands.Toggle())])`
132
318
133
- Verify DUT doesn't crash by seeing next step execute.
319
+ * Verify DUT doesn't crash by seeing next step execute.
320
+ * On TH(all-clusters-app), Verify following logs are seen:
321
+ CHIP:DMG: Response to InvokeRequestMessage overridden by fault injection
322
+ CHIP:DMG: Injecting the following response:Each response will be sent in a separate InvokeResponseMessage. The order of responses will be reversed from the original request.
134
323
disabled : true
135
324
136
325
- label : " Step 4: DUT sends the Invoke Request Message to the TH. The
@@ -150,7 +339,10 @@ tests:
150
339
151
340
`await devCtrl.SendBatchCommands(0x12344321, [chip.clusters.Command.InvokeRequestInfo(1, chip.clusters.OnOff.Commands.Toggle()), chip.clusters.Command.InvokeRequestInfo(2, chip.clusters.OnOff.Commands.Toggle())])`
152
341
153
- Verify DUT doesn't crash by seeing next step execute.
342
+ * Verify DUT doesn't crash by seeing next step execute.
343
+ * On TH(all-clusters-app), Verify following logs are seen:
344
+ CHIP:DMG: Response to InvokeRequestMessage overridden by fault injection
345
+ CHIP:DMG: Injecting the following response:Single InvokeResponseMessages. Dropping response to second request
154
346
disabled : true
155
347
156
348
- label : " Step 5: DUT sends the Invoke Request Message to the TH. The
0 commit comments