| {{#chip_tests tests}} |
| class {{filename}}Suite: public TestCommand |
| { |
| public: |
| {{#if ../credsIssuerConfigArg}} |
| {{filename}}Suite(CredentialIssuerCommands * credsIssuerConfig): TestCommand("{{filename}}", {{totalTests}}, credsIssuerConfig) |
| {{else}} |
| {{filename}}Suite(): TestCommand("{{filename}}", {{totalTests}}) |
| {{/if}} |
| { |
| {{#chip_tests_config}} |
| {{#if (isString type)}} |
| AddArgument("{{name}}", &m{{asUpperCamelCase name}}); |
| {{else}} |
| AddArgument("{{name}}",{{as_type_min_value type language='c++'}}, {{as_type_max_value type language='c++'}}, &m{{asUpperCamelCase name}}); |
| {{/if}} |
| {{/chip_tests_config}} |
| } |
| |
| ~{{filename}}Suite() |
| { |
| {{>teardownSaveAs}} |
| } |
| |
| {{#if ../needsWaitDuration}} |
| chip::System::Clock::Timeout GetWaitDuration() const override { return chip::System::Clock::Seconds16(mTimeout.ValueOr({{chip_tests_config_get_default_value "timeout"}})); } |
| {{/if}} |
| |
| private: |
| {{#chip_tests_config}} |
| chip::Optional<{{chipType}}> m{{asUpperCamelCase name}}; |
| {{/chip_tests_config}} |
| |
| {{>setupSaveAs}} |
| |
| chip::EndpointId GetEndpoint(chip::EndpointId endpoint) |
| { |
| {{#if (chip_tests_config_has "endpoint")}} |
| return mEndpoint.HasValue() ? mEndpoint.Value() : endpoint; |
| {{else}} |
| return endpoint; |
| {{/if}} |
| } |
| |
| // |
| // Tests methods |
| // |
| |
| void OnResponse(const chip::app::StatusIB & status, chip::TLV::TLVReader * data) override |
| { |
| bool shouldContinue = false; |
| |
| switch (mTestIndex - 1) |
| { |
| {{#chip_tests_items}} |
| {{#unless isWait}} |
| case {{index}}: |
| {{>test_step_response}} |
| break; |
| {{/unless}} |
| {{/chip_tests_items}} |
| default: |
| LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); |
| } |
| |
| if (shouldContinue) |
| { |
| ContinueOnChipMainThread(CHIP_NO_ERROR); |
| } |
| } |
| |
| CHIP_ERROR DoTestStep(uint16_t testIndex) override |
| { |
| using namespace chip::app::Clusters; |
| switch (testIndex) |
| { |
| {{#chip_tests_items}} |
| case {{index}}: { |
| {{>test_step}} |
| } |
| {{/chip_tests_items}} |
| } |
| return CHIP_NO_ERROR; |
| } |
| }; |
| |
| {{/chip_tests}} |