From 24012409c8e635050eb0938bbdbb6a5a88fb5258 Mon Sep 17 00:00:00 2001 From: Vivien Nicolas Date: Fri, 14 Jan 2022 12:23:20 +0100 Subject: [PATCH] [YAML] Add 'saveAs' support for CHAR_STRING and OCTET_STRING (#13541) --- .../templates/partials/test_cluster.zapt | 28 + .../partials/test_cluster_command_value.zapt | 9 +- .../partials/test_cluster_value_equals.zapt | 3 +- src/app/tests/suites/TestSaveAs.yaml | 122 +++ .../common/ClusterTestGeneration.js | 57 +- src/darwin/Framework/CHIP/templates/helper.js | 6 +- .../templates/partials/check_test_value.zapt | 8 +- .../CHIP/templates/partials/test_cluster.zapt | 12 +- .../CHIP/templates/partials/test_value.zapt | 6 + .../Framework/CHIPTests/CHIPClustersTests.m | 388 ++++++++ .../chip-tool/zap-generated/test/Commands.h | 858 +++++++++++++++++- .../app1/zap-generated/test/Commands.h | 2 + .../app2/zap-generated/test/Commands.h | 2 + 13 files changed, 1475 insertions(+), 26 deletions(-) diff --git a/examples/chip-tool/templates/partials/test_cluster.zapt b/examples/chip-tool/templates/partials/test_cluster.zapt index f666c463e2ee4f..c8bfeaa1e72242 100644 --- a/examples/chip-tool/templates/partials/test_cluster.zapt +++ b/examples/chip-tool/templates/partials/test_cluster.zapt @@ -13,6 +13,23 @@ class {{filename}}: public TestCommand {{/chip_tests_config}} } + ~{{filename}}() + { + {{#chip_tests_items}} + {{#chip_tests_item_response_parameters}} + {{#if saveAs}} + {{#if (isString type)}} + if ({{saveAs}}Buffer != nullptr) + { + chip::Platform::MemoryFree({{saveAs}}Buffer); + {{saveAs}}Buffer = nullptr; + } + {{/if}} + {{/if}} + {{/chip_tests_item_response_parameters}} + {{/chip_tests_items}} + } + /////////// TestCommand Interface ///////// void NextTest() override { @@ -75,6 +92,7 @@ class {{filename}}: public TestCommand {{#chip_tests_items}} {{#chip_tests_item_response_parameters}} {{#if saveAs}} + {{~#if (isString type)}}{{#if (isOctetString type)}}uint8_t{{else}}char{{/if}} * {{saveAs}}Buffer = nullptr;{{/if~}} {{chipType}} {{saveAs}}; {{/if}} {{/chip_tests_item_response_parameters}} @@ -357,8 +375,18 @@ class {{filename}}: public TestCommand {{/if}} {{#if saveAs}} + {{#if (isString type)}} + if ({{saveAs}}Buffer != nullptr) + { + chip::Platform::MemoryFree({{saveAs}}Buffer); + } + {{saveAs}}Buffer = static_cast<{{#if (isOctetString type)}}uint8_t{{else}}char{{/if}} *>(chip::Platform::MemoryAlloc({{>item}}.size())); + memcpy({{saveAs}}Buffer, {{>item}}.data(), {{>item}}.size()); + {{saveAs}} = {{chipType}}({{saveAs}}Buffer, {{>item}}.size()); + {{else}} {{saveAs}} = {{>item}}; {{/if}} + {{/if}} {{/chip_tests_item_response_parameters}} {{#unless async}}NextTest();{{/unless}} {{/if}} diff --git a/examples/chip-tool/templates/partials/test_cluster_command_value.zapt b/examples/chip-tool/templates/partials/test_cluster_command_value.zapt index 53c59106296911..5cbf0d57c3915c 100644 --- a/examples/chip-tool/templates/partials/test_cluster_command_value.zapt +++ b/examples/chip-tool/templates/partials/test_cluster_command_value.zapt @@ -35,7 +35,10 @@ {{else}} {{container}} = - {{#if_chip_enum type}} + {{~#if (chip_tests_variables_has definedValue)~}} + {{definedValue}}; + {{else~}} + {{~#if_chip_enum type~}} static_cast<{{zapTypeToEncodableClusterObjectType type ns=ns}}>({{definedValue}}); {{else if (isCharString type)}} chip::Span("{{definedValue}}garbage: not in length on purpose", {{utf8StringLength definedValue}}); @@ -49,6 +52,8 @@ {{else}} {{asTypedLiteral definedValue type}}; {{/if_is_bitmap}} - {{/if_chip_enum}} + {{/if_chip_enum~}} + {{~/if~}} + {{/if_is_struct}} {{/if}} diff --git a/examples/chip-tool/templates/partials/test_cluster_value_equals.zapt b/examples/chip-tool/templates/partials/test_cluster_value_equals.zapt index a50b9be89adca2..179e3cda27a993 100644 --- a/examples/chip-tool/templates/partials/test_cluster_value_equals.zapt +++ b/examples/chip-tool/templates/partials/test_cluster_value_equals.zapt @@ -37,7 +37,8 @@ than "global") that are not present in the struct ? }} {{else}} VerifyOrReturn(CheckValue{{#if (isString type)}}AsString{{/if}}("{{label}}", {{actual}}, - {{~#if (isOctetString type)}}chip::ByteSpan(chip::Uint8::from_const_char("{{octetStringEscapedForCLiteral expected}}"), {{expected.length}}) + {{~#if (chip_tests_variables_has expected)}}{{expected}} + {{else if (isOctetString type)}}chip::ByteSpan(chip::Uint8::from_const_char("{{octetStringEscapedForCLiteral expected}}"), {{expected.length}}) {{else if (isCharString type)}}chip::CharSpan("{{expected}}", {{utf8StringLength expected}}) {{else if (chip_tests_config_has expected)}}m{{asUpperCamelCase expected}}.HasValue() ? m{{asUpperCamelCase expected}}.Value() : {{asTypedLiteral (chip_tests_config_get_default_value expected) (chip_tests_config_get_type expected)}} {{else}}{{asTypedLiteral expected type}} diff --git a/src/app/tests/suites/TestSaveAs.yaml b/src/app/tests/suites/TestSaveAs.yaml index 1ba2e3559ddc0f..e67cadbe3065b0 100644 --- a/src/app/tests/suites/TestSaveAs.yaml +++ b/src/app/tests/suites/TestSaveAs.yaml @@ -675,3 +675,125 @@ tests: attribute: "vendor_id" response: value: readAttributeVendorIdDefaultValue + + # Tests for CHAR_STRING + + - label: "Read attribute char_string Default Value" + command: "readAttribute" + attribute: "char_string" + response: + saveAs: readAttributeCharStringDefaultValue + value: "" + + - label: + "Read attribute char_string Default Value and compare to saved value" + command: "readAttribute" + attribute: "char_string" + response: + value: readAttributeCharStringDefaultValue + + - label: "Write attribute char_string Not Default Value" + command: "writeAttribute" + attribute: "char_string" + arguments: + value: "NotDefault" + + - label: "Read attribute char_string Not Default Value" + command: "readAttribute" + attribute: "char_string" + response: + saveAs: readAttributeCharStringNotDefaultValue + value: "NotDefault" + constraints: + notValue: readAttributeCharStringDefaultValue + + - label: + "Read attribute char_string Not Default Value and compare to saved + value" + command: "readAttribute" + attribute: "char_string" + response: + value: readAttributeCharStringNotDefaultValue + constraints: + notValue: readAttributeCharStringDefaultValue + + - label: "Write attribute char_string Not Default Value from saved value" + command: "writeAttribute" + attribute: "char_string" + arguments: + value: readAttributeCharStringNotDefaultValue + + - label: + "Read attribute char_string Not Default Value and compare to expected + value" + command: "readAttribute" + attribute: "char_string" + response: + value: "NotDefault" + + - label: "Write attribute char_string Default Value" + command: "writeAttribute" + attribute: "char_string" + arguments: + value: readAttributeCharStringDefaultValue + + # Tests for OCTET_STRING + + - label: "Read attribute octet_string Default Value" + command: "readAttribute" + attribute: "octet_string" + response: + saveAs: readAttributeOctetStringDefaultValue + value: "" + + - label: + "Read attribute octet_string Default Value and compare to saved value" + command: "readAttribute" + attribute: "octet_string" + response: + value: readAttributeOctetStringDefaultValue + + - label: "Write attribute octet_string Not Default Value" + command: "writeAttribute" + attribute: "octet_string" + arguments: + value: "NotDefault" + + - label: "Read attribute octet_string Not Default Value" + command: "readAttribute" + attribute: "octet_string" + response: + saveAs: readAttributeOctetStringNotDefaultValue + value: "NotDefault" + constraints: + notValue: readAttributeOctetStringDefaultValue + + - label: + "Read attribute octet_string Not Default Value and compare to saved + value" + command: "readAttribute" + attribute: "octet_string" + response: + value: readAttributeOctetStringNotDefaultValue + constraints: + notValue: readAttributeOctetStringDefaultValue + + - label: "Write attribute octet_string Not Default Value from saved value" + command: "writeAttribute" + attribute: "octet_string" + arguments: + value: readAttributeOctetStringNotDefaultValue + + - label: + "Read attribute octet_string Not Default Value and compare to expected + value" + command: "readAttribute" + attribute: "octet_string" + response: + value: "NotDefault" + + - label: "Write attribute octet_string Default Value" + command: "writeAttribute" + attribute: "octet_string" + arguments: + value: readAttributeOctetStringDefaultValue diff --git a/src/app/zap-templates/common/ClusterTestGeneration.js b/src/app/zap-templates/common/ClusterTestGeneration.js index 19a669a9e8ae8d..936611a8c71acc 100644 --- a/src/app/zap-templates/common/ClusterTestGeneration.js +++ b/src/app/zap-templates/common/ClusterTestGeneration.js @@ -288,14 +288,19 @@ function setDefaultResponse(test) throwError(test, errorStr); } - const name = test.isAttribute ? test.attribute : test.event; + const name = test.isAttribute ? test.attribute : test.event; + const response = test[kResponseName]; if (hasResponseValue) { - test[kResponseName].values.push({ name : name, value : test[kResponseName].value, saveAs : test[kResponseName].saveAs }); + const value = { name, value : response.value, saveAs : response.saveAs }; + response.values.push(value); } if (hasResponseConstraints) { - test[kResponseName].values.push( - { name : name, constraints : test[kResponseName].constraints, saveAs : test[kResponseName].saveAs }); + let constraints = { name : name, constraints : response.constraints }; + if ('saveAs' in response && !hasResponseValue) { + constraints.saveAs = response.saveAs; + } + response.values.push(constraints); } delete test[kResponseName].value; @@ -503,12 +508,7 @@ function chip_tests_items(options) return templateUtil.collectBlocks(this.tests, options, this); } -function chip_tests_config(options) -{ - return templateUtil.collectBlocks(this.variables.config, options, this); -} - -function getConfigVariable(context, name) +function getVariable(context, key, name) { while (!('variables' in context) && context.parent) { context = context.parent; @@ -518,33 +518,55 @@ function getConfigVariable(context, name) return null; } - return context.variables.config.find(variable => variable.name == name); + return context.variables[key].find(variable => variable.name == name); } -function getConfigVariableOrThrow(context, name) +function getVariableOrThrow(context, key, name) { - const variable = getConfigVariable(context, name); + const variable = getVariable(context, key, name); if (variable == null) { throw new Error(`Variable ${name} can not be found`); } return variable; } +function chip_tests_variables(options) +{ + return templateUtil.collectBlocks(this.variables.tests, options, this); +} + +function chip_tests_variables_has(name, options) +{ + const variable = getVariable(this, 'tests', name); + return !!variable; +} + +function chip_tests_variables_get_type(name, options) +{ + const variable = getVariableOrThrow(this, 'tests', name); + return variable.type; +} + +function chip_tests_config(options) +{ + return templateUtil.collectBlocks(this.variables.config, options, this); +} + function chip_tests_config_has(name, options) { - const variable = getConfigVariable(this, name); + const variable = getVariable(this, 'config', name); return !!variable; } function chip_tests_config_get_default_value(name, options) { - const variable = getConfigVariableOrThrow(this, name); + const variable = getVariableOrThrow(this, 'config', name); return variable.defaultValue; } function chip_tests_config_get_type(name, options) { - const variable = getConfigVariableOrThrow(this, name); + const variable = getVariableOrThrow(this, 'config', name); return variable.type; } @@ -717,6 +739,9 @@ exports.chip_tests_config = chip_tests_config; exports.chip_tests_config_has = chip_tests_config_has; exports.chip_tests_config_get_default_value = chip_tests_config_get_default_value; exports.chip_tests_config_get_type = chip_tests_config_get_type; +exports.chip_tests_variables = chip_tests_variables; +exports.chip_tests_variables_has = chip_tests_variables_has; +exports.chip_tests_variables_get_type = chip_tests_variables_get_type; exports.isTestOnlyCluster = isTestOnlyCluster; exports.isLiteralNull = isLiteralNull; exports.octetStringEscapedForCLiteral = octetStringEscapedForCLiteral; diff --git a/src/darwin/Framework/CHIP/templates/helper.js b/src/darwin/Framework/CHIP/templates/helper.js index 7aa0599390bf77..d79ab45d90d4c6 100644 --- a/src/darwin/Framework/CHIP/templates/helper.js +++ b/src/darwin/Framework/CHIP/templates/helper.js @@ -66,12 +66,12 @@ function asTestValue() } } -function asObjectiveCBasicType(type) +function asObjectiveCBasicType(type, options) { if (StringHelper.isOctetString(type)) { - return 'NSData *'; + return options.hash.is_mutable ? 'NSMutableData *' : 'NSData *'; } else if (StringHelper.isCharString(type)) { - return 'NSString *'; + return options.hash.is_mutable ? 'NSMutableString *' : 'NSString *'; } else { return ChipTypesHelper.asBasicType(this.chipType); } diff --git a/src/darwin/Framework/CHIP/templates/partials/check_test_value.zapt b/src/darwin/Framework/CHIP/templates/partials/check_test_value.zapt index 4da8e480ea8f40..7ef670c1723cc4 100644 --- a/src/darwin/Framework/CHIP/templates/partials/check_test_value.zapt +++ b/src/darwin/Framework/CHIP/templates/partials/check_test_value.zapt @@ -27,7 +27,13 @@ {{! Maybe we should add a check for properties in the expected object (other than "global") that are not present in the struct ? }} {{else}} - {{#if (isOctetString type)}} + {{#if (chip_tests_variables_has expected)}} + {{#if (isString type)}} + XCTAssertEqualObjects({{actual}}, {{expected}}); + {{else}} + XCTAssertEqual([{{actual}} {{asObjectiveCNumberType "" type true}}Value], {{expected}}); + {{/if}} + {{else if (isOctetString type)}} XCTAssertTrue([{{actual}} isEqualToData:[[NSData alloc] initWithBytes:"{{octetStringEscapedForCLiteral expected}}" length:{{expected.length}}]]); {{else if (isCharString type)}} XCTAssertTrue([{{actual}} isEqualToString:@"{{expected}}"]); diff --git a/src/darwin/Framework/CHIP/templates/partials/test_cluster.zapt b/src/darwin/Framework/CHIP/templates/partials/test_cluster.zapt index 2dc923a4739c32..a302c592fc4ac6 100644 --- a/src/darwin/Framework/CHIP/templates/partials/test_cluster.zapt +++ b/src/darwin/Framework/CHIP/templates/partials/test_cluster.zapt @@ -5,7 +5,7 @@ bool testSendCluster{{parent.filename}}_{{asTestIndex index}}_{{asUpperCamelCase {{/if}} {{#chip_tests_item_response_parameters}} {{#if saveAs}} -{{asBasicType chipType}} {{saveAs}}; +{{asObjectiveCBasicType type is_mutable=true}} {{saveAs}}; {{/if}} {{/chip_tests_item_response_parameters}} @@ -103,8 +103,14 @@ ResponseHandler {{> subscribeDataCallback}} = nil; {{> actualValue}} {{>check_test_value actual="actualValue" expected=expectedValue cluster=../cluster}} {{#if saveAs}} + {{#if (isOctetString type)}} + {{saveAs}} = [NSMutableData dataWithData:actualValue]; + {{else if (isCharString type)}} + {{saveAs}} = [NSMutableString stringWithString:actualValue]; + {{else}} {{saveAs}} = [actualValue {{asObjectiveCNumberType "" type true}}Value]; {{/if}} + {{/if}} } {{/if}} {{#if hasExpectedConstraints}} @@ -177,7 +183,11 @@ ResponseHandler {{> subscribeDataCallback}} = nil; XCTAssertFalse(actualValue == nil); {{else}} if (actualValue != nil) { + {{#if (isString type)}} + XCTAssertNotEqualObjects(actualValue, {{expectedConstraints.notValue}}); + {{else}} XCTAssertNotEqual([actualValue {{asObjectiveCNumberType "" type true}}Value], {{asTypedLiteral expectedConstraints.notValue type}}); + {{/if}} } {{/if}} } diff --git a/src/darwin/Framework/CHIP/templates/partials/test_value.zapt b/src/darwin/Framework/CHIP/templates/partials/test_value.zapt index 74488126dd1876..2e022ced5e50f8 100644 --- a/src/darwin/Framework/CHIP/templates/partials/test_value.zapt +++ b/src/darwin/Framework/CHIP/templates/partials/test_value.zapt @@ -27,6 +27,12 @@ {{/if_include_struct_item_value}} {{/zcl_struct_items_by_struct_name}} + {{else if (chip_tests_variables_has definedValue)}} + {{#if (isString type)}} + {{target}} = [{{definedValue}} copy]; + {{else}} + {{target}} = [NSNumber numberWith{{asObjectiveCNumberType definedValue type false}}:{{definedValue}}]; + {{/if}} {{else if (isCharString type)}} {{target}} = @"{{definedValue}}"; {{else if (isOctetString type)}} diff --git a/src/darwin/Framework/CHIPTests/CHIPClustersTests.m b/src/darwin/Framework/CHIPTests/CHIPClustersTests.m index d99f9a8b777c87..463a561546abcd 100644 --- a/src/darwin/Framework/CHIPTests/CHIPClustersTests.m +++ b/src/darwin/Framework/CHIPTests/CHIPClustersTests.m @@ -38339,6 +38339,394 @@ - (void)testSendClusterTestSaveAs_000093_ReadAttribute [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; } +NSMutableString * readAttributeCharStringDefaultValue; +- (void)testSendClusterTestSaveAs_000094_ReadAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Read attribute char_string Default Value"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestTestCluster * cluster = [[CHIPTestTestCluster alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributeCharStringWithCompletionHandler:^(NSString * _Nullable value, NSError * _Nullable err) { + NSLog(@"Read attribute char_string Default Value Error: %@", err); + + XCTAssertEqual([CHIPErrorTestUtils errorToZCLErrorCode:err], 0); + + { + id actualValue = value; + XCTAssertTrue([actualValue isEqualToString:@""]); + readAttributeCharStringDefaultValue = [NSMutableString stringWithString:actualValue]; + } + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTestSaveAs_000095_ReadAttribute +{ + XCTestExpectation * expectation = + [self expectationWithDescription:@"Read attribute char_string Default Value and compare to saved value"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestTestCluster * cluster = [[CHIPTestTestCluster alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributeCharStringWithCompletionHandler:^(NSString * _Nullable value, NSError * _Nullable err) { + NSLog(@"Read attribute char_string Default Value and compare to saved value Error: %@", err); + + XCTAssertEqual([CHIPErrorTestUtils errorToZCLErrorCode:err], 0); + + { + id actualValue = value; + XCTAssertEqualObjects(actualValue, readAttributeCharStringDefaultValue); + } + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTestSaveAs_000096_WriteAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Write attribute char_string Not Default Value"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestTestCluster * cluster = [[CHIPTestTestCluster alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + id charStringArgument; + charStringArgument = @"NotDefault"; + [cluster writeAttributeCharStringWithValue:charStringArgument + completionHandler:^(NSError * _Nullable err) { + NSLog(@"Write attribute char_string Not Default Value Error: %@", err); + + XCTAssertEqual([CHIPErrorTestUtils errorToZCLErrorCode:err], 0); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +NSMutableString * readAttributeCharStringNotDefaultValue; +- (void)testSendClusterTestSaveAs_000097_ReadAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Read attribute char_string Not Default Value"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestTestCluster * cluster = [[CHIPTestTestCluster alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributeCharStringWithCompletionHandler:^(NSString * _Nullable value, NSError * _Nullable err) { + NSLog(@"Read attribute char_string Not Default Value Error: %@", err); + + XCTAssertEqual([CHIPErrorTestUtils errorToZCLErrorCode:err], 0); + + { + id actualValue = value; + XCTAssertTrue([actualValue isEqualToString:@"NotDefault"]); + readAttributeCharStringNotDefaultValue = [NSMutableString stringWithString:actualValue]; + } + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTestSaveAs_000098_ReadAttribute +{ + XCTestExpectation * expectation = + [self expectationWithDescription:@"Read attribute char_string Not Default Value and compare to saved value"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestTestCluster * cluster = [[CHIPTestTestCluster alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributeCharStringWithCompletionHandler:^(NSString * _Nullable value, NSError * _Nullable err) { + NSLog(@"Read attribute char_string Not Default Value and compare to saved value Error: %@", err); + + XCTAssertEqual([CHIPErrorTestUtils errorToZCLErrorCode:err], 0); + + { + id actualValue = value; + XCTAssertEqualObjects(actualValue, readAttributeCharStringNotDefaultValue); + } + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTestSaveAs_000099_WriteAttribute +{ + XCTestExpectation * expectation = + [self expectationWithDescription:@"Write attribute char_string Not Default Value from saved value"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestTestCluster * cluster = [[CHIPTestTestCluster alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + id charStringArgument; + charStringArgument = [readAttributeCharStringNotDefaultValue copy]; + [cluster writeAttributeCharStringWithValue:charStringArgument + completionHandler:^(NSError * _Nullable err) { + NSLog(@"Write attribute char_string Not Default Value from saved value Error: %@", err); + + XCTAssertEqual([CHIPErrorTestUtils errorToZCLErrorCode:err], 0); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTestSaveAs_000100_ReadAttribute +{ + XCTestExpectation * expectation = + [self expectationWithDescription:@"Read attribute char_string Not Default Value and compare to expected value"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestTestCluster * cluster = [[CHIPTestTestCluster alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributeCharStringWithCompletionHandler:^(NSString * _Nullable value, NSError * _Nullable err) { + NSLog(@"Read attribute char_string Not Default Value and compare to expected value Error: %@", err); + + XCTAssertEqual([CHIPErrorTestUtils errorToZCLErrorCode:err], 0); + + { + id actualValue = value; + XCTAssertTrue([actualValue isEqualToString:@"NotDefault"]); + } + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTestSaveAs_000101_WriteAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Write attribute char_string Default Value"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestTestCluster * cluster = [[CHIPTestTestCluster alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + id charStringArgument; + charStringArgument = [readAttributeCharStringDefaultValue copy]; + [cluster writeAttributeCharStringWithValue:charStringArgument + completionHandler:^(NSError * _Nullable err) { + NSLog(@"Write attribute char_string Default Value Error: %@", err); + + XCTAssertEqual([CHIPErrorTestUtils errorToZCLErrorCode:err], 0); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +NSMutableData * readAttributeOctetStringDefaultValue; +- (void)testSendClusterTestSaveAs_000102_ReadAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Read attribute octet_string Default Value"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestTestCluster * cluster = [[CHIPTestTestCluster alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributeOctetStringWithCompletionHandler:^(NSData * _Nullable value, NSError * _Nullable err) { + NSLog(@"Read attribute octet_string Default Value Error: %@", err); + + XCTAssertEqual([CHIPErrorTestUtils errorToZCLErrorCode:err], 0); + + { + id actualValue = value; + XCTAssertTrue([actualValue isEqualToData:[[NSData alloc] initWithBytes:"" length:0]]); + readAttributeOctetStringDefaultValue = [NSMutableData dataWithData:actualValue]; + } + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTestSaveAs_000103_ReadAttribute +{ + XCTestExpectation * expectation = + [self expectationWithDescription:@"Read attribute octet_string Default Value and compare to saved value"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestTestCluster * cluster = [[CHIPTestTestCluster alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributeOctetStringWithCompletionHandler:^(NSData * _Nullable value, NSError * _Nullable err) { + NSLog(@"Read attribute octet_string Default Value and compare to saved value Error: %@", err); + + XCTAssertEqual([CHIPErrorTestUtils errorToZCLErrorCode:err], 0); + + { + id actualValue = value; + XCTAssertEqualObjects(actualValue, readAttributeOctetStringDefaultValue); + } + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTestSaveAs_000104_WriteAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Write attribute octet_string Not Default Value"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestTestCluster * cluster = [[CHIPTestTestCluster alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + id octetStringArgument; + octetStringArgument = [[NSData alloc] initWithBytes:"NotDefault" length:10]; + [cluster writeAttributeOctetStringWithValue:octetStringArgument + completionHandler:^(NSError * _Nullable err) { + NSLog(@"Write attribute octet_string Not Default Value Error: %@", err); + + XCTAssertEqual([CHIPErrorTestUtils errorToZCLErrorCode:err], 0); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +NSMutableData * readAttributeOctetStringNotDefaultValue; +- (void)testSendClusterTestSaveAs_000105_ReadAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Read attribute octet_string Not Default Value"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestTestCluster * cluster = [[CHIPTestTestCluster alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributeOctetStringWithCompletionHandler:^(NSData * _Nullable value, NSError * _Nullable err) { + NSLog(@"Read attribute octet_string Not Default Value Error: %@", err); + + XCTAssertEqual([CHIPErrorTestUtils errorToZCLErrorCode:err], 0); + + { + id actualValue = value; + XCTAssertTrue([actualValue isEqualToData:[[NSData alloc] initWithBytes:"NotDefault" length:10]]); + readAttributeOctetStringNotDefaultValue = [NSMutableData dataWithData:actualValue]; + } + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTestSaveAs_000106_ReadAttribute +{ + XCTestExpectation * expectation = + [self expectationWithDescription:@"Read attribute octet_string Not Default Value and compare to saved value"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestTestCluster * cluster = [[CHIPTestTestCluster alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributeOctetStringWithCompletionHandler:^(NSData * _Nullable value, NSError * _Nullable err) { + NSLog(@"Read attribute octet_string Not Default Value and compare to saved value Error: %@", err); + + XCTAssertEqual([CHIPErrorTestUtils errorToZCLErrorCode:err], 0); + + { + id actualValue = value; + XCTAssertEqualObjects(actualValue, readAttributeOctetStringNotDefaultValue); + } + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTestSaveAs_000107_WriteAttribute +{ + XCTestExpectation * expectation = + [self expectationWithDescription:@"Write attribute octet_string Not Default Value from saved value"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestTestCluster * cluster = [[CHIPTestTestCluster alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + id octetStringArgument; + octetStringArgument = [readAttributeOctetStringNotDefaultValue copy]; + [cluster writeAttributeOctetStringWithValue:octetStringArgument + completionHandler:^(NSError * _Nullable err) { + NSLog(@"Write attribute octet_string Not Default Value from saved value Error: %@", err); + + XCTAssertEqual([CHIPErrorTestUtils errorToZCLErrorCode:err], 0); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTestSaveAs_000108_ReadAttribute +{ + XCTestExpectation * expectation = + [self expectationWithDescription:@"Read attribute octet_string Not Default Value and compare to expected value"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestTestCluster * cluster = [[CHIPTestTestCluster alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributeOctetStringWithCompletionHandler:^(NSData * _Nullable value, NSError * _Nullable err) { + NSLog(@"Read attribute octet_string Not Default Value and compare to expected value Error: %@", err); + + XCTAssertEqual([CHIPErrorTestUtils errorToZCLErrorCode:err], 0); + + { + id actualValue = value; + XCTAssertTrue([actualValue isEqualToData:[[NSData alloc] initWithBytes:"NotDefault" length:10]]); + } + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTestSaveAs_000109_WriteAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Write attribute octet_string Default Value"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestTestCluster * cluster = [[CHIPTestTestCluster alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + id octetStringArgument; + octetStringArgument = [readAttributeOctetStringDefaultValue copy]; + [cluster writeAttributeOctetStringWithValue:octetStringArgument + completionHandler:^(NSError * _Nullable err) { + NSLog(@"Write attribute octet_string Default Value Error: %@", err); + + XCTAssertEqual([CHIPErrorTestUtils errorToZCLErrorCode:err], 0); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} - (void)testSendClusterTestConstraints_000000_WaitForCommissionee { diff --git a/zzz_generated/chip-tool/zap-generated/test/Commands.h b/zzz_generated/chip-tool/zap-generated/test/Commands.h index 3e9075940d9a02..34f2af8e8da1f1 100644 --- a/zzz_generated/chip-tool/zap-generated/test/Commands.h +++ b/zzz_generated/chip-tool/zap-generated/test/Commands.h @@ -183,6 +183,8 @@ class Test_TC_BI_1_1 : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~Test_TC_BI_1_1() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -383,6 +385,8 @@ class Test_TC_BI_2_1 : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~Test_TC_BI_2_1() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -813,6 +817,8 @@ class Test_TC_BI_2_2 : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~Test_TC_BI_2_2() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -1190,6 +1196,8 @@ class Test_TC_BOOL_1_1 : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~Test_TC_BOOL_1_1() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -1390,6 +1398,8 @@ class Test_TC_BOOL_2_1 : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~Test_TC_BOOL_2_1() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -1590,6 +1600,8 @@ class Test_TC_CC_1_1 : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~Test_TC_CC_1_1() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -1722,6 +1734,8 @@ class Test_TC_CC_2_1 : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~Test_TC_CC_2_1() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -7067,6 +7081,8 @@ class Test_TC_CC_3_1 : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~Test_TC_CC_3_1() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -7382,6 +7398,8 @@ class Test_TC_CC_3_2 : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~Test_TC_CC_3_2() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -7693,6 +7711,8 @@ class Test_TC_CC_3_3 : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~Test_TC_CC_3_3() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -7944,6 +7964,8 @@ class Test_TC_CC_4_1 : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~Test_TC_CC_4_1() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -8162,6 +8184,8 @@ class Test_TC_CC_4_2 : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~Test_TC_CC_4_2() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -8535,6 +8559,8 @@ class Test_TC_CC_4_3 : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~Test_TC_CC_4_3() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -8786,6 +8812,8 @@ class Test_TC_CC_4_4 : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~Test_TC_CC_4_4() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -9005,6 +9033,8 @@ class Test_TC_CC_5_1 : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~Test_TC_CC_5_1() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -9224,6 +9254,8 @@ class Test_TC_CC_5_2 : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~Test_TC_CC_5_2() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -9471,6 +9503,8 @@ class Test_TC_CC_5_3 : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~Test_TC_CC_5_3() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -9690,6 +9724,8 @@ class Test_TC_CC_6_1 : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~Test_TC_CC_6_1() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -9908,6 +9944,8 @@ class Test_TC_CC_6_2 : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~Test_TC_CC_6_2() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -10194,6 +10232,8 @@ class Test_TC_CC_6_3 : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~Test_TC_CC_6_3() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -10449,6 +10489,8 @@ class Test_TC_CC_7_1 : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~Test_TC_CC_7_1() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -10703,6 +10745,8 @@ class Test_TC_CC_7_2 : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~Test_TC_CC_7_2() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -11014,6 +11058,8 @@ class Test_TC_CC_7_3 : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~Test_TC_CC_7_3() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -11265,6 +11311,8 @@ class Test_TC_CC_7_4 : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~Test_TC_CC_7_4() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -11484,6 +11532,8 @@ class Test_TC_CC_8_1 : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~Test_TC_CC_8_1() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -12080,6 +12130,8 @@ class Test_TC_CC_9_1 : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~Test_TC_CC_9_1() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -13490,6 +13542,8 @@ class Test_TC_CC_9_2 : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~Test_TC_CC_9_2() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -14073,6 +14127,8 @@ class Test_TC_CC_9_3 : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~Test_TC_CC_9_3() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -14656,6 +14712,8 @@ class Test_TC_DD_1_5 : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~Test_TC_DD_1_5() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -14722,6 +14780,8 @@ class Test_TC_DD_1_6 : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~Test_TC_DD_1_6() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -14809,6 +14869,8 @@ class Test_TC_DD_1_7 : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~Test_TC_DD_1_7() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -14885,6 +14947,8 @@ class Test_TC_DD_1_8 : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~Test_TC_DD_1_8() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -14960,6 +15024,8 @@ class Test_TC_DD_1_9 : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~Test_TC_DD_1_9() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -15046,6 +15112,8 @@ class Test_TC_DM_1_1 : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~Test_TC_DM_1_1() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -15791,6 +15859,8 @@ class Test_TC_DM_3_1 : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~Test_TC_DM_3_1() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -15856,6 +15926,8 @@ class Test_TC_DM_2_2 : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~Test_TC_DM_2_2() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -16069,6 +16141,8 @@ class Test_TC_EMR_1_1 : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~Test_TC_EMR_1_1() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -16273,6 +16347,8 @@ class Test_TC_FLW_1_1 : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~Test_TC_FLW_1_1() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -16405,6 +16481,8 @@ class Test_TC_FLW_2_1 : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~Test_TC_FLW_2_1() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -16912,6 +16990,8 @@ class Test_TC_FLW_2_2 : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~Test_TC_FLW_2_2() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -17043,6 +17123,8 @@ class Test_TC_ILL_1_1 : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~Test_TC_ILL_1_1() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -17247,6 +17329,8 @@ class Test_TC_LVL_1_1 : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~Test_TC_LVL_1_1() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -17379,6 +17463,8 @@ class Test_TC_LVL_2_1 : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~Test_TC_LVL_2_1() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -17948,6 +18034,8 @@ class Test_TC_LVL_2_2 : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~Test_TC_LVL_2_2() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -18531,6 +18619,8 @@ class Test_TC_LVL_3_1 : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~Test_TC_LVL_3_1() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -18998,6 +19088,8 @@ class Test_TC_LVL_4_1 : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~Test_TC_LVL_4_1() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -19496,6 +19588,8 @@ class Test_TC_LVL_5_1 : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~Test_TC_LVL_5_1() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -19884,6 +19978,8 @@ class Test_TC_LVL_6_1 : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~Test_TC_LVL_6_1() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -20223,6 +20319,8 @@ class Test_TC_MC_1_1 : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~Test_TC_MC_1_1() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -20355,6 +20453,8 @@ class Test_TC_MC_2_1 : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~Test_TC_MC_2_1() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -20447,6 +20547,8 @@ class Test_TC_MC_3_1 : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~Test_TC_MC_3_1() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -20512,6 +20614,8 @@ class Test_TC_MC_3_2 : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~Test_TC_MC_3_2() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -20577,6 +20681,8 @@ class Test_TC_MC_3_3 : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~Test_TC_MC_3_3() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -20642,6 +20748,8 @@ class Test_TC_MC_3_4 : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~Test_TC_MC_3_4() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -20707,6 +20815,8 @@ class Test_TC_MC_3_5 : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~Test_TC_MC_3_5() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -20772,6 +20882,8 @@ class Test_TC_MC_3_6 : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~Test_TC_MC_3_6() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -20837,6 +20949,8 @@ class Test_TC_MC_3_7 : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~Test_TC_MC_3_7() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -20902,6 +21016,8 @@ class Test_TC_MC_3_8 : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~Test_TC_MC_3_8() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -20967,6 +21083,8 @@ class Test_TC_MC_3_9 : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~Test_TC_MC_3_9() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -21032,6 +21150,8 @@ class Test_TC_MC_3_10 : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~Test_TC_MC_3_10() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -21097,6 +21217,8 @@ class Test_TC_MC_3_11 : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~Test_TC_MC_3_11() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -21162,6 +21284,8 @@ class Test_TC_MC_5_1 : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~Test_TC_MC_5_1() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -21263,6 +21387,8 @@ class Test_TC_MC_5_2 : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~Test_TC_MC_5_2() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -21338,6 +21464,8 @@ class Test_TC_MC_5_3 : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~Test_TC_MC_5_3() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -21413,6 +21541,8 @@ class Test_TC_MC_6_1 : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~Test_TC_MC_6_1() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -21552,6 +21682,8 @@ class Test_TC_MC_6_2 : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~Test_TC_MC_6_2() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -21721,6 +21853,8 @@ class Test_TC_MC_6_3 : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~Test_TC_MC_6_3() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -21816,6 +21950,8 @@ class Test_TC_MC_6_4 : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~Test_TC_MC_6_4() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -22043,6 +22179,8 @@ class Test_TC_MC_7_1 : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~Test_TC_MC_7_1() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -22108,6 +22246,8 @@ class Test_TC_MC_7_2 : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~Test_TC_MC_7_2() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -22173,6 +22313,8 @@ class Test_TC_MC_8_1 : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~Test_TC_MC_8_1() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -22313,6 +22455,8 @@ class Test_TC_MC_9_1 : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~Test_TC_MC_9_1() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -22590,6 +22734,8 @@ class Test_TC_OCC_1_1 : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~Test_TC_OCC_1_1() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -22756,6 +22902,8 @@ class Test_TC_OCC_2_1 : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~Test_TC_OCC_2_1() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -23137,6 +23285,8 @@ class Test_TC_OCC_2_2 : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~Test_TC_OCC_2_2() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -23278,6 +23428,8 @@ class Test_TC_OO_1_1 : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~Test_TC_OO_1_1() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -23622,6 +23774,8 @@ class Test_TC_OO_2_1 : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~Test_TC_OO_2_1() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -24180,6 +24334,8 @@ class Test_TC_OO_2_2 : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~Test_TC_OO_2_2() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -24672,6 +24828,8 @@ class Test_TC_OO_2_3 : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~Test_TC_OO_2_3() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -26374,6 +26532,8 @@ class Test_TC_PRS_1_1 : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~Test_TC_PRS_1_1() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -26507,6 +26667,8 @@ class Test_TC_PRS_2_1 : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~Test_TC_PRS_2_1() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -26878,6 +27040,8 @@ class Test_TC_PCC_1_1 : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~Test_TC_PCC_1_1() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -27046,6 +27210,8 @@ class Test_TC_PCC_2_1 : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~Test_TC_PCC_2_1() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -28890,6 +29056,8 @@ class Test_TC_PCC_2_2 : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~Test_TC_PCC_2_2() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -29060,6 +29228,8 @@ class Test_TC_PCC_2_3 : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~Test_TC_PCC_2_3() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -29450,6 +29620,8 @@ class Test_TC_RH_1_1 : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~Test_TC_RH_1_1() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -29584,6 +29756,8 @@ class Test_TC_RH_2_1 : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~Test_TC_RH_2_1() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -29796,6 +29970,8 @@ class Test_TC_RH_2_2 : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~Test_TC_RH_2_2() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -29939,6 +30115,8 @@ class Test_TC_TM_1_1 : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~Test_TC_TM_1_1() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -30143,6 +30321,8 @@ class Test_TC_TM_2_1 : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~Test_TC_TM_2_1() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -30280,6 +30460,8 @@ class Test_TC_TM_2_2 : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~Test_TC_TM_2_2() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -30423,6 +30605,8 @@ class Test_TC_TSTAT_1_1 : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~Test_TC_TSTAT_1_1() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -30588,6 +30772,8 @@ class Test_TC_TSTAT_2_1 : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~Test_TC_TSTAT_2_1() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -32729,6 +32915,8 @@ class Test_TC_TSTAT_2_2 : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~Test_TC_TSTAT_2_2() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -34600,6 +34788,8 @@ class Test_TC_TSUIC_1_1 : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~Test_TC_TSUIC_1_1() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -34735,6 +34925,8 @@ class Test_TC_TSUIC_2_1 : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~Test_TC_TSUIC_2_1() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -35314,6 +35506,8 @@ class Test_TC_TSUIC_2_2 : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~Test_TC_TSUIC_2_2() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -35735,6 +35929,8 @@ class Test_TC_DIAGTH_1_1 : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~Test_TC_DIAGTH_1_1() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -35939,6 +36135,8 @@ class Test_TC_WNCV_1_1 : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~Test_TC_WNCV_1_1() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -36212,6 +36410,8 @@ class Test_TC_WNCV_2_1 : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~Test_TC_WNCV_2_1() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -38217,6 +38417,8 @@ class Test_TC_WNCV_2_2 : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~Test_TC_WNCV_2_2() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -38282,6 +38484,8 @@ class Test_TC_WNCV_2_4 : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~Test_TC_WNCV_2_4() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -38426,6 +38630,8 @@ class Test_TC_WNCV_2_5 : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~Test_TC_WNCV_2_5() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -38570,6 +38776,8 @@ class Test_TC_WNCV_3_1 : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~Test_TC_WNCV_3_1() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -38723,6 +38931,8 @@ class Test_TC_WNCV_3_2 : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~Test_TC_WNCV_3_2() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -38876,6 +39086,8 @@ class Test_TC_WNCV_3_3 : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~Test_TC_WNCV_3_3() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -39029,6 +39241,8 @@ class TV_TargetNavigatorCluster : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~TV_TargetNavigatorCluster() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -39215,6 +39429,8 @@ class TV_AudioOutputCluster : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~TV_AudioOutputCluster() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -39428,6 +39644,8 @@ class TV_ApplicationLauncherCluster : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~TV_ApplicationLauncherCluster() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -39647,6 +39865,8 @@ class TV_KeypadInputCluster : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~TV_KeypadInputCluster() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -39745,6 +39965,8 @@ class TV_AccountLoginCluster : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~TV_AccountLoginCluster() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -39902,6 +40124,8 @@ class TV_WakeOnLanCluster : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~TV_WakeOnLanCluster() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -40001,6 +40225,8 @@ class TV_ApplicationBasicCluster : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~TV_ApplicationBasicCluster() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -40270,6 +40496,8 @@ class TV_MediaPlaybackCluster : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~TV_MediaPlaybackCluster() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -40894,6 +41122,8 @@ class TV_ChannelCluster : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~TV_ChannelCluster() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -41113,6 +41343,8 @@ class TV_LowPowerCluster : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~TV_LowPowerCluster() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -41205,6 +41437,8 @@ class TV_ContentLauncherCluster : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~TV_ContentLauncherCluster() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -41458,6 +41692,8 @@ class TV_MediaInputCluster : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~TV_MediaInputCluster() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -41722,6 +41958,8 @@ class TestCluster : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~TestCluster() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -57939,6 +58177,8 @@ class TestClusterComplexTypes : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~TestClusterComplexTypes() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -58688,6 +58928,8 @@ class TestConstraints : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~TestConstraints() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -59417,6 +59659,8 @@ class TestDelayCommands : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~TestDelayCommands() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -59492,6 +59736,8 @@ class TestLogCommands : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~TestLogCommands() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -59577,6 +59823,30 @@ class TestSaveAs : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~TestSaveAs() + { + if (readAttributeCharStringDefaultValueBuffer != nullptr) + { + chip::Platform::MemoryFree(readAttributeCharStringDefaultValueBuffer); + readAttributeCharStringDefaultValueBuffer = nullptr; + } + if (readAttributeCharStringNotDefaultValueBuffer != nullptr) + { + chip::Platform::MemoryFree(readAttributeCharStringNotDefaultValueBuffer); + readAttributeCharStringNotDefaultValueBuffer = nullptr; + } + if (readAttributeOctetStringDefaultValueBuffer != nullptr) + { + chip::Platform::MemoryFree(readAttributeOctetStringDefaultValueBuffer); + readAttributeOctetStringDefaultValueBuffer = nullptr; + } + if (readAttributeOctetStringNotDefaultValueBuffer != nullptr) + { + chip::Platform::MemoryFree(readAttributeOctetStringNotDefaultValueBuffer); + readAttributeOctetStringNotDefaultValueBuffer = nullptr; + } + } + /////////// TestCommand Interface ///////// void NextTest() override { @@ -59978,6 +60248,76 @@ class TestSaveAs : public TestCommand ChipLogProgress(chipTool, " ***** Test Step 93 : Read attribute vendor_id Default Value\n"); err = TestReadAttributeVendorIdDefaultValue_93(); break; + case 94: + ChipLogProgress(chipTool, " ***** Test Step 94 : Read attribute char_string Default Value\n"); + err = TestReadAttributeCharStringDefaultValue_94(); + break; + case 95: + ChipLogProgress(chipTool, + " ***** Test Step 95 : Read attribute char_string Default Value and compare to saved value\n"); + err = TestReadAttributeCharStringDefaultValueAndCompareToSavedValue_95(); + break; + case 96: + ChipLogProgress(chipTool, " ***** Test Step 96 : Write attribute char_string Not Default Value\n"); + err = TestWriteAttributeCharStringNotDefaultValue_96(); + break; + case 97: + ChipLogProgress(chipTool, " ***** Test Step 97 : Read attribute char_string Not Default Value\n"); + err = TestReadAttributeCharStringNotDefaultValue_97(); + break; + case 98: + ChipLogProgress(chipTool, + " ***** Test Step 98 : Read attribute char_string Not Default Value and compare to saved value\n"); + err = TestReadAttributeCharStringNotDefaultValueAndCompareToSavedValue_98(); + break; + case 99: + ChipLogProgress(chipTool, " ***** Test Step 99 : Write attribute char_string Not Default Value from saved value\n"); + err = TestWriteAttributeCharStringNotDefaultValueFromSavedValue_99(); + break; + case 100: + ChipLogProgress(chipTool, + " ***** Test Step 100 : Read attribute char_string Not Default Value and compare to expected value\n"); + err = TestReadAttributeCharStringNotDefaultValueAndCompareToExpectedValue_100(); + break; + case 101: + ChipLogProgress(chipTool, " ***** Test Step 101 : Write attribute char_string Default Value\n"); + err = TestWriteAttributeCharStringDefaultValue_101(); + break; + case 102: + ChipLogProgress(chipTool, " ***** Test Step 102 : Read attribute octet_string Default Value\n"); + err = TestReadAttributeOctetStringDefaultValue_102(); + break; + case 103: + ChipLogProgress(chipTool, + " ***** Test Step 103 : Read attribute octet_string Default Value and compare to saved value\n"); + err = TestReadAttributeOctetStringDefaultValueAndCompareToSavedValue_103(); + break; + case 104: + ChipLogProgress(chipTool, " ***** Test Step 104 : Write attribute octet_string Not Default Value\n"); + err = TestWriteAttributeOctetStringNotDefaultValue_104(); + break; + case 105: + ChipLogProgress(chipTool, " ***** Test Step 105 : Read attribute octet_string Not Default Value\n"); + err = TestReadAttributeOctetStringNotDefaultValue_105(); + break; + case 106: + ChipLogProgress(chipTool, + " ***** Test Step 106 : Read attribute octet_string Not Default Value and compare to saved value\n"); + err = TestReadAttributeOctetStringNotDefaultValueAndCompareToSavedValue_106(); + break; + case 107: + ChipLogProgress(chipTool, " ***** Test Step 107 : Write attribute octet_string Not Default Value from saved value\n"); + err = TestWriteAttributeOctetStringNotDefaultValueFromSavedValue_107(); + break; + case 108: + ChipLogProgress(chipTool, + " ***** Test Step 108 : Read attribute octet_string Not Default Value and compare to expected value\n"); + err = TestReadAttributeOctetStringNotDefaultValueAndCompareToExpectedValue_108(); + break; + case 109: + ChipLogProgress(chipTool, " ***** Test Step 109 : Write attribute octet_string Default Value\n"); + err = TestWriteAttributeOctetStringDefaultValue_109(); + break; } if (CHIP_NO_ERROR != err) @@ -59989,7 +60329,7 @@ class TestSaveAs : public TestCommand private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 94; + const uint16_t mTestCount = 110; chip::Optional mCluster; chip::Optional mEndpoint; @@ -60013,6 +60353,14 @@ class TestSaveAs : public TestCommand uint64_t readAttributeEpochUSDefaultValue; uint32_t readAttributeEpochSDefaultValue; chip::VendorId readAttributeVendorIdDefaultValue; + char * readAttributeCharStringDefaultValueBuffer = nullptr; + chip::CharSpan readAttributeCharStringDefaultValue; + char * readAttributeCharStringNotDefaultValueBuffer = nullptr; + chip::CharSpan readAttributeCharStringNotDefaultValue; + uint8_t * readAttributeOctetStringDefaultValueBuffer = nullptr; + chip::ByteSpan readAttributeOctetStringDefaultValue; + uint8_t * readAttributeOctetStringNotDefaultValueBuffer = nullptr; + chip::ByteSpan readAttributeOctetStringNotDefaultValue; static void OnFailureCallback_4(void * context, EmberAfStatus status) { @@ -60806,6 +61154,148 @@ class TestSaveAs : public TestCommand (static_cast(context))->OnSuccessResponse_93(vendorId); } + static void OnFailureCallback_94(void * context, EmberAfStatus status) + { + (static_cast(context))->OnFailureResponse_94(status); + } + + static void OnSuccessCallback_94(void * context, chip::CharSpan charString) + { + (static_cast(context))->OnSuccessResponse_94(charString); + } + + static void OnFailureCallback_95(void * context, EmberAfStatus status) + { + (static_cast(context))->OnFailureResponse_95(status); + } + + static void OnSuccessCallback_95(void * context, chip::CharSpan charString) + { + (static_cast(context))->OnSuccessResponse_95(charString); + } + + static void OnFailureCallback_96(void * context, EmberAfStatus status) + { + (static_cast(context))->OnFailureResponse_96(status); + } + + static void OnSuccessCallback_96(void * context) { (static_cast(context))->OnSuccessResponse_96(); } + + static void OnFailureCallback_97(void * context, EmberAfStatus status) + { + (static_cast(context))->OnFailureResponse_97(status); + } + + static void OnSuccessCallback_97(void * context, chip::CharSpan charString) + { + (static_cast(context))->OnSuccessResponse_97(charString); + } + + static void OnFailureCallback_98(void * context, EmberAfStatus status) + { + (static_cast(context))->OnFailureResponse_98(status); + } + + static void OnSuccessCallback_98(void * context, chip::CharSpan charString) + { + (static_cast(context))->OnSuccessResponse_98(charString); + } + + static void OnFailureCallback_99(void * context, EmberAfStatus status) + { + (static_cast(context))->OnFailureResponse_99(status); + } + + static void OnSuccessCallback_99(void * context) { (static_cast(context))->OnSuccessResponse_99(); } + + static void OnFailureCallback_100(void * context, EmberAfStatus status) + { + (static_cast(context))->OnFailureResponse_100(status); + } + + static void OnSuccessCallback_100(void * context, chip::CharSpan charString) + { + (static_cast(context))->OnSuccessResponse_100(charString); + } + + static void OnFailureCallback_101(void * context, EmberAfStatus status) + { + (static_cast(context))->OnFailureResponse_101(status); + } + + static void OnSuccessCallback_101(void * context) { (static_cast(context))->OnSuccessResponse_101(); } + + static void OnFailureCallback_102(void * context, EmberAfStatus status) + { + (static_cast(context))->OnFailureResponse_102(status); + } + + static void OnSuccessCallback_102(void * context, chip::ByteSpan octetString) + { + (static_cast(context))->OnSuccessResponse_102(octetString); + } + + static void OnFailureCallback_103(void * context, EmberAfStatus status) + { + (static_cast(context))->OnFailureResponse_103(status); + } + + static void OnSuccessCallback_103(void * context, chip::ByteSpan octetString) + { + (static_cast(context))->OnSuccessResponse_103(octetString); + } + + static void OnFailureCallback_104(void * context, EmberAfStatus status) + { + (static_cast(context))->OnFailureResponse_104(status); + } + + static void OnSuccessCallback_104(void * context) { (static_cast(context))->OnSuccessResponse_104(); } + + static void OnFailureCallback_105(void * context, EmberAfStatus status) + { + (static_cast(context))->OnFailureResponse_105(status); + } + + static void OnSuccessCallback_105(void * context, chip::ByteSpan octetString) + { + (static_cast(context))->OnSuccessResponse_105(octetString); + } + + static void OnFailureCallback_106(void * context, EmberAfStatus status) + { + (static_cast(context))->OnFailureResponse_106(status); + } + + static void OnSuccessCallback_106(void * context, chip::ByteSpan octetString) + { + (static_cast(context))->OnSuccessResponse_106(octetString); + } + + static void OnFailureCallback_107(void * context, EmberAfStatus status) + { + (static_cast(context))->OnFailureResponse_107(status); + } + + static void OnSuccessCallback_107(void * context) { (static_cast(context))->OnSuccessResponse_107(); } + + static void OnFailureCallback_108(void * context, EmberAfStatus status) + { + (static_cast(context))->OnFailureResponse_108(status); + } + + static void OnSuccessCallback_108(void * context, chip::ByteSpan octetString) + { + (static_cast(context))->OnSuccessResponse_108(octetString); + } + + static void OnFailureCallback_109(void * context, EmberAfStatus status) + { + (static_cast(context))->OnFailureResponse_109(status); + } + + static void OnSuccessCallback_109(void * context) { (static_cast(context))->OnSuccessResponse_109(); } + // // Tests methods // @@ -62622,7 +63112,7 @@ class TestSaveAs : public TestCommand cluster.Associate(mDevices[kIdentityAlpha], endpoint); chip::VendorId vendorIdArgument; - vendorIdArgument = static_cast(readAttributeVendorIdDefaultValue); + vendorIdArgument = readAttributeVendorIdDefaultValue; ReturnErrorOnFailure(cluster.WriteAttribute( vendorIdArgument, this, OnSuccessCallback_92, OnFailureCallback_92)); @@ -62652,6 +63142,344 @@ class TestSaveAs : public TestCommand NextTest(); } + + CHIP_ERROR TestReadAttributeCharStringDefaultValue_94() + { + const chip::EndpointId endpoint = mEndpoint.HasValue() ? mEndpoint.Value() : 1; + chip::Controller::TestClusterClusterTest cluster; + cluster.Associate(mDevices[kIdentityAlpha], endpoint); + + ReturnErrorOnFailure(cluster.ReadAttribute( + this, OnSuccessCallback_94, OnFailureCallback_94)); + return CHIP_NO_ERROR; + } + + void OnFailureResponse_94(EmberAfStatus status) { ThrowFailureResponse(); } + + void OnSuccessResponse_94(chip::CharSpan charString) + { + VerifyOrReturn(CheckValueAsString("charString", charString, chip::CharSpan("", 0))); + + if (readAttributeCharStringDefaultValueBuffer != nullptr) + { + chip::Platform::MemoryFree(readAttributeCharStringDefaultValueBuffer); + } + readAttributeCharStringDefaultValueBuffer = static_cast(chip::Platform::MemoryAlloc(charString.size())); + memcpy(readAttributeCharStringDefaultValueBuffer, charString.data(), charString.size()); + readAttributeCharStringDefaultValue = chip::CharSpan(readAttributeCharStringDefaultValueBuffer, charString.size()); + NextTest(); + } + + CHIP_ERROR TestReadAttributeCharStringDefaultValueAndCompareToSavedValue_95() + { + const chip::EndpointId endpoint = mEndpoint.HasValue() ? mEndpoint.Value() : 1; + chip::Controller::TestClusterClusterTest cluster; + cluster.Associate(mDevices[kIdentityAlpha], endpoint); + + ReturnErrorOnFailure(cluster.ReadAttribute( + this, OnSuccessCallback_95, OnFailureCallback_95)); + return CHIP_NO_ERROR; + } + + void OnFailureResponse_95(EmberAfStatus status) { ThrowFailureResponse(); } + + void OnSuccessResponse_95(chip::CharSpan charString) + { + VerifyOrReturn(CheckValueAsString("charString", charString, readAttributeCharStringDefaultValue)); + + NextTest(); + } + + CHIP_ERROR TestWriteAttributeCharStringNotDefaultValue_96() + { + const chip::EndpointId endpoint = mEndpoint.HasValue() ? mEndpoint.Value() : 1; + chip::Controller::TestClusterClusterTest cluster; + cluster.Associate(mDevices[kIdentityAlpha], endpoint); + + chip::CharSpan charStringArgument; + charStringArgument = chip::Span("NotDefaultgarbage: not in length on purpose", 10); + + ReturnErrorOnFailure(cluster.WriteAttribute( + charStringArgument, this, OnSuccessCallback_96, OnFailureCallback_96)); + return CHIP_NO_ERROR; + } + + void OnFailureResponse_96(EmberAfStatus status) { ThrowFailureResponse(); } + + void OnSuccessResponse_96() { NextTest(); } + + CHIP_ERROR TestReadAttributeCharStringNotDefaultValue_97() + { + const chip::EndpointId endpoint = mEndpoint.HasValue() ? mEndpoint.Value() : 1; + chip::Controller::TestClusterClusterTest cluster; + cluster.Associate(mDevices[kIdentityAlpha], endpoint); + + ReturnErrorOnFailure(cluster.ReadAttribute( + this, OnSuccessCallback_97, OnFailureCallback_97)); + return CHIP_NO_ERROR; + } + + void OnFailureResponse_97(EmberAfStatus status) { ThrowFailureResponse(); } + + void OnSuccessResponse_97(chip::CharSpan charString) + { + VerifyOrReturn(CheckValueAsString("charString", charString, chip::CharSpan("NotDefault", 10))); + + if (readAttributeCharStringNotDefaultValueBuffer != nullptr) + { + chip::Platform::MemoryFree(readAttributeCharStringNotDefaultValueBuffer); + } + readAttributeCharStringNotDefaultValueBuffer = static_cast(chip::Platform::MemoryAlloc(charString.size())); + memcpy(readAttributeCharStringNotDefaultValueBuffer, charString.data(), charString.size()); + readAttributeCharStringNotDefaultValue = chip::CharSpan(readAttributeCharStringNotDefaultValueBuffer, charString.size()); + NextTest(); + } + + CHIP_ERROR TestReadAttributeCharStringNotDefaultValueAndCompareToSavedValue_98() + { + const chip::EndpointId endpoint = mEndpoint.HasValue() ? mEndpoint.Value() : 1; + chip::Controller::TestClusterClusterTest cluster; + cluster.Associate(mDevices[kIdentityAlpha], endpoint); + + ReturnErrorOnFailure(cluster.ReadAttribute( + this, OnSuccessCallback_98, OnFailureCallback_98)); + return CHIP_NO_ERROR; + } + + void OnFailureResponse_98(EmberAfStatus status) { ThrowFailureResponse(); } + + void OnSuccessResponse_98(chip::CharSpan charString) + { + VerifyOrReturn(CheckValueAsString("charString", charString, readAttributeCharStringNotDefaultValue)); + + NextTest(); + } + + CHIP_ERROR TestWriteAttributeCharStringNotDefaultValueFromSavedValue_99() + { + const chip::EndpointId endpoint = mEndpoint.HasValue() ? mEndpoint.Value() : 1; + chip::Controller::TestClusterClusterTest cluster; + cluster.Associate(mDevices[kIdentityAlpha], endpoint); + + chip::CharSpan charStringArgument; + charStringArgument = readAttributeCharStringNotDefaultValue; + + ReturnErrorOnFailure(cluster.WriteAttribute( + charStringArgument, this, OnSuccessCallback_99, OnFailureCallback_99)); + return CHIP_NO_ERROR; + } + + void OnFailureResponse_99(EmberAfStatus status) { ThrowFailureResponse(); } + + void OnSuccessResponse_99() { NextTest(); } + + CHIP_ERROR TestReadAttributeCharStringNotDefaultValueAndCompareToExpectedValue_100() + { + const chip::EndpointId endpoint = mEndpoint.HasValue() ? mEndpoint.Value() : 1; + chip::Controller::TestClusterClusterTest cluster; + cluster.Associate(mDevices[kIdentityAlpha], endpoint); + + ReturnErrorOnFailure(cluster.ReadAttribute( + this, OnSuccessCallback_100, OnFailureCallback_100)); + return CHIP_NO_ERROR; + } + + void OnFailureResponse_100(EmberAfStatus status) { ThrowFailureResponse(); } + + void OnSuccessResponse_100(chip::CharSpan charString) + { + VerifyOrReturn(CheckValueAsString("charString", charString, chip::CharSpan("NotDefault", 10))); + + NextTest(); + } + + CHIP_ERROR TestWriteAttributeCharStringDefaultValue_101() + { + const chip::EndpointId endpoint = mEndpoint.HasValue() ? mEndpoint.Value() : 1; + chip::Controller::TestClusterClusterTest cluster; + cluster.Associate(mDevices[kIdentityAlpha], endpoint); + + chip::CharSpan charStringArgument; + charStringArgument = readAttributeCharStringDefaultValue; + + ReturnErrorOnFailure(cluster.WriteAttribute( + charStringArgument, this, OnSuccessCallback_101, OnFailureCallback_101)); + return CHIP_NO_ERROR; + } + + void OnFailureResponse_101(EmberAfStatus status) { ThrowFailureResponse(); } + + void OnSuccessResponse_101() { NextTest(); } + + CHIP_ERROR TestReadAttributeOctetStringDefaultValue_102() + { + const chip::EndpointId endpoint = mEndpoint.HasValue() ? mEndpoint.Value() : 1; + chip::Controller::TestClusterClusterTest cluster; + cluster.Associate(mDevices[kIdentityAlpha], endpoint); + + ReturnErrorOnFailure(cluster.ReadAttribute( + this, OnSuccessCallback_102, OnFailureCallback_102)); + return CHIP_NO_ERROR; + } + + void OnFailureResponse_102(EmberAfStatus status) { ThrowFailureResponse(); } + + void OnSuccessResponse_102(chip::ByteSpan octetString) + { + VerifyOrReturn(CheckValueAsString("octetString", octetString, chip::ByteSpan(chip::Uint8::from_const_char(""), 0))); + + if (readAttributeOctetStringDefaultValueBuffer != nullptr) + { + chip::Platform::MemoryFree(readAttributeOctetStringDefaultValueBuffer); + } + readAttributeOctetStringDefaultValueBuffer = static_cast(chip::Platform::MemoryAlloc(octetString.size())); + memcpy(readAttributeOctetStringDefaultValueBuffer, octetString.data(), octetString.size()); + readAttributeOctetStringDefaultValue = chip::ByteSpan(readAttributeOctetStringDefaultValueBuffer, octetString.size()); + NextTest(); + } + + CHIP_ERROR TestReadAttributeOctetStringDefaultValueAndCompareToSavedValue_103() + { + const chip::EndpointId endpoint = mEndpoint.HasValue() ? mEndpoint.Value() : 1; + chip::Controller::TestClusterClusterTest cluster; + cluster.Associate(mDevices[kIdentityAlpha], endpoint); + + ReturnErrorOnFailure(cluster.ReadAttribute( + this, OnSuccessCallback_103, OnFailureCallback_103)); + return CHIP_NO_ERROR; + } + + void OnFailureResponse_103(EmberAfStatus status) { ThrowFailureResponse(); } + + void OnSuccessResponse_103(chip::ByteSpan octetString) + { + VerifyOrReturn(CheckValueAsString("octetString", octetString, readAttributeOctetStringDefaultValue)); + + NextTest(); + } + + CHIP_ERROR TestWriteAttributeOctetStringNotDefaultValue_104() + { + const chip::EndpointId endpoint = mEndpoint.HasValue() ? mEndpoint.Value() : 1; + chip::Controller::TestClusterClusterTest cluster; + cluster.Associate(mDevices[kIdentityAlpha], endpoint); + + chip::ByteSpan octetStringArgument; + octetStringArgument = chip::ByteSpan(chip::Uint8::from_const_char("NotDefaultgarbage: not in length on purpose"), 10); + + ReturnErrorOnFailure(cluster.WriteAttribute( + octetStringArgument, this, OnSuccessCallback_104, OnFailureCallback_104)); + return CHIP_NO_ERROR; + } + + void OnFailureResponse_104(EmberAfStatus status) { ThrowFailureResponse(); } + + void OnSuccessResponse_104() { NextTest(); } + + CHIP_ERROR TestReadAttributeOctetStringNotDefaultValue_105() + { + const chip::EndpointId endpoint = mEndpoint.HasValue() ? mEndpoint.Value() : 1; + chip::Controller::TestClusterClusterTest cluster; + cluster.Associate(mDevices[kIdentityAlpha], endpoint); + + ReturnErrorOnFailure(cluster.ReadAttribute( + this, OnSuccessCallback_105, OnFailureCallback_105)); + return CHIP_NO_ERROR; + } + + void OnFailureResponse_105(EmberAfStatus status) { ThrowFailureResponse(); } + + void OnSuccessResponse_105(chip::ByteSpan octetString) + { + VerifyOrReturn( + CheckValueAsString("octetString", octetString, chip::ByteSpan(chip::Uint8::from_const_char("NotDefault"), 10))); + + if (readAttributeOctetStringNotDefaultValueBuffer != nullptr) + { + chip::Platform::MemoryFree(readAttributeOctetStringNotDefaultValueBuffer); + } + readAttributeOctetStringNotDefaultValueBuffer = static_cast(chip::Platform::MemoryAlloc(octetString.size())); + memcpy(readAttributeOctetStringNotDefaultValueBuffer, octetString.data(), octetString.size()); + readAttributeOctetStringNotDefaultValue = chip::ByteSpan(readAttributeOctetStringNotDefaultValueBuffer, octetString.size()); + NextTest(); + } + + CHIP_ERROR TestReadAttributeOctetStringNotDefaultValueAndCompareToSavedValue_106() + { + const chip::EndpointId endpoint = mEndpoint.HasValue() ? mEndpoint.Value() : 1; + chip::Controller::TestClusterClusterTest cluster; + cluster.Associate(mDevices[kIdentityAlpha], endpoint); + + ReturnErrorOnFailure(cluster.ReadAttribute( + this, OnSuccessCallback_106, OnFailureCallback_106)); + return CHIP_NO_ERROR; + } + + void OnFailureResponse_106(EmberAfStatus status) { ThrowFailureResponse(); } + + void OnSuccessResponse_106(chip::ByteSpan octetString) + { + VerifyOrReturn(CheckValueAsString("octetString", octetString, readAttributeOctetStringNotDefaultValue)); + + NextTest(); + } + + CHIP_ERROR TestWriteAttributeOctetStringNotDefaultValueFromSavedValue_107() + { + const chip::EndpointId endpoint = mEndpoint.HasValue() ? mEndpoint.Value() : 1; + chip::Controller::TestClusterClusterTest cluster; + cluster.Associate(mDevices[kIdentityAlpha], endpoint); + + chip::ByteSpan octetStringArgument; + octetStringArgument = readAttributeOctetStringNotDefaultValue; + + ReturnErrorOnFailure(cluster.WriteAttribute( + octetStringArgument, this, OnSuccessCallback_107, OnFailureCallback_107)); + return CHIP_NO_ERROR; + } + + void OnFailureResponse_107(EmberAfStatus status) { ThrowFailureResponse(); } + + void OnSuccessResponse_107() { NextTest(); } + + CHIP_ERROR TestReadAttributeOctetStringNotDefaultValueAndCompareToExpectedValue_108() + { + const chip::EndpointId endpoint = mEndpoint.HasValue() ? mEndpoint.Value() : 1; + chip::Controller::TestClusterClusterTest cluster; + cluster.Associate(mDevices[kIdentityAlpha], endpoint); + + ReturnErrorOnFailure(cluster.ReadAttribute( + this, OnSuccessCallback_108, OnFailureCallback_108)); + return CHIP_NO_ERROR; + } + + void OnFailureResponse_108(EmberAfStatus status) { ThrowFailureResponse(); } + + void OnSuccessResponse_108(chip::ByteSpan octetString) + { + VerifyOrReturn( + CheckValueAsString("octetString", octetString, chip::ByteSpan(chip::Uint8::from_const_char("NotDefault"), 10))); + + NextTest(); + } + + CHIP_ERROR TestWriteAttributeOctetStringDefaultValue_109() + { + const chip::EndpointId endpoint = mEndpoint.HasValue() ? mEndpoint.Value() : 1; + chip::Controller::TestClusterClusterTest cluster; + cluster.Associate(mDevices[kIdentityAlpha], endpoint); + + chip::ByteSpan octetStringArgument; + octetStringArgument = readAttributeOctetStringDefaultValue; + + ReturnErrorOnFailure(cluster.WriteAttribute( + octetStringArgument, this, OnSuccessCallback_109, OnFailureCallback_109)); + return CHIP_NO_ERROR; + } + + void OnFailureResponse_109(EmberAfStatus status) { ThrowFailureResponse(); } + + void OnSuccessResponse_109() { NextTest(); } }; class TestConfigVariables : public TestCommand @@ -62665,6 +63493,8 @@ class TestConfigVariables : public TestCommand AddArgument("returnValueWithArg1", 0, UINT8_MAX, &mReturnValueWithArg1); } + ~TestConfigVariables() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -62803,6 +63633,8 @@ class TestDescriptorCluster : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~TestDescriptorCluster() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -63074,6 +63906,8 @@ class TestBasicInformation : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~TestBasicInformation() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -63276,6 +64110,8 @@ class TestIdentifyCluster : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~TestIdentifyCluster() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -63369,6 +64205,8 @@ class TestGroupsCluster : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~TestGroupsCluster() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -64090,6 +64928,8 @@ class TestGroupKeyManagementCluster : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~TestGroupKeyManagementCluster() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -64225,6 +65065,8 @@ class TestOperationalCredentialsCluster : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~TestOperationalCredentialsCluster() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -64395,6 +65237,8 @@ class TestModeSelectCluster : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~TestModeSelectCluster() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -64745,6 +65589,8 @@ class TestGroupMessaging : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~TestGroupMessaging() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -64944,6 +65790,8 @@ class Test_TC_SWDIAG_1_1 : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~Test_TC_SWDIAG_1_1() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -65128,6 +65976,8 @@ class Test_TC_SWDIAG_2_1 : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~Test_TC_SWDIAG_2_1() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -65183,6 +66033,8 @@ class Test_TC_SWDIAG_3_1 : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~Test_TC_SWDIAG_3_1() {} + /////////// TestCommand Interface ///////// void NextTest() override { @@ -65333,6 +66185,8 @@ class TestSubscribe_OnOff : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~TestSubscribe_OnOff() {} + /////////// TestCommand Interface ///////// void NextTest() override { diff --git a/zzz_generated/placeholder/app1/zap-generated/test/Commands.h b/zzz_generated/placeholder/app1/zap-generated/test/Commands.h index a1b3008d43c825..63199726f2da29 100644 --- a/zzz_generated/placeholder/app1/zap-generated/test/Commands.h +++ b/zzz_generated/placeholder/app1/zap-generated/test/Commands.h @@ -30,6 +30,8 @@ class Test_TC_DM_1_3_Simulated : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~Test_TC_DM_1_3_Simulated() {} + /////////// TestCommand Interface ///////// void NextTest() override { diff --git a/zzz_generated/placeholder/app2/zap-generated/test/Commands.h b/zzz_generated/placeholder/app2/zap-generated/test/Commands.h index a1b3008d43c825..63199726f2da29 100644 --- a/zzz_generated/placeholder/app2/zap-generated/test/Commands.h +++ b/zzz_generated/placeholder/app2/zap-generated/test/Commands.h @@ -30,6 +30,8 @@ class Test_TC_DM_1_3_Simulated : public TestCommand AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } + ~Test_TC_DM_1_3_Simulated() {} + /////////// TestCommand Interface ///////// void NextTest() override {