| <?xml version="1.0"?> |
| <!-- |
| Copyright (c) 2022 Project CHIP Authors |
| |
| Licensed under the Apache License, Version 2.0 (the "License"); |
| you may not use this file except in compliance with the License. |
| You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| --> |
| <configurator> |
| <domain name="CHIP"/> |
| <enum name="FaultType" type="ENUM8"> |
| <cluster code="0xFFF1FC06"/> |
| <item name="Unspecified" value="0x00"/> |
| <item name="SystemFault" value="0x01"/> |
| <item name="InetFault" value="0x02"/> |
| <item name="ChipFault" value="0x03"/> |
| <item name="CertFault" value="0x04"/> |
| </enum> |
| <cluster> |
| <domain>CHIP</domain> |
| <name>Fault Injection</name> |
| <code>0xFFF1FC06</code> |
| <define>FAULT_INJECTION_CLUSTER</define> |
| <description>The Fault Injection Cluster provide a means for a test harness to configure faults(for example triggering a fault in the system).</description> |
| <command source="client" code="0x00" name="FailAtFault" optional="false"> |
| <description>Configure a fault to be triggered deterministically</description> |
| <arg name="Type" type="FaultType"/> |
| <arg name="Id" type="INT32U"/> |
| <arg name="NumCallsToSkip" type="INT32U"/> |
| <arg name="NumCallsToFail" type="INT32U"/> |
| <arg name="TakeMutex" type="BOOLEAN"/> |
| <access op="invoke" role="manage"/> |
| </command> |
| <command source="client" code="0x01" name="FailRandomlyAtFault" optional="false"> |
| <description>Configure a fault to be triggered randomly, with a given probability defined as a percentage</description> |
| <arg name="Type" type="FaultType"/> |
| <arg name="Id" type="INT32U"/> |
| <arg name="Percentage" type="INT8U"/> |
| <access op="invoke" role="manage"/> |
| </command> |
| </cluster> |
| </configurator> |