diff --git a/.github/workflows/full-android.yaml b/.github/workflows/full-android.yaml index 64f948db3973b1..87079eee23e86c 100644 --- a/.github/workflows/full-android.yaml +++ b/.github/workflows/full-android.yaml @@ -62,13 +62,13 @@ jobs: - name: Build Android CHIPTool and CHIPTest (ARM) run: | ./scripts/run_in_build_env.sh \ - "./scripts/build/build_examples.py --no-log-timestamps --target-glob 'android-arm-chip-*' build" + "./scripts/build/build_examples.py --no-log-timestamps --target-glob 'android-arm-*' build" - name: Clean out build output run: rm -rf ./out - name: Build Android CHIPTool and CHIPTest (ARM64) run: | ./scripts/run_in_build_env.sh \ - "./scripts/build/build_examples.py --no-log-timestamps --target-glob 'android-arm64-chip-*' build" + "./scripts/build/build_examples.py --no-log-timestamps --target-glob 'android-arm64-*' build" - name: Run Android build rule tests run: | ./scripts/run_in_build_env.sh \ diff --git a/examples/chef/chef.py b/examples/chef/chef.py index 723861bbc35dbf..7b6b0ec4d950a2 100755 --- a/examples/chef/chef.py +++ b/examples/chef/chef.py @@ -615,7 +615,7 @@ def main(argv: Sequence[str]) -> None: 'chip_shell_cmd_server = false', 'chip_build_libshell = true', 'chip_config_network_layer_ble = false', - f'target_defines = ["CHIP_DEVICE_CONFIG_DEVICE_VENDOR_ID={options.vid}", "CHIP_DEVICE_CONFIG_DEVICE_PRODUCT_ID={options.pid}", "CONFIG_ENABLE_PW_RPC={int(options.do_rpc)}"]', + f'target_defines = ["CHIP_DEVICE_CONFIG_DEVICE_VENDOR_ID={options.vid}", "CHIP_DEVICE_CONFIG_DEVICE_PRODUCT_ID={options.pid}", "CONFIG_ENABLE_PW_RPC={"1" if options.do_rpc else "0"}"]', ]) if options.cpu_type == "arm64": uname_resp = shell.run_cmd("uname -m", return_cmd_output=True) diff --git a/examples/lighting-app/qpg/BUILD.gn b/examples/lighting-app/qpg/BUILD.gn index 63910c7755ef7c..4745c5d1f26f55 100644 --- a/examples/lighting-app/qpg/BUILD.gn +++ b/examples/lighting-app/qpg/BUILD.gn @@ -65,6 +65,7 @@ qpg_executable("lighting_app") { ":sdk", "${chip_root}/examples/lighting-app/lighting-common", "${chip_root}/examples/lighting-app/lighting-common:color-format", + "${chip_root}/examples/providers:device_info_provider", "${chip_root}/src/lib", "${chip_root}/src/setup_payload", "${chip_root}/third_party/openthread/platforms:libopenthread-platform", diff --git a/examples/lighting-app/qpg/src/AppTask.cpp b/examples/lighting-app/qpg/src/AppTask.cpp index 13e526024c1edf..c05c40c0f282c7 100644 --- a/examples/lighting-app/qpg/src/AppTask.cpp +++ b/examples/lighting-app/qpg/src/AppTask.cpp @@ -40,6 +40,7 @@ #include +#include #include #include @@ -71,6 +72,7 @@ StackType_t appStack[APP_TASK_STACK_SIZE / sizeof(StackType_t)]; StaticTask_t appTaskStruct; EmberAfIdentifyEffectIdentifier sIdentifyEffect = EMBER_ZCL_IDENTIFY_EFFECT_IDENTIFIER_STOP_EFFECT; +chip::DeviceLayer::DeviceInfoProviderImpl gExampleDeviceInfoProvider; /********************************************************** * Identify Callbacks @@ -127,7 +129,6 @@ Identify gIdentify = { /********************************************************** * OffWithEffect Callbacks *********************************************************/ - void OnTriggerOffWithEffect(OnOffEffect * effect) { chip::app::Clusters::OnOff::OnOffEffectIdentifier effectId = effect->mEffectIdentifier; @@ -231,6 +232,10 @@ CHIP_ERROR AppTask::Init() // Init ZCL Data Model static chip::CommonCaseDeviceServerInitParams initParams; (void) initParams.InitializeStaticResourcesBeforeServerInit(); + + gExampleDeviceInfoProvider.SetStorageDelegate(initParams.persistentStorageDelegate); + chip::DeviceLayer::SetDeviceInfoProvider(&gExampleDeviceInfoProvider); + chip::Inet::EndPointStateOpenThread::OpenThreadEndpointInitParam nativeParams; nativeParams.lockCb = LockOpenThreadTask; nativeParams.unlockCb = UnlockOpenThreadTask; diff --git a/examples/lock-app/qpg/BUILD.gn b/examples/lock-app/qpg/BUILD.gn index 01ad495b722385..60bdcd4bf75ced 100644 --- a/examples/lock-app/qpg/BUILD.gn +++ b/examples/lock-app/qpg/BUILD.gn @@ -63,6 +63,7 @@ qpg_executable("lock_app") { deps = [ ":sdk", "${chip_root}/examples/lock-app/lock-common", + "${chip_root}/examples/providers:device_info_provider", "${chip_root}/src/lib", "${chip_root}/src/setup_payload", "${chip_root}/third_party/openthread/platforms:libopenthread-platform", diff --git a/examples/lock-app/qpg/src/AppTask.cpp b/examples/lock-app/qpg/src/AppTask.cpp index a27d99fc3a6373..ab03f02efcc35e 100644 --- a/examples/lock-app/qpg/src/AppTask.cpp +++ b/examples/lock-app/qpg/src/AppTask.cpp @@ -37,6 +37,7 @@ #include +#include #include #include @@ -68,6 +69,8 @@ StaticQueue_t sAppEventQueueStruct; StackType_t appStack[APP_TASK_STACK_SIZE / sizeof(StackType_t)]; StaticTask_t appTaskStruct; + +chip::DeviceLayer::DeviceInfoProviderImpl gExampleDeviceInfoProvider; } // namespace AppTask AppTask::sAppTask; @@ -131,6 +134,10 @@ CHIP_ERROR AppTask::Init() // Init ZCL Data Model static chip::CommonCaseDeviceServerInitParams initParams; (void) initParams.InitializeStaticResourcesBeforeServerInit(); + + gExampleDeviceInfoProvider.SetStorageDelegate(initParams.persistentStorageDelegate); + chip::DeviceLayer::SetDeviceInfoProvider(&gExampleDeviceInfoProvider); + chip::Inet::EndPointStateOpenThread::OpenThreadEndpointInitParam nativeParams; nativeParams.lockCb = LockOpenThreadTask; nativeParams.unlockCb = UnlockOpenThreadTask; diff --git a/scripts/build/build/targets.py b/scripts/build/build/targets.py index cc43e37e3989ee..6e8417b70c2b47 100644 --- a/scripts/build/build/targets.py +++ b/scripts/build/build/targets.py @@ -447,12 +447,12 @@ def AndroidTargets(): yield target.Extend('androidstudio-arm64-chip-tool', board=AndroidBoard.AndroidStudio_ARM64, app=AndroidApp.CHIP_TOOL) yield target.Extend('androidstudio-x86-chip-tool', board=AndroidBoard.AndroidStudio_X86, app=AndroidApp.CHIP_TOOL) yield target.Extend('androidstudio-x64-chip-tool', board=AndroidBoard.AndroidStudio_X64, app=AndroidApp.CHIP_TOOL) - yield target.Extend('arm64-chip-tvserver', board=AndroidBoard.ARM64, app=AndroidApp.CHIP_TVServer) - yield target.Extend('arm-chip-tvserver', board=AndroidBoard.ARM, app=AndroidApp.CHIP_TVServer) - yield target.Extend('x86-chip-tvserver', board=AndroidBoard.X86, app=AndroidApp.CHIP_TVServer) - yield target.Extend('x64-chip-tvserver', board=AndroidBoard.X64, app=AndroidApp.CHIP_TVServer) - yield target.Extend('arm64-chip-tv-casting-app', board=AndroidBoard.ARM64, app=AndroidApp.CHIP_TV_CASTING_APP) - yield target.Extend('arm-chip-tv-casting-app', board=AndroidBoard.ARM, app=AndroidApp.CHIP_TV_CASTING_APP) + yield target.Extend('arm64-tv-server', board=AndroidBoard.ARM64, app=AndroidApp.TV_SERVER) + yield target.Extend('arm-tv-server', board=AndroidBoard.ARM, app=AndroidApp.TV_SERVER) + yield target.Extend('x86-tv-server', board=AndroidBoard.X86, app=AndroidApp.TV_SERVER) + yield target.Extend('x64-tv-server', board=AndroidBoard.X64, app=AndroidApp.TV_SERVER) + yield target.Extend('arm64-tv-casting-app', board=AndroidBoard.ARM64, app=AndroidApp.TV_SERVER) + yield target.Extend('arm-tv-casting-app', board=AndroidBoard.ARM, app=AndroidApp.TV_SERVER) def MbedTargets(): diff --git a/scripts/build/builders/android.py b/scripts/build/builders/android.py index de5d469af4d66e..809ac066c66884 100644 --- a/scripts/build/builders/android.py +++ b/scripts/build/builders/android.py @@ -31,31 +31,35 @@ class AndroidBoard(Enum): def TargetCpuName(self): if self == AndroidBoard.ARM or self == AndroidBoard.AndroidStudio_ARM: - return 'arm' + return "arm" elif self == AndroidBoard.ARM64 or self == AndroidBoard.AndroidStudio_ARM64: - return 'arm64' + return "arm64" elif self == AndroidBoard.X64 or self == AndroidBoard.AndroidStudio_X64: - return 'x64' + return "x64" elif self == AndroidBoard.X86 or self == AndroidBoard.AndroidStudio_X86: - return 'x86' + return "x86" else: - raise Exception('Unknown board type: %r' % self) + raise Exception("Unknown board type: %r" % self) def AbiName(self): - if self.TargetCpuName() == 'arm': - return 'armeabi-v7a' - elif self.TargetCpuName() == 'arm64': - return 'arm64-v8a' - elif self.TargetCpuName() == 'x64': - return 'x86_64' - elif self.TargetCpuName() == 'x86': - return 'x86' + if self.TargetCpuName() == "arm": + return "armeabi-v7a" + elif self.TargetCpuName() == "arm64": + return "arm64-v8a" + elif self.TargetCpuName() == "x64": + return "x86_64" + elif self.TargetCpuName() == "x86": + return "x86" else: - raise Exception('Unknown board type: %r' % self) + raise Exception("Unknown board type: %r" % self) def IsIde(self): - if (self == AndroidBoard.AndroidStudio_ARM or self == AndroidBoard.AndroidStudio_ARM64 - or self == AndroidBoard.AndroidStudio_X64 or self == AndroidBoard.AndroidStudio_X86): + if ( + self == AndroidBoard.AndroidStudio_ARM + or self == AndroidBoard.AndroidStudio_ARM64 + or self == AndroidBoard.AndroidStudio_X64 + or self == AndroidBoard.AndroidStudio_X86 + ): return True else: return False @@ -64,84 +68,93 @@ def IsIde(self): class AndroidApp(Enum): CHIP_TOOL = auto() CHIP_TEST = auto() - CHIP_TVServer = auto() - CHIP_TV_CASTING_APP = auto() + TV_SERVER = auto() + TV_CASTING_APP = auto() def AppName(self): if self == AndroidApp.CHIP_TOOL: return "CHIPTool" elif self == AndroidApp.CHIP_TEST: return "CHIPTest" - elif self == AndroidApp.CHIP_TVServer: - return "CHIPTVServer" - elif self == AndroidApp.CHIP_TV_CASTING_APP: - return "CHIPTVCastingApp" + elif self == AndroidApp.TV_SERVER: + return "tv-server" + elif self == AndroidApp.TV_CASTING_APP: + return "tv-casting" else: - raise Exception('Unknown app type: %r' % self) + raise Exception("Unknown app type: %r" % self) def AppGnArgs(self): gn_args = {} - if self == AndroidApp.CHIP_TVServer: - gn_args['chip_config_network_layer_ble'] = False - elif self == AndroidApp.CHIP_TV_CASTING_APP: - gn_args['chip_config_network_layer_ble'] = False + if self == AndroidApp.TV_SERVER: + gn_args["chip_config_network_layer_ble"] = False + elif self == AndroidApp.TV_CASTING_APP: + gn_args["chip_config_network_layer_ble"] = False return gn_args def ExampleName(self): - if self == AndroidApp.CHIP_TVServer: + if self == AndroidApp.TV_SERVER: return "tv-app" - elif self == AndroidApp.CHIP_TV_CASTING_APP: + elif self == AndroidApp.TV_CASTING_APP: return "tv-casting-app" else: return None def Modules(self): - if self == AndroidApp.CHIP_TVServer: + if self == AndroidApp.TV_SERVER: return ["platform-app", "content-app"] else: return None class AndroidBuilder(Builder): - def __init__(self, root, runner, board: AndroidBoard, app: AndroidApp): super(AndroidBuilder, self).__init__(root, runner) self.board = board self.app = app def validate_build_environment(self): - for k in ['ANDROID_NDK_HOME', 'ANDROID_HOME']: + for k in ["ANDROID_NDK_HOME", "ANDROID_HOME"]: if k not in os.environ: raise Exception( - 'Environment %s missing, cannot build android libraries' % k) + "Environment %s missing, cannot build android libraries" % k + ) # SDK manager must be runnable to 'accept licenses' - sdk_manager = os.path.join(os.environ['ANDROID_HOME'], 'tools', 'bin', - 'sdkmanager') + sdk_manager = os.path.join( + os.environ["ANDROID_HOME"], "tools", "bin", "sdkmanager" + ) # New SDK manager at cmdline-tools/latest/bin/ - new_sdk_manager = os.path.join(os.environ['ANDROID_HOME'], 'cmdline-tools', 'latest', - 'bin', 'sdkmanager') - if (not (os.path.isfile(sdk_manager) and os.access(sdk_manager, os.X_OK)) and - not (os.path.isfile(new_sdk_manager) and os.access(new_sdk_manager, os.X_OK))): - raise Exception("'%s' and '%s' is not executable by the current user" % - (sdk_manager, new_sdk_manager)) + new_sdk_manager = os.path.join( + os.environ["ANDROID_HOME"], "cmdline-tools", "latest", "bin", "sdkmanager" + ) + if not ( + os.path.isfile(sdk_manager) and os.access(sdk_manager, os.X_OK) + ) and not ( + os.path.isfile(new_sdk_manager) and os.access(new_sdk_manager, os.X_OK) + ): + raise Exception( + "'%s' and '%s' is not executable by the current user" + % (sdk_manager, new_sdk_manager) + ) # In order to accept a license, the licenses folder is updated with the hash of the # accepted license - android_home = os.environ['ANDROID_HOME'] - licenses = os.path.join(android_home, 'licenses') + android_home = os.environ["ANDROID_HOME"] + licenses = os.path.join(android_home, "licenses") if not os.path.exists(licenses): # Initial install may not have licenses at all if not os.access(android_home, os.W_OK): raise Exception( "'%s' is NOT writable by the current user (needed to create licenses folder for accept)" - % android_home) + % android_home + ) elif not os.access(licenses, os.W_OK): raise Exception( "'%s' is NOT writable by the current user (needed to accept licenses)" - % licenses) + % licenses + ) def copyToSrcAndroid(self): # JNILibs will be copied as long as they reside in src/main/jniLibs/ABI: @@ -151,11 +164,18 @@ def copyToSrcAndroid(self): # We do NOT use python builtins for copy, so that the 'execution commands' are available # when using dry run. jnilibs_dir = os.path.join( - self.root, 'src/android/', self.app.AppName(), 'app/libs/jniLibs', self.board.AbiName()) + self.root, + "src/android/", + self.app.AppName(), + "app/libs/jniLibs", + self.board.AbiName(), + ) libs_dir = os.path.join( - self.root, 'src/android/', self.app.AppName(), 'app/libs') - self._Execute(['mkdir', '-p', jnilibs_dir], - title='Prepare Native libs ' + self.identifier) + self.root, "src/android/", self.app.AppName(), "app/libs" + ) + self._Execute( + ["mkdir", "-p", jnilibs_dir], title="Prepare Native libs " + self.identifier + ) # TODO: Runtime dependencies should be computed by the build system rather than hardcoded # GN supports getting these dependencies like: @@ -166,97 +186,141 @@ def copyToSrcAndroid(self): # # If we unify the JNI libraries, libc++_shared.so may not be needed anymore, which could # be another path of resolving this inconsistency. - for libName in ['libSetupPayloadParser.so', 'libCHIPController.so', 'libc++_shared.so']: - self._Execute(['cp', os.path.join(self.output_dir, 'lib', 'jni', self.board.AbiName( - ), libName), os.path.join(jnilibs_dir, libName)]) + for libName in [ + "libSetupPayloadParser.so", + "libCHIPController.so", + "libc++_shared.so", + ]: + self._Execute( + [ + "cp", + os.path.join( + self.output_dir, "lib", "jni", self.board.AbiName(), libName + ), + os.path.join(jnilibs_dir, libName), + ] + ) jars = { - 'CHIPController.jar': 'src/controller/java/CHIPController.jar', - 'SetupPayloadParser.jar': 'src/setup_payload/java/SetupPayloadParser.jar', - 'AndroidPlatform.jar': 'src/platform/android/AndroidPlatform.jar', + "CHIPController.jar": "src/controller/java/CHIPController.jar", + "SetupPayloadParser.jar": "src/setup_payload/java/SetupPayloadParser.jar", + "AndroidPlatform.jar": "src/platform/android/AndroidPlatform.jar", } for jarName in jars.keys(): - self._Execute(['cp', os.path.join( - self.output_dir, 'lib', jars[jarName]), os.path.join(libs_dir, jarName)]) + self._Execute( + [ + "cp", + os.path.join(self.output_dir, "lib", jars[jarName]), + os.path.join(libs_dir, jarName), + ] + ) def copyToExampleAndroid(self): jnilibs_dir = os.path.join( - self.root, 'examples', self.app.ExampleName(), 'android/App/app/libs/jniLibs', self.board.AbiName()) + self.root, + "examples", + self.app.ExampleName(), + "android/App/app/libs/jniLibs", + self.board.AbiName(), + ) libs_dir = os.path.join( - self.root, 'examples', self.app.ExampleName(), 'android/App/app/libs') - self._Execute(['mkdir', '-p', jnilibs_dir], - title='Prepare Native libs ' + self.identifier) - - if self.app.ExampleName() == 'tv-casting-app': - libs = ['libc++_shared.so', 'libTvCastingApp.so'] + self.root, "examples", self.app.ExampleName(), "android/App/app/libs" + ) + self._Execute( + ["mkdir", "-p", jnilibs_dir], title="Prepare Native libs " + self.identifier + ) + + if self.app.ExampleName() == "tv-casting-app": + libs = ["libc++_shared.so", "libTvCastingApp.so"] else: - libs = ['libSetupPayloadParser.so', - 'libc++_shared.so', 'libTvApp.so'] + libs = ["libSetupPayloadParser.so", "libc++_shared.so", "libTvApp.so"] for libName in libs: - self._Execute(['cp', os.path.join(self.output_dir, 'lib', 'jni', self.board.AbiName( - ), libName), os.path.join(jnilibs_dir, libName)]) - - if self.app.ExampleName() == 'tv-casting-app': + self._Execute( + [ + "cp", + os.path.join( + self.output_dir, "lib", "jni", self.board.AbiName(), libName + ), + os.path.join(jnilibs_dir, libName), + ] + ) + + if self.app.ExampleName() == "tv-casting-app": jars = { - 'AndroidPlatform.jar': 'third_party/connectedhomeip/src/platform/android/AndroidPlatform.jar', - 'CHIPAppServer.jar': 'third_party/connectedhomeip/src/app/server/java/CHIPAppServer.jar', - 'TvCastingApp.jar': 'TvCastingApp.jar', + "AndroidPlatform.jar": "third_party/connectedhomeip/src/platform/android/AndroidPlatform.jar", + "CHIPAppServer.jar": "third_party/connectedhomeip/src/app/server/java/CHIPAppServer.jar", + "TvCastingApp.jar": "TvCastingApp.jar", } else: jars = { - 'SetupPayloadParser.jar': 'third_party/connectedhomeip/src/setup_payload/java/SetupPayloadParser.jar', - 'AndroidPlatform.jar': 'third_party/connectedhomeip/src/platform/android/AndroidPlatform.jar', - 'CHIPAppServer.jar': 'third_party/connectedhomeip/src/app/server/java/CHIPAppServer.jar', - 'TvApp.jar': 'TvApp.jar', + "SetupPayloadParser.jar": "third_party/connectedhomeip/src/setup_payload/java/SetupPayloadParser.jar", + "AndroidPlatform.jar": "third_party/connectedhomeip/src/platform/android/AndroidPlatform.jar", + "CHIPAppServer.jar": "third_party/connectedhomeip/src/app/server/java/CHIPAppServer.jar", + "TvApp.jar": "TvApp.jar", } for jarName in jars.keys(): - self._Execute(['cp', os.path.join( - self.output_dir, 'lib', jars[jarName]), os.path.join(libs_dir, jarName)]) + self._Execute( + [ + "cp", + os.path.join(self.output_dir, "lib", jars[jarName]), + os.path.join(libs_dir, jarName), + ] + ) def gradlewBuildSrcAndroid(self): # App compilation - self._Execute([ - '%s/src/android/%s/gradlew' % (self.root, - self.app.AppName()), '-p', - '%s/src/android/%s' % (self.root, - self.app.AppName()), - '-PmatterBuildSrcDir=%s' % self.output_dir, - '-PmatterSdkSourceBuild=false', - '-PbuildDir=%s' % self.output_dir, 'assembleDebug' - ], - title='Building APP ' + self.identifier) + self._Execute( + [ + "%s/src/android/%s/gradlew" % (self.root, self.app.AppName()), + "-p", + "%s/src/android/%s" % (self.root, self.app.AppName()), + "-PmatterBuildSrcDir=%s" % self.output_dir, + "-PmatterSdkSourceBuild=false", + "-PbuildDir=%s" % self.output_dir, + "assembleDebug", + ], + title="Building APP " + self.identifier, + ) def gradlewBuildExampleAndroid(self): # Example compilation if self.app.Modules(): for module in self.app.Modules(): - self._Execute([ - '%s/examples/%s/android/App/gradlew' % (self.root, - self.app.ExampleName()), '-p', - '%s/examples/%s/android/App/' % (self.root, - self.app.ExampleName()), - '-PmatterBuildSrcDir=%s' % self.output_dir, - '-PmatterSdkSourceBuild=false', - '-PbuildDir=%s/%s' % (self.output_dir, module), ':%s:assembleDebug' % module - ], - title='Building Example %s, module %s' % (self.identifier, module)) + self._Execute( + [ + "%s/examples/%s/android/App/gradlew" + % (self.root, self.app.ExampleName()), + "-p", + "%s/examples/%s/android/App/" + % (self.root, self.app.ExampleName()), + "-PmatterBuildSrcDir=%s" % self.output_dir, + "-PmatterSdkSourceBuild=false", + "-PbuildDir=%s/%s" % (self.output_dir, module), + ":%s:assembleDebug" % module, + ], + title="Building Example %s, module %s" % (self.identifier, module), + ) else: - self._Execute([ - '%s/examples/%s/android/App/gradlew' % (self.root, - self.app.ExampleName()), '-p', - '%s/examples/%s/android/App/' % (self.root, - self.app.ExampleName()), - '-PmatterBuildSrcDir=%s' % self.output_dir, - '-PmatterSdkSourceBuild=false', - '-PbuildDir=%s' % self.output_dir, 'assembleDebug' - ], - title='Building Example ' + self.identifier) + self._Execute( + [ + "%s/examples/%s/android/App/gradlew" + % (self.root, self.app.ExampleName()), + "-p", + "%s/examples/%s/android/App/" % (self.root, self.app.ExampleName()), + "-PmatterBuildSrcDir=%s" % self.output_dir, + "-PmatterSdkSourceBuild=false", + "-PbuildDir=%s" % self.output_dir, + "assembleDebug", + ], + title="Building Example " + self.identifier, + ) def generate(self): - self._Execute([ - 'python3', 'third_party/android_deps/set_up_android_deps.py' - ], title='Setting up Android deps through Gradle') + self._Execute( + ["python3", "third_party/android_deps/set_up_android_deps.py"], + title="Setting up Android deps through Gradle", + ) if not os.path.exists(self.output_dir): # NRF does a in-place update of SDK tools @@ -264,74 +328,86 @@ def generate(self): self.validate_build_environment() gn_args = {} - gn_args['target_os'] = 'android' - gn_args['target_cpu'] = self.board.TargetCpuName() - gn_args['android_ndk_root'] = os.environ['ANDROID_NDK_HOME'] - gn_args['android_sdk_root'] = os.environ['ANDROID_HOME'] + gn_args["target_os"] = "android" + gn_args["target_cpu"] = self.board.TargetCpuName() + gn_args["android_ndk_root"] = os.environ["ANDROID_NDK_HOME"] + gn_args["android_sdk_root"] = os.environ["ANDROID_HOME"] gn_args.update(self.app.AppGnArgs()) args_str = "" for key, value in gn_args.items(): if type(value) == bool: if value: - args_str += '%s=true ' % (key) + args_str += "%s=true " % (key) else: - args_str += '%s=false ' % (key) + args_str += "%s=false " % (key) else: args_str += '%s="%s" ' % (key, shlex.quote(value)) - args = '--args=%s' % (args_str) + args = "--args=%s" % (args_str) gn_gen = [ - 'gn', 'gen', '--check', '--fail-on-unused-args', self.output_dir, args, + "gn", + "gen", + "--check", + "--fail-on-unused-args", + self.output_dir, + args, ] exampleName = self.app.ExampleName() if exampleName is not None: - gn_gen += ['--root=%s/examples/%s/android/' % - (self.root, exampleName)] + gn_gen += ["--root=%s/examples/%s/android/" % (self.root, exampleName)] if self.board.IsIde(): - gn_gen += ['--ide=json', - '--json-ide-script=//scripts/examples/gn_to_cmakelists.py'] - - self._Execute(gn_gen, title='Generating ' + self.identifier) - - new_sdk_manager = os.path.join(os.environ['ANDROID_HOME'], 'cmdline-tools', 'latest', - 'bin', 'sdkmanager') - if (os.path.isfile(new_sdk_manager) and os.access(new_sdk_manager, os.X_OK)): - self._Execute([ - 'bash', '-c', - 'yes | %s --licenses >/dev/null' % - new_sdk_manager - ], - title='Accepting NDK licenses @ cmdline-tools') + gn_gen += [ + "--ide=json", + "--json-ide-script=//scripts/examples/gn_to_cmakelists.py", + ] + + self._Execute(gn_gen, title="Generating " + self.identifier) + + new_sdk_manager = os.path.join( + os.environ["ANDROID_HOME"], + "cmdline-tools", + "latest", + "bin", + "sdkmanager", + ) + if os.path.isfile(new_sdk_manager) and os.access(new_sdk_manager, os.X_OK): + self._Execute( + ["bash", "-c", "yes | %s --licenses >/dev/null" % new_sdk_manager], + title="Accepting NDK licenses @ cmdline-tools", + ) else: - sdk_manager = os.path.join(os.environ['ANDROID_HOME'], 'tools', 'bin', - 'sdkmanager') - self._Execute([ - 'bash', '-c', - 'yes | %s --licenses >/dev/null' % - sdk_manager - ], - title='Accepting NDK licenses @ tools') + sdk_manager = os.path.join( + os.environ["ANDROID_HOME"], "tools", "bin", "sdkmanager" + ) + self._Execute( + ["bash", "-c", "yes | %s --licenses >/dev/null" % sdk_manager], + title="Accepting NDK licenses @ tools", + ) def _build(self): if self.board.IsIde(): # App compilation IDE # TODO: Android Gradle with module and -PbuildDir= will caused issue, remove -PbuildDir= - self._Execute([ - '%s/src/android/%s/gradlew' % (self.root, - self.app.AppName()), '-p', - '%s/src/android/%s' % (self.root, self.app.AppName()), - '-PmatterBuildSrcDir=%s' % self.output_dir, - '-PmatterSdkSourceBuild=true', - '-PmatterSourceBuildAbiFilters=%s' % self.board.AbiName(), - 'assembleDebug' - ], - title='Building APP ' + self.identifier) + self._Execute( + [ + "%s/src/android/%s/gradlew" % (self.root, self.app.AppName()), + "-p", + "%s/src/android/%s" % (self.root, self.app.AppName()), + "-PmatterBuildSrcDir=%s" % self.output_dir, + "-PmatterSdkSourceBuild=true", + "-PmatterSourceBuildAbiFilters=%s" % self.board.AbiName(), + "assembleDebug", + ], + title="Building APP " + self.identifier, + ) else: - self._Execute(['ninja', '-C', self.output_dir], - title='Building JNI ' + self.identifier) + self._Execute( + ["ninja", "-C", self.output_dir], + title="Building JNI " + self.identifier, + ) exampleName = self.app.ExampleName() if exampleName is None: @@ -344,40 +420,72 @@ def _build(self): def build_outputs(self): if self.board.IsIde(): outputs = { - self.app.AppName() + '-debug.apk': - os.path.join(self.root, "src/android", self.app.AppName(), - 'app/build/outputs/apk/debug/app-debug.apk') + self.app.AppName() + + "-debug.apk": os.path.join( + self.root, + "src/android", + self.app.AppName(), + "app/build/outputs/apk/debug/app-debug.apk", + ) } elif self.app.ExampleName() is not None: - outputs = { - self.app.AppName() + 'app-debug.apk': - os.path.join(self.output_dir, 'outputs', 'apk', 'debug', - 'app-debug.apk') - } + if self.app == AndroidApp.TV_SERVER: + outputs = { + "tv-sever-platform-app-debug.apk": os.path.join( + self.output_dir, "platform-app", "outputs", "apk", "debug", "platform-app-debug.apk" + ), + "tv-sever-content-app-debug.apk": os.path.join( + self.output_dir, "content-app", "outputs", "apk", "debug", "content-app-debug.apk" + ) + } + else: + outputs = { + self.app.AppName() + + "app-debug.apk": os.path.join( + self.output_dir, "outputs", "apk", "debug", "app-debug.apk" + ) + } else: outputs = { - self.app.AppName() + 'app-debug.apk': - os.path.join(self.output_dir, 'outputs', 'apk', 'debug', - 'app-debug.apk'), - 'CHIPController.jar': - os.path.join(self.output_dir, 'lib', - 'src/controller/java/CHIPController.jar'), - 'AndroidPlatform.jar': - os.path.join(self.output_dir, 'lib', - 'src/platform/android/AndroidPlatform.jar'), - 'SetupPayloadParser.jar': - os.path.join(self.output_dir, 'lib', - 'src/setup_payload/java/SetupPayloadParser.jar'), - - 'jni/%s/libSetupPayloadParser.so' % self.board.AbiName(): - os.path.join(self.output_dir, 'lib', 'jni', - self.board.AbiName(), 'libSetupPayloadParser.so'), - 'jni/%s/libCHIPController.so' % self.board.AbiName(): - os.path.join(self.output_dir, 'lib', 'jni', - self.board.AbiName(), 'libCHIPController.so'), - 'jni/%s/libc++_shared.so' % self.board.AbiName(): - os.path.join(self.output_dir, 'lib', 'jni', - self.board.AbiName(), 'libc++_shared.so'), + self.app.AppName() + + "app-debug.apk": os.path.join( + self.output_dir, "outputs", "apk", "debug", "app-debug.apk" + ), + "CHIPController.jar": os.path.join( + self.output_dir, "lib", "src/controller/java/CHIPController.jar" + ), + "AndroidPlatform.jar": os.path.join( + self.output_dir, "lib", "src/platform/android/AndroidPlatform.jar" + ), + "SetupPayloadParser.jar": os.path.join( + self.output_dir, + "lib", + "src/setup_payload/java/SetupPayloadParser.jar", + ), + "jni/%s/libSetupPayloadParser.so" + % self.board.AbiName(): os.path.join( + self.output_dir, + "lib", + "jni", + self.board.AbiName(), + "libSetupPayloadParser.so", + ), + "jni/%s/libCHIPController.so" + % self.board.AbiName(): os.path.join( + self.output_dir, + "lib", + "jni", + self.board.AbiName(), + "libCHIPController.so", + ), + "jni/%s/libc++_shared.so" + % self.board.AbiName(): os.path.join( + self.output_dir, + "lib", + "jni", + self.board.AbiName(), + "libc++_shared.so", + ), } return outputs diff --git a/scripts/build/testdata/all_targets_except_host.txt b/scripts/build/testdata/all_targets_except_host.txt index 082430b019ac39..d93353f984c0e9 100644 --- a/scripts/build/testdata/all_targets_except_host.txt +++ b/scripts/build/testdata/all_targets_except_host.txt @@ -7,16 +7,16 @@ android-androidstudio-arm64-chip-tool android-androidstudio-x64-chip-tool android-androidstudio-x86-chip-tool android-arm-chip-tool -android-arm-chip-tv-casting-app -android-arm-chip-tvserver +android-arm-tv-casting-app +android-arm-tv-server android-arm64-chip-test android-arm64-chip-tool -android-arm64-chip-tv-casting-app -android-arm64-chip-tvserver +android-arm64-tv-casting-app +android-arm64-tv-server android-x64-chip-tool -android-x64-chip-tvserver +android-x64-tv-server android-x86-chip-tool -android-x86-chip-tvserver +android-x86-tv-server bl602-light cc13x2x7_26x2x7-all-clusters cc13x2x7_26x2x7-all-clusters-minimal diff --git a/scripts/build/testdata/build_all_except_host.txt b/scripts/build/testdata/build_all_except_host.txt index 321dd96d45721a..13aae9971f029b 100644 --- a/scripts/build/testdata/build_all_except_host.txt +++ b/scripts/build/testdata/build_all_except_host.txt @@ -61,8 +61,8 @@ bash -c 'yes | TEST_ANDROID_HOME/tools/bin/sdkmanager --licenses >/dev/null' # Setting up Android deps through Gradle python3 third_party/android_deps/set_up_android_deps.py -# Generating android-arm-chip-tv-casting-app -gn gen --check --fail-on-unused-args {out}/android-arm-chip-tv-casting-app '--args=target_os="android" target_cpu="arm" android_ndk_root="TEST_ANDROID_NDK_HOME" android_sdk_root="TEST_ANDROID_HOME" chip_config_network_layer_ble=false ' --root={root}/examples/tv-casting-app/android/ +# Generating android-arm-tv-casting-app +gn gen --check --fail-on-unused-args {out}/android-arm-tv-casting-app '--args=target_os="android" target_cpu="arm" android_ndk_root="TEST_ANDROID_NDK_HOME" android_sdk_root="TEST_ANDROID_HOME" chip_config_network_layer_ble=false ' --root={root}/examples/tv-app/android/ # Accepting NDK licenses @ tools bash -c 'yes | TEST_ANDROID_HOME/tools/bin/sdkmanager --licenses >/dev/null' @@ -70,8 +70,8 @@ bash -c 'yes | TEST_ANDROID_HOME/tools/bin/sdkmanager --licenses >/dev/null' # Setting up Android deps through Gradle python3 third_party/android_deps/set_up_android_deps.py -# Generating android-arm-chip-tvserver -gn gen --check --fail-on-unused-args {out}/android-arm-chip-tvserver '--args=target_os="android" target_cpu="arm" android_ndk_root="TEST_ANDROID_NDK_HOME" android_sdk_root="TEST_ANDROID_HOME" chip_config_network_layer_ble=false ' --root={root}/examples/tv-app/android/ +# Generating android-arm-tv-server +gn gen --check --fail-on-unused-args {out}/android-arm-tv-server '--args=target_os="android" target_cpu="arm" android_ndk_root="TEST_ANDROID_NDK_HOME" android_sdk_root="TEST_ANDROID_HOME" chip_config_network_layer_ble=false ' --root={root}/examples/tv-app/android/ # Accepting NDK licenses @ tools bash -c 'yes | TEST_ANDROID_HOME/tools/bin/sdkmanager --licenses >/dev/null' @@ -97,8 +97,8 @@ bash -c 'yes | TEST_ANDROID_HOME/tools/bin/sdkmanager --licenses >/dev/null' # Setting up Android deps through Gradle python3 third_party/android_deps/set_up_android_deps.py -# Generating android-arm64-chip-tv-casting-app -gn gen --check --fail-on-unused-args {out}/android-arm64-chip-tv-casting-app '--args=target_os="android" target_cpu="arm64" android_ndk_root="TEST_ANDROID_NDK_HOME" android_sdk_root="TEST_ANDROID_HOME" chip_config_network_layer_ble=false ' --root={root}/examples/tv-casting-app/android/ +# Generating android-arm64-tv-casting-app +gn gen --check --fail-on-unused-args {out}/android-arm64-tv-casting-app '--args=target_os="android" target_cpu="arm64" android_ndk_root="TEST_ANDROID_NDK_HOME" android_sdk_root="TEST_ANDROID_HOME" chip_config_network_layer_ble=false ' --root={root}/examples/tv-app/android/ # Accepting NDK licenses @ tools bash -c 'yes | TEST_ANDROID_HOME/tools/bin/sdkmanager --licenses >/dev/null' @@ -106,8 +106,8 @@ bash -c 'yes | TEST_ANDROID_HOME/tools/bin/sdkmanager --licenses >/dev/null' # Setting up Android deps through Gradle python3 third_party/android_deps/set_up_android_deps.py -# Generating android-arm64-chip-tvserver -gn gen --check --fail-on-unused-args {out}/android-arm64-chip-tvserver '--args=target_os="android" target_cpu="arm64" android_ndk_root="TEST_ANDROID_NDK_HOME" android_sdk_root="TEST_ANDROID_HOME" chip_config_network_layer_ble=false ' --root={root}/examples/tv-app/android/ +# Generating android-arm64-tv-server +gn gen --check --fail-on-unused-args {out}/android-arm64-tv-server '--args=target_os="android" target_cpu="arm64" android_ndk_root="TEST_ANDROID_NDK_HOME" android_sdk_root="TEST_ANDROID_HOME" chip_config_network_layer_ble=false ' --root={root}/examples/tv-app/android/ # Accepting NDK licenses @ tools bash -c 'yes | TEST_ANDROID_HOME/tools/bin/sdkmanager --licenses >/dev/null' @@ -124,8 +124,8 @@ bash -c 'yes | TEST_ANDROID_HOME/tools/bin/sdkmanager --licenses >/dev/null' # Setting up Android deps through Gradle python3 third_party/android_deps/set_up_android_deps.py -# Generating android-x64-chip-tvserver -gn gen --check --fail-on-unused-args {out}/android-x64-chip-tvserver '--args=target_os="android" target_cpu="x64" android_ndk_root="TEST_ANDROID_NDK_HOME" android_sdk_root="TEST_ANDROID_HOME" chip_config_network_layer_ble=false ' --root={root}/examples/tv-app/android/ +# Generating android-x64-tv-server +gn gen --check --fail-on-unused-args {out}/android-x64-tv-server '--args=target_os="android" target_cpu="x64" android_ndk_root="TEST_ANDROID_NDK_HOME" android_sdk_root="TEST_ANDROID_HOME" chip_config_network_layer_ble=false ' --root={root}/examples/tv-app/android/ # Accepting NDK licenses @ tools bash -c 'yes | TEST_ANDROID_HOME/tools/bin/sdkmanager --licenses >/dev/null' @@ -142,8 +142,8 @@ bash -c 'yes | TEST_ANDROID_HOME/tools/bin/sdkmanager --licenses >/dev/null' # Setting up Android deps through Gradle python3 third_party/android_deps/set_up_android_deps.py -# Generating android-x86-chip-tvserver -gn gen --check --fail-on-unused-args {out}/android-x86-chip-tvserver '--args=target_os="android" target_cpu="x86" android_ndk_root="TEST_ANDROID_NDK_HOME" android_sdk_root="TEST_ANDROID_HOME" chip_config_network_layer_ble=false ' --root={root}/examples/tv-app/android/ +# Generating android-x86-tv-server +gn gen --check --fail-on-unused-args {out}/android-x86-tv-server '--args=target_os="android" target_cpu="x86" android_ndk_root="TEST_ANDROID_NDK_HOME" android_sdk_root="TEST_ANDROID_HOME" chip_config_network_layer_ble=false ' --root={root}/examples/tv-app/android/ # Accepting NDK licenses @ tools bash -c 'yes | TEST_ANDROID_HOME/tools/bin/sdkmanager --licenses >/dev/null' @@ -1207,50 +1207,57 @@ cp {out}/android-arm-chip-tool/lib/src/platform/android/AndroidPlatform.jar {roo # Building APP android-arm-chip-tool {root}/src/android/CHIPTool/gradlew -p {root}/src/android/CHIPTool -PmatterBuildSrcDir={out}/android-arm-chip-tool -PmatterSdkSourceBuild=false -PbuildDir={out}/android-arm-chip-tool assembleDebug -# Building JNI android-arm-chip-tv-casting-app -ninja -C {out}/android-arm-chip-tv-casting-app +# Building JNI android-arm-tv-casting-app +ninja -C {out}/android-arm-tv-casting-app -# Prepare Native libs android-arm-chip-tv-casting-app -mkdir -p {root}/examples/tv-casting-app/android/App/app/libs/jniLibs/armeabi-v7a +# Prepare Native libs android-arm-tv-casting-app +mkdir -p {root}/examples/tv-app/android/App/app/libs/jniLibs/armeabi-v7a + +cp {out}/android-arm-tv-casting-app/lib/jni/armeabi-v7a/libSetupPayloadParser.so {root}/examples/tv-app/android/App/app/libs/jniLibs/armeabi-v7a/libSetupPayloadParser.so + +cp {out}/android-arm-tv-casting-app/lib/jni/armeabi-v7a/libc++_shared.so {root}/examples/tv-app/android/App/app/libs/jniLibs/armeabi-v7a/libc++_shared.so + +cp {out}/android-arm-tv-casting-app/lib/jni/armeabi-v7a/libTvApp.so {root}/examples/tv-app/android/App/app/libs/jniLibs/armeabi-v7a/libTvApp.so -cp {out}/android-arm-chip-tv-casting-app/lib/jni/armeabi-v7a/libc++_shared.so {root}/examples/tv-casting-app/android/App/app/libs/jniLibs/armeabi-v7a/libc++_shared.so +cp {out}/android-arm-tv-casting-app/lib/third_party/connectedhomeip/src/setup_payload/java/SetupPayloadParser.jar {root}/examples/tv-app/android/App/app/libs/SetupPayloadParser.jar -cp {out}/android-arm-chip-tv-casting-app/lib/jni/armeabi-v7a/libTvCastingApp.so {root}/examples/tv-casting-app/android/App/app/libs/jniLibs/armeabi-v7a/libTvCastingApp.so +cp {out}/android-arm-tv-casting-app/lib/third_party/connectedhomeip/src/platform/android/AndroidPlatform.jar {root}/examples/tv-app/android/App/app/libs/AndroidPlatform.jar -cp {out}/android-arm-chip-tv-casting-app/lib/third_party/connectedhomeip/src/platform/android/AndroidPlatform.jar {root}/examples/tv-casting-app/android/App/app/libs/AndroidPlatform.jar +cp {out}/android-arm-tv-casting-app/lib/third_party/connectedhomeip/src/app/server/java/CHIPAppServer.jar {root}/examples/tv-app/android/App/app/libs/CHIPAppServer.jar -cp {out}/android-arm-chip-tv-casting-app/lib/third_party/connectedhomeip/src/app/server/java/CHIPAppServer.jar {root}/examples/tv-casting-app/android/App/app/libs/CHIPAppServer.jar +cp {out}/android-arm-tv-casting-app/lib/TvApp.jar {root}/examples/tv-app/android/App/app/libs/TvApp.jar -cp {out}/android-arm-chip-tv-casting-app/lib/TvCastingApp.jar {root}/examples/tv-casting-app/android/App/app/libs/TvCastingApp.jar +# Building Example android-arm-tv-casting-app, module platform-app +{root}/examples/tv-app/android/App/gradlew -p {root}/examples/tv-app/android/App/ -PmatterBuildSrcDir={out}/android-arm-tv-casting-app -PmatterSdkSourceBuild=false -PbuildDir={out}/android-arm-tv-casting-app/platform-app :platform-app:assembleDebug -# Building Example android-arm-chip-tv-casting-app -{root}/examples/tv-casting-app/android/App/gradlew -p {root}/examples/tv-casting-app/android/App/ -PmatterBuildSrcDir={out}/android-arm-chip-tv-casting-app -PmatterSdkSourceBuild=false -PbuildDir={out}/android-arm-chip-tv-casting-app assembleDebug +# Building Example android-arm-tv-casting-app, module content-app +{root}/examples/tv-app/android/App/gradlew -p {root}/examples/tv-app/android/App/ -PmatterBuildSrcDir={out}/android-arm-tv-casting-app -PmatterSdkSourceBuild=false -PbuildDir={out}/android-arm-tv-casting-app/content-app :content-app:assembleDebug -# Building JNI android-arm-chip-tvserver -ninja -C {out}/android-arm-chip-tvserver +# Building JNI android-arm-tv-server +ninja -C {out}/android-arm-tv-server -# Prepare Native libs android-arm-chip-tvserver +# Prepare Native libs android-arm-tv-server mkdir -p {root}/examples/tv-app/android/App/app/libs/jniLibs/armeabi-v7a -cp {out}/android-arm-chip-tvserver/lib/jni/armeabi-v7a/libSetupPayloadParser.so {root}/examples/tv-app/android/App/app/libs/jniLibs/armeabi-v7a/libSetupPayloadParser.so +cp {out}/android-arm-tv-server/lib/jni/armeabi-v7a/libSetupPayloadParser.so {root}/examples/tv-app/android/App/app/libs/jniLibs/armeabi-v7a/libSetupPayloadParser.so -cp {out}/android-arm-chip-tvserver/lib/jni/armeabi-v7a/libc++_shared.so {root}/examples/tv-app/android/App/app/libs/jniLibs/armeabi-v7a/libc++_shared.so +cp {out}/android-arm-tv-server/lib/jni/armeabi-v7a/libc++_shared.so {root}/examples/tv-app/android/App/app/libs/jniLibs/armeabi-v7a/libc++_shared.so -cp {out}/android-arm-chip-tvserver/lib/jni/armeabi-v7a/libTvApp.so {root}/examples/tv-app/android/App/app/libs/jniLibs/armeabi-v7a/libTvApp.so +cp {out}/android-arm-tv-server/lib/jni/armeabi-v7a/libTvApp.so {root}/examples/tv-app/android/App/app/libs/jniLibs/armeabi-v7a/libTvApp.so -cp {out}/android-arm-chip-tvserver/lib/third_party/connectedhomeip/src/setup_payload/java/SetupPayloadParser.jar {root}/examples/tv-app/android/App/app/libs/SetupPayloadParser.jar +cp {out}/android-arm-tv-server/lib/third_party/connectedhomeip/src/setup_payload/java/SetupPayloadParser.jar {root}/examples/tv-app/android/App/app/libs/SetupPayloadParser.jar -cp {out}/android-arm-chip-tvserver/lib/third_party/connectedhomeip/src/platform/android/AndroidPlatform.jar {root}/examples/tv-app/android/App/app/libs/AndroidPlatform.jar +cp {out}/android-arm-tv-server/lib/third_party/connectedhomeip/src/platform/android/AndroidPlatform.jar {root}/examples/tv-app/android/App/app/libs/AndroidPlatform.jar -cp {out}/android-arm-chip-tvserver/lib/third_party/connectedhomeip/src/app/server/java/CHIPAppServer.jar {root}/examples/tv-app/android/App/app/libs/CHIPAppServer.jar +cp {out}/android-arm-tv-server/lib/third_party/connectedhomeip/src/app/server/java/CHIPAppServer.jar {root}/examples/tv-app/android/App/app/libs/CHIPAppServer.jar -cp {out}/android-arm-chip-tvserver/lib/TvApp.jar {root}/examples/tv-app/android/App/app/libs/TvApp.jar +cp {out}/android-arm-tv-server/lib/TvApp.jar {root}/examples/tv-app/android/App/app/libs/TvApp.jar -# Building Example android-arm-chip-tvserver, module platform-app -{root}/examples/tv-app/android/App/gradlew -p {root}/examples/tv-app/android/App/ -PmatterBuildSrcDir={out}/android-arm-chip-tvserver -PmatterSdkSourceBuild=false -PbuildDir={out}/android-arm-chip-tvserver/platform-app :platform-app:assembleDebug +# Building Example android-arm-tv-server, module platform-app +{root}/examples/tv-app/android/App/gradlew -p {root}/examples/tv-app/android/App/ -PmatterBuildSrcDir={out}/android-arm-tv-server -PmatterSdkSourceBuild=false -PbuildDir={out}/android-arm-tv-server/platform-app :platform-app:assembleDebug -# Building Example android-arm-chip-tvserver, module content-app -{root}/examples/tv-app/android/App/gradlew -p {root}/examples/tv-app/android/App/ -PmatterBuildSrcDir={out}/android-arm-chip-tvserver -PmatterSdkSourceBuild=false -PbuildDir={out}/android-arm-chip-tvserver/content-app :content-app:assembleDebug +# Building Example android-arm-tv-server, module content-app +{root}/examples/tv-app/android/App/gradlew -p {root}/examples/tv-app/android/App/ -PmatterBuildSrcDir={out}/android-arm-tv-server -PmatterSdkSourceBuild=false -PbuildDir={out}/android-arm-tv-server/content-app :content-app:assembleDebug # Building JNI android-arm64-chip-test ninja -C {out}/android-arm64-chip-test @@ -1294,50 +1301,57 @@ cp {out}/android-arm64-chip-tool/lib/src/platform/android/AndroidPlatform.jar {r # Building APP android-arm64-chip-tool {root}/src/android/CHIPTool/gradlew -p {root}/src/android/CHIPTool -PmatterBuildSrcDir={out}/android-arm64-chip-tool -PmatterSdkSourceBuild=false -PbuildDir={out}/android-arm64-chip-tool assembleDebug -# Building JNI android-arm64-chip-tv-casting-app -ninja -C {out}/android-arm64-chip-tv-casting-app +# Building JNI android-arm64-tv-casting-app +ninja -C {out}/android-arm64-tv-casting-app + +# Prepare Native libs android-arm64-tv-casting-app +mkdir -p {root}/examples/tv-app/android/App/app/libs/jniLibs/arm64-v8a + +cp {out}/android-arm64-tv-casting-app/lib/jni/arm64-v8a/libSetupPayloadParser.so {root}/examples/tv-app/android/App/app/libs/jniLibs/arm64-v8a/libSetupPayloadParser.so + +cp {out}/android-arm64-tv-casting-app/lib/jni/arm64-v8a/libc++_shared.so {root}/examples/tv-app/android/App/app/libs/jniLibs/arm64-v8a/libc++_shared.so -# Prepare Native libs android-arm64-chip-tv-casting-app -mkdir -p {root}/examples/tv-casting-app/android/App/app/libs/jniLibs/arm64-v8a +cp {out}/android-arm64-tv-casting-app/lib/jni/arm64-v8a/libTvApp.so {root}/examples/tv-app/android/App/app/libs/jniLibs/arm64-v8a/libTvApp.so -cp {out}/android-arm64-chip-tv-casting-app/lib/jni/arm64-v8a/libc++_shared.so {root}/examples/tv-casting-app/android/App/app/libs/jniLibs/arm64-v8a/libc++_shared.so +cp {out}/android-arm64-tv-casting-app/lib/third_party/connectedhomeip/src/setup_payload/java/SetupPayloadParser.jar {root}/examples/tv-app/android/App/app/libs/SetupPayloadParser.jar -cp {out}/android-arm64-chip-tv-casting-app/lib/jni/arm64-v8a/libTvCastingApp.so {root}/examples/tv-casting-app/android/App/app/libs/jniLibs/arm64-v8a/libTvCastingApp.so +cp {out}/android-arm64-tv-casting-app/lib/third_party/connectedhomeip/src/platform/android/AndroidPlatform.jar {root}/examples/tv-app/android/App/app/libs/AndroidPlatform.jar -cp {out}/android-arm64-chip-tv-casting-app/lib/third_party/connectedhomeip/src/platform/android/AndroidPlatform.jar {root}/examples/tv-casting-app/android/App/app/libs/AndroidPlatform.jar +cp {out}/android-arm64-tv-casting-app/lib/third_party/connectedhomeip/src/app/server/java/CHIPAppServer.jar {root}/examples/tv-app/android/App/app/libs/CHIPAppServer.jar -cp {out}/android-arm64-chip-tv-casting-app/lib/third_party/connectedhomeip/src/app/server/java/CHIPAppServer.jar {root}/examples/tv-casting-app/android/App/app/libs/CHIPAppServer.jar +cp {out}/android-arm64-tv-casting-app/lib/TvApp.jar {root}/examples/tv-app/android/App/app/libs/TvApp.jar -cp {out}/android-arm64-chip-tv-casting-app/lib/TvCastingApp.jar {root}/examples/tv-casting-app/android/App/app/libs/TvCastingApp.jar +# Building Example android-arm64-tv-casting-app, module platform-app +{root}/examples/tv-app/android/App/gradlew -p {root}/examples/tv-app/android/App/ -PmatterBuildSrcDir={out}/android-arm64-tv-casting-app -PmatterSdkSourceBuild=false -PbuildDir={out}/android-arm64-tv-casting-app/platform-app :platform-app:assembleDebug -# Building Example android-arm64-chip-tv-casting-app -{root}/examples/tv-casting-app/android/App/gradlew -p {root}/examples/tv-casting-app/android/App/ -PmatterBuildSrcDir={out}/android-arm64-chip-tv-casting-app -PmatterSdkSourceBuild=false -PbuildDir={out}/android-arm64-chip-tv-casting-app assembleDebug +# Building Example android-arm64-tv-casting-app, module content-app +{root}/examples/tv-app/android/App/gradlew -p {root}/examples/tv-app/android/App/ -PmatterBuildSrcDir={out}/android-arm64-tv-casting-app -PmatterSdkSourceBuild=false -PbuildDir={out}/android-arm64-tv-casting-app/content-app :content-app:assembleDebug -# Building JNI android-arm64-chip-tvserver -ninja -C {out}/android-arm64-chip-tvserver +# Building JNI android-arm64-tv-server +ninja -C {out}/android-arm64-tv-server -# Prepare Native libs android-arm64-chip-tvserver +# Prepare Native libs android-arm64-tv-server mkdir -p {root}/examples/tv-app/android/App/app/libs/jniLibs/arm64-v8a -cp {out}/android-arm64-chip-tvserver/lib/jni/arm64-v8a/libSetupPayloadParser.so {root}/examples/tv-app/android/App/app/libs/jniLibs/arm64-v8a/libSetupPayloadParser.so +cp {out}/android-arm64-tv-server/lib/jni/arm64-v8a/libSetupPayloadParser.so {root}/examples/tv-app/android/App/app/libs/jniLibs/arm64-v8a/libSetupPayloadParser.so -cp {out}/android-arm64-chip-tvserver/lib/jni/arm64-v8a/libc++_shared.so {root}/examples/tv-app/android/App/app/libs/jniLibs/arm64-v8a/libc++_shared.so +cp {out}/android-arm64-tv-server/lib/jni/arm64-v8a/libc++_shared.so {root}/examples/tv-app/android/App/app/libs/jniLibs/arm64-v8a/libc++_shared.so -cp {out}/android-arm64-chip-tvserver/lib/jni/arm64-v8a/libTvApp.so {root}/examples/tv-app/android/App/app/libs/jniLibs/arm64-v8a/libTvApp.so +cp {out}/android-arm64-tv-server/lib/jni/arm64-v8a/libTvApp.so {root}/examples/tv-app/android/App/app/libs/jniLibs/arm64-v8a/libTvApp.so -cp {out}/android-arm64-chip-tvserver/lib/third_party/connectedhomeip/src/setup_payload/java/SetupPayloadParser.jar {root}/examples/tv-app/android/App/app/libs/SetupPayloadParser.jar +cp {out}/android-arm64-tv-server/lib/third_party/connectedhomeip/src/setup_payload/java/SetupPayloadParser.jar {root}/examples/tv-app/android/App/app/libs/SetupPayloadParser.jar -cp {out}/android-arm64-chip-tvserver/lib/third_party/connectedhomeip/src/platform/android/AndroidPlatform.jar {root}/examples/tv-app/android/App/app/libs/AndroidPlatform.jar +cp {out}/android-arm64-tv-server/lib/third_party/connectedhomeip/src/platform/android/AndroidPlatform.jar {root}/examples/tv-app/android/App/app/libs/AndroidPlatform.jar -cp {out}/android-arm64-chip-tvserver/lib/third_party/connectedhomeip/src/app/server/java/CHIPAppServer.jar {root}/examples/tv-app/android/App/app/libs/CHIPAppServer.jar +cp {out}/android-arm64-tv-server/lib/third_party/connectedhomeip/src/app/server/java/CHIPAppServer.jar {root}/examples/tv-app/android/App/app/libs/CHIPAppServer.jar -cp {out}/android-arm64-chip-tvserver/lib/TvApp.jar {root}/examples/tv-app/android/App/app/libs/TvApp.jar +cp {out}/android-arm64-tv-server/lib/TvApp.jar {root}/examples/tv-app/android/App/app/libs/TvApp.jar -# Building Example android-arm64-chip-tvserver, module platform-app -{root}/examples/tv-app/android/App/gradlew -p {root}/examples/tv-app/android/App/ -PmatterBuildSrcDir={out}/android-arm64-chip-tvserver -PmatterSdkSourceBuild=false -PbuildDir={out}/android-arm64-chip-tvserver/platform-app :platform-app:assembleDebug +# Building Example android-arm64-tv-server, module platform-app +{root}/examples/tv-app/android/App/gradlew -p {root}/examples/tv-app/android/App/ -PmatterBuildSrcDir={out}/android-arm64-tv-server -PmatterSdkSourceBuild=false -PbuildDir={out}/android-arm64-tv-server/platform-app :platform-app:assembleDebug -# Building Example android-arm64-chip-tvserver, module content-app -{root}/examples/tv-app/android/App/gradlew -p {root}/examples/tv-app/android/App/ -PmatterBuildSrcDir={out}/android-arm64-chip-tvserver -PmatterSdkSourceBuild=false -PbuildDir={out}/android-arm64-chip-tvserver/content-app :content-app:assembleDebug +# Building Example android-arm64-tv-server, module content-app +{root}/examples/tv-app/android/App/gradlew -p {root}/examples/tv-app/android/App/ -PmatterBuildSrcDir={out}/android-arm64-tv-server -PmatterSdkSourceBuild=false -PbuildDir={out}/android-arm64-tv-server/content-app :content-app:assembleDebug # Building JNI android-x64-chip-tool ninja -C {out}/android-x64-chip-tool @@ -1360,31 +1374,31 @@ cp {out}/android-x64-chip-tool/lib/src/platform/android/AndroidPlatform.jar {roo # Building APP android-x64-chip-tool {root}/src/android/CHIPTool/gradlew -p {root}/src/android/CHIPTool -PmatterBuildSrcDir={out}/android-x64-chip-tool -PmatterSdkSourceBuild=false -PbuildDir={out}/android-x64-chip-tool assembleDebug -# Building JNI android-x64-chip-tvserver -ninja -C {out}/android-x64-chip-tvserver +# Building JNI android-x64-tv-server +ninja -C {out}/android-x64-tv-server -# Prepare Native libs android-x64-chip-tvserver +# Prepare Native libs android-x64-tv-server mkdir -p {root}/examples/tv-app/android/App/app/libs/jniLibs/x86_64 -cp {out}/android-x64-chip-tvserver/lib/jni/x86_64/libSetupPayloadParser.so {root}/examples/tv-app/android/App/app/libs/jniLibs/x86_64/libSetupPayloadParser.so +cp {out}/android-x64-tv-server/lib/jni/x86_64/libSetupPayloadParser.so {root}/examples/tv-app/android/App/app/libs/jniLibs/x86_64/libSetupPayloadParser.so -cp {out}/android-x64-chip-tvserver/lib/jni/x86_64/libc++_shared.so {root}/examples/tv-app/android/App/app/libs/jniLibs/x86_64/libc++_shared.so +cp {out}/android-x64-tv-server/lib/jni/x86_64/libc++_shared.so {root}/examples/tv-app/android/App/app/libs/jniLibs/x86_64/libc++_shared.so -cp {out}/android-x64-chip-tvserver/lib/jni/x86_64/libTvApp.so {root}/examples/tv-app/android/App/app/libs/jniLibs/x86_64/libTvApp.so +cp {out}/android-x64-tv-server/lib/jni/x86_64/libTvApp.so {root}/examples/tv-app/android/App/app/libs/jniLibs/x86_64/libTvApp.so -cp {out}/android-x64-chip-tvserver/lib/third_party/connectedhomeip/src/setup_payload/java/SetupPayloadParser.jar {root}/examples/tv-app/android/App/app/libs/SetupPayloadParser.jar +cp {out}/android-x64-tv-server/lib/third_party/connectedhomeip/src/setup_payload/java/SetupPayloadParser.jar {root}/examples/tv-app/android/App/app/libs/SetupPayloadParser.jar -cp {out}/android-x64-chip-tvserver/lib/third_party/connectedhomeip/src/platform/android/AndroidPlatform.jar {root}/examples/tv-app/android/App/app/libs/AndroidPlatform.jar +cp {out}/android-x64-tv-server/lib/third_party/connectedhomeip/src/platform/android/AndroidPlatform.jar {root}/examples/tv-app/android/App/app/libs/AndroidPlatform.jar -cp {out}/android-x64-chip-tvserver/lib/third_party/connectedhomeip/src/app/server/java/CHIPAppServer.jar {root}/examples/tv-app/android/App/app/libs/CHIPAppServer.jar +cp {out}/android-x64-tv-server/lib/third_party/connectedhomeip/src/app/server/java/CHIPAppServer.jar {root}/examples/tv-app/android/App/app/libs/CHIPAppServer.jar -cp {out}/android-x64-chip-tvserver/lib/TvApp.jar {root}/examples/tv-app/android/App/app/libs/TvApp.jar +cp {out}/android-x64-tv-server/lib/TvApp.jar {root}/examples/tv-app/android/App/app/libs/TvApp.jar -# Building Example android-x64-chip-tvserver, module platform-app -{root}/examples/tv-app/android/App/gradlew -p {root}/examples/tv-app/android/App/ -PmatterBuildSrcDir={out}/android-x64-chip-tvserver -PmatterSdkSourceBuild=false -PbuildDir={out}/android-x64-chip-tvserver/platform-app :platform-app:assembleDebug +# Building Example android-x64-tv-server, module platform-app +{root}/examples/tv-app/android/App/gradlew -p {root}/examples/tv-app/android/App/ -PmatterBuildSrcDir={out}/android-x64-tv-server -PmatterSdkSourceBuild=false -PbuildDir={out}/android-x64-tv-server/platform-app :platform-app:assembleDebug -# Building Example android-x64-chip-tvserver, module content-app -{root}/examples/tv-app/android/App/gradlew -p {root}/examples/tv-app/android/App/ -PmatterBuildSrcDir={out}/android-x64-chip-tvserver -PmatterSdkSourceBuild=false -PbuildDir={out}/android-x64-chip-tvserver/content-app :content-app:assembleDebug +# Building Example android-x64-tv-server, module content-app +{root}/examples/tv-app/android/App/gradlew -p {root}/examples/tv-app/android/App/ -PmatterBuildSrcDir={out}/android-x64-tv-server -PmatterSdkSourceBuild=false -PbuildDir={out}/android-x64-tv-server/content-app :content-app:assembleDebug # Building JNI android-x86-chip-tool ninja -C {out}/android-x86-chip-tool @@ -1407,31 +1421,31 @@ cp {out}/android-x86-chip-tool/lib/src/platform/android/AndroidPlatform.jar {roo # Building APP android-x86-chip-tool {root}/src/android/CHIPTool/gradlew -p {root}/src/android/CHIPTool -PmatterBuildSrcDir={out}/android-x86-chip-tool -PmatterSdkSourceBuild=false -PbuildDir={out}/android-x86-chip-tool assembleDebug -# Building JNI android-x86-chip-tvserver -ninja -C {out}/android-x86-chip-tvserver +# Building JNI android-x86-tv-server +ninja -C {out}/android-x86-tv-server -# Prepare Native libs android-x86-chip-tvserver +# Prepare Native libs android-x86-tv-server mkdir -p {root}/examples/tv-app/android/App/app/libs/jniLibs/x86 -cp {out}/android-x86-chip-tvserver/lib/jni/x86/libSetupPayloadParser.so {root}/examples/tv-app/android/App/app/libs/jniLibs/x86/libSetupPayloadParser.so +cp {out}/android-x86-tv-server/lib/jni/x86/libSetupPayloadParser.so {root}/examples/tv-app/android/App/app/libs/jniLibs/x86/libSetupPayloadParser.so -cp {out}/android-x86-chip-tvserver/lib/jni/x86/libc++_shared.so {root}/examples/tv-app/android/App/app/libs/jniLibs/x86/libc++_shared.so +cp {out}/android-x86-tv-server/lib/jni/x86/libc++_shared.so {root}/examples/tv-app/android/App/app/libs/jniLibs/x86/libc++_shared.so -cp {out}/android-x86-chip-tvserver/lib/jni/x86/libTvApp.so {root}/examples/tv-app/android/App/app/libs/jniLibs/x86/libTvApp.so +cp {out}/android-x86-tv-server/lib/jni/x86/libTvApp.so {root}/examples/tv-app/android/App/app/libs/jniLibs/x86/libTvApp.so -cp {out}/android-x86-chip-tvserver/lib/third_party/connectedhomeip/src/setup_payload/java/SetupPayloadParser.jar {root}/examples/tv-app/android/App/app/libs/SetupPayloadParser.jar +cp {out}/android-x86-tv-server/lib/third_party/connectedhomeip/src/setup_payload/java/SetupPayloadParser.jar {root}/examples/tv-app/android/App/app/libs/SetupPayloadParser.jar -cp {out}/android-x86-chip-tvserver/lib/third_party/connectedhomeip/src/platform/android/AndroidPlatform.jar {root}/examples/tv-app/android/App/app/libs/AndroidPlatform.jar +cp {out}/android-x86-tv-server/lib/third_party/connectedhomeip/src/platform/android/AndroidPlatform.jar {root}/examples/tv-app/android/App/app/libs/AndroidPlatform.jar -cp {out}/android-x86-chip-tvserver/lib/third_party/connectedhomeip/src/app/server/java/CHIPAppServer.jar {root}/examples/tv-app/android/App/app/libs/CHIPAppServer.jar +cp {out}/android-x86-tv-server/lib/third_party/connectedhomeip/src/app/server/java/CHIPAppServer.jar {root}/examples/tv-app/android/App/app/libs/CHIPAppServer.jar -cp {out}/android-x86-chip-tvserver/lib/TvApp.jar {root}/examples/tv-app/android/App/app/libs/TvApp.jar +cp {out}/android-x86-tv-server/lib/TvApp.jar {root}/examples/tv-app/android/App/app/libs/TvApp.jar -# Building Example android-x86-chip-tvserver, module platform-app -{root}/examples/tv-app/android/App/gradlew -p {root}/examples/tv-app/android/App/ -PmatterBuildSrcDir={out}/android-x86-chip-tvserver -PmatterSdkSourceBuild=false -PbuildDir={out}/android-x86-chip-tvserver/platform-app :platform-app:assembleDebug +# Building Example android-x86-tv-server, module platform-app +{root}/examples/tv-app/android/App/gradlew -p {root}/examples/tv-app/android/App/ -PmatterBuildSrcDir={out}/android-x86-tv-server -PmatterSdkSourceBuild=false -PbuildDir={out}/android-x86-tv-server/platform-app :platform-app:assembleDebug -# Building Example android-x86-chip-tvserver, module content-app -{root}/examples/tv-app/android/App/gradlew -p {root}/examples/tv-app/android/App/ -PmatterBuildSrcDir={out}/android-x86-chip-tvserver -PmatterSdkSourceBuild=false -PbuildDir={out}/android-x86-chip-tvserver/content-app :content-app:assembleDebug +# Building Example android-x86-tv-server, module content-app +{root}/examples/tv-app/android/App/gradlew -p {root}/examples/tv-app/android/App/ -PmatterBuildSrcDir={out}/android-x86-tv-server -PmatterSdkSourceBuild=false -PbuildDir={out}/android-x86-tv-server/content-app :content-app:assembleDebug # Building bl602-light ninja -C {out}/bl602-light diff --git a/scripts/build/testdata/glob_star_targets_except_host.txt b/scripts/build/testdata/glob_star_targets_except_host.txt index e8bcb0bf1568d2..af7c10978059c8 100644 --- a/scripts/build/testdata/glob_star_targets_except_host.txt +++ b/scripts/build/testdata/glob_star_targets_except_host.txt @@ -7,16 +7,16 @@ android-androidstudio-arm64-chip-tool android-androidstudio-x64-chip-tool android-androidstudio-x86-chip-tool android-arm-chip-tool -android-arm-chip-tv-casting-app -android-arm-chip-tvserver +android-arm-tv-casting-app +android-arm-tv-server android-arm64-chip-test android-arm64-chip-tool -android-arm64-chip-tv-casting-app -android-arm64-chip-tvserver +android-arm64-tv-casting-app +android-arm64-tv-server android-x64-chip-tool -android-x64-chip-tvserver +android-x64-tv-server android-x86-chip-tool -android-x86-chip-tvserver +android-x86-tv-server bl602-light cc13x2x7_26x2x7-all-clusters cc13x2x7_26x2x7-all-clusters-minimal diff --git a/scripts/tests/chiptest/__init__.py b/scripts/tests/chiptest/__init__.py index cb80b46021cbb9..806a6a462de8d7 100644 --- a/scripts/tests/chiptest/__init__.py +++ b/scripts/tests/chiptest/__init__.py @@ -21,32 +21,34 @@ def target_for_name(name: str): - if name.startswith('TV_') or name.startswith('Test_TC_MC_'): + if name.startswith("TV_") or name.startswith("Test_TC_MC_"): return TestTarget.TV - if name.startswith('DL_') or name.startswith('Test_TC_DL_'): + if name.startswith("DL_") or name.startswith("Test_TC_DLRK_"): return TestTarget.LOCK - if name.startswith('OTA_'): + if name.startswith("OTA_"): return TestTarget.OTA return TestTarget.ALL_CLUSTERS def tests_with_command(chip_tool: str, is_manual: bool): """Executes `chip_tool` binary to see what tests are available, using cmd - to get the list. + to get the list. """ - cmd = 'list' + cmd = "list" if is_manual: - cmd += '-manual' + cmd += "-manual" - result = subprocess.run([chip_tool, 'tests', cmd], capture_output=True) + result = subprocess.run([chip_tool, "tests", cmd], capture_output=True) - for name in result.stdout.decode('utf8').split('\n'): + for name in result.stdout.decode("utf8").split("\n"): if not name: continue target = target_for_name(name) - yield TestDefinition(run_name=name, name=name, target=target, is_manual=is_manual) + yield TestDefinition( + run_name=name, name=name, target=target, is_manual=is_manual + ) def AllTests(chip_tool: str): @@ -58,6 +60,10 @@ def AllTests(chip_tool: str): __all__ = [ - 'TestTarget', 'TestDefinition', 'AllTests', 'ApplicationPaths', - 'linux', 'runner', + "TestTarget", + "TestDefinition", + "AllTests", + "ApplicationPaths", + "linux", + "runner", ] diff --git a/src/app/clusters/door-lock-server/door-lock-server.cpp b/src/app/clusters/door-lock-server/door-lock-server.cpp index 84b199bb7c591e..2c92d1c73ae616 100644 --- a/src/app/clusters/door-lock-server/door-lock-server.cpp +++ b/src/app/clusters/door-lock-server/door-lock-server.cpp @@ -230,7 +230,7 @@ bool DoorLockServer::GetNumberOfHolidaySchedulesSupported(chip::EndpointId endpo Attributes::NumberOfHolidaySchedulesSupported::Get, numberOfHolidaySchedules); } -void DoorLockServer::SetUserCommandHandler(chip::app::CommandHandler * commandObj, +void DoorLockServer::setUserCommandHandler(chip::app::CommandHandler * commandObj, const chip::app::ConcreteCommandPath & commandPath, const chip::app::Clusters::DoorLock::Commands::SetUser::DecodableType & commandData) { @@ -271,7 +271,8 @@ void DoorLockServer::SetUserCommandHandler(chip::app::CommandHandler * commandOb if (!userIndexValid(commandPath.mEndpointId, userIndex)) { - emberAfDoorLockClusterPrintln("[SetUser] User index out of bounds [userIndex=%d]", userIndex); + emberAfDoorLockClusterPrintln("[SetUser] User index out of bounds [endpointId=%d,userIndex=%d]", commandPath.mEndpointId, + userIndex); emberAfSendImmediateDefaultResponse(EMBER_ZCL_STATUS_INVALID_COMMAND); return; } @@ -287,6 +288,27 @@ void DoorLockServer::SetUserCommandHandler(chip::app::CommandHandler * commandOb return; } + if (!userStatus.IsNull() && + (userStatus.Value() < DlUserStatus::kAvailable || userStatus.Value() > DlUserStatus::kOccupiedDisabled)) + { + emberAfDoorLockClusterPrintln( + "[SetUser] Unable to set the user: user status is out of range [endpointId=%d,userIndex=%d,userStatus=%u]", + commandPath.mEndpointId, userIndex, to_underlying(userStatus.Value())); + + emberAfSendImmediateDefaultResponse(EMBER_ZCL_STATUS_INVALID_COMMAND); + return; + } + + if (!userType.IsNull() && (userType.Value() < DlUserType::kUnrestrictedUser || userType.Value() > DlUserType::kRemoteOnlyUser)) + { + emberAfDoorLockClusterPrintln( + "[SetUser] Unable to set the user: user type is out of range [endpointId=%d,userIndex=%d,userType=%u]", + commandPath.mEndpointId, userIndex, to_underlying(userType.Value())); + + emberAfSendImmediateDefaultResponse(EMBER_ZCL_STATUS_INVALID_COMMAND); + return; + } + EmberAfStatus status = EMBER_ZCL_STATUS_SUCCESS; switch (operationType) { @@ -299,20 +321,21 @@ void DoorLockServer::SetUserCommandHandler(chip::app::CommandHandler * commandOb userType, credentialRule); break; case DlDataOperationType::kClear: + default: // appclusters, 5.2.4.34: SetUser command allow only kAdd/kModify, we should respond with INVALID_COMMAND if we got kClear + // or anything else status = EMBER_ZCL_STATUS_INVALID_COMMAND; + emberAfDoorLockClusterPrintln("[SetUser] Invalid operation type [endpointId=%d,operationType=%u]", commandPath.mEndpointId, + to_underlying(operationType)); break; } emberAfSendImmediateDefaultResponse(status); } -void DoorLockServer::GetUserCommandHandler(chip::app::CommandHandler * commandObj, - const chip::app::ConcreteCommandPath & commandPath, - const chip::app::Clusters::DoorLock::Commands::GetUser::DecodableType & commandData) +void DoorLockServer::getUserCommandHandler(chip::app::CommandHandler * commandObj, + const chip::app::ConcreteCommandPath & commandPath, uint16_t userIndex) { - auto & userIndex = commandData.userIndex; - emberAfDoorLockClusterPrintln("[GetUser] Incoming command [endpointId=%d,userIndex=%d]", commandPath.mEndpointId, userIndex); if (!SupportsUSR(commandPath.mEndpointId)) @@ -412,11 +435,9 @@ void DoorLockServer::GetUserCommandHandler(chip::app::CommandHandler * commandOb } } -void DoorLockServer::ClearUserCommandHandler(chip::app::CommandHandler * commandObj, - const chip::app::ConcreteCommandPath & commandPath, - const chip::app::Clusters::DoorLock::Commands::ClearUser::DecodableType & commandData) +void DoorLockServer::clearUserCommandHandler(chip::app::CommandHandler * commandObj, + const chip::app::ConcreteCommandPath & commandPath, uint16_t userIndex) { - auto & userIndex = commandData.userIndex; emberAfDoorLockClusterPrintln("[ClearUser] Incoming command [endpointId=%d,userIndex=%d]", commandPath.mEndpointId, userIndex); if (!SupportsUSR(commandPath.mEndpointId)) @@ -485,7 +506,7 @@ void DoorLockServer::ClearUserCommandHandler(chip::app::CommandHandler * command emberAfSendImmediateDefaultResponse(EMBER_ZCL_STATUS_SUCCESS); } -void DoorLockServer::SetCredentialCommandHandler( +void DoorLockServer::setCredentialCommandHandler( chip::app::CommandHandler * commandObj, const chip::app::ConcreteCommandPath & commandPath, const chip::app::Clusters::DoorLock::Commands::SetCredential::DecodableType & commandData) { @@ -534,27 +555,15 @@ void DoorLockServer::SetCredentialCommandHandler( emberAfDoorLockClusterPrintln("[SetCredential] Credential index is out of range [endpointId=%d,credentialType=%u" ",credentialIndex=%d]", commandPath.mEndpointId, to_underlying(credentialType), credentialIndex); - sendSetCredentialResponse(commandObj, DlStatus::kInvalidField, 0, nextAvailableCredentialSlot); + sendSetCredentialResponse(commandObj, commandPath, DlStatus::kInvalidField, 0, nextAvailableCredentialSlot); return; } // appclusters, 5.2.4.40.3: If the credential data length is out of bounds we should return INVALID_COMMAND - size_t minSize, maxSize; - if (!getCredentialRange(commandPath.mEndpointId, credentialType, minSize, maxSize)) - { - emberAfDoorLockClusterPrintln( - "[SetCredential] Unable to get min/max range for credential: internal error [endpointId=%d,credentialIndex=%d]", - commandPath.mEndpointId, credentialIndex); - sendSetCredentialResponse(commandObj, DlStatus::kFailure, 0, nextAvailableCredentialSlot); - return; - } - if (credentialData.size() < minSize || credentialData.size() > maxSize) + auto status = credentialLengthWithinRange(commandPath.mEndpointId, credentialType, credentialData); + if (DlStatus::kSuccess != status) { - emberAfDoorLockClusterPrintln("[SetCredential] Credential data size is out of range " - "[endpointId=%d,credentialType=%u,minLength=%u,maxLength=%u,length=%u]", - commandPath.mEndpointId, to_underlying(credentialType), static_cast(minSize), - static_cast(maxSize), static_cast(credentialData.size())); - sendSetCredentialResponse(commandObj, DlStatus::kInvalidField, 0, nextAvailableCredentialSlot); + sendSetCredentialResponse(commandObj, commandPath, status, 0, nextAvailableCredentialSlot); return; } @@ -567,7 +576,7 @@ void DoorLockServer::SetCredentialCommandHandler( emberAfDoorLockClusterPrintln("[SetCredential] Unable to get the credential to exclude duplicated entry " "[endpointId=%d,credentialType=%u,credentialIndex=%d]", commandPath.mEndpointId, to_underlying(credentialType), i); - sendSetCredentialResponse(commandObj, DlStatus::kFailure, 0, nextAvailableCredentialSlot); + sendSetCredentialResponse(commandObj, commandPath, DlStatus::kFailure, 0, nextAvailableCredentialSlot); return; } if (DlCredentialStatus::kAvailable != currentCredential.status && currentCredential.credentialType == credentialType && @@ -578,7 +587,7 @@ void DoorLockServer::SetCredentialCommandHandler( "[endpointId=%d,credentialType=%u,dataLength=%u,existingCredentialIndex=%d,credentialIndex=%d]", commandPath.mEndpointId, to_underlying(credentialType), static_cast(credentialData.size()), i, credentialIndex); - sendSetCredentialResponse(commandObj, DlStatus::kDuplicate, 0, nextAvailableCredentialSlot); + sendSetCredentialResponse(commandObj, commandPath, DlStatus::kDuplicate, 0, nextAvailableCredentialSlot); return; } } @@ -590,7 +599,27 @@ void DoorLockServer::SetCredentialCommandHandler( "[SetCredential] Unable to check if credential exists: app error [endpointId=%d,credentialIndex=%d]", commandPath.mEndpointId, credentialIndex); - sendSetCredentialResponse(commandObj, DlStatus::kFailure, 0, nextAvailableCredentialSlot); + sendSetCredentialResponse(commandObj, commandPath, DlStatus::kFailure, 0, nextAvailableCredentialSlot); + return; + } + + // OPTIMIZE: We can unify the checks for enum validity here and in set user command handler + if (!userStatus.IsNull() && + (userStatus.Value() < DlUserStatus::kAvailable || userStatus.Value() > DlUserStatus::kOccupiedDisabled)) + { + emberAfDoorLockClusterPrintln("[SetCredential] Unable to set the credential: user status is out of range " + "[endpointId=%d,credentialIndex=%d,userStatus=%u]", + commandPath.mEndpointId, credentialIndex, to_underlying(userStatus.Value())); + sendSetCredentialResponse(commandObj, commandPath, DlStatus::kInvalidField, 0, nextAvailableCredentialSlot); + return; + } + + if (!userType.IsNull() && (userType.Value() < DlUserType::kUnrestrictedUser || userType.Value() > DlUserType::kRemoteOnlyUser)) + { + emberAfDoorLockClusterPrintln("[SetCredential] Unable to set the credential: user type is out of range " + "[endpointId=%d,credentialIndex=%d,userType=%u]", + commandPath.mEndpointId, credentialIndex, to_underlying(userType.Value())); + sendSetCredentialResponse(commandObj, commandPath, DlStatus::kInvalidField, 0, nextAvailableCredentialSlot); return; } @@ -599,9 +628,9 @@ void DoorLockServer::SetCredentialCommandHandler( case DlDataOperationType::kAdd: { uint16_t createdUserIndex = 0; - DlStatus status = createCredential(commandPath.mEndpointId, fabricIdx, sourceNodeId, credentialIndex, credentialType, - existingCredential, credentialData, userIndex, userStatus, userType, createdUserIndex); - sendSetCredentialResponse(commandObj, status, createdUserIndex, nextAvailableCredentialSlot); + status = createCredential(commandPath.mEndpointId, fabricIdx, sourceNodeId, credentialIndex, credentialType, + existingCredential, credentialData, userIndex, userStatus, userType, createdUserIndex); + sendSetCredentialResponse(commandObj, commandPath, status, createdUserIndex, nextAvailableCredentialSlot); return; } case DlDataOperationType::kModify: { @@ -612,42 +641,37 @@ void DoorLockServer::SetCredentialCommandHandler( "[endpointId=%d,credentialIndex=%d]", commandPath.mEndpointId, credentialIndex); - sendSetCredentialResponse(commandObj, DlStatus::kInvalidField, 0, nextAvailableCredentialSlot); + sendSetCredentialResponse(commandObj, commandPath, DlStatus::kInvalidField, 0, nextAvailableCredentialSlot); return; } // if userIndex is NULL then we're changing the programming user PIN if (userIndex.IsNull()) { - auto status = modifyProgrammingPIN(commandPath.mEndpointId, fabricIdx, sourceNodeId, credentialIndex, credentialType, - existingCredential, credentialData); - sendSetCredentialResponse(commandObj, status, 0, nextAvailableCredentialSlot); + status = modifyProgrammingPIN(commandPath.mEndpointId, fabricIdx, sourceNodeId, credentialIndex, credentialType, + existingCredential, credentialData); + sendSetCredentialResponse(commandObj, commandPath, status, 0, nextAvailableCredentialSlot); return; } - auto status = modifyCredential(commandPath.mEndpointId, fabricIdx, sourceNodeId, credentialIndex, credentialType, - existingCredential, credentialData, userIndex.Value(), userStatus, userType); - sendSetCredentialResponse(commandObj, status, 0, nextAvailableCredentialSlot); + status = modifyCredential(commandPath.mEndpointId, fabricIdx, sourceNodeId, credentialIndex, credentialType, + existingCredential, credentialData, userIndex.Value(), userStatus, userType); + sendSetCredentialResponse(commandObj, commandPath, status, 0, nextAvailableCredentialSlot); return; } case DlDataOperationType::kClear: + default: // appclusters, 5.2.4.40: set credential command supports only Add and Modify operational type. - emberAfSendImmediateDefaultResponse(EMBER_ZCL_STATUS_INVALID_COMMAND); - return; + sendSetCredentialResponse(commandObj, commandPath, DlStatus::kInvalidField, 0, nextAvailableCredentialSlot); } - - emberAfSendImmediateDefaultResponse(EMBER_ZCL_STATUS_SUCCESS); } -void DoorLockServer::GetCredentialStatusCommandHandler( - chip::app::CommandHandler * commandObj, const chip::app::ConcreteCommandPath & commandPath, - const chip::app::Clusters::DoorLock::Commands::GetCredentialStatus::DecodableType & commandData) +void DoorLockServer::getCredentialStatusCommandHandler(chip::app::CommandHandler * commandObj, + const chip::app::ConcreteCommandPath & commandPath, + DlCredentialType credentialType, uint16_t credentialIndex) { emberAfDoorLockClusterPrintln("[GetCredentialStatus] Incoming command [endpointId=%d]", commandPath.mEndpointId); - const auto & credentialType = commandData.credential.credentialType; - const auto & credentialIndex = commandData.credential.credentialIndex; - if (!credentialTypeSupported(commandPath.mEndpointId, credentialType)) { emberAfDoorLockClusterPrintln("[GetCredentialStatus] Credential type is not supported [endpointId=%d,credentialType=%u" @@ -726,7 +750,7 @@ void DoorLockServer::GetCredentialStatusCommandHandler( nextCredentialIndex); } -void DoorLockServer::ClearCredentialCommandHandler( +void DoorLockServer::clearCredentialCommandHandler( chip::app::CommandHandler * commandObj, const chip::app::ConcreteCommandPath & commandPath, const chip::app::Clusters::DoorLock::Commands::ClearCredential::DecodableType & commandData) { @@ -767,9 +791,10 @@ void DoorLockServer::ClearCredentialCommandHandler( clearCredential(commandPath.mEndpointId, modifier, sourceNodeId, credentialType, credentialIndex, false)); } -void DoorLockServer::SetWeekDayScheduleCommandHandler( - chip::app::CommandHandler * commandObj, const chip::app::ConcreteCommandPath & commandPath, - const chip::app::Clusters::DoorLock::Commands::SetWeekDaySchedule::DecodableType & commandData) +void DoorLockServer::setWeekDayScheduleCommandHandler(chip::app::CommandHandler * commandObj, + const chip::app::ConcreteCommandPath & commandPath, uint8_t weekDayIndex, + uint16_t userIndex, const chip::BitMask & daysMask, + uint8_t startHour, uint8_t startMinute, uint8_t endHour, uint8_t endMinute) { auto endpointId = commandPath.mEndpointId; if (!SupportsSchedules(endpointId)) @@ -797,20 +822,12 @@ void DoorLockServer::SetWeekDayScheduleCommandHandler( return; } - auto weekDayIndex = commandData.weekDayIndex; - auto userIndex = commandData.userIndex; - const auto & daysMask = commandData.daysMask; - auto startHour = commandData.startHour; - auto startMinute = commandData.startMinute; - auto endHour = commandData.endHour; - auto endMinute = commandData.endMinute; - if (!weekDayIndexValid(endpointId, weekDayIndex) || !userIndexValid(endpointId, userIndex)) { emberAfDoorLockClusterPrintln( "[SetWeekDaySchedule] Unable to add schedule - index out of range [endpointId=%d,weekDayIndex=%d,userIndex=%d]", endpointId, weekDayIndex, userIndex); - emberAfSendImmediateDefaultResponse(EMBER_ZCL_STATUS_INVALID_FIELD); + emberAfSendImmediateDefaultResponse(EMBER_ZCL_STATUS_INVALID_COMMAND); return; } @@ -819,7 +836,7 @@ void DoorLockServer::SetWeekDayScheduleCommandHandler( emberAfDoorLockClusterPrintln("[SetWeekDaySchedule] Unable to add schedule - user does not exist " "[endpointId=%d,weekDayIndex=%d,userIndex=%d]", endpointId, weekDayIndex, userIndex); - emberAfSendImmediateDefaultResponse(EMBER_ZCL_STATUS_NOT_FOUND); + emberAfSendImmediateDefaultResponse(EMBER_ZCL_STATUS_FAILURE); return; } @@ -832,12 +849,13 @@ void DoorLockServer::SetWeekDayScheduleCommandHandler( rawDaysMask = static_cast(rawDaysMask >> 1); } + // TODO: Check that bits are within range if (setBitsInDaysMask == 0 || setBitsInDaysMask > 1) { emberAfDoorLockClusterPrintln("[SetWeekDaySchedule] Unable to add schedule - daysMask is out of range " "[endpointId=%d,weekDayIndex=%d,userIndex=%d,daysMask=%x]", endpointId, weekDayIndex, userIndex, daysMask.Raw()); - emberAfSendImmediateDefaultResponse(EMBER_ZCL_STATUS_INVALID_FIELD); + emberAfSendImmediateDefaultResponse(EMBER_ZCL_STATUS_INVALID_COMMAND); return; } @@ -847,7 +865,7 @@ void DoorLockServer::SetWeekDayScheduleCommandHandler( emberAfDoorLockClusterPrintln("[SetWeekDaySchedule] Unable to add schedule - start time out of range " "[endpointId=%d,weekDayIndex=%d,userIndex=%d,startTime=\"%d:%d\",endTime=\"%d:%d\"]", endpointId, weekDayIndex, userIndex, startHour, startMinute, endHour, endMinute); - emberAfSendImmediateDefaultResponse(EMBER_ZCL_STATUS_INVALID_FIELD); + emberAfSendImmediateDefaultResponse(EMBER_ZCL_STATUS_INVALID_COMMAND); return; } @@ -856,7 +874,7 @@ void DoorLockServer::SetWeekDayScheduleCommandHandler( emberAfDoorLockClusterPrintln("[SetWeekDaySchedule] Unable to add schedule - invalid time " "[endpointId=%d,weekDayIndex=%d,userIndex=%d,startTime=\"%d:%d\",endTime=\"%d:%d\"]", endpointId, weekDayIndex, userIndex, startHour, startMinute, endHour, endMinute); - emberAfSendImmediateDefaultResponse(EMBER_ZCL_STATUS_INVALID_FIELD); + emberAfSendImmediateDefaultResponse(EMBER_ZCL_STATUS_INVALID_COMMAND); return; } @@ -882,9 +900,9 @@ void DoorLockServer::SetWeekDayScheduleCommandHandler( emberAfSendImmediateDefaultResponse(EMBER_ZCL_STATUS_SUCCESS); } -void DoorLockServer::GetWeekDayScheduleCommandHandler( - chip::app::CommandHandler * commandObj, const chip::app::ConcreteCommandPath & commandPath, - const chip::app::Clusters::DoorLock::Commands::GetWeekDaySchedule::DecodableType & commandData) +void DoorLockServer::getWeekDayScheduleCommandHandler(chip::app::CommandHandler * commandObj, + const chip::app::ConcreteCommandPath & commandPath, uint8_t weekDayIndex, + uint16_t userIndex) { auto endpointId = commandPath.mEndpointId; if (!SupportsSchedules(endpointId)) @@ -896,9 +914,6 @@ void DoorLockServer::GetWeekDayScheduleCommandHandler( emberAfDoorLockClusterPrintln("[GetWeekDaySchedule] Incoming command [endpointId=%d]", endpointId); - auto weekDayIndex = commandData.weekDayIndex; - auto userIndex = commandData.userIndex; - if (!weekDayIndexValid(endpointId, weekDayIndex) || !userIndexValid(endpointId, userIndex)) { emberAfDoorLockClusterPrintln( @@ -912,7 +927,7 @@ void DoorLockServer::GetWeekDayScheduleCommandHandler( { emberAfDoorLockClusterPrintln("[GetWeekDaySchedule] User does not exist [endpointId=%d,weekDayIndex=%d,userIndex=%d]", endpointId, weekDayIndex, userIndex); - sendGetWeekDayScheduleResponse(commandObj, commandPath, weekDayIndex, userIndex, DlStatus::kNotFound); + sendGetWeekDayScheduleResponse(commandObj, commandPath, weekDayIndex, userIndex, DlStatus::kFailure); return; } @@ -928,9 +943,9 @@ void DoorLockServer::GetWeekDayScheduleCommandHandler( scheduleInfo.startHour, scheduleInfo.startMinute, scheduleInfo.endHour, scheduleInfo.endMinute); } -void DoorLockServer::ClearWeekDayScheduleCommandHandler( - chip::app::CommandHandler * commandObj, const chip::app::ConcreteCommandPath & commandPath, - const chip::app::Clusters::DoorLock::Commands::ClearWeekDaySchedule::DecodableType & commandData) +void DoorLockServer::clearWeekDayScheduleCommandHandler(chip::app::CommandHandler * commandObj, + const chip::app::ConcreteCommandPath & commandPath, uint8_t weekDayIndex, + uint16_t userIndex) { auto endpointId = commandPath.mEndpointId; if (!SupportsSchedules(endpointId)) @@ -958,9 +973,6 @@ void DoorLockServer::ClearWeekDayScheduleCommandHandler( return; } - auto weekDayIndex = commandData.weekDayIndex; - auto userIndex = commandData.userIndex; - if (!userIndexValid(endpointId, userIndex) || (!weekDayIndexValid(endpointId, weekDayIndex) && 0xFE != weekDayIndex)) { emberAfDoorLockClusterPrintln( @@ -974,7 +986,7 @@ void DoorLockServer::ClearWeekDayScheduleCommandHandler( { emberAfDoorLockClusterPrintln("[ClearWeekDaySchedule] User does not exist [endpointId=%d,weekDayIndex=%d,userIndex=%d]", endpointId, weekDayIndex, userIndex); - emberAfSendImmediateDefaultResponse(EMBER_ZCL_STATUS_NOT_FOUND); + emberAfSendImmediateDefaultResponse(EMBER_ZCL_STATUS_FAILURE); return; } @@ -1008,9 +1020,9 @@ void DoorLockServer::ClearWeekDayScheduleCommandHandler( emberAfSendImmediateDefaultResponse(EMBER_ZCL_STATUS_SUCCESS); } -void DoorLockServer::SetYearDayScheduleCommandHandler( - chip::app::CommandHandler * commandObj, const chip::app::ConcreteCommandPath & commandPath, - const chip::app::Clusters::DoorLock::Commands::SetYearDaySchedule::DecodableType & commandData) +void DoorLockServer::setYearDayScheduleCommandHandler(chip::app::CommandHandler * commandObj, + const chip::app::ConcreteCommandPath & commandPath, uint8_t yearDayIndex, + uint16_t userIndex, uint32_t localStartTime, uint32_t localEndTime) { auto endpointId = commandPath.mEndpointId; if (!SupportsSchedules(endpointId)) @@ -1038,17 +1050,12 @@ void DoorLockServer::SetYearDayScheduleCommandHandler( return; } - auto yearDayIndex = commandData.yearDayIndex; - auto userIndex = commandData.userIndex; - auto localStarTime = commandData.localStartTime; - auto localEndTime = commandData.localEndTime; - if (!yearDayIndexValid(endpointId, yearDayIndex) || !userIndexValid(endpointId, userIndex)) { emberAfDoorLockClusterPrintln( "[SetYearDaySchedule] Unable to add schedule - index out of range [endpointId=%d,yearDayIndex=%d,userIndex=%d]", endpointId, yearDayIndex, userIndex); - emberAfSendImmediateDefaultResponse(EMBER_ZCL_STATUS_INVALID_FIELD); + emberAfSendImmediateDefaultResponse(EMBER_ZCL_STATUS_INVALID_COMMAND); return; } @@ -1057,21 +1064,21 @@ void DoorLockServer::SetYearDayScheduleCommandHandler( emberAfDoorLockClusterPrintln("[SetYearDaySchedule] Unable to add schedule - user does not exist " "[endpointId=%d,yearDayIndex=%d,userIndex=%d]", endpointId, yearDayIndex, userIndex); - emberAfSendImmediateDefaultResponse(EMBER_ZCL_STATUS_NOT_FOUND); + emberAfSendImmediateDefaultResponse(EMBER_ZCL_STATUS_FAILURE); return; } - if (localEndTime <= localStarTime) + if (localEndTime <= localStartTime) { emberAfDoorLockClusterPrintln("[SetYearDaySchedule] Unable to add schedule - schedule ends earlier than starts" "[endpointId=%d,yearDayIndex=%d,userIndex=%d,localStarTime=%" PRIu32 ",localEndTime=%" PRIu32 "]", - endpointId, yearDayIndex, userIndex, localStarTime, localEndTime); - emberAfSendImmediateDefaultResponse(EMBER_ZCL_STATUS_INVALID_FIELD); + endpointId, yearDayIndex, userIndex, localStartTime, localEndTime); + emberAfSendImmediateDefaultResponse(EMBER_ZCL_STATUS_INVALID_COMMAND); return; } - auto status = emberAfPluginDoorLockSetSchedule(endpointId, yearDayIndex, userIndex, DlScheduleStatus::kOccupied, localStarTime, + auto status = emberAfPluginDoorLockSetSchedule(endpointId, yearDayIndex, userIndex, DlScheduleStatus::kOccupied, localStartTime, localEndTime); if (DlStatus::kSuccess != status) { @@ -1085,7 +1092,7 @@ void DoorLockServer::SetYearDayScheduleCommandHandler( emberAfDoorLockClusterPrintln("[SetYearDaySchedule] Successfully created new schedule " "[endpointId=%d,yearDayIndex=%d,userIndex=%d,localStartTime=%" PRIu32 ",endTime=%" PRIu32 "]", - endpointId, yearDayIndex, userIndex, localStarTime, localEndTime); + endpointId, yearDayIndex, userIndex, localStartTime, localEndTime); sendRemoteLockUserChange(endpointId, DlLockDataType::kYearDaySchedule, DlDataOperationType::kAdd, sourceNodeId, fabricIdx, userIndex, static_cast(yearDayIndex)); @@ -1093,9 +1100,9 @@ void DoorLockServer::SetYearDayScheduleCommandHandler( emberAfSendImmediateDefaultResponse(EMBER_ZCL_STATUS_SUCCESS); } -void DoorLockServer::GetYearDayScheduleCommandHandler( - chip::app::CommandHandler * commandObj, const chip::app::ConcreteCommandPath & commandPath, - const chip::app::Clusters::DoorLock::Commands::GetYearDaySchedule::DecodableType & commandData) +void DoorLockServer::getYearDayScheduleCommandHandler(chip::app::CommandHandler * commandObj, + const chip::app::ConcreteCommandPath & commandPath, uint8_t yearDayIndex, + uint16_t userIndex) { auto endpointId = commandPath.mEndpointId; if (!SupportsSchedules(endpointId)) @@ -1106,9 +1113,6 @@ void DoorLockServer::GetYearDayScheduleCommandHandler( } emberAfDoorLockClusterPrintln("[GetYearDaySchedule] incoming command [endpointId=%d]", endpointId); - auto yearDayIndex = commandData.yearDayIndex; - auto userIndex = commandData.userIndex; - if (!yearDayIndexValid(endpointId, yearDayIndex) || !userIndexValid(endpointId, userIndex)) { emberAfDoorLockClusterPrintln( @@ -1122,7 +1126,7 @@ void DoorLockServer::GetYearDayScheduleCommandHandler( { emberAfDoorLockClusterPrintln("[GetYearDaySchedule] User does not exist [endpointId=%d,yearDayIndex=%d,userIndex=%d]", endpointId, yearDayIndex, userIndex); - sendGetYearDayScheduleResponse(commandObj, commandPath, yearDayIndex, userIndex, DlStatus::kNotFound); + sendGetYearDayScheduleResponse(commandObj, commandPath, yearDayIndex, userIndex, DlStatus::kFailure); return; } @@ -1138,9 +1142,9 @@ void DoorLockServer::GetYearDayScheduleCommandHandler( scheduleInfo.localStartTime, scheduleInfo.localEndTime); } -void DoorLockServer::ClearYearDayScheduleCommandHandler( - chip::app::CommandHandler * commandObj, const chip::app::ConcreteCommandPath & commandPath, - const chip::app::Clusters::DoorLock::Commands::ClearYearDaySchedule::DecodableType & commandData) +void DoorLockServer::clearYearDayScheduleCommandHandler(chip::app::CommandHandler * commandObj, + const chip::app::ConcreteCommandPath & commandPath, uint8_t yearDayIndex, + uint16_t userIndex) { auto endpointId = commandPath.mEndpointId; if (!SupportsSchedules(endpointId)) @@ -1167,9 +1171,6 @@ void DoorLockServer::ClearYearDayScheduleCommandHandler( return; } - auto yearDayIndex = commandData.yearDayIndex; - auto userIndex = commandData.userIndex; - if (!userIndexValid(endpointId, userIndex) || (!yearDayIndexValid(endpointId, yearDayIndex) && 0xFE != yearDayIndex)) { emberAfDoorLockClusterPrintln( @@ -1183,7 +1184,7 @@ void DoorLockServer::ClearYearDayScheduleCommandHandler( { emberAfDoorLockClusterPrintln("[ClearYearDaySchedule] User does not exist [endpointId=%d,yearDayIndex=%d,userIndex=%d]", endpointId, yearDayIndex, userIndex); - emberAfSendImmediateDefaultResponse(EMBER_ZCL_STATUS_NOT_FOUND); + emberAfSendImmediateDefaultResponse(EMBER_ZCL_STATUS_FAILURE); return; } @@ -1344,7 +1345,8 @@ bool DoorLockServer::credentialIndexValid(chip::EndpointId endpointId, DlCredent return true; } -bool DoorLockServer::getCredentialRange(chip::EndpointId endpointId, DlCredentialType type, size_t & minSize, size_t & maxSize) +DlStatus DoorLockServer::credentialLengthWithinRange(chip::EndpointId endpointId, DlCredentialType type, + const chip::ByteSpan & credentialData) { bool statusMin = true, statusMax = true; uint8_t minLen, maxLen; @@ -1361,20 +1363,26 @@ bool DoorLockServer::getCredentialRange(chip::EndpointId endpointId, DlCredentia statusMax = GetAttribute(endpointId, Attributes::MaxRFIDCodeLength::Id, Attributes::MaxRFIDCodeLength::Get, maxLen); break; default: - return false; + return DlStatus::kFailure; } if (!statusMin || !statusMax) { ChipLogError(Zcl, "Unable to read attributes to get min/max length for credentials [endpointId=%d,credentialType=%u]", endpointId, to_underlying(type)); - return false; + return DlStatus::kFailure; } - minSize = minLen; - maxSize = maxLen; + if (credentialData.size() < minLen || credentialData.size() > maxLen) + { + emberAfDoorLockClusterPrintln("Credential data size is out of range " + "[endpointId=%d,credentialType=%u,minLength=%u,maxLength=%u,length=%u]", + endpointId, to_underlying(type), minLen, maxLen, + static_cast(credentialData.size())); + return DlStatus::kInvalidField; + } - return true; + return DlStatus::kSuccess; } bool DoorLockServer::getMaxNumberOfCredentials(chip::EndpointId endpointId, DlCredentialType credentialType, @@ -2257,32 +2265,21 @@ DlStatus DoorLockServer::modifyCredential(chip::EndpointId endpointId, chip::Fab return status; } -CHIP_ERROR DoorLockServer::sendSetCredentialResponse(chip::app::CommandHandler * commandObj, DlStatus status, uint16_t userIndex, - uint16_t nextCredentialIndex) +void DoorLockServer::sendSetCredentialResponse(chip::app::CommandHandler * commandObj, + const chip::app::ConcreteCommandPath & commandPath, DlStatus status, + uint16_t userIndex, uint16_t nextCredentialIndex) { - CHIP_ERROR err = CHIP_NO_ERROR; - - using ResponseFields = Commands::SetCredentialResponse::Fields; - - app::ConcreteCommandPath path = { emberAfCurrentEndpoint(), ::Id, Commands::SetCredentialResponse::Id }; - TLV::TLVWriter * writer = nullptr; - SuccessOrExit(err = commandObj->PrepareCommand(path)); - VerifyOrExit((writer = commandObj->GetCommandDataIBTLVWriter()) != nullptr, err = CHIP_ERROR_INCORRECT_STATE); - SuccessOrExit(err = writer->Put(TLV::ContextTag(to_underlying(ResponseFields::kStatus)), status)); - + Commands::SetCredentialResponse::Type command{}; + command.status = status; if (0 != userIndex) { - SuccessOrExit(err = writer->Put(TLV::ContextTag(to_underlying(ResponseFields::kUserIndex)), userIndex)); + command.userIndex.SetNonNull(userIndex); } - if (0 != nextCredentialIndex) { - SuccessOrExit(err = writer->Put(TLV::ContextTag(to_underlying(ResponseFields::kNextCredentialIndex)), nextCredentialIndex)); + command.nextCredentialIndex.SetNonNull(nextCredentialIndex); } - SuccessOrExit(err = commandObj->FinishCommand()); - -exit: - return err; + commandObj->AddResponse(commandPath, command); } bool DoorLockServer::credentialTypeSupported(chip::EndpointId endpointId, DlCredentialType type) @@ -2951,9 +2948,9 @@ DlLockDataType DoorLockServer::credentialTypeToLockDataType(DlCredentialType cre return DlLockDataType::kUnspecified; } -void DoorLockServer::setHolidaySchedule(chip::app::CommandHandler * commandObj, const chip::app::ConcreteCommandPath & commandPath, - uint8_t holidayIndex, uint32_t localStartTime, uint32_t localEndTime, - DlOperatingMode operatingMode) +void DoorLockServer::setHolidayScheduleCommandHandler(chip::app::CommandHandler * commandObj, + const chip::app::ConcreteCommandPath & commandPath, uint8_t holidayIndex, + uint32_t localStartTime, uint32_t localEndTime, DlOperatingMode operatingMode) { VerifyOrDie(nullptr != commandObj); @@ -2972,7 +2969,7 @@ void DoorLockServer::setHolidaySchedule(chip::app::CommandHandler * commandObj, emberAfDoorLockClusterPrintln( "[SetHolidaySchedule] Unable to add schedule - index out of range [endpointId=%d,scheduleIndex=%d]", endpointId, holidayIndex); - emberAfSendImmediateDefaultResponse(EMBER_ZCL_STATUS_INVALID_FIELD); + emberAfSendImmediateDefaultResponse(EMBER_ZCL_STATUS_INVALID_COMMAND); return; } @@ -2981,17 +2978,17 @@ void DoorLockServer::setHolidaySchedule(chip::app::CommandHandler * commandObj, emberAfDoorLockClusterPrintln("[SetHolidaySchedule] Unable to add schedule - schedule ends earlier than starts" "[endpointId=%d,scheduleIndex=%d,localStarTime=%" PRIu32 ",localEndTime=%" PRIu32 "]", endpointId, holidayIndex, localStartTime, localEndTime); - emberAfSendImmediateDefaultResponse(EMBER_ZCL_STATUS_INVALID_FIELD); + emberAfSendImmediateDefaultResponse(EMBER_ZCL_STATUS_INVALID_COMMAND); return; } - if (operatingMode > DlOperatingMode::kPassage) + if (operatingMode > DlOperatingMode::kPassage || operatingMode < DlOperatingMode::kNormal) { emberAfDoorLockClusterPrintln("[SetHolidaySchedule] Unable to add schedule - operating mode is out of range" "[endpointId=%d,scheduleIndex=%d,localStarTime=%" PRIu32 ",localEndTime=%" PRIu32 ", operatingMode=%d]", endpointId, holidayIndex, localStartTime, localEndTime, to_underlying(operatingMode)); - emberAfSendImmediateDefaultResponse(EMBER_ZCL_STATUS_INVALID_FIELD); + emberAfSendImmediateDefaultResponse(EMBER_ZCL_STATUS_INVALID_COMMAND); return; } @@ -3013,8 +3010,8 @@ void DoorLockServer::setHolidaySchedule(chip::app::CommandHandler * commandObj, emberAfSendImmediateDefaultResponse(EMBER_ZCL_STATUS_SUCCESS); } -void DoorLockServer::getHolidaySchedule(chip::app::CommandHandler * commandObj, const ConcreteCommandPath & commandPath, - uint8_t holidayIndex) +void DoorLockServer::getHolidayScheduleCommandHandler(chip::app::CommandHandler * commandObj, + const ConcreteCommandPath & commandPath, uint8_t holidayIndex) { auto endpointId = commandPath.mEndpointId; if (!SupportsSchedules(endpointId)) @@ -3047,8 +3044,8 @@ void DoorLockServer::getHolidaySchedule(chip::app::CommandHandler * commandObj, scheduleInfo.localEndTime, scheduleInfo.operatingMode); } -void DoorLockServer::clearHolidaySchedule(chip::app::CommandHandler * commandObj, - const chip::app::ConcreteCommandPath & commandPath, uint8_t holidayIndex) +void DoorLockServer::clearHolidayScheduleCommandHandler(chip::app::CommandHandler * commandObj, + const chip::app::ConcreteCommandPath & commandPath, uint8_t holidayIndex) { auto endpointId = commandPath.mEndpointId; if (!SupportsSchedules(endpointId)) @@ -3354,7 +3351,7 @@ bool emberAfDoorLockClusterSetUserCallback(chip::app::CommandHandler * commandOb const chip::app::ConcreteCommandPath & commandPath, const chip::app::Clusters::DoorLock::Commands::SetUser::DecodableType & commandData) { - DoorLockServer::Instance().SetUserCommandHandler(commandObj, commandPath, commandData); + DoorLockServer::Instance().setUserCommandHandler(commandObj, commandPath, commandData); return true; } @@ -3362,7 +3359,7 @@ bool emberAfDoorLockClusterGetUserCallback(chip::app::CommandHandler * commandOb const chip::app::ConcreteCommandPath & commandPath, const chip::app::Clusters::DoorLock::Commands::GetUser::DecodableType & commandData) { - DoorLockServer::Instance().GetUserCommandHandler(commandObj, commandPath, commandData); + DoorLockServer::Instance().getUserCommandHandler(commandObj, commandPath, commandData.userIndex); return true; } @@ -3370,7 +3367,7 @@ bool emberAfDoorLockClusterClearUserCallback(chip::app::CommandHandler * command const chip::app::ConcreteCommandPath & commandPath, const chip::app::Clusters::DoorLock::Commands::ClearUser::DecodableType & commandData) { - DoorLockServer::Instance().ClearUserCommandHandler(commandObj, commandPath, commandData); + DoorLockServer::Instance().clearUserCommandHandler(commandObj, commandPath, commandData.userIndex); return true; } @@ -3378,7 +3375,7 @@ bool emberAfDoorLockClusterSetCredentialCallback( chip::app::CommandHandler * commandObj, const chip::app::ConcreteCommandPath & commandPath, const chip::app::Clusters::DoorLock::Commands::SetCredential::DecodableType & commandData) { - DoorLockServer::Instance().SetCredentialCommandHandler(commandObj, commandPath, commandData); + DoorLockServer::Instance().setCredentialCommandHandler(commandObj, commandPath, commandData); return true; } @@ -3386,7 +3383,8 @@ bool emberAfDoorLockClusterGetCredentialStatusCallback( chip::app::CommandHandler * commandObj, const chip::app::ConcreteCommandPath & commandPath, const chip::app::Clusters::DoorLock::Commands::GetCredentialStatus::DecodableType & commandData) { - DoorLockServer::Instance().GetCredentialStatusCommandHandler(commandObj, commandPath, commandData); + DoorLockServer::Instance().getCredentialStatusCommandHandler(commandObj, commandPath, commandData.credential.credentialType, + commandData.credential.credentialIndex); return true; } @@ -3394,7 +3392,7 @@ bool emberAfDoorLockClusterClearCredentialCallback( chip::app::CommandHandler * commandObj, const chip::app::ConcreteCommandPath & commandPath, const chip::app::Clusters::DoorLock::Commands::ClearCredential::DecodableType & commandData) { - DoorLockServer::Instance().ClearCredentialCommandHandler(commandObj, commandPath, commandData); + DoorLockServer::Instance().clearCredentialCommandHandler(commandObj, commandPath, commandData); return true; } @@ -3402,7 +3400,9 @@ bool emberAfDoorLockClusterSetWeekDayScheduleCallback( chip::app::CommandHandler * commandObj, const chip::app::ConcreteCommandPath & commandPath, const chip::app::Clusters::DoorLock::Commands::SetWeekDaySchedule::DecodableType & commandData) { - DoorLockServer::Instance().SetWeekDayScheduleCommandHandler(commandObj, commandPath, commandData); + DoorLockServer::Instance().setWeekDayScheduleCommandHandler( + commandObj, commandPath, commandData.weekDayIndex, commandData.userIndex, commandData.daysMask, commandData.startHour, + commandData.startMinute, commandData.endHour, commandData.endMinute); return true; } @@ -3410,7 +3410,8 @@ bool emberAfDoorLockClusterGetWeekDayScheduleCallback( chip::app::CommandHandler * commandObj, const chip::app::ConcreteCommandPath & commandPath, const chip::app::Clusters::DoorLock::Commands::GetWeekDaySchedule::DecodableType & commandData) { - DoorLockServer::Instance().GetWeekDayScheduleCommandHandler(commandObj, commandPath, commandData); + DoorLockServer::Instance().getWeekDayScheduleCommandHandler(commandObj, commandPath, commandData.weekDayIndex, + commandData.userIndex); return true; } @@ -3418,7 +3419,8 @@ bool emberAfDoorLockClusterClearWeekDayScheduleCallback( chip::app::CommandHandler * commandObj, const chip::app::ConcreteCommandPath & commandPath, const chip::app::Clusters::DoorLock::Commands::ClearWeekDaySchedule::DecodableType & commandData) { - DoorLockServer::Instance().ClearWeekDayScheduleCommandHandler(commandObj, commandPath, commandData); + DoorLockServer::Instance().clearWeekDayScheduleCommandHandler(commandObj, commandPath, commandData.weekDayIndex, + commandData.userIndex); return true; } @@ -3426,7 +3428,9 @@ bool emberAfDoorLockClusterSetYearDayScheduleCallback( chip::app::CommandHandler * commandObj, const chip::app::ConcreteCommandPath & commandPath, const chip::app::Clusters::DoorLock::Commands::SetYearDaySchedule::DecodableType & commandData) { - DoorLockServer::Instance().SetYearDayScheduleCommandHandler(commandObj, commandPath, commandData); + DoorLockServer::Instance().setYearDayScheduleCommandHandler(commandObj, commandPath, commandData.yearDayIndex, + commandData.userIndex, commandData.localStartTime, + commandData.localEndTime); return true; } @@ -3434,7 +3438,8 @@ bool emberAfDoorLockClusterGetYearDayScheduleCallback( chip::app::CommandHandler * commandObj, const chip::app::ConcreteCommandPath & commandPath, const chip::app::Clusters::DoorLock::Commands::GetYearDaySchedule::DecodableType & commandData) { - DoorLockServer::Instance().GetYearDayScheduleCommandHandler(commandObj, commandPath, commandData); + DoorLockServer::Instance().getYearDayScheduleCommandHandler(commandObj, commandPath, commandData.yearDayIndex, + commandData.userIndex); return true; } @@ -3442,7 +3447,8 @@ bool emberAfDoorLockClusterClearYearDayScheduleCallback( chip::app::CommandHandler * commandObj, const chip::app::ConcreteCommandPath & commandPath, const chip::app::Clusters::DoorLock::Commands::ClearYearDaySchedule::DecodableType & commandData) { - DoorLockServer::Instance().ClearYearDayScheduleCommandHandler(commandObj, commandPath, commandData); + DoorLockServer::Instance().clearYearDayScheduleCommandHandler(commandObj, commandPath, commandData.yearDayIndex, + commandData.userIndex); return true; } @@ -3450,8 +3456,9 @@ bool emberAfDoorLockClusterSetHolidayScheduleCallback( chip::app::CommandHandler * commandObj, const chip::app::ConcreteCommandPath & commandPath, const chip::app::Clusters::DoorLock::Commands::SetHolidaySchedule::DecodableType & commandData) { - DoorLockServer::Instance().setHolidaySchedule(commandObj, commandPath, commandData.holidayIndex, commandData.localStartTime, - commandData.localEndTime, commandData.operatingMode); + DoorLockServer::Instance().setHolidayScheduleCommandHandler(commandObj, commandPath, commandData.holidayIndex, + commandData.localStartTime, commandData.localEndTime, + commandData.operatingMode); return true; } @@ -3459,7 +3466,7 @@ bool emberAfDoorLockClusterGetHolidayScheduleCallback( chip::app::CommandHandler * commandObj, const chip::app::ConcreteCommandPath & commandPath, const chip::app::Clusters::DoorLock::Commands::GetHolidaySchedule::DecodableType & commandData) { - DoorLockServer::Instance().getHolidaySchedule(commandObj, commandPath, commandData.holidayIndex); + DoorLockServer::Instance().getHolidayScheduleCommandHandler(commandObj, commandPath, commandData.holidayIndex); return true; } @@ -3467,7 +3474,7 @@ bool emberAfDoorLockClusterClearHolidayScheduleCallback( chip::app::CommandHandler * commandObj, const chip::app::ConcreteCommandPath & commandPath, const chip::app::Clusters::DoorLock::Commands::ClearHolidaySchedule::DecodableType & commandData) { - DoorLockServer::Instance().clearHolidaySchedule(commandObj, commandPath, commandData.holidayIndex); + DoorLockServer::Instance().clearHolidayScheduleCommandHandler(commandObj, commandPath, commandData.holidayIndex); return true; } @@ -3583,9 +3590,9 @@ MatterDoorLockClusterServerPreAttributeChangedCallback(const chip::app::Concrete return res; } -void emberAfPluginDoorLockServerLockoutEventHandler(void) {} +void emberAfPluginDoorLockServerLockoutEventHandler() {} -void emberAfPluginDoorLockServerRelockEventHandler(void) {} +void emberAfPluginDoorLockServerRelockEventHandler() {} void MatterDoorLockPluginServerInitCallback() { diff --git a/src/app/clusters/door-lock-server/door-lock-server.h b/src/app/clusters/door-lock-server/door-lock-server.h index d7289c4bd2c094..613e76003b18e0 100644 --- a/src/app/clusters/door-lock-server/door-lock-server.h +++ b/src/app/clusters/door-lock-server/door-lock-server.h @@ -117,45 +117,6 @@ class DoorLockServer bool GetNumberOfCredentialsSupportedPerUser(chip::EndpointId endpointId, uint8_t & numberOfCredentialsSupportedPerUser); bool GetNumberOfHolidaySchedulesSupported(chip::EndpointId endpointId, uint8_t & numberOfHolidaySchedules); - void SetUserCommandHandler(chip::app::CommandHandler * commandObj, const chip::app::ConcreteCommandPath & commandPath, - const chip::app::Clusters::DoorLock::Commands::SetUser::DecodableType & commandData); - - void GetUserCommandHandler(chip::app::CommandHandler * commandObj, const chip::app::ConcreteCommandPath & commandPath, - const chip::app::Clusters::DoorLock::Commands::GetUser::DecodableType & commandData); - - void ClearUserCommandHandler(chip::app::CommandHandler * commandObj, const chip::app::ConcreteCommandPath & commandPath, - const chip::app::Clusters::DoorLock::Commands::ClearUser::DecodableType & commandData); - - void SetCredentialCommandHandler(chip::app::CommandHandler * commandObj, const chip::app::ConcreteCommandPath & commandPath, - const chip::app::Clusters::DoorLock::Commands::SetCredential::DecodableType & commandData); - - void GetCredentialStatusCommandHandler( - chip::app::CommandHandler * commandObj, const chip::app::ConcreteCommandPath & commandPath, - const chip::app::Clusters::DoorLock::Commands::GetCredentialStatus::DecodableType & commandData); - - void ClearCredentialCommandHandler(chip::app::CommandHandler * commandObj, const chip::app::ConcreteCommandPath & commandPath, - const chip::app::Clusters::DoorLock::Commands::ClearCredential::DecodableType & commandData); - - void SetWeekDayScheduleCommandHandler( - chip::app::CommandHandler * commandObj, const chip::app::ConcreteCommandPath & commandPath, - const chip::app::Clusters::DoorLock::Commands::SetWeekDaySchedule::DecodableType & commandData); - void GetWeekDayScheduleCommandHandler( - chip::app::CommandHandler * commandObj, const chip::app::ConcreteCommandPath & commandPath, - const chip::app::Clusters::DoorLock::Commands::GetWeekDaySchedule::DecodableType & commandData); - void ClearWeekDayScheduleCommandHandler( - chip::app::CommandHandler * commandObj, const chip::app::ConcreteCommandPath & commandPath, - const chip::app::Clusters::DoorLock::Commands::ClearWeekDaySchedule::DecodableType & commandData); - - void SetYearDayScheduleCommandHandler( - chip::app::CommandHandler * commandObj, const chip::app::ConcreteCommandPath & commandPath, - const chip::app::Clusters::DoorLock::Commands::SetYearDaySchedule::DecodableType & commandData); - void GetYearDayScheduleCommandHandler( - chip::app::CommandHandler * commandObj, const chip::app::ConcreteCommandPath & commandPath, - const chip::app::Clusters::DoorLock::Commands::GetYearDaySchedule::DecodableType & commandData); - void ClearYearDayScheduleCommandHandler( - chip::app::CommandHandler * commandObj, const chip::app::ConcreteCommandPath & commandPath, - const chip::app::Clusters::DoorLock::Commands::ClearYearDaySchedule::DecodableType & commandData); - bool HasFeature(chip::EndpointId endpointId, DoorLockFeature feature); inline bool SupportsPIN(chip::EndpointId endpointId) { return HasFeature(endpointId, DoorLockFeature::kPINCredentials); } @@ -193,7 +154,7 @@ class DoorLockServer bool credentialIndexValid(chip::EndpointId endpointId, DlCredentialType type, uint16_t credentialIndex); bool credentialIndexValid(chip::EndpointId endpointId, DlCredentialType type, uint16_t credentialIndex, uint16_t & maxNumberOfCredentials); - bool getCredentialRange(chip::EndpointId endpointId, DlCredentialType type, size_t & minSize, size_t & maxSize); + DlStatus credentialLengthWithinRange(chip::EndpointId endpointId, DlCredentialType type, const chip::ByteSpan & credentialData); bool getMaxNumberOfCredentials(chip::EndpointId endpointId, DlCredentialType credentialType, uint16_t & maxNumberOfCredentials); bool findOccupiedUserSlot(chip::EndpointId endpointId, uint16_t startIndex, uint16_t & userIndex); @@ -263,10 +224,12 @@ class DoorLockServer bool clearFabricFromCredentials(chip::EndpointId endpointId, DlCredentialType credentialType, chip::FabricIndex fabricToRemove); bool clearFabricFromCredentials(chip::EndpointId endpointId, chip::FabricIndex fabricToRemove); - CHIP_ERROR sendSetCredentialResponse(chip::app::CommandHandler * commandObj, DlStatus status, uint16_t userIndex, - uint16_t nextCredentialIndex); + void sendSetCredentialResponse(chip::app::CommandHandler * commandObj, const chip::app::ConcreteCommandPath & commandPath, + DlStatus status, uint16_t userIndex, uint16_t nextCredentialIndex); // TODO: Maybe use CHIP_APPLICATION_ERROR instead of boolean in class methods? + // OPTIMIZE: there are a lot of methods such as this that could be made static which could help reduce the stack footprint + // in case of multiple lock endpoints bool credentialTypeSupported(chip::EndpointId endpointId, DlCredentialType type); bool weekDayIndexValid(chip::EndpointId endpointId, uint8_t weekDayIndex); @@ -304,14 +267,57 @@ class DoorLockServer DlLockDataType credentialTypeToLockDataType(DlCredentialType credentialType); - void setHolidaySchedule(chip::app::CommandHandler * commandObj, const chip::app::ConcreteCommandPath & commandPath, - uint8_t holidayIndex, uint32_t localStartTime, uint32_t localEndTime, DlOperatingMode operatingMode); + void setUserCommandHandler(chip::app::CommandHandler * commandObj, const chip::app::ConcreteCommandPath & commandPath, + const chip::app::Clusters::DoorLock::Commands::SetUser::DecodableType & commandData); + + void getUserCommandHandler(chip::app::CommandHandler * commandObj, const chip::app::ConcreteCommandPath & commandPath, + uint16_t userIndex); + + void clearUserCommandHandler(chip::app::CommandHandler * commandObj, const chip::app::ConcreteCommandPath & commandPath, + uint16_t userIndex); + + void setCredentialCommandHandler(chip::app::CommandHandler * commandObj, const chip::app::ConcreteCommandPath & commandPath, + const chip::app::Clusters::DoorLock::Commands::SetCredential::DecodableType & commandData); + + void getCredentialStatusCommandHandler(chip::app::CommandHandler * commandObj, + const chip::app::ConcreteCommandPath & commandPath, DlCredentialType credentialType, + uint16_t credentialIndex); + + void clearCredentialCommandHandler(chip::app::CommandHandler * commandObj, const chip::app::ConcreteCommandPath & commandPath, + const chip::app::Clusters::DoorLock::Commands::ClearCredential::DecodableType & commandData); + + void setWeekDayScheduleCommandHandler(chip::app::CommandHandler * commandObj, + const chip::app::ConcreteCommandPath & commandPath, uint8_t weekDayIndex, + uint16_t userIndex, const chip::BitMask & daysMask, uint8_t startHour, + uint8_t startMinute, uint8_t endHour, uint8_t endMinute); + + void getWeekDayScheduleCommandHandler(chip::app::CommandHandler * commandObj, + const chip::app::ConcreteCommandPath & commandPath, uint8_t weekDayIndex, + uint16_t userIndex); + + void clearWeekDayScheduleCommandHandler(chip::app::CommandHandler * commandObj, + const chip::app::ConcreteCommandPath & commandPath, uint8_t weekDayIndex, + uint16_t userIndex); + + void setYearDayScheduleCommandHandler(chip::app::CommandHandler * commandObj, + const chip::app::ConcreteCommandPath & commandPath, uint8_t yearDayIndex, + uint16_t userIndex, uint32_t localStartTime, uint32_t localEndTime); + void getYearDayScheduleCommandHandler(chip::app::CommandHandler * commandObj, + const chip::app::ConcreteCommandPath & commandPath, uint8_t yearDayIndex, + uint16_t userIndex); + void clearYearDayScheduleCommandHandler(chip::app::CommandHandler * commandObj, + const chip::app::ConcreteCommandPath & commandPath, uint8_t yearDayIndex, + uint16_t userIndex); + + void setHolidayScheduleCommandHandler(chip::app::CommandHandler * commandObj, + const chip::app::ConcreteCommandPath & commandPath, uint8_t holidayIndex, + uint32_t localStartTime, uint32_t localEndTime, DlOperatingMode operatingMode); - void getHolidaySchedule(chip::app::CommandHandler * commandObj, const chip::app::ConcreteCommandPath & commandPath, - uint8_t holidayIndex); + void getHolidayScheduleCommandHandler(chip::app::CommandHandler * commandObj, + const chip::app::ConcreteCommandPath & commandPath, uint8_t holidayIndex); - void clearHolidaySchedule(chip::app::CommandHandler * commandObj, const chip::app::ConcreteCommandPath & commandPath, - uint8_t holidayIndex); + void clearHolidayScheduleCommandHandler(chip::app::CommandHandler * commandObj, + const chip::app::ConcreteCommandPath & commandPath, uint8_t holidayIndex); bool RemoteOperationEnabled(chip::EndpointId endpointId) const; @@ -323,8 +329,8 @@ class DoorLockServer * @param opType remote operation type (lock, unlock) * @param opHandler plugin handler for specified command * @param pinCode pin code passed by client - * @return true if locking/unlocking was successfull - * @return false if error happenned during lock/unlock + * @return true if locking/unlocking was successful + * @return false if error happened during lock/unlock */ bool HandleRemoteLockOperation(chip::app::CommandHandler * commandObj, const chip::app::ConcreteCommandPath & commandPath, DlLockOperationType opType, RemoteLockOpHandler opHandler, @@ -342,7 +348,7 @@ class DoorLockServer * @param nodeId node id * @param credList list of credentials used in lock operation (can be NULL if no credentials were used) * @param credListSize size of credentials list (if 0, then no credentials were used) - * @param opSuccess flags if operation was successfull or not + * @param opSuccess flags if operation was successful or not */ void SendLockOperationEvent(chip::EndpointId endpointId, DlLockOperationType opType, DlOperationSource opSource, DlOperationError opErr, const Nullable & userId, @@ -424,6 +430,57 @@ class DoorLockServer chip::app::CommandHandler * commandObj, const chip::app::ConcreteCommandPath & commandPath, const chip::app::Clusters::DoorLock::Commands::ClearHolidaySchedule::DecodableType & commandData); + friend bool + emberAfDoorLockClusterSetUserCallback(chip::app::CommandHandler * commandObj, + const chip::app::ConcreteCommandPath & commandPath, + const chip::app::Clusters::DoorLock::Commands::SetUser::DecodableType & commandData); + + friend bool + emberAfDoorLockClusterGetUserCallback(chip::app::CommandHandler * commandObj, + const chip::app::ConcreteCommandPath & commandPath, + const chip::app::Clusters::DoorLock::Commands::GetUser::DecodableType & commandData); + + friend bool + emberAfDoorLockClusterClearUserCallback(chip::app::CommandHandler * commandObj, + const chip::app::ConcreteCommandPath & commandPath, + const chip::app::Clusters::DoorLock::Commands::ClearUser::DecodableType & commandData); + + friend bool emberAfDoorLockClusterSetCredentialCallback( + chip::app::CommandHandler * commandObj, const chip::app::ConcreteCommandPath & commandPath, + const chip::app::Clusters::DoorLock::Commands::SetCredential::DecodableType & commandData); + + friend bool emberAfDoorLockClusterGetCredentialStatusCallback( + chip::app::CommandHandler * commandObj, const chip::app::ConcreteCommandPath & commandPath, + const chip::app::Clusters::DoorLock::Commands::GetCredentialStatus::DecodableType & commandData); + + friend bool emberAfDoorLockClusterClearCredentialCallback( + chip::app::CommandHandler * commandObj, const chip::app::ConcreteCommandPath & commandPath, + const chip::app::Clusters::DoorLock::Commands::ClearCredential::DecodableType & commandData); + + friend bool emberAfDoorLockClusterSetWeekDayScheduleCallback( + chip::app::CommandHandler * commandObj, const chip::app::ConcreteCommandPath & commandPath, + const chip::app::Clusters::DoorLock::Commands::SetWeekDaySchedule::DecodableType & commandData); + + friend bool emberAfDoorLockClusterGetWeekDayScheduleCallback( + chip::app::CommandHandler * commandObj, const chip::app::ConcreteCommandPath & commandPath, + const chip::app::Clusters::DoorLock::Commands::GetWeekDaySchedule::DecodableType & commandData); + + friend bool emberAfDoorLockClusterClearWeekDayScheduleCallback( + chip::app::CommandHandler * commandObj, const chip::app::ConcreteCommandPath & commandPath, + const chip::app::Clusters::DoorLock::Commands::ClearWeekDaySchedule::DecodableType & commandData); + + friend bool emberAfDoorLockClusterSetYearDayScheduleCallback( + chip::app::CommandHandler * commandObj, const chip::app::ConcreteCommandPath & commandPath, + const chip::app::Clusters::DoorLock::Commands::SetYearDaySchedule::DecodableType & commandData); + + friend bool emberAfDoorLockClusterGetYearDayScheduleCallback( + chip::app::CommandHandler * commandObj, const chip::app::ConcreteCommandPath & commandPath, + const chip::app::Clusters::DoorLock::Commands::GetYearDaySchedule::DecodableType & commandData); + + friend bool emberAfDoorLockClusterClearYearDayScheduleCallback( + chip::app::CommandHandler * commandObj, const chip::app::ConcreteCommandPath & commandPath, + const chip::app::Clusters::DoorLock::Commands::ClearYearDaySchedule::DecodableType & commandData); + EmberEventControl AutolockEvent; /**< for automatic relock scheduling */ static DoorLockServer instance; diff --git a/src/app/tests/suites/DL_LockUnlock.yaml b/src/app/tests/suites/DL_LockUnlock.yaml index 08ff372ee6b45e..c6026c1558465f 100644 --- a/src/app/tests/suites/DL_LockUnlock.yaml +++ b/src/app/tests/suites/DL_LockUnlock.yaml @@ -38,7 +38,7 @@ tests: response: value: 2 - - label: "Try to unlock the door without a PIN" + - label: "Try to lock the door without a PIN" command: "LockDoor" timedInteractionTimeoutMs: 10000 diff --git a/src/app/tests/suites/DL_Schedules.yaml b/src/app/tests/suites/DL_Schedules.yaml index 4c2d23875d33f5..580b6556a26869 100644 --- a/src/app/tests/suites/DL_Schedules.yaml +++ b/src/app/tests/suites/DL_Schedules.yaml @@ -192,7 +192,7 @@ tests: - name: "endMinute" value: 00 response: - error: NOT_FOUND + error: FAILURE - label: "Create Week Day schedule with 0 days mask" command: "SetWeekDaySchedule" @@ -488,7 +488,7 @@ tests: - name: "userIndex" value: 2 - name: "status" - value: 0x8B + value: 0x01 # # Excercise SetYearDay schedules with invalid parameters @@ -566,7 +566,7 @@ tests: - name: "localEndTime" value: 12345689 response: - error: NOT_FOUND + error: FAILURE - label: "Create Year Day schedule with start hour later that end hour" command: "SetYearDaySchedule" @@ -581,7 +581,7 @@ tests: - name: "localEndTime" value: 12345688 response: - error: INVALID_FIELD + error: INVALID_COMMAND - label: "Make sure that previous operations did not create a schedule" command: "GetYearDaySchedule" @@ -686,7 +686,7 @@ tests: - name: "userIndex" value: 2 - name: "status" - value: 0x8B + value: 0x01 # # Excercise Set Holiday schedules with invalid parameters @@ -962,7 +962,7 @@ tests: - name: "userIndex" value: 2 response: - error: NOT_FOUND + error: FAILURE - label: "Make sure that week day schedule was not deleted" command: "GetWeekDaySchedule" @@ -1087,7 +1087,7 @@ tests: - name: "userIndex" value: 2 response: - error: NOT_FOUND + error: FAILURE - label: "Make sure that week day schedule was not deleted" command: "GetWeekDaySchedule" @@ -1799,7 +1799,7 @@ tests: - name: "userIndex" value: 1 - name: "status" - value: 0x8B + value: 0x01 - label: "Make sure clearing first user also cleared year day schedules" command: "GetYearDaySchedule" @@ -1816,7 +1816,7 @@ tests: - name: "userIndex" value: 1 - name: "status" - value: 0x8B + value: 0x01 - label: "Make sure clearing second user also cleared week day schedules" command: "GetWeekDaySchedule" @@ -1833,7 +1833,7 @@ tests: - name: "userIndex" value: 2 - name: "status" - value: 0x8B + value: 0x01 - label: "Make sure clearing second user also cleared year day schedules" command: "GetYearDaySchedule" @@ -1850,7 +1850,7 @@ tests: - name: "userIndex" value: 2 - name: "status" - value: 0x8B + value: 0x01 # Make sure that all the manipulations did not affect the holiday schedules - label: "Make sure that first holiday schedule was not deleted" diff --git a/src/app/tests/suites/certification/PICS.yaml b/src/app/tests/suites/certification/PICS.yaml index d8b2d12612f08b..4d8b397123af95 100644 --- a/src/app/tests/suites/certification/PICS.yaml +++ b/src/app/tests/suites/certification/PICS.yaml @@ -660,6 +660,13 @@ PICS: - label: "Supports a System Mode of Auto" id: TSTAT_AUTO + #Client Commands + - label: "Does the device implement sending the SetpointRaiseLower command?" + id: TSTAT.C.C00.Tx + + - label: "Does the device implement sending the GetRelayStatusLog command?" + id: TSTAT.C.C04.Tx + # Window covering cluster ## WC-Features - label: "Does the device implement the Lift feature?" @@ -1098,12 +1105,6 @@ PICS: PhysicalContactUnoccupiedToOccupiedThreshold attribute?" id: OCC.C.A0032 - - label: "Does the device implement the Tolerance attribute?" - id: FLW.S.A0003 - - - label: "Does the device support extended range and resolution?" - id: PRS.S.F00 - #Level Control Cluster - label: "Does the DUT(server) support the Behavior that supports lighting @@ -2799,3 +2800,1409 @@ PICS: #Power Source Configuration Cluster - label: "Does the device implement the Sources attribute?" id: PSCFG.S.A0000 + + #Thread Network Diagnostics Cluster + #server attributes + - label: "Does the DUT-server support the channel attribute?" + id: DGTHREAD.S.A0001 + + - label: "Does the DUT-server support the RoutingRole attribute?" + id: DGTHREAD.S.A0002 + + - label: "Does the DUT-server support the NetworkName attribute?" + id: DGTHREAD.S.A0003 + + - label: "Does the DUT-server support the PanId attribute?" + id: DGTHREAD.S.A0004 + + - label: "Does the DUT-server support the ExtendedPanId attribute?" + id: DGTHREAD.S.A0005 + + - label: "Does the DUT-server support the MeshLocalPrefix attribute?" + id: DGTHREAD.S.A0006 + + - label: "Does the DUT-server support the OverrunCount attribute?" + id: DGTHREAD.S.A0007 + + - label: "Does the DUT-server support the NeighborTable attribute?" + id: DGTHREAD.S.A0008 + + - label: "Does the DUT-server support the RouteTable attribute?" + id: DGTHREAD.S.A0009 + + - label: "Does the DUT-server support the PartitionId attribute?" + id: DGTHREAD.S.A000a + + - label: "Does the DUT-server support the Weighting attribute?" + id: DGTHREAD.S.A000b + + - label: "Does the DUT-server support the DataVersion attribute?" + id: DGTHREAD.S.A000c + + - label: "Does the DUT-server support the StableDataVersion attribute?" + id: DGTHREAD.S.A000d + + - label: "Does the DUT-server support the LeaderRouterId attribute?" + id: DGTHREAD.S.A000e + + - label: "Does the DUT-server support the DetachedRoleCount attribute?" + id: DGTHREAD.S.A000f + + - label: "Does the DUT-server support the ChildRoleCount attribute?" + id: DGTHREAD.S.A0010 + + - label: "Does the DUT-server support the RouterRoleCount attribute?" + id: DGTHREAD.S.A0011 + + - label: "Does the DUT-server support the LeaderRoleCount attribute?" + id: DGTHREAD.S.A0012 + + - label: "Does the DUT-server support the AttachAttemptCount attribute?" + id: DGTHREAD.S.A0013 + + - label: "Does the DUT-server support the PartitionIdChangeCount attribute?" + id: DGTHREAD.S.A0014 + + - label: + "Does the DUT-server support the BetterPartitionAttachAttemptCount + attribute?" + id: DGTHREAD.S.A0015 + + - label: "Does the DUT-server support the ParentChangeCount attribute?" + id: DGTHREAD.S.A0016 + + - label: "Does the DUT-server support the TxTotalCount attribute?" + id: DGTHREAD.S.A0017 + + - label: "Does the DUT-server support the TxUnicastCount attribute?" + id: DGTHREAD.S.A0018 + + - label: "Does the DUT-server support the TxBroadcastCount attribute?" + id: DGTHREAD.S.A0019 + + - label: "Does the DUT-server support the TxAckRequestedCount attribute?" + id: DGTHREAD.S.A001a + + - label: "Does the DUT-server support the TxAckedCount attribute?" + id: DGTHREAD.S.A001b + + - label: "Does the DUT-server support the TxNoAckRequestedCount attribute?" + id: DGTHREAD.S.A001c + + - label: "Does the DUT-server support the TxDataCount attribute?" + id: DGTHREAD.S.A001d + + - label: "Does the DUT-server support the TxDataPollCount attribute?" + id: DGTHREAD.S.A001e + + - label: "Does the DUT-server support the TxBeaconCount attribute?" + id: DGTHREAD.S.A001f + + - label: "Does the DUT-server support the TxBeaconRequestCount attribute?" + id: DGTHREAD.S.A0020 + + - label: "Does the DUT-server support the TxOtherCount attribute?" + id: DGTHREAD.S.A0021 + + - label: "Does the DUT-server support the TxRetryCount attribute?" + id: DGTHREAD.S.A0022 + + - label: + "Does the DUT-server support the TxDirectMaxRetryExpiryCount + attribute?" + id: DGTHREAD.S.A0023 + + - label: + "Does the DUT-server support the TxIndirectMaxRetryExpiryCount + attribute?" + id: DGTHREAD.S.A0024 + + - label: "Does the DUT-server support the TxErrCcaCount attribute?" + id: DGTHREAD.S.A0025 + + - label: "Does the DUT-server support the TxErrAbortCount attribute?" + id: DGTHREAD.S.A0026 + + - label: "Does the DUT-server support the TxErrBusyChannelCount attribute?" + id: DGTHREAD.S.A0027 + + - label: "Does the DUT-server support the RxTotalCount attribute?" + id: DGTHREAD.S.A0028 + + - label: "Does the DUT-server support the RxUnicastCount attribute?" + id: DGTHREAD.S.A0029 + + - label: "Does the DUT-server support the RxBroadcastCount attribute?" + id: DGTHREAD.S.A002a + + - label: "Does the DUT-server support the RxDataCount attribute?" + id: DGTHREAD.S.A002b + + - label: "Does the DUT-server support the RxDataPollCount attribute?" + id: DGTHREAD.S.A002c + + - label: "Does the DUT-server support the RxBeaconCount attribute?" + id: DGTHREAD.S.A002d + + - label: "Does the DUT-server support the RxBeaconRequestCount attribute?" + id: DGTHREAD.S.A002e + + - label: "Does the DUT-server support the RxOtherCount attribute?" + id: DGTHREAD.S.A002f + + - label: "Does the DUT-server support the RxAddressFilteredCount attribute?" + id: DGTHREAD.S.A0030 + + - label: + "Does the DUT-server support the RxDestAddrFilteredCount attribute?" + id: DGTHREAD.S.A0031 + + - label: "Does the DUT-server support the RxDuplicatedCount attribute?" + id: DGTHREAD.S.A0032 + + - label: "Does the DUT-server support the RxErrNoFrameCount attribute?" + id: DGTHREAD.S.A0033 + + - label: + "Does the DUT-server support the RxErrUnknownNeighborCount attribute?" + id: DGTHREAD.S.A0034 + + - label: + "Does the DUT-server support the RxErrInvalidScrAddrCount attribute?" + id: DGTHREAD.S.A0035 + + - label: "Does the DUT-server support the RxErrSecCount attribute?" + id: DGTHREAD.S.A0036 + + - label: "Does the DUT-server support the RxErrFcsCount attribute?" + id: DGTHREAD.S.A0037 + + - label: "Does the DUT-server support the RxErrOtherCount attribute?" + id: DGTHREAD.S.A0038 + + - label: "Does the DUT-server support the ActiveTimestamp attribute?" + id: DGTHREAD.S.A0039 + + - label: "Does the DUT-server support the PendingTimestamp attribute?" + id: DGTHREAD.S.A003a + + - label: "Does the DUT-server support the Delay attribute?" + id: DGTHREAD.S.A003b + + - label: "Does the DUT-server support the SecurityPolicy attribute?" + id: DGTHREAD.S.A003c + + - label: "Does the DUT-server support the ChannelPage0Mask attribute?" + id: DGTHREAD.S.A003d + + - label: + "Does the DUT-server support the OperationalDatasetComponents + attribute?" + id: DGTHREAD.S.A003e + + - label: "Does the DUT-server support the ActiveNetworkFaults attribute?" + id: DGTHREAD.S.A003f + + #server commands + - label: + "Does the Device-Server implement receiving the ResetCounts command?" + id: DGTHREAD.S.C00.Rsp + + #Events + - label: "Does the DUT-server support the ConnectionStatus event?" + id: DGTHREAD.S.E00 + + - label: "Does the DUT-server support the NetworkFaultChange event?" + id: DGTHREAD.S.E01 + + - label: "Does the DUT-client support the ConnectionStatus event?" + id: DGTHREAD.C.E00 + + - label: "Does the DUT-client support the NetworkFaultChange event?" + id: DGTHREAD.C.E01 + + #client commands + - label: + "Does the Device-client invoking/generating the ResetCounts command?" + id: DGTHREAD.C.C00.Tx + + #client attributes + - label: "Does the DUT-client support the channel attribute?" + id: DGTHREAD.C.A0001 + + - label: "Does the DUT-client support the RoutingRole attribute?" + id: DGTHREAD.C.A0002 + + - label: "Does the DUT-client support the NetworkName attribute?" + id: DGTHREAD.C.A0003 + + - label: "Does the DUT-client support the PanId attribute?" + id: DGTHREAD.C.A0004 + + - label: "Does the DUT-client support the ExtendedPanId attribute?" + id: DGTHREAD.C.A0005 + + - label: "Does the DUT-client support the MeshLocalPrefix attribute?" + id: DGTHREAD.C.A0006 + + - label: "Does the DUT-client support the OverrunCount attribute?" + id: DGTHREAD.C.A0007 + + - label: "Does the DUT-client support the NeighborTable attribute?" + id: DGTHREAD.C.A0008 + + - label: "Does the DUT-client support the RouteTable attribute?" + id: DGTHREAD.C.A0009 + + - label: "Does the DUT-client support the PartitionId attribute?" + id: DGTHREAD.C.A000a + + - label: "Does the DUT-client support the Weighting attribute?" + id: DGTHREAD.C.A000b + + - label: "Does the DUT-client support the DataVersion attribute?" + id: DGTHREAD.C.A000c + + - label: "Does the DUT-client support the StableDataVersion attribute?" + id: DGTHREAD.C.A000d + + - label: "Does the DUT-client support the LeaderRouterId attribute?" + id: DGTHREAD.C.A000e + + - label: "Does the DUT-client support the DetachedRoleCount attribute?" + id: DGTHREAD.C.A000f + + - label: "Does the DUT-client support the ChildRoleCount attribute?" + id: DGTHREAD.C.A0010 + + - label: "Does the DUT-client support the RouterRoleCount attribute?" + id: DGTHREAD.C.A0011 + + - label: "Does the DUT-client support the LeaderRoleCount attribute?" + id: DGTHREAD.C.A0012 + + - label: "Does the DUT-client support the AttachAttemptCount attribute?" + id: DGTHREAD.C.A0013 + + - label: "Does the DUT-client support the PartitionIdChangeCount attribute?" + id: DGTHREAD.C.A0014 + + - label: + "Does the DUT-client support the BetterPartitionAttachAttemptCount + attribute?" + id: DGTHREAD.C.A0015 + + - label: "Does the DUT-client support the ParentChangeCount attribute?" + id: DGTHREAD.C.A0016 + + - label: "Does the DUT-client support the TxTotalCount attribute?" + id: DGTHREAD.C.A0017 + + - label: "Does the DUT-client support the TxUnicastCount attribute?" + id: DGTHREAD.C.A0018 + + - label: "Does the DUT-client support the TxBroadcastCount attribute?" + id: DGTHREAD.C.A0019 + + - label: "Does the DUT-client support the TxAckRequestedCount attribute?" + id: DGTHREAD.C.A001a + + - label: "Does the DUT-client support the TxAckedCount attribute?" + id: DGTHREAD.C.A001b + + - label: "Does the DUT-client support the TxNoAckRequestedCount attribute?" + id: DGTHREAD.C.A001c + + - label: "Does the DUT-client support the TxDataCount attribute?" + id: DGTHREAD.C.A001d + + - label: "Does the DUT-client support the TxDataPollCount attribute?" + id: DGTHREAD.C.A001e + + - label: "Does the DUT-client support the TxBeaconCount attribute?" + id: DGTHREAD.C.A001f + + - label: "Does the DUT-client support the TxBeaconRequestCount attribute?" + id: DGTHREAD.C.A0020 + + - label: "Does the DUT-client support the TxOtherCount attribute?" + id: DGTHREAD.C.A0021 + + - label: "Does the DUT-client support the TxRetryCount attribute?" + id: DGTHREAD.C.A0022 + + - label: + "Does the DUT-client support the TxDirectMaxRetryExpiryCount + attribute?" + id: DGTHREAD.C.A0023 + + - label: + "Does the DUT-client support the TxIndirectMaxRetryExpiryCount + attribute?" + id: DGTHREAD.C.A0024 + + - label: "Does the DUT-client support the TxErrCcaCount attribute?" + id: DGTHREAD.C.A0025 + + - label: "Does the DUT-client support the TxErrAbortCount attribute?" + id: DGTHREAD.C.A0026 + + - label: "Does the DUT-client support the TxErrBusyChannelCount attribute?" + id: DGTHREAD.C.A0027 + + - label: "Does the DUT-client support the RxTotalCount attribute?" + id: DGTHREAD.C.A0028 + + - label: "Does the DUT-client support the RxUnicastCount attribute?" + id: DGTHREAD.C.A0029 + + - label: "Does the DUT-client support the RxBroadcastCount attribute?" + id: DGTHREAD.C.A002a + + - label: "Does the DUT-client support the RxDataCount attribute?" + id: DGTHREAD.C.A002b + + - label: "Does the DUT-client support the RxDataPollCount attribute?" + id: DGTHREAD.C.A002c + + - label: "Does the DUT-client support the RxBeaconCount attribute?" + id: DGTHREAD.C.A002d + + - label: "Does the DUT-client support the RxBeaconRequestCount attribute?" + id: DGTHREAD.C.A002e + + - label: "Does the DUT-client support the RxOtherCount attribute?" + id: DGTHREAD.C.A002f + + - label: "Does the DUT-client support the RxAddressFilteredCount attribute?" + id: DGTHREAD.C.A0030 + + - label: + "Does the DUT-client support the RxDestAddrFilteredCount attribute?" + id: DGTHREAD.C.A0031 + + - label: "Does the DUT-client support the RxDuplicatedCount attribute?" + id: DGTHREAD.C.A0032 + + - label: "Does the DUT-client support the RxErrNoFrameCount attribute?" + id: DGTHREAD.C.A0033 + + - label: + "Does the DUT-client support the RxErrUnknownNeighborCount attribute?" + id: DGTHREAD.C.A0034 + + - label: + "Does the DUT-client support the RxErrInvalidScrAddrCount attribute?" + id: DGTHREAD.C.A0035 + + - label: "Does the DUT-client support the RxErrSecCount attribute?" + id: DGTHREAD.C.A0036 + + - label: "Does the DUT-client support the RxErrFcsCount attribute?" + id: DGTHREAD.C.A0037 + + - label: "Does the DUT-client support the RxErrOtherCount attribute?" + id: DGTHREAD.C.A0038 + + - label: "Does the DUT-client support the ActiveTimestamp attribute?" + id: DGTHREAD.C.A0039 + + - label: "Does the DUT-client support the PendingTimestamp attribute?" + id: DGTHREAD.C.A003a + + - label: "Does the DUT-client support the Delay attribute?" + id: DGTHREAD.C.A003b + + - label: "Does the DUT-client support the SecurityPolicy attribute?" + id: DGTHREAD.C.A003c + + - label: "Does the DUT-client support the ChannelPage0Mask attribute?" + id: DGTHREAD.C.A003d + + - label: + "Does the DUT-client support the OperationalDatasetComponents + attribute?" + id: DGTHREAD.C.A003e + + - label: "Does the DUT-client support the ActiveNetworkFaults attribute?" + id: DGTHREAD.C.A003f + + #Illuminance Measurement Cluster + #server + - label: "Does the device implement the MeasuredValue attribute?" + id: ILL.S.A0000 + + - label: "Does the device implement the MinMeasuredValue attribute?" + id: ILL.S.A0001 + + - label: "Does the device implement the MaxMeasuredValue attribute?" + id: ILL.S.A0002 + + - label: "Does the device implement the Tolerance attribute?" + id: ILL.S.A0003 + + - label: "Does the device implement the LightSensorType attribute?" + id: ILL.S.A0004 + + #Door Lock + #server attributes + - label: "Does the DUT-server support the LockState attribute?" + id: DRLK.S.A0000 + + - label: "Does the DUT-server support the LockType attribute?" + id: DRLK.S.A0001 + + - label: "Does the DUT-server support the ActuatorEnabled attribute?" + id: DRLK.S.A0002 + + - label: "Does the DUT-server support the DoorState attribute?" + id: DRLK.S.A0003 + + - label: "Does the DUT-server support the DoorOpenEvents attribute?" + id: DRLK.S.A0004 + + - label: "Does the DUT-server support the DoorClosedEvents attribute?" + id: DRLK.S.A0005 + + - label: "Does the DUT-server support the OpenPeriod attribute?" + id: DRLK.S.A0006 + + - label: + "Does the DUT-server support the NumberOfTotalUsersSupported + attribute?" + id: DRLK.S.A0011 + + - label: + "Does the DUT-server support the NumberofPINUsersSupported attribute?" + id: DRLK.S.A0012 + + - label: + "Does the DUT-server support the NumberofRFIDUsersSupported attribute?" + id: DRLK.S.A0013 + + - label: + "Does the DUT-server support the NumberofWeekDaysSchedulesSupported + attribute?" + id: DRLK.S.A0014 + + - label: + "Does the DUT-server support the NumberofYearDaysSchedulesSupported + attribute?" + id: DRLK.S.A0015 + + - label: + "Does the DUT-server support the NumberofHolidaySchedulesSupported + attribute?" + id: DRLK.S.A0016 + + - label: "Does the DUT-server support the MaxPINCodeLength attribute?" + id: DRLK.S.A0017 + + - label: "Does the DUT-server support the MinPINCodeLength attribute?" + id: DRLK.S.A0018 + + - label: "Does the DUT-server support the MaxRFIDCodeLength attribute?" + id: DRLK.S.A0019 + + - label: "Does the DUT-server support the MinRFIDCodeLength attribute?" + id: DRLK.S.A001a + + - label: "Does the DUT-server support the CredentialRulesSupport attribute?" + id: DRLK.S.A001b + + - label: + "Does the DUT-server support the NumberOfCredentialsSupportedPerUser + attribute?" + id: DRLK.S.A001c + + - label: "Does the DUT-server support the Language attribute?" + id: DRLK.S.A0021 + + - label: "Does the DUT-server support the LEDSettings attribute?" + id: DRLK.S.A0022 + + - label: "Does the DUT-server support the AutoRelockTime attribute?" + id: DRLK.S.A0023 + + - label: "Does the DUT-server support the SoundVolume attribute?" + id: DRLK.S.A0024 + + - label: "Does the DUT-server support the OperatingMode attribute?" + id: DRLK.S.A0025 + + - label: + "Does the DUT-server support the SupportedOperatingModes attribute?" + id: DRLK.S.A0026 + + - label: + "Does the DUT-server support the DefaultConfigurationRegister + attribute?" + id: DRLK.S.A0027 + + - label: "Does the DUT-server support the EnableLocalProgramming attribute?" + id: DRLK.S.A0028 + + - label: "Does the DUT-server support the EnableOneTouchLocking attribute?" + id: DRLK.S.A0029 + + - label: "Does the DUT-server support the EnableInsideStatusLED attribute?" + id: DRLK.S.A002a + + - label: + "Does the DUT-server support the EnablePrivacyModeButton attribute?" + id: DRLK.S.A002b + + - label: + "Does the DUT-server support the LocalProgrammingFeatures attribute?" + id: DRLK.S.A002c + + - label: "Does the DUT-server support the WrongCodeEntryLimit attribute?" + id: DRLK.S.A0030 + + - label: + "Does the DUT-server support the UserCodedTemporaryDisableTime + attribute?" + id: DRLK.S.A0031 + + - label: "Does the DUT-server support the SendPINOverTheAir attribute?" + id: DRLK.S.A0032 + + - label: + "Does the DUT-server support the RequirePINForRemoteOperation + attribute?" + id: DRLK.S.A0033 + + - label: "Does the DUT-server support the ExpiringUserTimeOut attribute?" + id: DRLK.S.A0035 + + #Server Event + - label: "Does the DUT-server support the DoorLockAlarm event?" + id: DRLK.S.E00 + + - label: "Does the DUT-server support the DoorStateChange event?" + id: DRLK.S.E01 + + - label: "Does the DUT-server support the LockOperation event?" + id: DRLK.S.E02 + + - label: "Does the DUT-server support the LockOperationError event?" + id: DRLK.S.E03 + + - label: "Does the DUT-server support the LockUserChange event?" + id: DRLK.S.E04 + + #Server Features + - label: + "Does the DUT(server) support the 'Lock supports PIN credentials (via + keypad, or over the-air)' feature?" + id: DRLK.S.F00 + + - label: + "Does the DUT(server) support the 'Lock supports RFID credentials' + feature?" + id: DRLK.S.F01 + + - label: + "Does the DUT(server) support the 'Lock supports finger related + credentials(fingerprint, fingervein)' feature?" + id: DRLK.S.F02 + + - label: + "Does the DUT(server) support the 'Lock supports user access + schedules' feature?" + id: DRLK.S.F04 + + - label: + "Does the DUT(server) support the 'Lock supports a door position + sensor that indicates door’s state' feature?" + id: DRLK.S.F05 + + - label: + "Does the DUT(server) support the 'Lock supports face related + credentials (face, iris, retina)' feature?" + id: DRLK.S.F06 + + - label: + "Does the DUT(server) support the 'Lock supports the user commands and + database' feature?" + id: DRLK.S.F08 + + - label: + "Does the DUT(server) support the 'PIN codes over the-air supported + for lock/unlock operations' feature?" + id: DRLK.S.F07 + + #Server Commands + - label: "Does the DUT-server support the Lock Door command?" + id: DRLK.S.C00.Rsp + + - label: "Does the DUT-server support the Unlock Door command?" + id: DRLK.S.C01.Rsp + + - label: "Does the DUT-server support the UnlockwithTimeout command?" + id: DRLK.S.C03.Rsp + + - label: "Does the DUT-server support the SetWeekDaySchedule command?" + id: DRLK.S.C0B.Rsp + + - label: "Does the DUT-server support the GetWeekDaySchedule command?" + id: DRLK.S.C0C.Rsp + + - label: "Does the DUT-server support the ClearWeekDaySchedule command?" + id: DRLK.S.C0D.Rsp + + - label: "Does the DUT-server support the SetYearDaySchedule command?" + id: DRLK.S.C0E.Rsp + + - label: "Does the DUT-server support the GetYearDaySchedule command?" + id: DRLK.S.C0F.Rsp + + - label: "Does the DUT-server support the ClearYearDaySchedule command?" + id: DRLK.S.C10.Rsp + + - label: "Does the DUT-server support the SetHolidaySchedule command?" + id: DRLK.S.C11.Rsp + + - label: "Does the DUT-server support the GetHolidaySchedule command?" + id: DRLK.S.C12.Rsp + + - label: "Does the DUT-server support the ClearHolidaySchedule command?" + id: DRLK.S.C13.Rsp + + - label: "Does the DUT-server support the SetUser command?" + id: DRLK.S.C1A.Rsp + + - label: "Does the DUT-server support the GetUser command?" + id: DRLK.S.C1B.Rsp + + - label: "Does the DUT-server support the Clear User command?" + id: DRLK.S.C1D.Rsp + + - label: "Does the DUT-server support the SetCredential command?" + id: DRLK.S.C22.Rsp + + - label: "Does the DUT-server support the GetCredential command?" + id: DRLK.S.C24.Rsp + + - label: "Does the DUT-server support the ClearCredential command?" + id: DRLK.S.C26.Rsp + + - label: + "Does the DUT-server support the GetWeekDayScheduleResponse command?" + id: DRLK.S.C0C.Tx + + - label: + "Does the DUT-server support the GetYearDayResponseSchedule command?" + id: DRLK.S.C0F.Tx + + - label: + "Does the DUT-server support the GetHolidayScheduleResponse command?" + id: DRLK.S.C12.Tx + + - label: "Does the DUT-server support the GetUserResponse command?" + id: DRLK.S.C1C.Tx + + - label: "Does the DUT-server support the SetCredentialResponse command?" + id: DRLK.S.C23.Tx + + - label: "Does the DUT-server support the GetCredentialResponse command?" + id: DRLK.S.C25.Tx + + #client attributes + - label: "Does the DUT-client support the LockState attribute?" + id: DRLK.C.A0000 + + - label: "Does the DUT-client support the LockType attribute?" + id: DRLK.C.A0001 + + - label: "Does the DUT-client support the ActuatorEnabled attribute?" + id: DRLK.C.A0002 + + - label: "Does the DUT-client support the DoorState attribute?" + id: DRLK.C.A0003 + + - label: "Does the DUT-client support the DoorOpenEvents attribute?" + id: DRLK.C.A0004 + + - label: "Does the DUT-client support the DoorClosedEvents attribute?" + id: DRLK.C.A0005 + + - label: "Does the DUT-client support the OpenPeriod attribute?" + id: DRLK.C.A0006 + + - label: + "Does the DUT-client support the NumberOfTotalUsersSupported + attribute?" + id: DRLK.C.A0011 + + - label: + "Does the DUT-client support the NumberofPINUsersSupported attribute?" + id: DRLK.C.A0012 + + - label: + "Does the DUT-client support the NumberofRFIDUsersSupported attribute?" + id: DRLK.C.A0013 + + - label: + "Does the DUT-client support the NumberofWeekDaysSchedulesSupported + attribute?" + id: DRLK.C.A0014 + + - label: + "Does the DUT-client support the NumberofYearDaysSchedulesSupported + attribute?" + id: DRLK.C.A0015 + + - label: + "Does the DUT-client support the NumberofHolidaySchedulesSupported + attribute?" + id: DRLK.C.A0016 + + - label: "Does the DUT-client support the MaxPINCodeLength attribute?" + id: DRLK.C.A0017 + + - label: "Does the DUT-client support the MinPINCodeLength attribute?" + id: DRLK.C.A0018 + + - label: "Does the DUT-client support the MaxRFIDCodeLength attribute?" + id: DRLK.C.A0019 + + - label: "Does the DUT-client support the MinRFIDCodeLength attribute?" + id: DRLK.C.A001a + + - label: "Does the DUT-client support the CredentialRulesSupport attribute?" + id: DRLK.C.A001b + + - label: + "Does the DUT-client support the NumberOfCredentialsSupportedPerUser + attribute?" + id: DRLK.C.A001c + + - label: "Does the DUT-client support the Language attribute?" + id: DRLK.C.A0021 + + - label: "Does the DUT-client support the LEDSettings attribute?" + id: DRLK.C.A0022 + + - label: "Does the DUT-client support the AutoRelockTime attribute?" + id: DRLK.C.A0023 + + - label: "Does the DUT-client support the SoundVolume attribute?" + id: DRLK.C.A0024 + + - label: "Does the DUT-client support the OperatingMode attribute?" + id: DRLK.C.A0025 + + - label: + "Does the DUT-client support the SupportedOperatingModes attribute?" + id: DRLK.C.A0026 + + - label: + "Does the DUT-client support the DefaultConfigurationRegister + attribute?" + id: DRLK.C.A0027 + + - label: "Does the DUT-client support the EnableLocalProgramming attribute?" + id: DRLK.C.A0028 + + - label: "Does the DUT-client support the EnableOneTouchLocking attribute?" + id: DRLK.C.A0029 + + - label: "Does the DUT-client support the EnableInsideStatusLED attribute?" + id: DRLK.C.A002a + + - label: + "Does the DUT-client support the EnablePrivacyModeButton attribute?" + id: DRLK.C.A002b + + - label: + "Does the DUT-client support the LocalProgrammingFeatures attribute?" + id: DRLK.C.A002c + + - label: "Does the DUT-client support the WrongCodeEntryLimit attribute?" + id: DRLK.C.A0030 + + - label: + "Does the DUT-client support the UserCodedTemporaryDisableTime + attribute?" + id: DRLK.C.A0031 + + - label: "Does the DUT-client support the SendPINOverTheAir attribute?" + id: DRLK.C.A0032 + + - label: + "Does the DUT-client support the RequirePINForRemoteOperation + attribute?" + id: DRLK.C.A0033 + + - label: "Does the DUT-client support the ExpiringUserTimeOut attribute?" + id: DRLK.C.A0035 + + #Client event + - label: "Does the DUT-client support the DoorLockAlarm event?" + id: DRLK.C.E00 + + - label: "Does the DUT-client support the DoorStateChange event?" + id: DRLK.C.E01 + + - label: "Does the DUT-client support the LockOperation event?" + id: DRLK.C.E02 + + - label: "Does the DUT-client support the LockOperationError event?" + id: DRLK.C.E03 + + - label: "Does the DUT-client support the LockUserChange event?" + id: DRLK.C.E04 + + #Client Features + - label: + "Does the DUT(client) support the 'Lock supports PIN credentials (via + keypad, or over the-air)' feature?" + id: DRLK.C.F00 + + - label: + "Does the DUT(client) support the 'Lock supports RFID credentials' + feature?" + id: DRLK.C.F01 + + - label: + "Does the DUT(client) support the 'Lock supports finger related + credentials(fingerprint, fingervein)' feature?" + id: DRLK.C.F02 + + - label: + "Does the DUT(client) support the 'Lock supports user access + schedules' feature?" + id: DRLK.C.F04 + + - label: + "Does the DUT(client) support the 'Lock supports a door position + sensor that indicates door’s state' feature?" + id: DRLK.C.F05 + + - label: + "Does the DUT(client) support the 'Lock supports face related + credentials (face, iris, retina)' feature?" + id: DRLK.C.F06 + + - label: + "Does the DUT(client) support the 'Lock supports the user commands and + database' feature?" + id: DRLK.C.F08 + + - label: + "Does the DUT(client) support the 'PIN codes over the-air supported + for lock/unlock operations' feature?" + id: DRLK.C.F07 + + #Client Commands + - label: "Does the DUT(Client) support the Lock Door command?" + id: DRLK.C.C00.Tx + + - label: "Does the DUT(Client) support the Unlock Door command?" + id: DRLK.C.C1.Tx + + - label: "Does the DUT(Client) support the Unlock with Timeout command?" + id: DRLK.C.C3.Tx + + - label: "Does the DUT(Client) support the Set Week Day Schedule command?" + id: DRLK.C.C0B.Tx + + - label: "Does the DUT(Client) support the Get Week Day Schedule command?" + id: DRLK.C.C0C.Tx + + - label: "Does the DUT(Client) support the Clear Week Day Schedule command?" + id: DRLK.C.C0D.Tx + + - label: "Does the DUT(Client) support the Set Year Day Schedule command?" + id: DRLK.C.C0e.Tx + + - label: "Does the DUT(Client) support the Get Year Day Schedule command?" + id: DRLK.C.C0f.Tx + + - label: "Does the DUT(Client) support the Clear Year Day Schedule command?" + id: DRLK.C.C10.Tx + + - label: "Does the DUT(Client) support the Set Holiday Schedule command?" + id: DRLK.C.C11.Tx + + - label: "Does the DUT(Client) support the Get Holiday Schedule command?" + id: DRLK.C.C12.Tx + + - label: "Does the DUT(Client) support the Clear Holiday Schedule command?" + id: DRLK.C.C13.Tx + + - label: "Does the DUT(Client) support the Set User command?" + id: DRLK.C.C1a.Tx + + - label: "Does the DUT-client support the GetUser command?" + id: DRLK.C.C1b.Tx + + - label: "Does the DUT-client support the Clear User command?" + id: DRLK.C.C1d.Tx + + - label: "Does the DUT-client support the SetCredential command?" + id: DRLK.C.C22.Tx + + - label: "Does the DUT-client support the GetCredential command?" + id: DRLK.C.C24.Tx + + - label: "Does the DUT-client support the ClearCredential command?" + id: DRLK.C.C26.Tx + + - label: + "Does the DUT-client support the GetWeekDayScheduleResponse command?" + id: DRLK.C.C0c.Rsp + + - label: + "Does the DUT-client support the GetYearDayResponseSchedule command?" + id: DRLK.C.C0f.Rsp + + - label: + "Does the DUT-client support the GetHolidayScheduleResponse command?" + id: DRLK.C.C12.Rsp + + - label: "Does the DUT-client support the GetUserResponse command?" + id: DRLK.C.C1c.Rsp + + - label: "Does the DUT-client support the SetCredentialResponse command?" + id: DRLK.C.C23.Rsp + + - label: "Does the DUT-client support the GetCredentialResponse command?" + id: DRLK.C.C25.Rsp + + #Device Management + #Server Attributes + - label: "Does the DUT(server) support the DataModelRevision attribute?" + id: BINFO.S.A0000 + + - label: "Does the DUT(server) support the VendorName attribute?" + id: BINFO.S.A0001 + + - label: "Does the DUT(server) support the VendorID attribute?" + id: BINFO.S.A0002 + + - label: "Does the DUT(server) support the ProductName attribute?" + id: BINFO.S.A0003 + + - label: "Does the DUT(server) support the ProductID attribute?" + id: BINFO.S.A0004 + + - label: "Does the DUT(server) support the NodeLabel attribute?" + id: BINFO.S.A0005 + + - label: "Does the DUT(server) support the Location attribute?" + id: BINFO.S.A0006 + + - label: "Does the DUT(server) support the HardwareVersion attribute?" + id: BINFO.S.A0007 + + - label: "Does the DUT(server) support the HardwareVersionString attribute?" + id: BINFO.S.A0008 + + - label: "Does the DUT(server) support the SoftwareVersion attribute?" + id: BINFO.S.A0009 + + - label: "Does the DUT(server) support the SoftwareVersionString attribute?" + id: BINFO.S.A000a + + - label: "Does the DUT(server) support the ManufacturingDate attribute?" + id: BINFO.S.A000b + + - label: "Does the DUT(server) support the PartNumber attribute?" + id: BINFO.S.A000c + + - label: "Does the DUT(server) support the ProductURL attribute?" + id: BINFO.S.A000d + + - label: "Does the DUT(server) support the ProductLabel attribute?" + id: BINFO.S.A000e + + - label: "Does the DUT(server) support the SerialNumber attribute?" + id: BINFO.S.A000f + + - label: "Does the DUT(server) support the LocalConfigDisabled attribute?" + id: BINFO.S.A0010 + + - label: "Does the DUT(server) support the Reachable attribute?" + id: BINFO.S.A0011 + + - label: "Does the DUT(server) support the UniqueID attribute?" + id: BINFO.S.A0012 + + - label: "Does the DUT(server) support the CapabilityMinima attribute?" + id: BINFO.S.A0013 + + #Events + - label: "Does the DUT(server) support the StartUp event?" + id: BINFO.S.E00 + + - label: "Does the DUT(server) support the ShutDown event?" + id: BINFO.S.E01 + + - label: "Does the DUT(server) support the Leave event?" + id: BINFO.S.E02 + + - label: "Does the DUT(server) support the ReachableChanged event?" + id: BINFO.S.E03 + + #Client Attributes + - label: "Does the DUT(Client) support the DataModelRevision attribute?" + id: BINFO.C.A0000 + + - label: "Does the DUT(Client) support the VendorName attribute?" + id: BINFO.C.A0001 + + - label: "Does the DUT(Client) support the VendorID attribute?" + id: BINFO.C.A0002 + + - label: "Does the DUT(Client) support the ProductName attribute?" + id: BINFO.C.A0003 + + - label: "Does the DUT(Client) support the ProductID attribute?" + id: BINFO.C.A0004 + + - label: "Does the DUT(Client) support the NodeLabel attribute?" + id: BINFO.C.A0005 + + - label: "Does the DUT(Client) support the Location attribute?" + id: BINFO.C.A0006 + + - label: "Does the DUT(Client) support the HardwareVersion attribute?" + id: BINFO.C.A0007 + + - label: "Does the DUT(Client) support the HardwareVersionString attribute?" + id: BINFO.C.A0008 + + - label: "Does the DUT(Client) support the SoftwareVersion attribute?" + id: BINFO.C.A0009 + + - label: "Does the DUT(Client) support the SoftwareVersionString attribute?" + id: BINFO.C.A000a + + - label: "Does the DUT(Client) support the ManufacturingDate attribute?" + id: BINFO.C.A000b + + - label: "Does the DUT(Client) support the PartNumber attribute?" + id: BINFO.C.A000c + + - label: "Does the DUT(Client) support the ProductURL attribute?" + id: BINFO.C.A000d + + - label: "Does the DUT(Client) support the ProductLabel attribute?" + id: BINFO.C.A000e + + - label: "Does the DUT(Client) support the SerialNumber attribute?" + id: BINFO.C.A000f + + - label: "Does the DUT(Client) support the LocalConfigDisabled attribute?" + id: BINFO.C.A0010 + + - label: "Does the DUT(Client) support the Reachable attribute?" + id: BINFO.C.A0011 + + - label: "Does the DUT(Client) support the UniqueID attribute?" + id: BINFO.C.A0012 + + - label: "Does the DUT(Client) support the CapabilityMinima attribute?" + id: BINFO.C.A0013 + + #Events + - label: "Does the DUT(Client) support the StartUp event?" + id: BINFO.C.E00 + + - label: "Does the DUT(Client) support the ShutDown event?" + id: BINFO.C.E01 + + - label: "Does the DUT(Client) support the Leave event?" + id: BINFO.C.E02 + + - label: "Does the DUT(Client)) support the ReachableChanged event?" + id: BINFO.C.E03 + + #NetworkCommissioning Cluster + #Server Attributes + - label: "Does the DUT(Server) support MaxNetworks attribute?" + id: CNET.S.A0000 + + - label: "Does the DUT(Server) support Networks attribute?" + id: CNET.S.A0001 + + - label: "Does the DUT(Server) support ScanMaxTimeSeconds attribute?" + id: CNET.S.A0002 + + - label: "Does the DUT(Server) support ConnectMaxTimeSeconds attribute?" + id: CNET.S.A0003 + + - label: "Does the DUT(Server) support InterfaceEnabled attribute?" + id: CNET.S.A0004 + + - label: "Does the DUT(Server) support LastNetworkingStatus attribute?" + id: CNET.S.A0005 + + - label: "Does the DUT(Server) support LastNetworkID attribute?" + id: CNET.S.A0006 + + - label: "Does the DUT(Server) support LastConnectErrorValue attribute?" + id: CNET.S.A0007 + + #Server Commands + - label: + "Does the Device(Server) implement receiving the ScanNetworks command?" + id: CNET.S.C00.Rsp + + - label: + "Does the Device(Server) invoking/generating the ScanNetworksResponse + command?" + id: CNET.S.C01.Tx + + - label: + "Does the Device(Server) implement receiving the + AddOrUpdateWiFiNetwork command?" + id: CNET.S.C02.Rsp + + - label: + "Does the Device(Server) implement receiving the + AddOrUpdateThreadNetwork command?" + id: CNET.S.C03.Rsp + + - label: + "Does the Device(Server) implement receiving the RemoveNetwork + command?" + id: CNET.S.C04.Rsp + + - label: + "Does the Device(Server) invoking/generating the NetworkConfigResponse + command?" + id: CNET.S.C05.Tx + + - label: + "Does the Device(Server) implement receiving the ConnectNetwork + command?" + id: CNET.S.C06.Rsp + + - label: + "Does the Device(Server) invoking/generating the + ConnectNetworkResponse command?" + id: CNET.S.C07.Tx + + - label: + "Does the Device(Server) implement receiving the ReorderNetwork + command?" + id: CNET.S.C08.Rsp + + #Client Attributes + - label: "Does the DUT(Client) support MaxNetworks attribute?" + id: CNET.C.A0000 + + - label: "Does the DUT(Client) support Networks attribute?" + id: CNET.C.A0001 + + - label: "Does the DUT(Client) support ScanMaxTimeSeconds attribute?" + id: CNET.C.A0002 + + - label: "Does the DUT(Client) support ConnectMaxTimeSeconds attribute?" + id: CNET.C.A0003 + + - label: "Does the DUT(Client) support InterfaceEnabled attribute?" + id: CNET.C.A0004 + + - label: "Does the DUT(Client) support LastNetworkingStatus attribute?" + id: CNET.C.A0005 + + - label: "Does the DUT(Client) support LastNetworkID attribute?" + id: CNET.C.A0006 + + - label: "Does the DUT(Client) support LastConnectErrorValue attribute?" + id: CNET.C.A0007 + + #Client Commands + - label: + "Does the Device(Client) invoking/generating the ScanNetworks command?" + id: CNET.C.C00.Tx + + - label: + "Does the Device(Client) invoking/generating the + AddOrUpdateWiFiNetwork command?" + id: CNET.C.C02.Tx + + - label: + "Does the Device(Client) invoking/generating the + AddOrUpdateThreadNetwork command?" + id: CNET.C.C03.Tx + + - label: + "Does the Device(Client) invoking/generating the RemoveNetwork + command?" + id: CNET.C.C04.Tx + + - label: + "Does the Device(Client) invoking/generating the ConnectNetwork + command?" + id: CNET.C.C06.Tx + + - label: + "Does the Device(Client) invoking/generating the ReorderNetwork + command?" + id: CNET.C.C08.Tx + + #Node Operational Credential + #Server Attributes + - label: "Does the DUT(server) support the NOC list attribute?" + id: OPCREDS.S.A0000 + + - label: "Does the DUT(server) support the Fabrics list attribute?" + id: OPCREDS.S.A0001 + + - label: "Does the DUT(server) support the SupportedFabrics attribute?" + id: OPCREDS.S.A0002 + + - label: "Does the DUT(server) support the CommissionedFabrics attribute?" + id: OPCREDS.S.A0003 + + - label: + "Does the DUT(server) support the TrustedRootCertificates attribute?" + id: OPCREDS.S.A0004 + + - label: "Does the DUT(server) support the CurrentFabricIndex attribute?" + id: OPCREDS.S.A0005 + + - label: "Does the DUT(server) support the NOC Certificate attribute?" + id: OPCREDS.S.A0006 + + - label: "Does the DUT(server) support the ICAC Certificate attribute?" + id: OPCREDS.S.A0007 + + #Server Commands + - label: + "Does the Device(Server) implement receiving the AttestationRequest + command?" + id: OPCREDS.S.C00.Rsp + + - label: + "Does the Device(Server) invoking/generating the AttestationResponse + command?" + id: OPCREDS.S.C01.Tx + + - label: + "Does the Device(Server) implement receiving the + CertificateChainRequest command?" + id: OPCREDS.S.C02.Rsp + + - label: + "Does the Device(Server) invoking/generating the + CertificateChainResponse command?" + id: OPCREDS.S.C03.Tx + + - label: + "Does the Device(Server) implement receiving the CSRRequest command?" + id: OPCREDS.S.C04.Rsp + + - label: + "Does the Device(Server) invoking/generating the CSRResponse command?" + id: OPCREDS.S.C05.Tx + + - label: "Does the Device(Server) implement receiving the AddNOC command?" + id: OPCREDS.S.C06.Rsp + + - label: + "Does the Device(Server) implement receiving the UpdateNOC command?" + id: OPCREDS.S.C07.Rsp + + - label: + "Does the Device(Server) invoking/generating the NOCResponse command?" + id: OPCREDS.S.C08.Tx + + - label: + "Does the Device(Server) implement receiving the UpdateFabricLabel + command?" + id: OPCREDS.S.C09.Rsp + + - label: + "Does the Device(Server) implement receiving the RemoveFabric command?" + id: OPCREDS.S.C0a.Rsp + + - label: + "Does the Device(Server) implement receiving the + AddTrustedRootCertificate command?" + id: OPCREDS.S.C0b.Rsp + + #Client Attributes + - label: "Does the DUT(Client) support the NOC list attribute?" + id: OPCREDS.C.A0000 + + - label: "Does the DUT(Client) support the Fabrics list attribute?" + id: OPCREDS.C.A0001 + + - label: "Does the DUT(Client) support the SupportedFabrics attribute?" + id: OPCREDS.C.A0002 + + - label: "Does the DUT(Client) support the CommissionedFabrics attribute?" + id: OPCREDS.C.A0003 + + - label: + "Does the DUT(Client) support the TrustedRootCertificates attribute?" + id: OPCREDS.C.A0004 + + - label: "Does the DUT(Client) support the CurrentFabricIndex attribute?" + id: OPCREDS.C.A0005 + + - label: "Does the DUT(Client) support the NOC Certificate attribute?" + id: OPCREDS.C.A0006 + + - label: "Does the DUT(Client) support the ICAC Certificate attribute?" + id: OPCREDS.C.A0007 + + #Client Commands + - label: + "Does the Device(Client) implement receiving the AttestationRequest + command?" + id: OPCREDS.C.C00.Tx + + - label: + "Does the Device(Client) invoking/generating the AttestationResponse + command?" + id: OPCREDS.C.C01.Rsp + + - label: + "Does the Device(Client) implement receiving the + CertificateChainRequest command?" + id: OPCREDS.C.C02.Tx + + - label: + "Does the Device(Client) invoking/generating the + CertificateChainResponse command?" + id: OPCREDS.C.C03.Rsp + + - label: + "Does the Device(Client) implement receiving the CSRRequest command?" + id: OPCREDS.C.C04.Tx + + - label: + "Does the Device(Client) invoking/generating the CSRResponse command?" + id: OPCREDS.C.C05.Rsp + + - label: "Does the Device(Client) implement receiving the AddNOC command?" + id: OPCREDS.C.C06.Tx + + - label: + "Does the Device(Client) implement receiving the UpdateNOC command?" + id: OPCREDS.C.C07.Tx + + - label: + "Does the Device(Client) invoking/generating the NOCResponse command?" + id: OPCREDS.C.C08.Rsp + + - label: + "Does the Device(Client) implement receiving the UpdateFabricLabel + command?" + id: OPCREDS.C.C09.Tx + + - label: + "Does the Device(Client) implement receiving the RemoveFabric command?" + id: OPCREDS.C.C0a.Tx + + - label: + "Does the Device(Client) implement receiving the + AddTrustedRootCertificate command?" + id: OPCREDS.C.C0b.Tx diff --git a/src/app/tests/suites/certification/Test_TC_BINFO_2_1.yaml b/src/app/tests/suites/certification/Test_TC_BINFO_2_1.yaml index 62e28c3b30be6d..4e2c8f2a4e9aa8 100644 --- a/src/app/tests/suites/certification/Test_TC_BINFO_2_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_BINFO_2_1.yaml @@ -30,6 +30,7 @@ tests: value: nodeId - label: "Query Data Model Revision" + PICS: BINFO.S.A0000 command: "readAttribute" attribute: "DataModelRevision" response: @@ -37,6 +38,7 @@ tests: type: uint16 - label: "Query Vendor Name" + PICS: BINFO.S.A0001 command: "readAttribute" attribute: "VendorName" response: @@ -45,6 +47,7 @@ tests: maxLength: 32 - label: "Query VendorID" + PICS: BINFO.S.A0002 command: "readAttribute" attribute: "VendorID" response: @@ -52,6 +55,7 @@ tests: type: uint16 - label: "Query Product Name" + PICS: BINFO.S.A0003 command: "readAttribute" attribute: "ProductName" response: @@ -60,6 +64,7 @@ tests: maxLength: 32 - label: "Query ProductID" + PICS: BINFO.S.A0004 command: "readAttribute" attribute: "ProductID" response: @@ -67,6 +72,7 @@ tests: type: uint16 - label: "Query Node Label" + PICS: BINFO.S.A0005 command: "readAttribute" attribute: "NodeLabel" response: @@ -75,6 +81,7 @@ tests: maxLength: 32 - label: "Query User Location" + PICS: BINFO.S.A0006 command: "readAttribute" attribute: "Location" response: @@ -83,6 +90,7 @@ tests: maxLength: 16 - label: "Query HardwareVersion" + PICS: BINFO.S.A0007 command: "readAttribute" attribute: "HardwareVersion" response: @@ -90,6 +98,7 @@ tests: type: uint16 - label: "Query HardwareVersionString" + PICS: BINFO.S.A0008 command: "readAttribute" attribute: "HardwareVersionString" response: @@ -109,7 +118,7 @@ tests: [1654069233.033902][11164:11169] CHIP:EM: Sending Standalone Ack for MessageCounter:3270959 on exchange 29106i cluster: "LogCommands" command: "UserPrompt" - PICS: PICS_USER_PROMPT + PICS: PICS_USER_PROMPT && BINFO.S.A000a arguments: values: - name: "message" @@ -130,7 +139,7 @@ tests: [1640336849.202479][14335:14340] CHIP:TOO: Basic.ManufacturingDate response: 20210614123456ZZ cluster: "LogCommands" command: "UserPrompt" - PICS: PICS_USER_PROMPT + PICS: PICS_USER_PROMPT && BINFO.S.A000b arguments: values: - name: "message" @@ -141,8 +150,7 @@ tests: - label: "Query PartNumber" command: "readAttribute" attribute: "PartNumber" - PICS: PART_NUM - optional: true + PICS: BINFO.S.A000c response: constraints: type: string @@ -161,7 +169,7 @@ tests: [1640337847.187868][14399:14404] CHIP:TOO: Basic.ProductURL response: cluster: "LogCommands" command: "UserPrompt" - PICS: PICS_USER_PROMPT + PICS: PICS_USER_PROMPT && BINFO.S.A000d arguments: values: - name: "message" @@ -170,43 +178,43 @@ tests: value: "y" - label: "Query ProductLabel" + PICS: BINFO.S.A000e command: "readAttribute" attribute: "ProductLabel" - optional: true response: constraints: type: string maxLength: 64 - label: "Query SerialNumber" + PICS: BINFO.S.A000f command: "readAttribute" attribute: "SerialNumber" - optional: true response: constraints: type: string maxLength: 32 - label: "Query LocalConfigDisabled" + PICS: BINFO.S.A0010 command: "readAttribute" attribute: "LocalConfigDisabled" - optional: true response: constraints: type: boolean - label: "Query Reachable" + PICS: BINFO.S.A0011 command: "readAttribute" attribute: "Reachable" - optional: true response: constraints: type: boolean - label: "Query UniqueID" + PICS: BINFO.S.A0012 command: "readAttribute" attribute: "UniqueID" - optional: true response: constraints: type: string diff --git a/src/app/tests/suites/certification/Test_TC_BINFO_2_4.yaml b/src/app/tests/suites/certification/Test_TC_BINFO_2_4.yaml index a2f19292153ded..17f58a47a98836 100644 --- a/src/app/tests/suites/certification/Test_TC_BINFO_2_4.yaml +++ b/src/app/tests/suites/certification/Test_TC_BINFO_2_4.yaml @@ -13,7 +13,7 @@ # limitations under the License. # Auto-generated scripts for harness use only, please review before automation. The endpoints and cluster names are currently set to default -name: 11.2.4. [TC-BINFO-2.4] Events [DUT-Client] +name: 3.1.4. [TC-BINFO-2.4] Basic Information Cluster Events [DUT - Controller] config: nodeId: 0x12344321 @@ -45,9 +45,27 @@ tests: [1651229405.704707][2825:2825] CHIP:DMG: isFabricFiltered = true, [1651229405.704737][2825:2825] CHIP:DMG: InteractionModelRevision = 1 [1651229405.704766][2825:2825] CHIP:DMG: }, + + On TH side: + " ./chip-tool basic read-event start-up 1 0 + + + + [1646996282.798986][2283:2288] CHIP:DMG: + [1646996282.799030][2283:2288] CHIP:DMG: SuppressResponse = true, + [1646996282.799075][2283:2288] CHIP:DMG: InteractionModelRevision = 1 + [1646996282.799117][2283:2288] CHIP:DMG: } + [1646996282.799379][2283:2288] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Event 0x0000_0000 + [1646996282.799425][2283:2288] CHIP:TOO: Event number: 0 + [1646996282.799465][2283:2288] CHIP:TOO: Priority: Critical + [1646996282.799505][2283:2288] CHIP:TOO: Timestamp: 429117 + [1646996282.799725][2283:2288] CHIP:TOO: StartUp: { + [1646996282.799787][2283:2288] CHIP:TOO: SoftwareVersion: 0 + [1646996282.799832][2283:2288] CHIP:TOO: }" disabled: true - label: "Simulate a Shut down on the TH" + PICS: BINFO.C.E01 verification: | 1. Launch chip-tool into interactive mode with the command ./chip-tool interactive start @@ -86,7 +104,17 @@ tests: - label: "Simulate a Factory Reset the TH" verification: | - ./chip-tool basic read-event leave 1 0 + To verify leave event follow the below commands + 1. ./chip-tool interactive start + 2. basic subscribe-event leave 1 100 1 0 + 3. operationalcredentials remove-fabric 1 1 0 + + [1655369668.996192][2323:2328] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Event 0x0000_0002 + [1655369668.996235][2323:2328] CHIP:TOO: Event number: 2 + [1655369668.996273][2323:2328] CHIP:TOO: Priority: Info + [1655369668.996311][2323:2328] CHIP:TOO: Timestamp: 659361 + [1655369668.998931][2323:2328] CHIP:TOO: Leave: { + [1655369668.998986][2323:2328] CHIP:TOO: } disabled: true - label: "Simulate a reboot on the TH" @@ -116,6 +144,13 @@ tests: disabled: true - label: "Simulate a Reachable attribute change on the TH" + PICS: BINFO.C.E03 verification: | - ./chip-tool basic read-event reachable-changed 1 0 + ./chip-tool basic read-event reachable-changed 1 0 + + [1655369993.433630][2377:2382] CHIP:DMG: ReportDataMessage = + [1655369993.433667][2377:2382] CHIP:DMG: { + [1655369993.433699][2377:2382] CHIP:DMG: SuppressResponse = true, + [1655369993.433742][2377:2382] CHIP:DMG: InteractionModelRevision = 1 + [1655369993.433775][2377:2382] CHIP:DMG: } disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_CNET_4_1.yaml b/src/app/tests/suites/certification/Test_TC_CNET_4_1.yaml index 7f31633837528d..1d7f2479bdc220 100644 --- a/src/app/tests/suites/certification/Test_TC_CNET_4_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_CNET_4_1.yaml @@ -38,132 +38,136 @@ tests: verification: | ./chip-tool descriptor read server-list 1 0 - [1646214614.113925][6900:6905] CHIP:DMG: SuppressResponse = true, - [1646214614.113950][6900:6905] CHIP:DMG: InteractionModelRevision = 1 - [1646214614.113972][6900:6905] CHIP:DMG: } - [1646214614.115636][6900:6905] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_001D Attribute 0x0000_0001DataVersion: 3460417267 - [1646214614.115731][6900:6905] CHIP:TOO: server list: 25 entries - [1646214614.115784][6900:6905] CHIP:TOO: [1]: 3 - [1646214614.115810][6900:6905] CHIP:TOO: [2]: 4 - [1646214614.115834][6900:6905] CHIP:TOO: [3]: 29 - [1646214614.115858][6900:6905] CHIP:TOO: [4]: 30 - [1646214614.115882][6900:6905] CHIP:TOO: [5]: 31 - [1646214614.115906][6900:6905] CHIP:TOO: [6]: 40 - [1646214614.115930][6900:6905] CHIP:TOO: [7]: 42 - [1646214614.115954][6900:6905] CHIP:TOO: [8]: 43 - [1646214614.115978][6900:6905] CHIP:TOO: [9]: 44 - [1646214614.116002][6900:6905] CHIP:TOO: [10]: 45 - [1646214614.116025][6900:6905] CHIP:TOO: [11]: 46 - [1646214614.116049][6900:6905] CHIP:TOO: [12]: 48 - [1646214614.116073][6900:6905] CHIP:TOO: [13]: 49 - [1646214614.116096][6900:6905] CHIP:TOO: [14]: 50 - [1646214614.116120][6900:6905] CHIP:TOO: [15]: 51 - [1646214614.116144][6900:6905] CHIP:TOO: [16]: 52 - [1646214614.116168][6900:6905] CHIP:TOO: [17]: 53 - [1646214614.116192][6900:6905] CHIP:TOO: [18]: 54 - [1646214614.116215][6900:6905] CHIP:TOO: [19]: 55 - [1646214614.116239][6900:6905] CHIP:TOO: [20]: 60 - [1646214614.116263][6900:6905] CHIP:TOO: [21]: 62 - [1646214614.116287][6900:6905] CHIP:TOO: [22]: 63 - [1646214614.116310][6900:6905] CHIP:TOO: [23]: 64 - [1646214614.116334][6900:6905] CHIP:TOO: [24]: 65 - [1646214614.116358][6900:6905] CHIP:TOO: [25]: 1029 - [1646214614.116434][6900:6905] CHIP:EM: Sending Standalone Ack for MessageCounter:1857540 on exchange 31492i + [1654250292.680821][5262:5267] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_001D Attribute 0x0000_0001 DataVersion: 812190876 + [1654250292.681079][5262:5267] CHIP:TOO: server list: 26 entries + [1654250292.681196][5262:5267] CHIP:TOO: [1]: 3 + [1654250292.681264][5262:5267] CHIP:TOO: [2]: 4 + [1654250292.681327][5262:5267] CHIP:TOO: [3]: 29 + [1654250292.681389][5262:5267] CHIP:TOO: [4]: 30 + [1654250292.681450][5262:5267] CHIP:TOO: [5]: 31 + [1654250292.681525][5262:5267] CHIP:TOO: [6]: 40 + [1654250292.681578][5262:5267] CHIP:TOO: [7]: 42 + [1654250292.681629][5262:5267] CHIP:TOO: [8]: 43 + [1654250292.681680][5262:5267] CHIP:TOO: [9]: 44 + [1654250292.681731][5262:5267] CHIP:TOO: [10]: 45 + [1654250292.681782][5262:5267] CHIP:TOO: [11]: 46 + [1654250292.681833][5262:5267] CHIP:TOO: [12]: 47 + [1654250292.681911][5262:5267] CHIP:TOO: [13]: 48 + [1654250292.681977][5262:5267] CHIP:TOO: [14]: 49 + [1654250292.682038][5262:5267] CHIP:TOO: [15]: 50 + [1654250292.682100][5262:5267] CHIP:TOO: [16]: 51 + [1654250292.682160][5262:5267] CHIP:TOO: [17]: 52 + [1654250292.682220][5262:5267] CHIP:TOO: [18]: 53 + [1654250292.682281][5262:5267] CHIP:TOO: [19]: 54 + [1654250292.682342][5262:5267] CHIP:TOO: [20]: 55 + [1654250292.682404][5262:5267] CHIP:TOO: [21]: 60 + [1654250292.682467][5262:5267] CHIP:TOO: [22]: 62 + [1654250292.682528][5262:5267] CHIP:TOO: [23]: 63 + [1654250292.682590][5262:5267] CHIP:TOO: [24]: 64 + [1654250292.682651][5262:5267] CHIP:TOO: [25]: 65 + [1654250292.682714][5262:5267] CHIP:TOO: [26]: 1029 disabled: true - label: "TH reads FeatureMap attribute from the DUT" verification: | - ubuntu@ubuntu:~/sethu-apr1/connectedhomeip/examples/chip-tool/out/debug$ ./chip-tool networkcommissioning read feature-map 1 0 + ./chip-tool networkcommissioning read feature-map 1 0 - [1649244936.458178][30450:30455] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0031 Attribute 0x0000_FFFC DataVersion: 2702518944 - [1649244936.458272][30450:30455] CHIP:TOO: FeatureMap: 1 - [1649244936.458371][30450:30455] CHIP:EM: Sending Standalone Ack for MessageCounter:12082532 on exchange 64223i + [1653473169.784344][29771:29776] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0031 Attribute 0x0000_FFFC DataVersion: 1600858167 + [1653473169.784413][29771:29776] CHIP:TOO: FeatureMap: 1 + [1653473169.784516][29771:29776] CHIP:EM: Sending Standalone Ack for MessageCounter:3349837 on exchange 7603i disabled: true - label: "TH reads the MaxNetworks attribute from the DUT" + PICS: CNET.S.A0000 verification: | - ubuntu@ubuntu:~/apps$ ./chip-tool networkcommissioning read max-networks 1 0 - - [1646216356.472036][7021:7026] CHIP:DMG: SuppressResponse = true, - [1646216356.472088][7021:7026] CHIP:DMG: InteractionModelRevision = 1 - [1646216356.472136][7021:7026] CHIP:DMG: } - [1646216356.472388][7021:7026] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0031 Attribute 0x0000_0000DataVersion: 1979781767 - [1646216356.472511][7021:7026] CHIP:TOO: MaxNetworks: 1 - [1646216356.472624][7021:7026] CHIP:EM: Sending Standalone Ack for MessageCounter:4914191 on exchange 38527i + ./chip-tool networkcommissioning read max-networks 1 0 + + [1653473181.407542][29777:29782] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0031 Attribute 0x0000_0000 DataVersion: 1600858167 + [1653473181.407621][29777:29782] CHIP:TOO: MaxNetworks: 1 + [1653473181.407725][29777:29782] CHIP:EM: Sending Standalone Ack for MessageCounter:15199397 on exchange 5841i disabled: true - label: "TH saves the MaxNetworks attribute value as 'MaxNetworksValue' for future use" verification: | - TH1 saves the MaxNetworks attribute value + disabled: true - label: "TH reads the Networks attribute list from the DUT" + PICS: CNET.S.A0001 verification: | - ubuntu@ubuntu:~/sethu-apr1/connectedhomeip/examples/chip-tool/out/debug$ ./chip-tool networkcommissioning read networks 1 0 - - [1649249212.072823][30681:30686] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0031 Attribute 0x0000_0001 DataVersion: 2702518944 - [1649249212.072912][30681:30686] CHIP:TOO: Networks: 1 entries - [1649249212.073027][30681:30686] CHIP:TOO: [1]: { - [1649249212.073067][30681:30686] CHIP:TOO: NetworkID: 47524C507269766174655F455854 - [1649249212.073101][30681:30686] CHIP:TOO: Connected: TRUE - [1649249212.073135][30681:30686] CHIP:TOO: } - [1649249212.073266][30681:30686] CHIP:EM: Sending Standalone Ack for MessageCounter:8988360 on exchange 58610i + ./chip-tool networkcommissioning read networks 1 0 + + [1654250379.881780][5309:5314] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0031 Attribute 0x0000_0001 DataVersion: 3741733376 + [1654250379.881974][5309:5314] CHIP:TOO: Networks: 1 entries + [1654250379.882123][5309:5314] CHIP:TOO: [1]: { + [1654250379.882196][5309:5314] CHIP:TOO: NetworkID: 47524C50726976617465 + [1654250379.882257][5309:5314] CHIP:TOO: Connected: TRUE + [1654250379.882312][5309:5314] CHIP:TOO: } disabled: true - label: "TH reads ScanMaxTimeSeconds attribute from the DUT" + PICS: CNET.S.A0002 verification: | - ubuntu@ubuntu:~/connectedhomeip$ sudo ./examples/chip-tool/out/debug/chip-tool networkcommissioning read scan-max-time-seconds 1 0 --paa-trust-store-path ./credentials/development/paa-root-certs + ./chip-tool networkcommissioning read scan-max-time-seconds 1 0 + - [1648122894.380473][8770:8775] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0031 Attribute 0x0000_0002 DataVersion: 317843604 - [1648122894.380552][8770:8775] CHIP:TOO: ScanMaxTimeSeconds: 10 - [1648122894.380642][8770:8775] CHIP:EM: Sending Standalone Ack for MessageCounter:12629308 on exchange 33084i + [1653473784.850830][29813:29818] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0031 Attribute 0x0000_0002 DataVersion: 1600858167 + [1653473784.850916][29813:29818] CHIP:TOO: ScanMaxTimeSeconds: 10 + [1653473784.851029][29813:29818] CHIP:EM: Sending Standalone Ack for MessageCounter:16671548 on exchange 37205i disabled: true - label: "TH reads ConnectMaxTimeSeconds Attribute from the DUT" + PICS: CNET.S.A0003 verification: | - ubuntu@ubuntu:~/connectedhomeip$ sudo ./examples/chip-tool/out/debug/chip-tool networkcommissioning read connect-max-time-seconds 1 0 --paa-trust-store-path ./credentials/development/paa-root-certs + ./chip-tool networkcommissioning read connect-max-time-seconds 1 0 - [1648122935.626395][8780:8785] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0031 Attribute 0x0000_0003 DataVersion: 317843604 - [1648122935.626461][8780:8785] CHIP:TOO: ConnectMaxTimeSeconds: 20 - [1648122935.626539][8780:8785] CHIP:EM: Sending Standalone Ack for MessageCounter:11607262 on exchange 19306i + [1653473821.367214][29821:29826] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0031 Attribute 0x0000_0003 DataVersion: 1600858167 + [1653473821.367283][29821:29826] CHIP:TOO: ConnectMaxTimeSeconds: 20 + [1653473821.367379][29821:29826] CHIP:EM: Sending Standalone Ack for MessageCounter:187119 on exchange 50022i disabled: true - label: "TH reads InterfaceEnabled attribute from the DUT" + PICS: CNET.S.A0004 verification: | - ubuntu@ubuntu:~/sethu-apr1/connectedhomeip/examples/chip-tool/out/debug$ ./chip-tool networkcommissioning read interface-enabled 1 0 + ./chip-tool networkcommissioning read interface-enabled 1 0 - [1649250241.092686][30726:30731] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0031 Attribute 0x0000_0004 DataVersion: 2702518944 - [1649250241.092744][30726:30731] CHIP:TOO: InterfaceEnabled: TRUE - [1649250241.092852][30726:30731] CHIP:EM: Sending Standalone Ack for MessageCounter:3120276 on exchange 4316i + [1653473893.275901][29834:29839] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0031 Attribute 0x0000_0004 DataVersion: 1600858167 + [1653473893.275964][29834:29839] CHIP:TOO: InterfaceEnabled: TRUE + [1653473893.276084][29834:29839] CHIP:EM: Sending Standalone Ack for MessageCounter:13157245 on exchange 55578i disabled: true - label: "TH reads LastNetworkingStatus attribute from the DUT" + PICS: CNET.S.A0005 verification: | - ubuntu@ubuntu:~/connectedhomeip$ sudo ./examples/chip-tool/out/debug/chip-tool networkcommissioning read last-networking-status 1 0 --paa-trust-store-path ./credentials/development/paa-root-certs + ./chip-tool networkcommissioning read last-networking-status 1 0 - [1648123150.266020][8807:8812] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0031 Attribute 0x0000_0005 DataVersion: 317843604 - [1648123150.266107][8807:8812] CHIP:TOO: LastNetworkingStatus: 0 - [1648123150.266205][8807:8812] CHIP:EM: Sending Standalone Ack for MessageCounter:6011442 on exchange 36001i + [1653473918.484769][29840:29845] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0031 Attribute 0x0000_0005 DataVersion: 1600858167 + [1653473918.484843][29840:29845] CHIP:TOO: LastNetworkingStatus: 0 + [1653473918.484940][29840:29845] CHIP:EM: Sending Standalone Ack for MessageCounter:10161085 on exchange 18769i disabled: true - label: "TH reads the LastNetworkID attribute from the DUT TH reads the Networks attribute from the DUT" + PICS: CNET.S.A0006 verification: | - ubuntu@ubuntu:~/connectedhomeip$ sudo ./examples/chip-tool/out/debug/chip-tool networkcommissioning read last-network-id 1 0 --paa-trust-store-path ./credentials/development/paa-root-certs + ./chip-tool networkcommissioning read last-network-id 1 0 - [1648123296.959013][8824:8829] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0031 Attribute 0x0000_0006 DataVersion: 317843604 - [1648123296.959092][8824:8829] CHIP:TOO: LastNetworkID: 47524C507269766174655F455854 - [1648123296.959180][8824:8829] CHIP:EM: Sending Standalone Ack for MessageCounter:7786733 on exchange 2835i + + "[1653474059.383553][27286:27291] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0031 Attribute 0x0000_0006 DataVersion: 1912591449 + [1653474059.383618][27286:27291] CHIP:TOO: LastNetworkID: 47524C50726976617465 + [1653474059.383723][27286:27291] CHIP:EM: Sending Standalone Ack for MessageCounter:6975079 on exchange 34674i" disabled: true - label: "TH reads the LastConnectErrorValue attribute from the DUT" + PICS: CNET.S.A0007 verification: | - ubuntu@ubuntu:~/connectedhomeip$ sudo ./examples/chip-tool/out/debug/chip-tool networkcommissioning read last-connect-error-value 1 0 --paa-trust-store-path ./credentials/development/paa-root-certs + ./chip-tool networkcommissioning read last-connect-error-value 1 0 + - [1648123350.094356][8834:8839] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0031 Attribute 0x0000_0007 DataVersion: 317843604 - [1648123350.094425][8834:8839] CHIP:TOO: LastConnectErrorValue: null - [1648123350.094535][8834:8839] CHIP:EM: Sending Standalone Ack for MessageCounter:8991167 on exchange 59318i + [1653474102.061746][29860:29865] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0031 Attribute 0x0000_0007 DataVersion: 1600858167 + [1653474102.061812][29860:29865] CHIP:TOO: LastConnectErrorValue: null + [1653474102.061934][29860:29865] CHIP:EM: Sending Standalone Ack for MessageCounter:5193529 on exchange 29546i disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_CNET_4_10.yaml b/src/app/tests/suites/certification/Test_TC_CNET_4_10.yaml index 8d52163a532311..f2729928a908c6 100644 --- a/src/app/tests/suites/certification/Test_TC_CNET_4_10.yaml +++ b/src/app/tests/suites/certification/Test_TC_CNET_4_10.yaml @@ -14,7 +14,7 @@ # Auto-generated scripts for harness use only, please review before automation. The endpoints and cluster names are currently set to default name: - 11.4.10. [TC-CNET-4.10] [Thread] Verification for RemoveNetwork Command + 11.4.8. [TC-CNET-4.10] [Thread] Verification for RemoveNetwork Command [DUT-Server] config: @@ -23,7 +23,9 @@ config: endpoint: 0 tests: - - label: "TH sends ArmFailSafe command to the DUT" + - label: + "TH sends ArmFailSafe command to the DUT with ExpiryLengthSeco nds set + to 900" verification: | ubuntu@ubuntu:~/cntl/connectedhomeip/examples/chip-tool/out/debug$ ./chip-tool generalcommissioning arm-fail-safe 900 0 62 0 @@ -36,34 +38,123 @@ tests: [1650391404.723479][10042:10047] CHIP:DMG: ICR moving to [AwaitingDe] disabled: true + - label: "TH reads the Networks attribute list from the DUT" + PICS: CNET.S.A0001 + verification: | + + disabled: true + + - label: + "TH finds the index of the Networks list entry with\r NetworkID field + value PIXIT.CNET.WIFI_ 1ST_ACCESSPOINT _SSID and saves it as + 'Userwifi_netidx'" + verification: | + + disabled: true + - label: - "TH sends RemoveNetwork Command to the DUT with NetworkID argument - value as 'Userth_op' and Breadcrumb argument value as 1" + "TH sends RemoveNetwork Command to the DUT with NetworkID field set to + PIXIT.CNET.WIFI_ 1ST_ACCESSPOINT _SSID and Breadcrumb field set to 1" + PICS: CNET.S.C04.Rsp && CNET.S.C05.Tx verification: | - ubuntu@ubuntu:~/cntl/connectedhomeip/examples/chip-tool/out/debug$ ./chip-tool networkcommissioning remove-network 0119100899082022 62 0 + ubuntu@ubuntu:~/cntl/connectedhomeip/examples/chip-tool/out/debug$ ./chip-tool networkcommissioning remove-network hex:0119100899082022 62 0 [1650391420.469341][10048:10053] CHIP:DMG: Received Command Response Data, Endpoint=0 Cluster=0x0000_0031 Command=0x0000_0005 [1650391420.469452][10048:10053] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0031 Command 0x0000_0005 [1650391420.469634][10048:10053] CHIP:TOO: NetworkConfigResponse: { - [1650391420.469746][10048:10053] CHIP:TOO: networkingStatus: 3 + [1650391420.469746][10048:10053] CHIP:TOO: networkingStatus: 0 [1650391420.469812][10048:10053] CHIP:TOO: } [1650391420.469902][10048:10053] CHIP:DMG: ICR moving to [AwaitingDe] disabled: true - - label: "TH reads MaxNetworks attribute from the DUT" + - label: "TH1 reads Networks attribute from the DUT" + PICS: CNET.S.A0001 verification: | - ubuntu@ubuntu:~/cntl/connectedhomeip/examples/chip-tool/out/debug$ ./chip-tool networkcommissioning read max-networks 62 0 - [1650391430.631516][10054:10059] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0031 Attribute 0x0000_0000 DataVersion: 1086989578 - [1650391430.631657][10054:10059] CHIP:TOO: MaxNetworks: 1 - [1650391430.631837][10054:10059] CHIP:EM: Sending Standalone Ack for MessageCounter:6413170 on exchange 3154i disabled: true - label: "TH reads LastNetworkingStatus attribute from the DUT" + PICS: CNET.S.A0005 + verification: | + + disabled: true + + - label: "TH reads LastNetworkID attribute from the DUT" + PICS: CNET.S.A0006 + verification: | + + disabled: true + + - label: + "TH reads Breadcrumb attribute from the General Commissioning cluster + of the DUT" + PICS: CNET.S.C04.Rsp + verification: | + + disabled: true + + - label: + "TH sends ConnectNetwork command to the DUT with NetworkID field set + to PIXIT.CNET.WIFI_ 1ST_ACCESSPOINT _SSID and Breadcrumb field set to + 2" + PICS: CNET.S.C04.Rsp + verification: | + + disabled: true + + - label: + "TH reads Breadcrumb attribute from the General Commissioning cluster + of the DUT" + PICS: CNET.S.C04.Rsp + verification: | + + disabled: true + + - label: + "TH sends ArmFailSafe command to the DUT with ExpiryLengthSeco nds set + to 0" + verification: | + + disabled: true + + - label: "TH reads Networks attribute from the DUT" + PICS: CNET.S.A0001 + verification: | + + disabled: true + + - label: + "TH sends ArmFailSafe command to the DUT with ExpiryLengthSeconds set + to 90" + verification: | + + disabled: true + + - label: + "TH sends RemoveNetwork Command to the DUT with NetworkID field set to + PIXIT.CNET.WIFI 1ST_ACCESSPOINT _SSID and Breadcrumb field set to 1" + PICS: CNET.S.C04.Rsp && CNET.S.C05.Tx + verification: | + + disabled: true + + - label: "TH sends the CommissioningComplete command to the DUT" + PICS: CNET.S.C04.Rsp + verification: | + + disabled: true + + - label: + "TH sends ArmFailSafe command to the DUT with ExpiryLengthSeco nds set + to 0 to ensure the CommissioningCo mplete call properly persisted the + failsafe context. This call should have no effect if Commissionining + Complete call is handled correctly" + verification: | + + disabled: true + + - label: "TH reads Networks attribute from the DUT" + PICS: CNET.S.A0001 verification: | - ubuntu@ubuntu:~/cntl/connectedhomeip/examples/chip-tool/out/debug$ ./chip-tool networkcommissioning read last-networking-status 62 0 - [1650391466.970540][10062:10067] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0031 Attribute 0x0000_0005 DataVersion: 1086989578 - [1650391466.970790][10062:10067] CHIP:TOO: LastNetworkingStatus: 0 - [1650391466.970972][10062:10067] CHIP:EM: Sending Standalone Ack for MessageCounter:3830389 on exchange 32831i disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_CNET_4_11.yaml b/src/app/tests/suites/certification/Test_TC_CNET_4_11.yaml index f57f04ac25d546..454ee58befe331 100644 --- a/src/app/tests/suites/certification/Test_TC_CNET_4_11.yaml +++ b/src/app/tests/suites/certification/Test_TC_CNET_4_11.yaml @@ -14,7 +14,7 @@ # Auto-generated scripts for harness use only, please review before automation. The endpoints and cluster names are currently set to default name: - 11.4.11. [TC-CNET-4.11] [Wi-Fi] Verification for ConnectNetwork Command + 11.4.9. [TC-CNET-4.11] [Wi-Fi] Verification for ConnectNetwork Command [DUT-Server] config: @@ -25,81 +25,197 @@ config: tests: - label: "TH sends ArmFailSafe command to the DUT" verification: | - ubuntu@TE-8:~/connectedhomeip/examples/chip-tool/out/debug$ ./chip-tool generalcommissioning arm-fail-safe 60 0 1 0 + ./chip-tool generalcommissioning arm-fail-safe 60 0 1 0 + + + [1653479952.284160][30473:30478] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0030 Command 0x0000_0001 + [1653479952.284231][30473:30478] CHIP:TOO: ArmFailSafeResponse: { + [1653479952.284273][30473:30478] CHIP:TOO: errorCode: 0 + [1653479952.284297][30473:30478] CHIP:TOO: debugText: + [1653479952.284322][30473:30478] CHIP:TOO: } + [1653479952.284361][30473:30478] CHIP:DMG: ICR moving to [AwaitingDe] + [1653479952.284425][30473:30478] CHIP:EM: Sending Standalone Ack for MessageCounter:9947639 on exchange 30687i + disabled: true + + - label: + "TH readsNetworksattribute from theDUT and saves thenumber of + entriesas 'NumNetworks'" + PICS: CNET.S.A0001 + verification: | + ./chip-tool networkcommissioning add-or-update-wi-fi-network hex:47524C50726976617465 grlprivate092010 1 0 + + [1653479952.712215][30479:30484] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0031 Command 0x0000_0005 + [1653479952.712331][30479:30484] CHIP:TOO: NetworkConfigResponse: { + [1653479952.712386][30479:30484] CHIP:TOO: networkingStatus: 0 + [1653479952.712426][30479:30484] CHIP:TOO: networkIndex: 0 + [1653479952.712464][30479:30484] CHIP:TOO: } + [1653479952.712522][30479:30484] CHIP:DMG: ICR moving to [AwaitingDe] + [1653479952.712603][30479:30484] CHIP:EM: Sending Standalone Ack for MessageCounter:3047410 on exchange 13787i + disabled: true + + - label: + "TH sendsRemoveNetworkCommand to theDUT withNetworkID fieldset + toPIXIT.CNET.WIFI_r 1ST_ACCESSPOINT_SSID andBreadcrumb fieldset to 1" + PICS: CNET.S.C04.Rsp && CNET.S.C05.Tx + verification: | + ./chip-tool networkcommissioning read networks 1 0 + + [1653479953.145038][30485:30490] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0031 Attribute 0x0000_0001 DataVersion: 1600858167 + [1653479953.145152][30485:30490] CHIP:TOO: Networks: 1 entries + [1653479953.145229][30485:30490] CHIP:TOO: [1]: { + [1653479953.145272][30485:30490] CHIP:TOO: NetworkID: 47524C50726976617465 + [1653479953.145310][30485:30490] CHIP:TOO: Connected: TRUE + [1653479953.145348][30485:30490] CHIP:TOO: } + [1653479953.145487][30485:30490] CHIP:EM: Sending Standalone Ack for MessageCounter:15337587 on exchange 47183i + disabled: true + + - label: + "TH sendsAddOrUpdateWiFiNetworkcommand to theDUT with SSIDfield set + toPIXIT.CNET.WIFI_r 2ND_ACCESSPOINT_SSID,Credentials fieldset + toPIXIT.CNET.WIFI_2ND_ACCESSPOINr T_CREDENTIALSand Breadcrumbfield set + to 1" + PICS: CNET.S.C02.Rsp && CNET.S.C05.Tx + verification: | + + disabled: true + + - label: "TH readsNetworksattribute from theDUT" + PICS: CNET.S.A0001 + verification: | + ./chip-tool networkcommissioning connect-network hex:47524C50726976617465 1 0 + + + [1653479953.633815][30491:30496] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0031 Command 0x0000_0007 + [1653479953.633986][30491:30496] CHIP:TOO: ConnectNetworkResponse: { + [1653479953.634133][30491:30496] CHIP:TOO: networkingStatus: 0 + [1653479953.634195][30491:30496] CHIP:TOO: errorValue: null + [1653479953.634275][30491:30496] CHIP:TOO: } + [1653479953.634367][30491:30496] CHIP:DMG: ICR moving to [AwaitingDe] + [1653479953.634501][30491:30496] CHIP:EM: Sending Standalone Ack for MessageCounter:490923 on exchange 21425i + disabled: true + + - label: + "TH sendsConnectNetworkcommand to theDUT withNetworkID fieldset + toPIXIT.CNET.WIFI_r 2ND_ACCESSPOINT_SSID andBreadcrumb fieldset to 2" + PICS: CNET.S.C06.Rsp + verification: | + + disabled: true + + - label: + "TH sendsConnectNetworkcommand to theDUT withNetworkID fieldset + toPIXIT.CNET.WIFI_r 2ND_ACCESSPOINT_SSID andBreadcrumb fieldset to 2" + verification: | + ./chip-tool networkcommissioning read networks 1 0 + + + [1653479954.067458][30497:30502] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0031 Attribute 0x0000_0001 DataVersion: 1600858167 + [1653479954.067569][30497:30502] CHIP:TOO: Networks: 1 entries + [1653479954.067639][30497:30502] CHIP:TOO: [1]: { + [1653479954.067678][30497:30502] CHIP:TOO: NetworkID: 47524C50726976617465 + [1653479954.067714][30497:30502] CHIP:TOO: Connected: TRUE + [1653479954.067748][30497:30502] CHIP:TOO: } + [1653479954.067886][30497:30502] CHIP:EM: Sending Standalone Ack for MessageCounter:4152736 on exchange 20582i + disabled: true + + - label: + "TH discovers andconnects to DUTon + thePIXIT.CNET.WIFI_2ND_ACCESSPOINT_SSID operationalr network" + verification: | - [1653480530.006012][27845:27850] CHIP:DMG: Received Command Response Data, Endpoint=0 Cluster=0x0000_0030 Command=0x0000_0001 - [1653480530.006109][27845:27850] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0030 Command 0x0000_0001 - [1653480530.006209][27845:27850] CHIP:TOO: ArmFailSafeResponse: { - [1653480530.006278][27845:27850] CHIP:TOO: errorCode: 0 - [1653480530.006328][27845:27850] CHIP:TOO: debugText: - [1653480530.006374][27845:27850] CHIP:TOO: } disabled: true - label: - "TH1 sends AddOrUpdateWiFiNetwork command to the DUT with SSID - argument value as 'Userwifi_ssid', Credentials argument value as - 'Userwifi_Credentials' and Breadcrumb argument value as 1" + "TH readsBreadcrumbattribute from theGeneralCommissioningcluster of + the DUT" + PICS: CNET.S.C06.Rsp verification: | - ubuntu@TE-8:~/connectedhomeip/examples/chip-tool/out/debug$ ./chip-tool networkcommissioning add-or-update-wi-fi-network hex:47524C50726976617465 grlprivatewifi092010 1 0 - Endpoint=0 Cluster=0x0000_0031 Command=0x0000_0005 - [1653480530.517643][27851:27856] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0031 Command 0x0000_0005 - [165 - 3480530.517748][27851:27856] CHIP:TOO: NetworkConfigResponse: { - [1653480530.517808][27851:27856] CHIP:TOO: networkingStatus: 0 - [1653480530.517854][27851:27856] CHIP:TOO: networkIndex: 0 - [1653480530.517894][27851:27856] CHIP:TOO: } disabled: true - - label: "TH1 reads Networks attribute from the DUT" + - label: + "TH sendsArmFailSafecommand to theDUT withExpiryLengthSeconds set to + 0. Thisr forcibly disarmsthe fail-safe and isexpected to causethe + changes ofconfiguration toNetworkCommissioning cluster doneso far to + bereverted." + verification: | + + disabled: true + + - label: + "TH changes itsWiFi connection toPIXIT.CNET.WIFI_1ST_ACCESSPOINT_SSID" verification: | - ubuntu@TE-8:~/connectedhomeip/examples/chip-tool/out/debug$ ./chip-tool networkcommissioning read networks 1 0 - [1653480531.027668][27857:27863] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0031 Attribute 0x0000_0001 DataVersion: 3424382863 - [1653480531.027835][27857:27863] CHIP:TOO: Networks: 1 entries - [1653480531.027946][27857:27863] CHIP:TOO: [1]: { - [1653480531.028015][27857:27863] CHIP:TOO: NetworkID: 47524C50726976617465 - [1653480531.028073][27857:27863] CHIP:TOO: Connected: TRUE - [1653480531.028128][27857:27863] CHIP:TOO: } disabled: true - label: - "TH saves record current wall clock time with seconds resolution as - CT1" + "TH discovers andconnects to DUTon + thePIXIT.CNET.WIFI_1ST_ACCESSPOINT_SSID operationalr network" verification: | - TH1 saves the timestamp as CT1 + disabled: true - label: - "TH sends ConnectNetwork command to the DUT with NetworkID argument - value as 'Userwifi_ssid1' and Breadcrumb argument value as 1" + "TH sendsArmFailSafecommand to theDUT withExpiryLengthSeconds set to + 900" verification: | - ubuntu@TE-8:~/connectedhomeip/examples/chip-tool/out/debug$ ./chip-tool networkcommissioning connect-network hex:47524C50726976617465 1 0 - Endpoint=0 Cluster=0x0000_0031 Command=0x0000_0007 - [1653480537.209041][27864:27869] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0031 Command 0x0000_0007 - [1653480537.209113][27864:27869] CHIP:TOO: ConnectNetworkResponse: { - [1653480537.209154][27864:27869] CHIP:TOO: networkingStatus: 0 - [1653480537.209179][27864:27869] CHIP:TOO: errorValue: null - [1653480537.209201][27864:27869] CHIP:TOO: } - [1653480537.209240][27864:27869] CHIP:DMG: ICR moving to [AwaitingDe] disabled: true - label: - "TH saves record current wall clock time with seconds resolution as - CT2" + "TH sendsRemoveNetworkCommand to theDUT withNetworkID fieldset + toPIXIT.CNET.WIFI_r 1ST_ACCESSPOINT_SSID andBreadcrumb fieldset to 1" + PICS: CNET.S.C04.Rsp && CNET.S.C05.Tx verification: | - TH1 saves the timestamp as CT2 + + disabled: true + + - label: + "TH sendsAddOrUpdateWiFiNetworkcommand to theDUT with SSIDfield set + toPIXIT.CNET.WIFI_r 2ND_ACCESSPOINT_SSID,Credentials fieldset + toPIXIT.CNET.WIFI_2ND_ACCESSPOINr T_CREDENTIALSand Breadcrumbfield set + to 1" + PICS: CNET.S.C02.Rsp && CNET.S.C05.Tx + verification: | + + disabled: true + + - label: + "TH sendsConnectNetworkcommand to theDUT withNetworkID fieldset + toPIXIT.CNET.WIFI_r 2ND_ACCESSPOINT_SSID andBreadcrumb fieldset to 3" + PICS: CNET.S.C06.Rsp && CNET.S.C07.Tx + verification: | + + disabled: true + + - label: + "TH changes itsWiFi connection toPIXIT.CNET.WIFI_2ND_ACCESSPOINT_SSID" + verification: | + + disabled: true + + - label: + "TH discovers andconnects to DUTon + thePIXIT.CNET.WIFI_2ND_ACCESSPOINT_SSID operationalr network" + verification: | + + disabled: true + + - label: + "TH readsBreadcrumbattribute from theGeneralCommissioningcluster of + the DUT" + PICS: CNET.S.C06.Rsp + verification: | + + disabled: true + + - label: "TH sends theCommissioningComplete commandto the DUT" + verification: | + disabled: true - - label: "TH reads Networks attribute from the DUT" + - label: "TH readsNetworksattribute from theDUT" + PICS: CNET.S.A0001 verification: | - ubuntu@TE-8:~/connectedhomeip/examples/chip-tool/out/debug$ ./chip-tool networkcommissioning read networks 1 0 - [1653481261.622658][27982:27987] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0031 Attribute 0x0000_0001 DataVersion: 3424382863 - [1653481261.622821][27982:27987] CHIP:TOO: Networks: 1 entries - [1653481261.622927][27982:27987] CHIP:TOO: [1]: { - [1653481261.622996][27982:27987] CHIP:TOO: NetworkID: 47524C50726976617465 - [1653481261.623056][27982:27987] CHIP:TOO: Connected: TRUE - [1653481261.623112][27982:27987] CHIP:TOO: } disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_CNET_4_12.yaml b/src/app/tests/suites/certification/Test_TC_CNET_4_12.yaml index 982938e0f89032..ca82f170e02c5b 100644 --- a/src/app/tests/suites/certification/Test_TC_CNET_4_12.yaml +++ b/src/app/tests/suites/certification/Test_TC_CNET_4_12.yaml @@ -14,7 +14,7 @@ # Auto-generated scripts for harness use only, please review before automation. The endpoints and cluster names are currently set to default name: - 11.4.12. [TC-CNET-4.12] [Thread]Verification for ConnectNetwork Command + 11.4.10. [TC-CNET-4.12] [Thread] Verification for ConnectNetwork Command [DUT-Server] config: @@ -40,9 +40,9 @@ tests: disabled: true - label: - "During the commissioning process, TH sends AddOrUpdateThreadNetwork - command to the DUT with OperationalDataset argument value as - 'Userth_op' and Breadcrumb argument value as 1" + "TH readsNetworksattribute from theDUT and saves thenumber of + entriesas 'NumNetworks'" + PICS: CNET.S.A0001 verification: | Executed during the commissioning ubuntu@ubuntu:~/cntl/connectedhomeip/examples/chip-tool/out/debug$ ./chip-tool pairing ble-thread 62 hex:0e080000000000010000000300001035060004001fffe0020801191008990820220708fd067fa7635e1066051009116253045736078899aabbccddeeff030e4f70656e686b72657069446f6e6f01021234041029282c49503302ea4536648015d1ff180c0402a0fff8 20202021 3840 @@ -60,15 +60,16 @@ tests: disabled: true - label: - "TH saves record current wall clock time with seconds resolution as - CT1" + "TH saves the indexof the Networkslist entry fromstep 2 + asUserth_netidx" verification: | TH1 saves the timestamp as CT1 disabled: true - label: - "TH sends ConnectNetwork command to the DUT with NetworkID argument - value as 'Userth_op' and Breadcrumb argument value as 1" + "TH sendsRemoveNetworkCommand to theDUT withNetworkID fieldset to + th_xpan andr Breadcrumb fieldset to 1" + PICS: CNET.S.C04.Rsp && CNET.S.C05.Tx verification: | Executed during the commissioning @@ -78,15 +79,16 @@ tests: disabled: true - label: - "TH saves record current wall clock time with seconds resolution as - CT2" + "TH sendsAddOrUpdateThreadNetworkcommand to theDUT + withoperationaldataset field set + toPIXIT.CNET.THREAD_2ND_OPERATIONALDATASETand Breadcrumbfield set to 1" + PICS: CNET.S.C03.Rsp && CNET.S.C05.Tx verification: | TH1 saves the timestamp as CT2 disabled: true - - label: - "After commissioning completes, TH reads Networks attribute from the - DUT" + - label: "TH readsNetworksattribute from theDUT" + PICS: CNET.S.A0001 verification: | ubuntu@ubuntu:~/connectedhomeip/examples/chip-tool/out/debug$ ./chip-tool networkcommissioning read networks 162 0 @@ -101,3 +103,108 @@ tests: [1645772651.446228][3856:3861] CHIP:TOO: } [1645772651.446431][3856:3861] CHIP:EM: Sending Standalone Ack for MessageCounter:12695576 on exchange 11133i disabled: true + + - label: + "TH sendsConnectNetworkcommand to theDUT withNetworkID fieldset + toPIXIT.CNET.THREr AD_2ND_OPERATIONALDATASETand Breadcrumbfield set to + 2" + PICS: CNET.S.C06.Rsp + verification: | + + disabled: true + + - label: + "TH discovers andconnects to DUTon + thePIXIT.CNET.THREAD_2ND_OPERATIONALDATASETr operationalnetwork" + verification: | + + disabled: true + + - label: + "TH readsBreadcrumbattribute from theGeneralCommissioningcluster of + the DUT" + PICS: CNET.S.C06.Rsp + verification: | + + disabled: true + + - label: + "TH sendsArmFailSafecommand to theDUT withExpiryLengthSeconds set to + 0. Thisr forcibly disarmsthe fail-safe and isexpected to causethe + changes ofconfiguration toNetworkCommissioning cluster doneso far to + bereverted." + verification: | + + disabled: true + + - label: + "TH changes itsWiFi connection toPIXIT.CNET.WIFI_1ST_ACCESSPOINT_SSID" + verification: | + + disabled: true + + - label: + "TH discovers andconnects to DUTon + thePIXIT.CNET.WIFI_1ST_ACCESSPOINT_SSID operationalr network" + verification: | + + disabled: true + + - label: + "TH sendsArmFailSafecommand to theDUT withExpiryLengthSeconds set to + 900" + verification: | + + disabled: true + + - label: + "TH sendsRemoveNetworkCommand to theDUT withNetworkID fieldset + toPIXIT.CNET.WIFI_r 1ST_ACCESSPOINT_SSID andBreadcrumb fieldset to 1" + PICS: CNET.S.C04.Rsp && CNET.S.C05.Tx + verification: | + + disabled: true + + - label: + "TH sendsAddOrUpdateWiFiNetworkcommand to theDUT with SSIDfield set + toPIXIT.CNET.WIFI_r 2ND_ACCESSPOINT_SSID,Credentials fieldset + toPIXIT.CNET.WIFI_2ND_ACCESSPOINr T_CREDENTIALSand Breadcrumbfield set + to 1" + PICS: CNET.S.C02.Rsp && CNET.S.C05.Tx + verification: | + + disabled: true + + - label: + "TH sendsConnectNetworkcommand to theDUT withNetworkID fieldset + toPIXIT.CNET.WIFI_r 2ND_ACCESSPOINT_SSID andBreadcrumb fieldset to 3" + PICS: CNET.S.C06.Rsp && CNET.S.C07.Tx + verification: | + + disabled: true + + - label: + "TH discovers andconnects to DUTon + thePIXIT.CNET.THREAD_2ND_OPERATIONALDATASETr operationalnetwork" + verification: | + + disabled: true + + - label: + "TH readsBreadcrumbattribute from theGeneralCommissioningcluster of + the DUT" + PICS: CNET.S.C06.Rsp + verification: | + + disabled: true + + - label: "TH sends theCommissioningComplete commandto the DUT" + verification: | + + disabled: true + + - label: "TH readsNetworksattribute from theDUT" + PICS: CNET.S.A0001 + verification: | + + disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_CNET_4_13.yaml b/src/app/tests/suites/certification/Test_TC_CNET_4_13.yaml index 2b848a0d4413a6..c9872e8de99d27 100644 --- a/src/app/tests/suites/certification/Test_TC_CNET_4_13.yaml +++ b/src/app/tests/suites/certification/Test_TC_CNET_4_13.yaml @@ -14,7 +14,7 @@ # Auto-generated scripts for harness use only, please review before automation. The endpoints and cluster names are currently set to default name: - 11.4.13. [TC-CNET-4.13] [Wi-Fi] Verification for ReorderNetwork command + 11.4.11. [TC-CNET-4.13] [Wi-Fi] Verification for ReorderNetwork command [DUT-Server] config: @@ -23,22 +23,27 @@ config: endpoint: 0 tests: - - label: "TH sends ArmFailSafe command to the DUT" + - label: + "TH sends ArmFailSafe command to the DUT with ExpiryLengthSeco nds set + to 900" verification: | The test case is not verifiable. As MaxNetworks value is 1 but expected is 4 ( Pre-Condition) disabled: true - label: - "TH1 sends AddOrUpdateWiFiNetwork command to the DUT with SSID - argument value as 'Userwifi_ssid1', Credentials argument value as - 'Userwifi_Credentials' and Breadcrumb argument value as 1" + "TH reads Networks attribute from the DUT and saves the number of + entries as 'NumNetworks'" + PICS: CNET.S.A0001 verification: | The test case is not verifiable. As MaxNetworks value is 1 but expected is 4 ( Pre-Condition) disabled: true - - label: "TH reads MaxNetworks attribute from the DUT" + - label: + "TH calculates the number of remaining network slots as + 'MaxNetworksVal ue' - 'NumNetworks' and saves as 'RemainingNetwor + kSlots'" verification: | The test case is not verifiable. As MaxNetworks value is 1 but expected is 4 ( Pre-Condition) @@ -54,25 +59,144 @@ tests: disabled: true - label: - "TH1 sends AddOrUpdateWiFiNetwork command to the DUT with SSID - argument value as 'Userwifi_ssid3', Credentials argument value as - 'Userwifi_Credentials' and Breadcrumb argument value as 1" + "TH calculates the midpoint of the network list as floor(('MaxNetwor + ksValue' + 1)/2) and saves as 'Midpoint'" verification: | The test case is not verifiable. As MaxNetworks value is 1 but expected is 4 ( Pre-Condition) disabled: true - label: - "TH sends ReorderNetwork Command to the DUT with the following - arguments: NetworkID argument value as 'Userwifi_ssid1' NetworkIndex - argument value as 'Userwifi_netidx3' Breadcrumb argument value as 1" + "TH sends ArmFailSafe command to the DUT with the ExpiryLengthSeco nds + field set to 900" verification: | The test case is not verifiable. As MaxNetworks value is 1 but expected is 4 ( Pre-Condition) disabled: true - - label: "TH reads Networks attribute list from the DUT" + - label: + "TH sends AddOrUpdateWiFi Network command to the DUT. This step should + be repeated 'RemainingNetwor kSlots' times using DIFFERENT SSID and + credential values and the Breadcrumb field set to 1. Note that these + credentials are NOT required to be connectable." + PICS: CNET.S.C02.Rsp && CNET.S.C05.Tx + verification: | + + disabled: true + + - label: + "TH reads Networks attribute from the DUT and saves the list as + 'OriginalNetworkL ist'" + PICS: CNET.S.A0001 verification: | The test case is not verifiable. As MaxNetworks value is 1 but expected is 4 ( Pre-Condition) disabled: true + + - label: + "TH sends ReorderNetwo rk Command to the DUT with the following + fields: 1. NetworkID is PIXIT.CNET .WIFI_1ST_ ACCESSPOI NT_SSID 2. + NetworkIn dex is 'MaxNetwo rksValue' 3. Breadcrum b is 2" + PICS: CNET.S.C08.Rsp && CNET.S.C05.Tx + verification: | + + disabled: true + + - label: + "TH reads Breadcumb attribute from the General Commissioning Cluster" + verification: | + + disabled: true + + - label: + "TH sends ReorderNetwo rk Command to the DUT with the following + fields: 1. NetworkID is a NetworkID value NOT present in 'OriginalNe + tworkList' 2. NetworkIn dex is 'Midpoint' 3. Breadcrum b is 2" + PICS: CNET.S.C08.Rsp && CNET.S.C05.Tx + verification: | + + disabled: true + + - label: + "TH reads Breadcumb attribute from the General Commissioning Cluster" + verification: | + + disabled: true + + - label: + "TH sends ReorderNetwo rk Command to the DUT with the following + fields: 1. NetworkID is PIXIT.CNET .WIFI_1ST_ ACCESSPOI NT_SSID 2. + NetworkIn dex is 'Midpoint' 3. Breadcrum b is 2" + PICS: CNET.S.C08.Rsp && CNET.S.C05.Tx + verification: | + + disabled: true + + - label: + "TH reads Breadcumb attribute from the General Commissioning Cluster" + verification: | + + disabled: true + + - label: "TH reads Networks attribute list from the DUT" + PICS: CNET.S.A0001 + verification: | + + disabled: true + + - label: + "TH sends ArmFailSafe command to the DUT with ExpiryLengthSeco nds set + to 0" + verification: | + + disabled: true + + - label: "TH reads Networks attribute list from the DUT" + PICS: CNET.S.A0001 + verification: | + + disabled: true + + - label: + "TH sends ArmFailSafe command to the DUT with ExpiryLengthSeco nds set + to 900" + verification: | + + disabled: true + + - label: + "TH sends AddOrUpdateWiFi Network command to the DUT. This step should + be repeated 'RemainingNetwor kSlots' times using DIFFERENT SSID and + credential values and Breadcrumb field set to 1. Note that these + credentials are NOT required to be connectable." + PICS: CNET.S.C02.Rsp && CNET.S.C05.Tx + verification: | + + disabled: true + + - label: + "TH sends ReorderNetwo rk Command to the DUT with the following + fields: 1. NetworkID is PIXIT.CNET .WIFI_1ST_ ACCESSPOI NT_SSID 2. + NetworkIn dex is 'Midpoint' 3. Breadcrum b is 2" + PICS: CNET.S.C08.Rsp && CNET.S.C05.Tx + verification: | + + disabled: true + + - label: "TH sends the CommissioningCo mplete command to the DUT" + verification: | + + disabled: true + + - label: + "TH sends ArmFailSafe command to the DUT with ExpiryLengthSeco nds set + to 0" + verification: | + + disabled: true + + - label: "TH reads Networks attribute list from the DUT" + PICS: CNET.S.A0001 + verification: | + + disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_CNET_4_14.yaml b/src/app/tests/suites/certification/Test_TC_CNET_4_14.yaml index afcd318ba5d34d..2b344c5bdf91e5 100644 --- a/src/app/tests/suites/certification/Test_TC_CNET_4_14.yaml +++ b/src/app/tests/suites/certification/Test_TC_CNET_4_14.yaml @@ -14,7 +14,7 @@ # Auto-generated scripts for harness use only, please review before automation. The endpoints and cluster names are currently set to default name: - 11.4.14. [TC-CNET-4.14] [Thread] Verification for ReorderNetwork command + 11.4.12. [TC-CNET-4.14] [Thread] Verification for ReorderNetwork command [DUT-Server] config: @@ -23,23 +23,175 @@ config: endpoint: 0 tests: - - label: "TH sends ArmFailSafe command to the DUT" + - label: + "TH sendsArmFailSafecommand to theDUT withExpiryLengthSeconds set to + 900" verification: | The test case is not verifiable. As MaxNetworks value is 1 but expected is 4 ( Pre-Condition) disabled: true - label: - "TH sends ReorderNetwork Command to the DUT with the following - arguments: NetworkID argument value as 'Userth_op1' NetworkIndex - argument value as 'Userth_netidx2' Breadcrumb argument value as 1" + "TH reads Networks attribute from the DUT and saves the number of + entries as 'NumNetworks'" + PICS: CNET.S.A0001 verification: | The test case is not verifiable. As MaxNetworks value is 1 but expected is 4 ( Pre-Condition) disabled: true - - label: "TH reads Networks attribute list from the DUT" + - label: + "TH calculates thenumber ofremainingnetwork slots as'MaxNetworksValue' + -'NumNetworks'r and saves as'RemainingNetworkSlots'" verification: | The test case is not verifiable. As MaxNetworks value is 1 but expected is 4 ( Pre-Condition) disabled: true + + - label: + "TH1 sends AddOrUpdateWiFiNetwork command to the DUT with SSID + argument value as 'Userwifi_ssid2', Credentials argument value as + 'Userwifi_Credentials' and Breadcrumb argument value as 1" + verification: | + + disabled: true + + - label: + "TH calculates themidpoint of thenetwork list + asfloor(('MaxNetworksValue' + 1)/2)r and saves as'Midpoint'" + verification: | + + disabled: true + + - label: + "TH sends ArmFailSafe command to the DUT with the ExpiryLengthSeco nds + field set to 900" + verification: | + + disabled: true + + - label: + "TH sendsAddOrUpdateWiFiNetworkcommand to theDUT. This stepshould + berepeatedr 'RemainingNetworkSlots' times usingDIFFERENT SSIDand + credentialvalues and ther Breadcrumb fieldset to 1. Note thatthese + credentialsare NOT requiredto be connectable." + PICS: CNET.S.C02.Rsp && CNET.S.C05.Tx + verification: | + + disabled: true + + - label: + "TH readsNetworksattribute from theDUT and saves thelist + as'OriginalNetworkLr ist'" + PICS: CNET.S.A0001 + verification: | + + disabled: true + + - label: + "TH sendsReorderNetwork Commandto the DUTwith thefollowingfields:1. + NetworkIDr is theextendedPAN ID + ofPIXIT.CNET.THREAD_1ST_OPERATIONALDATASET2.r NetworkIndex + is'MaxNetworksValue'3.Breadcrumb is 2" + PICS: CNET.S.C08.Rsp && CNET.S.C05.Tx + verification: | + + disabled: true + + - label: + "TH reads Breadcumb attribute from the General Commissioning Cluster" + verification: | + + disabled: true + + - label: + "TH sendsReorderNetwork Commandto the DUTwith thefollowingfields:1. + NetworkIDr is aNetworkIDvalue NOTpresent + in'OriginalNetworkList'2.NetworkIndex is'Midpoint'3.Breadcrumb is 2" + PICS: CNET.S.C08.Rsp && CNET.S.C05.Tx + verification: | + + disabled: true + + - label: + "TH reads Breadcumb attribute from the General Commissioning Cluster" + verification: | + + disabled: true + + - label: + "TH sendsReorderNetwork Commandto the DUTwith thefollowingfields:1. + NetworkIDr is theextendedPAN ID + ofPIXIT.CNET.THREAD_1ST_OPERATIONALDATASET2.r NetworkIndex + is'Midpoint'3.Breadcrumb is 2" + PICS: CNET.S.C08.Rsp && CNET.S.C05.Tx + verification: | + + disabled: true + + - label: "TH readsBreadcumbattribute from theGeneralCommissioningCluster" + verification: | + + disabled: true + + - label: "TH readsNetworksattribute list fromthe DUT" + PICS: CNET.S.A0001 + verification: | + + disabled: true + + - label: + "TH sendsArmFailSafecommand to theDUT withExpiryLengthSeconds set to 0" + verification: | + + disabled: true + + - label: "TH readsNetworksattribute list fromthe DUT" + PICS: CNET.S.A0001 + verification: | + + disabled: true + + - label: + "TH sends ArmFailSafe command to the DUT with ExpiryLengthSeco nds set + to 900" + verification: | + + disabled: true + + - label: + "TH sendsAddOrUpdateThreadNetworkcommand to theDUT. This stepshould + berepeatedr 'RemainingNetworkSlots' times + usingDIFFERENTOperationalDataset values andBreadcrumb set to1. Note + that thesecredentials areNOT required tobe connectable" + PICS: CNET.S.C02.Rsp && CNET.S.C05.Tx + verification: | + + disabled: true + + - label: + "TH sendsReorderNetwork Commandto the DUTwith thefollowingfields:1. + NetworkIDr is theextendedPAN ID + ofPIXIT.CNET.THREAD_1ST_OPERATIONALDATASET2.r NetworkIndex + is'Midpoint'3.Breadcrumb is 2" + PICS: CNET.S.C08.Rsp && CNET.S.C05.Tx + verification: | + + disabled: true + + - label: "TH sends the CommissioningCo mplete command to the DUT" + verification: | + + disabled: true + + - label: + "TH sendsArmFailSafecommand to theDUT withExpiryLengthSeconds set to 0" + verification: | + + disabled: true + + - label: "TH readsNetworksattribute list fromthe DUT" + PICS: CNET.S.A0001 + verification: | + + disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_CNET_4_15.yaml b/src/app/tests/suites/certification/Test_TC_CNET_4_15.yaml index 337ebd7fb20382..f60e72cb431328 100644 --- a/src/app/tests/suites/certification/Test_TC_CNET_4_15.yaml +++ b/src/app/tests/suites/certification/Test_TC_CNET_4_15.yaml @@ -14,8 +14,8 @@ # Auto-generated scripts for harness use only, please review before automation. The endpoints and cluster names are currently set to default name: - 11.4.15. [TC-CNET-4.15] [Wi-Fi] NetworkIDNotFound value as - LastNetworkingStatus argument validation [DUT-Server] + 11.4.13. [TC-CNET-4.15] [Wi-Fi] NetworkIDNotFound returned in + LastNetworkingStatus field validation [DUT-Server] config: nodeId: 0x12344321 @@ -27,7 +27,7 @@ tests: "TH reads Network attribute from the DUT * TH saves the single entrys NetworkID value as 'userwifi_ssid' value for the future use" verification: | - ubuntu@ubuntu:~/connectedhomeip/examples/chip-tool/out/debug$ ./chip-tool networkcommissioning read networks 162 0 + ./chip-tool networkcommissioning read networks 1 0 [1645772651.445097][3856:3861] CHIP:DMG: SuppressResponse = true, [1645772651.445149][3856:3861] CHIP:DMG: InteractionModelRevision = 1 @@ -35,15 +35,17 @@ tests: [1645772651.445754][3856:3861] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0031 Attribute 0x0000_0001DataVersion: 92121563 [1645772651.445875][3856:3861] CHIP:TOO: Networks: 1 entries [1645772651.446057][3856:3861] CHIP:TOO: [1]: { - [1645772651.446120][3856:3861] CHIP:TOO: NetworkID: 0119100899082022 + [1645772651.446120][3856:3861] CHIP:TOO: NetworkID: 47524C50726976617465 [1650389742.394958][9809:9814] CHIP:TOO: Connected: TRUE [1645772651.446228][3856:3861] CHIP:TOO: } [1645772651.446431][3856:3861] CHIP:EM: Sending Standalone Ack for MessageCounter:12695576 on exchange 11133i disabled: true - - label: "TH sends ArmFailSafe command to the DUT" + - label: + "TH sends ArmFailSafe command to the DUT with the ExpiryLengthSeco nds + field set to 900" verification: | - ubuntu@TE-8:~/connectedhomeip/examples/chip-tool/out/debug$ ./chip-tool generalcommissioning arm-fail-safe 60 0 1 0 + ./chip-tool generalcommissioning arm-fail-safe 60 0 1 0 [1650383264.543046][44233:44238] CHIP:DMG: Received Command Response Data, Endpoint=0 Cluster=0x0000_0030 Command=0x0000_0001 [1650383264.543109][44233:44238] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0030 Command 0x0000_0001 @@ -56,11 +58,12 @@ tests: disabled: true - label: - "TH sends RemoveNetwork Command to the DUT with NetworkID argument - value as 'Userwifi_ssid1' that not matches 'userwifi_ssid' value and - Breadcrumb argument value as 1" + "TH sends RemoveNetwork Command to the DUT with NetworkID field set to + PIXIT.CNET.WIFI_ 2ND_ACCESSPOIN T_SSID, which does not match the + provisioned network, and Breadcrumb field set to 1" + PICS: CNET.S.C06.Rsp && CNET.S.C07.Tx verification: | - ubuntu@TE-8:~/connectedhomeip/examples/chip-tool/out/debug$ ./chip-tool networkcommissioning remove-network hex:47524C50726976617465 1 0 + ./chip-tool networkcommissioning remove-network hex:47524C50726976617465 1 0 [1650383270.888700][44239:44244] CHIP:DMG: Received Command Response Data, Endpoint=0 Cluster=0x0000_0031 Command=0x0000_0005 [1650383270.888774][44239:44244] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0031 Command 0x0000_0005 @@ -72,11 +75,12 @@ tests: disabled: true - label: - "TH sends ConnectNetwork Command to the DUT with NetworkID value as - 'Userwifi_ssid1' that not matches 'userwifi_ssid' value and Breadcrumb - argument value as 1" + "TH sends connectNetwork Command to the DUT with NetworkID field set + to PIXIT.CNET.WIFI_ 2ND_ACCESSPOIN T_SSID, which does not match the + provisioned network, and Breadcrumb field set to 1" + PICS: CNET.S.C06.Rsp && CNET.S.C07.Tx verification: | - ubuntu@TE-8:~/connectedhomeip/examples/chip-tool/out/debug$ ./chip-tool networkcommissioning connect-network hex:47524C50726976617465 1 0 + ./chip-tool networkcommissioning connect-network hex:47524C50726976617465 1 0 [1650383278.349428][44245:44250] CHIP:DMG: Received Command Response Data, Endpoint=0 Cluster=0x0000_0031 Command=0x0000_0007 [1650383278.349490][44245:44250] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0031 Command 0x0000_0007 diff --git a/src/app/tests/suites/certification/Test_TC_CNET_4_16.yaml b/src/app/tests/suites/certification/Test_TC_CNET_4_16.yaml index 6c35a36430c95a..67f0c58797c3b9 100644 --- a/src/app/tests/suites/certification/Test_TC_CNET_4_16.yaml +++ b/src/app/tests/suites/certification/Test_TC_CNET_4_16.yaml @@ -14,8 +14,8 @@ # Auto-generated scripts for harness use only, please review before automation. The endpoints and cluster names are currently set to default name: - 11.4.16. [TC-CNET-4.16] [Thread] NetworkIDNotFound value as - LastNetworkingStatus argument validation [DUT-Server] + 11.4.14. [TC-CNET-4.16] [Thread] NetworkIDNotFound returned in + LastNetworkingStatus field validation [DUT-Server] config: nodeId: 0x12344321 @@ -24,10 +24,10 @@ config: tests: - label: - "TH reads Network attribute from the DUT TH saves the single entrys - NetworkID value as 'Userth_op' value for the future use" + "* TH reads Network attribute from the DUT * TH saves the single + entrys NetworkID value as 'Userth_op' value for the future use" verification: | - ubuntu@ubuntu:~/connectedhomeip/examples/chip-tool/out/debug$ ./chip-tool networkcommissioning read networks 162 0 + ./chip-tool networkcommissioning read networks 162 0 [1645772651.445097][3856:3861] CHIP:DMG: SuppressResponse = true, [1645772651.445149][3856:3861] CHIP:DMG: InteractionModelRevision = 1 @@ -43,7 +43,7 @@ tests: - label: "TH sends ArmFailSafe command to the DUT" verification: | - ubuntu@ubuntu:~/cntl/connectedhomeip/examples/chip-tool/out/debug$ ./chip-tool generalcommissioning arm-fail-safe 900 0 62 0 + ./chip-tool generalcommissioning arm-fail-safe 900 0 62 0 [1650392597.976230][10152:10157] CHIP:DMG: Received Command Response Data, Endpoint=0 Cluster=0x0000_0030 Command=0x0000_0001 [1650392597.976363][10152:10157] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0030 Command 0x0000_0001 @@ -56,11 +56,11 @@ tests: disabled: true - label: - "TH sends RemoveNetwork Command to the DUT with NetworkID argument - value as 'Userth_op1' that not matches 'Userth_op' value and - Breadcrumb argument value as 1" + "TH sendsRemoveNetworkCommand to theDUT withNetworkID fieldset to the + extendedr PAN ID ofPIXIT.CNET.THREAD_2ND_OPERATIONALDATASET,which does + notmatch thecommissionedr network, andBreadcrumb fieldset to 1" verification: | - ubuntu@ubuntu:~/cntl/connectedhomeip/examples/chip-tool/out/debug$ ./chip-tool networkcommissioning remove-network 0119100899082022 62 0 + ./chip-tool networkcommissioning remove-network 47524C50726976617465 62 0 [1650392982.606392][10188:10193] CHIP:DMG: Received Command Response Data, Endpoint=0 Cluster=0x0000_0031 Command=0x0000_0007 [1650392982.606501][10188:10193] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0031 Command 0x0000_0007 @@ -72,11 +72,11 @@ tests: disabled: true - label: - "TH sends ConnectNetwork Command to the DUT with NetworkID value as - 'Userth_op1' that not matches 'Userth_op' value and Breadcrumb - argument value as 1" + "TH sendsConnectNetwork Command to theDUT withNetworkID valueas the + extendedr PAN ID ofPIXIT.CNET.THREAD_2ND_OPERATIONALDATASET,which does + notmatch thecommissionedr network, andBreadcrumb fieldset to 1" verification: | - ubuntu@ubuntu:~/cntl/connectedhomeip/examples/chip-tool/out/debug$ ./chip-tool networkcommissioning connect-network 0119100899082022 62 0 + ./chip-tool networkcommissioning connect-network 47524C50726976617465 62 0 [1650392982.606392][10188:10193] CHIP:DMG: Received Command Response Data, Endpoint=0 Cluster=0x0000_0031 Command=0x0000_0007 [1650392982.606501][10188:10193] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0031 Command 0x0000_0007 diff --git a/src/app/tests/suites/certification/Test_TC_CNET_4_17.yaml b/src/app/tests/suites/certification/Test_TC_CNET_4_17.yaml index 72b47ccc53e5b0..8935ea86b761d3 100644 --- a/src/app/tests/suites/certification/Test_TC_CNET_4_17.yaml +++ b/src/app/tests/suites/certification/Test_TC_CNET_4_17.yaml @@ -14,7 +14,7 @@ # Auto-generated scripts for harness use only, please review before automation. The endpoints and cluster names are currently set to default name: - 11.4.17. [TC-CNET-4.17] [Wi-Fi] Verification for attributes check + 11.4.15. [TC-CNET-4.17] [Wi-Fi] Verification for attributes check [DUT-Client] config: @@ -24,6 +24,7 @@ config: tests: - label: "DUT reads the MaxNetworks attribute from the TH" + PICS: CNET.S.A0000 verification: | ubuntu@ubuntu:~/apps$ ./chip-tool networkcommissioning read max-networks 1 0 @@ -36,41 +37,41 @@ tests: disabled: true - label: "DUT reads the Networks attribute from the TH" + PICS: CNET.S.A0001 verification: | - https://github.com/project-chip/connectedhomeip/issues/17106 - - ubuntu@ubuntu:~/sethu-apr1/connectedhomeip/examples/chip-tool/out/debug$ ./chip-tool networkcommissioning read networks 1 0 + ./chip-tool networkcommissioning read networks 1 0 [1649249212.072823][30681:30686] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0031 Attribute 0x0000_0001 DataVersion: 2702518944 [1649249212.072912][30681:30686] CHIP:TOO: Networks: 1 entries [1649249212.073027][30681:30686] CHIP:TOO: [1]: { - [1649249212.073067][30681:30686] CHIP:TOO: NetworkID: 47524C507269766174655F455854 + [1649249212.073067][30681:30686] CHIP:TOO: NetworkID: 47524C50726976617465 [1649249212.073101][30681:30686] CHIP:TOO: Connected: FALSE [1649249212.073135][30681:30686] CHIP:TOO: } [1649249212.073266][30681:30686] CHIP:EM: Sending Standalone Ack for MessageCounter:8988360 on exchange 58610i disabled: true - label: "DUT reads ScanMaxTimeSeconds attribute from the TH" + PICS: CNET.S.A0002 verification: | - ubuntu@ubuntu:~/connectedhomeip$ sudo ./examples/chip-tool/out/debug/chip-tool networkcommissioning read scan-max-time-seconds 1 0 --paa-trust-store-path ./credentials/development/paa-root-certs - + sudo ./examples/chip-tool/out/debug/chip-tool networkcommissioning read scan-max-time-seconds 1 0 [1648122894.380473][8770:8775] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0031 Attribute 0x0000_0002 DataVersion: 317843604 [1648122894.380552][8770:8775] CHIP:TOO: ScanMaxTimeSeconds: 10 [1648122894.380642][8770:8775] CHIP:EM: Sending Standalone Ack for MessageCounter:12629308 on exchange 33084i disabled: true - label: "DUT reads ConnectMaxTimeSeconds attribute from the TH" + PICS: CNET.S.A0003 verification: | - ubuntu@ubuntu:~/connectedhomeip$ sudo ./examples/chip-tool/out/debug/chip-tool networkcommissioning read connect-max-time-seconds 1 0 --paa-trust-store-path ./credentials/development/paa-root-certs - + sudo ./examples/chip-tool/out/debug/chip-tool networkcommissioning read connect-max-time-seconds 1 0 [1648122935.626395][8780:8785] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0031 Attribute 0x0000_0003 DataVersion: 317843604 [1648122935.626461][8780:8785] CHIP:TOO: ConnectMaxTimeSeconds: 20 [1648122935.626539][8780:8785] CHIP:EM: Sending Standalone Ack for MessageCounter:11607262 on exchange 19306i disabled: true - label: "DUT reads InterfaceEnabled attribute from the TH" + PICS: CNET.S.A0004 verification: | - ubuntu@ubuntu:~/sethu-apr1/connectedhomeip/examples/chip-tool/out/debug$ ./chip-tool networkcommissioning read interface-enabled 1 0 + ./chip-tool networkcommissioning read interface-enabled 1 0 [1649250241.092686][30726:30731] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0031 Attribute 0x0000_0004 DataVersion: 2702518944 [1649250241.092744][30726:30731] CHIP:TOO: InterfaceEnabled: TRUE @@ -78,27 +79,28 @@ tests: disabled: true - label: "DUT reads LastNetworkingStatus attribute from the TH" + PICS: CNET.S.A0005 verification: | - ubuntu@ubuntu:~/connectedhomeip$ sudo ./examples/chip-tool/out/debug/chip-tool networkcommissioning read last-networking-status 1 0 --paa-trust-store-path ./credentials/development/paa-root-certs - + sudo ./examples/chip-tool/out/debug/chip-tool networkcommissioning read last-networking-status 1 0 [1648123150.266020][8807:8812] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0031 Attribute 0x0000_0005 DataVersion: 317843604 [1648123150.266107][8807:8812] CHIP:TOO: LastNetworkingStatus: 0 [1648123150.266205][8807:8812] CHIP:EM: Sending Standalone Ack for MessageCounter:6011442 on exchange 36001i disabled: true - label: "DUT reads LastNetworkID attribute from the TH" + PICS: CNET.S.A0006 verification: | - ubuntu@ubuntu:~/connectedhomeip$ sudo ./examples/chip-tool/out/debug/chip-tool networkcommissioning read last-network-id 1 0 --paa-trust-store-path ./credentials/development/paa-root-certs + sudo ./examples/chip-tool/out/debug/chip-tool networkcommissioning read last-network-id 1 0 [1648123296.959013][8824:8829] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0031 Attribute 0x0000_0006 DataVersion: 317843604 - [1648123296.959092][8824:8829] CHIP:TOO: LastNetworkID: 47524C507269766174655F455854 + [1648123296.959092][8824:8829] CHIP:TOO: LastNetworkID: 47524C50726976617465 [1648123296.959180][8824:8829] CHIP:EM: Sending Standalone Ack for MessageCounter:7786733 on exchange 2835i disabled: true - label: "DUT reads LastConnectErrorValue attribute from the TH" + PICS: CNET.S.A0007 verification: | - ubuntu@ubuntu:~/connectedhomeip$ sudo ./examples/chip-tool/out/debug/chip-tool networkcommissioning read last-connect-error-value 1 0 --paa-trust-store-path ./credentials/development/paa-root-certs - + sudo ./examples/chip-tool/out/debug/chip-tool networkcommissioning read last-connect-error-value 1 0 [1648123350.094356][8834:8839] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0031 Attribute 0x0000_0007 DataVersion: 317843604 [1648123350.094425][8834:8839] CHIP:TOO: LastConnectErrorValue: null [1648123350.094535][8834:8839] CHIP:EM: Sending Standalone Ack for MessageCounter:8991167 on exchange 59318i diff --git a/src/app/tests/suites/certification/Test_TC_CNET_4_18.yaml b/src/app/tests/suites/certification/Test_TC_CNET_4_18.yaml index d365de2cdef840..e7f3363cadc252 100644 --- a/src/app/tests/suites/certification/Test_TC_CNET_4_18.yaml +++ b/src/app/tests/suites/certification/Test_TC_CNET_4_18.yaml @@ -14,7 +14,7 @@ # Auto-generated scripts for harness use only, please review before automation. The endpoints and cluster names are currently set to default name: - 11.4.18. [TC-CNET-4.18] [Thread] Verification for attributes check + 11.4.16. [TC-CNET-4.18] [Thread] Verification for attributes check [DUT-Client] config: @@ -24,102 +24,90 @@ config: tests: - label: "DUT reads the MaxNetworks attribute from the TH" + PICS: CNET.S.A0000 verification: | - ubuntu@ubuntu:~/connectedhomeip/examples/chip-tool/out/debug$ ./chip-tool networkcommissioning read max-networks 162 0 + ./chip-tool networkcommissioning read max-networks 162 0 - [1645772548.257320][3837:3842] CHIP:DMG: SuppressResponse = true, - [1645772548.257381][3837:3842] CHIP:DMG: InteractionModelRevision = 1 - [1645772548.257437][3837:3842] CHIP:DMG: } - [1645772548.257735][3837:3842] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0031 Attribute 0x0000_0000DataVersion: 92121563 - [1645772548.257878][3837:3842] CHIP:TOO: MaxNetworks: 1 - [1645772548.258032][3837:3842] CHIP:EM: Sending Standalone Ack for MessageCounter:7388528 on exchange 41499i + D: 3737668 [DMG]Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0 + D: 3737677 [DMG] Cluster 31, Attribute 0 is dirty + D: 3737682 [DMG]Reading attribute: Cluster=0x0000_0031 Endpoint=0 AttributeId=0x0000_0000 (expanded=) + D: 3737691 [DMG] Sending report (payload has 36 bytes)... disabled: true - label: "DUT reads the Networks attribute from the TH" + PICS: CNET.S.A0001 verification: | - ubuntu@ubuntu:~/connectedhomeip/examples/chip-tool/out/debug$ ./chip-tool networkcommissioning read networks 162 0 - - [1645772651.445097][3856:3861] CHIP:DMG: SuppressResponse = true, - [1645772651.445149][3856:3861] CHIP:DMG: InteractionModelRevision = 1 - [1645772651.445209][3856:3861] CHIP:DMG: } - [1645772651.445754][3856:3861] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0031 Attribute 0x0000_0001DataVersion: 92121563 - [1645772651.445875][3856:3861] CHIP:TOO: Networks: 1 entries - [1645772651.446057][3856:3861] CHIP:TOO: [1]: { - [1645772651.446120][3856:3861] CHIP:TOO: NetworkID: 1111161622222211 - [1645772651.446173][3856:3861] CHIP:TOO: Connected: TRUE - [1645772651.446228][3856:3861] CHIP:TOO: } - [1645772651.446431][3856:3861] CHIP:EM: Sending Standalone Ack for MessageCounter:12695576 on exchange 11133i + ./chip-tool networkcommissioning read networks 162 0 + + D: 3805977 [DMG]Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0 + D: 3805986 [DMG] Cluster 31, Attribute 1 is dirty + D: 3805991 [DMG]Reading attribute: Cluster=0x0000_0031 Endpoint=0 AttributeId=0x0000_0001 (expanded=0) + D: 3806003 [DMG] Sending report (payload has 77 bytes)... disabled: true - label: "DUT reads ScanMaxTimeSeconds attribute from the TH" + PICS: CNET.S.A0002 verification: | - ubuntu@ubuntu:~/connectedhomeip/examples/chip-tool/out/debug$ ./chip-tool networkcommissioning read scan-max-time-seconds 162 0 - - [1645772820.740795][3867:3872] CHIP:DMG: SuppressResponse = true, - [1645772820.740855][3867:3872] CHIP:DMG: InteractionModelRevision = 1 - [1645772820.740903][3867:3872] CHIP:DMG: } - [1645772820.741209][3867:3872] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0031 Attribute 0x0000_0002DataVersion: 92121563 - [1645772820.741357][3867:3872] CHIP:TOO: ScanMaxTimeSeconds: 10 - [1645772820.741512][3867:3872] CHIP:EM: Sending Standalone Ack for MessageCounter:10309775 on exchange 55305i + ./chip-tool networkcommissioning read scan-max-time-seconds 162 0 + + D: 3846143 [DMG]Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0 + D: 3846152 [DMG] Cluster 31, Attribute 2 is dirty + D: 3846157 [DMG]Reading attribute: Cluster=0x0000_0031 Endpoint=0 AttributeId=0x0000_0002 (expanded=0) + D: 3846167 [DMG] Sending report (payload has 36 bytes)... disabled: true - label: "DUT reads ConnectMaxTimeSeconds attribute from the TH" + PICS: CNET.S.A0003 verification: | - ubuntu@ubuntu:~/connectedhomeip/examples/chip-tool/out/debug$ ./chip-tool networkcommissioning read connect-max-time-seconds 162 0 - - [1645772901.118880][3879:3884] CHIP:DMG: SuppressResponse = true, - [1645772901.119008][3879:3884] CHIP:DMG: InteractionModelRevision = 1 - [1645772901.119141][3879:3884] CHIP:DMG: } - [1645772901.119684][3879:3884] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0031 Attribute 0x0000_0003DataVersion: 92121563 - [1645772901.119885][3879:3884] CHIP:TOO: ConnectMaxTimeSeconds: 20 - [1645772901.120100][3879:3884] CHIP:EM: Sending Standalone Ack for MessageCounter:11917538 on exchange 4188 + ./chip-tool networkcommissioning read connect-max-time-seconds 162 0 + + D: 3903429 [DMG]Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0 + D: 3903437 [DMG] Cluster 31, Attribute 3 is dirty + D: 3903443 [DMG]Reading attribute: Cluster=0x0000_0031 Endpoint=0 AttributeId=0x0000_0003 (expanded=0) + D: 3903452 [DMG] Sending report (payload has 36 bytes)... disabled: true - label: "DUT reads InterfaceEnabled attribute from the TH" + PICS: CNET.S.A0004 verification: | - ubuntu@ubuntu:~/connectedhomeip/examples/chip-tool/out/debug$ ./chip-tool networkcommissioning read interface-enabled 162 0 - - [1645772984.653996][3895:3900] CHIP:DMG: SuppressResponse = true, - [1645772984.654043][3895:3900] CHIP:DMG: InteractionModelRevision = 1 - [1645772984.654084][3895:3900] CHIP:DMG: } - [1645772984.654310][3895:3900] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0031 Attribute 0x0000_0004DataVersion: 92121563 - [1645772984.654388][3895:3900] CHIP:TOO: InterfaceEnabled: TRUE - [1645772984.654530][3895:3900] CHIP:EM: Sending Standalone Ack for MessageCounter:14026610 on exchange 33717i + ./chip-tool networkcommissioning read interface-enabled 162 0 + + D: 3947219 [DMG]Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0 + D: 3947228 [DMG] Cluster 31, Attribute 4 is dirty + D: 3947233 [DMG]Reading attribute: Cluster=0x0000_0031 Endpoint=0 AttributeId=0x0000_0004 (expanded=0) + D: 3947242 [DMG] Sending report (payload has 35 bytes)... disabled: true - label: "DUT reads LastNetworkingStatus attribute from the TH" + PICS: CNET.S.A0005 verification: | - ubuntu@ubuntu:~/connectedhomeip/examples/chip-tool/out/debug$ ./chip-tool networkcommissioning read last-networking-status 162 0 - - [1645773078.930516][3905:3910] CHIP:DMG: SuppressResponse = true, - [1645773078.930579][3905:3910] CHIP:DMG: InteractionModelRevision = 1 - [1645773078.930635][3905:3910] CHIP:DMG: } - [1645773078.930943][3905:3910] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0031 Attribute 0x0000_0005DataVersion: 92121563 - [1645773078.931067][3905:3910] CHIP:TOO: LastNetworkingStatus: 0 - [1645773078.931217][3905:3910] CHIP:EM: Sending Standalone Ack for MessageCounter:16576011 on exchange 44187i + ./chip-tool networkcommissioning read last-networking-status 162 0 + + D: 4034063 [DMG]Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0 + D: 4034072 [DMG] Cluster 31, Attribute 5 is dirty + D: 4034077 [DMG]Reading attribute: Cluster=0x0000_0031 Endpoint=0 AttributeId=0x0000_0005 (expanded=0) + D: 4034087 [DMG] Sending report (payload has 36 bytes)... disabled: true - label: "DUT reads LastNetworkID attribute from the TH" + PICS: CNET.S.A0006 verification: | - ubuntu@ubuntu:~/connectedhomeip/examples/chip-tool/out/debug$ ./chip-tool networkcommissioning read last-network-id 162 0 - - [1645773167.178501][3913:3918] CHIP:DMG: SuppressResponse = true, - [1645773167.178561][3913:3918] CHIP:DMG: InteractionModelRevision = 1 - [1645773167.178618][3913:3918] CHIP:DMG: } - [1645773167.178919][3913:3918] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0031 Attribute 0x0000_0006DataVersion: 92121563 - [1645773167.182241][3913:3918] CHIP:TOO: LastNetworkID: 1111161622222211 - [1645773167.182422][3913:3918] CHIP:EM: Sending Standalone Ack for MessageCounter:2029571 on exchange 18566i + ./chip-tool networkcommissioning read last-network-id 162 0 + + D: 4080067 [DMG]Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0 + D: 4080076 [DMG] Cluster 31, Attribute 6 is dirty + D: 4080081 [DMG]Reading attribute: Cluster=0x0000_0031 Endpoint=0 AttributeId=0x0000_0006 (expanded=0) + D: 4080090 [DMG] Sending report (payload has 46 bytes)... disabled: true - label: "DUT reads LastConnectErrorValue attribute from the TH" + PICS: CNET.S.A0007 verification: | - ubuntu@ubuntu:~/connectedhomeip/examples/chip-tool/out/debug$ ./chip-tool networkcommissioning read last-connect-error-value 162 0 - - [1645773318.752774][3938:3943] CHIP:DMG: SuppressResponse = true, - [1645773318.752861][3938:3943] CHIP:DMG: InteractionModelRevision = 1 - [1645773318.753043][3938:3943] CHIP:DMG: } - [1645773318.753543][3938:3943] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0031 Attribute 0x0000_0007DataVersion: 92121563 - [1645773318.753724][3938:3943] CHIP:TOO: LastConnectErrorValue: 0 - [1645773318.753985][3938:3943] CHIP:EM: Sending Standalone Ack for MessageCounter:15303417 on exchange 41937i + ./chip-tool networkcommissioning read last-connect-error-value 162 0 + + D: 4176701 [DMG]Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0 + D: 4176710 [DMG] Cluster 31, Attribute 7 is dirty + D: 4176715 [DMG]Reading attribute: Cluster=0x0000_0031 Endpoint=0 AttributeId=0x0000_0007 (expanded=0) + D: 4176725 [DMG] Sending report (payload has 36 bytes)... disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_CNET_4_19.yaml b/src/app/tests/suites/certification/Test_TC_CNET_4_19.yaml index 3c7d7c7b4abb91..d35c17a12b52ff 100644 --- a/src/app/tests/suites/certification/Test_TC_CNET_4_19.yaml +++ b/src/app/tests/suites/certification/Test_TC_CNET_4_19.yaml @@ -14,7 +14,7 @@ # Auto-generated scripts for harness use only, please review before automation. The endpoints and cluster names are currently set to default name: - 11.4.19. [TC-CNET-4.19] [Ethernet] Verification for attributes check + 11.4.17. [TC-CNET-4.19] [Ethernet] Verification for attributes check [DUT-Client] config: @@ -24,6 +24,7 @@ config: tests: - label: "DUT reads the MaxNetworks attribute from the TH" + PICS: CNET.S.A0000 verification: | ubuntu@ubuntu:~/apps$ ./chip-tool networkcommissioning read max-networks 1 0 @@ -36,8 +37,9 @@ tests: disabled: true - label: "DUT reads the Networks attribute from the TH" + PICS: CNET.S.A0001 verification: | - ubuntu@ubuntu:~/sethu-apr1/connectedhomeip/examples/chip-tool/out/debug$ ./chip-tool networkcommissioning read networks 1 0 + ./chip-tool networkcommissioning read networks 1 0 [1653483289.382372][28210:28215] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0031 Attribute 0x0000_0001 DataVersion: 3189790698 [1653483289.382458][28210:28215] CHIP:TOO: Networks: 1 entries @@ -49,8 +51,9 @@ tests: disabled: true - label: "DUT reads InterfaceEnabled attribute from the TH" + PICS: CNET.S.A0004 verification: | - ubuntu@ubuntu:~/apps$ ./chip-tool networkcommissioning read interface-enabled 1 0 + ./chip-tool networkcommissioning read interface-enabled 1 0 [1646226615.428003][2502:2507] CHIP:DMG: [1646226615.428035][2502:2507] CHIP:DMG: SuppressResponse = true, @@ -62,8 +65,9 @@ tests: disabled: true - label: "DUT reads LastNetworkingStatus attribute from the TH" + PICS: CNET.S.A0005 verification: | - ubuntu@ubuntu:~/apps$ ./chip-tool networkcommissioning read last-networking-status 1 0 + ./chip-tool networkcommissioning read last-networking-status 1 0 [1646227167.614060][2533:2538] CHIP:DMG: SuppressResponse = true, [1646227167.614095][2533:2538] CHIP:DMG: InteractionModelRevision = 1 @@ -74,8 +78,9 @@ tests: disabled: true - label: "DUT reads LastNetworkID attribute from the TH" + PICS: CNET.S.A0006 verification: | - ubuntu@ubuntu:~/apps$ ./chip-tool networkcommissioning read last-network-id 1 0 + ./chip-tool networkcommissioning read last-network-id 1 0 [1646227218.543427][2545:2550] CHIP:DMG: [1646227218.543462][2545:2550] CHIP:DMG: SuppressResponse = true, @@ -87,8 +92,9 @@ tests: disabled: true - label: "DUT reads LastConnectErrorValue attribute from the TH" + PICS: CNET.S.A0007 verification: | - ubuntu@ubuntu:~/apps$ ./chip-tool networkcommissioning read last-connect-error-value 1 0 + ./chip-tool networkcommissioning read last-connect-error-value 1 0 [1653483224.839873][28189:28194] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0031 Attribute 0x0000_0007 DataVersion: 3189790698 [1653483224.839927][28189:28194] CHIP:TOO: LastConnectErrorValue: null diff --git a/src/app/tests/suites/certification/Test_TC_CNET_4_2.yaml b/src/app/tests/suites/certification/Test_TC_CNET_4_2.yaml index 339a877845e19b..da87ef2270aaca 100644 --- a/src/app/tests/suites/certification/Test_TC_CNET_4_2.yaml +++ b/src/app/tests/suites/certification/Test_TC_CNET_4_2.yaml @@ -82,6 +82,7 @@ tests: disabled: true - label: "TH reads the MaxNetworks attribute from the DUT" + PICS: CNET.S.A0000 verification: | ubuntu@ubuntu:~/connectedhomeip/examples/chip-tool/out/debug$ ./chip-tool networkcommissioning read max-networks 162 0 @@ -102,6 +103,7 @@ tests: disabled: true - label: "TH reads the Networks attribute list from the DUT" + PICS: CNET.S.A0001 verification: | ubuntu@ubuntu:~/connectedhomeip/examples/chip-tool/out/debug$ ./chip-tool networkcommissioning read networks 162 0 @@ -118,6 +120,7 @@ tests: disabled: true - label: "TH reads ScanMaxTimeSeconds attribute from the DUT" + PICS: CNET.S.A0002 verification: | ubuntu@ubuntu:~/connectedhomeip/examples/chip-tool/out/debug$ ./chip-tool networkcommissioning read scan-max-time-seconds 162 0 @@ -130,6 +133,7 @@ tests: disabled: true - label: "TH reads ConnectMaxTimeSeconds Attribute from the DUT" + PICS: CNET.S.A0003 verification: | ubuntu@ubuntu:~/connectedhomeip/examples/chip-tool/out/debug$ ./chip-tool networkcommissioning read connect-max-time-seconds 162 0 @@ -142,6 +146,7 @@ tests: disabled: true - label: "TH reads InterfaceEnabled attribute from the DUT" + PICS: CNET.S.A0004 verification: | ubuntu@ubuntu:~/connectedhomeip/examples/chip-tool/out/debug$ ./chip-tool networkcommissioning read interface-enabled 162 0 @@ -154,6 +159,7 @@ tests: disabled: true - label: "TH reads LastNetworkingStatus attribute from the DUT" + PICS: CNET.S.A0005 verification: | ubuntu@ubuntu:~/connectedhomeip/examples/chip-tool/out/debug$ ./chip-tool networkcommissioning read last-networking-status 162 0 @@ -168,6 +174,7 @@ tests: - label: "TH reads the LastNetworkID attribute from the DUT TH reads the Networks attribute from the DUT" + PICS: CNET.S.A0006 verification: | ubuntu@ubuntu:~/connectedhomeip/examples/chip-tool/out/debug$ ./chip-tool networkcommissioning read last-network-id 162 0 @@ -180,6 +187,7 @@ tests: disabled: true - label: "TH reads the LastConnectErrorValue attribute from the DUT" + PICS: CNET.S.A0007 verification: | ubuntu@ubuntu:~/connectedhomeip/examples/chip-tool/out/debug$ ./chip-tool networkcommissioning read last-connect-error-value 162 0 diff --git a/src/app/tests/suites/certification/Test_TC_CNET_4_20.yaml b/src/app/tests/suites/certification/Test_TC_CNET_4_20.yaml index fddffc9757f124..e8062337916337 100644 --- a/src/app/tests/suites/certification/Test_TC_CNET_4_20.yaml +++ b/src/app/tests/suites/certification/Test_TC_CNET_4_20.yaml @@ -14,7 +14,7 @@ # Auto-generated scripts for harness use only, please review before automation. The endpoints and cluster names are currently set to default name: - 11.4.20. [TC-CNET-4.20] [Wi-Fi] Verification for commands check [DUT-Client] + 11.4.18. [TC-CNET-4.20] [Wi-Fi] Verification for commands check [DUT-Client] config: nodeId: 0x12344321 @@ -23,6 +23,7 @@ config: tests: - label: "DUT sends the ScanNetwork command to the TH" + PICS: CNET.C.C00.Tx verification: | ./chip-tool networkcommissioning scan-networks 1 0 --Ssid null --Breadcrumb 1 @@ -157,7 +158,7 @@ tests: - label: "DUT sends the ArmFailSafe command to the TH" verification: | - ubuntu@TE-8:~/connectedhomeip/examples/chip-tool/out/debug$ ./chip-tool generalcommissioning arm-fail-safe 60 0 1 0 + ./chip-tool generalcommissioning arm-fail-safe 60 0 1 0 [1650371269.889246][42481:42486] CHIP:DMG: Received Command Response Data, Endpoint=0 Cluster=0x0000_0030 Command=0x0000_0001 [1650371269.889331][42481:42486] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0030 Command 0x0000_0001 @@ -170,8 +171,9 @@ tests: disabled: true - label: "DUT sends the AddOrUpdateWiFiNetwork command to the TH" + PICS: CNET.C.C03.Tx verification: | - ubuntu@TE-8:~/connectedhomeip/examples/chip-tool/out/debug$ ./chip-tool networkcommissioning add-or-update-wi-fi-network hex:47524C50726976617465 grlprivatewifi092010 1 0 + ./chip-tool networkcommissioning add-or-update-wi-fi-network hex:47524C50726976617465 grlprivatewifi092010 1 0 [1650371276.622265][42488:42493] CHIP:DMG: Received Command Response Data, Endpoint=0 Cluster=0x0000_0031 Command=0x0000_0005 [1650371276.622332][42488:42493] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0031 Command 0x0000_0005 @@ -183,9 +185,10 @@ tests: [1650371276.622728][42488:42493] CHIP:EM: Sending Standalone Ack for MessageCounter:9593846 on exchange 33754i disabled: true - - label: "DUT sends the ConnectNetwork command to the TH" + - label: "DUT sends the RemoveNetwork command to the TH" + PICS: CNET.C.C06.Tx verification: | - ubuntu@TE-8:~/connectedhomeip/examples/chip-tool/out/debug$ ./chip-tool networkcommissioning connect-network hex:47524C50726976617465 1 0 + ./chip-tool networkcommissioning connect-network hex:47524C50726976617465 1 0 [1650376217.124606][42876:42881] CHIP:DMG: Received Command Response Data, Endpoint=0 Cluster=0x0000_0031 Command=0x0000_0007 [1650376217.124707][42876:42881] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0031 Command 0x0000_0007 @@ -197,9 +200,10 @@ tests: [1650376217.125282][42876:42881] CHIP:EM: Sending Standalone Ack for MessageCounter:7901929 on exchange 1050i disabled: true - - label: "DUT sends the ReorderNetwork command to the TH" + - label: "DUT sends the ConnectNetwork command to the TH" + PICS: CNET.C.C08.Tx verification: | - ubuntu@TE-8:~/connectedhomeip/examples/chip-tool/out/debug$ ./chip-tool networkcommissioning reorder-network hex:47524C50726976617465 3 1 0 + ./chip-tool networkcommissioning reorder-network hex:47524C50726976617465 3 1 0 [1650381494.820649][44087:44092] CHIP:DMG: Received Command Response Data, Endpoint=0 Cluster=0x0000_0031 Command=0x0000_0005 [1650381494.820749][44087:44092] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0031 Command 0x0000_0005 @@ -211,9 +215,10 @@ tests: [1650381494.821174][44087:44092] CHIP:EM: Sending Standalone Ack for MessageCounter:5656346 on exchange 4849i disabled: true - - label: "DUT sends the RemoveNetwork command to the TH" + - label: "DUT sends the ReorderNetwork command to the TH" + PICS: CNET.C.C04.Tx verification: | - ubuntu@TE-8:~/connectedhomeip/examples/chip-tool/out/debug$ ./chip-tool networkcommissioning remove-network hex:47524C50726976617465 1 0 + ./chip-tool networkcommissioning remove-network hex:47524C50726976617465 1 0 [1650373300.704806][42697:42702] CHIP:DMG: Received Command Response Data, Endpoint=0 Cluster=0x0000_0031 Command=0x0000_0005 [1650373300.704864][42697:42702] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0031 Command 0x0000_0005 diff --git a/src/app/tests/suites/certification/Test_TC_CNET_4_21.yaml b/src/app/tests/suites/certification/Test_TC_CNET_4_21.yaml index d24fc4c5169754..7219db4b4f274f 100644 --- a/src/app/tests/suites/certification/Test_TC_CNET_4_21.yaml +++ b/src/app/tests/suites/certification/Test_TC_CNET_4_21.yaml @@ -14,7 +14,7 @@ # Auto-generated scripts for harness use only, please review before automation. The endpoints and cluster names are currently set to default name: - 11.4.21. [TC-CNET-4.21] [Thread] Verification for commands check + 11.4.19. [TC-CNET-4.21] [Thread] Verification for commands check [DUT-Client] config: @@ -24,54 +24,14 @@ config: tests: - label: "DUT sends the ScanNetwork command to the TH" + PICS: CNET.C.C00.Tx verification: | - ubuntu@ubuntu:~/cntl/connectedhomeip/examples/chip-tool/out/debug$ ./chip-tool networkcommissioning scan-network 62 0 + ubuntu@ubuntu:~/cntl/connectedhomeip/examples/chip-tool/out/debug$ ./chip-tool networkcommissioning scan-networks 62 0 - 1650389839.770815][9818:9823] CHIP:TOO: ScanNetworksResponse: { - [1650389839.770903][9818:9823] CHIP:TOO: networkingStatus: 0 - [1650389839.771002][9818:9823] CHIP:TOO: threadScanResults: 4 entries - [1650389839.771163][9818:9823] CHIP:TOO: [1]: { - [1650389839.771216][9818:9823] CHIP:TOO: PanId: 4660 - [1650389839.771264][9818:9823] CHIP:TOO: ExtendedPanId: 79112097568923682 - [1650389839.771312][9818:9823] CHIP:TOO: NetworkName: OpenhkrepiDono - [1650389839.771359][9818:9823] CHIP:TOO: Channel: 16 - [1650389839.771404][9818:9823] CHIP:TOO: Version: 2 - [1650389839.771454][9818:9823] CHIP:TOO: ExtendedAddress: FEBEB579F5C349CD - [1650389839.771500][9818:9823] CHIP:TOO: Rssi: -62 - [1650389839.771546][9818:9823] CHIP:TOO: Lqi: 132 - [1650389839.771594][9818:9823] CHIP:TOO: } - [1650389839.771665][9818:9823] CHIP:TOO: [2]: { - [1650389839.771714][9818:9823] CHIP:TOO: PanId: 64206 - [1650389839.771760][9818:9823] CHIP:TOO: ExtendedPanId: 3861484836749312 - [1650389839.771806][9818:9823] CHIP:TOO: NetworkName: GRL - [1650389839.771851][9818:9823] CHIP:TOO: Channel: 20 - [1650389839.771896][9818:9823] CHIP:TOO: Version: 2 - [1650389839.771942][9818:9823] CHIP:TOO: ExtendedAddress: 166E0A0000000002 - [1650389839.771989][9818:9823] CHIP:TOO: Rssi: -92 - [1650389839.772034][9818:9823] CHIP:TOO: Lqi: 4 - [1650389839.772079][9818:9823] CHIP:TOO: } - [1650389839.772148][9818:9823] CHIP:TOO: [3]: { - [1650389839.772197][9818:9823] CHIP:TOO: PanId: 64206 - [1650389839.772244][9818:9823] CHIP:TOO: ExtendedPanId: 3861484836749312 - [1650389839.772290][9818:9823] CHIP:TOO: NetworkName: GRL - [1650389839.772335][9818:9823] CHIP:TOO: Channel: 20 - [1650389839.772380][9818:9823] CHIP:TOO: Version: 2 - [1650389839.772426][9818:9823] CHIP:TOO: ExtendedAddress: 166E0A0000000008 - [1650389839.772472][9818:9823] CHIP:TOO: Rssi: -92 - [1650389839.772518][9818:9823] CHIP:TOO: Lqi: 8 - [1650389839.772562][9818:9823] CHIP:TOO: } - [1650389839.772629][9818:9823] CHIP:TOO: [4]: { - [1650389839.772678][9818:9823] CHIP:TOO: PanId: 64206 - [1650389839.772724][9818:9823] CHIP:TOO: ExtendedPanId: 3861484836749312 - [1650389839.772770][9818:9823] CHIP:TOO: NetworkName: GRL - [1650389839.772819][9818:9823] CHIP:TOO: Channel: 20 - [1650389839.772864][9818:9823] CHIP:TOO: Version: 2 - [1650389839.772909][9818:9823] CHIP:TOO: ExtendedAddress: 166E0A0000000001 - [1650389839.772955][9818:9823] CHIP:TOO: Rssi: -91 - [1650389839.773000][9818:9823] CHIP:TOO: Lqi: 16 - [1650389839.773046][9818:9823] CHIP:TOO: } - [1650389839.773095][9818:9823] CHIP:TOO: } - [1650389839.773244][9818:9823] CHIP:DMG: ICR moving to [AwaitingDe] + I: 4348550 [EM]Received message of type 0x8 with protocolId (0, 1) and MessageCounter:3714330 on exchange 35752r + D: 4348560 [EM]Handling via exchange: 35752r, Delegate: 0x2000766c + D: 4348567 [DMG]Received command for Endpoint=0 Cluster=0x0000_0031 Command=0x0000_0000 + D: 4348576 [DMG]Decreasing reference count for CommandHandler, remaining 1 disabled: true - label: "DUT sends the ArmFailSafe command to the TH" @@ -89,6 +49,7 @@ tests: disabled: true - label: "DUT sends the AddOrUpdateThreadNetwork command to the TH" + PICS: CNET.C.C03.Tx verification: | Executed during the commissioning ubuntu@ubuntu:~/cntl/connectedhomeip/examples/chip-tool/out/debug$ ./chip-tool pairing ble-thread 62 hex:0e080000000000010000000300001035060004001fffe0020801191008990820220708fd067fa7635e1066051009116253045736078899aabbccddeeff030e4f70656e686b72657069446f6e6f01021234041029282c49503302ea4536648015d1ff180c0402a0fff8 20202021 3840 @@ -106,15 +67,7 @@ tests: disabled: true - label: "DUT sends the ConnectNetwork command to the TH" - verification: | - Executed during the commissioning - - [1650388642.195472][9682:9687] CHIP:DMG: Received Command Response Data, Endpoint=0 Cluster=0x0000_0031 Command=0x0000_0007 - [1650388642.195553][9682:9687] CHIP:CTL: Received ConnectNetwork response - [1650388642.195614][9682:9687] CHIP:CTL: Successfully finished commissioning step 'ThreadNetworkEnable' - disabled: true - - - label: "DUT sends the ReorderNetwork command to the TH" + PICS: CNET.C.C06.Tx verification: | ubuntu@ubuntu:~/cntl/connectedhomeip/examples/chip-tool/out/debug$ ./chip-tool networkcommissioning reorder-network 0119100899082022 3 62 0 @@ -126,7 +79,8 @@ tests: [1650392602.379882][10158:10163] CHIP:DMG: ICR moving to [AwaitingDe] disabled: true - - label: "DUT sends the RemoveNetwork command to the TH" + - label: "DUT sends the ReorderNetwork command to the TH" + PICS: CNET.C.C08.Tx verification: | ubuntu@ubuntu:~/cntl/connectedhomeip/examples/chip-tool/out/debug$ ./chip-tool networkcommissioning remove-network 0119100899082022 62 0 @@ -137,3 +91,13 @@ tests: [1650391420.469812][10048:10053] CHIP:TOO: } [1650391420.469902][10048:10053] CHIP:DMG: ICR moving to [AwaitingDe] disabled: true + + - label: "DUT sends the RemoveNetwork command to the TH" + PICS: CNET.C.C04.Tx + verification: | + Executed during the commissioning + + [1650388642.195472][9682:9687] CHIP:DMG: Received Command Response Data, Endpoint=0 Cluster=0x0000_0031 Command=0x0000_0007 + [1650388642.195553][9682:9687] CHIP:CTL: Received ConnectNetwork response + [1650388642.195614][9682:9687] CHIP:CTL: Successfully finished commissioning step 'ThreadNetworkEnable' + disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_CNET_4_3.yaml b/src/app/tests/suites/certification/Test_TC_CNET_4_3.yaml index 6cabf317932c25..29adc7c662caa2 100644 --- a/src/app/tests/suites/certification/Test_TC_CNET_4_3.yaml +++ b/src/app/tests/suites/certification/Test_TC_CNET_4_3.yaml @@ -85,6 +85,7 @@ tests: disabled: true - label: "TH reads the MaxNetworks attribute from the DUT" + PICS: CNET.S.A0000 verification: | ubuntu@ubuntu:~/apps$ ./chip-tool networkcommissioning read max-networks 1 0 @@ -104,19 +105,20 @@ tests: disabled: true - label: "TH reads the Networks attribute list from the DUT" + PICS: CNET.S.A0001 verification: | ./chip-tool networkcommissioning read networks 1 0 - [1653483289.382372][28210:28215] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0031 Attribute 0x0000_0001 DataVersion: 3189790698 - [1653483289.382458][28210:28215] CHIP:TOO: Networks: 1 entries - [1653483289.382507][28210:28215] CHIP:TOO: [1]: { - [1653483289.382537][28210:28215] CHIP:TOO: NetworkID: 65746830 - [1653483289.382561][28210:28215] CHIP:TOO: Connected: TRUE - [1653483289.382584][28210:28215] CHIP:TOO: } - [1653483289.382684][28210:28215] CHIP:EM: Sending Standalone Ack for MessageCounter:13711908 on exchange 32535i + [1654076774.294361][33659:33664] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0031 Attribute 0x0000_0001 DataVersion: 609053543 + [1654076774.294505][33659:33664] CHIP:TOO: Networks: 1 entries + [1654076774.294625][33659:33664] CHIP:TOO: [1]: { + [1654076774.294679][33659:33664] CHIP:TOO: NetworkID: 6368697035 + [1654076774.294726][33659:33664] CHIP:TOO: Connected: TRUE + [1654076774.294774][33659:33664] CHIP:TOO: } disabled: true - label: "TH reads InterfaceEnabled attribute from the DUT" + PICS: CNET.S.A0004 verification: | ./chip-tool networkcommissioning read interface-enabled 1 0 @@ -130,6 +132,7 @@ tests: disabled: true - label: "TH reads LastNetworkingStatus attribute from the DUT" + PICS: CNET.S.A0005 verification: | ubuntu@ubuntu:~/apps$ ./chip-tool networkcommissioning read last-networking-status 1 0 @@ -144,15 +147,16 @@ tests: - label: "TH reads the LastNetworkID attribute from the DUT TH reads the Networks attribute from the DUT" + PICS: CNET.S.A0006 verification: | ubuntu@ubuntu:~/apps$ ./chip-tool networkcommissioning read last-network-id 1 0 - [1653483162.950672][28180:28185] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0031 Attribute 0x0000_0006 DataVersion: 3189790698 - [1653483162.950726][28180:28185] CHIP:TOO: LastNetworkID: null - [1653483162.950827][28180:28185] CHIP:EM: Sending Standalone Ack for MessageCounter:13275609 on exchange 15586i + [1654076802.288579][33669:33674] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0031 Attribute 0x0000_0006 DataVersion: 609053543 + [1654076802.288708][33669:33674] CHIP:TOO: LastNetworkID: 6368697035 disabled: true - label: "TH reads the LastConnectErrorValue attribute from the DUT" + PICS: CNET.S.A0007 verification: | ubuntu@ubuntu:~/apps$ ./chip-tool networkcommissioning read last-connect-error-value 1 0 diff --git a/src/app/tests/suites/certification/Test_TC_CNET_4_4.yaml b/src/app/tests/suites/certification/Test_TC_CNET_4_4.yaml index aad5a67962655c..66bf2dc9ad542e 100644 --- a/src/app/tests/suites/certification/Test_TC_CNET_4_4.yaml +++ b/src/app/tests/suites/certification/Test_TC_CNET_4_4.yaml @@ -14,7 +14,7 @@ # Auto-generated scripts for harness use only, please review before automation. The endpoints and cluster names are currently set to default name: - 11.4.4. [TC-CNET-4.4] [Wi-Fi]Verification for ScanNetworks command + 11.4.4. [TC-CNET-4.4] [Wi-Fi] Verification for ScanNetworks command [DUT-Server] config: @@ -26,160 +26,159 @@ tests: - label: "TH sends ScanNetworks command to the DUT with the SSID argument value as 'null' and Breadcrumb argument value as 1" + PICS: CNET.S.C00.Rsp && CNET.S.C01.Tx verification: | - ubuntu@ubuntu:~/connectedhomeip$ sudo ./examples/chip-tool/out/debug/chip-tool networkcommissioning scan-networks null 0 1 0 --paa-trust-store-path ./credentials/development/paa-root-certs + ./chip-tool networkcommissioning scan-networks 1 0 --Ssid null --Breadcrumb 1 - [1648124672.377157][9331:9336] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0031 Command 0x0000_0001 - [1648124672.377274][9331:9336] CHIP:TOO: ScanNetworksResponse: { - [1648124672.377301][9331:9336] CHIP:TOO: networkingStatus: 0 - [1648124672.377325][9331:9336] CHIP:TOO: debugText: - [1648124672.377403][9331:9336] CHIP:TOO: wiFiScanResults: 15 entries - [1648124672.377472][9331:9336] CHIP:TOO: [1]: { - [1648124672.377496][9331:9336] CHIP:TOO: Security: 8 - [1648124672.377520][9331:9336] CHIP:TOO: Ssid: 47524C507269766174655F455854 - [1648124672.377543][9331:9336] CHIP:TOO: Bssid: E01CFCE4B236 - [1648124672.377565][9331:9336] CHIP:TOO: Channel: 11 - [1648124672.377586][9331:9336] CHIP:TOO: WiFiBand: 0 - [1648124672.377608][9331:9336] CHIP:TOO: Rssi: -7 - [1648124672.377631][9331:9336] CHIP:TOO: } - [1648124672.377663][9331:9336] CHIP:TOO: [2]: { - [1648124672.377686][9331:9336] CHIP:TOO: Security: 8 - [1648124672.377709][9331:9336] CHIP:TOO: Ssid: 47524C50726976617465 - [1648124672.377731][9331:9336] CHIP:TOO: Bssid: 6032B197B89F - [1648124672.377753][9331:9336] CHIP:TOO: Channel: 153 - [1648124672.377774][9331:9336] CHIP:TOO: WiFiBand: 2 - [1648124672.377795][9331:9336] CHIP:TOO: Rssi: -47 - [1648124672.377816][9331:9336] CHIP:TOO: } - [1648124672.377847][9331:9336] CHIP:TOO: [3]: { - [1648124672.377870][9331:9336] CHIP:TOO: Security: 8 - [1648124672.377891][9331:9336] CHIP:TOO: Ssid: - [1648124672.377913][9331:9336] CHIP:TOO: Bssid: 6632B197B89F - [1648124672.377934][9331:9336] CHIP:TOO: Channel: 153 - [1648124672.377955][9331:9336] CHIP:TOO: WiFiBand: 2 - [1648124672.377976][9331:9336] CHIP:TOO: Rssi: -47 - [1648124672.377997][9331:9336] CHIP:TOO: } - [1648124672.378027][9331:9336] CHIP:TOO: [4]: { - [1648124672.378050][9331:9336] CHIP:TOO: Security: 8 - [1648124672.378071][9331:9336] CHIP:TOO: Ssid: - [1648124672.378093][9331:9336] CHIP:TOO: Bssid: C606C3F95EEB - [1648124672.378114][9331:9336] CHIP:TOO: Channel: 153 - [1648124672.378135][9331:9336] CHIP:TOO: WiFiBand: 2 - [1648124672.378157][9331:9336] CHIP:TOO: Rssi: -71 - [1648124672.378178][9331:9336] CHIP:TOO: } - [1648124672.378208][9331:9336] CHIP:TOO: [5]: { - [1648124672.378231][9331:9336] CHIP:TOO: Security: 8 - [1648124672.378253][9331:9336] CHIP:TOO: Ssid: 47524C50726976617465 - [1648124672.378276][9331:9336] CHIP:TOO: Bssid: C006C3F95F31 - [1648124672.378297][9331:9336] CHIP:TOO: Channel: 44 - [1648124672.378318][9331:9336] CHIP:TOO: WiFiBand: 2 - [1648124672.378339][9331:9336] CHIP:TOO: Rssi: -67 - [1648124672.378360][9331:9336] CHIP:TOO: } - [1648124672.378390][9331:9336] CHIP:TOO: [6]: { - [1648124672.378412][9331:9336] CHIP:TOO: Security: 8 - [1648124672.378434][9331:9336] CHIP:TOO: Ssid: 7A696762656531 - [1648124672.378456][9331:9336] CHIP:TOO: Bssid: E848B8C2123B - [1648124672.378477][9331:9336] CHIP:TOO: Channel: 3 - [1648124672.378497][9331:9336] CHIP:TOO: WiFiBand: 0 - [1648124672.378518][9331:9336] CHIP:TOO: Rssi: -64 - [1648124672.378539][9331:9336] CHIP:TOO: } - [1648124672.378569][9331:9336] CHIP:TOO: [7]: { - [1648124672.378592][9331:9336] CHIP:TOO: Security: 12 - [1648124672.378614][9331:9336] CHIP:TOO: Ssid: 7A6967626565686F6D65 - [1648124672.378636][9331:9336] CHIP:TOO: Bssid: 0C0E764CB140 - [1648124672.378657][9331:9336] CHIP:TOO: Channel: 6 - [1648124672.378678][9331:9336] CHIP:TOO: WiFiBand: 0 - [1648124672.378699][9331:9336] CHIP:TOO: Rssi: -64 - [1648124672.378720][9331:9336] CHIP:TOO: } - [1648124672.378750][9331:9336] CHIP:TOO: [8]: { - [1648124672.378772][9331:9336] CHIP:TOO: Security: 8 - [1648124672.378794][9331:9336] CHIP:TOO: Ssid: 47524C50726976617465 - [1648124672.378816][9331:9336] CHIP:TOO: Bssid: 6032B197B89E - [1648124672.378837][9331:9336] CHIP:TOO: Channel: 11 - [1648124672.378858][9331:9336] CHIP:TOO: WiFiBand: 0 - [1648124672.378879][9331:9336] CHIP:TOO: Rssi: -36 - [1648124672.378900][9331:9336] CHIP:TOO: } - [1648124672.378930][9331:9336] CHIP:TOO: [9]: { - [1648124672.378952][9331:9336] CHIP:TOO: Security: 8 - [1648124672.378974][9331:9336] CHIP:TOO: Ssid: 47524C50726976617465 - [1648124672.378996][9331:9336] CHIP:TOO: Bssid: 1027F5374EC6 - [1648124672.379017][9331:9336] CHIP:TOO: Channel: 6 - [1648124672.379038][9331:9336] CHIP:TOO: WiFiBand: 0 - [1648124672.379059][9331:9336] CHIP:TOO: Rssi: -46 - [1648124672.379080][9331:9336] CHIP:TOO: } - [1648124672.379110][9331:9336] CHIP:TOO: [10]: { - [1648124672.379133][9331:9336] CHIP:TOO: Security: 8 - [1648124672.379155][9331:9336] CHIP:TOO: Ssid: 47524C50726976617465 - [1648124672.379177][9331:9336] CHIP:TOO: Bssid: C006C3F95EEA - [1648124672.379198][9331:9336] CHIP:TOO: Channel: 11 - [1648124672.379219][9331:9336] CHIP:TOO: WiFiBand: 0 - [1648124672.379239][9331:9336] CHIP:TOO: Rssi: -47 - [1648124672.379261][9331:9336] CHIP:TOO: } - [1648124672.379290][9331:9336] CHIP:TOO: [11]: { - [1648124672.379313][9331:9336] CHIP:TOO: Security: 8 - [1648124672.379335][9331:9336] CHIP:TOO: Ssid: 47524C50726976617465 - [1648124672.379357][9331:9336] CHIP:TOO: Bssid: B0BE7653B01A - [1648124672.379378][9331:9336] CHIP:TOO: Channel: 6 - [1648124672.379399][9331:9336] CHIP:TOO: WiFiBand: 0 - [1648124672.379420][9331:9336] CHIP:TOO: Rssi: -67 - [1648124672.379440][9331:9336] CHIP:TOO: } - [1648124672.379471][9331:9336] CHIP:TOO: [12]: { - [1648124672.379493][9331:9336] CHIP:TOO: Security: 8 - [1648124672.379515][9331:9336] CHIP:TOO: Ssid: 47524C50726976617465 - [1648124672.379537][9331:9336] CHIP:TOO: Bssid: C006C3F95F30 - [1648124672.379558][9331:9336] CHIP:TOO: Channel: 6 - [1648124672.379579][9331:9336] CHIP:TOO: WiFiBand: 0 - [1648124672.379600][9331:9336] CHIP:TOO: Rssi: -55 - [1648124672.379621][9331:9336] CHIP:TOO: } - [1648124672.379651][9331:9336] CHIP:TOO: [13]: { - [1648124672.379689][9331:9336] CHIP:TOO: Security: 8 - [1648124672.379712][9331:9336] CHIP:TOO: Ssid: 47524C50726976617465 - [1648124672.379734][9331:9336] CHIP:TOO: Bssid: C006C3F95ECE - [1648124672.379755][9331:9336] CHIP:TOO: Channel: 6 - [1648124672.379776][9331:9336] CHIP:TOO: WiFiBand: 0 - [1648124672.379797][9331:9336] CHIP:TOO: Rssi: -56 - [1648124672.379818][9331:9336] CHIP:TOO: } - [1648124672.379849][9331:9336] CHIP:TOO: [14]: { - [1648124672.379872][9331:9336] CHIP:TOO: Security: 12 - [1648124672.379893][9331:9336] CHIP:TOO: Ssid: 7A69676265652D746872656164 - [1648124672.379916][9331:9336] CHIP:TOO: Bssid: 6C198FC83ABC - [1648124672.379936][9331:9336] CHIP:TOO: Channel: 2 - [1648124672.379957][9331:9336] CHIP:TOO: WiFiBand: 0 - [1648124672.379978][9331:9336] CHIP:TOO: Rssi: -52 - [1648124672.379999][9331:9336] CHIP:TOO: } - [1648124672.380029][9331:9336] CHIP:TOO: [15]: { - [1648124672.380052][9331:9336] CHIP:TOO: Security: 8 - [1648124672.380073][9331:9336] CHIP:TOO: Ssid: 5547432D4775657374 - [1648124672.380096][9331:9336] CHIP:TOO: Bssid: FA92BF518BB2 - [1648124672.380117][9331:9336] CHIP:TOO: Channel: 11 - [1648124672.380137][9331:9336] CHIP:TOO: WiFiBand: 0 - [1648124672.380158][9331:9336] CHIP:TOO: Rssi: -64 - [1648124672.380179][9331:9336] CHIP:TOO: } - [1648124672.380203][9331:9336] CHIP:TOO: } - [1648124672.380331][9331:9336] CHIP:DMG: ICR moving to [AwaitingDe] - [1648124672.380389][9331:9336] CHIP:EM: Sending Standalone Ack for MessageCounter:3026423 on exchange 22723i + [1653475026.012811][29937:29942] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0031 Command 0x0000_0001 + [1653475026.012942][29937:29942] CHIP:TOO: ScanNetworksResponse: { + [1653475026.012983][29937:29942] CHIP:TOO: networkingStatus: 0 + [1653475026.013075][29937:29942] CHIP:TOO: wiFiScanResults: 15 entries + [1653475026.013143][29937:29942] CHIP:TOO: [1]: { + [1653475026.013169][29937:29942] CHIP:TOO: Security: 8 + [1653475026.013195][29937:29942] CHIP:TOO: Ssid: 47524C507269766174655F455854 + [1653475026.013219][29937:29942] CHIP:TOO: Bssid: E01CFCE4B236 + [1653475026.013242][29937:29942] CHIP:TOO: Channel: 11 + [1653475026.013264][29937:29942] CHIP:TOO: WiFiBand: 0 + [1653475026.013286][29937:29942] CHIP:TOO: Rssi: -9 + [1653475026.013310][29937:29942] CHIP:TOO: } + [1653475026.013344][29937:29942] CHIP:TOO: [2]: { + [1653475026.013368][29937:29942] CHIP:TOO: Security: 8 + [1653475026.013390][29937:29942] CHIP:TOO: Ssid: 47524C50726976617465 + [1653475026.013414][29937:29942] CHIP:TOO: Bssid: C006C3F95EEB + [1653475026.013436][29937:29942] CHIP:TOO: Channel: 153 + [1653475026.013458][29937:29942] CHIP:TOO: WiFiBand: 2 + [1653475026.013479][29937:29942] CHIP:TOO: Rssi: -52 + [1653475026.013500][29937:29942] CHIP:TOO: } + [1653475026.013531][29937:29942] CHIP:TOO: [3]: { + [1653475026.013556][29937:29942] CHIP:TOO: Security: 8 + [1653475026.013578][29937:29942] CHIP:TOO: Ssid: + [1653475026.013599][29937:29942] CHIP:TOO: Bssid: C606C3F95EEB + [1653475026.013621][29937:29942] CHIP:TOO: Channel: 153 + [1653475026.013642][29937:29942] CHIP:TOO: WiFiBand: 2 + [1653475026.013663][29937:29942] CHIP:TOO: Rssi: -52 + [1653475026.013684][29937:29942] CHIP:TOO: } + [1653475026.013715][29937:29942] CHIP:TOO: [4]: { + [1653475026.013738][29937:29942] CHIP:TOO: Security: 12 + [1653475026.013762][29937:29942] CHIP:TOO: Ssid: 7A69676265652D7468726561642D3547487A + [1653475026.013784][29937:29942] CHIP:TOO: Bssid: 6C198FC83ABE + [1653475026.013806][29937:29942] CHIP:TOO: Channel: 44 + [1653475026.013827][29937:29942] CHIP:TOO: WiFiBand: 2 + [1653475026.013848][29937:29942] CHIP:TOO: Rssi: -55 + [1653475026.013869][29937:29942] CHIP:TOO: } + [1653475026.013900][29937:29942] CHIP:TOO: [5]: { + [1653475026.013923][29937:29942] CHIP:TOO: Security: 8 + [1653475026.013945][29937:29942] CHIP:TOO: Ssid: 47524C50726976617465 + [1653475026.013967][29937:29942] CHIP:TOO: Bssid: C006C3F95F31 + [1653475026.013988][29937:29942] CHIP:TOO: Channel: 48 + [1653475026.014029][29937:29942] CHIP:TOO: WiFiBand: 2 + [1653475026.014051][29937:29942] CHIP:TOO: Rssi: -65 + [1653475026.014073][29937:29942] CHIP:TOO: } + [1653475026.014106][29937:29942] CHIP:TOO: [6]: { + [1653475026.014129][29937:29942] CHIP:TOO: Security: 8 + [1653475026.014151][29937:29942] CHIP:TOO: Ssid: + [1653475026.014172][29937:29942] CHIP:TOO: Bssid: C606C3F95F31 + [1653475026.014194][29937:29942] CHIP:TOO: Channel: 48 + [1653475026.014215][29937:29942] CHIP:TOO: WiFiBand: 2 + [1653475026.014236][29937:29942] CHIP:TOO: Rssi: -65 + [1653475026.014257][29937:29942] CHIP:TOO: } + [1653475026.014288][29937:29942] CHIP:TOO: [7]: { + [1653475026.014311][29937:29942] CHIP:TOO: Security: 8 + [1653475026.014335][29937:29942] CHIP:TOO: Ssid: 47524C50726976617465 + [1653475026.014357][29937:29942] CHIP:TOO: Bssid: C006C3F95ECF + [1653475026.014379][29937:29942] CHIP:TOO: Channel: 153 + [1653475026.014400][29937:29942] CHIP:TOO: WiFiBand: 2 + [1653475026.014421][29937:29942] CHIP:TOO: Rssi: -68 + [1653475026.014442][29937:29942] CHIP:TOO: } + [1653475026.014473][29937:29942] CHIP:TOO: [8]: { + [1653475026.014496][29937:29942] CHIP:TOO: Security: 8 + [1653475026.014518][29937:29942] CHIP:TOO: Ssid: 47524C50726976617465 + [1653475026.014540][29937:29942] CHIP:TOO: Bssid: 1027F5374EC7 + [1653475026.014561][29937:29942] CHIP:TOO: Channel: 153 + [1653475026.014582][29937:29942] CHIP:TOO: WiFiBand: 2 + [1653475026.014603][29937:29942] CHIP:TOO: Rssi: -73 + [1653475026.014624][29937:29942] CHIP:TOO: } + [1653475026.014654][29937:29942] CHIP:TOO: [9]: { + [1653475026.014677][29937:29942] CHIP:TOO: Security: 8 + [1653475026.014698][29937:29942] CHIP:TOO: Ssid: + [1653475026.014720][29937:29942] CHIP:TOO: Bssid: 1627F5374EC7 + [1653475026.014741][29937:29942] CHIP:TOO: Channel: 153 + [1653475026.014762][29937:29942] CHIP:TOO: WiFiBand: 2 + [1653475026.014783][29937:29942] CHIP:TOO: Rssi: -72 + [1653475026.014804][29937:29942] CHIP:TOO: } + [1653475026.014834][29937:29942] CHIP:TOO: [10]: { + [1653475026.014858][29937:29942] CHIP:TOO: Security: 12 + [1653475026.014880][29937:29942] CHIP:TOO: Ssid: 4368697031 + [1653475026.014902][29937:29942] CHIP:TOO: Bssid: 0C0E764EF1C8 + [1653475026.014923][29937:29942] CHIP:TOO: Channel: 11 + [1653475026.014944][29937:29942] CHIP:TOO: WiFiBand: 0 + [1653475026.014965][29937:29942] CHIP:TOO: Rssi: -38 + [1653475026.014986][29937:29942] CHIP:TOO: } + [1653475026.015017][29937:29942] CHIP:TOO: [11]: { + [1653475026.015039][29937:29942] CHIP:TOO: Security: 8 + [1653475026.015061][29937:29942] CHIP:TOO: Ssid: 4368697073657475703442 + [1653475026.015083][29937:29942] CHIP:TOO: Bssid: E01CFCEA2A46 + [1653475026.015105][29937:29942] CHIP:TOO: Channel: 11 + [1653475026.015126][29937:29942] CHIP:TOO: WiFiBand: 0 + [1653475026.015147][29937:29942] CHIP:TOO: Rssi: -34 + [1653475026.015168][29937:29942] CHIP:TOO: } + [1653475026.015198][29937:29942] CHIP:TOO: [12]: { + [1653475026.015221][29937:29942] CHIP:TOO: Security: 8 + [1653475026.015244][29937:29942] CHIP:TOO: Ssid: 47524C50726976617465 + [1653475026.015266][29937:29942] CHIP:TOO: Bssid: 6032B197B89E + [1653475026.015288][29937:29942] CHIP:TOO: Channel: 11 + [1653475026.015309][29937:29942] CHIP:TOO: WiFiBand: 0 + [1653475026.015330][29937:29942] CHIP:TOO: Rssi: -37 + [1653475026.015351][29937:29942] CHIP:TOO: } + [1653475026.015381][29937:29942] CHIP:TOO: [13]: { + [1653475026.015404][29937:29942] CHIP:TOO: Security: 12 + [1653475026.015427][29937:29942] CHIP:TOO: Ssid: 7A69676265652D746872656164 + [1653475026.015449][29937:29942] CHIP:TOO: Bssid: 6C198FC83ABC + [1653475026.015470][29937:29942] CHIP:TOO: Channel: 2 + [1653475026.015491][29937:29942] CHIP:TOO: WiFiBand: 0 + [1653475026.015512][29937:29942] CHIP:TOO: Rssi: -40 + [1653475026.015533][29937:29942] CHIP:TOO: } + [1653475026.015563][29937:29942] CHIP:TOO: [14]: { + [1653475026.015587][29937:29942] CHIP:TOO: Security: 8 + [1653475026.015609][29937:29942] CHIP:TOO: Ssid: 47524C50726976617465 + [1653475026.015631][29937:29942] CHIP:TOO: Bssid: 1027F5374EC6 + [1653475026.015652][29937:29942] CHIP:TOO: Channel: 6 + [1653475026.015673][29937:29942] CHIP:TOO: WiFiBand: 0 + [1653475026.015694][29937:29942] CHIP:TOO: Rssi: -53 + [1653475026.015714][29937:29942] CHIP:TOO: } + [1653475026.015745][29937:29942] CHIP:TOO: [15]: { + [1653475026.015768][29937:29942] CHIP:TOO: Security: 8 + [1653475026.015789][29937:29942] CHIP:TOO: Ssid: 47524C50726976617465 + [1653475026.015811][29937:29942] CHIP:TOO: Bssid: C006C3F95ECE + [1653475026.015832][29937:29942] CHIP:TOO: Channel: 6 + [1653475026.015853][29937:29942] CHIP:TOO: WiFiBand: 0 + [1653475026.015874][29937:29942] CHIP:TOO: Rssi: -50 + [1653475026.015896][29937:29942] CHIP:TOO: } + [1653475026.015920][29937:29942] CHIP:TOO: } + [1653475026.016050][29937:29942] CHIP:DMG: ICR moving to [AwaitingDe] + [1653475026.016114][29937:29942] CHIP:EM: Sending Standalone Ack for MessageCounter:14684023 on exchange 35456i disabled: true - label: "TH sends ScanNetworks Command to the DUT with SSID argument value as 'Userwifi_ssid' and Breadcrumb argument value 1" + PICS: CNET.S.C00.Rsp && CNET.S.C01.Tx verification: | - ubuntu@ubuntu:~/sethu-apr1/connectedhomeip/examples/chip-tool/out/debug$ ./chip-tool networkcommissioning scan-networks 47524C507269766174655F455854 0 1 0 + ./chip-tool networkcommissioning scan-networks 1 0 --Ssid 47524C50726976617465 --Breadcrumb 1 - - [1649689140.896541][4322:4327] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0031 Command 0x0000_0001 - [1649689140.896856][4322:4327] CHIP:TOO: ScanNetworksResponse: { - [1649689140.896924][4322:4327] CHIP:TOO: networkingStatus: 0 - [1649689140.896981][4322:4327] CHIP:TOO: debugText: - [1649689140.897053][4322:4327] CHIP:TOO: wiFiScanResults: 1 entries - [1649689140.897271][4322:4327] CHIP:TOO: [1]: { - [1649689140.897331][4322:4327] CHIP:TOO: Security: 8 - [1649689140.897389][4322:4327] CHIP:TOO: Ssid: 47524C507269766174655F455854 - [1649689140.897447][4322:4327] CHIP:TOO: Bssid: E01CFCE4B236 - [1649689140.897502][4322:4327] CHIP:TOO: Channel: 1 - [1649689140.897557][4322:4327] CHIP:TOO: WiFiBand: 0 - [1649689140.897610][4322:4327] CHIP:TOO: Rssi: -15 - [1649689140.897667][4322:4327] CHIP:TOO: } - [1649689140.897728][4322:4327] CHIP:TOO: } - [1649689140.897836][4322:4327] CHIP:DMG: ICR moving to [AwaitingDe] - [1649689140.897942][4322:4327] CHIP:EM: Sending Standalone Ack for MessageCounter:10817619 on exchange 12440i + [1653475824.575642][30076:30081] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0031 Command 0x0000_0001 + [1653475824.575807][30076:30081] CHIP:TOO: ScanNetworksResponse: { + [1653475824.575888][30076:30081] CHIP:TOO: networkingStatus: 0 + [1653475824.575966][30076:30081] CHIP:TOO: wiFiScanResults: 1 entries + [1653475824.576108][30076:30081] CHIP:TOO: [1]: { + [1653475824.576168][30076:30081] CHIP:TOO: Security: 8 + [1653475824.576227][30076:30081] CHIP:TOO: Ssid: 47524C50726976617465 + [1653475824.576283][30076:30081] CHIP:TOO: Bssid: E01CFCE4B236 + [1653475824.576339][30076:30081] CHIP:TOO: Channel: 11 + [1653475824.576392][30076:30081] CHIP:TOO: WiFiBand: 0 + [1653475824.576445][30076:30081] CHIP:TOO: Rssi: -9 + [1653475824.576500][30076:30081] CHIP:TOO: } + [1653475824.576560][30076:30081] CHIP:TOO: } + [1653475824.576668][30076:30081] CHIP:DMG: ICR moving to [AwaitingDe] + [1653475824.576777][30076:30081] CHIP:EM: Sending Standalone Ack for MessageCounter:251134 on exchange 38023i disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_CNET_4_5.yaml b/src/app/tests/suites/certification/Test_TC_CNET_4_5.yaml index 9224040c109c7a..80ac4ba26d0bb7 100644 --- a/src/app/tests/suites/certification/Test_TC_CNET_4_5.yaml +++ b/src/app/tests/suites/certification/Test_TC_CNET_4_5.yaml @@ -28,35 +28,39 @@ tests: following argument: SSID argument value as 'Userwifi_ssid' Credentials argument value as 'Userwifi_Credentials' Breadcrumb argument value as 1" + PICS: CNET.S.C02.Rsp verification: | - ubuntu@TE-8:~/connectedhomeip/examples/chip-tool/out/debug$ ./chip-tool networkcommissioning add-or-update-wi-fi-network hex:47524C50726976617465 grlprivatewifi092010 1 0 + ./chip-tool networkcommissioning add-or-update-wi-fi-network hex:47524C50726976617465 matter123 1 0 - [1650363084.943413][42042:42047] CHIP:DMG: Received Command Response Status for Endpoint=0 Cluster=0x0000_0031 Command=0x0000_0002 Status=0x7e - [1650363084.943461][42042:42047] CHIP:TOO: Error: IM Error 0x0000057E: General error: 0x7e (UNSUPPORTED_ACCESS) - [1650363084.943513][42042:42047] CHIP:DMG: ICR moving to [AwaitingDe] - [1650363084.943584][42042:42047] CHIP:EM: Sending Standalone Ack for MessageCounter:13026244 on exchange 58732i + [1653476386.237761][30120:30125] CHIP:DMG: Received Command Response Status for Endpoint=0 Cluster=0x0000_0031 Command=0x0000_0002 Status=0x7e + [1653476386.237809][30120:30125] CHIP:TOO: Error: IM Error 0x0000057E: General error: 0x7e (UNSUPPORTED_ACCESS) + [1653476386.237862][30120:30125] CHIP:DMG: ICR moving to [AwaitingDe] + [1653476386.237936][30120:30125] CHIP:EM: Sending Standalone Ack for MessageCounter:80621 on exchange 31019i disabled: true - label: "TH sends RemoveNetwork command to the DUT with NetworkID argument value as 'Userwifi_ssid' and Breadcrumb argument value as 1" + PICS: CNET.S.C02.Rsp verification: | - ubuntu@TE-8:~/connectedhomeip/examples/chip-tool/out/debug$ ./chip-tool networkcommissioning remove-network hex:47524C50726976617465 1 0 + ./chip-tool networkcommissioning remove-network hex:47524C50726976617465 1 0 - [1650363090.882328][42048:42054] CHIP:DMG: Received Command Response Status for Endpoint=0 Cluster=0x0000_0031 Command=0x0000_0004 Status=0x7e - [1650363090.882371][42048:42054] CHIP:TOO: Error: IM Error 0x0000057E: General error: 0x7e (UNSUPPORTED_ACCESS) - [1650363090.882418][42048:42054] CHIP:DMG: ICR moving to [AwaitingDe] - [1650363090.882488][42048:42054] CHIP:EM: Sending Standalone Ack for MessageCounter:722842 on exchange 26352i + + [1653476465.080140][30133:30138] CHIP:DMG: Received Command Response Status for Endpoint=0 Cluster=0x0000_0031 Command=0x0000_0004 Status=0x7e + [1653476465.080178][30133:30138] CHIP:TOO: Error: IM Error 0x0000057E: General error: 0x7e (UNSUPPORTED_ACCESS) + [1653476465.080218][30133:30138] CHIP:DMG: ICR moving to [AwaitingDe] + [1653476465.080283][30133:30138] CHIP:EM: Sending Standalone Ack for MessageCounter:8000679 on exchange 31408i disabled: true - label: "TH sends ConnectNetwork command to the DUT with NetworkID argument value as 'Userwifi_ssid' and Breadcrumb argument value as 1" + PICS: CNET.S.C06.Rsp verification: | - ubuntu@TE-8:~/connectedhomeip/examples/chip-tool/out/debug$ ./chip-tool networkcommissioning connect-network hex:47524C50726976617465 1 0 + ./chip-tool networkcommissioning connect-network hex:47524C50726976617465 1 0 - [1650363096.818575][42055:42060] CHIP:DMG: Received Command Response Status for Endpoint=0 Cluster=0x0000_0031 Command=0x0000_0006 Status=0x7e - [1650363096.818618][42055:42060] CHIP:TOO: Error: IM Error 0x0000057E: General error: 0x7e (UNSUPPORTED_ACCESS) - [1650363096.818663][42055:42060] CHIP:DMG: ICR moving to [AwaitingDe] - [1650363096.818727][42055:42060] CHIP:EM: Sending Standalone Ack for MessageCounter:478391 on exchange 56118i + [1653476531.525782][30142:30147] CHIP:DMG: Received Command Response Status for Endpoint=0 Cluster=0x0000_0031 Command=0x0000_0006 Status=0x7e + [1653476531.525840][30142:30147] CHIP:TOO: Error: IM Error 0x0000057E: General error: 0x7e (UNSUPPORTED_ACCESS) + [1653476531.525948][30142:30147] CHIP:DMG: ICR moving to [AwaitingDe] + [1653476531.526067][30142:30147] CHIP:EM: Sending Standalone Ack for MessageCounter:9576225 on exchange 7511i disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_CNET_4_6.yaml b/src/app/tests/suites/certification/Test_TC_CNET_4_6.yaml index 86600ae438a2da..0adb87167e3388 100644 --- a/src/app/tests/suites/certification/Test_TC_CNET_4_6.yaml +++ b/src/app/tests/suites/certification/Test_TC_CNET_4_6.yaml @@ -27,6 +27,7 @@ tests: "TH sends the AddOrUpdateThreadNetwork command to the DUT with the following argument: OperationalDataset argument value as 'Userth_op' Breadcrumb argument value as 1" + PICS: CNET.S.C03.Rsp verification: | ubuntu@ubuntu:~/connectedhomeip/examples/chip-tool/out/debug$ ./chip-tool networkcommissioning add-or-update-thread-network 1232034768527434274 51 0 @@ -39,6 +40,7 @@ tests: - label: "TH sends RemoveNetwork command to the DUT with NetworkID argument value as 'Userth_op' and Breadcrumb argument value as 1" + PICS: CNET.S.C04.Rsp verification: | ubuntu@ubuntu:~/connectedhomeip/examples/chip-tool/out/debug$ ./chip-tool networkcommissioning remove-network 1232034768527434274 51 0 @@ -51,6 +53,7 @@ tests: - label: "TH sends ConnectNetwork command to the DUT with NetworkID argument value as 'Userth_op' and Breadcrumb argument value as 1" + PICS: CNET.S.C06.Rsp verification: | ubuntu@ubuntu:~/connectedhomeip/examples/chip-tool/out/debug$ ./chip-tool networkcommissioning connect-network 1232034768527434274 51 0 diff --git a/src/app/tests/suites/certification/Test_TC_CNET_4_7.yaml b/src/app/tests/suites/certification/Test_TC_CNET_4_7.yaml index 5865379d590bb7..ad65ead06a5dfa 100644 --- a/src/app/tests/suites/certification/Test_TC_CNET_4_7.yaml +++ b/src/app/tests/suites/certification/Test_TC_CNET_4_7.yaml @@ -23,64 +23,67 @@ config: endpoint: 0 tests: - - label: "Verify that DUT sends ArmFailSafeResponse command to the TH" + - label: "TH sends ArmFailSafe command to the DUT" verification: | - ubuntu@TE-8:~/connectedhomeip/examples/chip-tool/out/debug$ ./chip-tool generalcommissioning arm-fail-safe 60 0 1 0 + ./chip-tool generalcommissioning arm-fail-safe 60 0 1 0 - [1650371269.889246][42481:42486] CHIP:DMG: Received Command Response Data, Endpoint=0 Cluster=0x0000_0030 Command=0x0000_0001 - [1650371269.889331][42481:42486] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0030 Command 0x0000_0001 - [1650371269.889471][42481:42486] CHIP:TOO: ArmFailSafeResponse: { - [1650371269.889556][42481:42486] CHIP:TOO: errorCode: 0 - [1650371269.889607][42481:42486] CHIP:TOO: debugText: - [1650371269.889657][42481:42486] CHIP:TOO: } - [1650371269.889733][42481:42486] CHIP:DMG: ICR moving to [AwaitingDe] - [1650371269.889821][42481:42486] CHIP:EM: Sending Standalone Ack for MessageCounter:2428907 on exchange 60841i + [1653477320.523480][30238:30243] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0030 Command 0x0000_0001 + [1653477320.523608][30238:30243] CHIP:TOO: ArmFailSafeResponse: { + [1653477320.523675][30238:30243] CHIP:TOO: errorCode: 0 + [1653477320.523724][30238:30243] CHIP:TOO: debugText: + [1653477320.523773][30238:30243] CHIP:TOO: } + [1653477320.523848][30238:30243] CHIP:DMG: ICR moving to [AwaitingDe] + [1653477320.523942][30238:30243] CHIP:EM: Sending Standalone Ack for MessageCounter:1909301 on exchange 3085i disabled: true - label: "TH sends AddOrUpdateWiFiNetwork command to the DUT with SSID argument value as 'Userwifi_ssid', Credentials argument value as 'Userwifi_Credentials' and Breadcrumb argument value as 1" + PICS: CNET.S.C02.Rsp && CNET.S.C05.Tx verification: | - ubuntu@TE-8:~/connectedhomeip/examples/chip-tool/out/debug$ ./chip-tool networkcommissioning add-or-update-wi-fi-network hex:47524C50726976617465 grlprivatewifi092010 1 0 + ./chip-tool networkcommissioning add-or-update-wi-fi-network hex:63686970736574757033 matter123 1 0 - [1650371276.622265][42488:42493] CHIP:DMG: Received Command Response Data, Endpoint=0 Cluster=0x0000_0031 Command=0x0000_0005 - [1650371276.622332][42488:42493] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0031 Command 0x0000_0005 - [1650371276.622445][42488:42493] CHIP:TOO: NetworkConfigResponse: { - [1650371276.622515][42488:42493] CHIP:TOO: networkingStatus: 0 - [1650371276.622557][42488:42493] CHIP:TOO: networkIndex: 0 - [1650371276.622595][42488:42493] CHIP:TOO: } - [1650371276.622655][42488:42493] CHIP:DMG: ICR moving to [AwaitingDe] - [1650371276.622728][42488:42493] CHIP:EM: Sending Standalone Ack for MessageCounter:9593846 on exchange 33754i + 1653477413.528761][30261:30266] CHIP:DMG: Received Command Response Data, Endpoint=0 Cluster=0x0000_0031 Command=0x0000_0005 + [1653477413.528863][30261:30266] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0031 Command 0x0000_0005 + [1653477413.529035][30261:30266] CHIP:TOO: NetworkConfigResponse: { + [1653477413.529114][30261:30266] CHIP:TOO: networkingStatus: 0 + [1653477413.529175][30261:30266] CHIP:TOO: networkIndex: 0 + [1653477413.529231][30261:30266] CHIP:TOO: } + [1653477413.529319][30261:30266] CHIP:DMG: ICR moving to [AwaitingDe] + [1653477413.529433][30261:30266] CHIP:EM: Sending Standalone Ack for MessageCounter:5895144 on exchange 38910i disabled: true - label: "TH reads MaxNetworks attribute from the DUT" + PICS: CNET.S.A0000 verification: | - ubuntu@TE-8:~/connectedhomeip/examples/chip-tool/out/debug$ ./chip-tool networkcommissioning read max-networks 1 0 + ./chip-tool networkcommissioning read max-networks 1 0 - [1650371283.620738][42495:42500] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0031 Attribute 0x0000_0000 DataVersion: 3182776035 - [1650371283.620847][42495:42500] CHIP:TOO: MaxNetworks: 1 - [1650371283.620939][42495:42500] CHIP:EM: Sending Standalone Ack for MessageCounter:8017442 on exchange 15049i + [1653477467.285273][30270:30275] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0031 Attribute 0x0000_0000 DataVersion: 1600858167 + [1653477467.285409][30270:30275] CHIP:TOO: MaxNetworks: 1 + [1653477467.285585][30270:30275] CHIP:EM: Sending Standalone Ack for MessageCounter:2688725 on exchange 43816i disabled: true - label: "TH reads LastNetworkingStatus attribute from the DUT" + PICS: CNET.S.A0005 verification: | - ubuntu@TE-8:~/connectedhomeip/examples/chip-tool/out/debug$ ./chip-tool networkcommissioning read last-networking-status 1 0 + ./chip-tool networkcommissioning read last-networking-status 1 0 - [1650371290.738180][42502:42507] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0031 Attribute 0x0000_0005 DataVersion: 3182776035 - [1650371290.738261][42502:42507] CHIP:TOO: LastNetworkingStatus: 0 - [1650371290.738335][42502:42507] CHIP:EM: Sending Standalone Ack for MessageCounter:4381870 on exchange 56044i + [1653477574.502812][30306:30311] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0031 Attribute 0x0000_0005 DataVersion: 1600858167 + [1653477574.502935][30306:30311] CHIP:TOO: LastNetworkingStatus: 0 + [1653477574.503104][30306:30311] CHIP:EM: Sending Standalone Ack for MessageCounter:12420113 on exchange 5762i disabled: true - label: "TH reads Networks attribute from the DUT" + PICS: CNET.S.A0001 verification: | - ubuntu@TE-8:~/connectedhomeip/examples/chip-tool/out/debug$ ./chip-tool networkcommissioning read networks 1 0 + ./chip-tool networkcommissioning read networks 1 0 - [1650371297.495233][42508:42513] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0031 Attribute 0x0000_0001 DataVersion: 3182776035 - [1650371297.495328][42508:42513] CHIP:TOO: Networks: 1 entries - [1650371297.495383][42508:42513] CHIP:TOO: [1]: { - [1650371297.495415][42508:42513] CHIP:TOO: NetworkID: 47524C50726976617465 - [1650371297.495444][42508:42513] CHIP:TOO: Connected: FALSE - [1650371297.495472][42508:42513] CHIP:TOO: } - [1650371297.495576][42508:42513] CHIP:EM: Sending Standalone Ack for MessageCounter:66030 on exchange 3970i + [1653477517.257488][30295:30300] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0031 Attribute 0x0000_0001 DataVersion: 1600858167 + [1653477517.257649][30295:30300] CHIP:TOO: Networks: 1 entries + [1653477517.257760][30295:30300] CHIP:TOO: [1]: { + [1653477517.257824][30295:30300] CHIP:TOO: NetworkID: 47524C50726976617465 + [1653477517.257882][30295:30300] CHIP:TOO: Connected: TRUE + [1653477517.257940][30295:30300] CHIP:TOO: } + [1653477517.258168][30295:30300] CHIP:EM: Sending Standalone Ack for MessageCounter:13806793 on exchange 56068i disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_CNET_4_8.yaml b/src/app/tests/suites/certification/Test_TC_CNET_4_8.yaml index f74862a644b580..49fe9d9663208b 100644 --- a/src/app/tests/suites/certification/Test_TC_CNET_4_8.yaml +++ b/src/app/tests/suites/certification/Test_TC_CNET_4_8.yaml @@ -43,6 +43,7 @@ tests: "During the commissioning process, TH sends AddOrUpdateThreadNetwork command to the DUT with OperationalDataset argument value as 'Userth_op' and Breadcrumb argument value as 1" + PICS: CNET.S.C03.Rsp && CNET.S.C05.Tx verification: | Executed during the commissioning ubuntu@ubuntu:~/cntl/connectedhomeip/examples/chip-tool/out/debug$ ./chip-tool pairing ble-thread 62 hex:0e080000000000010000000300001035060004001fffe0020801191008990820220708fd067fa7635e1066051009116253045736078899aabbccddeeff030e4f70656e686b72657069446f6e6f01021234041029282c49503302ea4536648015d1ff180c0402a0fff8 20202021 3840 @@ -62,6 +63,7 @@ tests: - label: "After commissioning completes, TH reads MaxNetworks attribute from the DUT" + PICS: CNET.S.A0000 verification: | ubuntu@ubuntu:~/connectedhomeip/examples/chip-tool/out/debug$ ./chip-tool networkcommissioning read max-networks 162 0 @@ -75,6 +77,7 @@ tests: disabled: true - label: "TH reads LastNetworkingStatus attribute from the DUT" + PICS: CNET.S.A0005 verification: | ./chip-tool networkcommissioning read last-networking-status 51 0 @@ -84,6 +87,7 @@ tests: disabled: true - label: "TH reads Networks attribute from the DUT" + PICS: CNET.S.A0001 verification: | ubuntu@ubuntu:~/connectedhomeip/examples/chip-tool/out/debug$ ./chip-tool networkcommissioning read networks 162 0 diff --git a/src/app/tests/suites/certification/Test_TC_CNET_4_9.yaml b/src/app/tests/suites/certification/Test_TC_CNET_4_9.yaml index 0b333824a0f316..7d651219595fbb 100644 --- a/src/app/tests/suites/certification/Test_TC_CNET_4_9.yaml +++ b/src/app/tests/suites/certification/Test_TC_CNET_4_9.yaml @@ -25,77 +25,80 @@ config: tests: - label: "TH sends ArmFailSafe command to the DUT" verification: | - ubuntu@TE-8:~/connectedhomeip/examples/chip-tool/out/debug$ ./chip-tool generalcommissioning arm-fail-safe 60 0 1 0 + ./chip-tool generalcommissioning arm-fail-safe 60 0 1 0 - [1650373284.201813][42676:42681] CHIP:DMG: Received Command Response Data, Endpoint=0 Cluster=0x0000_0030 Command=0x0000_0001 - [1650373284.201880][42676:42681] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0030 Command 0x0000_0001 - [1650373284.201989][42676:42681] CHIP:TOO: ArmFailSafeResponse: { - [1650373284.202055][42676:42681] CHIP:TOO: errorCode: 0 - [1650373284.202094][42676:42681] CHIP:TOO: debugText: - [1650373284.202131][42676:42681] CHIP:TOO: } - [1650373284.202190][42676:42681] CHIP:DMG: ICR moving to [AwaitingDe] + [1653478311.640549][30368:30373] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0030 Command 0x0000_0001 + [1653478311.640646][30368:30373] CHIP:TOO: ArmFailSafeResponse: { + [1653478311.640696][30368:30373] CHIP:TOO: errorCode: 0 + [1653478311.640729][30368:30373] CHIP:TOO: debugText: + [1653478311.640763][30368:30373] CHIP:TOO: } + [1653478311.640821][30368:30373] CHIP:DMG: ICR moving to [AwaitingDe] + [1653478311.640901][30368:30373] CHIP:EM: Sending Standalone Ack for MessageCounter:8633037 on exchange 20698i disabled: true - label: "TH1 sends AddOrUpdateWiFiNetwork command to the DUT with SSID argument value as 'Userwifi_ssid', Credentials argument value as 'Userwifi_Credentials' and Breadcrumb argument value as 1" + PICS: CNET.S.C02.Rsp && CNET.S.C05.Tx verification: | - ubuntu@TE-8:~/connectedhomeip/examples/chip-tool/out/debug$ ./chip-tool networkcommissioning add-or-update-wi-fi-network hex:47524C50726976617465 grlprivatewifi092010 1 0 + ./chip-tool networkcommissioning add-or-update-wi-fi-network hex:47524C50726976617465 matter123 1 0 - [1650373290.002126][42685:42690] CHIP:DMG: Received Command Response Data, Endpoint=0 Cluster=0x0000_0031 Command=0x0000_0005 - [1650373290.002187][42685:42690] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0031 Command 0x0000_0005 - [1650373290.002286][42685:42690] CHIP:TOO: NetworkConfigResponse: { - [1650373290.002351][42685:42690] CHIP:TOO: networkingStatus: 0 - [1650373290.002388][42685:42690] CHIP:TOO: networkIndex: 0 - [1650373290.002422][42685:42690] CHIP:TOO: } - [1650373290.002477][42685:42690] CHIP:DMG: ICR moving to [AwaitingDe] - [1650373290.002541][42685:42690] CHIP:EM: Sending Standalone Ack for MessageCounter:11932100 on exchange 5790i + [1653478317.416576][30375:30380] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0031 Command 0x0000_0005 + [1653478317.416654][30375:30380] CHIP:TOO: NetworkConfigResponse: { + [1653478317.416693][30375:30380] CHIP:TOO: networkingStatus: 0 + [1653478317.416716][30375:30380] CHIP:TOO: networkIndex: 0 + [1653478317.416740][30375:30380] CHIP:TOO: } + [1653478317.416778][30375:30380] CHIP:DMG: ICR moving to [AwaitingDe] + [1653478317.416840][30375:30380] CHIP:EM: Sending Standalone Ack for MessageCounter:435021 on exchange 13893i disabled: true - label: "TH1 reads Networks attribute from the DUT" + PICS: CNET.S.A0001 verification: | - ubuntu@TE-8:~/connectedhomeip/examples/chip-tool/out/debug$ ./chip-tool networkcommissioning read networks 1 0 + ./chip-tool networkcommissioning read networks 1 0 - [1650373295.460938][42691:42696] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0031 Attribute 0x0000_0001 DataVersion: 3182776035 - [1650373295.461048][42691:42696] CHIP:TOO: Networks: 1 entries - [1650373295.461114][42691:42696] CHIP:TOO: [1]: { - [1650373295.461153][42691:42696] CHIP:TOO: NetworkID: 47524C50726976617465 - [1650373295.461187][42691:42696] CHIP:TOO: Connected: FALSE - [1650373295.461222][42691:42696] CHIP:TOO: } - [1650373295.461343][42691:42696] CHIP:EM: Sending Standalone Ack for MessageCounter:3408941 on exchange 18040i + [1653478322.228998][30381:30386] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0031 Attribute 0x0000_0001 DataVersion: 1600858167 + [1653478322.229108][30381:30386] CHIP:TOO: Networks: 1 entries + [1653478322.229185][30381:30386] CHIP:TOO: [1]: { + [1653478322.229228][30381:30386] CHIP:TOO: NetworkID: 47524C50726976617465 + [1653478322.229266][30381:30386] CHIP:TOO: Connected: TRUE + [1653478322.229303][30381:30386] CHIP:TOO: } + [1653478322.229445][30381:30386] CHIP:EM: Sending Standalone Ack for MessageCounter:3962835 on exchange 61433i disabled: true - label: "TH sends RemoveNetwork Command to the DUT with NetworkID argument value as 'Userwifi_ssid' and Breadcrumb argument value as 1" + PICS: CNET.S.C04.Rsp && CNET.S.C05.Tx verification: | - ubuntu@TE-8:~/connectedhomeip/examples/chip-tool/out/debug$ ./chip-tool networkcommissioning remove-network hex:47524C50726976617465 1 0 + ./chip-tool networkcommissioning remove-network hex:47524C50726976617465 1 0 - [1650373300.704806][42697:42702] CHIP:DMG: Received Command Response Data, Endpoint=0 Cluster=0x0000_0031 Command=0x0000_0005 - [1650373300.704864][42697:42702] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0031 Command 0x0000_0005 - [1650373300.704957][42697:42702] CHIP:TOO: NetworkConfigResponse: { - [1650373300.705012][42697:42702] CHIP:TOO: networkingStatus: 0 - [1650373300.705044][42697:42702] CHIP:TOO: networkIndex: 0 - [1650373300.705073][42697:42702] CHIP:TOO: } - [1650373300.705120][42697:42702] CHIP:DMG: ICR moving to [AwaitingDe] - [1650373300.705181][42697:42702] CHIP:EM: Sending Standalone Ack for MessageCounter:9924068 on exchange 3557i + + [1653478327.351092][30388:30393] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0031 Command 0x0000_0005 + [1653478327.351200][30388:30393] CHIP:TOO: NetworkConfigResponse: { + [1653478327.351252][30388:30393] CHIP:TOO: networkingStatus: 0 + [1653478327.351288][30388:30393] CHIP:TOO: networkIndex: 0 + [1653478327.351320][30388:30393] CHIP:TOO: } + [1653478327.351373][30388:30393] CHIP:DMG: ICR moving to [AwaitingDe] + [1653478327.351449][30388:30393] CHIP:EM: Sending Standalone Ack for MessageCounter:14887098 on exchange 8676i disabled: true - label: "TH1 reads Networks attribute from the DUT" + PICS: CNET.S.A0001 verification: | - ubuntu@TE-8:~/connectedhomeip/examples/chip-tool/out/debug$ ./chip-tool networkcommissioning read networks 1 0 - - [1650373307.419826][42703:42708] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0031 Attribute 0x0000_0001 DataVersion: 3182776035 - [1650373307.419952][42703:42708] CHIP:TOO: Networks: 0 entries - [1650373307.420120][42703:42708] CHIP:EM: Sending Standalone Ack for MessageCounter:11050013 on exchange 13049i + ./chip-tool networkcommissioning read networks 1 0 + [1653478331.979300][30395:30400] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0031 Attribute 0x0000_0001 DataVersion: 1600858167 + [1653478331.979380][30395:30400] CHIP:TOO: Networks: 0 entries + [1653478331.979496][30395:30400] CHIP:EM: Sending Standalone Ack for MessageCounter:609449 on exchange 40264i disabled: true - label: "TH reads LastNetworkingStatus attribute from the DUT" + PICS: CNET.S.A0005 verification: | - ubuntu@TE-8:~/connectedhomeip/examples/chip-tool/out/debug$ ./chip-tool networkcommissioning read last-networking-status 1 0 + ./chip-tool networkcommissioning read last-networking-status 1 0 - [1650373314.295677][42709:42714] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0031 Attribute 0x0000_0005 DataVersion: 3182776035 - [1650373314.295780][42709:42714] CHIP:TOO: LastNetworkingStatus: 0 - [1650373314.295863][42709:42714] CHIP:EM: Sending Standalone Ack for MessageCounter:7583587 on exchange 57489i + [1653478850.425096][30420:30425] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0031 Attribute 0x0000_0005 DataVersion: 1600858167 + [1653478850.425170][30420:30425] CHIP:TOO: LastNetworkingStatus: 0 + [1653478850.425269][30420:30425] CHIP:EM: Sending Standalone Ack for MessageCounter:8275942 on exchange 13394i disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_DIAG_TH_NW_2_1.yaml b/src/app/tests/suites/certification/Test_TC_DIAG_TH_NW_2_1.yaml index 5508115ca58568..7600e0936c20e7 100644 --- a/src/app/tests/suites/certification/Test_TC_DIAG_TH_NW_2_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_DIAG_TH_NW_2_1.yaml @@ -28,26 +28,16 @@ tests: - name: "nodeId" value: nodeId - - label: "read configured Channel attribute value" - command: "readAttribute" - attribute: "channel" - response: - value: null - - - label: "Validate constraints of attribute: Channel" + - label: "TH reads Channel attribute value from DUT" + PICS: DGTHREAD.S.A0001 command: "readAttribute" attribute: "channel" response: constraints: type: uint16 - - label: "read RoutingRole atribute from DUT" - command: "readAttribute" - attribute: "RoutingRole" - response: - value: null - - - label: "Validate constraints of attribute: RoutingRole" + - label: "TH reads RoutingRole attribute value from DUT" + PICS: DGTHREAD.S.A0002 command: "readAttribute" attribute: "RoutingRole" response: @@ -56,14 +46,16 @@ tests: minValue: 0 maxValue: 6 - - label: "read NetworkName attribute from DUT" + - label: "TH reads Network Name attribute value from DUT" + PICS: DGTHREAD.S.A0003 command: "readAttribute" attribute: "NetworkName" response: - value: null + constraints: + type: string - label: - "read NetworkName attribute from DUT and verify response value, If + "Read NetworkName attribute from DUT and verify response value, If value is NULL then verify that RoutingRole is set to 1" verification: | ./chip-tool threadnetworkdiagnostics read network-name 476 0 @@ -76,7 +68,7 @@ tests: [1649823714.281135][3183:3188] CHIP:TOO: NetworkName: OpenThreaddDemo cluster: "LogCommands" command: "UserPrompt" - PICS: PICS_USER_PROMPT + PICS: PICS_USER_PROMPT && DGTHREAD.S.A0002 arguments: values: - name: "message" @@ -84,7 +76,8 @@ tests: - name: "expectedValue" value: "y" - - label: "read PanId attribute from DUT" + - label: "TH reads PanId attribute value from DUT" + PICS: DGTHREAD.S.A0004 command: "readAttribute" attribute: "PanId" response: @@ -92,7 +85,7 @@ tests: type: uint16 - label: - "read PanId attribute from DUT and verify response value, If value is + "Read PanId attribute from DUT and verify response value, If value is NULL then verify that RoutingRole is set to 1" verification: | ./chip-tool threadnetworkdiagnostics read pan-id 476 0 @@ -104,7 +97,7 @@ tests: [1649824713.095867][3292:3297] CHIP:TOO: PanId: 4660 cluster: "LogCommands" command: "UserPrompt" - PICS: PICS_USER_PROMPT + PICS: PICS_USER_PROMPT && DGTHREAD.S.A0002 arguments: values: - name: "message" @@ -112,7 +105,8 @@ tests: - name: "expectedValue" value: "y" - - label: "Validate constraints of attribute: ExtendedPanId" + - label: "TH reads ExtendedPanId attribute value from DUT" + PICS: DGTHREAD.S.A0005 command: "readAttribute" attribute: "ExtendedPanId" response: @@ -120,7 +114,7 @@ tests: type: uint64 - label: - "read ExtendedPanId attribute from DUT and verify response value, If + "Read ExtendedPanId attribute from DUT and verify response value, If value is NULL then verify that RoutingRole is set to 1" verification: | ./chip-tool threadnetworkdiagnostics read extended-pan-id 476 0 @@ -132,7 +126,7 @@ tests: [1649824746.371387][3300:3305] CHIP:TOO: ExtendedPanId: 1229782942828601890 cluster: "LogCommands" command: "UserPrompt" - PICS: PICS_USER_PROMPT + PICS: PICS_USER_PROMPT && DGTHREAD.S.A0002 arguments: values: - name: "message" @@ -142,7 +136,7 @@ tests: #issue #18144 - label: - "read MeshLocalPrefix attribute from DUT and verify response value, If + "Read MeshLocalPrefix attribute from DUT and verify response value, If value is NULL then verify that RoutingRole is set to 1" verification: | ./chip-tool threadnetworkdiagnostics read mesh-local-prefix 476 0 @@ -154,7 +148,7 @@ tests: [1649824777.962509][3306:3311] CHIP:TOO: MeshLocalPrefix: 40FD7B3042ED5F42CF cluster: "LogCommands" command: "UserPrompt" - PICS: PICS_USER_PROMPT + PICS: PICS_USER_PROMPT && DGTHREAD.S.A0002 arguments: values: - name: "message" @@ -162,7 +156,8 @@ tests: - name: "expectedValue" value: "y" - - label: "Validate constraints of attribute: OverrunCount" + - label: "TH reads OverrunCount attribute value from DUT" + PICS: DGTHREAD.S.A0007 command: "readAttribute" attribute: "OverrunCount" response: @@ -182,7 +177,7 @@ tests: [1649824808.715038][3314:3319] CHIP:TOO: OverrunCount: 0 cluster: "LogCommands" command: "UserPrompt" - PICS: PICS_USER_PROMPT + PICS: PICS_USER_PROMPT && DGTHREAD.S.A0007 arguments: values: - name: "message" @@ -204,7 +199,7 @@ tests: [1649824841.786317][3322:3327] CHIP:TOO: NeighborTableList: 0 entries cluster: "LogCommands" command: "UserPrompt" - PICS: PICS_USER_PROMPT + PICS: PICS_USER_PROMPT && DGTHREAD.S.A0008 arguments: values: - name: "message" @@ -213,7 +208,7 @@ tests: value: "y" - label: - "read RouteTableList attribute from DUT and Verify that the + "Read RouteTableList attribute from DUT and Verify that the RouteTableList List size is Zero or greater and verify each node types" verification: | ./chip-tool threadnetworkdiagnostics read route-table-list 476 0 @@ -238,7 +233,7 @@ tests: [1649824896.845829][3329:3334] CHIP:EM: Sending Standalone Ack for MessageCounter:14412289 on exchange 3041i cluster: "LogCommands" command: "UserPrompt" - PICS: PICS_USER_PROMPT + PICS: PICS_USER_PROMPT && DGTHREAD.S.A0009 arguments: values: - name: "message" @@ -246,77 +241,88 @@ tests: - name: "expectedValue" value: "y" - - label: "Validate constraints of attribute: PartitionId" + - label: "TH reads PartitionId attribute value from DUT" + PICS: DGTHREAD.S.A000a command: "readAttribute" attribute: "PartitionId" response: constraints: type: uint32 - - label: "Validate constraints of attribute: weighting" + - label: "TH reads Weighting attribute value from DUT" + PICS: DGTHREAD.S.A000b command: "readAttribute" attribute: "weighting" response: constraints: type: uint8 - - label: "Validate constraints of attribute: DataVersion" + - label: "TH reads DataVersion attribute value from DUT" + PICS: DGTHREAD.S.A000c command: "readAttribute" attribute: "DataVersion" response: constraints: type: uint8 - - label: "Validate constraints of attribute: StableDataVersion" + - label: "TH reads StableDataVersion attribute value from DUT" + PICS: DGTHREAD.S.A000d command: "readAttribute" attribute: "StableDataVersion" response: constraints: type: uint8 - - label: "Validate constraints of attribute: LeaderRouterId" + - label: "TH reads LeaderRouterId attribute value from DUT" + PICS: DGTHREAD.S.A000e command: "readAttribute" attribute: "LeaderRouterId" response: constraints: type: uint8 - - label: "Validate constraints of attribute: DetachedRoleCount" + - label: "TH reads DetachedRoleCount attribute value from DUT" + PICS: DGTHREAD.S.A000f command: "readAttribute" attribute: "DetachedRoleCount" response: constraints: type: uint16 - - label: "Validate constraints of attribute: ChildRoleCount" + - label: "TH reads ChildRoleCount attribute value from DUT" + PICS: DGTHREAD.S.A0010 command: "readAttribute" attribute: "ChildRoleCount" response: constraints: type: uint16 - - label: "Validate constraints of attribute: RouterRoleCount" + - label: "TH reads RouterRoleCount attribute value from DUT" + PICS: DGTHREAD.S.A0011 command: "readAttribute" attribute: "RouterRoleCount" response: constraints: type: uint16 - - label: "Validate constraints of attribute: LeaderRoleCount" + - label: "TH reads LeaderRoleCount attribute value from DUT" + PICS: DGTHREAD.S.A0012 command: "readAttribute" attribute: "LeaderRoleCount" response: constraints: type: uint16 - - label: "Validate constraints of attribute: AttachAttemptCount" + - label: "TH reads AttachAttemptCount attribute value from DUT" + PICS: DGTHREAD.S.A0013 command: "readAttribute" attribute: "AttachAttemptCount" response: constraints: type: uint16 - - label: "Validate constraints of attribute: PartitionIdChangeCount" + - label: "TH reads PartitionIdChangeCount attribute value from DUT" + PICS: DGTHREAD.S.A0014 command: "readAttribute" attribute: "PartitionIdChangeCount" response: @@ -324,259 +330,40 @@ tests: type: uint16 - label: - "Validate constraints of attribute: BetterPartitionAttachAttemptCount" + "TH reads BetterPartitionAttachAttemptCount attribute value from DUT" + PICS: DGTHREAD.S.A0015 command: "readAttribute" attribute: "BetterPartitionAttachAttemptCount" response: constraints: type: uint16 - - label: "Validate constraints of attribute: ParentChangeCount" + - label: "TH reads ParentChangeCount attribute value from DUT" + PICS: DGTHREAD.S.A0016 command: "readAttribute" attribute: "ParentChangeCount" response: constraints: type: uint16 - - label: "Validate constraints of attribute: TxTotalCount" - command: "readAttribute" - attribute: "TxTotalCount" - response: - constraints: - type: uint32 - - - label: "Validate constraints of attribute: TxUnicastCount" - command: "readAttribute" - attribute: "TxUnicastCount" - response: - constraints: - type: uint32 - - - label: "Validate constraints of attribute: TxBroadcastCount" - command: "readAttribute" - attribute: "TxBroadcastCount" - response: - constraints: - type: uint32 - - - label: "Validate constraints of attribute: TxNoAckRequestedCount" - command: "readAttribute" - attribute: "TxNoAckRequestedCount" - response: - constraints: - type: uint32 - - - label: "Validate constraints of attribute: TxDataCount" - command: "readAttribute" - attribute: "TxDataCount" - response: - constraints: - type: uint32 - - - label: "Validate constraints of attribute: TxDataPollCount" - command: "readAttribute" - attribute: "TxDataPollCount" - response: - constraints: - type: uint32 - - - label: "Validate constraints of attribute: TxBeaconCount" - command: "readAttribute" - attribute: "TxBeaconCount" - response: - constraints: - type: uint32 - - - label: "Validate constraints of attribute: TxBeaconRequestCount" - command: "readAttribute" - attribute: "TxBeaconRequestCount" - response: - constraints: - type: uint32 - - - label: "Validate constraints of attribute: TxOtherCount" - command: "readAttribute" - attribute: "TxOtherCount" - response: - constraints: - type: uint32 - - - label: "Validate constraints of attribute: TxRetryCount" - command: "readAttribute" - attribute: "TxRetryCount" - response: - constraints: - type: uint32 - - - label: "Validate constraints of attribute: TxDirectMaxRetryExpiryCount" - command: "readAttribute" - attribute: "TxDirectMaxRetryExpiryCount" - response: - constraints: - type: uint32 - - - label: "Validate constraints of attribute: TxIndirectMaxRetryExpiryCount" - command: "readAttribute" - attribute: "TxIndirectMaxRetryExpiryCount" - response: - constraints: - type: uint32 - - - label: "Validate constraints of attribute: TxErrCcaCount" - command: "readAttribute" - attribute: "TxErrCcaCount" - response: - constraints: - type: uint32 - - - label: "Validate constraints of attribute: TxErrAbortCount" - command: "readAttribute" - attribute: "TxErrAbortCount" - response: - constraints: - type: uint32 - - - label: "Validate constraints of attribute: TxErrBusyChannelCount" - command: "readAttribute" - attribute: "TxErrBusyChannelCount" - response: - constraints: - type: uint32 - - - label: "Validate constraints of attribute: RxTotalCount" - command: "readAttribute" - attribute: "RxTotalCount" - response: - constraints: - type: uint32 - - - label: "Validate constraints of attribute: RxUnicastCount" - command: "readAttribute" - attribute: "RxUnicastCount" - response: - constraints: - type: uint32 - - - label: "Validate constraints of attribute: RxBroadcastCount" - command: "readAttribute" - attribute: "RxBroadcastCount" - response: - constraints: - type: uint32 - - - label: "Validate constraints of attribute: RxDataCount" - command: "readAttribute" - attribute: "RxDataCount" - response: - constraints: - type: uint32 - - - label: "Validate constraints of attribute: RxDataPollCount" - command: "readAttribute" - attribute: "RxDataPollCount" - response: - constraints: - type: uint32 - - - label: "Validate constraints of attribute: RxBeaconCount" - command: "readAttribute" - attribute: "RxBeaconCount" - response: - constraints: - type: uint32 - - - label: "Validate constraints of attribute: RxBeaconRequestCount" - command: "readAttribute" - attribute: "RxBeaconRequestCount" - response: - constraints: - type: uint32 - - - label: "Validate constraints of attribute: RxOtherCount" - command: "readAttribute" - attribute: "RxOtherCount" - response: - constraints: - type: uint32 - - - label: "Validate constraints of attribute: RxAddressFilteredCount" - command: "readAttribute" - attribute: "RxAddressFilteredCount" - response: - constraints: - type: uint32 - - - label: "Validate constraints of attribute: RxDestAddrFilteredCount" - command: "readAttribute" - attribute: "RxDestAddrFilteredCount" - response: - constraints: - type: uint32 - - - label: "Validate constraints of attribute: RxDuplicatedCount" - command: "readAttribute" - attribute: "RxDuplicatedCount" - response: - constraints: - type: uint32 - - - label: "Validate constraints of attribute: RxErrNoFrameCount" - command: "readAttribute" - attribute: "RxErrNoFrameCount" - response: - constraints: - type: uint32 - - - label: "Validate constraints of attribute: RxErrUnknownNeighborCount" - command: "readAttribute" - attribute: "RxErrUnknownNeighborCount" - response: - constraints: - type: uint32 - - - label: "Validate constraints of attribute: RxErrInvalidSrcAddrCount" - command: "readAttribute" - attribute: "RxErrInvalidSrcAddrCount" - response: - constraints: - type: uint32 - - - label: "Validate constraints of attribute: RxErrInvalidSrcAddrCount" - command: "readAttribute" - attribute: "RxErrSecCount" - response: - constraints: - type: uint32 - - - label: "Validate constraints of attribute: RxErrFcsCount" - command: "readAttribute" - attribute: "RxErrFcsCount" - response: - constraints: - type: uint32 - - - label: "Validate constraints of attribute: RxErrOtherCount" - command: "readAttribute" - attribute: "RxErrOtherCount" - response: - constraints: - type: uint32 - - - label: "Validate constraints of attribute: ActiveTimestamp" + - label: "TH reads ActiveTimestamp attribute value from DUT" + PICS: DGTHREAD.S.A0039 command: "readAttribute" attribute: "ActiveTimestamp" response: constraints: type: uint64 - - label: "Validate constraints of attribute: PendingTimestamp" + - label: "TH reads PendingTimestamp attribute value from DUT" + PICS: DGTHREAD.S.A003a command: "readAttribute" attribute: "PendingTimestamp" response: constraints: type: uint64 - - label: "Validate constraints of attribute: delay" + - label: "TH reads Delay attribute value from DUT" + PICS: DGTHREAD.S.A003b command: "readAttribute" attribute: "delay" response: @@ -585,7 +372,7 @@ tests: #issue #14097 - label: - "read SecurityPolicy struct attribute from DUT and Verify the each + "Read SecurityPolicy struct attribute from DUT and Verify the each field" verification: | ./chip-tool threadnetworkdiagnostics read security-policy 476 0 @@ -601,7 +388,7 @@ tests: [1649825860.867921][3472:3477] CHIP:TOO: } cluster: "LogCommands" command: "UserPrompt" - PICS: PICS_USER_PROMPT + PICS: PICS_USER_PROMPT && DGTHREAD.S.A003c arguments: values: - name: "message" @@ -609,7 +396,8 @@ tests: - name: "expectedValue" value: "y" - - label: "Validate constraints of attribute: ChannelPage0Mask" + - label: "TH reads ChannelPage0Mask attribute value from DUT" + PICS: DGTHREAD.S.A003d command: "readAttribute" attribute: "ChannelMask" response: @@ -618,7 +406,7 @@ tests: #issue #14097 - label: - "read OperationalDatasetComponents struct attribute from DUT and + "Read OperationalDatasetComponents struct attribute from DUT and Verify the each field" verification: | ./chip-tool threadnetworkdiagnostics read security-policy 476 0 @@ -634,7 +422,7 @@ tests: [1649825860.867921][3472:3477] CHIP:TOO: } cluster: "LogCommands" command: "UserPrompt" - PICS: PICS_USER_PROMPT + PICS: PICS_USER_PROMPT && DGTHREAD.S.A003e arguments: values: - name: "message" @@ -643,8 +431,8 @@ tests: value: "y" #issue #18145 - - label: "read ActiveNetworkFaults attribute value" - PICS: PICS_SKIP_SAMPLE_APP + - label: "TH reads ActiveNetworkFaults attribute value from DUT" + PICS: DGTHREAD.S.A003f command: "readAttribute" attribute: "ActiveNetworkFaultsList" response: diff --git a/src/app/tests/suites/certification/Test_TC_DIAG_TH_NW_2_2.yaml b/src/app/tests/suites/certification/Test_TC_DIAG_TH_NW_2_2.yaml index 0863ac1d33c6c3..7dcee8e39f0b30 100644 --- a/src/app/tests/suites/certification/Test_TC_DIAG_TH_NW_2_2.yaml +++ b/src/app/tests/suites/certification/Test_TC_DIAG_TH_NW_2_2.yaml @@ -29,6 +29,7 @@ tests: value: nodeId - label: "TH reads TxTotalCount attribute value from DUT" + PICS: DGTHREAD.S.A0017 command: "readAttribute" attribute: "TxTotalCount" response: @@ -36,6 +37,7 @@ tests: type: uint32 - label: "TH reads TxUnicastCount attribute value from DUT" + PICS: DGTHREAD.S.A0018 command: "readAttribute" attribute: "TxUnicastCount" response: @@ -43,6 +45,7 @@ tests: type: uint32 - label: "TH reads TxBroadcastCount attribute value from DUT" + PICS: DGTHREAD.S.A0019 command: "readAttribute" attribute: "TxBroadcastCount" response: @@ -50,6 +53,7 @@ tests: type: uint32 - label: "TH reads TxAckRequestedCount attribute value from DUT" + PICS: DGTHREAD.S.A001a command: "readAttribute" attribute: "TxAckRequestedCount" response: @@ -57,6 +61,7 @@ tests: type: uint32 - label: "TH reads TxAckedCount attribute value from DUT" + PICS: DGTHREAD.S.A001b command: "readAttribute" attribute: "TxAckedCount" response: @@ -64,6 +69,7 @@ tests: type: uint32 - label: "TH reads TxNoAckRequestedCount attribute value from DUT" + PICS: DGTHREAD.S.A001c command: "readAttribute" attribute: "TxNoAckRequestedCount" response: @@ -71,6 +77,7 @@ tests: type: uint32 - label: "TH reads TxDataCount attribute value from DUT" + PICS: DGTHREAD.S.A001d command: "readAttribute" attribute: "TxDataCount" response: @@ -78,6 +85,7 @@ tests: type: uint32 - label: "TH reads TxDataPollCount attribute value from DUT" + PICS: DGTHREAD.S.A001e command: "readAttribute" attribute: "TxDataPollCount" response: @@ -85,6 +93,7 @@ tests: type: uint32 - label: "TH reads TxBeaconCount attribute value from DUT" + PICS: DGTHREAD.S.A001f command: "readAttribute" attribute: "TxBeaconCount" response: @@ -92,6 +101,7 @@ tests: type: uint32 - label: "TH reads TxBeaconRequestCount attribute value from DUT" + PICS: DGTHREAD.S.A0020 command: "readAttribute" attribute: "TxBeaconRequestCount" response: @@ -99,6 +109,7 @@ tests: type: uint32 - label: "TH reads TxOtherCount attribute value from DUT" + PICS: DGTHREAD.S.A0021 command: "readAttribute" attribute: "TxOtherCount" response: @@ -106,6 +117,7 @@ tests: type: uint32 - label: "TH reads TxRetryCount attribute value from DUT" + PICS: DGTHREAD.S.A0022 command: "readAttribute" attribute: "TxRetryCount" response: @@ -113,6 +125,7 @@ tests: type: uint32 - label: "TH reads TxDirectMaxRetryExpiryCount attribute value from DUT" + PICS: DGTHREAD.S.A0023 command: "readAttribute" attribute: "TxDirectMaxRetryExpiryCount" response: @@ -120,6 +133,7 @@ tests: type: uint32 - label: "TH reads TxIndirectMaxRetryExpiryCount attribute value from DUT" + PICS: DGTHREAD.S.A0024 command: "readAttribute" attribute: "TxIndirectMaxRetryExpiryCount" response: @@ -127,6 +141,7 @@ tests: type: uint32 - label: "TH reads TxErrCcaCount attribute value from DUT" + PICS: DGTHREAD.S.A0025 command: "readAttribute" attribute: "TxErrCcaCount" response: @@ -134,6 +149,7 @@ tests: type: uint32 - label: "TH reads TxErrAbortCount attribute value from DUT" + PICS: DGTHREAD.S.A0026 command: "readAttribute" attribute: "TxErrAbortCount" response: @@ -141,6 +157,7 @@ tests: type: uint32 - label: "TH reads TxErrBusyChannelCount attribute value from DUT" + PICS: DGTHREAD.S.A0027 command: "readAttribute" attribute: "TxErrBusyChannelCount" response: diff --git a/src/app/tests/suites/certification/Test_TC_DIAG_TH_NW_2_3.yaml b/src/app/tests/suites/certification/Test_TC_DIAG_TH_NW_2_3.yaml index 05f8b4479521f7..bc54ac56e2de47 100644 --- a/src/app/tests/suites/certification/Test_TC_DIAG_TH_NW_2_3.yaml +++ b/src/app/tests/suites/certification/Test_TC_DIAG_TH_NW_2_3.yaml @@ -29,6 +29,7 @@ tests: value: nodeId - label: "TH reads RxTotalCount attribute value from DUT" + PICS: DGTHREAD.S.A0028 command: "readAttribute" attribute: "RxTotalCount" response: @@ -36,6 +37,7 @@ tests: type: uint32 - label: "TH reads RxUnicastCount attribute value from DUT" + PICS: DGTHREAD.S.A0029 command: "readAttribute" attribute: "RxUnicastCount" response: @@ -43,6 +45,7 @@ tests: type: uint32 - label: "TH reads RxBroadcastCount attribute value from DUT" + PICS: DGTHREAD.S.A002a command: "readAttribute" attribute: "RxBroadcastCount" response: @@ -50,6 +53,7 @@ tests: type: uint32 - label: "TH reads RxDataCount attribute value from DUT" + PICS: DGTHREAD.S.A002b command: "readAttribute" attribute: "RxDataCount" response: @@ -57,6 +61,7 @@ tests: type: uint32 - label: "TH reads RxDataPollCount attribute value from DUT" + PICS: DGTHREAD.S.A002c command: "readAttribute" attribute: "RxDataPollCount" response: @@ -64,6 +69,7 @@ tests: type: uint32 - label: "TH reads RxBeaconCount attribute value from DUT" + PICS: DGTHREAD.S.A002d command: "readAttribute" attribute: "RxBeaconCount" response: @@ -71,6 +77,7 @@ tests: type: uint32 - label: "TH reads RxBeaconRequestCount attribute value from DUT" + PICS: DGTHREAD.S.A002e command: "readAttribute" attribute: "RxBeaconRequestCount" response: @@ -78,6 +85,7 @@ tests: type: uint32 - label: "TH reads RxOtherCount attribute value from DUT" + PICS: DGTHREAD.S.A002f command: "readAttribute" attribute: "RxOtherCount" response: @@ -85,6 +93,7 @@ tests: type: uint32 - label: "TH reads RxAddressFilteredCount attribute value from DUT" + PICS: DGTHREAD.S.A0030 command: "readAttribute" attribute: "RxAddressFilteredCount" response: @@ -92,6 +101,7 @@ tests: type: uint32 - label: "TH reads RxDestAddrFilteredCount attribute value from DUT" + PICS: DGTHREAD.S.A0031 command: "readAttribute" attribute: "RxDestAddrFilteredCount" response: @@ -99,6 +109,7 @@ tests: type: uint32 - label: "TH reads RxDuplicatedCount attribute value from DUT" + PICS: DGTHREAD.S.A0032 command: "readAttribute" attribute: "RxDuplicatedCount" response: @@ -106,6 +117,7 @@ tests: type: uint32 - label: "TH reads RxErrNoFrameCount attribute value from DUT" + PICS: DGTHREAD.S.A0033 command: "readAttribute" attribute: "RxErrNoFrameCount" response: @@ -113,6 +125,7 @@ tests: type: uint32 - label: "TH reads RxErrUnknownNeighborCount attribute value from DUT" + PICS: DGTHREAD.S.A0034 command: "readAttribute" attribute: "RxErrUnknownNeighborCount" response: @@ -133,7 +146,7 @@ tests: [1649826953.828346][3727:3732] CHIP:TOO: RxErrInvalidSrcAddrCount: 0 cluster: "LogCommands" command: "UserPrompt" - PICS: PICS_USER_PROMPT + PICS: PICS_USER_PROMPT && DGTHREAD.S.A0035 arguments: values: - name: "message" @@ -142,6 +155,7 @@ tests: value: "y" - label: "TH reads RxErrSecCount attribute value from DUT" + PICS: DGTHREAD.S.A0036 command: "readAttribute" attribute: "RxErrSecCount" response: @@ -149,6 +163,7 @@ tests: type: uint32 - label: "TH reads RxErrFcsCount attribute value from DUT" + PICS: DGTHREAD.S.A0037 command: "readAttribute" attribute: "RxErrFcsCount" response: @@ -156,6 +171,7 @@ tests: type: uint32 - label: "TH reads RxErrOtherCount attribute value from DUT" + PICS: DGTHREAD.S.A0038 command: "readAttribute" attribute: "RxErrOtherCount" response: diff --git a/src/app/tests/suites/certification/Test_TC_DIAG_TH_NW_2_4.yaml b/src/app/tests/suites/certification/Test_TC_DIAG_TH_NW_2_4.yaml index d2dd558a7ff2ce..6cd018a2f5fb68 100644 --- a/src/app/tests/suites/certification/Test_TC_DIAG_TH_NW_2_4.yaml +++ b/src/app/tests/suites/certification/Test_TC_DIAG_TH_NW_2_4.yaml @@ -32,6 +32,7 @@ tests: command: "ResetCounts" - label: "Read the Overruncount attribute" + PICS: DGTHREAD.S.A0007 command: "readAttribute" attribute: "OverrunCount" response: diff --git a/src/app/tests/suites/certification/Test_TC_DIAG_TH_NW_2_5.yaml b/src/app/tests/suites/certification/Test_TC_DIAG_TH_NW_2_5.yaml index ea94eef973966c..f1be3daa60fc29 100644 --- a/src/app/tests/suites/certification/Test_TC_DIAG_TH_NW_2_5.yaml +++ b/src/app/tests/suites/certification/Test_TC_DIAG_TH_NW_2_5.yaml @@ -24,46 +24,55 @@ config: tests: - label: "Induce a DUT by an Unspecified failure" + PICS: DGTHREAD.S.E01 verification: | Not Implemented in CHIP Tool disabled: true - label: "Induce a DUT by LinkDown failure" + PICS: DGTHREAD.S.E01 verification: | Not Implemented in CHIP Tool disabled: true - label: "Induce a DUT by HardwareFailure" + PICS: DGTHREAD.S.E01 verification: | Not Implemented in CHIP Tool disabled: true - label: "Induce a DUT by NetworkJammed Failure" + PICS: DGTHREAD.S.E01 verification: | Not Implemented in CHIP Tool disabled: true - label: "Induce a DUT by an Unspecified failure" + PICS: DGTHREAD.S.E01 verification: | Not Implemented in CHIP Tool disabled: true - label: "Induce a DUT by LinkDown failure" + PICS: DGTHREAD.S.E01 verification: | Not Implemented in CHIP Tool disabled: true - label: "Induce a DUT by HardwareFailure" + PICS: DGTHREAD.S.E01 verification: | Not Implemented in CHIP Tool disabled: true - label: "Induce a DUT by NetworkJammed Failure" + PICS: DGTHREAD.S.E01 verification: | Not Implemented in CHIP Tool disabled: true - label: "Disconnect and reconnect a node to a Thread network" + PICS: DGTHREAD.S.E00 verification: | ./chip-tool threadnetworkdiagnostics read-event connection-status 137 0 diff --git a/src/app/tests/suites/certification/Test_TC_DIAG_TH_NW_3_1.yaml b/src/app/tests/suites/certification/Test_TC_DIAG_TH_NW_3_1.yaml index 43701cf02f6158..bc5a31576cc22e 100644 --- a/src/app/tests/suites/certification/Test_TC_DIAG_TH_NW_3_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_DIAG_TH_NW_3_1.yaml @@ -13,7 +13,7 @@ # limitations under the License. # Auto-generated scripts for harness use only, please review before automation. The endpoints and cluster names are currently set to default -name: 48.7. [TC-DIAG-TH_NW-2.6] Attributes [DUT Client] +name: 48.7. [TC-DIAG-TH_NW-3.1] Attributes [DUT Client] config: nodeId: 0x12344321 @@ -27,6 +27,7 @@ tests: disabled: true - label: "DUT reads Channel attribute value from TH" + PICS: DGTHREAD.C.A0001 verification: | ./chip-tool threadnetworkdiagnostics read channel 180 0 @@ -39,6 +40,7 @@ tests: disabled: true - label: "DUT reads RoutingRole attribute value from TH" + PICS: DGTHREAD.C.A0002 verification: | ./chip-tool threadnetworkdiagnostics read routing-role 180 0 @@ -50,6 +52,7 @@ tests: disabled: true - label: "DUT reads NetworkName attribute value from TH." + PICS: DGTHREAD.C.A0003 verification: | ./chip-tool threadnetworkdiagnostics read network-name 180 0 @@ -61,6 +64,7 @@ tests: disabled: true - label: "DUT reads PanId attribute value from TH." + PICS: DGTHREAD.C.A0004 verification: | ./chip-tool threadnetworkdiagnostics read pan-id 180 0 @@ -72,6 +76,7 @@ tests: disabled: true - label: "DUT reads ExtendedPanId attribute value from TH." + PICS: DGTHREAD.C.A0005 verification: | ./chip-tool threadnetworkdiagnostics read extended-pan-id 180 0 @@ -83,6 +88,7 @@ tests: disabled: true - label: "DUT reads MeshLocalPrefix attribute value from TH." + PICS: DGTHREAD.C.A0006 verification: | ./chip-tool threadnetworkdiagnostics read mesh-local-prefix 180 0 @@ -95,6 +101,7 @@ tests: disabled: true - label: "DUT reads OverrunCount attribute value from TH." + PICS: DGTHREAD.C.A0007 verification: | ./chip-tool threadnetworkdiagnostics read overrun-count 180 0 @@ -107,6 +114,7 @@ tests: disabled: true - label: "DUT reads NeighborTable attribute value from TH." + PICS: DGTHREAD.C.A0008 verification: | ./chip-tool threadnetworkdiagnostics read neighbor-table-list 180 0 @@ -119,6 +127,7 @@ tests: disabled: true - label: "DUT reads RouteTable attribute value from TH." + PICS: DGTHREAD.C.A0009 verification: | ./chip-tool threadnetworkdiagnostics read route-table-list 180 0 @@ -142,6 +151,7 @@ tests: disabled: true - label: "DUT reads PartitionId attribute value from TH" + PICS: DGTHREAD.C.A000a verification: | ./chip-tool threadnetworkdiagnostics read partition-id 180 0 @@ -154,6 +164,7 @@ tests: disabled: true - label: "DUT reads Weighting attribute value from TH" + PICS: DGTHREAD.C.A000b verification: | ./chip-tool threadnetworkdiagnostics read weighting 180 0 @@ -166,6 +177,7 @@ tests: disabled: true - label: "DUT reads DataVersion attribute value from TH" + PICS: DGTHREAD.C.A000c verification: | ./chip-tool threadnetworkdiagnostics read data-version 180 0 @@ -178,6 +190,7 @@ tests: disabled: true - label: "DUT reads StableDataVersion attribute value from TH" + PICS: DGTHREAD.C.A000d verification: | ./chip-tool threadnetworkdiagnostics read stable-data-version 180 0 @@ -190,6 +203,7 @@ tests: disabled: true - label: "DUT reads LeaderRouterId attribute value from TH" + PICS: DGTHREAD.C.A000e verification: | ./chip-tool threadnetworkdiagnostics read leader-router-id 180 0 @@ -202,6 +216,7 @@ tests: disabled: true - label: "DUT reads DetachedRoleCount attribute value from TH" + PICS: DGTHREAD.C.A000f verification: | ./chip-tool threadnetworkdiagnostics read detached-role-count 180 0 @@ -214,6 +229,7 @@ tests: disabled: true - label: "DUT reads ChildRoleCount attribute value from TH" + PICS: DGTHREAD.C.A0010 verification: | ./chip-tool threadnetworkdiagnostics read child-role-count 180 0 @@ -226,6 +242,7 @@ tests: disabled: true - label: "DUT reads RouterRoleCount attribute value from TH" + PICS: DGTHREAD.C.A0011 verification: | ./chip-tool threadnetworkdiagnostics read router-role-count 180 0 @@ -238,6 +255,7 @@ tests: disabled: true - label: "DUT reads LeaderRoleCount attribute value from TH" + PICS: DGTHREAD.C.A0012 verification: | ./chip-tool threadnetworkdiagnostics read leader-role-count 180 0 @@ -250,6 +268,7 @@ tests: disabled: true - label: "DUT reads AttachAttemptCount attribute value from TH" + PICS: DGTHREAD.C.A0013 verification: | ./chip-tool threadnetworkdiagnostics read attach-attempt-count 180 0 @@ -262,6 +281,7 @@ tests: disabled: true - label: "DUT reads PartitionIdChangeCount attribute value from TH" + PICS: DGTHREAD.C.A0014 verification: | ./chip-tool threadnetworkdiagnostics read partition-id-change-count 180 0 @@ -275,6 +295,7 @@ tests: - label: "DUT reads BetterPartitionAttachAttemptCount attribute value from TH" + PICS: DGTHREAD.C.A0015 verification: | ./chip-tool threadnetworkdiagnostics read better-partition-attach-attempt-count 180 0 @@ -287,6 +308,7 @@ tests: disabled: true - label: "DUT reads ParentChangeCount attribute value from TH" + PICS: DGTHREAD.C.A0016 verification: | ./chip-tool threadnetworkdiagnostics read parent-change-count 180 0 @@ -299,6 +321,7 @@ tests: disabled: true - label: "DUT reads ActiveTimestamp attribute value from TH" + PICS: DGTHREAD.C.A0039 verification: | ./chip-tool threadnetworkdiagnostics read active-timestamp 180 0 @@ -311,6 +334,7 @@ tests: disabled: true - label: "DUT reads PendingTimestamp attribute value from TH" + PICS: DGTHREAD.C.A003a verification: | ./chip-tool threadnetworkdiagnostics read pending-timestamp 180 0 @@ -323,6 +347,7 @@ tests: disabled: true - label: "DUT reads Delay attribute value from TH" + PICS: DGTHREAD.C.A003b verification: | ./chip-tool threadnetworkdiagnostics read delay 180 0 @@ -334,6 +359,7 @@ tests: disabled: true - label: "DUT reads SecurityPolicy attribute value from TH" + PICS: DGTHREAD.C.A003c verification: | ./chip-tool threadnetworkdiagnostics read security-policy 180 0 @@ -350,6 +376,7 @@ tests: disabled: true - label: "DUT reads ChannelPage0Mask attribute value from TH" + PICS: DGTHREAD.C.A003d verification: | ./chip-tool threadnetworkdiagnostics read channel-mask 180 0 @@ -362,6 +389,7 @@ tests: disabled: true - label: "DUT reads OperationalDatasetComponents attribute from TH" + PICS: DGTHREAD.C.A003e verification: | ./chip-tool threadnetworkdiagnostics read operational-dataset-components 180 0 @@ -388,6 +416,7 @@ tests: disabled: true - label: "DUT reads ActiveNetworkFaults attribute value from TH" + PICS: DGTHREAD.C.A003f verification: | ./chip-tool threadnetworkdiagnostics read active-network-faults-list 180 0 diff --git a/src/app/tests/suites/certification/Test_TC_DIAG_TH_NW_3_2.yaml b/src/app/tests/suites/certification/Test_TC_DIAG_TH_NW_3_2.yaml index e86d0fb5436656..9bcd795b3ea70e 100644 --- a/src/app/tests/suites/certification/Test_TC_DIAG_TH_NW_3_2.yaml +++ b/src/app/tests/suites/certification/Test_TC_DIAG_TH_NW_3_2.yaml @@ -13,7 +13,7 @@ # limitations under the License. # Auto-generated scripts for harness use only, please review before automation. The endpoints and cluster names are currently set to default -name: 48.8. [TC-DIAG-TH_NW-2.7] Attributes - Tx[DUT Client] +name: 48.8. [TC-DIAG-TH_NW-3.2] Attributes - Tx[DUT Client] config: nodeId: 0x12344321 @@ -26,6 +26,7 @@ tests: disabled: true - label: "DUT reads TxTotalCount attribute value from TH" + PICS: DGTHREAD.C.A0017 verification: | ./chip-tool threadnetworkdiagnostics read tx-total-count 180 0 @@ -38,6 +39,7 @@ tests: disabled: true - label: "DUT reads TxUnicastCount attribute value from TH" + PICS: DGTHREAD.C.A0018 verification: | ./chip-tool threadnetworkdiagnostics read tx-unicast-count 180 0 @@ -50,6 +52,7 @@ tests: disabled: true - label: "DUT reads TxBroadcastCount attribute value from TH" + PICS: DGTHREAD.C.A0019 verification: | ./chip-tool threadnetworkdiagnostics read tx-broadcast-count 180 0 @@ -61,6 +64,7 @@ tests: disabled: true - label: "DUT reads TxAckRequestedCount attribute value from TH" + PICS: DGTHREAD.C.A001a verification: | ./chip-tool threadnetworkdiagnostics read tx-ack-requested-count 180 0 @@ -73,6 +77,7 @@ tests: disabled: true - label: "DUT reads TxAckedCount attribute value from TH" + PICS: DGTHREAD.C.A001b verification: | ./chip-tool threadnetworkdiagnostics read tx-acked-count 180 0 @@ -85,6 +90,7 @@ tests: disabled: true - label: "DUT reads TxNoAckRequestedCount attribute value from TH" + PICS: DGTHREAD.C.A001c verification: | ./chip-tool threadnetworkdiagnostics read tx-no-ack-requested-count 180 0 @@ -97,6 +103,7 @@ tests: disabled: true - label: "DUT reads TxDataCount attribute value from TH" + PICS: DGTHREAD.C.A001d verification: | ./chip-tool threadnetworkdiagnostics read tx-data-count 180 0 @@ -109,6 +116,7 @@ tests: disabled: true - label: "DUT reads TxDataPollCount attribute value from TH" + PICS: DGTHREAD.C.A001e verification: | ./chip-tool threadnetworkdiagnostics read tx-data-poll-count 180 0 @@ -121,6 +129,7 @@ tests: disabled: true - label: "DUT reads TxBeaconCount attribute value from TH" + PICS: DGTHREAD.C.A001f verification: | ./chip-tool threadnetworkdiagnostics read tx-beacon-count 180 0 @@ -133,6 +142,7 @@ tests: disabled: true - label: "DUT reads TxBeaconRequestCount attribute value from TH" + PICS: DGTHREAD.C.A0020 verification: | ./chip-tool threadnetworkdiagnostics read tx-beacon-request-count 180 0 @@ -145,6 +155,7 @@ tests: disabled: true - label: "DUT reads TxOtherCount attribute value from TH" + PICS: DGTHREAD.C.A0021 verification: | ./chip-tool threadnetworkdiagnostics read tx-other-count 180 0 @@ -156,6 +167,7 @@ tests: disabled: true - label: "DUT reads TxRetryCount attribute value from TH" + PICS: DGTHREAD.C.A0022 verification: | ./chip-tool threadnetworkdiagnostics read tx-retry-count 180 0 @@ -168,6 +180,7 @@ tests: disabled: true - label: "DUT reads TxDirectMaxRetryExpiryCount attribute value from TH" + PICS: DGTHREAD.C.A0023 verification: | ./chip-tool threadnetworkdiagnostics read tx-direct-max-retry-expiry-count 180 0 @@ -180,6 +193,7 @@ tests: disabled: true - label: "DUT reads TxIndirectMaxRetryExpiryCount attribute value from TH" + PICS: DGTHREAD.C.A0024 verification: | ./chip-tool threadnetworkdiagnostics read tx-indirect-max-retry-expiry-count 180 0 @@ -191,6 +205,7 @@ tests: disabled: true - label: "DUT reads TxErrCcaCount attribute value from TH" + PICS: DGTHREAD.C.A0025 verification: | ./chip-tool threadnetworkdiagnostics read tx-err-cca-count 180 0 @@ -202,6 +217,7 @@ tests: disabled: true - label: "DUT reads TxErrAbortCount attribute value from TH" + PICS: DGTHREAD.C.A0026 verification: | ./chip-tool threadnetworkdiagnostics read tx-err-abort-count 180 0 @@ -214,6 +230,7 @@ tests: disabled: true - label: "DUT reads TxErrBusyChannelCount attribute value from TH" + PICS: DGTHREAD.C.A0027 verification: | ./chip-tool threadnetworkdiagnostics read tx-err-busy-channel-count 180 0 diff --git a/src/app/tests/suites/certification/Test_TC_DIAG_TH_NW_3_3.yaml b/src/app/tests/suites/certification/Test_TC_DIAG_TH_NW_3_3.yaml index 56770ba6a6e094..68e57aca2242a9 100644 --- a/src/app/tests/suites/certification/Test_TC_DIAG_TH_NW_3_3.yaml +++ b/src/app/tests/suites/certification/Test_TC_DIAG_TH_NW_3_3.yaml @@ -13,7 +13,7 @@ # limitations under the License. # Auto-generated scripts for harness use only, please review before automation. The endpoints and cluster names are currently set to default -name: 48.9. [TC-DIAG-TH_NW-2.8] Attributes-Rx [DUT Client] +name: 48.9. [TC-DIAG-TH_NW-3.3] Attributes-Rx [DUT Client] config: nodeId: 0x12344321 @@ -27,6 +27,7 @@ tests: disabled: true - label: "DUT reads RxTotalCount attribute value from TH" + PICS: DGTHREAD.C.A0028 verification: | ./chip-tool threadnetworkdiagnostics read rx-total-count 180 0 @@ -61,6 +62,7 @@ tests: disabled: true - label: "DUT reads RxUnicastCount attribute value from TH" + PICS: DGTHREAD.C.A0029 verification: | ./chip-tool threadnetworkdiagnostics read rx-unicast-count 180 0 @@ -73,6 +75,7 @@ tests: disabled: true - label: "DUT reads RxBroadcastCount attribute value from TH" + PICS: DGTHREAD.C.A002a verification: | ./chip-tool threadnetworkdiagnostics read rx-broadcast-count 180 0 @@ -85,6 +88,7 @@ tests: disabled: true - label: "DUT reads RxDataCount attribute value from TH" + PICS: DGTHREAD.C.A002b verification: | ./chip-tool threadnetworkdiagnostics read rx-data-count 180 0 @@ -97,6 +101,7 @@ tests: disabled: true - label: "DUT reads RxDataPollCount attribute value from TH" + PICS: DGTHREAD.C.A002c verification: | ./chip-tool threadnetworkdiagnostics read rx-data-poll-count 180 0 @@ -109,6 +114,7 @@ tests: disabled: true - label: "DUT reads RxBeaconCount attribute value from TH" + PICS: DGTHREAD.C.A002d verification: | ./chip-tool threadnetworkdiagnostics read rx-beacon-count 180 0 @@ -121,6 +127,7 @@ tests: disabled: true - label: "DUT reads RxBeaconRequestCount attribute value from TH" + PICS: DGTHREAD.C.A002e verification: | ./chip-tool threadnetworkdiagnostics read rx-beacon-request-count 180 0 @@ -133,6 +140,7 @@ tests: disabled: true - label: "DUT reads RxOtherCount attribute value from TH" + PICS: DGTHREAD.C.A002f verification: | ./chip-tool threadnetworkdiagnostics read rx-other-count 180 0 @@ -145,6 +153,7 @@ tests: disabled: true - label: "DUT reads RxAddressFilteredCount attribute value from TH" + PICS: DGTHREAD.C.A0030 verification: | ./chip-tool threadnetworkdiagnostics read rx-address-filtered-count 180 0 @@ -157,6 +166,7 @@ tests: disabled: true - label: "DUT reads RxDestAddrFilteredCount attribute value from TH" + PICS: DGTHREAD.C.A0031 verification: | ./chip-tool threadnetworkdiagnostics read rx-dest-addr-filtered-count 180 0 @@ -169,6 +179,7 @@ tests: disabled: true - label: "DUT reads RxDuplicatedCount attribute value from TH" + PICS: DGTHREAD.C.A0032 verification: | ./chip-tool threadnetworkdiagnostics read rx-duplicated-count 180 0 @@ -181,6 +192,7 @@ tests: disabled: true - label: "DUT reads RxErrNoFrameCount attribute value from TH" + PICS: DGTHREAD.C.A0033 verification: | ./chip-tool threadnetworkdiagnostics read rx-err-no-frame-count 180 0 @@ -193,6 +205,7 @@ tests: disabled: true - label: "DUT reads RxErrUnknownNeighborCount attribute value from TH" + PICS: DGTHREAD.C.A0034 verification: | ./chip-tool threadnetworkdiagnostics read rx-err-unknown-neighbor-count 180 0 @@ -205,6 +218,7 @@ tests: disabled: true - label: "DUT reads RxErrInvalidScrAddrCount attribute value from TH" + PICS: DGTHREAD.C.A0035 verification: | ./chip-tool threadnetworkdiagnostics read rx-err-invalid-src-addr-count 180 0 @@ -217,6 +231,7 @@ tests: disabled: true - label: "DUT reads RxErrSecCount attribute value from TH" + PICS: DGTHREAD.C.A0036 verification: | ./chip-tool threadnetworkdiagnostics read rx-err-sec-count 180 0 @@ -229,6 +244,7 @@ tests: disabled: true - label: "DUT reads RxErrFcsCount attribute value from TH" + PICS: DGTHREAD.C.A0037 verification: | ./chip-tool threadnetworkdiagnostics read rx-err-fcs-count 180 0 @@ -241,6 +257,7 @@ tests: disabled: true - label: "DUT reads RxErrOtherCount attribute value from TH" + PICS: DGTHREAD.C.A0038 verification: | ./chip-tool threadnetworkdiagnostics read rx-err-other-count 180 0 diff --git a/src/app/tests/suites/certification/Test_TC_DIAG_TH_NW_3_4.yaml b/src/app/tests/suites/certification/Test_TC_DIAG_TH_NW_3_4.yaml index f852dbe005717b..2959e17a2fd7bd 100644 --- a/src/app/tests/suites/certification/Test_TC_DIAG_TH_NW_3_4.yaml +++ b/src/app/tests/suites/certification/Test_TC_DIAG_TH_NW_3_4.yaml @@ -27,6 +27,7 @@ tests: disabled: true - label: "DUT sends ResetCounts Command to TH" + PICS: DGTHREAD.C.C00.Tx verification: | ./chip-tool threadnetworkdiagnostics reset-counts 180 0 @@ -49,6 +50,7 @@ tests: disabled: true - label: "DUT reads OverrunCount attribute from TH" + PICS: DGTHREAD.C.A0007 verification: | ./chip-tool threadnetworkdiagnostics read overrun-count 180 0 diff --git a/src/app/tests/suites/certification/Test_TC_DIAG_TH_NW_3_5.yaml b/src/app/tests/suites/certification/Test_TC_DIAG_TH_NW_3_5.yaml index 5354e8750d60e2..94c79815b5c4b2 100644 --- a/src/app/tests/suites/certification/Test_TC_DIAG_TH_NW_3_5.yaml +++ b/src/app/tests/suites/certification/Test_TC_DIAG_TH_NW_3_5.yaml @@ -24,46 +24,55 @@ config: tests: - label: "Simulate an Unspecified failure on TH" + PICS: DGTHREAD.C.E01 verification: | Not Implemented in CHIP Tool disabled: true - label: "Simulate a LinkDown failure on TH" + PICS: DGTHREAD.C.E01 verification: | Not Implemented in CHIP Tool disabled: true - label: "Simulate a HardwareFailure on TH" + PICS: DGTHREAD.C.E01 verification: | Not Implemented in CHIP Tool disabled: true - label: "Simulate a NetworkJammed Failure on TH" + PICS: DGTHREAD.C.E01 verification: | Not Implemented in CHIP Tool disabled: true - label: "Simulate an Unspecified failure on TH" + PICS: DGTHREAD.C.E01 verification: | Not Implemented in CHIP Tool disabled: true - label: "Simulate a LinkDown failure on TH" + PICS: DGTHREAD.C.E01 verification: | Not Implemented in CHIP Tool disabled: true - label: "Simulate a HardwareFailure on TH" + PICS: DGTHREAD.C.E01 verification: | Not Implemented in CHIP Tool disabled: true - label: "Simulate a NetworkJammed Failure on TH" + PICS: DGTHREAD.C.E01 verification: | Not Implemented in CHIP Tool disabled: true - label: "Simulate disconnecting and reconnecting to a Thread network on TH" + PICS: DGTHREAD.C.E00 verification: | ./chip-tool threadnetworkdiagnostics read-event connection-status 137 0 diff --git a/src/app/tests/suites/certification/Test_TC_DLRK_2_6.yaml b/src/app/tests/suites/certification/Test_TC_DLRK_2_6.yaml deleted file mode 100644 index ed23c52b57ba3e..00000000000000 --- a/src/app/tests/suites/certification/Test_TC_DLRK_2_6.yaml +++ /dev/null @@ -1,135 +0,0 @@ -# Copyright (c) 2021 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. -# Auto-generated scripts for harness use only, please review before automation. The endpoints and cluster names are currently set to default - -name: - 111.2.6. [TC-DRLK-2.6] Verification for the following Commands - Set Holiday - Schedule, Get Holiday Schedule, Get Holiday Schedule Response , Clear - Holiday Schedule [DUT-Server] - -config: - nodeId: 0x12344321 - cluster: "Basic" - endpoint: 0 - -tests: - - label: - "TH reads NumberOfHolidaySchedulesSupported and saves for future use." - verification: | - ./chip-tool doorlock read number-of-holiday-schedules-supported 1 1 - - [1651752699.633117][3671:3676] CHIP:DMG: StatusIB = - [1651752699.633165][3671:3676] CHIP:DMG: { - [1651752699.633213][3671:3676] CHIP:DMG: status = 0x86 (UNSUPPORTED_ATTRIBUTE), - [1651752699.633262][3671:3676] CHIP:DMG: }, - disabled: true - - - label: - "TH sends Set Holiday Schedule Command to DUT with the following - values: HolidayIndex as 1 LocalStartTime as 20 LocalEndTime as 30 - OperatingMode as 0" - verification: | - ./chip-tool doorlock set-holiday-schedule 1 20 30 0 1 1 - - [1651158181.346750][6202:6207] CHIP:DMG: }, - [1651158181.346857][6202:6207] CHIP:DMG: Received Command Response Status for Endpoint=1 Cluster=0x0000_0101 Command=0x0000_0011 Status=0x81 - [1651158181.346916][6202:6207] CHIP:TOO: Error: IM Error 0x00000581: General error: 0x81 (UNSUPPORTED_COMMAND) - disabled: true - - - label: - "TH sends Get Holiday Schedule Command to DUT with HolidayIndex as 1" - verification: | - ./chip-tool doorlock get-holiday-schedule 1 1 1 - - [1651158836.053711][6244:6249] CHIP:DMG: }, - [1651158836.053780][6244:6249] CHIP:DMG: Received Command Response Status for Endpoint=1 Cluster=0x0000_0101 Command=0x0000_0012 Status=0x81 - [1651158836.053817][6244:6249] CHIP:TOO: Error: IM Error 0x00000581: General error: 0x81 (UNSUPPORTED_COMMAND) - disabled: true - - - label: - "TH sends Set Holiday Schedule Command to DUT with the following - values: HolidayIndex as 1 LocalStartTime as 20 LocalEndTime as 30 - OperatingMode as 5" - verification: | - ./chip-tool doorlock set-holiday-schedule 1 20 30 5 1 1 - - [1651160907.922634][6407:6412] CHIP:DMG: Received Command Response Status for Endpoint=1 Cluster=0x0000_0101 Command=0x0000_0011 Status=0x81 - [1651160907.922677][6407:6412] CHIP:TOO: Error: IM Error 0x00000581: General error: 0x81 (UNSUPPORTED_COMMAND) - disabled: true - - - label: - "TH sends Get Holiday Schedule Command to DUT with HolidayIndex as 1" - verification: | - ./chip-tool doorlock get-holiday-schedule 1 1 1 - - [1651753075.971000][3714:3719] CHIP:DMG: StatusIB = - [1651753075.971049][3714:3719] CHIP:DMG: { - [1651753075.971098][3714:3719] CHIP:DMG: status = 0x81 (UNSUPPORTED_COMMAND), - [1651753075.971148][3714:3719] CHIP:DMG: }, - disabled: true - - - label: - "TH sends Set Holiday Schedule Command to DUT with the following - values: HolidayIndex as 1 LocalStartTime as 20 LocalEndTime as 30 - OperatingMode as 3" - verification: | - ./chip-tool doorlock set-holiday-schedule 1 20 30 3 1 1 - - [1651753121.844770][3721:3726] CHIP:DMG: StatusIB = - [1651753121.844810][3721:3726] CHIP:DMG: { - [1651753121.844852][3721:3726] CHIP:DMG: status = 0x81 (UNSUPPORTED_COMMAND), - [1651753121.844895][3721:3726] CHIP:DMG: }, - disabled: true - - - label: - "TH sends Get Holiday Schedule Command to DUT with HolidayIndex as 10" - verification: | - ./chip-tool doorlock get-holiday-schedule 10 1 1 - - [1651159091.759202][6270:6275] CHIP:DMG: }, - [1651159091.759283][6270:6275] CHIP:DMG: Received Command Response Status for Endpoint=1 Cluster=0x0000_0101 Command=0x0000_0012 Status=0x81 - [1651159091.759327][6270:6275] CHIP:TOO: Error: IM Error 0x00000581: General error: 0x81 (UNSUPPORTED_COMMAND) - disabled: true - - - label: - "TH sends Get Holiday Schedule Command to DUT with HolidayIndex as 6" - verification: | - ./chip-tool doorlock get-holiday-schedule 6 1 1 - - [1651753204.977947][3745:3750] CHIP:DMG: StatusIB = - [1651753204.977985][3745:3750] CHIP:DMG: { - [1651753204.978022][3745:3750] CHIP:DMG: status = 0x81 (UNSUPPORTED_COMMAND), - [1651753204.978063][3745:3750] CHIP:DMG: }, - disabled: true - - - label: - "TH send Clear Holiday Schedule Command to DUT with HolidayIndex as 1" - verification: | - ./chip-tool doorlock clear-holiday-schedule 1 1 1 - - [1651753246.493952][3753:3758] CHIP:DMG: StatusIB = - [1651753246.493984][3753:3758] CHIP:DMG: { - [1651753246.494020][3753:3758] CHIP:DMG: status = 0x81 (UNSUPPORTED_COMMAND), - [1651753246.494054][3753:3758] CHIP:DMG: }, - disabled: true - - - label: - "TH sends Get Holiday Schedule Command to DUT with HolidayIndex as 2" - verification: | - ./chip-tool doorlock get-holiday-schedule 2 1 1 - - [1651159091.759202][6270:6275] CHIP:DMG: }, - [1651159091.759283][6270:6275] CHIP:DMG: Received Command Response Status for Endpoint=1 Cluster=0x0000_0101 Command=0x0000_0012 Status=0x81 - [1651159091.759327][6270:6275] CHIP:TOO: Error: IM Error 0x00000581: General error: 0x81 (UNSUPPORTED_COMMAND) - disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_DLRK_2_8.yaml b/src/app/tests/suites/certification/Test_TC_DLRK_2_8.yaml deleted file mode 100644 index cff90ff3af2037..00000000000000 --- a/src/app/tests/suites/certification/Test_TC_DLRK_2_8.yaml +++ /dev/null @@ -1,222 +0,0 @@ -# Copyright (c) 2021 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. -# Auto-generated scripts for harness use only, please review before automation. The endpoints and cluster names are currently set to default - -name: - 111.2.8. [TC-DRLK-2.8] Verification for the following Commands - Set User, - Get User, Get User Response, Clear User [DUT-Server] - -config: - nodeId: 0x12344321 - cluster: "Basic" - endpoint: 0 - -tests: - - label: - "TH reads NumberOfTotalUsersSupported attribute and saves for future - use." - verification: | - ./chip-tool doorlock read number-of-total-users-supported 1 1 - - - [1649927485.980884][4704:4709] CHIP:DMG: SuppressResponse = true, - [1649927485.980918][4704:4709] CHIP:DMG: InteractionModelRevision = 1 - [1649927485.980949][4704:4709] CHIP:DMG: } - [1649927485.981156][4704:4709] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Attribute 0x0000_0011 DataVersion: 343041314 [1649927485.981254][4704:4709] CHIP:TOO: NumberOfTotalUsersSupported: 10 - disabled: true - - - label: - "TH sends Set User Command to DUT with the following values: - OperationType as 0 UserIndex as 1 UserName as xxx UserUniqueID as 6452 - UserStatus as 1 UserType as 0 CredentialRule as 0" - verification: | - ./chip-tool doorlock set-user 0 1 xxx 6452 1 0 0 1 1 --timedInteractionTimeoutMs 1000 - - - [1649330663.191417][4425:4430] CHIP:DMG: { - [1649330663.191461][4425:4430] CHIP:DMG: status = 0x00 (SUCCESS), - [1649330663.191510][4425:4430] CHIP:DMG: }, - [1649330663.191554][4425:4430] CHIP:DMG: - [1649330663.191594][4425:4430] CHIP:DMG: }, - [1649330663.191641][4425:4430] CHIP:DMG: - [1649330663.191677][4425:4430] CHIP:DMG: }, - [1649330663.191720][4425:4430] CHIP:DMG: - [1649330663.191752][4425:4430] CHIP:DMG: ], - [1649330663.191792][4425:4430] CHIP:DMG: - [1649330663.191823][4425:4430] CHIP:DMG: InteractionModelRevision = 1 - [1649330663.191854][4425:4430] CHIP:DMG: }, - [1649330663.191929][4425:4430] CHIP:DMG: Received Command Response Status for Endpoint=1 Cluster=0x0000_0101 Command=0x0000_001A Status=0x0 - disabled: true - - - label: "TH sends Get User Command to DUT with UserIndex as 1" - verification: | - ./chip-tool doorlock get-user 1 1 1 - [1651755914.731371][2384:2389] CHIP:DMG: Received Command Response Data, Endpoint=1 Cluster=0x0000_0101 Command=0x0000_001C - [1651755914.731437][2384:2389] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Command 0x0000_001C - [1651755914.731654][2384:2389] CHIP:TOO: GetUserResponse: { - [1651755914.731700][2384:2389] CHIP:TOO: userIndex: 1 - [1651755914.731732][2384:2389] CHIP:TOO: userName: 1 - [1651755914.731763][2384:2389] CHIP:TOO: userUniqueId: 6452 - [1651755914.731794][2384:2389] CHIP:TOO: userStatus: 1 - [1651755914.731825][2384:2389] CHIP:TOO: userType: 0 - [1651755914.731870][2384:2389] CHIP:TOO: credentialRule: 0 - [1651755914.731900][2384:2389] CHIP:TOO: credentials: null - [1651755914.731930][2384:2389] CHIP:TOO: creatorFabricIndex: 1 - [1651755914.731960][2384:2389] CHIP:TOO: lastModifiedFabricIndex: 1 - [1651755914.731990][2384:2389] CHIP:TOO: nextUserIndex: 2 - [1651755914.732054][2384:2389] CHIP:TOO: } - disabled: true - - - label: - "TH sends Set User Command to DUT with the following values: - OperationType as 0 UserIndex as 2 UserName as xxx UserUniqueID as 6452 - UserStatus as 1 UserType as 10 CredentialRule as 3" - verification: | - ./chip-tool doorlock set-user 0 2 xxx 6451 1 10 3 1 1 --timedInteractionTimeoutMs 1000 - - [1651756268.794269][2435:2440] CHIP:DMG: StatusIB = - [1651756268.794302][2435:2440] CHIP:DMG: { - [1651756268.794343][2435:2440] CHIP:DMG: status = 0x01 (FAILURE), - [1651756268.794470][2435:2440] CHIP:DMG: }, - [1651756268.794516][2435:2440] CHIP:DMG: - [1651756268.794548][2435:2440] CHIP:DMG: }, - [1651756268.794593][2435:2440] CHIP:DMG: - [1651756268.794620][2435:2440] CHIP:DMG: }, - [1651756268.794661][2435:2440] CHIP:DMG: - [1651756268.794685][2435:2440] CHIP:DMG: ], - [1651756268.794725][2435:2440] CHIP:DMG: - [1651756268.794748][2435:2440] CHIP:DMG: InteractionModelRevision = 1 - [1651756268.794781][2435:2440] CHIP:DMG: }, - [1651756268.794852][2435:2440] CHIP:DMG: Received Command Response Status for Endpoint=1 Cluster=0x0000_0101 Command=0x0000_001A Status=0x1 - disabled: true - - - label: - "TH sends Set User Command to DUT with the following values: - OperationType as 0 UserIndex as 1 UserName as xxx UserUniqueID as 8965 - UserStatus as 1 UserType as 0 CredentialRule as 0" - verification: | - ./chip-tool doorlock set-user 0 1 xxx 8965 1 0 0 1 1 --timedInteractionTimeoutMs 1000 - - [1651756354.433573][2443:2448] CHIP:DMG: StatusIB = - [1651756354.433621][2443:2448] CHIP:DMG: { - [1651756354.433684][2443:2448] CHIP:DMG: status = 0x01 (FAILURE), - [1651756354.433744][2443:2448] CHIP:DMG: }, - [1651756354.433794][2443:2448] CHIP:DMG: - [1651756354.433849][2443:2448] CHIP:DMG: }, - [1651756354.433899][2443:2448] CHIP:DMG: - [1651756354.433951][2443:2448] CHIP:DMG: }, - [1651756354.434094][2443:2448] CHIP:DMG: - [1651756354.434144][2443:2448] CHIP:DMG: ], - [1651756354.434202][2443:2448] CHIP:DMG: - [1651756354.434238][2443:2448] CHIP:DMG: InteractionModelRevision = 1 - [1651756354.434272][2443:2448] CHIP:DMG: }, - [1651756354.434383][2443:2448] CHIP:DMG: Received Command Response Status for Endpoint=1 Cluster=0x0000_0101 Command=0x0000_001A Status=0x1 - disabled: true - - - label: - "TH sends Set User Command to DUT with the following values: - OperationType as 0 UserIndex as 2 UserName as NULL UserUniqueID as - NULL UserStatus as NULL UserType as NULL CredentialRule as NULL" - verification: | - ./chip-tool doorlock set-user 0 2 null null null null null 1 1 --timedInteractionTimeoutMs 1000 - - [1651756546.072661][2464:2469] CHIP:DMG: StatusIB = - [1651756546.072706][2464:2469] CHIP:DMG: { - [1651756546.072746][2464:2469] CHIP:DMG: status = 0x01 (FAILURE), - [1651756546.072789][2464:2469] CHIP:DMG: }, - disabled: true - - - label: - "TH sends Set User Command to DUT with the following values: - OperationType as 2 UserIndex as 2 UserName as NULL UserUniqueID as - NULL UserStatus as NULL UserType as NULL CredentialRule as NULL" - verification: | - ./chip-tool doorlock set-user 2 2 null null null null null 1 1 --timedInteractionTimeoutMs 1000 - - [1651756471.799684][2456:2461] CHIP:DMG: StatusIB = - [1651756471.799733][2456:2461] CHIP:DMG: { - [1651756471.799782][2456:2461] CHIP:DMG: status = 0x00 (SUCCESS), - [1651756471.799826][2456:2461] CHIP:DMG: }, - [1651756471.799875][2456:2461] CHIP:DMG: - [1651756471.799915][2456:2461] CHIP:DMG: }, - [1651756471.799963][2456:2461] CHIP:DMG: - [1651756471.800003][2456:2461] CHIP:DMG: }, - [1651756471.800050][2456:2461] CHIP:DMG: - [1651756471.800085][2456:2461] CHIP:DMG: ], - [1651756471.800128][2456:2461] CHIP:DMG: - [1651756471.800162][2456:2461] CHIP:DMG: InteractionModelRevision = 1 - [1651756471.800196][2456:2461] CHIP:DMG: }, - [1651756471.800305][2456:2461] CHIP:DMG: Received Command Response Status for Endpoint=1 Cluster=0x0000_0101 Command=0x0000_001A Status=0x0 - disabled: true - - - label: "TH sends Get User Command to DUT with the UserIndex as 2" - verification: | - ./chip-tool doorlock get-user 2 1 1 - - [1651756763.195996][2504:2509] CHIP:DMG: Received Command Response Data, Endpoint=1 Cluster=0x0000_0101 Command=0x0000_001C - [1651756763.196060][2504:2509] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Command 0x0000_001C - [1651756763.196223][2504:2509] CHIP:TOO: GetUserResponse: { - [1651756763.196301][2504:2509] CHIP:TOO: userIndex: 2 - [1651756763.196336][2504:2509] CHIP:TOO: userName: 7 - [1651756763.196371][2504:2509] CHIP:TOO: userUniqueId: 6451 - [1651756763.196405][2504:2509] CHIP:TOO: userStatus: 1 - [1651756763.196437][2504:2509] CHIP:TOO: userType: 0 - [1651756763.196487][2504:2509] CHIP:TOO: credentialRule: 0 - [1651756763.196521][2504:2509] CHIP:TOO: credentials: null - [1651756763.196554][2504:2509] CHIP:TOO: creatorFabricIndex: 1 - [1651756763.196587][2504:2509] CHIP:TOO: lastModifiedFabricIndex: 1 - [1651756763.196620][2504:2509] CHIP:TOO: nextUserIndex: 3 - [1651756763.196654][2504:2509] CHIP:TOO: } - disabled: true - - - label: "TH sends Clear User Command to DUT with the UserIndex as 1" - verification: | - ./chip-tool doorlock clear-user 1 1 1 --timedInteractionTimeoutMs 1000 - - [1651213439.807034][2738:2743] CHIP:DMG: StatusIB = - [1651213439.807087][2738:2743] CHIP:DMG: { - [1651213439.807141][2738:2743] CHIP:DMG: status = 0x00 (SUCCESS), - [1651213439.807195][2738:2743] CHIP:DMG: }, - [1651213439.807255][2738:2743] CHIP:DMG: - [1651213439.807302][2738:2743] CHIP:DMG: }, - [1651213439.807366][2738:2743] CHIP:DMG: - [1651213439.807409][2738:2743] CHIP:DMG: }, - [1651213439.807459][2738:2743] CHIP:DMG: - [1651213439.807499][2738:2743] CHIP:DMG: ], - [1651213439.807550][2738:2743] CHIP:DMG: - [1651213439.807589][2738:2743] CHIP:DMG: InteractionModelRevision = 1 - [1651213439.807627][2738:2743] CHIP:DMG: }, - [1651213439.807724][2738:2743] CHIP:DMG: Received Command Response Status for Endpoint=1 Cluster=0x0000_0101 Command=0x0000_001D Status=0x0 - disabled: true - - - label: "TH sends Get User Command to DUT with the UserIndex as 1" - verification: | - ./chip-tool doorlock get-user 1 1 1 --timedInteractionTimeoutMs 1000 - - [1651213485.994766][2747:2752] CHIP:DMG: }, - [1651213485.994863][2747:2752] CHIP:DMG: Received Command Response Data, Endpoint=1 Cluster=0x0000_0101 Command=0x0000_001C - [1651213485.994936][2747:2752] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Command 0x0000_001C - [1651213485.995056][2747:2752] CHIP:TOO: GetUserResponse: { - [1651213485.995115][2747:2752] CHIP:TOO: userIndex: 1 - [1651213485.995147][2747:2752] CHIP:TOO: userName: null - [1651213485.995177][2747:2752] CHIP:TOO: userUniqueId: null - [1651213485.995206][2747:2752] CHIP:TOO: userStatus: null - [1651213485.995236][2747:2752] CHIP:TOO: userType: null - [1651213485.995279][2747:2752] CHIP:TOO: credentialRule: null - [1651213485.995309][2747:2752] CHIP:TOO: credentials: null - [1651213485.995353][2747:2752] CHIP:TOO: creatorFabricIndex: null - [1651213485.995385][2747:2752] CHIP:TOO: lastModifiedFabricIndex: null - [1651213485.995428][2747:2752] CHIP:TOO: nextUserIndex: 3 - [1651213485.995461][2747:2752] CHIP:TOO: } - disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_DLRK_1_1.yaml b/src/app/tests/suites/certification/Test_TC_DRLK_1_1.yaml similarity index 100% rename from src/app/tests/suites/certification/Test_TC_DLRK_1_1.yaml rename to src/app/tests/suites/certification/Test_TC_DRLK_1_1.yaml diff --git a/src/app/tests/suites/certification/Test_TC_DLRK_2_1.yaml b/src/app/tests/suites/certification/Test_TC_DRLK_2_1.yaml similarity index 94% rename from src/app/tests/suites/certification/Test_TC_DLRK_2_1.yaml rename to src/app/tests/suites/certification/Test_TC_DRLK_2_1.yaml index e9ded02a970861..3ea307fd43c9bd 100644 --- a/src/app/tests/suites/certification/Test_TC_DLRK_2_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_DRLK_2_1.yaml @@ -22,6 +22,7 @@ config: tests: - label: "TH reads LockState attribute from DUT" + PICS: DRLK.S.A0000 verification: | ./chip-tool doorlock read lock-state 1 1 [1653374351.373518][2749:2755] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Attribute 0x0000_0000 DataVersion: 4018252607 @@ -29,12 +30,14 @@ tests: disabled: true - label: "TH writes LockState attribute as 1" + PICS: DRLK.S.A0000 verification: | ./chip-tool doorlock write lock-state 1 1 [1653385331.682442][3714:3714] CHIP:TOO: Unknown attribute: lock-state disabled: true - label: "TH reads LockState attribute from DUT" + PICS: DRLK.S.A0000 verification: | ./chip-tool doorlock read lock-state 1 1 [1653374351.373518][2749:2755] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Attribute 0x0000_0000 DataVersion: 4018252607 @@ -50,12 +53,14 @@ tests: disabled: true - label: "TH writes LockType attribute as 10" + PICS: DRLK.S.A0001 verification: | ./chip-tool doorlock write lock-type 1 1 [1653385390.925430][3717:3717] CHIP:TOO: Unknown attribute: lock-type disabled: true - label: "TH reads LockType attribute from DUT" + PICS: DRLK.S.A0001 verification: | ./chip-tool doorlock read lock-type 1 1 @@ -64,6 +69,7 @@ tests: disabled: true - label: "TH reads ActuatorEnabled attribute from DUT" + PICS: DRLK.S.A0002 verification: | ./chip-tool doorlock read actuator-enabled 1 1 @@ -72,12 +78,14 @@ tests: disabled: true - label: "TH writes ActuatorEnabled attribute as 0" + PICS: DRLK.S.A0002 verification: | ./chip-tool doorlock write actuator-enabled 1 1 [1653385453.845278][3722:3722] CHIP:TOO: Unknown attribute: actuator-enabled disabled: true - label: "TH reads ActuatorEnabled attribute from DUT" + PICS: DRLK.S.A0002 verification: | ./chip-tool doorlock read actuator-enabled 1 1 @@ -86,6 +94,7 @@ tests: disabled: true - label: "TH reads DoorState attribute from DUT" + PICS: DRLK.S.A0003 && DRLK.S.F05 verification: | ./chip-tool doorlock read door-state 1 1 @@ -94,12 +103,14 @@ tests: disabled: true - label: "TH writes DoorState attribute as 1" + PICS: DRLK.S.A0003 verification: | ./chip-tool doorlock write door-state 1 1 [1653385494.200848][3724:3724] CHIP:TOO: Unknown attribute: door-state disabled: true - label: "TH reads DoorState attribute from DUT" + PICS: DRLK.S.A0003 verification: | ./chip-tool doorlock read door-state 1 1 @@ -108,6 +119,7 @@ tests: disabled: true - label: "TH reads DoorOpenEvents attribute from DUT" + PICS: DRLK.S.A0004 && DRLK.S.F05 verification: | ./chip-tool doorlock read door-open-events 1 1 @@ -129,6 +141,7 @@ tests: disabled: true - label: "TH writes DoorOpenEvents attribute as 10" + PICS: DRLK.S.A0004 verification: | ./chip-tool doorlock write door-open-events 4 1 1 @@ -149,6 +162,7 @@ tests: disabled: true - label: "TH reads DoorOpenEvents attribute from DUT" + PICS: DRLK.S.A0004 verification: | ./chip-tool doorlock read door-open-events 1 1 @@ -170,6 +184,7 @@ tests: disabled: true - label: "TH reads DoorClosedEvents attribute from DUT" + PICS: DRLK.S.A0005 && DRLK.S.F05 verification: | ./chip-tool doorlock read door-closed-events 1 1 @@ -191,6 +206,7 @@ tests: disabled: true - label: "TH writes DoorClosedEvents attribute as 11" + PICS: DRLK.S.A0005 verification: | ./chip-tool doorlock write door-closed-events 5 1 1 @@ -209,6 +225,7 @@ tests: disabled: true - label: "TH reads DoorClosedEvents attribute from DUT" + PICS: DRLK.S.A0005 verification: | ./chip-tool doorlock read door-closed-events 1 1 @@ -230,6 +247,7 @@ tests: disabled: true - label: "TH reads OpenPeriod attribute from DUT" + PICS: DRLK.S.A0006 && DRLK.S.F05 verification: | ./chip-tool doorlock read open-period 1 1 @@ -251,6 +269,7 @@ tests: disabled: true - label: "TH writes OpenPeriod attribute as 2 minutes" + PICS: DRLK.S.A0006 verification: | ./chip-tool doorlock write open-period 6 1 1 @@ -270,6 +289,7 @@ tests: disabled: true - label: "TH reads OpenPeriod attribute from DUT" + PICS: DRLK.S.A0006 verification: | ./chip-tool doorlock read open-period 1 1 @@ -291,6 +311,7 @@ tests: disabled: true - label: "TH reads NumberOfTotalUsersSupported attribute from DUT" + PICS: DRLK.S.A0011 && DRLK.S.F08 verification: | ./chip-tool doorlock read number-of-total-users-supported 1 1 @@ -299,12 +320,14 @@ tests: disabled: true - label: "TH writes NumberOfTotalUsersSupported attribute as 20" + PICS: DRLK.S.A0011 verification: | ./chip-tool doorlock write number-of-total-users-supported 1 1 [1653385575.613595][3729:3729] CHIP:TOO: Unknown attribute: number-of-total-users-supported disabled: true - label: "TH reads NumberOfTotalUsersSupported attribute from DUT" + PICS: DRLK.S.A0011 verification: | ./chip-tool doorlock read number-of-total-users-supported 1 1 @@ -313,6 +336,7 @@ tests: disabled: true - label: "TH reads NumberOfPINUsersSupported attribute from DUT" + PICS: DRLK.S.A0012 && DRLK.S.F00 verification: | ./chip-tool doorlock read number-of-pinusers-supported 1 1 @@ -321,12 +345,14 @@ tests: disabled: true - label: "TH writes NumberOfPINUsersSupported attribute as 25" + PICS: DRLK.S.A0012 verification: | ./chip-tool doorlock write number-of-pinusers-supported 1 1 [1653385619.471653][3733:3733] CHIP:TOO: Unknown attribute: number-of-pinusers-supported disabled: true - label: "TH reads NumberOfPINUsersSupported attribute from DUT" + PICS: DRLK.S.A0012 verification: | ./chip-tool doorlock read number-of-pinusers-supported 1 1 @@ -335,6 +361,7 @@ tests: disabled: true - label: "TH reads NumberOfRFIDUsersSupported attribute from DUT" + PICS: DRLK.S.A0013 && DRLK.S.F01 verification: | ./chip-tool doorlock read number-of-rfidusers-supported 1 1 @@ -343,12 +370,14 @@ tests: disabled: true - label: "TH writes NumberOfRFIDUsersSupported attribute as 30" + PICS: DRLK.S.A0013 verification: | ./chip-tool doorlock write number-of-rfidusers-supported 1 1 [1653385665.709545][3737:3737] CHIP:TOO: Unknown attribute: number-of-rfidusers-supported disabled: true - label: "TH reads NumberOfRFIDUsersSupported attribute from DUT" + PICS: DRLK.S.A0013 verification: | ./chip-tool doorlock read number-of-rfidusers-supported 1 1 @@ -358,6 +387,7 @@ tests: - label: "TH reads NumberOfWeekDaysSchedulesSupporterUser attribute from DUT" + PICS: DRLK.S.A0014 && DRLK.S.F04 verification: | ./chip-tool doorlock read number-of-week-day-schedules-supported-per-user 1 1 @@ -367,6 +397,7 @@ tests: - label: "TH writes NumberOfWeekDaySchedulesSupportedPerUser attribute as 31" + PICS: DRLK.S.A0014 verification: | ./chip-tool doorlock write number-of-week-day-schedules-supported-per-user 1 1 [1653385709.789383][3739:3739] CHIP:TOO: Unknown attribute: number-of-week-day-schedules-supported-per-user @@ -374,6 +405,7 @@ tests: - label: "TH reads NumberOfWeekDaySchedulesSupportedPerUser attribute from DUT" + PICS: DRLK.S.A0014 verification: | ./chip-tool doorlock read number-of-week-day-schedules-supported-per-user 1 1 @@ -383,6 +415,7 @@ tests: - label: "TH reads NumberOfYearDaySchedulesSupportedPeruser attribute from DUT" + PICS: DRLK.S.A0015 && DRLK.S.F04 verification: | ./chip-tool doorlock read number-of-year-day-schedules-supported-per-user 1 1 @@ -392,6 +425,7 @@ tests: - label: "TH writes NumberOfYearDaySchedulesSupportedPerUser attribute as 35" + PICS: DRLK.S.A0015 verification: | ./chip-tool doorlock write number-of-year-day-schedules-supported-per-user 1 1 [1653385752.463713][3740:3740] CHIP:TOO: Unknown attribute: number-of-year-day-schedules-supported-per-user @@ -399,6 +433,7 @@ tests: - label: "TH reads NumberOfYearDaySchedulesSupportedPerUser attribute from DUT" + PICS: DRLK.S.A0015 verification: | ./chip-tool doorlock read number-of-year-day-schedules-supported-per-user 1 1 @@ -407,6 +442,7 @@ tests: disabled: true - label: "TH reads NumberOfHoliDaySchedulesSupported attribute from DUT" + PICS: DRLK.S.A0016 && DRLK.S.F04 verification: | ./chip-tool doorlock read number-of-holiday-schedules-supported 1 1 @@ -415,12 +451,14 @@ tests: disabled: true - label: "TH writes NumberOfHolidaySchedulesSupported attribute as 36" + PICS: DRLK.S.A0016 verification: | ./chip-tool doorlock write number-of-holiday-schedules-supported 1 1 [1653385816.916485][3743:3743] CHIP:TOO: Unknown attribute: number-of-holiday-schedules-supported disabled: true - label: "TH reads NumberOfHolidaySchedulesSupported attribute from DUT" + PICS: DRLK.S.A0016 verification: | ./chip-tool doorlock read number-of-holiday-schedules-supported 1 1 @@ -429,6 +467,7 @@ tests: disabled: true - label: "TH reads MaxPINCodeLength attribute from DUT" + PICS: DRLK.S.A0017 && DRLK.S.F00 verification: | ./chip-tool doorlock read max-pincode-length 1 1 @@ -437,12 +476,14 @@ tests: disabled: true - label: "TH writes MaxPINCodeLength attribute as 85" + PICS: DRLK.S.A0017 verification: | ./chip-tool doorlock write max-pincode-length 1 1 [1653385871.706688][3746:3746] CHIP:TOO: Unknown attribute: max-pincode-length disabled: true - label: "TH reads MaxPINCodeLength attribute from DUT" + PICS: DRLK.S.A0017 verification: | ./chip-tool doorlock read max-pincode-length 1 1 @@ -451,6 +492,7 @@ tests: disabled: true - label: "TH reads MinPINCodeLength attribute from DUT" + PICS: DRLK.S.A0018 && DRLK.S.F00 verification: | ./chip-tool doorlock read min-pincode-length 1 1 @@ -459,12 +501,14 @@ tests: disabled: true - label: "TH writes MinPINCodeLength attribute as 63" + PICS: DRLK.S.A0018 verification: | ./chip-tool doorlock write min-pincode-length 1 1 [1653385909.076429][3750:3750] CHIP:TOO: Unknown attribute: min-pincode-length disabled: true - label: "TH reads MinPINCodeLength attribute from DUT" + PICS: DRLK.S.A0018 verification: | ./chip-tool doorlock read min-pincode-length 1 1 @@ -473,6 +517,7 @@ tests: disabled: true - label: "TH reads MaxRFIDCodeLength attribute from DUT" + PICS: DRLK.S.A0019 && DRLK.S.F01 verification: | ./chip-tool doorlock read max-rfidcode-length 1 1 @@ -481,12 +526,14 @@ tests: disabled: true - label: "TH writes MaxRFIDCodeLength attribute as 46" + PICS: DRLK.S.A0019 verification: | ./chip-tool doorlock write max-rfidcode-length 1 1 [1653385943.981181][3752:3752] CHIP:TOO: Unknown attribute: max-rfidcode-length disabled: true - label: "TH reads MaxRFIDCodeLength attribute from DUT" + PICS: DRLK.S.A0019 verification: | ./chip-tool doorlock read max-rfidcode-length 1 1 @@ -495,6 +542,7 @@ tests: disabled: true - label: "TH reads MinRFIDCodeLength attribute from DUT" + PICS: DRLK.S.A001a && DRLK.S.F01 verification: | ./chip-tool doorlock read max-rfidcode-length 1 1 @@ -503,12 +551,14 @@ tests: disabled: true - label: "TH writes MinRFIDCodeLength attribute as 17" + PICS: DRLK.S.A001a verification: | ./chip-tool doorlock write min-rfidcode-length 1 1 [1653385975.104136][3754:3754] CHIP:TOO: Unknown attribute: min-rfidcode-length disabled: true - label: "TH reads MinRFIDCodeLength attribute from DUT" + PICS: DRLK.S.A001a verification: | ./chip-tool doorlock read max-rfidcode-length 1 1 @@ -517,6 +567,7 @@ tests: disabled: true - label: "TH reads CredentialRulesSupport attribute from DUT" + PICS: DRLK.S.A001b && DRLK.S.F08 verification: | ./chip-tool doorlock read credential-rules-support 1 1 @@ -525,12 +576,14 @@ tests: disabled: true - label: "TH writes CredentialRulesSupport attribute as bit 0 is set to 1" + PICS: DRLK.S.A001b verification: | ./chip-tool doorlock write credential-rules-support 1 1 [1653386016.121955][3760:3760] CHIP:TOO: Unknown attribute: credential-rules-support disabled: true - label: "TH reads CredentialRulesSupport attribute from DUT" + PICS: DRLK.S.A001b verification: | ./chip-tool doorlock read credential-rules-support 1 1 @@ -539,6 +592,7 @@ tests: disabled: true - label: "TH reads Language attribute from DUT" + PICS: DRLK.S.A0021 verification: | ./chip-tool doorlock read language 1 1 @@ -547,6 +601,7 @@ tests: disabled: true - label: "TH writes Language attribute as en" + PICS: DRLK.S.A0021 verification: | ./chip-tool doorlock write language fr 1 1 @@ -564,6 +619,7 @@ tests: disabled: true - label: "TH reads Language attribute from DUT" + PICS: DRLK.S.A0021 verification: | ./chip-tool doorlock read language 1 1 @@ -573,6 +629,7 @@ tests: disabled: true - label: "TH reads LEDSettings attribute from DUT" + PICS: DRLK.S.A0022 verification: | ./chip-tool doorlock read ledsettings 1 1 @@ -581,6 +638,7 @@ tests: disabled: true - label: "TH writes LEDSettings attribute as 2" + PICS: DRLK.S.A0021 verification: | ./chip-tool doorlock write ledsettings 2 1 1 @@ -599,6 +657,7 @@ tests: disabled: true - label: "TH reads LEDSettings attribute from DUT" + PICS: DRLK.S.A0021 verification: | ./chip-tool doorlock read ledsettings 1 1 @@ -607,6 +666,7 @@ tests: disabled: true - label: "TH reads AutoRelockTime attribute from DUT" + PICS: DRLK.S.A0023 verification: | ./chip-tool doorlock read auto-relock-time 1 1 @@ -615,6 +675,7 @@ tests: disabled: true - label: "TH writes AutoRelockTime attribute as 180 seconds" + PICS: DRLK.S.A0023 verification: | ./chip-tool doorlock write auto-relock-time 180 1 1 @@ -633,6 +694,7 @@ tests: disabled: true - label: "TH reads AutoRelockTime attribute from DUT" + PICS: DRLK.S.A0023 verification: | ./chip-tool doorlock read auto-relock-time 1 1 @@ -641,6 +703,7 @@ tests: disabled: true - label: "TH reads SoundVolume attribute from DUT" + PICS: DRLK.S.A0024 verification: | ./chip-tool doorlock read sound-volume 1 1 @@ -649,6 +712,7 @@ tests: disabled: true - label: "TH writes SoundVolume attribute as 3" + PICS: DRLK.S.A0024 verification: | ./chip-tool doorlock write sound-volume 3 1 1 @@ -667,6 +731,7 @@ tests: disabled: true - label: "TH reads SoundVolume attribute from DUT" + PICS: DRLK.S.A0024 verification: | ./chip-tool doorlock read sound-volume 1 1 @@ -675,6 +740,7 @@ tests: disabled: true - label: "TH reads OperatingMode attribute from DUT" + PICS: DRLK.S.A0025 verification: | ./chip-tool doorlock read operating-mode 1 1 @@ -683,6 +749,7 @@ tests: disabled: true - label: "TH writes OperatingMode attribute as 3" + PICS: DRLK.S.A0025 verification: | ./chip-tool doorlock write operating-mode 3 1 1 @@ -701,6 +768,7 @@ tests: disabled: true - label: "TH reads OperatingMode attribute from DUT" + PICS: DRLK.S.A0025 verification: | ./chip-tool doorlock read operating-mode 1 1 @@ -709,6 +777,7 @@ tests: disabled: true - label: "TH reads SupportedOperatingModes attribute from DUT" + PICS: DRLK.S.A0026 verification: | ./chip-tool doorlock read supported-operating-modes 1 1 @@ -717,12 +786,14 @@ tests: disabled: true - label: "TH writes SupportedOperatingModes attribute as bit 0 is set to 0" + PICS: DRLK.S.A0026 verification: | ./chip-tool doorlock write supported-operating-modes 1 1 [1653386184.298481][3773:3773] CHIP:TOO: Unknown attribute: supported-operating-modes disabled: true - label: "TH reads SupportedOperatingModes attribute from DUT" + PICS: DRLK.S.A0026 verification: | ./chip-tool doorlock read supported-operating-modes 1 1 @@ -731,6 +802,7 @@ tests: disabled: true - label: "TH reads DefualtConfigurationRegister attribute from DUT" + PICS: DRLK.S.A0027 verification: | ./chip-tool doorlock read default-configuration-register 1 1 @@ -753,12 +825,14 @@ tests: - label: "TH writes DefaultConfigurationRegister attribute as bit 0 is set to 1" + PICS: DRLK.S.A0027 verification: | ./chip-tool doorlock write default-configuration-register 1 1 [1653386246.611681][3780:3780] CHIP:TOO: Unknown attribute: default-configuration-register disabled: true - label: "TH reads DefaultConfigurationRegister attribute from DUT" + PICS: DRLK.S.A0027 verification: | ./chip-tool doorlock read default-configuration-register 1 1 @@ -780,6 +854,7 @@ tests: disabled: true - label: "TH reads EnableLocalProgramming attribute from DUT" + PICS: DRLK.S.A0028 verification: | ./chip-tool doorlock read enable-local-programming 1 1 @@ -801,6 +876,7 @@ tests: disabled: true - label: "TH writes EnableLocalProgramming attribute as false" + PICS: DRLK.S.A0028 verification: | ./chip-tool doorlock write enable-local-programming 0 1 1 @@ -819,6 +895,7 @@ tests: disabled: true - label: "TH reads EnableLocalProgramming attribute from DUT" + PICS: DRLK.S.A0028 verification: | ./chip-tool doorlock read enable-local-programming 1 1 @@ -840,6 +917,7 @@ tests: disabled: true - label: "TH reads EnableOneTouchLocking attribute from DUT" + PICS: DRLK.S.A0029 verification: | ./chip-tool doorlock read enable-one-touch-locking 1 1 @@ -848,6 +926,7 @@ tests: disabled: true - label: "TH writes EnableOneTouchLocking attribute as true" + PICS: DRLK.S.A0029 verification: | ./chip-tool doorlock write enable-one-touch-locking 1 1 1 @@ -866,6 +945,7 @@ tests: disabled: true - label: "TH reads EnableOneTouchLocking attribute from DUT" + PICS: DRLK.S.A0029 verification: | ./chip-tool doorlock read enable-one-touch-locking 1 1 @@ -874,6 +954,7 @@ tests: disabled: true - label: "TH reads EnableInsideStatusLED attribute from DUT" + PICS: DRLK.S.A002a verification: | ./chip-tool doorlock read enable-inside-status-led 1 1 @@ -895,6 +976,7 @@ tests: disabled: true - label: "TH writes EnableInsideStatusLED attribute as true" + PICS: DRLK.S.A002a verification: | ./chip-tool doorlock write enable-inside-status-led 1 1 1 @@ -914,6 +996,7 @@ tests: disabled: true - label: "TH reads EnableInsideStatusLED attribute from DUT" + PICS: DRLK.S.A002a verification: | ./chip-tool doorlock read enable-inside-status-led 1 1 @@ -935,6 +1018,7 @@ tests: disabled: true - label: "TH reads EnablePrivacyModeButton attribute from DUT" + PICS: DRLK.S.A002b verification: | ./chip-tool doorlock read enable-privacy-mode-button 1 1 @@ -943,6 +1027,7 @@ tests: disabled: true - label: "TH writes EnablePrivacyModeButton attribute as true" + PICS: DRLK.S.A002b verification: | ./chip-tool doorlock write enable-privacy-mode-button 1 1 1 @@ -962,6 +1047,7 @@ tests: disabled: true - label: "TH reads EnablePrivacyModeButton attribute from DUT" + PICS: DRLK.S.A002b verification: | ./chip-tool doorlock read enable-privacy-mode-button 1 1 @@ -970,6 +1056,7 @@ tests: disabled: true - label: "TH reads LocalProgrammingFeatures attribute from DUT" + PICS: DRLK.S.A002c verification: | ./chip-tool doorlock read local-programming-features 1 1 @@ -991,6 +1078,7 @@ tests: disabled: true - label: "TH writes LocalProgrammingFeatures attribute as true" + PICS: DRLK.S.A002c verification: | ./chip-tool doorlock write local-programming-features 1 1 1 @@ -1009,6 +1097,7 @@ tests: disabled: true - label: "TH reads LocalProgrammingFeatures attribute from DUT" + PICS: DRLK.S.A002c verification: | ./chip-tool doorlock read local-programming-features 1 1 @@ -1030,6 +1119,7 @@ tests: disabled: true - label: "TH reads WrongCodeEntryLimit attribute from DUT" + PICS: DRLK.S.A0030 && ( DRLK.S.F00 || DRLK.S.F01 ) verification: | ./chip-tool doorlock read wrong-code-entry-limit 1 1 @@ -1038,6 +1128,7 @@ tests: disabled: true - label: "TH writes WrongCodeEntryLimit attribute as 8" + PICS: DRLK.S.A0030 verification: | ./chip-tool doorlock write wrong-code-entry-limit 8 1 1 @@ -1056,6 +1147,7 @@ tests: disabled: true - label: "TH reads WrongCodeEntryLimit attribute" + PICS: DRLK.S.A0030 verification: | ./chip-tool doorlock read wrong-code-entry-limit 1 1 @@ -1064,6 +1156,7 @@ tests: disabled: true - label: "TH reads UserCodeTemporaryDisableTime attribute from DUT" + PICS: DRLK.S.A0031 && ( DRLK.S.F00 || DRLK.S.F01 ) verification: | ./chip-tool doorlock read user-code-temporary-disable-time 1 1 @@ -1072,6 +1165,7 @@ tests: disabled: true - label: "TH writes UserCodeTemporaryDisableTime attribute as 34" + PICS: DRLK.S.A0031 verification: | ./chip-tool doorlock write user-code-temporary-disable-time 34 1 1 @@ -1090,6 +1184,7 @@ tests: disabled: true - label: "TH reads UserCodeTemporaryDisableTime attribute" + PICS: DRLK.S.A0031 verification: | ./chip-tool doorlock read user-code-temporary-disable-time 1 1 @@ -1097,68 +1192,8 @@ tests: [1653384662.484152][3645:3650] CHIP:TOO: UserCodeTemporaryDisableTime: 34 disabled: true - - label: "TH reads SendPINOverTheAir attribute from DUT" - verification: | - ./chip-tool doorlock read send-pinover-the-air 1 1 - - [1653384719.659620][3654:3659] CHIP:DMG: StatusIB = - [1653384719.659669][3654:3659] CHIP:DMG: { - [1653384719.659717][3654:3659] CHIP:DMG: status = 0x86 (UNSUPPORTED_ATTRIBUTE), - [1653384719.659762][3654:3659] CHIP:DMG: }, - [1653384719.659810][3654:3659] CHIP:DMG: - [1653384719.659851][3654:3659] CHIP:DMG: }, - [1653384719.659893][3654:3659] CHIP:DMG: - [1653384719.659930][3654:3659] CHIP:DMG: }, - [1653384719.659973][3654:3659] CHIP:DMG: - [1653384719.660004][3654:3659] CHIP:DMG: ], - [1653384719.660045][3654:3659] CHIP:DMG: - [1653384719.660078][3654:3659] CHIP:DMG: SuppressResponse = true, - [1653384719.660140][3654:3659] CHIP:DMG: InteractionModelRevision = 1 - [1653384719.660172][3654:3659] CHIP:DMG: } - [1653384719.660313][3654:3659] CHIP:TOO: Response Failure: IM Error 0x00000586: General error: 0x86 (UNSUPPORTED_ATTRIBUTE) - disabled: true - - - label: "TH writes SendPINOverTheAir attribute as true" - verification: | - ./chip-tool doorlock write send-pinover-the-air 1 1 1 - - - [1653386559.030446][3821:3826] CHIP:DMG: StatusIB = - [1653386559.030508][3821:3826] CHIP:DMG: { - [1653386559.030571][3821:3826] CHIP:DMG: status = 0x86 (UNSUPPORTED_ATTRIBUTE), - [1653386559.030630][3821:3826] CHIP:DMG: }, - [1653386559.030689][3821:3826] CHIP:DMG: - [1653386559.030740][3821:3826] CHIP:DMG: }, - [1653386559.030799][3821:3826] CHIP:DMG: - [1653386559.030843][3821:3826] CHIP:DMG: ], - [1653386559.030898][3821:3826] CHIP:DMG: - [1653386559.030942][3821:3826] CHIP:DMG: InteractionModelRevision = 1 - [1653386559.030985][3821:3826] CHIP:DMG: } - [1653386559.031093][3821:3826] CHIP:TOO: Response Failure: IM Error 0x00000586: General error: 0x86 (UNSUPPORTED_ATTRIBUTE) - disabled: true - - - label: "TH reads SendPINOverTheAir attribute" - verification: | - ./chip-tool doorlock read send-pinover-the-air 1 1 - - [1653384719.659620][3654:3659] CHIP:DMG: StatusIB = - [1653384719.659669][3654:3659] CHIP:DMG: { - [1653384719.659717][3654:3659] CHIP:DMG: status = 0x86 (UNSUPPORTED_ATTRIBUTE), - [1653384719.659762][3654:3659] CHIP:DMG: }, - [1653384719.659810][3654:3659] CHIP:DMG: - [1653384719.659851][3654:3659] CHIP:DMG: }, - [1653384719.659893][3654:3659] CHIP:DMG: - [1653384719.659930][3654:3659] CHIP:DMG: }, - [1653384719.659973][3654:3659] CHIP:DMG: - [1653384719.660004][3654:3659] CHIP:DMG: ], - [1653384719.660045][3654:3659] CHIP:DMG: - [1653384719.660078][3654:3659] CHIP:DMG: SuppressResponse = true, - [1653384719.660140][3654:3659] CHIP:DMG: InteractionModelRevision = 1 - [1653384719.660172][3654:3659] CHIP:DMG: } - [1653384719.660313][3654:3659] CHIP:TOO: Response Failure: IM Error 0x00000586: General error: 0x86 (UNSUPPORTED_ATTRIBUTE) - disabled: true - - label: "TH reads RequirePINforRemoteOperation attribute from DUT" + PICS: DRLK.S.A0033 && ( DRLK.S.F00 || DRLK.S.F07 ) verification: | ./chip-tool doorlock read require-pinfor-remote-operation 1 1 @@ -1167,6 +1202,7 @@ tests: disabled: true - label: "TH writes RequirePINforRemoteOperation attribute as true" + PICS: DRLK.S.A0033 verification: | ./chip-tool doorlock write require-pinfor-remote-operation 1 1 1 @@ -1185,6 +1221,7 @@ tests: disabled: true - label: "TH reads RequirePINforRemoteOperation attribute" + PICS: DRLK.S.A0033 verification: | ./chip-tool doorlock read require-pinfor-remote-operation 1 1 @@ -1193,6 +1230,7 @@ tests: disabled: true - label: "TH reads ExpiringUserTimeOut attribute from DUT" + PICS: DRLK.S.A0035 && DRLK.S.F08 verification: | ./chip-tool doorlock read expiring-user-timeout 1 1 @@ -1214,6 +1252,7 @@ tests: disabled: true - label: "TH writes ExpiringUserTimeout attribute as 10 minutes" + PICS: DRLK.S.A0035 verification: | ./chip-tool doorlock write expiring-user-timeout 1 1 1 @@ -1232,6 +1271,7 @@ tests: disabled: true - label: "TH reads ExpiringUserTimeout attribute" + PICS: DRLK.S.A0035 verification: | ./chip-tool doorlock read expiring-user-timeout 1 1 diff --git a/src/app/tests/suites/certification/Test_TC_DLRK_2_10.yaml b/src/app/tests/suites/certification/Test_TC_DRLK_2_10.yaml similarity index 95% rename from src/app/tests/suites/certification/Test_TC_DLRK_2_10.yaml rename to src/app/tests/suites/certification/Test_TC_DRLK_2_10.yaml index 11e66ae90be8a1..b90907d1d2221d 100644 --- a/src/app/tests/suites/certification/Test_TC_DLRK_2_10.yaml +++ b/src/app/tests/suites/certification/Test_TC_DRLK_2_10.yaml @@ -23,6 +23,7 @@ config: tests: - label: "Initiate a DoorLockAlarm Event by setting the AlarmCode to 0" + PICS: DRLK.S.E00 verification: | sudo ./chip-tool doorlock read-event door-lock-alarm 1 1 @@ -34,6 +35,7 @@ tests: disabled: true - label: "Initiate a DoorLockAlarm Event by setting the AlarmCode to 1" + PICS: DRLK.S.E00 verification: | "sudo ./chip-tool doorlock read-event door-lock-alarm 1 1 @@ -45,6 +47,7 @@ tests: disabled: true - label: "Initiate a DoorLockAlarm Event by setting the AlarmCode to 3" + PICS: DRLK.S.E00 verification: | sudo ./chip-tool doorlock read-event door-lock-alarm 1 1 @@ -56,6 +59,7 @@ tests: disabled: true - label: "Initiate a DoorLockAlarm Event by setting the AlarmCode to 4" + PICS: DRLK.S.E00 verification: | "sudo ./chip-tool doorlock read-event door-lock-alarm 1 1 @@ -67,6 +71,7 @@ tests: disabled: true - label: "Initiate a DoorLockAlarm Event by setting the AlarmCode to 5" + PICS: DRLK.S.E00 verification: | "sudo ./chip-tool doorlock read-event door-lock-alarm 1 1 @@ -78,6 +83,7 @@ tests: disabled: true - label: "Initiate a DoorLockAlarm Event by setting the AlarmCode to 6" + PICS: DRLK.S.E00 verification: | sudo ./chip-tool doorlock read-event door-lock-alarm 1 1 @@ -89,6 +95,7 @@ tests: disabled: true - label: "Initiate a DoorLockAlarm Event by setting the AlarmCode to 7" + PICS: DRLK.S.E00 verification: | sudo ./chip-tool doorlock read-event door-lock-alarm 1 1 @@ -100,6 +107,7 @@ tests: disabled: true - label: "Initiate a DoorLockAlarm Event by setting the AlarmCode to 8" + PICS: DRLK.S.E00 verification: | sudo ./chip-tool doorlock read-event door-lock-alarm 1 1 @@ -111,6 +119,7 @@ tests: disabled: true - label: "Initiate a DoorStateChange event by setting the DoorState to 0" + PICS: DRLK.S.F05 && DRLK.S.E01 verification: | sudo ./chip-tool doorlock read-event door-state-change 1 1 @@ -122,6 +131,7 @@ tests: disabled: true - label: "Initiate a DoorStateChange event by setting the DoorState to 1" + PICS: DRLK.S.F05 && DRLK.S.E01 verification: | sudo ./chip-tool doorlock read-event door-state-change 1 1 @@ -133,6 +143,7 @@ tests: disabled: true - label: "Initiate a DoorStateChange event by setting the DoorState to 2" + PICS: DRLK.S.F05 && DRLK.S.E01 verification: | sudo ./chip-tool doorlock read-event door-state-change 1 1 @@ -144,6 +155,7 @@ tests: disabled: true - label: "Initiate a DoorStateChange event by setting the DoorState to 3" + PICS: DRLK.S.F05 && DRLK.S.E01 verification: | sudo ./chip-tool doorlock read-event door-state-change 1 1 @@ -155,6 +167,7 @@ tests: disabled: true - label: "Initiate a DoorStateChange event by setting the DoorState to 4" + PICS: DRLK.S.F05 && DRLK.S.E01 verification: | sudo ./chip-tool doorlock read-event door-state-change 1 1 @@ -166,6 +179,7 @@ tests: disabled: true - label: "Initiate a DoorStateChange event by setting the DoorState to 5" + PICS: DRLK.S.F05 && DRLK.S.E01 verification: | sudo ./chip-tool doorlock read-event door-state-change 1 1 @@ -177,6 +191,7 @@ tests: disabled: true - label: "Initiate a LockOperation event by setting OperationSource to 0" + PICS: DRLK.S.E02 verification: | sudo ./chip-tool doorlock read-event lock-operation 1 1 @@ -188,6 +203,7 @@ tests: disabled: true - label: "Initiate a LockOperation event by setting OperationSource to 1" + PICS: DRLK.S.E02 verification: | sudo ./chip-tool doorlock read-event lock-operation 1 1 @@ -199,6 +215,7 @@ tests: disabled: true - label: "Initiate a LockOperation event by setting OperationSource to 2" + PICS: DRLK.S.E02 verification: | sudo ./chip-tool doorlock read-event lock-operation 1 1 @@ -210,6 +227,7 @@ tests: disabled: true - label: "Initiate a LockOperation event by setting OperationSource to 3" + PICS: DRLK.S.E02 verification: | sudo ./chip-tool doorlock read-event lock-operation 1 1 @@ -221,6 +239,7 @@ tests: disabled: true - label: "Initiate a LockOperation event by setting OperationSource to 4" + PICS: DRLK.S.E02 verification: | sudo ./chip-tool doorlock read-event lock-operation 1 1 @@ -232,6 +251,7 @@ tests: disabled: true - label: "Initiate a LockOperation event by setting OperationSource to 5" + PICS: DRLK.S.E02 verification: | sudo ./chip-tool doorlock read-event lock-operation 1 1 @@ -243,6 +263,7 @@ tests: disabled: true - label: "Initiate a LockOperation event by setting OperationSource to 6" + PICS: DRLK.S.E02 verification: | sudo ./chip-tool doorlock read-event lock-operation 1 1 @@ -254,6 +275,7 @@ tests: disabled: true - label: "Initiate a LockOperation event by setting OperationSource to 7" + PICS: DRLK.S.E02 verification: | sudo ./chip-tool doorlock read-event lock-operation 1 1 @@ -265,6 +287,7 @@ tests: disabled: true - label: "Initiate a LockOperation event by setting OperationSource to 8" + PICS: DRLK.S.E02 verification: | sudo ./chip-tool doorlock read-event lock-operation 1 1 @@ -276,6 +299,7 @@ tests: disabled: true - label: "Initiate a LockOperation event by setting OperationSource to 9" + PICS: DRLK.S.E02 verification: | sudo ./chip-tool doorlock read-event lock-operation 1 1 @@ -288,6 +312,7 @@ tests: - label: "Initiate a LockOperationError Event by setting OperationError as 0" + PICS: DRLK.S.E03 verification: | ./chip-tool doorlock read-event lock-operation-error 1 1 @@ -300,6 +325,7 @@ tests: - label: "Initiate a LockOperationError Event by setting OperationError as 1" + PICS: DRLK.S.E03 verification: | ./chip-tool doorlock read-event lock-operation-error 1 1 @@ -312,6 +338,7 @@ tests: - label: "Initiate a LockOperationError Event by setting OperationError as 2" + PICS: DRLK.S.E03 verification: | ./chip-tool doorlock read-event lock-operation-error 1 1 @@ -324,6 +351,7 @@ tests: - label: "Initiate a LockOperationError Event by setting OperationError as 3" + PICS: DRLK.S.E03 verification: | ./chip-tool doorlock read-event lock-operation-error 1 1 @@ -336,6 +364,7 @@ tests: - label: "Initiate a LockOperationError Event by setting OperationError as 4" + PICS: DRLK.S.E03 verification: | ./chip-tool doorlock read-event lock-operation-error 1 1 @@ -347,6 +376,7 @@ tests: disabled: true - label: "Initiate a LockUserChange event by changing the Lock User" + PICS: DRLK.S.E03 verification: | sudo ./chip-tool doorlock read-event lock-user-change 1 1 @@ -358,6 +388,7 @@ tests: disabled: true - label: "Initiate a LockUserChange event by changing the Schedule" + PICS: DRLK.S.E03 verification: | sudo ./chip-tool doorlock read-event lock-user-change 1 1 @@ -369,6 +400,7 @@ tests: disabled: true - label: "Initiate a LockUserChange event by changing the Credential" + PICS: DRLK.S.E03 verification: | sudo ./chip-tool doorlock read-event lock-user-change 1 1 diff --git a/src/app/tests/suites/certification/Test_TC_DLRK_2_2.yaml b/src/app/tests/suites/certification/Test_TC_DRLK_2_2.yaml similarity index 93% rename from src/app/tests/suites/certification/Test_TC_DLRK_2_2.yaml rename to src/app/tests/suites/certification/Test_TC_DRLK_2_2.yaml index 4e273822297e17..37b70334b52eb0 100644 --- a/src/app/tests/suites/certification/Test_TC_DLRK_2_2.yaml +++ b/src/app/tests/suites/certification/Test_TC_DRLK_2_2.yaml @@ -31,12 +31,14 @@ tests: - label: "TH writes the RequirePINforRemoteOperation attribute value as False on the DUT" + PICS: DRLK.S.A0033 command: "writeAttribute" attribute: "RequirePINforRemoteOperation" arguments: value: false - label: "TH sends Lock Door Command to the DUT without PINCode" + PICS: DRLK.S.C00.Rsp command: "LockDoor" timedInteractionTimeoutMs: 10000 arguments: @@ -49,12 +51,14 @@ tests: - label: "TH writes the RequirePINforRemoteOperation attribute value as True on the DUT" + PICS: DRLK.S.A0033 command: "writeAttribute" attribute: "RequirePINforRemoteOperation" arguments: value: true - label: "Create new PIN credential and lock/unlock user" + PICS: DRLK.S.C22.Rsp command: "SetCredential" timedInteractionTimeoutMs: 10000 arguments: @@ -81,6 +85,7 @@ tests: value: 2 - label: "TH sends Lock Door Command to the DUT with valid PINCode" + PICS: DRLK.S.C00.Rsp command: "LockDoor" timedInteractionTimeoutMs: 10000 arguments: @@ -90,6 +95,7 @@ tests: - label: "TH sends Lock Door Command to the DUT without any argument PINCode" + PICS: DRLK.S.C00.Rsp command: "LockDoor" timedInteractionTimeoutMs: 10000 arguments: @@ -100,6 +106,7 @@ tests: error: FAILURE - label: "TH writes WrongCodeEntryLimit attribute value as 3 on the DUT" + PICS: DRLK.S.A0030 command: "writeAttribute" attribute: "WrongCodeEntryLimit" arguments: @@ -108,12 +115,14 @@ tests: - label: "TH writes UserCodeTemporaryDisableTime attribute value as 5 seconds on the DUT" + PICS: DRLK.S.A0031 command: "writeAttribute" attribute: "UserCodeTemporaryDisableTime" arguments: value: 5 - label: "TH sends Lock Door Command to the DUT with invalid PINCode" + PICS: DRLK.S.C00.Rsp command: "LockDoor" timedInteractionTimeoutMs: 10000 arguments: @@ -124,6 +133,7 @@ tests: error: FAILURE - label: "TH sends Lock Door Command to the DUT with invalid PINCode" + PICS: DRLK.S.C00.Rsp command: "LockDoor" timedInteractionTimeoutMs: 10000 arguments: @@ -134,6 +144,7 @@ tests: error: FAILURE - label: "TH sends Lock Door Command to the DUT with invalid PINCode" + PICS: DRLK.S.C00.Rsp command: "LockDoor" timedInteractionTimeoutMs: 10000 arguments: @@ -144,6 +155,7 @@ tests: error: FAILURE - label: "TH sends Lock Door Command to the DUT with invalid PINCode" + PICS: DRLK.S.C00.Rsp command: "LockDoor" timedInteractionTimeoutMs: 10000 arguments: @@ -154,12 +166,14 @@ tests: error: FAILURE - label: "TH reads UserCodeTemporaryDisableTime attribute from DUT" + PICS: DRLK.S.A0031 command: "readAttribute" attribute: "UserCodeTemporaryDisableTime" response: value: 5 - label: "TH sends Lock Door Command to the DUT with valid PINCode" + PICS: DRLK.S.C00.Rsp command: "LockDoor" timedInteractionTimeoutMs: 10000 arguments: @@ -168,6 +182,7 @@ tests: value: "123456" - label: "Clean the created credential" + PICS: DRLK.S.C26.Rsp command: "ClearCredential" timedInteractionTimeoutMs: 10000 arguments: diff --git a/src/app/tests/suites/certification/Test_TC_DLRK_2_3.yaml b/src/app/tests/suites/certification/Test_TC_DRLK_2_3.yaml similarity index 94% rename from src/app/tests/suites/certification/Test_TC_DLRK_2_3.yaml rename to src/app/tests/suites/certification/Test_TC_DRLK_2_3.yaml index 6ed9635996210c..a8177cb10a1aff 100644 --- a/src/app/tests/suites/certification/Test_TC_DLRK_2_3.yaml +++ b/src/app/tests/suites/certification/Test_TC_DRLK_2_3.yaml @@ -29,6 +29,7 @@ tests: value: nodeId - label: "Create new PIN credential and lock/unlock user" + PICS: DRLK.S.C22.Rsp command: "SetCredential" timedInteractionTimeoutMs: 10000 arguments: @@ -55,6 +56,7 @@ tests: value: 2 - label: "Precondition: Door is in locked state" + PICS: DRLK.S.C00.Rsp command: "LockDoor" timedInteractionTimeoutMs: 10000 arguments: @@ -63,12 +65,14 @@ tests: value: "123456" - label: "TH writes AutoRelockTime attribute value as 10 seconds on the DUT" + PICS: DRLK.S.A0023 command: "writeAttribute" attribute: "AutoRelockTime" arguments: value: 10 - label: "TH sends the unlock Door command to the DUT with valid PINCode" + PICS: DRLK.S.C01.Rsp command: "UnlockDoor" timedInteractionTimeoutMs: 10000 arguments: @@ -77,6 +81,7 @@ tests: value: "123456" - label: "TH reads AutoRelockTime attribute from DUT" + PICS: DRLK.S.A0023 command: "readAttribute" attribute: "AutoRelockTime" response: @@ -91,12 +96,14 @@ tests: value: 10000 - label: "TH reads LockState attribute" + PICS: DRLK.S.A0000 command: "readAttribute" attribute: "LockState" response: value: 1 - label: "Clean the created credential" + PICS: DRLK.S.C26.Rsp command: "ClearCredential" timedInteractionTimeoutMs: 10000 arguments: diff --git a/src/app/tests/suites/certification/Test_TC_DLRK_2_4.yaml b/src/app/tests/suites/certification/Test_TC_DRLK_2_4.yaml similarity index 95% rename from src/app/tests/suites/certification/Test_TC_DLRK_2_4.yaml rename to src/app/tests/suites/certification/Test_TC_DRLK_2_4.yaml index ac62b26e234f63..ca9a5d0e6df86e 100644 --- a/src/app/tests/suites/certification/Test_TC_DLRK_2_4.yaml +++ b/src/app/tests/suites/certification/Test_TC_DRLK_2_4.yaml @@ -31,6 +31,7 @@ tests: value: nodeId - label: "Create new PIN credential and lock/unlock user" + PICS: DRLK.S.C22.Rsp command: "SetCredential" timedInteractionTimeoutMs: 10000 arguments: @@ -57,6 +58,7 @@ tests: value: 2 - label: "Precondition: Door is in locked state" + PICS: DRLK.S.C00.Rsp command: "LockDoor" timedInteractionTimeoutMs: 10000 arguments: @@ -65,12 +67,14 @@ tests: value: "123456" - label: "TH writes AutoRelockTime attribute value as 10 seconds on the DUT" + PICS: DRLK.S.A0023 command: "writeAttribute" attribute: "AutoRelockTime" arguments: value: 10 - label: "TH sends the unlock with Timeout command to the DUT " + PICS: DRLK.S.C03.Rsp command: "UnlockWithTimeout" timedInteractionTimeoutMs: 10000 arguments: @@ -81,6 +85,7 @@ tests: value: "123456" - label: "TH reads AutoRelockTime attribute from DUT" + PICS: DRLK.S.A0023 command: "readAttribute" attribute: "AutoRelockTime" response: @@ -95,6 +100,7 @@ tests: value: 5000 - label: "TH reads LockState attribute" + PICS: DRLK.S.A0000 command: "readAttribute" attribute: "LockState" response: diff --git a/src/app/tests/suites/certification/Test_TC_DLRK_2_5.yaml b/src/app/tests/suites/certification/Test_TC_DRLK_2_5.yaml similarity index 94% rename from src/app/tests/suites/certification/Test_TC_DLRK_2_5.yaml rename to src/app/tests/suites/certification/Test_TC_DRLK_2_5.yaml index e3c5746656c504..d27f97b414e44f 100644 --- a/src/app/tests/suites/certification/Test_TC_DLRK_2_5.yaml +++ b/src/app/tests/suites/certification/Test_TC_DRLK_2_5.yaml @@ -32,6 +32,7 @@ tests: value: nodeId - label: "Create new PIN credential and lock/unlock user" + PICS: DRLK.S.C22.Rsp command: "SetCredential" timedInteractionTimeoutMs: 10000 arguments: @@ -58,6 +59,7 @@ tests: value: 2 - label: "Get Max number of Week Day schedules for user" + PICS: DRLK.S.F04 && DRLK.S.A0014 command: "readAttribute" attribute: "NumberOfWeekDaySchedulesSupportedPerUser" response: @@ -65,6 +67,7 @@ tests: value: 10 - label: "Get number of supported users" + PICS: DRLK.S.F08 && DRLK.S.A0011 command: "readAttribute" attribute: "NumberOfTotalUsersSupported" response: @@ -72,6 +75,7 @@ tests: value: 10 - label: "Send Set Week Day Schedule Command to DUT" + PICS: DRLK.S.F04 && DRLK.S.C0B.Rsp command: "SetWeekDaySchedule" arguments: values: @@ -92,6 +96,7 @@ tests: #issue #18591 - label: "send GetWeekDay Schedule Command " + PICS: DRLK.S.F04 && DRLK.S.C0C.Rsp && DRLK.S.C0C.Tx command: "GetWeekDaySchedule" arguments: values: @@ -138,6 +143,7 @@ tests: - label: "Send Set Week Day Schedule Command to DUT and verify INVALID_COMMAND response" + PICS: DRLK.S.F04 && DRLK.S.C0B.Rsp command: "SetWeekDaySchedule" arguments: values: @@ -161,6 +167,7 @@ tests: - label: "send GetWeekDay Schedule Command to DUT and verify INVALID_COMMAND response" + PICS: DRLK.S.F04 && DRLK.S.C0C.Rsp && DRLK.S.C0C.Tx command: "GetWeekDaySchedule" arguments: values: @@ -193,6 +200,7 @@ tests: hasValue: false - label: "Clear all week day schedules for the first user" + PICS: DRLK.S.F04 && DRLK.S.C0D.Rsp command: "ClearWeekDaySchedule" arguments: values: @@ -202,6 +210,7 @@ tests: value: 1 - label: "send GetWeekDay Schedule Command " + PICS: DRLK.S.F04 && DRLK.S.C0C.Rsp && DRLK.S.C0C.Tx command: "GetWeekDaySchedule" arguments: values: diff --git a/src/app/tests/suites/certification/Test_TC_DRLK_2_6.yaml b/src/app/tests/suites/certification/Test_TC_DRLK_2_6.yaml new file mode 100644 index 00000000000000..66fe8c03d2a9eb --- /dev/null +++ b/src/app/tests/suites/certification/Test_TC_DRLK_2_6.yaml @@ -0,0 +1,201 @@ +# Copyright (c) 2021 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. +# Auto-generated scripts for harness use only, please review before automation. The endpoints and cluster names are currently set to default + +name: + 113.2.6. [TC-DRLK-2.6] Verification for the following Commands - Set Holiday + Schedule, Get Holiday Schedule, Get Holiday Schedule Response , Clear + Holiday Schedule [DUT-Server] + +config: + nodeId: 0x12344321 + cluster: "Basic" + endpoint: 0 + +tests: + - label: + "TH reads NumberOfHoliday SchedulesSupported and saves for future use." + PICS: DRLK.S.F04 && DRLK.S.A0016 + verification: | + ./chip-tool doorlock read number-of-holiday-schedules-supported 1 1 + + [1654691068.446440][4655:4660] CHIP:DMG: + [1654691068.446465][4655:4660] CHIP:DMG: SuppressResponse = true, + [1654691068.446492][4655:4660] CHIP:DMG: InteractionModelRevision = 1 + [1654691068.446515][4655:4660] CHIP:DMG: } + [1654691068.446648][4655:4660] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Attribute 0x0000_0016 DataVersion: 1413324060 + [1654691068.446726][4655:4660] CHIP:TOO: NumberOfHolidaySchedulesSupported: 10 + disabled: true + + - label: + "TH sends Set Holiday Schedule Command to DUT with the following + values: HolidayIndex as 1 LocalStartTime as 20 LocalEndTime as 30 + OperatingMode as 0" + PICS: DRLK.S.F04 && DRLK.S.C11.Rsp + verification: | + ./chip-tool doorlock set-holiday-schedule 1 20 30 0 1 1 + + [1654691200.905091][4669:4674] CHIP:DMG: StatusIB = + [1654691200.905122][4669:4674] CHIP:DMG: { + [1654691200.905162][4669:4674] CHIP:DMG: status = 0x00 (SUCCESS), + [1654691200.905198][4669:4674] CHIP:DMG: }, + [1654691200.905236][4669:4674] CHIP:DMG: + [1654691200.905266][4669:4674] CHIP:DMG: }, + [1654691200.905301][4669:4674] CHIP:DMG: + [1654691200.905326][4669:4674] CHIP:DMG: }, + [1654691200.905356][4669:4674] CHIP:DMG: + [1654691200.905380][4669:4674] CHIP:DMG: ], + [1654691200.905410][4669:4674] CHIP:DMG: + [1654691200.905434][4669:4674] CHIP:DMG: InteractionModelRevision = 1 + [1654691200.905463][4669:4674] CHIP:DMG: }, + disabled: true + + - label: + "TH sends Get Holiday Schedule Command to DUT with HolidayIndex as 1" + PICS: DRLK.S.F04 && DRLK.S.C12.Rsp && DRLK.S.C12.Tx + verification: | + ./chip-tool doorlock get-holiday-schedule 1 1 1 + + [1654691299.545647][4678:4683] CHIP:DMG: Received Command Response Data, Endpoint=1 Cluster=0x0000_0101 Command=0x0000_0012 + [1654691299.545701][4678:4683] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Command 0x0000_0012 + [1654691299.545769][4678:4683] CHIP:TOO: GetHolidayScheduleResponse: { + [1654691299.545807][4678:4683] CHIP:TOO: holidayIndex: 1 + [1654691299.545830][4678:4683] CHIP:TOO: status: 0 + [1654691299.545853][4678:4683] CHIP:TOO: localStartTime: 20 + [1654691299.545876][4678:4683] CHIP:TOO: localEndTime: 30 + [1654691299.545898][4678:4683] CHIP:TOO: operatingMode: 0 + [1654691299.545922][4678:4683] CHIP:TOO: } + disabled: true + + - label: + "TH sends Set Holiday Schedule Command to DUT with the following + values: HolidayIndex as 1 LocalStartTime as 20 LocalEndTime as 30 + OperatingMode as 5(invalid value)" + PICS: DRLK.S.C11.Rsp + verification: | + ./chip-tool doorlock set-holiday-schedule 1 20 30 5 1 1 + + [1655373066.616542][2571:2576] CHIP:DMG: { + [1655373066.616583][2571:2576] CHIP:DMG: suppressResponse = false, + [1655373066.616624][2571:2576] CHIP:DMG: InvokeResponseIBs = + [1655373066.616692][2571:2576] CHIP:DMG: [ + [1655373066.616732][2571:2576] CHIP:DMG: InvokeResponseIB = + [1655373066.616799][2571:2576] CHIP:DMG: { + [1655373066.616854][2571:2576] CHIP:DMG: CommandStatusIB = + [1655373066.616913][2571:2576] CHIP:DMG: { + [1655373066.616981][2571:2576] CHIP:DMG: CommandPathIB = + [1655373066.617046][2571:2576] CHIP:DMG: { + [1655373066.617118][2571:2576] CHIP:DMG: EndpointId = 0x1, + [1655373066.617200][2571:2576] CHIP:DMG: ClusterId = 0x101, + [1655373066.617264][2571:2576] CHIP:DMG: CommandId = 0x11, + [1655373066.617338][2571:2576] CHIP:DMG: }, + [1655373066.617412][2571:2576] CHIP:DMG: + [1655373066.617463][2571:2576] CHIP:DMG: StatusIB = + [1655373066.617538][2571:2576] CHIP:DMG: { + [1655373066.617612][2571:2576] CHIP:DMG: status = 0x85 (INVALID_COMMAND), + [1655373066.617672][2571:2576] CHIP:DMG: }, + [1655373066.617745][2571:2576] CHIP:DMG: + [1655373066.617806][2571:2576] CHIP:DMG: }, + [1655373066.617863][2571:2576] CHIP:DMG: + [1655373066.617921][2571:2576] CHIP:DMG: }, + [1655373066.617970][2571:2576] CHIP:DMG: + [1655373066.618024][2571:2576] CHIP:DMG: ], + [1655373066.618073][2571:2576] CHIP:DMG: + [1655373066.618127][2571:2576] CHIP:DMG: InteractionModelRevision = 1 + [1655373066.618166][2571:2576] CHIP:DMG: }, + disabled: true + + - label: + "TH sends Get Holiday Schedule Command to DUT with HolidayIndex as 1" + PICS: DRLK.S.F04 && DRLK.S.C12.Rsp && DRLK.S.C12.Tx + verification: | + ./chip-tool doorlock get-holiday-schedule 1 1 1 + + [1654691634.513667][4728:4733] CHIP:DMG: }, + [1654691634.513979][4728:4733] CHIP:DMG: Received Command Response Data, Endpoint=1 Cluster=0x0000_0101 Command=0x0000_0012 + [1654691634.514168][4728:4733] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Command 0x0000_0012 + [1654691634.514313][4728:4733] CHIP:TOO: GetHolidayScheduleResponse: { + [1654691634.514390][4728:4733] CHIP:TOO: holidayIndex: 1 + [1654691634.514448][4728:4733] CHIP:TOO: status: 0 + [1654691634.514503][4728:4733] CHIP:TOO: localStartTime: 20 + [1654691634.514558][4728:4733] CHIP:TOO: localEndTime: 30 + [1654691634.514613][4728:4733] CHIP:TOO: operatingMode: 0 + [1654691634.514670][4728:4733] CHIP:TOO: } + disabled: true + + - label: + "TH sends Get Holiday Schedule Command to DUT with HolidayIndex as 10" + PICS: DRLK.S.F04 && DRLK.S.C12.Rsp && DRLK.S.C12.Tx + verification: | + ./chip-tool doorlock get-holiday-schedule 10 1 1 + + [1654691928.900652][4772:4777] CHIP:DMG: }, + [1654691928.900762][4772:4777] CHIP:DMG: Received Command Response Data, Endpoint=1 Cluster=0x0000_0101 Command=0x0000_0012 + [1654691928.900844][4772:4777] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Command 0x0000_0012 + [1654691928.900944][4772:4777] CHIP:TOO: GetHolidayScheduleResponse: { + [1654691928.901003][4772:4777] CHIP:TOO: holidayIndex: 10 + [1654691928.901047][4772:4777] CHIP:TOO: status: 139 + [1654691928.901093][4772:4777] CHIP:TOO: } + disabled: true + + - label: + "TH sends Get Holiday Schedule Command to DUT with HolidayIndex as 6" + PICS: DRLK.S.F04 && DRLK.S.C12.Rsp && DRLK.S.C12.Tx + verification: | + ./chip-tool doorlock get-holiday-schedule 6 1 1 + + [1654692076.177892][4782:4787] CHIP:DMG: }, + [1654692076.178035][4782:4787] CHIP:DMG: Received Command Response Data, Endpoint=1 Cluster=0x0000_0101 Command=0x0000_0012 + [1654692076.178137][4782:4787] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Command 0x0000_0012 + [1654692076.178266][4782:4787] CHIP:TOO: GetHolidayScheduleResponse: { + [1654692076.178340][4782:4787] CHIP:TOO: holidayIndex: 6 + [1654692076.178397][4782:4787] CHIP:TOO: status: 139 + [1654692076.178456][4782:4787] CHIP:TOO: } + disabled: true + + - label: + "TH send Clear Holiday Schedule Command to DUT with HolidayIndex as 1" + PICS: DRLK.S.F04 && DRLK.S.C13.Rsp + verification: | + ./chip-tool doorlock clear-holiday-schedule 1 1 1 + + [1654692125.827938][4791:4796] CHIP:DMG: StatusIB = + [1654692125.828009][4791:4796] CHIP:DMG: { + [1654692125.828080][4791:4796] CHIP:DMG: status = 0x00 (SUCCESS), + [1654692125.828156][4791:4796] CHIP:DMG: }, + [1654692125.828233][4791:4796] CHIP:DMG: + [1654692125.828296][4791:4796] CHIP:DMG: }, + [1654692125.828367][4791:4796] CHIP:DMG: + [1654692125.828424][4791:4796] CHIP:DMG: }, + [1654692125.828488][4791:4796] CHIP:DMG: + [1654692125.828538][4791:4796] CHIP:DMG: ], + [1654692125.828601][4791:4796] CHIP:DMG: + [1654692125.828652][4791:4796] CHIP:DMG: InteractionModelRevision = 1 + [1654692125.828701][4791:4796] CHIP:DMG: }, + disabled: true + + - label: + "TH sends Get Holiday Schedule Command to DUT with HolidayIndex as 2" + PICS: DRLK.S.F04 && DRLK.S.C12.Rsp && DRLK.S.C12.Tx + verification: | + ./chip-tool doorlock get-holiday-schedule 2 1 1 + + [1654692193.188088][4801:4806] CHIP:DMG: }, + [1654692193.188152][4801:4806] CHIP:DMG: Received Command Response Data, Endpoint=1 Cluster=0x0000_0101 Command=0x0000_0012 + [1654692193.188203][4801:4806] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Command 0x0000_0012 + [1654692193.188264][4801:4806] CHIP:TOO: GetHolidayScheduleResponse: { + [1654692193.188300][4801:4806] CHIP:TOO: holidayIndex: 2 + [1654692193.188324][4801:4806] CHIP:TOO: status: 139 + [1654692193.188349][4801:4806] CHIP:TOO: } + disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_DLRK_2_7.yaml b/src/app/tests/suites/certification/Test_TC_DRLK_2_7.yaml similarity index 93% rename from src/app/tests/suites/certification/Test_TC_DLRK_2_7.yaml rename to src/app/tests/suites/certification/Test_TC_DRLK_2_7.yaml index bfd7a8bd86a437..6e082ffbe9d30d 100644 --- a/src/app/tests/suites/certification/Test_TC_DLRK_2_7.yaml +++ b/src/app/tests/suites/certification/Test_TC_DRLK_2_7.yaml @@ -84,6 +84,7 @@ tests: value: 3 - label: "Get Max number of year Day schedules for user" + PICS: DRLK.S.F04 && DRLK.S.A0015 command: "readAttribute" attribute: "NumberOfYearDaySchedulesSupportedPerUser" response: @@ -91,6 +92,7 @@ tests: value: 10 - label: "Get number of supported users" + PICS: DRLK.C.F08 && DRLK.S.A0011 command: "readAttribute" attribute: "NumberOfTotalUsersSupported" response: @@ -98,6 +100,7 @@ tests: value: 10 - label: "Send Set Year Day Schedule Command to DUT" + PICS: DRLK.S.F04 && DRLK.S.C0E.Rsp command: "SetYearDaySchedule" arguments: values: @@ -112,6 +115,7 @@ tests: #issue #18591 and #18590 - label: "send Get Year Day Schedule Command" + PICS: DRLK.S.F04 && DRLK.S.C0F.Rsp && DRLK.S.C0F.Tx command: "GetYearDaySchedule" arguments: values: @@ -141,6 +145,7 @@ tests: - label: "Send Set Year Day Schedule Command to DUT and verify INVALID_COMMAND response" + PICS: DRLK.S.C0E.Rsp command: "SetYearDaySchedule" arguments: values: @@ -158,6 +163,7 @@ tests: - label: "send Get Year Day Schedule Command to DUT and Verify INVALID_FIELD response" + PICS: DRLK.S.F04 && DRLK.S.C0F.Rsp && DRLK.S.C0F.Tx command: "GetYearDaySchedule" arguments: values: @@ -181,8 +187,8 @@ tests: hasValue: false - label: - "send Get Year Day Schedule Command to DUT and verify NOT_FOUND - response" + "send Get Year Day Schedule Command to DUT and verify FAILURE response" + PICS: DRLK.S.F04 && DRLK.S.C0F.Rsp && DRLK.S.C0F.Tx command: "GetYearDaySchedule" arguments: values: @@ -197,7 +203,7 @@ tests: - name: "userIndex" value: 5 - name: "status" - value: 0x8B + value: 0x01 - name: "LocalStartTime" constraints: hasValue: false @@ -208,6 +214,7 @@ tests: - label: "send Get Year Day Schedule Command to DUT and verify NOT_FOUND response " + PICS: DRLK.S.F04 && DRLK.S.C0F.Rsp && DRLK.S.C0F.Tx command: "GetYearDaySchedule" arguments: values: @@ -231,6 +238,7 @@ tests: hasValue: false - label: "Send Set Year Day Schedule Command to DUT" + PICS: DRLK.S.C0E.Rsp command: "SetYearDaySchedule" arguments: values: @@ -244,6 +252,7 @@ tests: value: 20 - label: "send Get Year Day Schedule Command " + PICS: DRLK.S.F04 && DRLK.S.C0F.Rsp && DRLK.S.C0F.Tx command: "GetYearDaySchedule" arguments: values: diff --git a/src/app/tests/suites/certification/Test_TC_DRLK_2_8.yaml b/src/app/tests/suites/certification/Test_TC_DRLK_2_8.yaml new file mode 100644 index 00000000000000..6295ce4cc40d5e --- /dev/null +++ b/src/app/tests/suites/certification/Test_TC_DRLK_2_8.yaml @@ -0,0 +1,326 @@ +# Copyright (c) 2021 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. +# Auto-generated scripts for harness use only, please review before automation. The endpoints and cluster names are currently set to default + +name: + 113.2.8. [TC-DRLK-2.8] Verification for the following Commands - Set User, + Get User, Get User Response, Clear User [DUT-Server] + +config: + nodeId: 0x12344321 + cluster: "Basic" + endpoint: 0 + +tests: + - label: + "TH reads NumberOfTotalUsers Supported attribute and saves for future + use." + PICS: DRLK.C.F08 && DRLK.S.A0011 + verification: | + ./chip-tool doorlock read number-of-total-users-supported 1 1 + + [1654694451.295683][4985:4990] CHIP:DMG: + [1654694451.295743][4985:4990] CHIP:DMG: SuppressResponse = true, + [1654694451.295796][4985:4990] CHIP:DMG: InteractionModelRevision = 1 + [1654694451.295853][4985:4990] CHIP:DMG: } + [1654694451.296130][4985:4990] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Attribute 0x0000_0011 DataVersion: 1413324060 + [1654694451.296269][4985:4990] CHIP:TOO: NumberOfTotalUsersSupported: 10 + disabled: true + + - label: + "TH sends Set User Command to DUT with the following values: + OperationType as 0 UserIndex as 1 UserName as xxx UserUniqueID as 6452 + UserStatus as 1 UserType as 0 CredentialRule as 0" + PICS: DRLK.S.F08 && DRLK.S.C1A.Rsp + verification: | + ./chip-tool doorlock set-user 0 1 xxx 6452 1 0 0 1 1 --timedInteractionTimeoutMs 1000 + + [1655114915.892667][26101:26106] CHIP:DMG: { + [1655114915.892724][26101:26106] CHIP:DMG: suppressResponse = false, + [1655114915.892784][26101:26106] CHIP:DMG: InvokeResponseIBs = + [1655114915.892858][26101:26106] CHIP:DMG: [ + [1655114915.892917][26101:26106] CHIP:DMG: InvokeResponseIB = + [1655114915.892995][26101:26106] CHIP:DMG: { + [1655114915.893059][26101:26106] CHIP:DMG: CommandStatusIB = + [1655114915.893135][26101:26106] CHIP:DMG: { + [1655114915.893206][26101:26106] CHIP:DMG: CommandPathIB = + [1655114915.893285][26101:26106] CHIP:DMG: { + [1655114915.893366][26101:26106] CHIP:DMG: EndpointId = 0x1, + [1655114915.893459][26101:26106] CHIP:DMG: ClusterId = 0x101, + [1655114915.893519][26101:26106] CHIP:DMG: CommandId = 0x1a, + [1655114915.893578][26101:26106] CHIP:DMG: }, + [1655114915.893644][26101:26106] CHIP:DMG: + [1655114915.893699][26101:26106] CHIP:DMG: StatusIB = + [1655114915.893758][26101:26106] CHIP:DMG: { + [1655114915.893819][26101:26106] CHIP:DMG: status = 0x00 (SUCCESS), + [1655114915.893883][26101:26106] CHIP:DMG: }, + [1655114915.893937][26101:26106] CHIP:DMG: + [1655114915.893989][26101:26106] CHIP:DMG: }, + [1655114915.894049][26101:26106] CHIP:DMG: + [1655114915.894098][26101:26106] CHIP:DMG: }, + [1655114915.894153][26101:26106] CHIP:DMG: + [1655114915.894197][26101:26106] CHIP:DMG: ], + [1655114915.894250][26101:26106] CHIP:DMG: + [1655114915.894294][26101:26106] CHIP:DMG: InteractionModelRevision = 1 + [1655114915.894337][26101:26106] CHIP:DMG: }, + [1655114915.894437][26101:26106] CHIP:DMG: Received Command Response Status for Endpoint=1 + disabled: true + + - label: "TH sends Get User Command to DUT with UserIndex as 1" + PICS: DRLK.S.F08 && DRLK.S.C1B.Rsp && DRLK.S.C1C.Tx + verification: | + ./chip-tool doorlock get-user 1 1 1 + + [1655114978.939527][26110:26115] CHIP:DMG: }, + [1655114978.939725][26110:26115] CHIP:DMG: Received Command Response Data, Endpoint=1 Cluster=0x0000_0101 Command=0x0000_001C + [1655114978.939817][26110:26115] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Command 0x0000_001C + [1655114978.939945][26110:26115] CHIP:TOO: GetUserResponse: { + [1655114978.940013][26110:26115] CHIP:TOO: userIndex: 1 + [1655114978.940063][26110:26115] CHIP:TOO: userName: xxx + [1655114978.940114][26110:26115] CHIP:TOO: userUniqueId: 6452 + [1655114978.940164][26110:26115] CHIP:TOO: userStatus: 1 + [1655114978.940212][26110:26115] CHIP:TOO: userType: 0 + [1655114978.940260][26110:26115] CHIP:TOO: credentialRule: 0 + [1655114978.940309][26110:26115] CHIP:TOO: credentials: null + [1655114978.940357][26110:26115] CHIP:TOO: creatorFabricIndex: 3 + [1655114978.940406][26110:26115] CHIP:TOO: lastModifiedFabricIndex: 3 + [1655114978.940455][26110:26115] CHIP:TOO: nextUserIndex: null + [1655114978.940503][26110:26115] CHIP:TOO: } + disabled: true + + - label: + "TH sends Set User Command to DUT with the following values: + OperationType as 0 UserIndex as 2 UserName as xxx UserUniqueID as 6452 + UserStatus as 1 UserType as 10 (invalid value) CredentialRule as 3" + PICS: DRLK.S.F08 && DRLK.S.C1A.Rsp + verification: | + ./chip-tool doorlock set-user 0 2 xxx 6451 1 10 3 1 1 --timedInteractionTimeoutMs 1000 + + [1655117279.341309][26511:26516] CHIP:DMG: { + [1655117279.341343][26511:26516] CHIP:DMG: suppressResponse = false, + [1655117279.341379][26511:26516] CHIP:DMG: InvokeResponseIBs = + [1655117279.341423][26511:26516] CHIP:DMG: [ + [1655117279.341458][26511:26516] CHIP:DMG: InvokeResponseIB = + [1655117279.341557][26511:26516] CHIP:DMG: { + [1655117279.341596][26511:26516] CHIP:DMG: CommandStatusIB = + [1655117279.341675][26511:26516] CHIP:DMG: { + [1655117279.341718][26511:26516] CHIP:DMG: CommandPathIB = + [1655117279.341767][26511:26516] CHIP:DMG: { + [1655117279.341817][26511:26516] CHIP:DMG: EndpointId = 0x1, + [1655117279.341868][26511:26516] CHIP:DMG: ClusterId = 0x101, + [1655117279.341922][26511:26516] CHIP:DMG: CommandId = 0x1a, + [1655117279.341969][26511:26516] CHIP:DMG: }, + [1655117279.342021][26511:26516] CHIP:DMG: + [1655117279.342064][26511:26516] CHIP:DMG: StatusIB = + [1655117279.342113][26511:26516] CHIP:DMG: { + [1655117279.342162][26511:26516] CHIP:DMG: status = 0x00 (SUCCESS), + [1655117279.342215][26511:26516] CHIP:DMG: }, + [1655117279.342262][26511:26516] CHIP:DMG: + [1655117279.342304][26511:26516] CHIP:DMG: }, + [1655117279.342352][26511:26516] CHIP:DMG: + [1655117279.342390][26511:26516] CHIP:DMG: }, + [1655117279.342433][26511:26516] CHIP:DMG: + [1655117279.342468][26511:26516] CHIP:DMG: ], + [1655117279.342511][26511:26516] CHIP:DMG: + [1655117279.342546][26511:26516] CHIP:DMG: InteractionModelRevision = 1 + [1655117279.342580][26511:26516] CHIP:DMG: }, + disabled: true + + - label: + "TH sends Set User Command to DUT with the following values: + OperationType as 0 UserIndex as 1 UserName as xxx UserUniqueID as 8965 + UserStatus as 1 UserType as 0 CredentialRule as 0" + PICS: DRLK.S.F08 && DRLK.S.C1A.Rsp + verification: | + ./chip-tool doorlock set-user 0 1 xxx 8965 1 0 0 1 1 --timedInteractionTimeoutMs 1000 + + + [1654694864.885349][5080:5085] CHIP:DMG: + [1654694864.885405][5080:5085] CHIP:DMG: StatusIB = + [1654694864.885462][5080:5085] CHIP:DMG: { + [1654694864.885525][5080:5085] CHIP:DMG: status = 0x01 (FAILURE), + [1654694864.885580][5080:5085] CHIP:DMG: }, + [1654694864.885649][5080:5085] CHIP:DMG: + [1654694864.885705][5080:5085] CHIP:DMG: }, + [1654694864.885768][5080:5085] CHIP:DMG: + [1654694864.885815][5080:5085] CHIP:DMG: }, + [1654694864.885870][5080:5085] CHIP:DMG: + [1654694864.885914][5080:5085] CHIP:DMG: ], + [1654694864.885968][5080:5085] CHIP:DMG: + [1654694864.886012][5080:5085] CHIP:DMG: InteractionModelRevision = 1 + [1654694864.886056][5080:5085] CHIP:DMG: }, + disabled: true + + - label: + "TH sends Set User Command to DUT with the following values: + OperationType as 0 UserIndex as 2 UserName as NULL UserUniqueID as + NULL UserStatus as NULL UserType as NULL CredentialRule as NULL" + PICS: DRLK.S.F08 && DRLK.S.C1A.Rsp + verification: | + ./chip-tool doorlock set-user 0 2 null null null null null 1 1 --timedInteractionTimeoutMs 1000 + + [1655115257.604810][26135:26140] CHIP:DMG: { + [1655115257.604859][26135:26140] CHIP:DMG: suppressResponse = false, + [1655115257.604911][26135:26140] CHIP:DMG: InvokeResponseIBs = + [1655115257.604975][26135:26140] CHIP:DMG: [ + [1655115257.605027][26135:26140] CHIP:DMG: InvokeResponseIB = + [1655115257.605094][26135:26140] CHIP:DMG: { + [1655115257.605147][26135:26140] CHIP:DMG: CommandStatusIB = + [1655115257.605213][26135:26140] CHIP:DMG: { + [1655115257.605273][26135:26140] CHIP:DMG: CommandPathIB = + [1655115257.605348][26135:26140] CHIP:DMG: { + [1655115257.605422][26135:26140] CHIP:DMG: EndpointId = 0x1, + [1655115257.605509][26135:26140] CHIP:DMG: ClusterId = 0x101, + [1655115257.605591][26135:26140] CHIP:DMG: CommandId = 0x1a, + [1655115257.605669][26135:26140] CHIP:DMG: }, + [1655115257.605755][26135:26140] CHIP:DMG: + [1655115257.605922][26135:26140] CHIP:DMG: StatusIB = + [1655115257.606006][26135:26140] CHIP:DMG: { + [1655115257.606088][26135:26140] CHIP:DMG: status = 0x00 (SUCCESS), + [1655115257.606168][26135:26140] CHIP:DMG: }, + [1655115257.606247][26135:26140] CHIP:DMG: + [1655115257.606317][26135:26140] CHIP:DMG: }, + [1655115257.606399][26135:26140] CHIP:DMG: + [1655115257.606460][26135:26140] CHIP:DMG: }, + [1655115257.606532][26135:26140] CHIP:DMG: + [1655115257.606590][26135:26140] CHIP:DMG: ], + [1655115257.606660][26135:26140] CHIP:DMG: + [1655115257.606718][26135:26140] CHIP:DMG: InteractionModelRevision = 1 + [1655115257.606774][26135:26140] CHIP:DMG: }, + disabled: true + + - label: "TH sends Get User Command to DUT with UserIndex as 2" + verification: | + ./chip-tool doorlock get-user 2 1 1 + + + [1655375970.047000][3043:3048] CHIP:DMG: Received Command Response Data, Endpoint=1 Cluster=0x0000_0101 Command=0x0000_001C + [1655375970.047078][3043:3048] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Command 0x0000_001C + [1655375970.047189][3043:3048] CHIP:TOO: GetUserResponse: { + [1655375970.047250][3043:3048] CHIP:TOO: userIndex: 2 + [1655375970.047295][3043:3048] CHIP:TOO: userName: + [1655375970.047339][3043:3048] CHIP:TOO: userUniqueId: null + [1655375970.047384][3043:3048] CHIP:TOO: userStatus: 1 + [1655375970.047429][3043:3048] CHIP:TOO: userType: 0 + [1655375970.047473][3043:3048] CHIP:TOO: credentialRule: 0 + [1655375970.047517][3043:3048] CHIP:TOO: credentials: null + [1655375970.047563][3043:3048] CHIP:TOO: creatorFabricIndex: 1 + [1655375970.047607][3043:3048] CHIP:TOO: lastModifiedFabricIndex: 1 + [1655375970.047651][3043:3048] CHIP:TOO: nextUserIndex: null + [1655375970.047712][3043:3048] CHIP:TOO: } + disabled: true + + - label: + "TH sends Set User Command to DUT with the following values: + OperationType as 2 UserIndex as 2 UserName as NULL UserUniqueID as + NULL UserStatus as NULL UserType as NULL CredentialRule as NULL" + PICS: DRLK.S.F08 && DRLK.S.C1A.Rsp + verification: | + ./chip-tool doorlock set-user 2 2 null null null null null 1 1 --timedInteractionTimeoutMs 1000 + + [1654695125.813357][5126:5131] CHIP:DMG: StatusIB = + [1654695125.813426][5126:5131] CHIP:DMG: { + [1654695125.813495][5126:5131] CHIP:DMG: status = 0x00 (SUCCESS), + [1654695125.813565][5126:5131] CHIP:DMG: }, + [1654695125.813635][5126:5131] CHIP:DMG: + [1654695125.813695][5126:5131] CHIP:DMG: }, + [1654695125.813767][5126:5131] CHIP:DMG: + [1654695125.813820][5126:5131] CHIP:DMG: }, + [1654695125.813884][5126:5131] CHIP:DMG: + [1654695125.813934][5126:5131] CHIP:DMG: ], + [1654695125.813996][5126:5131] CHIP:DMG: + [1654695125.814046][5126:5131] CHIP:DMG: InteractionModelRevision = 1 + [1654695125.814095][5126:5131] CHIP:DMG: }, + disabled: true + + - label: "TH sends Get User Command with User Index as 2" + verification: | + ./chip-tool doorlock get-user 2 1 1 + + [1655123677.092511][27390:27395] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Command 0x0000_001C + [1655123677.092651][27390:27395] CHIP:TOO: GetUserResponse: { + [1655123677.092729][27390:27395] CHIP:TOO: userIndex: 2 + [1655123677.092788][27390:27395] CHIP:TOO: userName: + [1655123677.092844][27390:27395] CHIP:TOO: userUniqueId: null + [1655123677.092904][27390:27395] CHIP:TOO: userStatus: 1 + [1655123677.092963][27390:27395] CHIP:TOO: userType: 0 + [1655123677.093020][27390:27395] CHIP:TOO: credentialRule: 0 + [1655123677.093078][27390:27395] CHIP:TOO: credentials: null + [1655123677.093135][27390:27395] CHIP:TOO: creatorFabricIndex: 1 + [1655123677.093193][27390:27395] CHIP:TOO: lastModifiedFabricIndex: 1 + [1655123677.093250][27390:27395] CHIP:TOO: nextUserIndex: null + [1655123677.093306][27390:27395] CHIP:TOO: } + disabled: true + + - label: "TH sends Get User Command to DUT with the UserIndex as 2" + PICS: DRLK.S.F08 && DRLK.S.C1B.Rsp && DRLK.S.C1C.Tx + verification: | + ./chip-tool doorlock get-user 2 1 1 + + [1655123677.092511][27390:27395] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Command 0x0000_001C + [1655123677.092651][27390:27395] CHIP:TOO: GetUserResponse: { + [1655123677.092729][27390:27395] CHIP:TOO: userIndex: 2 + [1655123677.092788][27390:27395] CHIP:TOO: userName: + [1655123677.092844][27390:27395] CHIP:TOO: userUniqueId: null + [1655123677.092904][27390:27395] CHIP:TOO: userStatus: 1 + [1655123677.092963][27390:27395] CHIP:TOO: userType: 0 + [1655123677.093020][27390:27395] CHIP:TOO: credentialRule: 0 + [1655123677.093078][27390:27395] CHIP:TOO: credentials: null + [1655123677.093135][27390:27395] CHIP:TOO: creatorFabricIndex: 1 + [1655123677.093193][27390:27395] CHIP:TOO: lastModifiedFabricIndex: 1 + [1655123677.093250][27390:27395] CHIP:TOO: nextUserIndex: null + [1655123677.093306][27390:27395] CHIP:TOO: } + disabled: true + + - label: "TH sends Clear User Command to DUT with the UserIndex as 1" + PICS: DRLK.S.F08 && DRLK.S.C1D.Rsp + verification: | + ./chip-tool doorlock clear-user 1 1 1 --timedInteractionTimeoutMs 1000 + + [1654696621.722147][5296:5301] CHIP:DMG: StatusIB = + [1654696621.722202][5296:5301] CHIP:DMG: { + [1654696621.722260][5296:5301] CHIP:DMG: status = 0x00 (SUCCESS), + [1654696621.722314][5296:5301] CHIP:DMG: }, + [1654696621.722368][5296:5301] CHIP:DMG: + [1654696621.722417][5296:5301] CHIP:DMG: }, + [1654696621.722473][5296:5301] CHIP:DMG: + [1654696621.722532][5296:5301] CHIP:DMG: }, + [1654696621.722610][5296:5301] CHIP:DMG: + [1654696621.722671][5296:5301] CHIP:DMG: ], + [1654696621.722737][5296:5301] CHIP:DMG: + [1654696621.722787][5296:5301] CHIP:DMG: InteractionModelRevision = 1 + [1654696621.722836][5296:5301] CHIP:DMG: }, + disabled: true + + - label: "TH sends Get User Command to DUT with the UserIndex as 1" + PICS: DRLK.S.F08 && DRLK.S.C1B.Rsp && DRLK.S.C1C.Tx + verification: | + ./chip-tool doorlock get-user 1 1 1 --timedInteractionTimeoutMs 1000 + + [1655376097.413458][3073:3078] CHIP:DMG: }, + [1655376097.413564][3073:3078] CHIP:DMG: Received Command Response Data, Endpoint=1 Cluster=0x0000_0101 Command=0x0000_001C + [1655376097.413640][3073:3078] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Command 0x0000_001C + [1655376097.413732][3073:3078] CHIP:TOO: GetUserResponse: { + [1655376097.413789][3073:3078] CHIP:TOO: userIndex: 1 + [1655376097.413833][3073:3078] CHIP:TOO: userName: null + [1655376097.413875][3073:3078] CHIP:TOO: userUniqueId: null + [1655376097.413918][3073:3078] CHIP:TOO: userStatus: null + [1655376097.413959][3073:3078] CHIP:TOO: userType: null + [1655376097.414000][3073:3078] CHIP:TOO: credentialRule: null + [1655376097.414041][3073:3078] CHIP:TOO: credentials: null + [1655376097.414084][3073:3078] CHIP:TOO: creatorFabricIndex: null + [1655376097.414125][3073:3078] CHIP:TOO: lastModifiedFabricIndex: null + [1655376097.414169][3073:3078] CHIP:TOO: nextUserIndex: 2 + [1655376097.414211][3073:3078] CHIP:TOO: } + disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_DLRK_2_9.yaml b/src/app/tests/suites/certification/Test_TC_DRLK_2_9.yaml similarity index 91% rename from src/app/tests/suites/certification/Test_TC_DLRK_2_9.yaml rename to src/app/tests/suites/certification/Test_TC_DRLK_2_9.yaml index f8f80abc488cd0..77d8d60ec3ffd0 100644 --- a/src/app/tests/suites/certification/Test_TC_DLRK_2_9.yaml +++ b/src/app/tests/suites/certification/Test_TC_DRLK_2_9.yaml @@ -34,6 +34,7 @@ tests: - label: "TH reads NumberOfTotalUsersSupported attribute and saves for future use." + PICS: DRLK.C.F08 && DRLK.S.A0011 command: "readAttribute" attribute: "NumberOfTotalUsersSupported" response: @@ -41,6 +42,7 @@ tests: value: 10 - label: "TH sends Set Credential Command to DUT" + PICS: DRLK.S.F08 && DRLK.S.C22.Rsp && DRLK.S.C23.Tx command: "SetCredential" timedInteractionTimeoutMs: 10000 arguments: @@ -59,6 +61,7 @@ tests: value: 0 - label: "TH sends Get Credential Status Command" + PICS: DRLK.S.F08 && DRLK.S.C24.Rsp && DRLK.S.C25.Tx command: "GetCredentialStatus" arguments: values: @@ -82,6 +85,7 @@ tests: minValue: 1 - label: "TH sends Set Credential Command to DUT" + PICS: DRLK.S.F08 && DRLK.S.C22.Rsp && DRLK.S.C23.Tx command: "SetCredential" timedInteractionTimeoutMs: 10000 arguments: @@ -100,6 +104,7 @@ tests: value: 10 - label: "TH sends Set Credential Command to DUT" + PICS: DRLK.S.F08 && DRLK.S.C22.Rsp && DRLK.S.C23.Tx command: "SetCredential" timedInteractionTimeoutMs: 10000 arguments: @@ -118,6 +123,7 @@ tests: value: 0 - label: "TH sends Set Credential Command to DUT" + PICS: DRLK.S.F08 && DRLK.S.C22.Rsp && DRLK.S.C23.Tx command: "SetCredential" timedInteractionTimeoutMs: 10000 arguments: @@ -136,6 +142,7 @@ tests: value: 0 - label: "TH sends Set Credential Command to DUT" + PICS: DRLK.S.F08 && DRLK.S.C22.Rsp && DRLK.S.C23.Tx command: "SetCredential" timedInteractionTimeoutMs: 10000 arguments: @@ -154,6 +161,7 @@ tests: value: 0 - label: "TH sends Set Credential Command to DUT" + PICS: DRLK.S.F08 && DRLK.S.C22.Rsp && DRLK.S.C23.Tx command: "SetCredential" timedInteractionTimeoutMs: 10000 arguments: @@ -172,6 +180,7 @@ tests: value: 0 - label: "TH sends Clear Credential Command to DUT" + PICS: DRLK.S.F08 && DRLK.S.C26.Rsp command: "ClearCredential" timedInteractionTimeoutMs: 10000 arguments: @@ -180,6 +189,7 @@ tests: value: { CredentialType: 1, CredentialIndex: 1 } - label: "TH sends Set Credential Command to DUT" + PICS: DRLK.S.F08 && DRLK.S.C22.Rsp && DRLK.S.C23.Tx command: "SetCredential" timedInteractionTimeoutMs: 10000 arguments: @@ -198,6 +208,7 @@ tests: value: 0 - label: "TH sends Clear Credential Command to DUT" + PICS: DRLK.S.F08 && DRLK.S.C26.Rsp command: "ClearCredential" timedInteractionTimeoutMs: 10000 arguments: @@ -206,6 +217,7 @@ tests: value: { CredentialType: 1, CredentialIndex: 0xFFFE } - label: "TH sends Set Credential Command to DUT" + PICS: DRLK.S.F08 && DRLK.S.C22.Rsp && DRLK.S.C23.Tx command: "SetCredential" timedInteractionTimeoutMs: 10000 arguments: @@ -224,6 +236,7 @@ tests: value: 0 - label: "TH sends Clear Credential Command to DUT" + PICS: DRLK.S.F08 && DRLK.S.C26.Rsp command: "ClearCredential" timedInteractionTimeoutMs: 10000 arguments: @@ -232,6 +245,7 @@ tests: value: { CredentialType: 1, CredentialIndex: 0xFFFE } - label: "TH sends Get Credential Status Command" + PICS: DRLK.S.F08 && DRLK.S.C24.Rsp && DRLK.S.C25.Tx command: "GetCredentialStatus" arguments: values: @@ -243,6 +257,7 @@ tests: value: null - label: "TH sends Set Credential Command to DUT" + PICS: DRLK.S.F08 && DRLK.S.C22.Rsp && DRLK.S.C23.Tx command: "SetCredential" timedInteractionTimeoutMs: 10000 arguments: @@ -261,6 +276,7 @@ tests: value: 0 - label: "TH sends Clear Credential Command to DUT" + PICS: DRLK.S.F08 && DRLK.S.C26.Rsp command: "ClearCredential" timedInteractionTimeoutMs: 10000 arguments: diff --git a/src/app/tests/suites/certification/Test_TC_DRLK_3_1.yaml b/src/app/tests/suites/certification/Test_TC_DRLK_3_1.yaml index 7a0edb276d23c1..af19b95e4ece11 100644 --- a/src/app/tests/suites/certification/Test_TC_DRLK_3_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_DRLK_3_1.yaml @@ -22,6 +22,7 @@ config: tests: - label: "DUT reads LockState from the TH." + PICS: DRLK.C.A0000 verification: | ./chip-tool doorlock read lock-state 2 1 @@ -31,6 +32,7 @@ tests: disabled: true - label: "DUT reads LockType from the TH." + PICS: DRLK.C.A0001 verification: | ./chip-tool doorlock read lock-type 2 1 @@ -39,6 +41,7 @@ tests: disabled: true - label: "DUT reads ActuatorEnabled from the TH." + PICS: DRLK.C.A0002 verification: | ./chip-tool doorlock read actuator-enabled 2 1 @@ -47,6 +50,7 @@ tests: disabled: true - label: "DUT reads DoorState from the TH." + PICS: DRLK.S.F05 && DRLK.C.A0003 verification: | ./chip-tool doorlock read door-state 2 1 @@ -55,6 +59,7 @@ tests: disabled: true - label: "DUT reads DoorOpenEvents from the TH." + PICS: DRLK.S.F05 && DRLK.C.A0004 verification: | ./chip-tool doorlock read door-open-events 2 1 @@ -76,6 +81,7 @@ tests: disabled: true - label: "DUT reads DoorClosedEvents from the TH." + PICS: DRLK.S.F05 && DRLK.C.A0005 verification: | ./chip-tool doorlock read door-closed-events 2 1 @@ -98,6 +104,7 @@ tests: disabled: true - label: "DUT reads OpenPeriod from the TH." + PICS: DRLK.S.F05 && DRLK.C.A0006 verification: | ./chip-tool doorlock read open-period 2 1 @@ -120,6 +127,7 @@ tests: disabled: true - label: "DUT reads NumberofTotalUsers from the TH." + PICS: DRLK.S.F05 && DRLK.C.A0011 verification: | ./chip-tool doorlock read number-of-total-users-supported 2 1 @@ -128,6 +136,7 @@ tests: disabled: true - label: "DUT reads NumberofPINUsersSupported from the TH." + PICS: DRLK.C.F00 && DRLK.C.A0012 verification: | ./chip-tool doorlock read number-of-pinusers-supported 2 1 @@ -136,6 +145,7 @@ tests: disabled: true - label: "DUT reads NumberofRFIDUsersSupported from the TH." + PICS: DRLK.C.F01 && DRLK.C.A0013 verification: | ./chip-tool doorlock read number-of-rfidusers-supported 2 1 @@ -144,6 +154,7 @@ tests: disabled: true - label: "DUT reads NumberofWeekDaysSchedulesSupported from the TH." + PICS: DRLK.C.F04 && DRLK.C.A0014 verification: | ./chip-tool doorlock read number-of-week-day-schedules-supported-per-user 2 1 @@ -152,6 +163,7 @@ tests: disabled: true - label: "DUT reads NumberofYearDaysSchedulesSupported from the TH." + PICS: DRLK.C.F04 && DRLK.C.A0015 verification: | ./chip-tool doorlock read number-of-year-day-schedules-supported-per-user 2 1 @@ -160,6 +172,7 @@ tests: disabled: true - label: "DUT reads NumberofHolidaySchedulesSupported from the TH." + PICS: DRLK.C.F04 && DRLK.C.A0016 verification: | ./chip-tool doorlock read number-of-holiday-schedules-supported 2 1 @@ -180,6 +193,7 @@ tests: disabled: true - label: "DUT reads MaxPINCodedLength from the TH." + PICS: DRLK.C.F00 && DRLK.C.A0017 verification: | ./chip-tool doorlock read max-pincode-length 2 1 @@ -188,6 +202,7 @@ tests: disabled: true - label: "DUT reads MinPINCodedLength from the TH." + PICS: DRLK.C.F00 && DRLK.C.A0018 verification: | ./chip-tool doorlock read min-pincode-length 2 1 @@ -196,6 +211,7 @@ tests: disabled: true - label: "DUT reads MaxRFIDCodedLength from the TH." + PICS: DRLK.C.F01 && DRLK.C.A0019 verification: | ./chip-tool doorlock read max-rfidcode-length 2 1 @@ -204,6 +220,7 @@ tests: disabled: true - label: "DUT reads MinRFIDCodedLength from the TH." + PICS: DRLK.C.F01 && DRLK.C.A001a verification: | ./chip-tool doorlock read min-rfidcode-length 2 1 @@ -212,6 +229,7 @@ tests: disabled: true - label: "DUT reads CredentialRulesSupport from the TH." + PICS: DRLK.S.F08 && DRLK.C.A001b verification: | ./chip-tool doorlock read credential-rules-support 2 1 @@ -220,6 +238,7 @@ tests: disabled: true - label: "DUT reads Language from the TH." + PICS: DRLK.C.A0021 verification: | ./chip-tool doorlock read language 2 1 @@ -228,6 +247,7 @@ tests: disabled: true - label: "DUT reads LEDSettings from the TH." + PICS: DRLK.C.A0022 verification: | ./chip-tool doorlock read ledsettings 2 1 @@ -250,6 +270,7 @@ tests: disabled: true - label: "DUT reads AutoRelockTime from the TH." + PICS: DRLK.C.A0023 verification: | ./chip-tool doorlock read auto-relock-time 2 1 @@ -258,6 +279,7 @@ tests: disabled: true - label: "DUT reads SoundVolume from the TH." + PICS: DRLK.C.A0024 verification: | ./chip-tool doorlock read sound-volume 2 1 @@ -266,6 +288,7 @@ tests: disabled: true - label: "DUT reads OperatingMode from the TH." + PICS: DRLK.C.A0025 verification: | ./chip-tool doorlock read operating-mode 2 1 @@ -274,6 +297,7 @@ tests: disabled: true - label: "DUT reads SupportedOperatingModes from the TH." + PICS: DRLK.C.A0026 verification: | ./chip-tool doorlock read supported-operating-modes 2 1 @@ -282,6 +306,7 @@ tests: disabled: true - label: "DUT reads DefaultConfigurationRegister from the TH." + PICS: DRLK.C.A0027 verification: | ./chip-tool doorlock read default-configuration-register 2 1 @@ -304,6 +329,7 @@ tests: disabled: true - label: "DUT reads EnableLocalProgramming from the TH." + PICS: DRLK.C.A0028 verification: | ./chip-tool doorlock read enable-local-programming 2 1 @@ -325,6 +351,7 @@ tests: disabled: true - label: "DUT reads EnableOneTouchLocking from the TH." + PICS: DRLK.C.A0029 verification: | ./chip-tool doorlock read enable-one-touch-locking 2 1 @@ -333,6 +360,7 @@ tests: disabled: true - label: "DUT reads EnableInsideStatusLED from the TH." + PICS: DRLK.C.A002a verification: | ./chip-tool doorlock read enable-inside-status-led 2 1 [1653564760853] [97504:2810705] CHIP: [DMG] StatusIB = @@ -353,6 +381,7 @@ tests: disabled: true - label: "DUT reads EnablePrivacyModeButton from the TH." + PICS: DRLK.C.A002b verification: | ./chip-tool doorlock read enable-privacy-mode-button 2 1 @@ -361,6 +390,7 @@ tests: disabled: true - label: "DUT reads LocalProgrammingFeatures from the TH." + PICS: DRLK.C.A002c verification: | ./chip-tool doorlock read local-programming-features 2 1 @@ -382,6 +412,7 @@ tests: disabled: true - label: "DUT reads WrongCodeEntryLimit from the TH." + PICS: DRLK.C.F00 && DRLK.C.F01 && DRLK.C.A0030 verification: | ./chip-tool doorlock read wrong-code-entry-limit 2 1 @@ -390,6 +421,7 @@ tests: disabled: true - label: "DUT reads UserCodedTemporaryDisableTime from the TH." + PICS: DRLK.C.F00 && DRLK.C.F01 && DRLK.C.A0031 verification: | ./chip-tool doorlock read user-code-temporary-disable-time 2 1 @@ -398,6 +430,7 @@ tests: disabled: true - label: "DUT reads SendPINOverTheAir from the TH." + PICS: DRLK.C.F00 && DRLK.C.A0032 verification: | ./chip-tool doorlock read send-pinover-the-air 2 1 @@ -419,6 +452,7 @@ tests: disabled: true - label: "DUT reads RequirePINForRemoteOperation from the TH." + PICS: DRLK.C.F07 && DRLK.C.F00 && DRLK.C.A0033 verification: | ./chip-tool doorlock read require-pinfor-remote-operation 2 1 @@ -427,6 +461,7 @@ tests: disabled: true - label: "DUT reads ExpiringUserTimeOut from the TH." + PICS: DRLK.C.F08 && DRLK.C.A0035 verification: | ./chip-tool doorlock read expiring-user-timeout 2 1 diff --git a/src/app/tests/suites/certification/Test_TC_DRLK_3_3.yaml b/src/app/tests/suites/certification/Test_TC_DRLK_3_3.yaml index ad6fda5fa0d4e7..840dfcf5e7c434 100644 --- a/src/app/tests/suites/certification/Test_TC_DRLK_3_3.yaml +++ b/src/app/tests/suites/certification/Test_TC_DRLK_3_3.yaml @@ -23,6 +23,7 @@ config: tests: - label: "Simulate a DoorLockAlarm Event by setting the AlarmCode to 0" + PICS: DRLK.C.E00 verification: | ./chip-tool doorlock read-event door-lock-alarm 2 1 @@ -35,6 +36,7 @@ tests: disabled: true - label: "Simulate a DoorLockAlarm Event by setting the AlarmCode to 1" + PICS: DRLK.C.E00 verification: | ./chip-tool doorlock read-event door-lock-alarm 2 1 @@ -47,6 +49,7 @@ tests: disabled: true - label: "Simulate a DoorLockAlarm Event by setting the AlarmCode to 3" + PICS: DRLK.C.E00 verification: | ./chip-tool doorlock read-event door-lock-alarm 2 1 @@ -59,6 +62,7 @@ tests: disabled: true - label: "Simulate a DoorLockAlarm Event by setting the AlarmCode to 4" + PICS: DRLK.C.E00 verification: | ./chip-tool doorlock read-event door-lock-alarm 2 1 @@ -71,6 +75,7 @@ tests: disabled: true - label: "Simulate a DoorLockAlarm Event by setting the AlarmCode to 5" + PICS: DRLK.C.E00 verification: | ./chip-tool doorlock read-event door-lock-alarm 2 1 @@ -83,6 +88,7 @@ tests: disabled: true - label: "Simulate a DoorLockAlarm Event by setting the AlarmCode to 6" + PICS: DRLK.C.E00 verification: | ./chip-tool doorlock read-event door-lock-alarm 2 1 @@ -95,6 +101,7 @@ tests: disabled: true - label: "Simulate a DoorLockAlarm Event by setting the AlarmCode to 7" + PICS: DRLK.C.E00 verification: | ./chip-tool doorlock read-event door-lock-alarm 2 1 @@ -107,6 +114,7 @@ tests: disabled: true - label: "Simulate a DoorLockAlarm Event by setting the AlarmCode to 8" + PICS: DRLK.C.E00 verification: | ./chip-tool doorlock read-event door-lock-alarm 2 1 @@ -131,6 +139,7 @@ tests: disabled: true - label: "Simulate a DoorStateChange event by setting the DoorState to 1" + PICS: DRLK.S.F05 && DRLK.C.E01 verification: | "./chip-tool doorlock read-event door-state-change 2 1 @@ -143,6 +152,7 @@ tests: disabled: true - label: "Simulate a DoorStateChange event by setting the DoorState to 2" + PICS: DRLK.S.F05 && DRLK.C.E01 verification: | "./chip-tool doorlock read-event door-state-change 2 1 @@ -155,6 +165,7 @@ tests: disabled: true - label: "Simulate a DoorStateChange event by setting the DoorState to 3" + PICS: DRLK.S.F05 && DRLK.C.E01 verification: | "./chip-tool doorlock read-event door-state-change 2 1 @@ -167,6 +178,7 @@ tests: disabled: true - label: "Simulate a DoorStateChange event by setting the DoorState to 4" + PICS: DRLK.S.F05 && DRLK.C.E01 verification: | "./chip-tool doorlock read-event door-state-change 2 1 @@ -179,6 +191,7 @@ tests: disabled: true - label: "Simulate a DoorStateChange event by setting the DoorState to 5" + PICS: DRLK.S.F05 && DRLK.C.E01 verification: | "./chip-tool doorlock read-event door-state-change 2 1 @@ -191,6 +204,7 @@ tests: disabled: true - label: "Simulate a LockOperation event by setting OperationSource to 0" + PICS: DRLK.C.E02 verification: | ./chip-tool doorlock read-event lock-operation 2 1 @@ -282,6 +296,7 @@ tests: disabled: true - label: "Simulate a LockOperation event by setting OperationSource to 1" + PICS: DRLK.C.E02 verification: | ./chip-tool doorlock read-event lock-operation 2 1 @@ -373,6 +388,7 @@ tests: disabled: true - label: "Simulate a LockOperation event by setting OperationSource to 2" + PICS: DRLK.C.E02 verification: | ./chip-tool doorlock read-event lock-operation 2 1 @@ -464,6 +480,7 @@ tests: disabled: true - label: "Simulate a LockOperation event by setting OperationSource to 3" + PICS: DRLK.C.E02 verification: | ./chip-tool doorlock read-event lock-operation 2 1 @@ -555,6 +572,7 @@ tests: disabled: true - label: "Simulate a LockOperation event by setting OperationSource to 4" + PICS: DRLK.C.E02 verification: | "./chip-tool doorlock read-event lock-operation 2 1 @@ -646,6 +664,7 @@ tests: disabled: true - label: "Simulate a LockOperation event by setting OperationSource to 5" + PICS: DRLK.C.E02 verification: | ./chip-tool doorlock read-event lock-operation 2 1 @@ -737,6 +756,7 @@ tests: disabled: true - label: "Simulate a LockOperation event by setting OperationSource to 6" + PICS: DRLK.C.E02 verification: | ./chip-tool doorlock read-event lock-operation 2 1 @@ -828,6 +848,7 @@ tests: disabled: true - label: "Simulate a LockOperation event by setting OperationSource to 7" + PICS: DRLK.C.E02 verification: | ./chip-tool doorlock read-event lock-operation 2 1 @@ -919,6 +940,7 @@ tests: disabled: true - label: "Simulate a LockOperation event by setting OperationSource to 8" + PICS: DRLK.C.E02 verification: | ./chip-tool doorlock read-event lock-operation 2 1 @@ -1010,6 +1032,7 @@ tests: disabled: true - label: "Simulate a LockOperation event by setting OperationSource to 9" + PICS: DRLK.C.E02 verification: | ./chip-tool doorlock read-event lock-operation 2 1 @@ -1102,6 +1125,7 @@ tests: - label: "Simulate a LockOperationError Event by setting OperationError as 0" + PICS: DRLK.C.E03 verification: | ./chip-tool doorlock read-event lock-operation-error 2 1 @@ -1116,6 +1140,7 @@ tests: - label: "Simulate a LockOperationError Event by setting OperationError as 1" + PICS: DRLK.C.E03 verification: | ./chip-tool doorlock read-event lock-operation-error 2 1 @@ -1130,6 +1155,7 @@ tests: - label: "Simulate a LockOperationError Event by setting OperationError as 2" + PICS: DRLK.C.E03 verification: | ./chip-tool doorlock read-event lock-operation-error 2 1 @@ -1144,6 +1170,7 @@ tests: - label: "Simulate a LockOperationError Event by setting OperationError as 3" + PICS: DRLK.C.E03 verification: | ./chip-tool doorlock read-event lock-operation-error 2 1 @@ -1158,6 +1185,7 @@ tests: - label: "Simulate a LockOperationError Event by setting OperationError as 4" + PICS: DRLK.C.E03 verification: | ./chip-tool doorlock read-event lock-operation-error 2 1 @@ -1171,6 +1199,7 @@ tests: disabled: true - label: "Simulate a LockUserChange event by changing the Lock User" + PICS: DRLK.C.E04 verification: | ./chip-tool doorlock read-event lock-user-change 2 1 @@ -1204,6 +1233,7 @@ tests: disabled: true - label: "Simulate a LockUserChange event by changing the Schedule" + PICS: DRLK.C.E04 verification: | ./chip-tool doorlock read-event lock-user-change 2 1 @@ -1237,6 +1267,7 @@ tests: disabled: true - label: "Simulate a LockUserChange event by changing the Credential" + PICS: DRLK.C.E04 verification: | ./chip-tool doorlock read-event lock-user-change 2 1 diff --git a/src/app/tests/suites/certification/Test_TC_FLABEL_2_2.yaml b/src/app/tests/suites/certification/Test_TC_FLABEL_3_1.yaml similarity index 97% rename from src/app/tests/suites/certification/Test_TC_FLABEL_2_2.yaml rename to src/app/tests/suites/certification/Test_TC_FLABEL_3_1.yaml index c109823008406f..c30eeb085512aa 100644 --- a/src/app/tests/suites/certification/Test_TC_FLABEL_2_2.yaml +++ b/src/app/tests/suites/certification/Test_TC_FLABEL_3_1.yaml @@ -13,7 +13,7 @@ # limitations under the License. # Auto-generated scripts for harness use only, please review before automation. The endpoints and cluster names are currently set to default -name: 98.3. [TC-FLABEL-2.2] Fixed Label cluster [DUT-client] +name: 98.3.1. [TC-FLABEL-3.1] Fixed Label cluster [DUT-client] config: nodeId: 0x12344321 diff --git a/src/app/tests/suites/certification/Test_TC_ILL_2_1.yaml b/src/app/tests/suites/certification/Test_TC_ILL_2_1.yaml index 42f7ec252b227d..1d209e6a774514 100644 --- a/src/app/tests/suites/certification/Test_TC_ILL_2_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_ILL_2_1.yaml @@ -29,6 +29,7 @@ tests: value: nodeId - label: "TH reads MeasuredValue attribute from DUT" + PICS: ILL.S.A0000 command: "readAttribute" attribute: "MeasuredValue" response: @@ -38,6 +39,7 @@ tests: maxValue: 65534 - label: "TH reads MinMeasuredValue attribute from DUT" + PICS: ILL.S.A0001 command: "readAttribute" attribute: "MinMeasuredValue" response: @@ -47,6 +49,7 @@ tests: maxValue: 65533 - label: "TH reads MaxMeasuredValue attribute from DUT" + PICS: ILL.S.A0002 command: "readAttribute" attribute: "MaxMeasuredValue" response: @@ -56,6 +59,7 @@ tests: maxValue: 65534 - label: "TH reads Tolerance attribute from DUT" + PICS: ILL.S.A0003 command: "readAttribute" attribute: "Tolerance" response: @@ -65,6 +69,7 @@ tests: maxValue: 2048 - label: "TH reads LightSensorType attribute from DUT" + PICS: ILL.S.A0004 command: "readAttribute" attribute: "LightSensorType" response: diff --git a/src/app/tests/suites/certification/Test_TC_ILL_2_2.yaml b/src/app/tests/suites/certification/Test_TC_ILL_2_2.yaml index 6b4b3227696f0f..e514db944cae6a 100644 --- a/src/app/tests/suites/certification/Test_TC_ILL_2_2.yaml +++ b/src/app/tests/suites/certification/Test_TC_ILL_2_2.yaml @@ -29,6 +29,7 @@ tests: - label: "Test Harness Client reads MinMeasuredValue and MaxMeasuredValue from Server DUT" + PICS: ILL.S.A0001 && ILL.S.A0002 verification: | ./chip-tool illuminancemeasurement read min-measured-value 1 1 @@ -47,6 +48,7 @@ tests: disabled: true - label: "After a few seconds, TH reads MeasuredValue attribute from DUT" + PICS: ILL.S.A0000 verification: | ./chip-tool illuminancemeasurement read measured-value 1 1 disabled: true @@ -57,6 +59,7 @@ tests: disabled: true - label: "After a few seconds, TH reads MeasuredValue attribute from DUT" + PICS: ILL.S.A0000 verification: | ./chip-tool illuminancemeasurement read measured-value 1 1 disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_ILL_3_1.yaml b/src/app/tests/suites/certification/Test_TC_ILL_3_1.yaml index 2cb03b53cbbdce..666ea673a9aa6c 100644 --- a/src/app/tests/suites/certification/Test_TC_ILL_3_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_ILL_3_1.yaml @@ -13,7 +13,7 @@ # limitations under the License. # Auto-generated scripts for harness use only, please review before automation. The endpoints and cluster names are currently set to default -name: 69.3.1.[TC-ILL-3.1] Attributes with client as DUT +name: 71.3.1. [TC-ILL-3.1] Attributes with Client as DUT config: nodeId: 0x12344321 @@ -22,33 +22,215 @@ config: tests: - label: - "DUT reads all supported mandatory attributes from TH once at a time - in a manufacturer specific order" + "DUT reads all supported mandatory attributes from TH one at a time in + a manufacturer specific order" verification: | sudo ./chip-tool illuminancemeasurement read min-measured-value 1 1 + [1650881870.648217][15089:15089] CHIP:DMG: ReadRequestMessage = + [1650881870.648243][15089:15089] CHIP:DMG: { + [1650881870.648265][15089:15089] CHIP:DMG: AttributePathIBs = + [1650881870.648292][15089:15089] CHIP:DMG: [ + [1650881870.648317][15089:15089] CHIP:DMG: AttributePathIB = + [1650881870.648349][15089:15089] CHIP:DMG: { + [1650881870.648378][15089:15089] CHIP:DMG: Endpoint = 0x1, + [1650881870.648411][15089:15089] CHIP:DMG: Cluster = 0x400, + [1650881870.648443][15089:15089] CHIP:DMG: Attribute = 0x0000_0001, + [1650881870.648473][15089:15089] CHIP:DMG: } + [1650881870.648503][15089:15089] CHIP:DMG: + [1650881870.648530][15089:15089] CHIP:DMG: ], + [1650881870.648559][15089:15089] CHIP:DMG: + [1650881870.648586][15089:15089] CHIP:DMG: isFabricFiltered = true, + [1650881870.648611][15089:15089] CHIP:DMG: InteractionModelRevision = 1 + [1650881870.648635][15089:15089] CHIP:DMG: }, + sudo ./chip-tool illuminancemeasurement read max-measured-value 1 1 + [1650881904.422393][15089:15089] CHIP:DMG: ReadRequestMessage = + [1650881904.422420][15089:15089] CHIP:DMG: { + [1650881904.422443][15089:15089] CHIP:DMG: AttributePathIBs = + [1650881904.422469][15089:15089] CHIP:DMG: [ + [1650881904.422494][15089:15089] CHIP:DMG: AttributePathIB = + [1650881904.422529][15089:15089] CHIP:DMG: { + [1650881904.422557][15089:15089] CHIP:DMG: Endpoint = 0x1, + [1650881904.422590][15089:15089] CHIP:DMG: Cluster = 0x400, + [1650881904.422622][15089:15089] CHIP:DMG: Attribute = 0x0000_0002, + [1650881904.422651][15089:15089] CHIP:DMG: } + [1650881904.422681][15089:15089] CHIP:DMG: + [1650881904.422708][15089:15089] CHIP:DMG: ], + [1650881904.422737][15089:15089] CHIP:DMG: + [1650881904.422765][15089:15089] CHIP:DMG: isFabricFiltered = true, + [1650881904.422790][15089:15089] CHIP:DMG: InteractionModelRevision = 1 + [1650881904.422814][15089:15089] CHIP:DMG: }, + sudo ./chip-tool illuminancemeasurement read measured-value 1 1 + [1650881935.486624][15089:15089] CHIP:DMG: ReadRequestMessage = + [1650881935.486650][15089:15089] CHIP:DMG: { + [1650881935.486673][15089:15089] CHIP:DMG: AttributePathIBs = + [1650881935.486700][15089:15089] CHIP:DMG: [ + [1650881935.486725][15089:15089] CHIP:DMG: AttributePathIB = + [1650881935.486760][15089:15089] CHIP:DMG: { + [1650881935.486792][15089:15089] CHIP:DMG: Endpoint = 0x1, + [1650881935.486831][15089:15089] CHIP:DMG: Cluster = 0x400, + [1650881935.486864][15089:15089] CHIP:DMG: Attribute = 0x0000_0000, + [1650881935.486898][15089:15089] CHIP:DMG: } + [1650881935.486927][15089:15089] CHIP:DMG: + [1650881935.486955][15089:15089] CHIP:DMG: ], + [1650881935.486985][15089:15089] CHIP:DMG: + [1650881935.487012][15089:15089] CHIP:DMG: isFabricFiltered = true, + [1650881935.487038][15089:15089] CHIP:DMG: InteractionModelRevision = 1 + [1650881935.487063][15089:15089] CHIP:DMG: }, disabled: true - label: - "DUT reads all supported optional attributes from TH once at a time in + "DUT reads all supported optional attributes from TH one at a time in a manufacturer specific order" verification: | sudo ./chip-tool illuminancemeasurement read tolerance 1 1 + + [1650881967.161929][15089:15089] CHIP:DMG: ReadRequestMessage = + [1650881967.161956][15089:15089] CHIP:DMG: { + [1650881967.161979][15089:15089] CHIP:DMG: AttributePathIBs = + [1650881967.162005][15089:15089] CHIP:DMG: [ + [1650881967.162030][15089:15089] CHIP:DMG: AttributePathIB = + [1650881967.162065][15089:15089] CHIP:DMG: { + [1650881967.162094][15089:15089] CHIP:DMG: Endpoint = 0x1, + [1650881967.162127][15089:15089] CHIP:DMG: Cluster = 0x400, + [1650881967.162159][15089:15089] CHIP:DMG: Attribute = 0x0000_0003, + [1650881967.162187][15089:15089] CHIP:DMG: } + [1650881967.162216][15089:15089] CHIP:DMG: + [1650881967.162243][15089:15089] CHIP:DMG: ], + [1650881967.162272][15089:15089] CHIP:DMG: + [1650881967.162299][15089:15089] CHIP:DMG: isFabricFiltered = true, + [1650881967.162324][15089:15089] CHIP:DMG: InteractionModelRevision = 1 + [1650881967.162348][15089:15089] CHIP:DMG: }, + + ./chip-tool illuminancemeasurement read light-sensor-type 1 1 + + [1654746690.817524][2398:2398] CHIP:EM: Received message of type 0x2 with protocolId (0, 1) and MessageCounter:101071918 on exchange 33460r + [1654746690.817593][2398:2398] CHIP:EM: Handling via exchange: 33460r, Delegate: 0xaaaae03b3458 + [1654746690.817663][2398:2398] CHIP:IM: Received Read request + [1654746690.817746][2398:2398] CHIP:DMG: ReadRequestMessage = + [1654746690.817794][2398:2398] CHIP:DMG: { + [1654746690.817835][2398:2398] CHIP:DMG: AttributePathIBs = + [1654746690.817883][2398:2398] CHIP:DMG: [ + [1654746690.817927][2398:2398] CHIP:DMG: AttributePathIB = + [1654746690.817987][2398:2398] CHIP:DMG: { + [1654746690.818040][2398:2398] CHIP:DMG: Endpoint = 0x1, + [1654746690.818097][2398:2398] CHIP:DMG: Cluster = 0x400, + [1654746690.818155][2398:2398] CHIP:DMG: Attribute = 0x0000_0004, + [1654746690.818210][2398:2398] CHIP:DMG: } + [1654746690.818262][2398:2398] CHIP:DMG: + [1654746690.818309][2398:2398] CHIP:DMG: ], + [1654746690.818360][2398:2398] CHIP:DMG: + [1654746690.818409][2398:2398] CHIP:DMG: isFabricFiltered = true, + [1654746690.818455][2398:2398] CHIP:DMG: InteractionModelRevision = 1 + [1654746690.818498][2398:2398] CHIP:DMG: }, disabled: true - label: "DUT writes a suitable value to all supported mandatory attributes on - the TH once at a time in a manufacturer specific order" + the TH one at a time in a manufacturer specific order" + verification: | + No writable attrbute for this cluster + disabled: true + + - label: + "DUT writes a suitable value to all supported optional attributes on + the TH one at a time in a manufacturer specific order" + verification: | + No writable attrbute for this cluster + disabled: true + + - label: + "Configure TH such that it implements mandatory and none of the + optional attributes of the server-side of the cluster, and that it + also reflects this in global attributes such as FeatureMap and + AttributeList. Commission DUT to TH again" + verification: | + ./chip-tool illuminancemeasurement read attribute-list 1 1 + [1654244881165] [91524:4000266] CHIP: [TOO] Endpoint: 1 Cluster: 0x0000_0400 Attribute 0x0000_FFFB DataVersion: 3952837688 + [1654244881165] [91524:4000266] CHIP: [TOO] AttributeList: 8 entries + [1654244881165] [91524:4000266] CHIP: [TOO] [1]: 0 + [1654244881165] [91524:4000266] CHIP: [TOO] [2]: 1 + [1654244881165] [91524:4000266] CHIP: [TOO] [3]: 2 + [1654244881165] [91524:4000266] CHIP: [TOO] [4]: 65528 + [1654244881165] [91524:4000266] CHIP: [TOO] [5]: 65529 + [1654244881165] [91524:4000266] CHIP: [TOO] [6]: 65531 + [1654244881165] [91524:4000266] CHIP: [TOO] [7]: 65532 + [1654244881165] [91524:4000266] CHIP: [TOO] [8]: 65533 + + "sudo ./chip-tool illuminancemeasurement read min-measured-value 1 1 + [1650881870.648217][15089:15089] CHIP:DMG: ReadRequestMessage = + [1650881870.648243][15089:15089] CHIP:DMG: { + [1650881870.648265][15089:15089] CHIP:DMG: AttributePathIBs = + [1650881870.648292][15089:15089] CHIP:DMG: [ + [1650881870.648317][15089:15089] CHIP:DMG: AttributePathIB = + [1650881870.648349][15089:15089] CHIP:DMG: { + [1650881870.648378][15089:15089] CHIP:DMG: Endpoint = 0x1, + [1650881870.648411][15089:15089] CHIP:DMG: Cluster = 0x400, + [1650881870.648443][15089:15089] CHIP:DMG: Attribute = 0x0000_0001, + [1650881870.648473][15089:15089] CHIP:DMG: } + [1650881870.648503][15089:15089] CHIP:DMG: + [1650881870.648530][15089:15089] CHIP:DMG: ], + [1650881870.648559][15089:15089] CHIP:DMG: + [1650881870.648586][15089:15089] CHIP:DMG: isFabricFiltered = true, + [1650881870.648611][15089:15089] CHIP:DMG: InteractionModelRevision = 1 + [1650881870.648635][15089:15089] CHIP:DMG: }, + + + sudo ./chip-tool illuminancemeasurement read max-measured-value 1 1 + [1650881904.422393][15089:15089] CHIP:DMG: ReadRequestMessage = + [1650881904.422420][15089:15089] CHIP:DMG: { + [1650881904.422443][15089:15089] CHIP:DMG: AttributePathIBs = + [1650881904.422469][15089:15089] CHIP:DMG: [ + [1650881904.422494][15089:15089] CHIP:DMG: AttributePathIB = + [1650881904.422529][15089:15089] CHIP:DMG: { + [1650881904.422557][15089:15089] CHIP:DMG: Endpoint = 0x1, + [1650881904.422590][15089:15089] CHIP:DMG: Cluster = 0x400, + [1650881904.422622][15089:15089] CHIP:DMG: Attribute = 0x0000_0002, + [1650881904.422651][15089:15089] CHIP:DMG: } + [1650881904.422681][15089:15089] CHIP:DMG: + [1650881904.422708][15089:15089] CHIP:DMG: ], + [1650881904.422737][15089:15089] CHIP:DMG: + [1650881904.422765][15089:15089] CHIP:DMG: isFabricFiltered = true, + [1650881904.422790][15089:15089] CHIP:DMG: InteractionModelRevision = 1 + [1650881904.422814][15089:15089] CHIP:DMG: }, + + + sudo ./chip-tool illuminancemeasurement read measured-value 1 1 + [1650881935.486624][15089:15089] CHIP:DMG: ReadRequestMessage = + [1650881935.486650][15089:15089] CHIP:DMG: { + [1650881935.486673][15089:15089] CHIP:DMG: AttributePathIBs = + [1650881935.486700][15089:15089] CHIP:DMG: [ + [1650881935.486725][15089:15089] CHIP:DMG: AttributePathIB = + [1650881935.486760][15089:15089] CHIP:DMG: { + [1650881935.486792][15089:15089] CHIP:DMG: Endpoint = 0x1, + [1650881935.486831][15089:15089] CHIP:DMG: Cluster = 0x400, + [1650881935.486864][15089:15089] CHIP:DMG: Attribute = 0x0000_0000, + [1650881935.486898][15089:15089] CHIP:DMG: } + [1650881935.486927][15089:15089] CHIP:DMG: + [1650881935.486955][15089:15089] CHIP:DMG: ], + [1650881935.486985][15089:15089] CHIP:DMG: + [1650881935.487012][15089:15089] CHIP:DMG: isFabricFiltered = true, + [1650881935.487038][15089:15089] CHIP:DMG: InteractionModelRevision = 1 + [1650881935.487063][15089:15089] CHIP:DMG: }," + disabled: true + + - label: + "DUT reads all supported optional attributes from TH one at a time in + a manufacturer specific order" verification: | - Not applicable + ./chip-tool illuminancemeasurement read tolerance 1 1 + General error: 0x86 (UNSUPPORTED_ATTRIBUTE) + + ./chip-tool illuminancemeasurement read light-sensor-type 1 1 + General error: 0x86 (UNSUPPORTED_ATTRIBUTE) disabled: true - label: "DUT writes a suitable value to all supported optional attributes on - the TH once at a time in a manufacturer specific order" + the TH one at a time in a manufacturer specific order" verification: | - Not applicable + No writable attrbute for this cluster disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_OO_2_1.yaml b/src/app/tests/suites/certification/Test_TC_OO_2_1.yaml index bde14f2e703fa7..a8189e5a156ab3 100644 --- a/src/app/tests/suites/certification/Test_TC_OO_2_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_OO_2_1.yaml @@ -38,7 +38,6 @@ tests: - label: "read LT attribute: GlobalSceneControl" PICS: OO.S.A4000 - optional: true command: "readAttribute" attribute: "GlobalSceneControl" response: @@ -47,7 +46,6 @@ tests: - label: "read LT attribute: OnTime" PICS: OO.S.A4001 - optional: true command: "readAttribute" attribute: "OnTime" response: @@ -56,7 +54,6 @@ tests: - label: "read LT attribute: OffWaitTime" PICS: OO.S.A4002 - optional: true command: "readAttribute" attribute: "OffWaitTime" response: @@ -65,7 +62,6 @@ tests: - label: "read LT attribute: StartUpOnOff" PICS: OO.S.A4003 - optional: true command: "readAttribute" attribute: "StartUpOnOff" response: diff --git a/src/app/tests/suites/certification/Test_TC_OPCREDS_3_1.yaml b/src/app/tests/suites/certification/Test_TC_OPCREDS_3_1.yaml index 38f7145814e170..a85e5343f03a54 100644 --- a/src/app/tests/suites/certification/Test_TC_OPCREDS_3_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_OPCREDS_3_1.yaml @@ -14,8 +14,8 @@ # Auto-generated scripts for harness use only, please review before automation. The endpoints and cluster names are currently set to default name: - 11.3.1. [TC-OPCREDS-3.1] Attribute-NOCs, TrustedRootCertificates list - validation [DUT-Server] + 3.2.1. [TC-OPCREDS-3.1] Attribute-NOCs, TrustedRootCertificates list + validation [DUT-Commissionee] config: nodeId: 0x12344321 @@ -26,109 +26,562 @@ tests: - label: "Factory Reset DUT (to ensure NOC list is empty at the beginning of the following steps)" + PICS: OPCREDS.S.A0000 verification: | - Not Verifiable + On both DUT and TH side + sudo rm -rf /tmp/chip_* disabled: true - label: "Start the commissioning process DUT by TH1 on a first Fabric" verification: | - ./chip-tool pairing ble-wifi 1 zigbeehome matter123 20202021 3841 + DUT side: + sudo ./chip-all-clusters-app --wifi + + TH side: + ./chip-tool pairing ble-wifi 1 zigbeehome matter123 20202021 3841 --trace_decode 1 [1650455358.501816][4366:4371] CHIP:TOO: Device commissioning completed with success disabled: true - - label: - "TH sends CertificateChainRequest Command to DUT for both PAI and DAC" + - label: "TH1 sends AttestationRequest command to DUT" + PICS: OPCREDS.S.C00.Rsp verification: | - ./chip-tool operationalcredentials certificate-chain-request 1 1 0 - - [1651570197.289787][3689:3694] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003E Command 0x0000_0003 - [1651570197.289857][3689:3694] CHIP:TOO: CertificateChainResponse: { - [1651570197.289898][3689:3694] CHIP:TOO: certificate: Elided value too large of size 491 - [1651570197.289954][3689:3694] CHIP:TOO: } + Verify in TH log during commissioning + [1655468538.157845][13015:13020] CHIP:CTL: Sending Attestation Request to the device. + [1655468538.157895][13015:13020] CHIP:CTL: Sending Attestation request to 0xffff8c000b60 device + [1655468538.158012][13015:13020] CHIP:DMG: ICR moving to [AddingComm] + [1655468538.158085][13015:13020] CHIP:DMG: ICR moving to [AddedComma] + [1655468538.158597][13015:13020] CHIP:IN: Prepared secure message 0xffff967cc958 to 0xFFFFFFFB00000000 (0) of type 0x8 and protocolId (0, 1) on exchange 10360i with MessageCounter:149163721. + [1655468538.158702][13015:13020] CHIP:IN: Sending encrypted msg 0xffff967cc958 with MessageCounter:149163721 to 0xFFFFFFFB00000000 (0) at monotonic time: 00000000017BF667 msec + [1655468538.159191][13015:13020] CHIP:DMG: >> to BLE | 149163721 | [Interaction Model (1) / InvokeCommandRequest (0x08) / Session = 60420 / Exchange = 10360] + [1655468538.159385][13015:13020] CHIP:DMG: Header Flags = + [1655468538.159446][13015:13020] CHIP:DMG: { + [1655468538.159533][13015:13020] CHIP:DMG: Exchange (0x01) = + [1655468538.159588][13015:13020] CHIP:DMG: { + [1655468538.159637][13015:13020] CHIP:DMG: Initiator = true + [1655468538.159689][13015:13020] CHIP:DMG: } + [1655468538.159759][13015:13020] CHIP:DMG: } + [1655468538.159814][13015:13020] CHIP:DMG: + [1655468538.159883][13015:13020] CHIP:DMG: Encrypted Payload (94 bytes) = + [1655468538.159937][13015:13020] CHIP:DMG: { + [1655468538.159990][13015:13020] CHIP:DMG: data = 0004ec00c90ee4087fc3ac4bd5a116fd361c5e04d88e4ce91c073c8496372c14c0b23b692dd6a21874ee111e9f4a5c1ab993473d7b884f693cc74908a8068f3b6e96f060d668b364df9b7e190c271800cea785354ed9ebcfe86fd770baa8 + [1655468538.160046][13015:13020] CHIP:DMG: buffer_ptr = 281473030640128 + [1655468538.160097][13015:13020] CHIP:DMG: } + [1655468538.160147][13015:13020] CHIP:DMG: + [1655468538.160306][13015:13020] CHIP:DMG: InvokeRequestMessage = + [1655468538.160351][13015:13020] CHIP:DMG: { + [1655468538.160374][13015:13020] CHIP:DMG: suppressResponse = false, + [1655468538.160400][13015:13020] CHIP:DMG: timedRequest = false, + [1655468538.160424][13015:13020] CHIP:DMG: InvokeRequests = + [1655468538.160465][13015:13020] CHIP:DMG: [ + [1655468538.160491][13015:13020] CHIP:DMG: CommandDataIB = + [1655468538.160521][13015:13020] CHIP:DMG: { + [1655468538.160546][13015:13020] CHIP:DMG: CommandPathIB = + [1655468538.160578][13015:13020] CHIP:DMG: { + [1655468538.160610][13015:13020] CHIP:DMG: EndpointId = 0x0, + [1655468538.160646][13015:13020] CHIP:DMG: ClusterId = 0x3e, + [1655468538.160680][13015:13020] CHIP:DMG: CommandId = 0x0, + [1655468538.160714][13015:13020] CHIP:DMG: }, + [1655468538.160747][13015:13020] CHIP:DMG: + [1655468538.160774][13015:13020] CHIP:DMG: CommandFields = + [1655468538.160803][13015:13020] CHIP:DMG: { + [1655468538.160836][13015:13020] CHIP:DMG: 0x0 = [ + [1655468538.160880][13015:13020] CHIP:DMG: 0x2d, 0x5c, 0x2e, 0x70, 0x51, 0x5a, 0x8d, 0x82, 0x61, 0x5, 0xca, 0xec, 0xd1, 0x2a, 0xec, 0x32, 0xa8, 0xdc, 0xc9, 0x4, 0x44, 0x4c, 0x87, 0x55, 0xf, 0x86, 0xd6, 0xaa, 0x41, 0x70, 0xa1, 0x4a, + [1655468538.160916][13015:13020] CHIP:DMG: ] + [1655468538.160946][13015:13020] CHIP:DMG: }, + [1655468538.160976][13015:13020] CHIP:DMG: }, + [1655468538.161005][13015:13020] CHIP:DMG: + [1655468538.161029][13015:13020] CHIP:DMG: ], + [1655468538.161058][13015:13020] CHIP:DMG: + [1655468538.161082][13015:13020] CHIP:DMG: InteractionModelRevision = 1 + [1655468538.161105][13015:13020] CHIP:DMG: }, + [1655468538.161128][13015:13020] CHIP:DMG: + [1655468538.161273][13015:13020] CHIP:DMG: ICR moving to [CommandSen] + [1655468538.161310][13015:13020] CHIP:CTL: Sent Attestation request, waiting for the Attestation Information disabled: true - - label: "TH saves DAC and the PAI certificates." + - label: "TH1 sends ArmFailSafe command to the DUT" + PICS: CGEN.S.C00.Rsp verification: | - Not Verifiable + ./chip-tool generalcommissioning arm-fail-safe 500 600 1 0 + + [1655469679.636495][13173:13178] CHIP:DMG: Received Command Response Data, Endpoint=0 Cluster=0x0000_0030 Command=0x0000_0001 + [1655469679.636600][13173:13178] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0030 Command 0x0000_0001 + [1655469679.636738][13173:13178] CHIP:TOO: ArmFailSafeResponse: { + [1655469679.636817][13173:13178] CHIP:TOO: errorCode: 0 + [1655469679.636876][13173:13178] CHIP:TOO: debugText: + [1655469679.636930][13173:13178] CHIP:TOO: } disabled: true - label: - "TH completes the Device Attestation Procedures validation using the - DAC and PAI certificates" + "TH1 sends CertificateChainRequest Command to DUT for both PAI and DAC" + PICS: OPCREDS.S.C02.Rsp verification: | - Not Verifiable + Verify TH log during commissioning + + [1655468537.763350][13015:13020] CHIP:DMG: DAC/PAI (463) = + [1655468537.763466][13015:13020] CHIP:DMG: { + -----BEGIN CERTIFICATE----- + MIIByzCCAXGgAwIBAgIIVq2CIq2UW2QwCgYIKoZIzj0EAwIwMDEYMBYGA1UEAwwP + TWF0dGVyIFRlc3QgUEFBMRQwEgYKKwYBBAGConwCAQwERkZGMTAgFw0yMjAyMDUw + MDAwMDBaGA85OTk5MTIzMTIzNTk1OVowPTElMCMGA1UEAwwcTWF0dGVyIERldiBQ + QUkgMHhGRkYxIG5vIFBJRDEUMBIGCisGAQQBgqJ8AgEMBEZGRjEwWTATBgcqhkjO + PQIBBggqhkjOPQMBBwNCAARBmpMVwhc+DIyHbQPM/JRIUmR/f+xeUIL0BZko7KiU + xZQVEwmsYx5MsDOSr2hLC6+35ls7gWLC9Sv5MbjneqqCo2YwZDASBgNVHRMBAf8E + CDAGAQH/AgEAMA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUY1QOR/ZLHDjROISk + YtFsGV2P+zwwHwYDVR0jBBgwFoAUav0idx9RH+y/FkGXZxDc3DGhcX4wCgYIKoZI + zj0EAwIDSAAwRQIhALLvJ/Sa6bUPuR7qyUxNC9u415KcbLiPrOUpNo0SBUwMAiBl + Xckrhr2QmIKmxiF3uCXX0F7b58Ivn+pxIg5+pwP4kQ== + -----END CERTIFICATE----- disabled: true - - label: "TH Sends CSRRequest command" + - label: "TH1 saves DAC and the PAI certificates." verification: | - Not Verifiable + Verify below data is less or equal to 600 bytes + + MIIByzCCAXGgAwIBAgIIVq2CIq2UW2QwCgYIKoZIzj0EAwIwMDEYMBYGA1UEAwwP + TWF0dGVyIFRlc3QgUEFBMRQwEgYKKwYBBAGConwCAQwERkZGMTAgFw0yMjAyMDUw + MDAwMDBaGA85OTk5MTIzMTIzNTk1OVowPTElMCMGA1UEAwwcTWF0dGVyIERldiBQ + QUkgMHhGRkYxIG5vIFBJRDEUMBIGCisGAQQBgqJ8AgEMBEZGRjEwWTATBgcqhkjO + PQIBBggqhkjOPQMBBwNCAARBmpMVwhc+DIyHbQPM/JRIUmR/f+xeUIL0BZko7KiU + xZQVEwmsYx5MsDOSr2hLC6+35ls7gWLC9Sv5MbjneqqCo2YwZDASBgNVHRMBAf8E + CDAGAQH/AgEAMA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUY1QOR/ZLHDjROISk + YtFsGV2P+zwwHwYDVR0jBBgwFoAUav0idx9RH+y/FkGXZxDc3DGhcX4wCgYIKoZI + zj0EAwIDSAAwRQIhALLvJ/Sa6bUPuR7qyUxNC9u415KcbLiPrOUpNo0SBUwMAiBl + Xckrhr2QmIKmxiF3uCXX0F7b58Ivn+pxIg5+pwP4kQ== disabled: true - - label: - "TH validates the attestation response, obtains the NOC, the Root CA - Certificate and ICAC (optional) and also allocates the FabricID and - NodeID. Save RCAC certificate as Root_CA_Certificate_Original_TH1" + - label: "TH1 Sends CSRRequest command with a random 32-byte nonce" + PICS: OPCREDS.S.C04.Rsp verification: | - Not Verifiable + Verify in TH log during commissioning + + [1656307574.648253][15168:15173] CHIP:CTL: Sending CSR request to 0xffff74000b60 device + [1656307574.648387][15168:15173] CHIP:DMG: ICR moving to [AddingComm] + [1656307574.648463][15168:15173] CHIP:DMG: ICR moving to [AddedComma] + [1656307574.649023][15168:15173] CHIP:IN: Prepared secure message 0xffff877ec028 to 0xFFFFFFFB00000000 (0) of type 0x8 and protocolId (0, 1) on exchange 3350i with MessageCounter:222219370. + [1656307574.649128][15168:15173] CHIP:IN: Sending encrypted msg 0xffff877ec028 with MessageCounter:222219370 to 0xFFFFFFFB00000000 (0) at monotonic time: 00000000008AAFA1 msec + [1656307574.649613][15168:15173] CHIP:DMG: >> to BLE | 222219370 | [Interaction Model (1) / InvokeCommandRequest (0x08) / Session = 48092 / Exchange = 3350] + [1656307574.649833][15168:15173] CHIP:DMG: Header Flags = + [1656307574.649897][15168:15173] CHIP:DMG: { + [1656307574.649985][15168:15173] CHIP:DMG: Exchange (0x01) = + [1656307574.650041][15168:15173] CHIP:DMG: { + [1656307574.650090][15168:15173] CHIP:DMG: Initiator = true + [1656307574.650142][15168:15173] CHIP:DMG: } + [1656307574.650209][15168:15173] CHIP:DMG: } + [1656307574.650263][15168:15173] CHIP:DMG: + [1656307574.650330][15168:15173] CHIP:DMG: Encrypted Payload (94 bytes) = + [1656307574.650384][15168:15173] CHIP:DMG: { + [1656307574.650437][15168:15173] CHIP:DMG: data = 00dcbb006acc3e0d04a94ba12213788e9f5d817fafabfb592848b041cde4cb2e4b986deab9caf6b111742c30e541068d3e9f1ae8f755ee80543b71c27d4cc80e8ea3b856d4cd27f88a3603ace3ec58852f3d64b46ff2877cc7717338beb3 + [1656307574.650494][15168:15173] CHIP:DMG: buffer_ptr = 281472627992672 + [1656307574.650544][15168:15173] CHIP:DMG: } + [1656307574.650594][15168:15173] CHIP:DMG: + [1656307574.650754][15168:15173] CHIP:DMG: InvokeRequestMessage = + [1656307574.650818][15168:15173] CHIP:DMG: { + [1656307574.650874][15168:15173] CHIP:DMG: suppressResponse = false, + [1656307574.650938][15168:15173] CHIP:DMG: timedRequest = false, + [1656307574.650998][15168:15173] CHIP:DMG: InvokeRequests = + [1656307574.651073][15168:15173] CHIP:DMG: [ + [1656307574.651133][15168:15173] CHIP:DMG: CommandDataIB = + [1656307574.651198][15168:15173] CHIP:DMG: { + [1656307574.651262][15168:15173] CHIP:DMG: CommandPathIB = + [1656307574.651339][15168:15173] CHIP:DMG: { + [1656307574.651416][15168:15173] CHIP:DMG: EndpointId = 0x0, + [1656307574.651499][15168:15173] CHIP:DMG: ClusterId = 0x3e, + [1656307574.651571][15168:15173] CHIP:DMG: CommandId = 0x4, + [1656307574.651646][15168:15173] CHIP:DMG: }, + [1656307574.651723][15168:15173] CHIP:DMG: + [1656307574.651787][15168:15173] CHIP:DMG: CommandFields = + [1656307574.651908][15168:15173] CHIP:DMG: { + [1656307574.652026][15168:15173] CHIP:DMG: 0x0 = [ + [1656307574.652135][15168:15173] CHIP:DMG: 0xcd, 0x5d, 0x72, 0xba, 0x11, 0x46, 0xf2, 0x35, 0x4, 0x3e, 0x64, 0x5c, 0xc3, 0x76, 0x7e, 0xfd, 0x7, 0x91, 0x37, 0xf8, 0x70, 0xe6, 0x62, 0x54, 0xb4, 0x97, 0xa8, 0x10, 0xe1, 0xa, 0x7c, 0x35, + [1656307574.652372][15168:15173] CHIP:DMG: ] + [1656307574.652457][15168:15173] CHIP:DMG: }, + [1656307574.652529][15168:15173] CHIP:DMG: }, + [1656307574.652603][15168:15173] CHIP:DMG: + [1656307574.652662][15168:15173] CHIP:DMG: ], + [1656307574.652734][15168:15173] CHIP:DMG: + [1656307574.652794][15168:15173] CHIP:DMG: InteractionModelRevision = 1 + [1656307574.652852][15168:15173] CHIP:DMG: }, + [1656307574.652906][15168:15173] CHIP:DMG: + [1656307574.653159][15168:15173] CHIP:DMG: ICR moving to [CommandSen] + [1656307574.653233][15168:15173] CHIP:CTL: Sent CSR request, waiting for the CSR + [1656307574.653345][15168:15173] CHIP:DMG: ICR moving to [AwaitingDe] + [1656307574.712918][15168:15173] CHIP:DL: HandlePlatformSpecificBLEEvent 16387 + [1656307574.761126][15168:15171] CHIP:DL: Indication received, conn = 0xffff7c03d9f0 + [1656307574.761389][15168:15173] CHIP:DL: HandlePlatformSpecificBLEEvent 16389 + [1656307574.861665][15168:15171] CHIP:DL: Indication received, conn = 0xffff7c03d9f0 + [1656307574.861959][15168:15173] CHIP:DL: HandlePlatformSpecificBLEEvent 16389 + [1656307574.863170][15168:15173] CHIP:DMG: << from BLE | 75871068 | [Interaction Model (1) / InvokeCommandResponse (0x09) / Session = 34848 / Exchange = 3350] + [1656307574.863294][15168:15173] CHIP:DMG: Header Flags = + [1656307574.863356][15168:15173] CHIP:DMG: { + [1656307574.863457][15168:15173] CHIP:DMG: } + [1656307574.863514][15168:15173] CHIP:DMG: + [1656307574.863584][15168:15173] CHIP:DMG: Encrypted Payload (372 bytes) = + [1656307574.863639][15168:15173] CHIP:DMG: { + [1656307574.863693][15168:15173] CHIP:DMG: data = 002088005cb3850449e4f72f19ee28896f2f11cbc43d6a3862e61d08d566d51901aeecfa75d2cde55b19812314df78cb4be7622a35c9a848bb818c0dd567d3212dda9640ddddb88c254a48f88eb35b79409d1d12badacca0260c3c463e995ced399bb9a84ffd6679546cc68520243550bfb498a334c609f8e4cc9a246b1c645cd4617b1fe60ac27285d6adbdfc38677fe01d5cfb33b9669a596af831b90afb5577c61a063ddc447da8961e140ddfe96bc65b41f1e3f3b64309474ef09a59c09ae650d3e46f859f0ec28bc660f7b46d0880250f929a44fed46c832ea45fd1dae20b06a12446bab5b4bfd3aaafe3f835488db918fa5f7ec3eb110deaa3f7c0b3da8e202116691144e137b5cf8741a876f5798a3605d531b7c85c4956a21085bbf218424db56c19eff224e2e82b3e343448018f62528873464bcec0dd817cc94b3d6617ffefd38505e10cd4bf993d68b2df8084b2f080327728ddd2c776ee53cd46bc2ee96fb5cb7ee56fb5e1d9306925cf73cfa197 + [1656307574.863767][15168:15173] CHIP:DMG: buffer_ptr = 281472627974512 + [1656307574.863820][15168:15173] CHIP:DMG: } + [1656307574.863929][15168:15173] CHIP:DMG: + [1656307574.864162][15168:15173] CHIP:DMG: NOCSR Elements = + [1656307574.864226][15168:15173] CHIP:DMG: { + [1656307574.864303][15168:15173] CHIP:DMG: CSR (202) = 3081C73070020100300E310C300A060355040A0C034353523059301306072A8648CE3D020106082A8648CE3D030107034200049C2B2AF5CDD5CF559AA1C26E13616E04F7E65C3CB490A413AED8C51539731DA595370FC4FA81A8F73C936213AD1E7E49193878F8211D419427017586CF264196A000300A06082A8648CE3D0403020347003044022019B404320D7A0E3D77BC913AAB9AFD3A77922501909C307D54938BE6D2D5E45102200E5C75F96348D926E962B19248C4FC018D7CCEFAF1B97B80E68174A3D6FB2CF1 + [1656307574.864372][15168:15173] CHIP:DMG: CSRNonce (32) = CD5D72BA1146F235043E645CC3767EFD079137F870E66254B497A810E10A7C35 + [1656307574.864425][15168:15173] CHIP:DMG: } + [1656307574.864475][15168:15173] CHIP:DMG: + [1656307574.864527][15168:15173] CHIP:DMG: CSR (202) = + [1656307574.864612][15168:15173] CHIP:DMG: { + -----BEGIN CERTIFICATE REQUEST----- + MIHHMHACAQAwDjEMMAoGA1UECgwDQ1NSMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcD + QgAEnCsq9c3Vz1WaocJuE2FuBPfmXDy0kKQTrtjFFTlzHaWVNw/E+oGo9zyTYhOt + Hn5JGTh4+CEdQZQnAXWGzyZBlqAAMAoGCCqGSM49BAMCA0cAMEQCIBm0BDINeg49 + d7yROqua/Tp3kiUBkJwwfVSTi+bS1eRRAiAOXHX5Y0jZJulisZJIxPwBjXzO+vG5 + e4DmgXSj1vss8Q== + -----END CERTIFICATE REQUEST----- + [1656307574.864775][15168:15173] CHIP:DMG: } + [1656307574.864827][15168:15173] CHIP:DMG: + [1656307574.864893][15168:15173] CHIP:DMG: + [1656307574.864983][15168:15173] CHIP:DMG: Additional Fields = + [1656307574.865039][15168:15173] CHIP:DMG: { + [1656307574.865097][15168:15173] CHIP:DMG: peer_address = BLE + [1656307574.865151][15168:15173] CHIP:DMG: } + [1656307574.865201][15168:15173] CHIP:DMG: + [1656307574.865273][15168:15173] CHIP:EM: Received message of type 0x9 with protocolId (0, 1) and MessageCounter:75871068 on exchange 3350i + [1656307574.865344][15168:15173] CHIP:EM: Found matching exchange: 3350i, Delegate: 0xffff7c03f270 + [1656307574.865444][15168:15173] CHIP:DMG: ICR moving to [ResponseRe] + [1656307574.865543][15168:15173] CHIP:DMG: InvokeResponseMessage = + [1656307574.865604][15168:15173] CHIP:DMG: { + [1656307574.865663][15168:15173] CHIP:DMG: suppressResponse = false, + [1656307574.865725][15168:15173] CHIP:DMG: InvokeResponseIBs = + [1656307574.865801][15168:15173] CHIP:DMG: [ + [1656307574.865863][15168:15173] CHIP:DMG: InvokeResponseIB = + [1656307574.865943][15168:15173] CHIP:DMG: { + [1656307574.866007][15168:15173] CHIP:DMG: CommandDataIB = + [1656307574.866086][15168:15173] CHIP:DMG: { + [1656307574.866159][15168:15173] CHIP:DMG: CommandPathIB = + [1656307574.866243][15168:15173] CHIP:DMG: { + [1656307574.866335][15168:15173] CHIP:DMG: EndpointId = 0x0, + [1656307574.866430][15168:15173] CHIP:DMG: ClusterId = 0x3e, + [1656307574.866514][15168:15173] CHIP:DMG: CommandId = 0x5, + [1656307574.866594][15168:15173] CHIP:DMG: }, + [1656307574.866679][15168:15173] CHIP:DMG: + [1656307574.866753][15168:15173] CHIP:DMG: CommandFields = + [1656307574.866832][15168:15173] CHIP:DMG: { + [1656307574.866917][15168:15173] CHIP:DMG: 0x0 = [ + [1656307574.867187][15168:15173] CHIP:DMG: 0x15, 0x30, 0x1, 0xca, 0x30, 0x81, 0xc7, 0x30, 0x70, 0x2, 0x1, 0x0, 0x30, 0xe, 0x31, 0xc, 0x30, 0xa, 0x6, 0x3, 0x55, 0x4, 0xa, 0xc, 0x3, 0x43, 0x53, 0x52, 0x30, 0x59, 0x30, 0x13, 0x6, 0x7, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x2, 0x1, 0x6, 0x8, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x3, 0x1, 0x7, 0x3, 0x42, 0x0, 0x4, 0x9c, 0x2b, 0x2a, 0xf5, 0xcd, 0xd5, 0xcf, 0x55, 0x9a, 0xa1, 0xc2, 0x6e, 0x13, 0x61, 0x6e, 0x4, 0xf7, 0xe6, 0x5c, 0x3c, 0xb4, 0x90, 0xa4, 0x13, 0xae, 0xd8, 0xc5, 0x15, 0x39, 0x73, 0x1d, 0xa5, 0x95, 0x37, 0xf, 0xc4, 0xfa, 0x81, 0xa8, 0xf7, 0x3c, 0x93, 0x62, 0x13, 0xad, 0x1e, 0x7e, 0x49, 0x19, 0x38, 0x78, 0xf8, 0x21, 0x1d, 0x41, 0x94, 0x27, 0x1, 0x75, 0x86, 0xcf, 0x26, 0x41, 0x96, 0xa0, 0x0, 0x30, 0xa, 0x6, 0x8, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x4, 0x3, 0x2, 0x3, 0x47, 0x0, 0x30, 0x44, 0x2, 0x20, 0x19, 0xb4, 0x4, 0x32, 0xd, 0x7a, 0xe, 0x3d, 0x77, 0xbc, 0x91, 0x3a, 0xab, 0x9a, 0xfd, 0x3a, 0x77, 0x92, 0x25, 0x1, 0x90, 0x9c, 0x30, 0x7d, 0x54, 0x93, 0x8b, 0xe6, 0xd2, 0xd5, 0xe4, 0x51, 0x2, 0x20, 0xe, 0x5c, 0x75, 0xf9, 0x63, 0x48, 0xd9, 0x26, 0xe9, 0x62, 0xb1, 0x92, 0x48, 0xc4, 0xfc, 0x1, 0x8d, 0x7c, 0xce, 0xfa, 0xf1, 0xb9, 0x7b, 0x80, 0xe6, 0x81, 0x74, 0xa3, 0xd6, 0xfb, 0x2c, 0xf1, 0x30, 0x2, 0x20, 0xcd, 0x5d, 0x72, 0xba, 0x11, 0x46, 0xf2, 0x35, 0x4, 0x3e, 0x64, 0x5c, 0xc3, 0x76, 0x7e, 0xfd, 0x7, 0x91, 0x37, 0xf8, 0x70, 0xe6, 0x62, 0x54, 0xb4, 0x97, 0xa8, 0x10, 0xe1, 0xa, 0x7c, 0x35, 0x18, + [1656307574.867353][15168:15173] CHIP:DMG: ] + [1656307574.867438][15168:15173] CHIP:DMG: 0x1 = [ + [1656307574.867568][15168:15173] CHIP:DMG: 0x51, 0xa0, 0x8f, 0x6a, 0xf3, 0x3d, 0x10, 0xc1, 0xdf, 0xbc, 0x9e, 0xe, 0xf, 0x2, 0x5f, 0x58, 0xfb, 0x80, 0x16, 0x87, 0x14, 0xab, 0xd1, 0xae, 0xb4, 0x9f, 0x97, 0xb8, 0x6, 0x58, 0x92, 0x52, 0x19, 0xaf, 0xc4, 0xb1, 0x9a, 0xbc, 0x2, 0x2e, 0xa6, 0xe7, 0xb9, 0xce, 0xd, 0xfc, 0x5, 0x58, 0x4a, 0xaa, 0x8c, 0xd7, 0xd6, 0x6a, 0x60, 0x52, 0x4, 0xd0, 0xcf, 0xcb, 0xa8, 0xc6, 0xca, 0x33, + [1656307574.867670][15168:15173] CHIP:DMG: ] + [1656307574.867755][15168:15173] CHIP:DMG: }, + [1656307574.867949][15168:15173] CHIP:DMG: }, + [1656307574.868055][15168:15173] CHIP:DMG: + [1656307574.868121][15168:15173] CHIP:DMG: }, + [1656307574.868199][15168:15173] CHIP:DMG: + [1656307574.868259][15168:15173] CHIP:DMG: ], + [1656307574.868336][15168:15173] CHIP:DMG: + [1656307574.868396][15168:15173] CHIP:DMG: InteractionModelRevision = 1 + [1656307574.868454][15168:15173] CHIP:DMG: }, + [1656307574.868597][15168:15173] CHIP:DMG: Received Command Response Data, Endpoint=0 Cluster=0x0000_003E Command=0x0000_0005 + [1656307574.868679][15168:15173] CHIP:CTL: Received certificate signing request from the device + [1656307574.868752][15168:15173] CHIP:CTL: Successfully finished commissioning step 'SendOpCertSigningRequest' disabled: true - label: - "TH sends AddTrustedRootCertificate command to DUT to install the Root - CA Certificate to the trust store" + "TH1 validates the attestation response, obtains the NOC, the Root CA + Certificate and ICAC (optional) and also allocates the FabricID and + NodeID. Save RCAC certificate as Root_CA_Certificate_Original_TH1" verification: | - Not Verifiable + Verify in TH log during commissioning' + + + [1655290769.330332][5196:5201] CHIP:DMG: << from BLE | 192898622 | [Interaction Model (1) / InvokeCommandResponse (0x09) / Session = 61656 / Exchange = 11375] + [1655290769.330388][5196:5201] CHIP:DMG: Header Flags = + [1655290769.330412][5196:5201] CHIP:DMG: { + [1655290769.330510][5196:5201] CHIP:DMG: } + [1655290769.330536][5196:5201] CHIP:DMG: + [1655290769.330570][5196:5201] CHIP:DMG: Encrypted Payload (716 bytes) = + [1655290769.330593][5196:5201] CHIP:DMG: { + [1655290769.330614][5196:5201] CHIP:DMG: data = 00d8f0003e667f0bad61a61c6c43bba4004d9d031cc5315fbf19fd56bbdcf3b966b90ce84f794dad16b0fce43f8805a7e51f43a6becbaff2a1a59de66821fae88166b847d427aec4cd2f42b49389a6c7bd8d37ffb28812b63107fe791b12f437472b093d8e68a483b6601a5834026a0275630294c55d08c3addff9e3df25ba3f9fe01a48b131cb83baa3d9d1ff57da9e6b06136d8ca6e3cbc6981d0cc8eb57be18a4a612bd0020cd49702d33afa8f6e56a7b0f2334f6267c5ff4e846a742da71f13f17b00766f2c6f42cc757cd923282aa05d4107643c3895d0a463c5ea4a001607cecadd6422bc42c2e10d5835c6e5b7e0d845f972082aa1a1b15fbe96732859a362223ab9e213a938d502c6786d2234297f84c94a35ec67fb554b2c9c028af4d03c8b9e79d751bd3bf686382b1126a685df7dfca94adb3088727f3c6cf7d486fa70ae6f10a28a3e5460447ebf4ad9e4dcbb1caf0bb49fe399b4b5e66d40346dd2e2339f94435133a8a3fafaa54cbd7d4845ff4f133e7b190c5eee9af38e2c8aa16694466de6fb74eb52e15c400835492eaa92b1202e22704e6960e4e78eac37f9296bb3ea1d01ea001caf0f5e9f6541bd70f2aa5271d558001108c8729667f140e36b8106ee066cfb59be1e64754094ab48656c601b5b21c3c852ef1286a3324b9a1fd9c7fb899a23c0462d3aba5b80a4a7bebfdf275d4658775662ef82527d450b3377365f7c0c3a6564520139ed92957496acc87c984c57840fdbf14b5ee9d4246d8754d1ea934526846d06bb37b51d069c0eb2e833abb886c5c9fcd9dea7390cc8d3463d3a0ecbe02b4c2b994b4b08f61a44da8cb22e983877c2543b05c69ef5f33c6c902484e6e1c0f4e87973f99bede289a4981cccf050e272d58030051ccd5c39f9aa847a4a2ad699990a15d9206d5442aa4ac0eeae61a69f44abcd7bb3f7a5d7ca54bc4843e20ca40940a2af143585e161eb6e731ef814dc71d2a2dc2df2aa8864ef4dd2b3774d5 + [1655290769.330666][5196:5201] CHIP:DMG: buffer_ptr = 281472426657904 + [1655290769.330687][5196:5201] CHIP:DMG: } + [1655290769.330707][5196:5201] CHIP:DMG: + [1655290769.330848][5196:5201] CHIP:DMG: Attestation Elements (585 bytes) = + [1655290769.330876][5196:5201] CHIP:DMG: { + [1655290769.330898][5196:5201] CHIP:DMG: Certification Declaration = + [1655290769.330918][5196:5201] CHIP:DMG: { + [1655290769.331827][5196:5201] CHIP:DMG: Format Version = 1 + [1655290769.331873][5196:5201] CHIP:DMG: Vendor Id = 65521 + [1655290769.331898][5196:5201] CHIP:DMG: Product Ids = + [1655290769.331919][5196:5201] CHIP:DMG: { + [1655290769.332029][5196:5201] CHIP:DMG: Product Id = 32768 + [1655290769.332053][5196:5201] CHIP:DMG: Product Id = 32769 + [1655290769.332076][5196:5201] CHIP:DMG: Product Id = 32770 + [1655290769.332099][5196:5201] CHIP:DMG: Product Id = 32771 + [1655290769.332123][5196:5201] CHIP:DMG: Product Id = 32772 + [1655290769.332146][5196:5201] CHIP:DMG: Product Id = 32773 + [1655290769.332169][5196:5201] CHIP:DMG: Product Id = 32774 + [1655290769.332193][5196:5201] CHIP:DMG: Product Id = 32775 + [1655290769.332216][5196:5201] CHIP:DMG: Product Id = 32776 + [1655290769.332239][5196:5201] CHIP:DMG: Product Id = 32777 + [1655290769.332361][5196:5201] CHIP:DMG: Product Id = 32778 + [1655290769.332392][5196:5201] CHIP:DMG: Product Id = 32779 + [1655290769.332416][5196:5201] CHIP:DMG: Product Id = 32780 + [1655290769.332440][5196:5201] CHIP:DMG: Product Id = 32781 + [1655290769.332463][5196:5201] CHIP:DMG: Product Id = 32782 + [1655290769.332486][5196:5201] CHIP:DMG: Product Id = 32783 + [1655290769.332509][5196:5201] CHIP:DMG: Product Id = 32784 + [1655290769.332532][5196:5201] CHIP:DMG: Product Id = 32785 + [1655290769.332555][5196:5201] CHIP:DMG: Product Id = 32786 + [1655290769.332578][5196:5201] CHIP:DMG: Product Id = 32787 + [1655290769.332601][5196:5201] CHIP:DMG: Product Id = 32788 + [1655290769.332624][5196:5201] CHIP:DMG: Product Id = 32789 + [1655290769.332647][5196:5201] CHIP:DMG: Product Id = 32790 + [1655290769.332670][5196:5201] CHIP:DMG: Product Id = 32791 + [1655290769.332693][5196:5201] CHIP:DMG: Product Id = 32792 + [1655290769.332716][5196:5201] CHIP:DMG: Product Id = 32793 + [1655290769.332739][5196:5201] CHIP:DMG: Product Id = 32794 + [1655290769.332762][5196:5201] CHIP:DMG: Product Id = 32795 + [1655290769.332785][5196:5201] CHIP:DMG: Product Id = 32796 + [1655290769.332807][5196:5201] CHIP:DMG: Product Id = 32797 + [1655290769.332830][5196:5201] CHIP:DMG: Product Id = 32798 + [1655290769.332853][5196:5201] CHIP:DMG: Product Id = 32799 + [1655290769.332876][5196:5201] CHIP:DMG: Product Id = 32800 + [1655290769.332899][5196:5201] CHIP:DMG: Product Id = 32801 + [1655290769.332922][5196:5201] CHIP:DMG: Product Id = 32802 + [1655290769.332945][5196:5201] CHIP:DMG: Product Id = 32803 + [1655290769.332968][5196:5201] CHIP:DMG: Product Id = 32804 + [1655290769.332991][5196:5201] CHIP:DMG: Product Id = 32805 + [1655290769.333014][5196:5201] CHIP:DMG: Product Id = 32806 + [1655290769.333037][5196:5201] CHIP:DMG: Product Id = 32807 + [1655290769.333060][5196:5201] CHIP:DMG: Product Id = 32808 + [1655290769.333083][5196:5201] CHIP:DMG: Product Id = 32809 + [1655290769.333106][5196:5201] CHIP:DMG: Product Id = 32810 + [1655290769.333129][5196:5201] CHIP:DMG: Product Id = 32811 + [1655290769.333152][5196:5201] CHIP:DMG: Product Id = 32812 + [1655290769.333175][5196:5201] CHIP:DMG: Product Id = 32813 + [1655290769.333198][5196:5201] CHIP:DMG: Product Id = 32814 + [1655290769.333221][5196:5201] CHIP:DMG: Product Id = 32815 + [1655290769.333244][5196:5201] CHIP:DMG: Product Id = 32816 + [1655290769.333267][5196:5201] CHIP:DMG: Product Id = 32817 + [1655290769.333290][5196:5201] CHIP:DMG: Product Id = 32818 + [1655290769.333313][5196:5201] CHIP:DMG: Product Id = 32819 + [1655290769.333336][5196:5201] CHIP:DMG: Product Id = 32820 + [1655290769.333359][5196:5201] CHIP:DMG: Product Id = 32821 + [1655290769.333382][5196:5201] CHIP:DMG: Product Id = 32822 + [1655290769.333405][5196:5201] CHIP:DMG: Product Id = 32823 + [1655290769.333428][5196:5201] CHIP:DMG: Product Id = 32824 + [1655290769.333451][5196:5201] CHIP:DMG: Product Id = 32825 + [1655290769.333474][5196:5201] CHIP:DMG: Product Id = 32826 + [1655290769.333497][5196:5201] CHIP:DMG: Product Id = 32827 + [1655290769.333520][5196:5201] CHIP:DMG: Product Id = 32828 + [1655290769.333543][5196:5201] CHIP:DMG: Product Id = 32829 + [1655290769.333566][5196:5201] CHIP:DMG: Product Id = 32830 + [1655290769.333589][5196:5201] CHIP:DMG: Product Id = 32831 + [1655290769.333612][5196:5201] CHIP:DMG: Product Id = 32832 + [1655290769.333635][5196:5201] CHIP:DMG: Product Id = 32833 + [1655290769.333658][5196:5201] CHIP:DMG: Product Id = 32834 + [1655290769.333681][5196:5201] CHIP:DMG: Product Id = 32835 + [1655290769.333704][5196:5201] CHIP:DMG: Product Id = 32836 + [1655290769.333728][5196:5201] CHIP:DMG: Product Id = 32837 + [1655290769.333750][5196:5201] CHIP:DMG: Product Id = 32838 + [1655290769.333773][5196:5201] CHIP:DMG: Product Id = 32839 + [1655290769.333796][5196:5201] CHIP:DMG: Product Id = 32840 + [1655290769.333819][5196:5201] CHIP:DMG: Product Id = 32841 + [1655290769.333842][5196:5201] CHIP:DMG: Product Id = 32842 + [1655290769.333865][5196:5201] CHIP:DMG: Product Id = 32843 + [1655290769.333888][5196:5201] CHIP:DMG: Product Id = 32844 + [1655290769.333911][5196:5201] CHIP:DMG: Product Id = 32845 + [1655290769.333933][5196:5201] CHIP:DMG: Product Id = 32846 + [1655290769.333956][5196:5201] CHIP:DMG: Product Id = 32847 + [1655290769.333979][5196:5201] CHIP:DMG: Product Id = 32848 + [1655290769.334002][5196:5201] CHIP:DMG: Product Id = 32849 + [1655290769.334024][5196:5201] CHIP:DMG: Product Id = 32850 + [1655290769.334048][5196:5201] CHIP:DMG: Product Id = 32851 + [1655290769.334070][5196:5201] CHIP:DMG: Product Id = 32852 + [1655290769.334093][5196:5201] CHIP:DMG: Product Id = 32853 + [1655290769.334117][5196:5201] CHIP:DMG: Product Id = 32854 + [1655290769.334139][5196:5201] CHIP:DMG: Product Id = 32855 + [1655290769.334162][5196:5201] CHIP:DMG: Product Id = 32856 + [1655290769.334185][5196:5201] CHIP:DMG: Product Id = 32857 + [1655290769.334208][5196:5201] CHIP:DMG: Product Id = 32858 + [1655290769.334231][5196:5201] CHIP:DMG: Product Id = 32859 + [1655290769.334254][5196:5201] CHIP:DMG: Product Id = 32860 + [1655290769.334277][5196:5201] CHIP:DMG: Product Id = 32861 + [1655290769.334300][5196:5201] CHIP:DMG: Product Id = 32862 + [1655290769.334323][5196:5201] CHIP:DMG: Product Id = 32863 + [1655290769.334346][5196:5201] CHIP:DMG: Product Id = 32864 + [1655290769.334369][5196:5201] CHIP:DMG: Product Id = 32865 + [1655290769.334392][5196:5201] CHIP:DMG: Product Id = 32866 + [1655290769.334415][5196:5201] CHIP:DMG: Product Id = 32867 + [1655290769.334456][5196:5201] CHIP:DMG: } + [1655290769.334484][5196:5201] CHIP:DMG: Device Type Id = 22 + [1655290769.334511][5196:5201] CHIP:DMG: Certificate Id (19) = ZIG20142ZB330003-24 + [1655290769.334537][5196:5201] CHIP:DMG: Security Level = 0 + [1655290769.334561][5196:5201] CHIP:DMG: Security Information = 0 + [1655290769.334585][5196:5201] CHIP:DMG: Version Number = 9876 + [1655290769.334609][5196:5201] CHIP:DMG: Certification Type = 0 + [1655290769.334632][5196:5201] CHIP:DMG: } + [1655290769.334659][5196:5201] CHIP:DMG: Attestation Nonce (32) = 49FB25897AB41A60FACACA5B7C97785D902678928069EE696893D4C48874C1FE + [1655290769.334681][5196:5201] CHIP:DMG: Timestamp = 0 + [1655290769.334703][5196:5201] CHIP:DMG: } + [1655290769.334723][5196:5201] CHIP:DMG: + [1655290769.334753][5196:5201] CHIP:DMG: + [1655290769.334806][5196:5201] CHIP:DMG: Additional Fields = + [1655290769.334829][5196:5201] CHIP:DMG: { + [1655290769.334855][5196:5201] CHIP:DMG: peer_address = BLE + [1655290769.334877][5196:5201] CHIP:DMG: } + [1655290769.334897][5196:5201] CHIP:DMG: + [1655290769.334935][5196:5201] CHIP:EM: Received message of type 0x9 with protocolId (0, 1) and MessageCounter:192898622 on exchange 11375i + [1655290769.334964][5196:5201] CHIP:EM: Found matching exchange: 11375i, Delegate: 0xffff68003360 + [1655290769.335011][5196:5201] CHIP:DMG: ICR moving to [ResponseRe] + [1655290769.335055][5196:5201] CHIP:DMG: InvokeResponseMessage = + [1655290769.335080][5196:5201] CHIP:DMG: { + [1655290769.335105][5196:5201] CHIP:DMG: suppressResponse = false, + [1655290769.335129][5196:5201] CHIP:DMG: InvokeResponseIBs = + [1655290769.335160][5196:5201] CHIP:DMG: [ + [1655290769.335184][5196:5201] CHIP:DMG: InvokeResponseIB = + [1655290769.335224][5196:5201] CHIP:DMG: { + [1655290769.335253][5196:5201] CHIP:DMG: CommandDataIB = + [1655290769.335284][5196:5201] CHIP:DMG: { + [1655290769.335315][5196:5201] CHIP:DMG: CommandPathIB = + [1655290769.335350][5196:5201] CHIP:DMG: { + [1655290769.335388][5196:5201] CHIP:DMG: EndpointId = 0x0, + [1655290769.335427][5196:5201] CHIP:DMG: ClusterId = 0x3e, + [1655290769.335464][5196:5201] CHIP:DMG: CommandId = 0x1, + [1655290769.335499][5196:5201] CHIP:DMG: }, + [1655290769.335537][5196:5201] CHIP:DMG: + [1655290769.335567][5196:5201] CHIP:DMG: CommandFields = + [1655290769.335602][5196:5201] CHIP:DMG: { + [1655290769.335639][5196:5201] CHIP:DMG: 0x0 = [ + [1655290769.335784][5196:5201] CHIP:DMG: 0x15, 0x31, 0x1, 0x1d, 0x2, 0x30, 0x82, 0x2, 0x19, 0x6, 0x9, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0xd, 0x1, 0x7, 0x2, 0xa0, 0x82, 0x2, 0xa, 0x30, 0x82, 0x2, 0x6, 0x2, 0x1, 0x3, 0x31, 0xd, 0x30, 0xb, 0x6, 0x9, 0x60, 0x86, 0x48, 0x1, 0x65, 0x3, 0x4, 0x2, 0x1, 0x30, 0x82, 0x1, 0x71, 0x6, 0x9, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0xd, 0x1, 0x7, 0x1, 0xa0, 0x82, 0x1, 0x62, 0x4, 0x82, 0x1, 0x5e, 0x15, 0x24, 0x0, 0x1, 0x25, 0x1, 0xf1, 0xff, 0x36, 0x2, 0x5, 0x0, 0x80, 0x5, 0x1, 0x80, 0x5, 0x2, 0x80, 0x5, 0x3, 0x80, 0x5, 0x4, 0x80, 0x5, 0x5, 0x80, 0x5, 0x6, 0x80, 0x5, 0x7, 0x80, 0x5, 0x8, 0x80, 0x5, 0x9, 0x80, 0x5, 0xa, 0x80, 0x5, 0xb, 0x80, 0x5, 0xc, 0x80, 0x5, 0xd, 0x80, 0x5, 0xe, 0x80, 0x5, 0xf, 0x80, 0x5, 0x10, 0x80, 0x5, 0x11, 0x80, 0x5, 0x12, 0x80, 0x5, 0x13, 0x80, 0x5, 0x14, 0x80, 0x5, 0x15, 0x80, 0x5, 0x16, 0x80, 0x5, 0x17, 0x80, 0x5, 0x18, 0x80, 0x5, 0x19, 0x80, 0x5, 0x1a, 0x80, 0x5, 0x1b, 0x80, 0x5, 0x1c, 0x80, 0x5, 0x1d, 0x80, 0x5, 0x1e, 0x80, 0x5, 0x1f, 0x80, 0x5, 0x20, 0x80, 0x5, 0x21, 0x80, 0x5, 0x22, 0x80, 0x5, 0x23, 0x80, 0x5, 0x24, 0x80, 0x5, 0x25, 0x80, 0x5, 0x26, 0x80, 0x5, 0x27, 0x80, 0x5, 0x28, 0x80, 0x5, 0x29, 0x80, 0x5, 0x2a, 0x80, 0x5, 0x2b, 0x80, 0x5, 0x2c, 0x80, 0x5, 0x2d, 0x80, 0x5, 0x2e, 0x80, 0x5, 0x2f, 0x80, 0x5, 0x30, 0x80, 0x5, 0x31, 0x80, 0x5, 0x32, 0x80, 0x5, 0x33, 0x80, 0x5, 0x34, 0x80, 0x5, 0x35, 0x80, 0x5, 0x36, 0x80, 0x5, 0x37, 0x80, 0x5, 0x38, 0x80, 0x5, 0x39, 0x80, 0x5, 0x3a, 0x80, 0x5, 0x3b, 0x80, 0x5, 0x3c, 0x80, 0x5, 0x3d, 0x80, 0x5, 0x3e, 0x80, 0x5, 0x3f, 0x80, 0x5, 0x40, 0x80, 0x5, 0x41, 0x80, 0x5, 0x42, 0x80, 0x5, 0x43, 0x80, 0x5, 0x44, 0x80, 0x5, 0x45, 0x80, 0x5, 0x46, 0x80, 0x5, 0x47, 0x80, 0x5, 0x48, 0x80, 0x5, 0x49, 0x80, 0x5, 0x4a, 0x80, 0x5, 0x + [1655290769.335859][5196:5201] CHIP:DMG: ] + [1655290769.335895][5196:5201] CHIP:DMG: 0x1 = [ + [1655290769.336267][5196:5201] CHIP:DMG: 0x27, 0x4d, 0x13, 0x4e, 0x60, 0xe6, 0x7a, 0xb2, 0x25, 0x90, 0x86, 0x10, 0x63, 0x85, 0x12, 0x14, 0x2c, 0x12, 0x14, 0x5a, 0xef, 0x9a, 0x73, 0x57, 0x85, 0x5e, 0x1e, 0xcb, 0x6b, 0x83, 0xe3, 0xda, 0xa0, 0x6, 0x23, 0x1c, 0x74, 0x9, 0x55, 0x67, 0x74, 0xd9, 0x70, 0xc5, 0xe1, 0xc3, 0x48, 0xc5, 0xdf, 0x1c, 0xc3, 0x26, 0xfc, 0x89, 0xca, 0x10, 0xdf, 0xa, 0x39, 0x53, 0xe0, 0xbb, 0x3f, 0x6d, + [1655290769.336312][5196:5201] CHIP:DMG: ] + [1655290769.336345][5196:5201] CHIP:DMG: }, + [1655290769.336376][5196:5201] CHIP:DMG: }, + [1655290769.336412][5196:5201] CHIP:DMG: + [1655290769.336439][5196:5201] CHIP:DMG: }, + [1655290769.336471][5196:5201] CHIP:DMG: + [1655290769.336494][5196:5201] CHIP:DMG: ], + [1655290769.336526][5196:5201] CHIP:DMG: + [1655290769.336549][5196:5201] CHIP:DMG: InteractionModelRevision = 1 + [1655290769.336573][5196:5201] CHIP:DMG: }, + [1655290769.336637][5196:5201] CHIP:DMG: Received Command Response Data, Endpoint=0 Cluster=0x0000_003E Command=0x0000_0001 + [1655290769.336674][5196:5201] CHIP:CTL: Received Attestation Information from the device disabled: true - label: - "TH sends AddTrustedRootCertificate command to DUT for the - installation of the same Root_CA_Certificate_Original_TH1" + "TH1 sends AddTrustedRootCertificate command to DUT to install the + Root CA Certificate to the trust store" + PICS: OPCREDS.S.C0b.Rsp verification: | - Not Verifiable - disabled: true - - - label: "Read the TrustedRootCertificates list from DUT" - verification: | - ./chip-tool operationalcredentials read trusted-root-certificates 1 0 - - [1651570587.562845][3714:3719] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003E Attribute 0x0000_0004 DataVersion: 2018783037 - [1651570587.562960][3714:3719] CHIP:TOO: TrustedRootCertificates: 2 entries - [1651570587.565701][3714:3719] CHIP:TOO: [1]: Elided value too large of size 231 - [1651570587.565758][3714:3719] CHIP:TOO: [2]: Elided value too large of size 231 + 1. ./chip-tool generalcommissioning arm-fail-safe 500 600 1 0 + + 2. ./chip-tool operationalcredentials add-trusted-root-certificate 1530010100240201370324140018260480228127260580254D3A370624140018240701240801300941043D96471BD73AAAA423AA3EBA87DE9CC7C0864D46FA5571F4BCC64D3F50453E95C5EDB07713B14D0FD22359A85595C3049E0D2046AF0692691DCC32BC1322830F370A350129011824026030041442E8D59F9829D4E11FEE544E8C89C92774A7E27E30051442E8D59F9829D4E11FEE544E8C89C92774A7E27E18300B402334770CE79AB4EAAAA70B5A07232B9AE0BE0AAA681118552726DCB5B04C7F0382519CA0A7A7D4C498CFB3EE479912832B3618926F4765BA4343D6E691FE238918 1 0 + + + [1655374218.706390][35023:35028] CHIP:DMG: CommandFields = + [1655374218.706431][35023:35028] CHIP:DMG: { + [1655374218.706464][35023:35028] CHIP:DMG: 0x0 = [ + [1655374218.706591][35023:35028] CHIP:DMG: 0x15, 0x30, 0x1, 0x1, 0x0, 0x24, 0x2, 0x1, 0x37, 0x3, 0x24, 0x14, 0x0, 0x18, 0x26, 0x4, 0x80, 0x22, 0x81, 0x27, 0x26, 0x5, 0x80, 0x25, 0x4d, 0x3a, 0x37, 0x6, 0x24, 0x14, 0x0, 0x18, 0x24, 0x7, 0x1, 0x24, 0x8, 0x1, 0x30, 0x9, 0x41, 0x4, 0xab, 0xae, 0x5e, 0xc6, 0x4f, 0xc4, 0x6e, 0x99, 0xc, 0x44, 0x55, 0x39, 0x2, 0x45, 0xf6, 0xe9, 0x9, 0xcb, 0xc3, 0xc3, 0xc, 0xa0, 0x8, 0xb7, 0x36, 0x96, 0x62, 0x56, 0x43, 0x56, 0xba, 0x22, 0x25, 0x38, 0x6f, 0x40, 0x50, 0xf8, 0x7b, 0xd1, 0xd7, 0xe4, 0xd6, 0x5c, 0x12, 0x30, 0x84, 0x91, 0xb3, 0x10, 0x8f, 0x6a, 0x71, 0x8, 0xe1, 0xf0, 0xc3, 0xa0, 0xd2, 0x4, 0x99, 0xe3, 0xfb, 0xf, 0x37, 0xa, 0x35, 0x1, 0x29, 0x1, 0x18, 0x24, 0x2, 0x60, 0x30, 0x4, 0x14, 0x89, 0x4f, 0x8f, 0xdd, 0xf2, 0x13, 0x8d, 0x8e, 0xe0, 0x12, 0x13, 0x72, 0xa2, 0xb4, 0x23, 0x25, 0xef, 0xd6, 0x25, 0x8c, 0x30, 0x5, 0x14, 0x89, 0x4f, 0x8f, 0xdd, 0xf2, 0x13, 0x8d, 0x8e, 0xe0, 0x12, 0x13, 0x72, 0xa2, 0xb4, 0x23, 0x25, 0xef, 0xd6, 0x25, 0x8c, 0x18, 0x30, 0xb, 0x40, 0xd3, 0x8f, 0x56, 0xa2, 0xd9, 0xb4, 0x4a, 0x3a, 0x79, 0x6d, 0xed, 0xd7, 0x1c, 0x7a, 0x3e, 0xd6, 0xb9, 0x8d, 0x80, 0xd6, 0x3d, 0xe2, 0xde, 0xa5, 0xb0, 0x3b, 0xc0, 0xce, 0x1a, 0xe9, 0x26, 0x0, 0x9d, 0x9c, 0x78, 0xe4, 0xf3, 0x78, 0x74, 0x3a, 0xd, 0xfa, 0xc8, 0x1f, 0x27, 0xaa, 0x5e, 0x9b, 0xef, 0x78, 0x48, 0x1e, 0x6a, 0x60, 0x1a, 0x71, 0xd8, 0x67, 0x9, 0x40, 0xb3, 0xe4, 0xd0, 0xc6, 0x18, + + Verify we are getting success response + [1655371172.014771][2459:2464] CHIP:DMG: InvokeResponseMessage = + [1655371172.014797][2459:2464] CHIP:DMG: { + [1655371172.014822][2459:2464] CHIP:DMG: suppressResponse = false, + [1655371172.014854][2459:2464] CHIP:DMG: InvokeResponseIBs = + [1655371172.014889][2459:2464] CHIP:DMG: [ + [1655371172.014914][2459:2464] CHIP:DMG: InvokeResponseIB = + [1655371172.014959][2459:2464] CHIP:DMG: { + [1655371172.014989][2459:2464] CHIP:DMG: CommandStatusIB = + [1655371172.015024][2459:2464] CHIP:DMG: { + [1655371172.015055][2459:2464] CHIP:DMG: CommandPathIB = + [1655371172.015090][2459:2464] CHIP:DMG: { + [1655371172.015125][2459:2464] CHIP:DMG: EndpointId = 0x0, + [1655371172.015161][2459:2464] CHIP:DMG: ClusterId = 0x3e, + [1655371172.015196][2459:2464] CHIP:DMG: CommandId = 0xb, + [1655371172.015229][2459:2464] CHIP:DMG: }, + [1655371172.015266][2459:2464] CHIP:DMG: + [1655371172.015297][2459:2464] CHIP:DMG: StatusIB = + [1655371172.015332][2459:2464] CHIP:DMG: { + [1655371172.015366][2459:2464] CHIP:DMG: status = 0x00 (SUCCESS), + [1655371172.015399][2459:2464] CHIP:DMG: }, + [1655371172.015433][2459:2464] CHIP:DMG: + [1655371172.015464][2459:2464] CHIP:DMG: }, + [1655371172.015498][2459:2464] CHIP:DMG: + [1655371172.015527][2459:2464] CHIP:DMG: }, + [1655371172.015560][2459:2464] CHIP:DMG: + [1655371172.015584][2459:2464] CHIP:DMG: ], + [1655371172.015614][2459:2464] CHIP:DMG: + [1655371172.015639][2459:2464] CHIP:DMG: InteractionModelRevision = 1 + [1655371172.015665][2459:2464] CHIP:DMG: }, + [1655371172.015725][2459:2464] CHIP:DMG: Received Command Response Status for Endpoint=0 Cluster=0x0000_003E Command=0x0000_000B Status=0x0 + [1655371172.015770][2459:2464] CHIP:DMG: ICR moving to [AwaitingDe] disabled: true - label: - "TH sends AddTrustedRootCertificate command to DUT to install the Root - CA Certificate which differs from Root_CA_Certificate_Original_TH1 by - one byte in the Subject field" + "TH1 sends AddTrustedRootCertificate command to DUT for the + installation of the same Root_CA_Certificate_Original_TH1" + PICS: OPCREDS.S.C0b.Rsp verification: | - Not Verifiable + 1. ./chip-tool generalcommissioning arm-fail-safe 500 600 1 0 + + 2. ./chip-tool operationalcredentials add-trusted-root-certificate FTABAQAkAgE3AyQUABgmBIAigScmBYAlTTo3BiQUABgkBwEkCAEwCUEE7v2ZbSMsKkVeeXBYD1r6THUa0+MwX1Sre4hF6HifssT8LmPXr7Yo5Oukmggl4zu0dHeXGoks+DcIqvMoSZqKTDcKNQEpARgkAmAwBBRk4uawYkPefrADlbkhMYSjioM+szAFFGTi5rBiQ95+sAOVuSExhKOKgz6zGDALQP+ShFEcnKP6jj903MIhM8/zcZpRq5whUk/z5ZJgiOztyTD5BTyfAOtLGxnC597PW5Rm4H1Eu+5EkJObonVQcBgY 1 0 + + Verify we are getting success response + [1655371172.014771][2459:2464] CHIP:DMG: InvokeResponseMessage = + [1655371172.014797][2459:2464] CHIP:DMG: { + [1655371172.014822][2459:2464] CHIP:DMG: suppressResponse = false, + [1655371172.014854][2459:2464] CHIP:DMG: InvokeResponseIBs = + [1655371172.014889][2459:2464] CHIP:DMG: [ + [1655371172.014914][2459:2464] CHIP:DMG: InvokeResponseIB = + [1655371172.014959][2459:2464] CHIP:DMG: { + [1655371172.014989][2459:2464] CHIP:DMG: CommandStatusIB = + [1655371172.015024][2459:2464] CHIP:DMG: { + [1655371172.015055][2459:2464] CHIP:DMG: CommandPathIB = + [1655371172.015090][2459:2464] CHIP:DMG: { + [1655371172.015125][2459:2464] CHIP:DMG: EndpointId = 0x0, + [1655371172.015161][2459:2464] CHIP:DMG: ClusterId = 0x3e, + [1655371172.015196][2459:2464] CHIP:DMG: CommandId = 0xb, + [1655371172.015229][2459:2464] CHIP:DMG: }, + [1655371172.015266][2459:2464] CHIP:DMG: + [1655371172.015297][2459:2464] CHIP:DMG: StatusIB = + [1655371172.015332][2459:2464] CHIP:DMG: { + [1655371172.015366][2459:2464] CHIP:DMG: status = 0x00 (SUCCESS), + [1655371172.015399][2459:2464] CHIP:DMG: }, + [1655371172.015433][2459:2464] CHIP:DMG: + [1655371172.015464][2459:2464] CHIP:DMG: }, + [1655371172.015498][2459:2464] CHIP:DMG: + [1655371172.015527][2459:2464] CHIP:DMG: }, + [1655371172.015560][2459:2464] CHIP:DMG: + [1655371172.015584][2459:2464] CHIP:DMG: ], + [1655371172.015614][2459:2464] CHIP:DMG: + [1655371172.015639][2459:2464] CHIP:DMG: InteractionModelRevision = 1 + [1655371172.015665][2459:2464] CHIP:DMG: }, + [1655371172.015725][2459:2464] CHIP:DMG: Received Command Response Status for Endpoint=0 Cluster=0x0000_003E Command=0x0000_000B Status=0x0 + [1655371172.015770][2459:2464] CHIP:DMG: ICR moving to [AwaitingDe] disabled: true - label: "Read the TrustedRootCertificates list from DUT" verification: | ./chip-tool operationalcredentials read trusted-root-certificates 1 0 - [1651570587.562845][3714:3719] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003E Attribute 0x0000_0004 DataVersion: 2018783037 - [1651570587.562960][3714:3719] CHIP:TOO: TrustedRootCertificates: 2 entries - [1651570587.565701][3714:3719] CHIP:TOO: [1]: Elided value too large of size 231 - [1651570587.565758][3714:3719] CHIP:TOO: [2]: Elided value too large of size 231 - disabled: true - - - label: - "TH sends AddTrustedRootCertificate command to DUT to install a - malformed Root CA Certificate where the signature does not match the - public key" - verification: | - Not Verifiable + [1655296468.138167][5628:5633] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003E Attribute 0x0000_0004 DataVersion: 323778350 + [1655296468.138314][5628:5633] CHIP:TOO: TrustedRootCertificates: 1 entries + [1655296468.138421][5628:5633] CHIP:TOO: [1]: 1530010100240201370324140018260480228127260580254D3A370624140018240701240801300941040411C332B4D6CA8A742852BAA10666F9BD6A0D6180BAF8677011FD1542C19E1A89864CE9454AA409BF0CABB8E2305E6FBB4A767FE00C7D8C0A581758749650C8370A35012901182402603004145A3098A5158DF1C2E6C2188E2CB716AB925129933005145A3098A5158DF1C2E6C2188E2CB716AB9251299318300B40822E81D4315B3710181B44D7E35C91AE7E6578C90D112275BB07CF8B7906751830BC0F93BB53E43BD8AD38C58A74386101A1AC7759D6D53EB9F65F64870C875818 disabled: true - label: "TH1 sends the AddNOC Command to DUT" + PICS: OPCREDS.S.C06.Rsp verification: | Not Verifiable disabled: true - - label: "Save the FabricIndex as FabricIndex_Test for future use" + - label: + "Save the FabricIndex as FabricIndex_TH1 or FabricIndex_TH2 (depending + on which TH was running the command) for future use" verification: | Not Verifiable disabled: true @@ -137,33 +590,26 @@ tests: verification: | ./chip-tool operationalcredentials read nocs 1 0 - [1651570741.707935][3729:3734] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003E Attribute 0x0000_0000 DataVersion: 2018783037 - [1651570741.708034][3729:3734] CHIP:TOO: NOCs: 1 entries - [1651570741.708122][3729:3734] CHIP:TOO: [1]: { - [1651570741.708163][3729:3734] CHIP:TOO: Noc: Elided value too large of size 241 - [1651570741.708202][3729:3734] CHIP:TOO: Icac: Elided value too large of size 231 - [1651570741.708238][3729:3734] CHIP:TOO: FabricIndex: 1 - [1651570741.708272][3729:3734] CHIP:TOO: } + [1655470923.441130][13282:13287] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003E Attribute 0x0000_0000 DataVersion: 2667297991 + [1655470923.441223][13282:13287] CHIP:TOO: NOCs: 1 entries + [1655470923.441297][13282:13287] CHIP:TOO: [1]: { + [1655470923.441352][13282:13287] CHIP:TOO: Noc: 1530010101240201370324130118260480228127260580254D3A37062415012411011824070124080130094104D5FA104FF03F9118BDC2A072D50DB3BED32C47F138439FBF05753D02D01AEC10F350CB77EA22844A83FF0FEF6CFA764F5B1FD48E487F3EC82A201D376F56DCC8370A350128011824020136030402040118300414BD61F9405A7A15EFA38F8B6833AB9027876482E1300514B5AED0B2C2CDBB9D4D0124755B56278B081FD4AD18300B40441AA0EE6ACE43EEA2A52321821D8B260AAFFEBD394C2FD11E83008C5AD2DF5EA58FAFA14A3EF7BAFDE190591298311D7DE6A257819D98D0E9FE239A635684B418 + [1655470923.441411][13282:13287] CHIP:TOO: Icac: 1530010100240201370324140018260480228127260580254D3A37062413011824070124080130094104B267483D9981A2C15E7DE8C63298FEB6DC19EAA9AEA41D9D659CD3BBBD25B943B3186716C82B297091D64B1620E8FB2C6FD095F509684E074C5B479E583CE295370A3501290118240260300414B5AED0B2C2CDBB9D4D0124755B56278B081FD4AD3005146EDE812590A5E6E4463798EB06AC3BD5284DFAAE18300B404A48E0B45704A98739C0C656B0F1A4252AEED8E1EBA5FD1032C79A4B26BF8A314EFDD7C835947DEB4B3E9F6D0BF2A561CEE54B45F311773301D4B5CFFF2F76D918 + [1655470923.441453][13282:13287] CHIP:TOO: FabricIndex: 1 + [1655470923.441486][13282:13287] CHIP:TOO: } disabled: true - label: "Read the first NOCStruct element from the list" verification: | - ./chip-tool operationalcredentials read nocs 1 0 - [1651570741.707935][3729:3734] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003E Attribute 0x0000_0000 DataVersion: 2018783037 - [1651570741.708034][3729:3734] CHIP:TOO: NOCs: 1 entries - [1651570741.708122][3729:3734] CHIP:TOO: [1]: { - [1651570741.708163][3729:3734] CHIP:TOO: Noc: Elided value too large of size 241 - [1651570741.708202][3729:3734] CHIP:TOO: Icac: Elided value too large of size 231 - [1651570741.708238][3729:3734] CHIP:TOO: FabricIndex: 1 - [1651570741.708272][3729:3734] CHIP:TOO: } disabled: true - label: - "TH sends UpdateFabricLabel command with 'Node Ope Credits 1' as Label - field to DUT" + "TH1 sends UpdateFabricLabel command with 'Label 1' as Label field to + DUT" + PICS: OPCREDS.S.C09.Rsp verification: | - ./chip-tool operationalcredentials update-fabric-label NodeOpeCredits1 1 0 + ./chip-tool operationalcredentials update-fabric-label label2 1 0 [1651571821.028022][3803:3808] CHIP:DMG: Received Command Response Data, Endpoint=0 Cluster=0x0000_003E Command=0x0000_0008 [1651571821.028086][3803:3808] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003E Command 0x0000_0008 @@ -175,194 +621,168 @@ tests: - label: "Read the Fabrics List from DUT and get the FabricDescriptorStruct for - which FabricIndex = fabric-id field from the operational certificate" + which FabricIndex the FabricIndex field equals FabricIndex_TH1" verification: | - ./chip-tool operationalcredentials read fabrics 1 0 --fabric-filtered 0 - - [1651572032.170920][3815:3820] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003E Attribute 0x0000_0001 DataVersion: 2018783041 - [1651572032.171031][3815:3820] CHIP:TOO: Fabrics: 2 entries - [1651572032.171179][3815:3820] CHIP:TOO: [1]: { - [1651572032.171223][3815:3820] CHIP:TOO: RootPublicKey: 0412894491026CDACAC117D232D252EF827691D378BCCC9E8E717E6C70B3D36E4C5430FDF26B783EC579506D3E748BABFBC6D400302C72CD5BD40B152AA303724B - [1651572032.171262][3815:3820] CHIP:TOO: VendorId: 65521 - [1651572032.171296][3815:3820] CHIP:TOO: FabricId: 1 - [1651572032.171328][3815:3820] CHIP:TOO: NodeId: 1 - [1651572032.171360][3815:3820] CHIP:TOO: Label: NodeOpeCredits1 - [1651572032.171393][3815:3820] CHIP:TOO: FabricIndex: 1 - [1651572032.171427][3815:3820] CHIP:TOO: } - [1651572032.171472][3815:3820] CHIP:TOO: [2]: { - [1651572032.171511][3815:3820] CHIP:TOO: RootPublicKey: 040983D9AC57DBF8DA04F818B1A15B2BD2821AD2BA1807099EAE1A52C62B404767972D4D7AB6B583395769881A666DCA8776EBC662EA1DE19B1DDDD9306A5DCB91 - [1651572032.171547][3815:3820] CHIP:TOO: VendorId: 65521 - [1651572032.171579][3815:3820] CHIP:TOO: FabricId: 1 - [1651572032.171610][3815:3820] CHIP:TOO: NodeId: 2 - [1651572032.171641][3815:3820] CHIP:TOO: Label: - [1651572032.171673][3815:3820] CHIP:TOO: FabricIndex: 2 - [1651572032.171705][3815:3820] CHIP:TOO: } + ./chip-tool operationalcredentials read fabrics 1 0 + + [1655471672.386120][13377:13382] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003E Attribute 0x0000_0001 DataVersion: 2667297992 + [1655471672.386213][13377:13382] CHIP:TOO: Fabrics: 1 entries + [1655471672.386291][13377:13382] CHIP:TOO: [1]: { + [1655471672.386339][13377:13382] CHIP:TOO: RootPublicKey: 04FB421853FB8AE6AEA281845DE7C8689E7C24AD3283A3536E09BA2FAAE88F6EA4C08DC055A965D8FE0A8060A7F9F45E509B7A4C9092FB3D8D2E253B057899F5AB + [1655471672.386378][13377:13382] CHIP:TOO: VendorId: 65521 + [1655471672.386412][13377:13382] CHIP:TOO: FabricId: 1 + [1655471672.386445][13377:13382] CHIP:TOO: NodeId: 1 + [1655471672.386675][13377:13382] CHIP:TOO: Label: + [1655471672.386716][13377:13382] CHIP:TOO: FabricIndex: 1 + [1655471672.386750][13377:13382] CHIP:TOO: } disabled: true - label: "Read the TrustedRootCertificates list from DUT" verification: | - "./chip-tool operationalcredentials read trusted-root-certificates 1 0 + ./chip-tool operationalcredentials read trusted-root-certificates 1 0 - [1651570587.562845][3714:3719] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003E Attribute 0x0000_0004 DataVersion: 2018783037 - [1651570587.562960][3714:3719] CHIP:TOO: TrustedRootCertificates: 2 entries - [1651570587.565701][3714:3719] CHIP:TOO: [1]: Elided value too large of size 231 - [1651570587.565758][3714:3719] CHIP:TOO: [2]: Elided value too large of size 231" + [1655296468.138167][5628:5633] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003E Attribute 0x0000_0004 DataVersion: 323778350 + [1655296468.138314][5628:5633] CHIP:TOO: TrustedRootCertificates: 1 entries + [1655296468.138421][5628:5633] CHIP:TOO: [1]: 1530010100240201370324140018260480228127260580254D3A370624140018240701240801300941040411C332B4D6CA8A742852BAA10666F9BD6A0D6180BAF8677011FD1542C19E1A89864CE9454AA409BF0CABB8E2305E6FBB4A767FE00C7D8C0A581758749650C8370A35012901182402603004145A3098A5158DF1C2E6C2188E2CB716AB925129933005145A3098A5158DF1C2E6C2188E2CB716AB9251299318300B40822E81D4315B3710181B44D7E35C91AE7E6578C90D112275BB07CF8B7906751830BC0F93BB53E43BD8AD38C58A74386101A1AC7759D6D53EB9F65F64870C875818 disabled: true - label: - 'TH sends UpdateFabricLabel command with "Node Ope Credits 1" as Label - field to DUT' + 'TH2 starts comissionning DUT on a second fabric Repeat steps 3 to 30 + for TH2 For UpdateFabricLabel command set the label value as "Label 2" + Save RCAC certificate as Root_CA_Certificate_Original_TH2' verification: | - ./chip-tool operationalcredentials update-fabric-label 2 1 0 - - [1650455515.088785][4397:4402] CHIP:DMG: Received Command Response Data, Endpoint=0 Cluster=0x0000_003E Command=0x0000_0008 - [1650455515.088888][4397:4402] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003E Command 0x0000_0008 - [1650455515.089107][4397:4402] CHIP:TOO: NOCResponse: { - [1650455515.089208][4397:4402] CHIP:TOO: statusCode: 0 - [1650455515.089268][4397:4402] CHIP:TOO: fabricIndex: 1 - [1650455515.089326][4397:4402] CHIP:TOO: } - disabled: true + To commission DUT to TH2 follow below procedure + 1../chip-tool pairing open-commissioning-window 1 1 400 2000 3841 on TH + 2. manualcode will be provided by TH when we pass above command pass manualcode in TH2 to commission by using "./chip-tool pairing code 2 36199720672" considering 36199720672 as manualcode generated in TH - - label: - "Start the commissioning process DUT by TH2 on a second Fabric Repeat - steps 3 to 38 for TH2 For UpdateFabricLabel command set the label - value as 'Node Ope Credits 2' Save RCAC certificate as - Root_CA_Certificate_Original_TH2" - verification: | - ./chip-tool operationalcredentials update-fabric-label NodeOpeCredits2 2 0 - - [1651574223.789186][4176:4181] CHIP:DMG: Received Command Response Data, Endpoint=0 Cluster=0x0000_003E Command=0x0000_0008 - [1651574223.789322][4176:4181] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003E Command 0x0000_0008 - [1651574223.789490][4176:4181] CHIP:TOO: NOCResponse: { - [1651574223.789565][4176:4181] CHIP:TOO: statusCode: 0 - [1651574223.789622][4176:4181] CHIP:TOO: fabricIndex: 2 - [1651574223.789681][4176:4181] CHIP:TOO: } + Repeat Step 3 to 30 from DUT to Th disabled: true - label: "Read the TrustedRootCertificates list from DUT" verification: | ./chip-tool operationalcredentials read trusted-root-certificates 2 0 - [1651574260.271930][4183:4188] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003E Attribute 0x0000_0004 DataVersion: 2018783045 - [1651574260.272108][4183:4188] CHIP:TOO: TrustedRootCertificates: 2 entries - [1651574260.275506][4183:4188] CHIP:TOO: [1]: Elided value too large of size 231 - [1651574260.275672][4183:4188] CHIP:TOO: [2]: Elided value too large of size 231 + + [1655472305.543993][4402:4407] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003E Attribute 0x0000_0004 DataVersion: 2667297995 + [1655472305.547119][4402:4407] CHIP:TOO: TrustedRootCertificates: 2 entries + [1655472305.547219][4402:4407] CHIP:TOO: [1]: 1530010100240201370324140018260480228127260580254D3A37062414001824070124080130094104FB421853FB8AE6AEA281845DE7C8689E7C24AD3283A3536E09BA2FAAE88F6EA4C08DC055A965D8FE0A8060A7F9F45E509B7A4C9092FB3D8D2E253B057899F5AB370A35012901182402603004146EDE812590A5E6E4463798EB06AC3BD5284DFAAE3005146EDE812590A5E6E4463798EB06AC3BD5284DFAAE18300B405F5AF97A75846BFB6B68727C697FEF7E233535D14303E2338A458BB50A6C7BA05AEC058DD802EB4138164D3525392F51D1F8595E8E9FC79E3F5704995762164218 + [1655472305.547287][4402:4407] CHIP:TOO: [2]: 1530010100240201370324140018260480228127260580254D3A370624140018240701240801300941046E07C7995834C97544C01B348C6E99AECC2BFBC7A6C9D2CDF2B8C23AEC425463997F77AFF4F536257118CA4113AAD5EDBE64F548F525FF9C1EEEB1E71530CD2F370A3501290118240260300414532A927E58D5D6E4512CA432D4DC750058752C04300514532A927E58D5D6E4512CA432D4DC750058752C0418300B403FDF5247055ACF950C7717B9145ECA0BFE1702C780AD459CBB26E20927A22C5C73308CC5C9C982EAB1EC9F1310784B9F81E35C683D9EA01A5E4CFF9667B8235F18 disabled: true - label: - "TH2 sends UpdateFabricLabel command with 'Node Ope Credits 1' as - Label field to DUT" + "TH2 sends UpdateFabricLabel command with 'Label 1' as Label field to + DUT" + PICS: OPCREDS.S.C09.Rsp verification: | - ./chip-tool operationalcredentials update-fabric-label NodeOpeCredits1 2 0 + ./chip-tool operationalcredentials update-fabric-label label2 2 0 - [1651574185.259939][4167:4172] CHIP:DMG: Received Command Response Data, Endpoint=0 Cluster=0x0000_003E Command=0x0000_0008 - [1651574185.260038][4167:4172] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003E Command 0x0000_0008 - [1651574185.260186][4167:4172] CHIP:TOO: NOCResponse: { - [1651574185.260394][4167:4172] CHIP:TOO: statusCode: 10 - [1651574185.260464][4167:4172] CHIP:TOO: } + [1656311622.310656][20507:20512] CHIP:DMG: Received Command Response Data, Endpoint=0 Cluster=0x0000_003E Command=0x0000_0008 + [1656311622.310739][20507:20512] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003E Command 0x0000_0008 + [1656311622.310848][20507:20512] CHIP:TOO: NOCResponse: { + [1656311622.310937][20507:20512] CHIP:TOO: statusCode: 10 + [1656311622.310990][20507:20512] CHIP:TOO: } disabled: true - label: "Read the Fabrics List from DUT" verification: | - ./chip-tool operationalcredentials read fabrics 1 0 + ./chip-tool operationalcredentials read fabrics 2 0 --fabric-filtered 0 - [1651239584.030782][2559:2564] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003E Attribute 0x0000_0001 DataVersion: 693340809 - [1651239584.032687][2559:2564] CHIP:TOO: Fabrics: 1 entries - [1651239584.033091][2559:2564] CHIP:TOO: [1]: { - [1651239584.033165][2559:2564] CHIP:TOO: RootPublicKey: 048661B0C0D119C7636D1ADC7EBE1D26A374FFA6C944F7457DF1DDD1163677D4D00AF9FF1A620E73066F326118124D7C2521CFF2B4EDE69E87AF364D1CAD1D2C0A - [1651239584.033207][2559:2564] CHIP:TOO: VendorId: 65521 - [1651239584.033240][2559:2564] CHIP:TOO: FabricId: 1 - [1651239584.033272][2559:2564] CHIP:TOO: NodeId: 1 - [1651239584.033304][2559:2564] CHIP:TOO: Label: - [1651239584.033336][2559:2564] CHIP:TOO: FabricIndex: 1 - [1651239584.033370][2559:2564] CHIP:TOO: } + [1655472488.702974][4422:4427] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003E Attribute 0x0000_0001 DataVersion: 2667297999 + [1655472488.703106][4422:4427] CHIP:TOO: Fabrics: 2 entries + [1655472488.703199][4422:4427] CHIP:TOO: [1]: { + [1655472488.703253][4422:4427] CHIP:TOO: RootPublicKey: 04FB421853FB8AE6AEA281845DE7C8689E7C24AD3283A3536E09BA2FAAE88F6EA4C08DC055A965D8FE0A8060A7F9F45E509B7A4C9092FB3D8D2E253B057899F5AB + [1655472488.703299][4422:4427] CHIP:TOO: VendorId: 65521 + [1655472488.703338][4422:4427] CHIP:TOO: FabricId: 1 + [1655472488.703374][4422:4427] CHIP:TOO: NodeId: 1 + [1655472488.703411][4422:4427] CHIP:TOO: Label: + [1655472488.703447][4422:4427] CHIP:TOO: FabricIndex: 1 + [1655472488.703480][4422:4427] CHIP:TOO: } + [1655472488.703535][4422:4427] CHIP:TOO: [2]: { + [1655472488.703581][4422:4427] CHIP:TOO: RootPublicKey: 046E07C7995834C97544C01B348C6E99AECC2BFBC7A6C9D2CDF2B8C23AEC425463997F77AFF4F536257118CA4113AAD5EDBE64F548F525FF9C1EEEB1E71530CD2F + [1655472488.703622][4422:4427] CHIP:TOO: VendorId: 65521 + [1655472488.703660][4422:4427] CHIP:TOO: FabricId: 1 + [1655472488.703697][4422:4427] CHIP:TOO: NodeId: 2 + [1655472488.703735][4422:4427] CHIP:TOO: Label: NodeOpeCredits1 + [1655472488.703773][4422:4427] CHIP:TOO: FabricIndex: 2 + [1655472488.703805][4422:4427] CHIP:TOO: } disabled: true - label: "Read the Fabrics List from DUT and get the FabricDescriptorStruct for - which FabricIndex = fabric-id field from the operational certificate" + which the FabricIndex field equals FabricIndex_TH2" verification: | - ./chip-tool operationalcredentials read fabrics 2 0 --fabric-filtered 0 - - [1651575635.120166][4259:4264] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003E Attribute 0x0000_0001 DataVersion: 2018783045 - [1651575635.120365][4259:4264] CHIP:TOO: Fabrics: 2 entries - [1651575635.120654][4259:4264] CHIP:TOO: [1]: { - [1651575635.120726][4259:4264] CHIP:TOO: RootPublicKey: 0412894491026CDACAC117D232D252EF827691D378BCCC9E8E717E6C70B3D36E4C5430FDF26B783EC579506D3E748BABFBC6D400302C72CD5BD40B152AA303724B - [1651575635.120789][4259:4264] CHIP:TOO: VendorId: 65521 - [1651575635.120844][4259:4264] CHIP:TOO: FabricId: 1 - [1651575635.120896][4259:4264] CHIP:TOO: NodeId: 1 - [1651575635.120948][4259:4264] CHIP:TOO: Label: NodeOpeCredits1 - [1651575635.121002][4259:4264] CHIP:TOO: FabricIndex: 1 - [1651575635.121057][4259:4264] CHIP:TOO: } - [1651575635.121134][4259:4264] CHIP:TOO: [2]: { - [1651575635.121224][4259:4264] CHIP:TOO: RootPublicKey: 040983D9AC57DBF8DA04F818B1A15B2BD2821AD2BA1807099EAE1A52C62B404767972D4D7AB6B583395769881A666DCA8776EBC662EA1DE19B1DDDD9306A5DCB91 - [1651575635.121287][4259:4264] CHIP:TOO: VendorId: 65521 - [1651575635.121341][4259:4264] CHIP:TOO: FabricId: 1 - [1651575635.121394][4259:4264] CHIP:TOO: NodeId: 2 - [1651575635.121446][4259:4264] CHIP:TOO: Label: NodeOpeCredits2 - [1651575635.121499][4259:4264] CHIP:TOO: FabricIndex: 2 - [1651575635.121552][4259:4264] CHIP:TOO: } + See above disabled: true - label: "From TH2 send RemoveFabric command with Fabric Index as - FabricIndex_Test + 5 (Invalid Fabric Index)to DUT" + FabricIndexTH2 + 5 (Invalid Fabric Index) to DUT" + PICS: OPCREDS.S.C0a.Rsp verification: | - ./chip-tool operationalcredentials remove-fabric 25 1 0 - - CHIP:DMG: Received Command Response Data, Endpoint=0 Cluster=0x0000_003E Command=0x0000_0008 - [1646390608.860327][6336:6341] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003E Command 0x0000_0008 - [1646390608.860465][6336:6341] CHIP:TOO: NOCResponse: { - [1646390608.860548][6336:6341] CHIP:TOO: statusCode: 11 - [1646390608.860611][6336:6341] CHIP:TOO: } - [1646390608.860695][6336:6341] CHIP:DMG: ICR moving to [AwaitingDe] - [1646390608.860801][6336:6341] CHIP:EM: Sending Standalone Ack for MessageCounter:1477607 on exchange 51257i + ./chip-tool operationalcredentials remove-fabric 3 2 0 + + [1655472616.205550][4434:4439] CHIP:DMG: Received Command Response Data, Endpoint=0 Cluster=0x0000_003E Command=0x0000_0008 + [1655472616.205609][4434:4439] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003E Command 0x0000_0008 + [1655472616.205671][4434:4439] CHIP:TOO: NOCResponse: { + [1655472616.205722][4434:4439] CHIP:TOO: statusCode: 11 + [1655472616.205760][4434:4439] CHIP:TOO: } + [1655472616.205799][4434:4439] CHIP:DMG: ICR moving to [AwaitingDe] + + + ./chip-tool operationalcredentials read trusted-root-certificates 2 0 + + [1655472673.786473][4444:4449] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003E Attribute 0x0000_0004 DataVersion: 2667298001 + [1655472673.786545][4444:4449] CHIP:TOO: TrustedRootCertificates: 2 entries + [1655472673.786590][4444:4449] CHIP:TOO: [1]: 1530010100240201370324140018260480228127260580254D3A37062414001824070124080130094104FB421853FB8AE6AEA281845DE7C8689E7C24AD3283A3536E09BA2FAAE88F6EA4C08DC055A965D8FE0A8060A7F9F45E509B7A4C9092FB3D8D2E253B057899F5AB370A35012901182402603004146EDE812590A5E6E4463798EB06AC3BD5284DFAAE3005146EDE812590A5E6E4463798EB06AC3BD5284DFAAE18300B405F5AF97A75846BFB6B68727C697FEF7E233535D14303E2338A458BB50A6C7BA05AEC058DD802EB4138164D3525392F51D1F8595E8E9FC79E3F5704995762164218 + [1655472673.786635][4444:4449] CHIP:TOO: [2]: 1530010100240201370324140018260480228127260580254D3A370624140018240701240801300941046E07C7995834C97544C01B348C6E99AECC2BFBC7A6C9D2CDF2B8C23AEC425463997F77AFF4F536257118CA4113AAD5EDBE64F548F525FF9C1EEEB1E71530CD2F370A3501290118240260300414532A927E58D5D6E4512CA432D4DC750058752C04300514532A927E58D5D6E4512CA432D4DC750058752C0418300B403FDF5247055ACF950C7717B9145ECA0BFE1702C780AD459CBB26E20927A22C5C73308CC5C9C982EAB1EC9F1310784B9F81E35C683D9EA01A5E4CFF9667B8235F18 disabled: true - label: "From TH2 sends RemoveFabric command with Fabric Index as - FabricIndex_Test (Valid Fabric Index)to DUT" + FabricIndex_TH1 (Valid Fabric Index) to DUT" + verification: | + ./chip-tool operationalcredentials remove-fabric 1 2 0 + + [1655472760.302540][4453:4458] CHIP:DMG: Received Command Response Data, Endpoint=0 Cluster=0x0000_003E Command=0x0000_0008 + [1655472760.302643][4453:4458] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003E Command 0x0000_0008 + [1655472760.302815][4453:4458] CHIP:TOO: NOCResponse: { + [1655472760.302885][4453:4458] CHIP:TOO: statusCode: 0 + [1655472760.303018][4453:4458] CHIP:TOO: fabricIndex: 1 + [1655472760.303070][4453:4458] CHIP:TOO: } + disabled: true + + - label: "From TH1 Read the Fabrics list from DUT." verification: | - ./chip-tool operationalcredentials remove-fabric 1 1 0 - - CHIP:DMG: Received Command Response Data, Endpoint=0 Cluster=0x0000_003E Command=0x0000_0008 - CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003E Command 0x0000_0008 - CHIP:TOO: NOCResponse: { - CHIP:TOO: statusCode: 0 - CHIP:TOO: fabricIndex: 2 - CHIP:TOO: } - CHIP:DMG: ICR moving to [AwaitingDe] + ./chip-tool operationalcredentials read trusted-root-certificates 1 0 + + [1655472793.693681][13463:13468] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003E Attribute 0x0000_0004 DataVersion: 2667298005 + [1655472793.693790][13463:13468] CHIP:TOO: TrustedRootCertificates: 1 entries + [1655472793.693869][13463:13468] CHIP:TOO: [1]: 1530010100240201370324140018260480228127260580254D3A37062414001824070124080130094104FB421853FB8AE6AEA281845DE7C8689E7C24AD3283A3536E09BA2FAAE88F6EA4C08DC055A965D8FE0A8060A7F9F45E509B7A4C9092FB3D8D2E253B057899F5AB370A35012901182402603004146EDE812590A5E6E4463798EB06AC3BD5284DFAAE3005146EDE812590A5E6E4463798EB06AC3BD5284DFAAE18300B405F5AF97A75846BFB6B68727C697FEF7E233535D14303E2338A458BB50A6C7BA05AEC058DD802EB4138164D3525392F51D1F8595E8E9FC79E3F5704995762164218 disabled: true - label: - "From TH2 send RemoveTrustedRootCertificate command with certificate - value as Root_CA_Certificate_Original_TH2 to DUT" + "TH1 sends AddTrustedRootCertificate command to DUT to install the + Root CA Certificate which differs from + Root_CA_Certificate_Original_TH1 by one byte in the Subject field" + PICS: OPCREDS.S.C0b.Rsp verification: | - Not Verifiable + disabled: true - - label: "From TH Read the TrustedRootCertificates list from DUT." + - label: "Read the TrustedRootCertificates list from DUT" verification: | - ./chip-tool operationalcredentials read trusted-root-certificates 2 0 + ./chip-tool operationalcredentials read trusted-root-certificates 1 0 - [1651577039.219545][4506:4511] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003E Attribute 0x0000_0004 DataVersion: 2998576972 - [1651577039.219645][4506:4511] CHIP:TOO: TrustedRootCertificates: 2 entries - [1651577039.219727][4506:4511] CHIP:TOO: [1]: Elided value too large of size 231 - [1651577039.219771][4506:4511] CHIP:TOO: [2]: Elided value too large of size 231 + [1655296468.138167][5628:5633] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003E Attribute 0x0000_0004 DataVersion: 323778350 + [1655296468.138314][5628:5633] CHIP:TOO: TrustedRootCertificates: 1 entries + [1655296468.138421][5628:5633] CHIP:TOO: [1]: 1530010100240201370324140018260480228127260580254D3A370624140018240701240801300941040411C332B4D6CA8A742852BAA10666F9BD6A0D6180BAF8677011FD1542C19E1A89864CE9454AA409BF0CABB8E2305E6FBB4A767FE00C7D8C0A581758749650C8370A35012901182402603004145A3098A5158DF1C2E6C2188E2CB716AB925129933005145A3098A5158DF1C2E6C2188E2CB716AB9251299318300B40822E81D4315B3710181B44D7E35C91AE7E6578C90D112275BB07CF8B7906751830BC0F93BB53E43BD8AD38C58A74386101A1AC7759D6D53EB9F65F64870C875818 disabled: true - - label: "From TH Read the Fabrics list from DUT." + - label: + "TH1 sends AddTrustedRootCertificate command to DUT to install a + malformed Root CA Certificate where the signature does not match the + public key" + PICS: OPCREDS.S.C0b.Rsp verification: | - ./chip-tool operationalcredentials read fabrics 2 0 - - [1651577163.247975][4519:4524] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003E Attribute 0x0000_0001 DataVersion: 2998576972 - [1651577163.248161][4519:4524] CHIP:TOO: Fabrics: 1 entries - [1651577163.248349][4519:4524] CHIP:TOO: [1]: { - [1651577163.248425][4519:4524] CHIP:TOO: RootPublicKey: 040983D9AC57DBF8DA04F818B1A15B2BD2821AD2BA1807099EAE1A52C62B404767972D4D7AB6B583395769881A666DCA8776EBC662EA1DE19B1DDDD9306A5DCB91 - [1651577163.248489][4519:4524] CHIP:TOO: VendorId: 65521 - [1651577163.248545][4519:4524] CHIP:TOO: FabricId: 1 - [1651577163.248599][4519:4524] CHIP:TOO: NodeId: 2 - [1651577163.248653][4519:4524] CHIP:TOO: Label: - [1651577163.248706][4519:4524] CHIP:TOO: FabricIndex: 2 - [1651577163.248763][4519:4524] CHIP:TOO: } + Not verifiable disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_OPCREDS_3_2.yaml b/src/app/tests/suites/certification/Test_TC_OPCREDS_3_2.yaml index 6097b12a90964f..c325fc63c1588b 100644 --- a/src/app/tests/suites/certification/Test_TC_OPCREDS_3_2.yaml +++ b/src/app/tests/suites/certification/Test_TC_OPCREDS_3_2.yaml @@ -25,18 +25,25 @@ config: tests: - label: "Factory Reset DUT" verification: | - + On both DUT and TH side + sudo rm -rf /tmp/chip_* disabled: true - label: "Commission DUT to TH1s Fabric When DUT sends NOC response save - fabricindex as fabindex1" + FabricIndex as FabricIndex_TH1" verification: | - ./chip-tool operationalcredentials read current-fabric-index 1 0 + After commissioning DUT to TH1's fabric read nocs - CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003E Attribute 0x0000_0005 DataVersion: 2445178920 - CHIP:TOO: CurrentFabricIndex: 1 - CHIP:EM: Sending Standalone Ack for MessageCounter:7141893 on exchange 26909i" + NOC and ICAC value during commissioning is + + [1655389038.700444][37522:37528] CHIP:DMG: CommandFields = + [1655389038.700479][37522:37528] CHIP:DMG: { + [1655389038.700516][37522:37528] CHIP:DMG: 0x0 = [ + [1655389038.700639][37522:37528] CHIP:DMG: 0x15, 0x30, 0x1, 0x1, 0x1, 0x24, 0x2, 0x1, 0x37, 0x3, 0x24, 0x13, 0x1, 0x18, 0x26, 0x4, 0x80, 0x22, 0x81, 0x27, 0x26, 0x5, 0x80, 0x25, 0x4d, 0x3a, 0x37, 0x6, 0x24, 0x15, 0x1, 0x24, 0x11, 0x1, 0x18, 0x24, 0x7, 0x1, 0x24, 0x8, 0x1, 0x30, 0x9, 0x41, 0x4, 0xe, 0x8d, 0x0, 0xf, 0xd2, 0x8f, 0x38, 0xe1, 0x8d, 0x47, 0xcc, 0xa9, 0x15, 0x35, 0xb3, 0xe, 0x3d, 0x32, 0xea, 0xaa, 0xb2, 0x41, 0xf4, 0x93, 0xc6, 0x91, 0xe5, 0xba, 0x59, 0xf1, 0x26, 0xd4, 0xe, 0x63, 0x0, 0x16, 0xbb, 0x3e, 0x1c, 0x78, 0xab, 0x5b, 0x90, 0xe0, 0xe6, 0xaf, 0x68, 0xc4, 0x30, 0xd5, 0x75, 0xa0, 0x3c, 0xc6, 0xfa, 0xde, 0xf6, 0x46, 0xcc, 0xfa, 0x51, 0x8c, 0xd9, 0xce, 0x37, 0xa, 0x35, 0x1, 0x28, 0x1, 0x18, 0x24, 0x2, 0x1, 0x36, 0x3, 0x4, 0x2, 0x4, 0x1, 0x18, 0x30, 0x4, 0x14, 0x8b, 0x7a, 0xcb, 0x8, 0x95, 0xa4, 0x5c, 0x94, 0x19, 0x57, 0x18, 0xe, 0x30, 0x5c, 0xe4, 0x98, 0x5f, 0x5b, 0xa7, 0xab, 0x30, 0x5, 0x14, 0x6b, 0xe4, 0x85, 0x7e, 0x41, 0x6, 0x2e, 0xba, 0x9b, 0x8b, 0x53, 0xf0, 0xcb, 0x5b, 0x70, 0x3c, 0x14, 0x63, 0x78, 0x6d, 0x18, 0x30, 0xb, 0x40, 0xcb, 0xa1, 0xe2, 0xbf, 0x8d, 0x78, 0xd9, 0xf7, 0xf1, 0x8, 0xad, 0x93, 0xfd, 0x5, 0x65, 0x61, 0xdb, 0xef, 0x64, 0x3e, 0x42, 0xe0, 0xc, 0xed, 0xf, 0xf3, 0xa9, 0xae, 0xb6, 0x2d, 0x55, 0xcf, 0x10, 0xfc, 0x8d, 0x4, 0x52, 0x35, 0x99, 0x2b, 0xf6, 0xf, 0xa8, 0xc1, 0x30, 0x58, 0x95, 0xf1, 0xc2, 0x4c, 0xd1, 0x10, 0x4f, 0x9c, 0xfc, 0x2d, 0xa4, 0x2a, 0xcc, 0x71, 0x86, 0xa2, 0x3, 0x82, 0x18, + [1655389038.700711][37522:37528] CHIP:DMG: ] + [1655389038.700746][37522:37528] CHIP:DMG: 0x1 = [ + [1655389038.700866][37522:37528] CHIP:DMG: 0x15, 0x30, 0x1, 0x1, 0x0, 0x24, 0x2, 0x1, 0x37, 0x3, 0x24, 0x14, 0x0, 0x18, 0x26, 0x4, 0x80, 0x22, 0x81, 0x27, 0x26, 0x5, 0x80, 0x25, 0x4d, 0x3a, 0x37, 0x6, 0x24, 0x13, 0x1, 0x18, 0x24, 0x7, 0x1, 0x24, 0x8, 0x1, 0x30, 0x9, 0x41, 0x4, 0x98, 0xef, 0x51, 0xbb, 0xde, 0xc5, 0x6c, 0x37, 0xc5, 0x5a, 0xb1, 0x4c, 0x9, 0x9b, 0xc5, 0x82, 0xc6, 0xa1, 0xe7, 0xb3, 0x56, 0xbd, 0xf8, 0xfe, 0x56, 0x3d, 0x3, 0x96, 0x6c, 0x25, 0x25, 0xc0, 0x3b, 0xcc, 0xdb, 0x18, 0xff, 0xcb, 0x1b, 0x57, 0x23, 0x91, 0xf9, 0xee, 0x24, 0x7d, 0xde, 0x82, 0x9e, 0x1, 0xd5, 0xa3, 0x6c, 0x87, 0x3f, 0x9, 0x17, 0x11, 0x76, 0x8c, 0x3d, 0x39, 0xe1, 0x22, 0x37, 0xa, 0x35, 0x1, 0x29, 0x1, 0x18, 0x24, 0x2, 0x60, 0x30, 0x4, 0x14, 0x6b, 0xe4, 0x85, 0x7e, 0x41, 0x6, 0x2e, 0xba, 0x9b, 0x8b, 0x53, 0xf0, 0xcb, 0x5b, 0x70, 0x3c, 0x14, 0x63, 0x78, 0x6d, 0x30, 0x5, 0x14, 0x8a, 0xd7, 0x6a, 0x96, 0x58, 0x45, 0xc, 0x7c, 0x15, 0xa1, 0xe9, 0xa1, 0xf9, 0xff, 0x19, 0x36, 0xbb, 0x86, 0x3b, 0x67, 0x18, 0x30, 0xb, 0x40, 0xd, 0xb7, 0xa7, 0xc4, 0xd7, 0x21, 0xac, 0x99, 0x97, 0x3f, 0xaa, 0x86, 0xfa, 0x7, 0xe3, 0x41, 0x86, 0x33, 0xbc, 0xc3, 0x9a, 0xe1, 0x7f, 0x84, 0x1f, 0xcf, 0xec, 0x92, 0x6b, 0x84, 0xe, 0xba, 0x55, 0x28, 0xd9, 0xc8, 0x4d, 0x83, 0xde, 0xba, 0x8a, 0x16, 0x55, 0x1b, 0xd6, 0x9b, 0x7, 0x7d, 0x64, 0xab, 0x33, 0xc1, 0xad, 0xd5, 0xce, 0xf2, 0xfd, 0x75, 0x2b, 0x11, 0x32, 0xf, 0x81, 0xf0, 0x18, disabled: true - label: "Save TH1s Fabric ID as FabricID1" @@ -46,13 +53,24 @@ tests: - label: "Commission DUT to TH2s Fabric When DUT sends NOC response save - fabricindex as fabindex2" + FabricIndex as FabricIndex_TH2" verification: | - ./chip-tool operationalcredentials read current-fabric-index 2 0 + To commission DUT to TH2 follow below procedure + 1../chip-tool pairing open-commissioning-window 1 1 400 2000 3841 on TH + 2. manualcode will be provided by TH when we pass above command pass manualcode in TH2 to commission by using "./chip-tool pairing code 2 36199720672" considering 36199720672 as manualcode generated in TH - CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003E Attribute 0x0000_0005 DataVersion: 2445178920 - CHIP:TOO: CurrentFabricIndex: 2 - CHIP:EM: Sending Standalone Ack for MessageCounter:8900122 on exchange 26519i + + After commissioning DUT to TH2's fabric read nocs + + NOC and ICAC value during commissioning is + + [1655389319.064447][13418:13423] CHIP:DMG: CommandFields = + [1655389319.064451][13418:13423] CHIP:DMG: { + [1655389319.064455][13418:13423] CHIP:DMG: 0x0 = [ + [1655389319.064476][13418:13423] CHIP:DMG: 0x15, 0x30, 0x1, 0x1, 0x1, 0x24, 0x2, 0x1, 0x37, 0x3, 0x24, 0x13, 0x1, 0x18, 0x26, 0x4, 0x80, 0x22, 0x81, 0x27, 0x26, 0x5, 0x80, 0x25, 0x4d, 0x3a, 0x37, 0x6, 0x24, 0x15, 0x1, 0x24, 0x11, 0x2, 0x18, 0x24, 0x7, 0x1, 0x24, 0x8, 0x1, 0x30, 0x9, 0x41, 0x4, 0xc3, 0x7f, 0x7d, 0x4, 0xa6, 0xb2, 0xab, 0xb, 0xcb, 0xe, 0x9e, 0x8, 0xf6, 0x44, 0x52, 0x45, 0xb4, 0x6e, 0xda, 0x2a, 0x7, 0x35, 0x56, 0xf5, 0xc, 0x7e, 0x6c, 0xe8, 0x6a, 0xea, 0xac, 0x9b, 0x6b, 0x9c, 0x23, 0x72, 0x84, 0x1, 0x77, 0xa, 0x39, 0x49, 0x84, 0xb7, 0xb8, 0x35, 0x29, 0x6c, 0x3d, 0x55, 0x1f, 0x4a, 0x6a, 0xe0, 0x80, 0xbb, 0x18, 0xc5, 0x8, 0x92, 0xe3, 0x4a, 0x1f, 0x7a, 0x37, 0xa, 0x35, 0x1, 0x28, 0x1, 0x18, 0x24, 0x2, 0x1, 0x36, 0x3, 0x4, 0x2, 0x4, 0x1, 0x18, 0x30, 0x4, 0x14, 0xe4, 0xea, 0x12, 0xb7, 0x13, 0xd4, 0x10, 0x7b, 0xae, 0x73, 0x87, 0x4b, 0x93, 0x66, 0xf2, 0x7e, 0x54, 0x52, 0x51, 0x43, 0x30, 0x5, 0x14, 0x7f, 0xec, 0x8f, 0x82, 0x28, 0x68, 0x25, 0xca, 0x18, 0xa3, 0x92, 0xa8, 0xa7, 0xb7, 0xf7, 0x8, 0x9d, 0xb7, 0x5, 0x7a, 0x18, 0x30, 0xb, 0x40, 0x25, 0x59, 0xde, 0xd2, 0xef, 0x92, 0x41, 0x70, 0x99, 0x82, 0x24, 0xc9, 0x49, 0xa9, 0xd, 0x47, 0xfb, 0xbe, 0x63, 0xad, 0xa6, 0xfd, 0x3a, 0xa8, 0xff, 0x1, 0x10, 0xae, 0x93, 0xc2, 0x33, 0x29, 0xca, 0xc7, 0xf8, 0x39, 0x10, 0xb2, 0xc1, 0xa8, 0xf4, 0x57, 0x1b, 0xfb, 0x76, 0x8, 0xa6, 0xf9, 0x57, 0x7, 0x90, 0x10, 0x19, 0x79, 0x97, 0x32, 0x6d, 0x7c, 0x33, 0xe9, 0x34, 0xd9, 0x71, 0x2, 0x18, + [1655389319.064488][13418:13423] CHIP:DMG: ] + [1655389319.064492][13418:13423] CHIP:DMG: 0x1 = [ + [1655389319.064512][13418:13423] CHIP:DMG: 0x15, 0x30, 0x1, 0x1, 0x0, 0x24, 0x2, 0x1, 0x37, 0x3, 0x24, 0x14, 0x0, 0x18, 0x26, 0x4, 0x80, 0x22, 0x81, 0x27, 0x26, 0x5, 0x80, 0x25, 0x4d, 0x3a, 0x37, 0x6, 0x24, 0x13, 0x1, 0x18, 0x24, 0x7, 0x1, 0x24, 0x8, 0x1, 0x30, 0x9, 0x41, 0x4, 0xb6, 0x8c, 0x7f, 0x8f, 0xbd, 0xe3, 0x1e, 0xb7, 0xd1, 0xad, 0x78, 0x17, 0x76, 0x88, 0xa0, 0x56, 0x11, 0x9, 0x56, 0x1a, 0x70, 0xfd, 0x82, 0x98, 0xb, 0x6d, 0x85, 0x82, 0x5b, 0x5, 0xdf, 0x64, 0xa7, 0x27, 0x47, 0xad, 0x56, 0x10, 0xb0, 0x5c, 0x86, 0x7e, 0x2b, 0xd5, 0xef, 0xbb, 0x49, 0xcc, 0x5f, 0x37, 0xe5, 0x6a, 0x21, 0x7b, 0x95, 0x60, 0x91, 0xdd, 0x8, 0x37, 0xbf, 0xcf, 0x5a, 0xfe, 0x37, 0xa, 0x35, 0x1, 0x29, 0x1, 0x18, 0x24, 0x2, 0x60, 0x30, 0x4, 0x14, 0x7f, 0xec, 0x8f, 0x82, 0x28, 0x68, 0x25, 0xca, 0x18, 0xa3, 0x92, 0xa8, 0xa7, 0xb7, 0xf7, 0x8, 0x9d, 0xb7, 0x5, 0x7a, 0x30, 0x5, 0x14, 0x50, 0xfa, 0x17, 0x5f, 0xab, 0x87, 0xbe, 0x4b, 0x13, 0x4c, 0xd, 0xad, 0xff, 0x3b, 0x76, 0x6c, 0x55, 0xb, 0x54, 0x39, 0x18, 0x30, 0xb, 0x40, 0x8c, 0xfb, 0xf9, 0xd1, 0xfc, 0x41, 0xdb, 0x83, 0x27, 0xb7, 0xcc, 0xdb, 0x92, 0x6e, 0x93, 0x8d, 0x50, 0xbf, 0xee, 0x34, 0xe8, 0x95, 0x85, 0xc2, 0x28, 0x87, 0x24, 0xfd, 0x9e, 0x30, 0x68, 0xdd, 0x66, 0xa5, 0x38, 0x1e, 0x8c, 0xed, 0xc9, 0xba, 0xf9, 0x24, 0x1c, 0x35, 0x89, 0xaa, 0x47, 0x7d, 0xd6, 0x29, 0xba, 0x57, 0x6d, 0xf0, 0xf8, 0x6c, 0xc0, 0x36, 0xf0, 0x15, 0xa1, 0xf0, 0x6b, 0xda, 0x18, disabled: true - label: "Save TH2s Fabric ID as FabricID2" @@ -61,6 +79,7 @@ tests: disabled: true - label: "From TH1 read the CurrentFabricIndex" + PICS: OPCREDS.S.A0005 verification: | ./chip-tool operationalcredentials read current-fabric-index 1 0 @@ -70,38 +89,56 @@ tests: disabled: true - label: - "From TH1 read the NOCs List attribute having entry index 0 and entry - index 1" + "From TH1 read the entire NOCs List attribute with a + non-fabric-filtered read" verification: | ./chip-tool operationalcredentials read nocs 1 0 - [1651577468.074462][4512:4517] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003E Attribute 0x0000_0000 DataVersion: 2998576972 - [1651577468.074533][4512:4517] CHIP:TOO: NOCs: 1 entries - [1651577468.074596][4512:4517] CHIP:TOO: [1]: { - [1651577468.074626][4512:4517] CHIP:TOO: Noc: Elided value too large of size 241 - [1651577468.074652][4512:4517] CHIP:TOO: Icac: Elided value too large of size 231 - [1651577468.074676][4512:4517] CHIP:TOO: FabricIndex: 1 - [1651577468.074699][4512:4517] CHIP:TOO: } + [1655299445.254793][5931:5936] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003E Attribute 0x0000_0000 DataVersion: 4147267487 + [1655299445.254913][5931:5936] CHIP:TOO: NOCs: 2 entries + [1655299445.255132][5931:5936] CHIP:TOO: [1]: { + [1655299445.255205][5931:5936] CHIP:TOO: Noc: 1530010101240201370324130118260480228127260580254D3A37062415012411011824070124080130094104AFB3D89A1C315C54CFE144DE253BB8A1A83D3C52A44BEDC3D1AD454896CE8FC7AD8AC27404EC722D687A662F93B1E9A248994651F31EC8E7942FB61C37D3B603370A350128011824020136030402040118300414B1646E93EE66D610D7879C66DBD8042A234FC83C3005146E9A1B56B4C52989586C7D08F537F57339002A4518300B407B02D3715DF454F47468372FF25ADFB67DCDF626AD027E3D792B48FE7FF28BFD4702B7ABEFBF08FD955A88B0F28426EED604739B57ADF924C26D4C083584C31F18 + [1655299445.255278][5931:5936] CHIP:TOO: Icac: 1530010100240201370324140018260480228127260580254D3A37062413011824070124080130094104D2C6C54633ABA5B0B8832FF338BFC8A3D8BCFEE7F063E0B88D258F9F6A849F9CC51E1750A8AB33F09D1119C79DB11BE2FCD50DF1F4442A2A05E1AF03657549A1370A35012901182402603004146E9A1B56B4C52989586C7D08F537F57339002A45300514FB950B8DF95F7A2AB74273D07E32FFDC9DF2F04A18300B40CD808C114A4FEF84430733EC98BE8E04401B8BBCE34F1996F856774ECB1E30DF6C49F49E0701F1E8687C47AE80138C38AB886C7FFBF289E4E56B78C31A8DABE818 + [1655299445.255330][5931:5936] CHIP:TOO: FabricIndex: 1 disabled: true - - label: "Read NOCStruct values from entry at index 0" + - label: + "From TH1 read the entire NOCs List attribute with a fabric-filtered + read" verification: | - ./chip-tool operationalcredentials read nocs 1 0 + ./chip-tool operationalcredentials read nocs 1 0 --fabric-filtered 0 + + [1655299445.254793][5931:5936] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003E Attribute 0x0000_0000 DataVersion: 4147267487 + [1655299445.254913][5931:5936] CHIP:TOO: NOCs: 2 entries + [1655299445.255132][5931:5936] CHIP:TOO: [1]: { + [1655299445.255205][5931:5936] CHIP:TOO: Noc: 1530010101240201370324130118260480228127260580254D3A37062415012411011824070124080130094104AFB3D89A1C315C54CFE144DE253BB8A1A83D3C52A44BEDC3D1AD454896CE8FC7AD8AC27404EC722D687A662F93B1E9A248994651F31EC8E7942FB61C37D3B603370A350128011824020136030402040118300414B1646E93EE66D610D7879C66DBD8042A234FC83C3005146E9A1B56B4C52989586C7D08F537F57339002A4518300B407B02D3715DF454F47468372FF25ADFB67DCDF626AD027E3D792B48FE7FF28BFD4702B7ABEFBF08FD955A88B0F28426EED604739B57ADF924C26D4C083584C31F18 + [1655299445.255278][5931:5936] CHIP:TOO: Icac: 1530010100240201370324140018260480228127260580254D3A37062413011824070124080130094104D2C6C54633ABA5B0B8832FF338BFC8A3D8BCFEE7F063E0B88D258F9F6A849F9CC51E1750A8AB33F09D1119C79DB11BE2FCD50DF1F4442A2A05E1AF03657549A1370A35012901182402603004146E9A1B56B4C52989586C7D08F537F57339002A45300514FB950B8DF95F7A2AB74273D07E32FFDC9DF2F04A18300B40CD808C114A4FEF84430733EC98BE8E04401B8BBCE34F1996F856774ECB1E30DF6C49F49E0701F1E8687C47AE80138C38AB886C7FFBF289E4E56B78C31A8DABE818 + [1655299445.255330][5931:5936] CHIP:TOO: FabricIndex: 1 + [1655299445.255371][5931:5936] CHIP:TOO: } + [1655299445.255421][5931:5936] CHIP:TOO: [2]: { + [1655299445.255466][5931:5936] CHIP:TOO: Struct truncated due to invalid value for 'Noc' + disabled: true - [1651577468.074462][4512:4517] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003E Attribute 0x0000_0000 DataVersion: 2998576972 - [1651577468.074533][4512:4517] CHIP:TOO: NOCs: 1 entries - [1651577468.074596][4512:4517] CHIP:TOO: [1]: { - [1651577468.074626][4512:4517] CHIP:TOO: Noc: Elided value too large of size 241 - [1651577468.074652][4512:4517] CHIP:TOO: Icac: Elided value too large of size 231 - [1651577468.074676][4512:4517] CHIP:TOO: FabricIndex: 1 - [1651577468.074699][4512:4517] CHIP:TOO: } + - label: "Read NOCStruct values from entry at index 0" + verification: | + ./chip-tool operationalcredentials read nocs 1 0 --fabric-filtered 0 + + [1655299445.254793][5931:5936] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003E Attribute 0x0000_0000 DataVersion: 4147267487 + [1655299445.254913][5931:5936] CHIP:TOO: NOCs: 2 entries + [1655299445.255132][5931:5936] CHIP:TOO: [1]: { + [1655299445.255205][5931:5936] CHIP:TOO: Noc: 1530010101240201370324130118260480228127260580254D3A37062415012411011824070124080130094104AFB3D89A1C315C54CFE144DE253BB8A1A83D3C52A44BEDC3D1AD454896CE8FC7AD8AC27404EC722D687A662F93B1E9A248994651F31EC8E7942FB61C37D3B603370A350128011824020136030402040118300414B1646E93EE66D610D7879C66DBD8042A234FC83C3005146E9A1B56B4C52989586C7D08F537F57339002A4518300B407B02D3715DF454F47468372FF25ADFB67DCDF626AD027E3D792B48FE7FF28BFD4702B7ABEFBF08FD955A88B0F28426EED604739B57ADF924C26D4C083584C31F18 + [1655299445.255278][5931:5936] CHIP:TOO: Icac: 1530010100240201370324140018260480228127260580254D3A37062413011824070124080130094104D2C6C54633ABA5B0B8832FF338BFC8A3D8BCFEE7F063E0B88D258F9F6A849F9CC51E1750A8AB33F09D1119C79DB11BE2FCD50DF1F4442A2A05E1AF03657549A1370A35012901182402603004146E9A1B56B4C52989586C7D08F537F57339002A45300514FB950B8DF95F7A2AB74273D07E32FFDC9DF2F04A18300B40CD808C114A4FEF84430733EC98BE8E04401B8BBCE34F1996F856774ECB1E30DF6C49F49E0701F1E8687C47AE80138C38AB886C7FFBF289E4E56B78C31A8DABE818 + [1655299445.255330][5931:5936] CHIP:TOO: FabricIndex: 1 + [1655299445.255371][5931:5936] CHIP:TOO: } + [1655299445.255421][5931:5936] CHIP:TOO: [2]: { + [1655299445.255466][5931:5936] CHIP:TOO: Struct truncated due to invalid value for 'Noc' disabled: true - label: - "Read the FabricDescriptorStruct from Fabrics list for FabricID = - FabricID1 from DUT" + "Read the Fabrics List and get the FabricDescriptorStruct for the + entry where FabricIndex = FabricIndex_TH1 from DUT" verification: | - ./chip-tool operationalcredentials read fabrics 1 0 + ./chip-tool operationalcredentials read fabrics 1 0 --fabric-filtered 0 [1651578337.008417][4553:4558] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003E Attribute 0x0000_0001 DataVersion: 2998576972 [1651578337.008501][4553:4558] CHIP:TOO: Fabrics: 1 entries @@ -113,6 +150,14 @@ tests: [1651578337.008896][4553:4558] CHIP:TOO: Label: [1651578337.008918][4553:4558] CHIP:TOO: FabricIndex: 1 [1651578337.008941][4553:4558] CHIP:TOO: } + [1655389763.748843][37590:37595] CHIP:TOO: [2]: { + [1655389763.748889][37590:37595] CHIP:TOO: RootPublicKey: 04EF9749809496291882AD80039B1E4B08B9405328C5DB1098E40E33D0C15E2B26A851BEC5557C3B65AEE75AB00B00F327978C53DF567F73C63AA6CE2EFCAD8BD5 + [1655389763.748929][37590:37595] CHIP:TOO: VendorId: 65521 + [1655389763.748966][37590:37595] CHIP:TOO: FabricId: 1 + [1655389763.749002][37590:37595] CHIP:TOO: NodeId: 2 + [1655389763.749038][37590:37595] CHIP:TOO: Label: + [1655389763.749074][37590:37595] CHIP:TOO: FabricIndex: 2 + [1655389763.749109][37590:37595] CHIP:TOO: } disabled: true - label: "From TH2 read the CurrentFabricIndex" @@ -124,38 +169,51 @@ tests: CHIP:EM: Sending Standalone Ack for MessageCounter:8900122 on exchange 26519i disabled: true - - label: "From TH2 read the NOCs List attribute having two entries" + - label: + "From TH2 read the entire NOCs List attribute with a + non-fabric-filtered read" verification: | ./chip-tool operationalcredentials read nocs 2 0 - [1651578024.197989][4573:4578] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003E Attribute 0x0000_0000 DataVersion: 2998576972 - [1651578024.198153][4573:4578] CHIP:TOO: NOCs: 1 entries - [1651578024.198294][4573:4578] CHIP:TOO: [1]: { - [1651578024.198363][4573:4578] CHIP:TOO: Noc: Elided value too large of size 241 - [1651578024.198425][4573:4578] CHIP:TOO: Icac: Elided value too large of size 231 - [1651578024.198485][4573:4578] CHIP:TOO: FabricIndex: 2 - [1651578024.198542][4573:4578] CHIP:TOO: } + [1656324963.760394][21807:21812] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003E Attribute 0x0000_0000 DataVersion: 3039700475 + [1656324963.760560][21807:21812] CHIP:TOO: NOCs: 1 entries + [1656324963.760654][21807:21812] CHIP:TOO: [1]: { + [1656324963.760759][21807:21812] CHIP:TOO: Noc: 1530010101240201370324130118260480228127260580254D3A3706241501241102182407012408013009410475B895026B7B89BEB4ECA4E64554CCFD21DD14248CE8F1AC0ACD0CD9814517E4C097F93AA586BA4227B2CAB4D2EA2E867766838518CC0C95423918920F817F6D370A35012801182402013603040204011830041477FBC157EACF9E2DB7751A50355B8D25E5FDDE53300514A9BC6AE3BFDE2A64D6EC22068845A23E90BEBC6318300B40E51A2205FD8BC6777F6C20E211E34DBC0E87771E64A88430D5FB7E1816BC730D3C11B3E79E049EFE1D05B764D6CF45EB4D09CFF22C1FB1F400D3CEA708357EE118 + [1656324963.760890][21807:21812] CHIP:TOO: Icac: 1530010100240201370324140018260480228127260580254D3A3706241301182407012408013009410434A4B1DCA46AA324092F3CAE88AEB73046B42AE07A4FD6118F789415CB50BB59420E5DA6A36703F31F839AC0E2140A82CE0C491C170AA571A242D5C2D8353A35370A3501290118240260300414A9BC6AE3BFDE2A64D6EC22068845A23E90BEBC63300514A4E0D107CD79928F1F158CDF66B9D7F7F348543F18300B402CBFBC2E852FC61B8E0963D194ED6C7CB24E64147A2F10CFD64393A563A2540F6F01AA1DFFCD57C2FA9CB84AF72B2DF50EEBAC6FD9599EC3799254DE50B7DBBE18 + [1656324963.760934][21807:21812] CHIP:TOO: FabricIndex: 2 disabled: true - - label: "Read NOCStruct values from entry at index 1" + - label: + "From TH2 read the entire NOCs List attribute with a fabric-filtered + read" verification: | - ./chip-tool operationalcredentials read nocs 2 0 - - [1651578024.197989][4573:4578] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003E Attribute 0x0000_0000 DataVersion: 2998576972 - [1651578024.198153][4573:4578] CHIP:TOO: NOCs: 1 entries - [1651578024.198294][4573:4578] CHIP:TOO: [1]: { - [1651578024.198363][4573:4578] CHIP:TOO: Noc: Elided value too large of size 241 - [1651578024.198425][4573:4578] CHIP:TOO: Icac: Elided value too large of size 231 - [1651578024.198485][4573:4578] CHIP:TOO: FabricIndex: 2 - [1651578024.198542][4573:4578] CHIP:TOO: } + ./chip-tool operationalcredentials read nocs 2 0 --fabric-filtered 0 + + [1656325020.350589][21816:21821] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003E Attribute 0x0000_0000 DataVersion: 3039700475 + [1656325020.350724][21816:21821] CHIP:TOO: NOCs: 2 entries + [1656325020.350797][21816:21821] CHIP:TOO: [1]: { + [1656325020.350839][21816:21821] CHIP:TOO: Noc: + [1656325020.350876][21816:21821] CHIP:TOO: Icac: null + [1656325020.350915][21816:21821] CHIP:TOO: FabricIndex: 1 + [1656325020.350952][21816:21821] CHIP:TOO: } + [1656325020.351006][21816:21821] CHIP:TOO: [2]: { + [1656325020.351064][21816:21821] CHIP:TOO: Noc: 1530010101240201370324130118260480228127260580254D3A3706241501241102182407012408013009410475B895026B7B89BEB4ECA4E64554CCFD21DD14248CE8F1AC0ACD0CD9814517E4C097F93AA586BA4227B2CAB4D2EA2E867766838518CC0C95423918920F817F6D370A35012801182402013603040204011830041477FBC157EACF9E2DB7751A50355B8D25E5FDDE53300514A9BC6AE3BFDE2A64D6EC22068845A23E90BEBC6318300B40E51A2205FD8BC6777F6C20E211E34DBC0E87771E64A88430D5FB7E1816BC730D3C11B3E79E049EFE1D05B764D6CF45EB4D09CFF22C1FB1F400D3CEA708357EE118 + [1656325020.351129][21816:21821] CHIP:TOO: Icac: 1530010100240201370324140018260480228127260580254D3A3706241301182407012408013009410434A4B1DCA46AA324092F3CAE88AEB73046B42AE07A4FD6118F789415CB50BB59420E5DA6A36703F31F839AC0E2140A82CE0C491C170AA571A242D5C2D8353A35370A3501290118240260300414A9BC6AE3BFDE2A64D6EC22068845A23E90BEBC63300514A4E0D107CD79928F1F158CDF66B9D7F7F348543F18300B402CBFBC2E852FC61B8E0963D194ED6C7CB24E64147A2F10CFD64393A563A2540F6F01AA1DFFCD57C2FA9CB84AF72B2DF50EEBAC6FD9599EC3799254DE50B7DBBE18 + [1656325020.351174][21816:21821] CHIP:TOO: FabricIndex: 2 + [1656325020.351211][21816:21821] CHIP:TOO: } disabled: true - - label: "From TH2 Read the TrustedRootCertificates list from DUT" + - label: "Read NOCStruct values from entry at index 1" verification: | - ./chip-tool operationalcredentials read trusted-root-certificates 2 0 - - [1651578083.266945][4581:4586] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003E Attribute 0x0000_0004 DataVersion: 2998576972 - [1651578083.267107][4581:4586] CHIP:TOO: TrustedRootCertificates: 2 entries - [1651578083.267238][4581:4586] CHIP:TOO: [1]: Elided value too large of size 231 - [1651578083.267311][4581:4586] CHIP:TOO: [2]: Elided value too large of size 231 + ./chip-tool operationalcredentials read nocs 1 0 --fabric-filtered 0 + + [1655299445.254793][5931:5936] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003E Attribute 0x0000_0000 DataVersion: 4147267487 + [1655299445.254913][5931:5936] CHIP:TOO: NOCs: 2 entries + [1655299445.255132][5931:5936] CHIP:TOO: [1]: { + [1655299445.255205][5931:5936] CHIP:TOO: Noc: 1530010101240201370324130118260480228127260580254D3A37062415012411011824070124080130094104AFB3D89A1C315C54CFE144DE253BB8A1A83D3C52A44BEDC3D1AD454896CE8FC7AD8AC27404EC722D687A662F93B1E9A248994651F31EC8E7942FB61C37D3B603370A350128011824020136030402040118300414B1646E93EE66D610D7879C66DBD8042A234FC83C3005146E9A1B56B4C52989586C7D08F537F57339002A4518300B407B02D3715DF454F47468372FF25ADFB67DCDF626AD027E3D792B48FE7FF28BFD4702B7ABEFBF08FD955A88B0F28426EED604739B57ADF924C26D4C083584C31F18 + [1655299445.255278][5931:5936] CHIP:TOO: Icac: 1530010100240201370324140018260480228127260580254D3A37062413011824070124080130094104D2C6C54633ABA5B0B8832FF338BFC8A3D8BCFEE7F063E0B88D258F9F6A849F9CC51E1750A8AB33F09D1119C79DB11BE2FCD50DF1F4442A2A05E1AF03657549A1370A35012901182402603004146E9A1B56B4C52989586C7D08F537F57339002A45300514FB950B8DF95F7A2AB74273D07E32FFDC9DF2F04A18300B40CD808C114A4FEF84430733EC98BE8E04401B8BBCE34F1996F856774ECB1E30DF6C49F49E0701F1E8687C47AE80138C38AB886C7FFBF289E4E56B78C31A8DABE818 + [1655299445.255330][5931:5936] CHIP:TOO: FabricIndex: 1 + [1655299445.255371][5931:5936] CHIP:TOO: } + [1655299445.255421][5931:5936] CHIP:TOO: [2]: { + [1655299445.255466][5931:5936] CHIP:TOO: Struct truncated due to invalid value for 'Noc' disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_OPCREDS_3_3.yaml b/src/app/tests/suites/certification/Test_TC_OPCREDS_3_3.yaml index 6d173773df2a03..b903f58872c064 100644 --- a/src/app/tests/suites/certification/Test_TC_OPCREDS_3_3.yaml +++ b/src/app/tests/suites/certification/Test_TC_OPCREDS_3_3.yaml @@ -25,47 +25,122 @@ tests: "Factory Reset DUT (to ensure NOC list is empty at the beginning of the following steps)" verification: | + On both DUT and TH side + sudo rm -rf /tmp/chip_* + disabled: true + + - label: "Start the commissioning process of TH with DUT" + verification: | + ./chip-tool pairing ble-wifi 1 GRLPrivate_EXT matter123 20202021 3840 + + TH END: + [1641381202.376419][5628:5633] CHIP:CTL: Received success response 0x3df8 + sudo ./all-clusters-app --wifi + + DUT END: + [1641381202.306840][4431:4431] CHIP:DL: NVS set: chip-config/regulatory-location = 0 (0x0) disabled: true - - label: "Start the commissioning process of TH1 with DUT" + - label: + "Extract the CSRResponse values for future use from TH NOCSRElements - + which contains the Node Operational PublicKey from CSR + AttestationSignature" verification: | + Verify in TH log during commissioning + [1655374218.471604][35023:35028] CHIP:CTL: Sent CSR request, waiting for the CSR + [1655374218.471657][35023:35028] CHIP:DMG: ICR moving to [AwaitingDe] + [1655374218.545295][35023:35028] CHIP:DL: HandlePlatformSpecificBLEEvent 16387 + [1655374218.593501][35023:35026] CHIP:DL: Indication received, conn = 0xffff8003c0c0 + [1655374218.593742][35023:35028] CHIP:DL: HandlePlatformSpecificBLEEvent 16389 + [1655374218.692844][35023:35026] CHIP:DL: Indication received, conn = 0xffff8003c0c0 + [1655374218.693039][35023:35028] CHIP:DL: HandlePlatformSpecificBLEEvent 16389 + [1655374218.694026][35023:35028] CHIP:DMG: << from BLE | 224958146 | [Interaction Model (1) / InvokeCommandResponse (0x09) / Session = 19710 / Exchange = 1303] + [1655374218.694113][35023:35028] CHIP:DMG: Header Flags = + [1655374218.694163][35023:35028] CHIP:DMG: { + [1655374218.694246][35023:35028] CHIP:DMG: } + [1655374218.694293][35023:35028] CHIP:DMG: + [1655374218.694372][35023:35028] CHIP:DMG: Encrypted Payload (373 bytes) = + [1655374218.694421][35023:35028] CHIP:DMG: { + [1655374218.694487][35023:35028] CHIP:DMG: data = 00fe4c00c296680dc333744c19804d17b3a5fc0ede316f0c75a0e974b053bbd1492726afd9b758ff45d1d43444877d668a53f61538a1e04240741fd7b44434e81f4289697a6587878c8f0d33b5248c8beaeb64852b59d8196f821a88a64979ca14664f74acfe864d4dcbd8543cbe70d88e972177907a1a753fe0eb16854eadfa25911c05ffedada8c1c89aa63719aaf9e22b1664e3f4e007d1b2b3d64d4319cda0ea94ef4bd7dfee916bf6ebbe5284a0dcee6f61f9c9dbbe154c0bc1530162b90ff34475cf9c7d6462643bd5ce8176b377a9875f1f65e8791ef81243d9d4976258651925578d6ee9aedd9f9cba26f685d41268d9c9907687ac42c545488a0d10a2717c7b323b5a1574a0ecf79ba9677a98cfb985c69feb8dbd18f7eb26b4a058da766fde496d602c78f19be19a87dd37f003ebe077aca48c4d572d6bf6a2d3e7bb459e9855e4ad4cafbf863670ed5874cafe73c6c677c7890e4daf6337fec6661b1b73aca7ec43a0555689be4459e8724a7747b3e5 + [1655374218.694551][35023:35028] CHIP:DMG: buffer_ptr = 281472627984864 + [1655374218.694595][35023:35028] CHIP:DMG: } + [1655374218.694637][35023:35028] CHIP:DMG: + [1655374218.694869][35023:35028] CHIP:DMG: NOCSR Elements = + [1655374218.694922][35023:35028] CHIP:DMG: { + [1655374218.695009][35023:35028] CHIP:DMG: CSR (203) = 3081C83070020100300E310C300A060355040A0C034353523059301306072A8648CE3D020106082A8648CE3D03010703420004FD1662E0C1F44C5BD8A284452ED17C631CA88697CBF396EB765397315ED248729BFC7DE464404B1FA34B2DD81714E2484B8E908121BB95DFDA4493D5CDDA797AA000300A06082A8648CE3D0403020348003045022100832718B8679DB2C9A26579F08D930F7DA747F6F23EE2DD11777FBF1191909FD3022073E039F63AEA4C1BF812AE65221CB09203FF1BD382872FB37478C2C4045FD8B8 + [1655374218.695086][35023:35028] CHIP:DMG: CSRNonce (32) = 79964F34E68A97E41DBDFE7888583183535EDC3A185AF99941BDA4C5A65FDA39 + [1655374218.695133][35023:35028] CHIP:DMG: } + [1655374218.695176][35023:35028] CHIP:DMG: + [1655374218.695220][35023:35028] CHIP:DMG: CSR (203) = + [1655374218.695310][35023:35028] CHIP:DMG: { + -----BEGIN CERTIFICATE REQUEST----- + MIHIMHACAQAwDjEMMAoGA1UECgwDQ1NSMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcD + QgAE/RZi4MH0TFvYooRFLtF8YxyohpfL85brdlOXMV7SSHKb/H3kZEBLH6NLLdgX + FOJIS46QgSG7ld/aRJPVzdp5eqAAMAoGCCqGSM49BAMCA0gAMEUCIQCDJxi4Z52y + yaJlefCNkw99p0f28j7i3RF3f78RkZCf0wIgc+A59jrqTBv4Eq5lIhywkgP/G9OC + hy+zdHjCxARf2Lg= + -----END CERTIFICATE REQUEST----- + [1655374218.695464][35023:35028] CHIP:DMG: } + [1655374218.695508][35023:35028] CHIP:DMG: + [1655374218.695583][35023:35028] CHIP:DMG: + [1655374218.695676][35023:35028] CHIP:DMG: Additional Fields = + [1655374218.695725][35023:35028] CHIP:DMG: { + [1655374218.695775][35023:35028] CHIP:DMG: peer_address = BLE + [1655374218.695841][35023:35028] CHIP:DMG: } + [1655374218.695884][35023:35028] CHIP:DMG: + [1655374218.695962][35023:35028] CHIP:EM: Received message of type 0x9 with protocolId (0, 1) and MessageCounter:224958146 on exchange 1303i + [1655374218.696018][35023:35028] CHIP:EM: Found matching exchange: 1303i, Delegate: 0xffff8003e5b0 + [1655374218.696118][35023:35028] CHIP:DMG: ICR moving to [ResponseRe] + [1655374218.696217][35023:35028] CHIP:DMG: InvokeResponseMessage = + [1655374218.696269][35023:35028] CHIP:DMG: { + [1655374218.696319][35023:35028] CHIP:DMG: suppressResponse = false, + [1655374218.696389][35023:35028] CHIP:DMG: InvokeResponseIBs = + [1655374218.696457][35023:35028] CHIP:DMG: [ + [1655374218.696525][35023:35028] CHIP:DMG: InvokeResponseIB = + [1655374218.696617][35023:35028] CHIP:DMG: { + [1655374218.696673][35023:35028] CHIP:DMG: CommandDataIB = + [1655374218.696757][35023:35028] CHIP:DMG: { + [1655374218.696819][35023:35028] CHIP:DMG: CommandPathIB = + [1655374218.696903][35023:35028] CHIP:DMG: { + [1655374218.696975][35023:35028] CHIP:DMG: EndpointId = 0x0, + [1655374218.697072][35023:35028] CHIP:DMG: ClusterId = 0x3e, + [1655374218.697164][35023:35028] CHIP:DMG: CommandId = 0x5, + [1655374218.697235][35023:35028] CHIP:DMG: }, + [1655374218.697325][35023:35028] CHIP:DMG: + [1655374218.697412][35023:35028] CHIP:DMG: CommandFields = + [1655374218.697483][35023:35028] CHIP:DMG: { + [1655374218.697576][35023:35028] CHIP:DMG: 0x0 = [ + [1655374218.697885][35023:35028] CHIP:DMG: 0x15, 0x30, 0x1, 0xcb, 0x30, 0x81, 0xc8, 0x30, 0x70, 0x2, 0x1, 0x0, 0x30, 0xe, 0x31, 0xc, 0x30, 0xa, 0x6, 0x3, 0x55, 0x4, 0xa, 0xc, 0x3, 0x43, 0x53, 0x52, 0x30, 0x59, 0x30, 0x13, 0x6, 0x7, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x2, 0x1, 0x6, 0x8, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x3, 0x1, 0x7, 0x3, 0x42, 0x0, 0x4, 0xfd, 0x16, 0x62, 0xe0, 0xc1, 0xf4, 0x4c, 0x5b, 0xd8, 0xa2, 0x84, 0x45, 0x2e, 0xd1, 0x7c, 0x63, 0x1c, 0xa8, 0x86, 0x97, 0xcb, 0xf3, 0x96, 0xeb, 0x76, 0x53, 0x97, 0x31, 0x5e, 0xd2, 0x48, 0x72, 0x9b, 0xfc, 0x7d, 0xe4, 0x64, 0x40, 0x4b, 0x1f, 0xa3, 0x4b, 0x2d, 0xd8, 0x17, 0x14, 0xe2, 0x48, 0x4b, 0x8e, 0x90, 0x81, 0x21, 0xbb, 0x95, 0xdf, 0xda, 0x44, 0x93, 0xd5, 0xcd, 0xda, 0x79, 0x7a, 0xa0, 0x0, 0x30, 0xa, 0x6, 0x8, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x4, 0x3, 0x2, 0x3, 0x48, 0x0, 0x30, 0x45, 0x2, 0x21, 0x0, 0x83, 0x27, 0x18, 0xb8, 0x67, 0x9d, 0xb2, 0xc9, 0xa2, 0x65, 0x79, 0xf0, 0x8d, 0x93, 0xf, 0x7d, 0xa7, 0x47, 0xf6, 0xf2, 0x3e, 0xe2, 0xdd, 0x11, 0x77, 0x7f, 0xbf, 0x11, 0x91, 0x90, 0x9f, 0xd3, 0x2, 0x20, 0x73, 0xe0, 0x39, 0xf6, 0x3a, 0xea, 0x4c, 0x1b, 0xf8, 0x12, 0xae, 0x65, 0x22, 0x1c, 0xb0, 0x92, 0x3, 0xff, 0x1b, 0xd3, 0x82, 0x87, 0x2f, 0xb3, 0x74, 0x78, 0xc2, 0xc4, 0x4, 0x5f, 0xd8, 0xb8, 0x30, 0x2, 0x20, 0x79, 0x96, 0x4f, 0x34, 0xe6, 0x8a, 0x97, 0xe4, 0x1d, 0xbd, 0xfe, 0x78, 0x88, 0x58, 0x31, 0x83, 0x53, 0x5e, 0xdc, 0x3a, 0x18, 0x5a, 0xf9, 0x99, 0x41, 0xbd, 0xa4, 0xc5, 0xa6, 0x5f, 0xda, 0x39, 0x18, + [1655374218.698054][35023:35028] CHIP:DMG: ] + [1655374218.698125][35023:35028] CHIP:DMG: 0x1 = [ + [1655374218.698256][35023:35028] CHIP:DMG: 0x46, 0xa1, 0x4d, 0x8b, 0xd2, 0xed, 0x49, 0x3c, 0xe, 0x45, 0xb9, 0xc7, 0x48, 0x14, 0x26, 0x63, 0x6d, 0xbd, 0x20, 0x93, 0x3d, 0x5, 0x14, 0xae, 0xa5, 0x3a, 0x28, 0x9e, 0xe4, 0xf8, 0x4d, 0x5c, 0x47, 0x7c, 0x10, 0xb9, 0x4e, 0xc8, 0x87, 0x49, 0xc0, 0xa, 0xc3, 0xb, 0x7c, 0xf5, 0xee, 0x7c, 0xfb, 0x8a, 0x7f, 0x3, 0x1f, 0xcc, 0xb5, 0xfa, 0x36, 0x65, 0xff, 0x33, 0x81, 0x7a, 0x1d, 0xbb, + [1655374218.698344][35023:35028] CHIP:DMG: ] + [1655374218.698412][35023:35028] CHIP:DMG: }, + [1655374218.698477][35023:35028] CHIP:DMG: }, + [1655374218.698549][35023:35028] CHIP:DMG: + [1655374218.698605][35023:35028] CHIP:DMG: }, + [1655374218.698675][35023:35028] CHIP:DMG: + [1655374218.698724][35023:35028] CHIP:DMG: ], + [1655374218.698788][35023:35028] CHIP:DMG: + [1655374218.698837][35023:35028] CHIP:DMG: InteractionModelRevision = 1 + [1655374218.698886][35023:35028] CHIP:DMG: }, + [1655374218.699011][35023:35028] CHIP:DMG: Received Command Response Data, Endpoint=0 Cluster=0x0000_003E Command=0x0000_0005 + [1655374218.699079][35023:35028] CHIP:CTL: Received certificate signing request from the device + [1655374218.699136][35023:35028] CHIP:CTL: Successfully finished commissioning step 'SendOpCertSigningRequest' disabled: true - label: "TH saves the following values as: NOCValue as nocvalue1 ICACValue as - icacvalue1 IpkValue as ipkvalue1 CaseAdminNode as caseadmin1 + icacvalue1 IpkValue as ipkvalue1 CaseAdminSubject as caseadmin1 AdminVendorId as adminvendorid1" verification: | Not Verifiable disabled: true - - label: "DUT reads the NOCs (NOCStruct) list from TH1" - verification: | - ./chip-tool operationalcredentials read nocs 1 0 - - [1651578833.213718][4404:4404] CHIP:IM: Received Read request - [1651578833.213786][4404:4404] CHIP:DMG: ReadRequestMessage = - [1651578833.213824][4404:4404] CHIP:DMG: { - [1651578833.213855][4404:4404] CHIP:DMG: AttributePathIBs = - [1651578833.213893][4404:4404] CHIP:DMG: [ - [1651578833.213927][4404:4404] CHIP:DMG: AttributePathIB = - [1651578833.213977][4404:4404] CHIP:DMG: { - [1651578833.214018][4404:4404] CHIP:DMG: Endpoint = 0x0, - [1651578833.214064][4404:4404] CHIP:DMG: Cluster = 0x3e, - [1651578833.214110][4404:4404] CHIP:DMG: Attribute = 0x0000_0000, - [1651578833.214152][4404:4404] CHIP:DMG: } - [1651578833.214196][4404:4404] CHIP:DMG: - [1651578833.214235][4404:4404] CHIP:DMG: ], - [1651578833.214275][4404:4404] CHIP:DMG: - [1651578833.214313][4404:4404] CHIP:DMG: isFabricFiltered = true, - [1651578833.214350][4404:4404] CHIP:DMG: InteractionModelRevision = 1 - [1651578833.214385][4404:4404] CHIP:DMG: }, - disabled: true - - label: - "Extract the following FabricDescriptorStruct values from TH1 + "Extract the following FabricDescriptorStruct values from TH RootPublicKey VendorID FabricID NodeID Label" verification: | "./chip-tool operationalcredentials read fabrics 1 0 --fabric-filtered 0 @@ -80,25 +155,162 @@ tests: [1651572032.171360][3815:3820] CHIP:TOO: Label: NodeOpeCredits1 [1651572032.171393][3815:3820] CHIP:TOO: FabricIndex: 1 [1651572032.171427][3815:3820] CHIP:TOO: } - [1651572032.171472][3815:3820] CHIP:TOO: [2]: { - [1651572032.171511][3815:3820] CHIP:TOO: RootPublicKey: 040983D9AC57DBF8DA04F818B1A15B2BD2821AD2BA1807099EAE1A52C62B404767972D4D7AB6B583395769881A666DCA8776EBC662EA1DE19B1DDDD9306A5DCB91 - [1651572032.171547][3815:3820] CHIP:TOO: VendorId: 65521 - [1651572032.171579][3815:3820] CHIP:TOO: FabricId: 1 - [1651572032.171610][3815:3820] CHIP:TOO: NodeId: 2 - [1651572032.171641][3815:3820] CHIP:TOO: Label: - [1651572032.171673][3815:3820] CHIP:TOO: FabricIndex: 2 - [1651572032.171705][3815:3820] CHIP:TOO: }" disabled: true - - label: "DUT sends UpdateNOC to TH1" + - label: "DUT sends UpdateNOC to TH" + PICS: OPCREDS.C.C07.Tx verification: | - Not Verifiable + Verify in TH log + + [1655968444.113753][21387:21392] CHIP:CTL: Performing next commissioning step 'SendNOC' + [1655968444.113880][21387:21392] CHIP:DMG: ICR moving to [AddingComm] + [1655968444.113960][21387:21392] CHIP:DMG: ICR moving to [AddedComma] + [1655968444.114671][21387:21392] CHIP:IN: Prepared secure message 0xffff9afdc988 to 0xFFFFFFFB00000000 (0) of type 0x8 and protocolId (0, 1) on exchange 11677i with MessageCounter:162800417. + [1655968444.114769][21387:21392] CHIP:IN: Sending encrypted msg 0xffff9afdc988 with MessageCounter:162800417 to 0xFFFFFFFB00000000 (0) at monotonic time: 00000000059CF7B1 msec + [1655968444.115364][21387:21392] CHIP:DMG: >> to BLE | 162800417 | [Interaction Model (1) / InvokeCommandRequest (0x08) / Session = 52324 / Exchange = 11677] + [1655968444.115453][21387:21392] CHIP:DMG: Header Flags = + [1655968444.115507][21387:21392] CHIP:DMG: { + [1655968444.115591][21387:21392] CHIP:DMG: Exchange (0x01) = + [1655968444.115645][21387:21392] CHIP:DMG: { + [1655968444.115693][21387:21392] CHIP:DMG: Initiator = true + [1655968444.115746][21387:21392] CHIP:DMG: } + [1655968444.115813][21387:21392] CHIP:DMG: } + [1655968444.115866][21387:21392] CHIP:DMG: + [1655968444.115933][21387:21392] CHIP:DMG: Encrypted Payload (566 bytes) = + [1655968444.115987][21387:21392] CHIP:DMG: { + [1655968444.116040][21387:21392] CHIP:DMG: data = 0064cc002123b4099a74682c39ff06cabf77bbe84f66a4bb54a66a3a294d9695a06fbfc5a75fc3f109147e32b61899a0577837aa724fb5a00dc2d76309d12721b1a359644843bc002a7758a4e281a5a2776a899db603d07ebc281c041425c3961ae63959c97c507372c69fb62babb7faebb17f1bd7cef4f22bf06cd7f1785402e27cf0a5c3b2513b1a9a5251b323fca6f7db40994f060d0529535b4f223b5faf6b4f85fd826a42ed29a1150a0f3c38345d5dae9ee90b0ab2e144294a1133d40bcb55b1a65bbe4c6d595297ab87d8ed3c3cd0540cd7c9cc912069329c0b5cea03d9c54e0c505746b1bcea7a540c5afb1490338bf655f047d332bf2e7f5a7da1d1be365a4e1a4ad65941969edcd5f194d1556211a23e116f7546359910a740d915c8078655fd2f72b2cc365b48652f248c26ae62d8e3f8406e6ea04da3834d875a71eef95ea9f8c003ed4afd3d9a67f73e6941f97929bd90ea7f841061ded7060943df5680dd3d93c76a8cdc5a41ce994fea893193525fd2609452f8b802604965efee151dbe23386048baff4f628b75be87f76cca3eb9abcdd8455c9bc5079916236034ab8beb933653fb6170d59071621265d7a5f6a102559ba2108425406de05b9753e8e92fe36d0b6589b4a9354047dd4b4604314439f32041848c0a503c7140b46e35fcedc69c5124692c9a2cd156bcb7bf787e71999418a73e15b4615f5c0da7137c5808374f9513ed2b08407a13238954692eac47353328ee0a2b98989823e3c632786a2a3bf57407e3d6416f13d662c9f64a0c + [1655968444.116148][21387:21392] CHIP:DMG: buffer_ptr = 281472963556544 + [1655968444.116199][21387:21392] CHIP:DMG: } + [1655968444.116248][21387:21392] CHIP:DMG: + [1655968444.116501][21387:21392] CHIP:DMG: NOCValue (241) = + [1655968444.116588][21387:21392] CHIP:DMG: { + FTABAQEkAgE3AyQTARgmBIAigScmBYAlTTo3BiQVASQRARgkBwEkCAEwCUEEHcBCTl/pvBOZfOXSmmHJRL/ICJI+hlbYAaRNJePa/Ak/srF1z/FYjPaAkP4sMXKXXKaHTnz4X7omyPRv8PX0UzcKNQEoARgkAgE2AwQCBAEYMAQUhedKAEtnGQToa+G5kFftlECqcBwwBRSxYRFlRS+jKzSBfZmO0Y+vLC+riBgwC0Anq+xkNWHMwMI00ADi0yNznONsV8nkfk3AsKWf3/a5JiHsF1WSlqKs8TImzIVCoTGJ8nwTbydWGdzeS7CP36xAGA== + [1655968444.116687][21387:21392] CHIP:DMG: } + [1655968444.116866][21387:21392] CHIP:DMG: + [1655968444.116925][21387:21392] CHIP:DMG: ICACValue (231) = + [1655968444.116999][21387:21392] CHIP:DMG: { + FTABAQAkAgE3AyQUABgmBIAigScmBYAlTTo3BiQTARgkBwEkCAEwCUEE8qLGptdlvjwhcKkTlBZOiE4E6Kx55N6XxZrLmy30rXWvnZdXQ4gJ3E8bvAx9GwY2mqrJxSZl6K4cLDWxnzOTuDcKNQEpARgkAmAwBBSxYRFlRS+jKzSBfZmO0Y+vLC+riDAFFAUWQTxK8uFYyI2G5zpGfd+NtzyYGDALQPeonA7h21RipZNLlGBEJy9vDymwqUcPw/rcx4NsNjQ6kfY4CQojmfd09VIkrGBMQ/kXlzsf2gkXRXGJJQ1xYX0Y + [1655968444.117099][21387:21392] CHIP:DMG: } + [1655968444.117148][21387:21392] CHIP:DMG: + [1655968444.117266][21387:21392] CHIP:DMG: InvokeRequestMessage = + [1655968444.117326][21387:21392] CHIP:DMG: { + [1655968444.117381][21387:21392] CHIP:DMG: suppressResponse = false, + [1655968444.117443][21387:21392] CHIP:DMG: timedRequest = false, + [1655968444.117501][21387:21392] CHIP:DMG: InvokeRequests = + [1655968444.117572][21387:21392] CHIP:DMG: [ + [1655968444.117631][21387:21392] CHIP:DMG: CommandDataIB = + [1655968444.117696][21387:21392] CHIP:DMG: { + [1655968444.117758][21387:21392] CHIP:DMG: CommandPathIB = + [1655968444.117833][21387:21392] CHIP:DMG: { + [1655968444.117909][21387:21392] CHIP:DMG: EndpointId = 0x0, + [1655968444.117991][21387:21392] CHIP:DMG: ClusterId = 0x3e, + [1655968444.118063][21387:21392] CHIP:DMG: CommandId = 0x6, + [1655968444.118135][21387:21392] CHIP:DMG: }, + [1655968444.118211][21387:21392] CHIP:DMG: + [1655968444.118279][21387:21392] CHIP:DMG: CommandFields = + [1655968444.118351][21387:21392] CHIP:DMG: { + [1655968444.118428][21387:21392] CHIP:DMG: 0x0 = [ + [1655968444.118571][21387:21392] CHIP:DMG: 0x15, 0x30, 0x1, 0x1, 0x1, 0x24, 0x2, 0x1, 0x37, 0x3, 0x24, 0x13, 0x1, 0x18, 0x26, 0x4, 0x80, 0x22, 0x81, 0x27, 0x26, 0x5, 0x80, 0x25, 0x4d, 0x3a, 0x37, 0x6, 0x24, 0x15, 0x1, 0x24, 0x11, 0x1, 0x18, 0x24, 0x7, 0x1, 0x24, 0x8, 0x1, 0x30, 0x9, 0x41, 0x4, 0x1d, 0xc0, 0x42, 0x4e, 0x5f, 0xe9, 0xbc, 0x13, 0x99, 0x7c, 0xe5, 0xd2, 0x9a, 0x61, 0xc9, 0x44, 0xbf, 0xc8, 0x8, 0x92, 0x3e, 0x86, 0x56, 0xd8, 0x1, 0xa4, 0x4d, 0x25, 0xe3, 0xda, 0xfc, 0x9, 0x3f, 0xb2, 0xb1, 0x75, 0xcf, 0xf1, 0x58, 0x8c, 0xf6, 0x80, 0x90, 0xfe, 0x2c, 0x31, 0x72, 0x97, 0x5c, 0xa6, 0x87, 0x4e, 0x7c, 0xf8, 0x5f, 0xba, 0x26, 0xc8, 0xf4, 0x6f, 0xf0, 0xf5, 0xf4, 0x53, 0x37, 0xa, 0x35, 0x1, 0x28, 0x1, 0x18, 0x24, 0x2, 0x1, 0x36, 0x3, 0x4, 0x2, 0x4, 0x1, 0x18, 0x30, 0x4, 0x14, 0x85, 0xe7, 0x4a, 0x0, 0x4b, 0x67, 0x19, 0x4, 0xe8, 0x6b, 0xe1, 0xb9, 0x90, 0x57, 0xed, 0x94, 0x40, 0xaa, 0x70, 0x1c, 0x30, 0x5, 0x14, 0xb1, 0x61, 0x11, 0x65, 0x45, 0x2f, 0xa3, 0x2b, 0x34, 0x81, 0x7d, 0x99, 0x8e, 0xd1, 0x8f, 0xaf, 0x2c, 0x2f, 0xab, 0x88, 0x18, 0x30, 0xb, 0x40, 0x27, 0xab, 0xec, 0x64, 0x35, 0x61, 0xcc, 0xc0, 0xc2, 0x34, 0xd0, 0x0, 0xe2, 0xd3, 0x23, 0x73, 0x9c, 0xe3, 0x6c, 0x57, 0xc9, 0xe4, 0x7e, 0x4d, 0xc0, 0xb0, 0xa5, 0x9f, 0xdf, 0xf6, 0xb9, 0x26, 0x21, 0xec, 0x17, 0x55, 0x92, 0x96, 0xa2, 0xac, 0xf1, 0x32, 0x26, 0xcc, 0x85, 0x42, 0xa1, 0x31, 0x89, 0xf2, 0x7c, 0x13, 0x6f, 0x27, 0x56, 0x19, 0xdc, 0xde, 0x4b, 0xb0, 0x8f, 0xdf, 0xac, 0x40, 0x18, + [1655968444.118696][21387:21392] CHIP:DMG: ] + [1655968444.118731][21387:21392] CHIP:DMG: 0x1 = [ + [1655968444.118841][21387:21392] CHIP:DMG: 0x15, 0x30, 0x1, 0x1, 0x0, 0x24, 0x2, 0x1, 0x37, 0x3, 0x24, 0x14, 0x0, 0x18, 0x26, 0x4, 0x80, 0x22, 0x81, 0x27, 0x26, 0x5, 0x80, 0x25, 0x4d, 0x3a, 0x37, 0x6, 0x24, 0x13, 0x1, 0x18, 0x24, 0x7, 0x1, 0x24, 0x8, 0x1, 0x30, 0x9, 0x41, 0x4, 0xf2, 0xa2, 0xc6, 0xa6, 0xd7, 0x65, 0xbe, 0x3c, 0x21, 0x70, 0xa9, 0x13, 0x94, 0x16, 0x4e, 0x88, 0x4e, 0x4, 0xe8, 0xac, 0x79, 0xe4, 0xde, 0x97, 0xc5, 0x9a, 0xcb, 0x9b, 0x2d, 0xf4, 0xad, 0x75, 0xaf, 0x9d, 0x97, 0x57, 0x43, 0x88, 0x9, 0xdc, 0x4f, 0x1b, 0xbc, 0xc, 0x7d, 0x1b, 0x6, 0x36, 0x9a, 0xaa, 0xc9, 0xc5, 0x26, 0x65, 0xe8, 0xae, 0x1c, 0x2c, 0x35, 0xb1, 0x9f, 0x33, 0x93, 0xb8, 0x37, 0xa, 0x35, 0x1, 0x29, 0x1, 0x18, 0x24, 0x2, 0x60, 0x30, 0x4, 0x14, 0xb1, 0x61, 0x11, 0x65, 0x45, 0x2f, 0xa3, 0x2b, 0x34, 0x81, 0x7d, 0x99, 0x8e, 0xd1, 0x8f, 0xaf, 0x2c, 0x2f, 0xab, 0x88, 0x30, 0x5, 0x14, 0x5, 0x16, 0x41, 0x3c, 0x4a, 0xf2, 0xe1, 0x58, 0xc8, 0x8d, 0x86, 0xe7, 0x3a, 0x46, 0x7d, 0xdf, 0x8d, 0xb7, 0x3c, 0x98, 0x18, 0x30, 0xb, 0x40, 0xf7, 0xa8, 0x9c, 0xe, 0xe1, 0xdb, 0x54, 0x62, 0xa5, 0x93, 0x4b, 0x94, 0x60, 0x44, 0x27, 0x2f, 0x6f, 0xf, 0x29, 0xb0, 0xa9, 0x47, 0xf, 0xc3, 0xfa, 0xdc, 0xc7, 0x83, 0x6c, 0x36, 0x34, 0x3a, 0x91, 0xf6, 0x38, 0x9, 0xa, 0x23, 0x99, 0xf7, 0x74, 0xf5, 0x52, 0x24, 0xac, 0x60, 0x4c, 0x43, 0xf9, 0x17, 0x97, 0x3b, 0x1f, 0xda, 0x9, 0x17, 0x45, 0x71, 0x89, 0x25, 0xd, 0x71, 0x61, 0x7d, 0x18, + [1655968444.118910][21387:21392] CHIP:DMG: ] + [1655968444.118944][21387:21392] CHIP:DMG: 0x2 = [ + [1655968444.118979][21387:21392] CHIP:DMG: 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x72, 0x79, 0x20, 0x69, 0x70, 0x6b, 0x20, 0x30, 0x31, + [1655968444.119019][21387:21392] CHIP:DMG: ] + [1655968444.119055][21387:21392] CHIP:DMG: 0x3 = 112233, + [1655968444.119090][21387:21392] CHIP:DMG: 0x4 = 65521, + [1655968444.119121][21387:21392] CHIP:DMG: }, + [1655968444.119151][21387:21392] CHIP:DMG: }, + [1655968444.119186][21387:21392] CHIP:DMG: + [1655968444.119211][21387:21392] CHIP:DMG: ], + [1655968444.119244][21387:21392] CHIP:DMG: + [1655968444.119270][21387:21392] CHIP:DMG: InteractionModelRevision = 1 + [1655968444.119295][21387:21392] CHIP:DMG: }, + [1655968444.119319][21387:21392] CHIP:DMG: + [1655968444.119451][21387:21392] CHIP:DMG: ICR moving to [CommandSen] + [1655968444.119486][21387:21392] CHIP:CTL: Sent operational certificate to the device + [1655968444.119534][21387:21392] CHIP:DMG: ICR moving to [AwaitingDe] + [1655968444.205823][21387:21392] CHIP:DL: HandlePlatformSpecificBLEEvent 16387 + [1655968444.351630][21387:21392] CHIP:DL: HandlePlatformSpecificBLEEvent 16387 + [1655968444.449682][21387:21392] CHIP:DL: HandlePlatformSpecificBLEEvent 16387 + [1655968444.498829][21387:21390] CHIP:DL: Indication received, conn = 0xffff900200d0 + [1655968444.499306][21387:21392] CHIP:DL: HandlePlatformSpecificBLEEvent 16389 + [1655968444.500163][21387:21392] CHIP:DMG: << from BLE | 163275443 | [Interaction Model (1) / InvokeCommandResponse (0x09) / Session = 42825 / Exchange = 11677] + [1655968444.500262][21387:21392] CHIP:DMG: Header Flags = + [1655968444.500320][21387:21392] CHIP:DMG: { + [1655968444.500415][21387:21392] CHIP:DMG: } + [1655968444.500470][21387:21392] CHIP:DMG: + [1655968444.500535][21387:21392] CHIP:DMG: Encrypted Payload (66 bytes) = + [1655968444.500586][21387:21392] CHIP:DMG: { + [1655968444.500639][21387:21392] CHIP:DMG: data = 0049a700b362bb09b60387130f31dcda07c6bd7ca6ec31d17e8112a415dd568e9890f97e448ab542cee0ba97e49805f33d91e21198cef92967240b5486d464370990 + [1655968444.500693][21387:21392] CHIP:DMG: buffer_ptr = 281472963520464 + [1655968444.500744][21387:21392] CHIP:DMG: } + [1655968444.500795][21387:21392] CHIP:DMG: + [1655968444.500927][21387:21392] CHIP:DMG: + [1655968444.501010][21387:21392] CHIP:DMG: Additional Fields = + [1655968444.501064][21387:21392] CHIP:DMG: { + [1655968444.501121][21387:21392] CHIP:DMG: peer_address = BLE + [1655968444.501231][21387:21392] CHIP:DMG: } + [1655968444.501283][21387:21392] CHIP:DMG: + [1655968444.501346][21387:21392] CHIP:EM: Received message of type 0x9 with protocolId (0, 1) and MessageCounter:163275443 on exchange 11677i + [1655968444.501410][21387:21392] CHIP:EM: Found matching exchange: 11677i, Delegate: 0xffff90047da0 + [1655968444.501496][21387:21392] CHIP:DMG: ICR moving to [ResponseRe] + [1655968444.501587][21387:21392] CHIP:DMG: InvokeResponseMessage = + [1655968444.501644][21387:21392] CHIP:DMG: { + [1655968444.501702][21387:21392] CHIP:DMG: suppressResponse = false, + [1655968444.501757][21387:21392] CHIP:DMG: InvokeResponseIBs = + [1655968444.501832][21387:21392] CHIP:DMG: [ + [1655968444.501891][21387:21392] CHIP:DMG: InvokeResponseIB = + [1655968444.501982][21387:21392] CHIP:DMG: { + [1655968444.502045][21387:21392] CHIP:DMG: CommandDataIB = + [1655968444.502119][21387:21392] CHIP:DMG: { + [1655968444.502189][21387:21392] CHIP:DMG: CommandPathIB = + [1655968444.502275][21387:21392] CHIP:DMG: { + [1655968444.502358][21387:21392] CHIP:DMG: EndpointId = 0x0, + [1655968444.502450][21387:21392] CHIP:DMG: ClusterId = 0x3e, + [1655968444.502534][21387:21392] CHIP:DMG: CommandId = 0x8, + [1655968444.502611][21387:21392] CHIP:DMG: }, + [1655968444.502693][21387:21392] CHIP:DMG: + [1655968444.502761][21387:21392] CHIP:DMG: CommandFields = + [1655968444.502841][21387:21392] CHIP:DMG: { + [1655968444.502923][21387:21392] CHIP:DMG: 0x0 = 0, + [1655968444.503010][21387:21392] CHIP:DMG: 0x1 = 1, + [1655968444.503086][21387:21392] CHIP:DMG: }, + [1655968444.503160][21387:21392] CHIP:DMG: }, + [1655968444.503243][21387:21392] CHIP:DMG: + [1655968444.503309][21387:21392] CHIP:DMG: }, + [1655968444.503386][21387:21392] CHIP:DMG: + [1655968444.503444][21387:21392] CHIP:DMG: ], + [1655968444.503518][21387:21392] CHIP:DMG: + [1655968444.503576][21387:21392] CHIP:DMG: InteractionModelRevision = 1 + [1655968444.503633][21387:21392] CHIP:DMG: }, + [1655968444.503766][21387:21392] CHIP:DMG: Received Command Response Data, Endpoint=0 Cluster=0x0000_003E Command=0x0000_0008 + [1655968444.503846][21387:21392] CHIP:CTL: Device returned status 0 on receiving the NOC + [1655968444.503901][21387:21392] CHIP:CTL: Operational credentials provisioned on device 0xffff88000b60 + [1655968444.503972][21387:21392] CHIP:TOO: Secure Pairing Success + [1655968444.504021][21387:21392] CHIP:TOO: CASE establishment successful + [1655968444.504076][21387:21392] CHIP:CTL: Successfully finished commissioning step 'SendNOC' disabled: true - - label: "DUT sends UpdateFabricLabel to TH1" + - label: "DUT sends UpdateFabricLabel to TH" + PICS: OPCREDS.C.C09.Tx verification: | ./chip-tool operationalcredentials update-fabric-label node1 1 0 + On TH side: + [1655316452.670075][7173:7178] CHIP:DMG: Received Command Response Data, Endpoint=0 Cluster=0x0000_003E Command=0x0000_0008 + [1655316452.670169][7173:7178] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003E Command 0x0000_0008 + [1655316452.670297][7173:7178] CHIP:TOO: NOCResponse: { + [1655316452.670373][7173:7178] CHIP:TOO: statusCode: 0 + [1655316452.670432][7173:7178] CHIP:TOO: fabricIndex: 1 + [1655316452.670531][7173:7178] CHIP:TOO: } + [1655316452.670618][7173:7178] CHIP:DMG: ICR moving to [AwaitingDe] + + + + + On DUT side: [1651579074.158732][4404:4404] CHIP:EM: Received message of type 0x8 with protocolId (0, 1) and MessageCounter:2322191 on exchange 64215r [1651579074.158787][4404:4404] CHIP:EM: Handling via exchange: 64215r, Delegate: 0xaaaaae69a088 [1651579074.158905][4404:4404] CHIP:DMG: InvokeRequestMessage = @@ -130,9 +342,18 @@ tests: [1651579074.160085][4404:4404] CHIP:DMG: AccessControl: allowed disabled: true - - label: "DUT reads SupportedFabrics from TH1" + - label: "DUT reads SupportedFabrics from TH" + PICS: OPCREDS.C.A0002 verification: | ./chip-tool operationalcredentials read supported-fabrics 1 0 + + On TH side: + [1655316487.845378][7181:7186] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003E Attribute 0x0000_0002 DataVersion: 3651051950 + [1655316487.845462][7181:7186] CHIP:TOO: SupportedFabrics: 16 + [1655316487.845588][7181:7186] CHIP:EM: Sending Standalone Ack for MessageCounter:78617313 on exchange 56287i + + + On DUT side: [1651579155.243425][4404:4404] CHIP:IM: Received Read request [1651579155.243484][4404:4404] CHIP:DMG: ReadRequestMessage = [1651579155.243516][4404:4404] CHIP:DMG: { @@ -152,31 +373,33 @@ tests: [1651579155.243992][4404:4404] CHIP:DMG: }, disabled: true - - label: "DUT reads CommissionedFabrics attribute from TH1" + - label: "DUT reads CommissionedFabrics attribute from TH" + PICS: OPCREDS.C.A0003 verification: | ./chip-tool operationalcredentials read commissioned-fabrics 1 0 - [1651579198.627299][4404:4404] CHIP:IM: Received Read request - [1651579198.627363][4404:4404] CHIP:DMG: ReadRequestMessage = - [1651579198.627398][4404:4404] CHIP:DMG: { - [1651579198.627427][4404:4404] CHIP:DMG: AttributePathIBs = - [1651579198.627462][4404:4404] CHIP:DMG: [ - [1651579198.627494][4404:4404] CHIP:DMG: AttributePathIB = - [1651579198.627535][4404:4404] CHIP:DMG: { - [1651579198.627573][4404:4404] CHIP:DMG: Endpoint = 0x0, - [1651579198.627614][4404:4404] CHIP:DMG: Cluster = 0x3e, - [1651579198.627657][4404:4404] CHIP:DMG: Attribute = 0x0000_0003, - [1651579198.627696][4404:4404] CHIP:DMG: } - [1651579198.627734][4404:4404] CHIP:DMG: - [1651579198.627769][4404:4404] CHIP:DMG: ], - [1651579198.627807][4404:4404] CHIP:DMG: - [1651579198.627842][4404:4404] CHIP:DMG: isFabricFiltered = true, - [1651579198.627875][4404:4404] CHIP:DMG: InteractionModelRevision = 1 - [1651579198.627906][4404:4404] CHIP:DMG: }, + On TH side: + [1655316495.313955][7187:7192] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003E Attribute 0x0000_0003 DataVersion: 3651051950 + [1655316495.314037][7187:7192] CHIP:TOO: CommissionedFabrics: 1 + [1655316495.314170][7187:7192] CHIP:EM: Sending Standalone Ack for MessageCounter:13722116 on exchange 6110i + + + + On DUT side: + [1654067582.676118][33222:33227] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003E Attribute 0x0000_0003 DataVersion: 2672580266 + [1654067582.676231][33222:33227] CHIP:TOO: CommissionedFabrics: 1 disabled: true - - label: "DUT reads TrustedRootCertificates attribute from TH1" + - label: "DUT reads TrustedRootCertificates attribute from TH" + PICS: OPCREDS.C.A0004 verification: | ./chip-tool operationalcredentials read trusted-root-certificates 1 0 + + On TH side: + [1655316503.653605][7193:7198] CHIP:TOO: TrustedRootCertificates: 1 entries + [1655316503.653652][7193:7198] CHIP:TOO: [1]: 1530010100240201370324140018260480228127260580254D3A3706241400182407012408013009410482DB6829DFFB76F87C61AE4B18A1DA046222539D9F633684D76E1351BABBB97A53ED21117ACCD40F83874596D293C1605E002523447C0586B8F17221813CB5F9370A3501290118240260300414E9EF7AE4B0B01FDB3568AFEE69B0C5D79799D8BC300514E9EF7AE4B0B01FDB3568AFEE69B0C5D79799D8BC18300B40D7FC04831BFBAD7E0F9BD062203B2AA8CA50938D53A0A76E386B74D3684471BCB5C771D97B2CDEE4BF74934F435B91C282E387D4CA07716A3BF725C3357D3D4318 + + + On DUT side: [1651579224.947817][4404:4404] CHIP:IM: Received Read request [1651579224.947879][4404:4404] CHIP:DMG: ReadRequestMessage = [1651579224.947911][4404:4404] CHIP:DMG: { @@ -196,9 +419,18 @@ tests: [1651579224.948438][4404:4404] CHIP:DMG: }, disabled: true - - label: "DUT reads CurrentFabricIndex attribute from TH1" + - label: "DUT reads CurrentFabricIndex attribute from TH" + PICS: OPCREDS.C.A0005 verification: | ./chip-tool operationalcredentials read current-fabric-index 1 0 + On TH side: + [1655316862.478703][7251:7256] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003E Attribute 0x0000_0005 DataVersion: 3651051950 + [1655316862.478763][7251:7256] CHIP:TOO: CurrentFabricIndex: 1 + [1655316862.478857][7251:7256] CHIP:EM: Sending Standalone Ack for MessageCounter:87254680 on exchange 22379i + + + + On DUT side: [1651579270.634540][4404:4404] CHIP:DMG: ReadRequestMessage = [1651579270.634587][4404:4404] CHIP:DMG: { [1651579270.634627][4404:4404] CHIP:DMG: AttributePathIBs = @@ -217,11 +449,21 @@ tests: [1651579270.635329][4404:4404] CHIP:DMG: }, disabled: true - - label: "DUT sends RemoveFabric command to TH1" + - label: "DUT sends RemoveFabric command to TH" + PICS: OPCREDS.C.C0a.Tx verification: | ./chip-tool operationalcredentials remove-fabric 1 1 0 + On TH side: + [1655316917.074630][7259:7264] CHIP:DMG: Received Command Response Data, Endpoint=0 Cluster=0x0000_003E Command=0x0000_0008 + [1655316917.074679][7259:7264] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003E Command 0x0000_0008 + [1655316917.074741][7259:7264] CHIP:TOO: NOCResponse: { + [1655316917.074779][7259:7264] CHIP:TOO: statusCode: 0 + [1655316917.074805][7259:7264] CHIP:TOO: fabricIndex: 1 + [1655316917.074829][7259:7264] CHIP:TOO: } + + On DUT side: [1651579316.916807][4404:4404] CHIP:EM: Received message of type 0x8 with protocolId (0, 1) and MessageCounter:13617524 on exchange 52666r [1651579316.916893][4404:4404] CHIP:EM: Handling via exchange: 52666r, Delegate: 0xaaaaae69a088 [1651579316.917074][4404:4404] CHIP:DMG: InvokeRequestMessage = @@ -252,8 +494,3 @@ tests: [1651579316.918863][4404:4404] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_003E e=0 p=a [1651579316.918939][4404:4404] CHIP:DMG: AccessControl: allowed disabled: true - - - label: "Commission TH1 with DUT" - verification: | - - disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_OPCREDS_3_4.yaml b/src/app/tests/suites/certification/Test_TC_OPCREDS_3_4.yaml index 2f56e16db934f7..8bef1b24f08d94 100644 --- a/src/app/tests/suites/certification/Test_TC_OPCREDS_3_4.yaml +++ b/src/app/tests/suites/certification/Test_TC_OPCREDS_3_4.yaml @@ -21,74 +21,284 @@ config: endpoint: 0 tests: - - label: - "Modify the contents of NOC_Tests Subject and save the certificate TH1 - sends UpdateNOC Command with NOC_Test to DUT" + - label: "Modify the contents of NOC_Tests Subject and save the certificate" verification: | Not Verifiable disabled: true - - label: - "From TH1 Read the NOCs (NOCStruct) list from DUT Extract the NOC from - NOCStruct" + - label: "TH1 Sends CSRRequest command" + PICS: OPCREDS.S.C04.Rsp verification: | - Not Verifiable + Verify TH log during commisssioning + + [1655290769.343207][5196:5201] CHIP:DMG: >> to BLE | 255378492 | [Interaction Model (1) / InvokeCommandRequest (0x08) / Session = 25008 / Exchange = 11376] + [1655290769.343256][5196:5201] CHIP:DMG: Header Flags = + [1655290769.343281][5196:5201] CHIP:DMG: { + [1655290769.343318][5196:5201] CHIP:DMG: Exchange (0x01) = + [1655290769.343343][5196:5201] CHIP:DMG: { + [1655290769.343363][5196:5201] CHIP:DMG: Initiator = true + [1655290769.343385][5196:5201] CHIP:DMG: } + [1655290769.343414][5196:5201] CHIP:DMG: } + [1655290769.343437][5196:5201] CHIP:DMG: + [1655290769.343468][5196:5201] CHIP:DMG: Encrypted Payload (94 bytes) = + [1655290769.343491][5196:5201] CHIP:DMG: { + [1655290769.343512][5196:5201] CHIP:DMG: data = 00b061003cc4380f4d9768bc173f4f4f9c6e5969606c83c80018abf7dd286e55fbf860a4e56ed75272350da28dac7364f1bb92a26b42a939719bce6bb880ed47f83a7fde421c7190aa4fb2449e114da8d68aa8dc5f9779aeb49b64b469f3 + [1655290769.343535][5196:5201] CHIP:DMG: buffer_ptr = 281472426668912 + [1655290769.343555][5196:5201] CHIP:DMG: } + [1655290769.343574][5196:5201] CHIP:DMG: + [1655290769.343652][5196:5201] CHIP:DMG: InvokeRequestMessage = + [1655290769.343679][5196:5201] CHIP:DMG: { + [1655290769.343702][5196:5201] CHIP:DMG: suppressResponse = false, + [1655290769.343728][5196:5201] CHIP:DMG: timedRequest = false, + [1655290769.343753][5196:5201] CHIP:DMG: InvokeRequests = + [1655290769.343783][5196:5201] CHIP:DMG: [ + [1655290769.343807][5196:5201] CHIP:DMG: CommandDataIB = + [1655290769.343834][5196:5201] CHIP:DMG: { + [1655290769.343860][5196:5201] CHIP:DMG: CommandPathIB = + [1655290769.343891][5196:5201] CHIP:DMG: { + [1655290769.343924][5196:5201] CHIP:DMG: EndpointId = 0x0, + [1655290769.343961][5196:5201] CHIP:DMG: ClusterId = 0x3e, + [1655290769.343996][5196:5201] CHIP:DMG: CommandId = 0x4, + [1655290769.344026][5196:5201] CHIP:DMG: }, + [1655290769.344058][5196:5201] CHIP:DMG: + [1655290769.344084][5196:5201] CHIP:DMG: CommandFields = + [1655290769.344114][5196:5201] CHIP:DMG: { + [1655290769.344172][5196:5201] CHIP:DMG: 0x0 = [ + [1655290769.344216][5196:5201] CHIP:DMG: 0x69, 0xd6, 0xfa, 0x31, 0x2e, 0x58, 0x48, 0x66, 0x0, 0x76, 0xf6, 0x73, 0xc3, 0x5a, 0xc5, 0x76, 0x2, 0x63, 0xa8, 0x50, 0x9e, 0x95, 0xeb, 0xc3, 0xb1, 0x8e, 0xc2, 0x94, 0x86, 0x8, 0x86, 0xb2, + [1655290769.344253][5196:5201] CHIP:DMG: ] + [1655290769.344283][5196:5201] CHIP:DMG: }, + [1655290769.344311][5196:5201] CHIP:DMG: }, + [1655290769.344341][5196:5201] CHIP:DMG: + [1655290769.344364][5196:5201] CHIP:DMG: ], + [1655290769.344393][5196:5201] CHIP:DMG: + [1655290769.344417][5196:5201] CHIP:DMG: InteractionModelRevision = 1 + [1655290769.344440][5196:5201] CHIP:DMG: }, + [1655290769.344462][5196:5201] CHIP:DMG: + [1655290769.344613][5196:5201] CHIP:DMG: ICR moving to [CommandSen] + [1655290769.344655][5196:5201] CHIP:CTL: Sent CSR request, waiting for the CSR + disabled: true + + - label: "TH sends ArmFailSafe command to the DUT" + verification: | + [1655290768.024789][5196:5201] CHIP:CTL: Arming failsafe (60 seconds) + [1655290768.024854][5196:5201] CHIP:DMG: ICR moving to [AddingComm] + [1655290768.024889][5196:5201] CHIP:DMG: ICR moving to [AddedComma] + [1655290768.025167][5196:5201] CHIP:IN: Prepared secure message 0xffff7d789f68 to 0xFFFFFFFB00000000 (0) of type 0x8 and protocolId (0, 1) on exchange 11371i with MessageCounter:255378487. + [1655290768.025218][5196:5201] CHIP:IN: Sending encrypted msg 0xffff7d789f68 with MessageCounter:255378487 to 0xFFFFFFFB00000000 (0) at monotonic time: 000000000166E1CE msec + [1655290768.025440][5196:5201] CHIP:DMG: >> to BLE | 255378487 | [Interaction Model (1) / InvokeCommandRequest (0x08) / Session = 25008 / Exchange = 11371] + [1655290768.025482][5196:5201] CHIP:DMG: Header Flags = + [1655290768.025508][5196:5201] CHIP:DMG: { + [1655290768.025548][5196:5201] CHIP:DMG: Exchange (0x01) = + [1655290768.025573][5196:5201] CHIP:DMG: { + [1655290768.025596][5196:5201] CHIP:DMG: Initiator = true + [1655290768.025620][5196:5201] CHIP:DMG: } + [1655290768.025651][5196:5201] CHIP:DMG: } + [1655290768.025676][5196:5201] CHIP:DMG: + [1655290768.025707][5196:5201] CHIP:DMG: Encrypted Payload (65 bytes) = + [1655290768.025733][5196:5201] CHIP:DMG: { + [1655290768.025757][5196:5201] CHIP:DMG: data = 00b0610037c4380f32a71cf8c0d3c24ad9968f546fa1a79e41adf472a5a1cc15b53b3bd2f08eb249dcab1430fc217708442ac61d1d5c6d70b7631f6efc18c94cc7 + [1655290768.025783][5196:5201] CHIP:DMG: buffer_ptr = 281472426648640 + [1655290768.025806][5196:5201] CHIP:DMG: } + [1655290768.025830][5196:5201] CHIP:DMG: + [1655290768.025903][5196:5201] CHIP:DMG: InvokeRequestMessage = + [1655290768.025933][5196:5201] CHIP:DMG: { + [1655290768.025959][5196:5201] CHIP:DMG: suppressResponse = false, + [1655290768.025988][5196:5201] CHIP:DMG: timedRequest = false, + [1655290768.026016][5196:5201] CHIP:DMG: InvokeRequests = + [1655290768.026051][5196:5201] CHIP:DMG: [ + [1655290768.026079][5196:5201] CHIP:DMG: CommandDataIB = + [1655290768.026113][5196:5201] CHIP:DMG: { + [1655290768.026144][5196:5201] CHIP:DMG: CommandPathIB = + [1655290768.026180][5196:5201] CHIP:DMG: { + [1655290768.026216][5196:5201] CHIP:DMG: EndpointId = 0x0, + [1655290768.026257][5196:5201] CHIP:DMG: ClusterId = 0x30, + [1655290768.026296][5196:5201] CHIP:DMG: CommandId = 0x0, + [1655290768.026330][5196:5201] CHIP:DMG: }, + [1655290768.026367][5196:5201] CHIP:DMG: + [1655290768.026420][5196:5201] CHIP:DMG: CommandFields = + [1655290768.026483][5196:5201] CHIP:DMG: { + [1655290768.026520][5196:5201] CHIP:DMG: 0x0 = 60, + [1655290768.026558][5196:5201] CHIP:DMG: 0x1 = 3, + [1655290768.026597][5196:5201] CHIP:DMG: }, + [1655290768.026629][5196:5201] CHIP:DMG: }, + [1655290768.026664][5196:5201] CHIP:DMG: + [1655290768.026692][5196:5201] CHIP:DMG: ], + [1655290768.026725][5196:5201] CHIP:DMG: + [1655290768.026752][5196:5201] CHIP:DMG: InteractionModelRevision = 1 + [1655290768.026779][5196:5201] CHIP:DMG: }, + [1655290768.026804][5196:5201] CHIP:DMG: + [1655290768.026973][5196:5201] CHIP:DMG: ICR moving to [CommandSen] + [1655290768.108147][5196:5201] CHIP:DL: HandlePlatformSpecificBLEEvent 16387 + [1655290768.110051][5196:5199] CHIP:DL: Indication received, conn = 0xffff74039fb0 + [1655290768.110203][5196:5201] CHIP:DL: HandlePlatformSpecificBLEEvent 16389 + [1655290768.110746][5196:5201] CHIP:DMG: << from BLE | 192898618 | [Interaction Model (1) / InvokeCommandResponse (0x09) / Session = 61656 / Exchange = 11371] + [1655290768.110799][5196:5201] CHIP:DMG: Header Flags = + [1655290768.110822][5196:5201] CHIP:DMG: { + [1655290768.110861][5196:5201] CHIP:DMG: } + [1655290768.110883][5196:5201] CHIP:DMG: + [1655290768.110912][5196:5201] CHIP:DMG: Encrypted Payload (66 bytes) = + [1655290768.110935][5196:5201] CHIP:DMG: { + [1655290768.110955][5196:5201] CHIP:DMG: data = 00d8f0003a667f0bb192daf065d175922cac76d987f198e1bcb595497966921cfba210b015e785daeb1231017f0a27715234363b772f1f7816595e2fc99e9f85a274 + [1655290768.110978][5196:5201] CHIP:DMG: buffer_ptr = 281472426657904 + [1655290768.110999][5196:5201] CHIP:DMG: } + [1655290768.111019][5196:5201] CHIP:DMG: + [1655290768.111084][5196:5201] CHIP:DMG: + [1655290768.111121][5196:5201] CHIP:DMG: Additional Fields = + [1655290768.111143][5196:5201] CHIP:DMG: { + [1655290768.111168][5196:5201] CHIP:DMG: peer_address = BLE + [1655290768.111189][5196:5201] CHIP:DMG: } + [1655290768.111209][5196:5201] CHIP:DMG: + [1655290768.111239][5196:5201] CHIP:EM: Received message of type 0x9 with protocolId (0, 1) and MessageCounter:192898618 on exchange 11371i + [1655290768.111267][5196:5201] CHIP:EM: Found matching exchange: 11371i, Delegate: 0xffff68003360 + [1655290768.111311][5196:5201] CHIP:DMG: ICR moving to [ResponseRe] + [1655290768.111353][5196:5201] CHIP:DMG: InvokeResponseMessage = + [1655290768.111378][5196:5201] CHIP:DMG: { + [1655290768.111403][5196:5201] CHIP:DMG: suppressResponse = false, + [1655290768.111427][5196:5201] CHIP:DMG: InvokeResponseIBs = + [1655290768.111458][5196:5201] CHIP:DMG: [ + [1655290768.111483][5196:5201] CHIP:DMG: InvokeResponseIB = + [1655290768.111515][5196:5201] CHIP:DMG: { + [1655290768.111540][5196:5201] CHIP:DMG: CommandDataIB = + [1655290768.111573][5196:5201] CHIP:DMG: { + [1655290768.111603][5196:5201] CHIP:DMG: CommandPathIB = + [1655290768.111640][5196:5201] CHIP:DMG: { + [1655290768.111678][5196:5201] CHIP:DMG: EndpointId = 0x0, + [1655290768.111717][5196:5201] CHIP:DMG: ClusterId = 0x30, + [1655290768.111755][5196:5201] CHIP:DMG: CommandId = 0x1, + [1655290768.111790][5196:5201] CHIP:DMG: }, + [1655290768.111825][5196:5201] CHIP:DMG: + [1655290768.111855][5196:5201] CHIP:DMG: CommandFields = + [1655290768.111891][5196:5201] CHIP:DMG: { + [1655290768.111929][5196:5201] CHIP:DMG: 0x0 = 0, + [1655290768.111966][5196:5201] CHIP:DMG: 0x1 = "", + [1655290768.112000][5196:5201] CHIP:DMG: }, + [1655290768.112034][5196:5201] CHIP:DMG: }, + [1655290768.112068][5196:5201] CHIP:DMG: + [1655290768.112095][5196:5201] CHIP:DMG: }, + [1655290768.112125][5196:5201] CHIP:DMG: + [1655290768.112149][5196:5201] CHIP:DMG: ], + [1655290768.112179][5196:5201] CHIP:DMG: + [1655290768.112203][5196:5201] CHIP:DMG: InteractionModelRevision = 1 + [1655290768.112226][5196:5201] CHIP:DMG: }, + [1655290768.112287][5196:5201] CHIP:DMG: Received Command Response Data, Endpoint=0 Cluster=0x0000_0030 Command=0x0000_0001 + [1655290768.112354][5196:5201] CHIP:CTL: Received ArmFailSafe response errorCode=0 + [1655290768.112386][5196:5201] CHIP:CTL: Successfully finished commissioning step 'ArmFailSafe' + [1655290768.112408][5196:5201] CHIP:CTL: Commissioning stage next step: 'ArmFailSafe' -> 'ConfigRegulatory' disabled: true - label: "Modify the public key to a value different from Key 1 in the NOC_Test - and save the certificate TH1 sends UpdateNOC Command with NOC_Test to + and save the certificate TH sends UpdateNOC Command with NOC_Test to DUT" verification: | Not Verifiable disabled: true + - label: "TH1 Sends CSRRequest command" + PICS: OPCREDS.S.C04.Rsp + verification: | + Not Verifiable + disabled: true + + - label: "TH sends ArmFailSafe command to the DUT" + verification: | + Not Verifiable + disabled: true + - label: "Modify the Node Operational ID in the NOC_Test and save the - certificate TH1 sends UpdateNOC Command with NOC_Test to DUT" + certificate TH sends UpdateNOC Command with NOC_Test to DUT" + verification: | + Not Verifiable + disabled: true + + - label: "TH1 Sends CSRRequest command" + PICS: OPCREDS.S.C04.Rsp verification: | Not Verifiable disabled: true + - label: "TH sends ArmFailSafe command to the DUT" + verification: | + + disabled: true + - label: "Extract a NOC that is not in the TrustedRootCertificates of DUT and - save the certificate as NOC_Test TH1 sends UpdateNOC Command with + save the certificate as NOC_Test TH sends UpdateNOC Command with NOC_Test to DUT" verification: | - Not Verifiable + disabled: true - - label: - "Modify the NOC_Test certificate with corrupt CSR value and save the - certificate TH1 sends UpdateNOC Command with NOC_Test to DUT" + - label: "TH1 Sends CSRRequest command" + PICS: OPCREDS.S.C04.Rsp verification: | - Not Verifiable + + disabled: true + + - label: "TH sends ArmFailSafe command to the DUT" + verification: | + disabled: true - label: - "Start the Commissioning process of TH on DUT TH1 sends ADDNOC Command - with missing CaseAdminNode field to DUT" + "Start the Commissioning process of TH on DUT TH sends ADDNOC Command + with invalid CaseAdminSubject field to DUT" verification: | - Not Verifiable + + disabled: true + + - label: "TH1 Sends CSRRequest command" + PICS: OPCREDS.S.C04.Rsp + verification: | + + disabled: true + + - label: "TH sends ArmFailSafe command to the DUT" + verification: | + disabled: true - label: - "Start the Commissioning process of TH on DUT TH1 sends ADDNOC Command - with missing IpkValue field to DUT" + "Start the Commissioning process of TH on DUT TH sends ADDNOC Command + with invalid IpkValue to DUT" verification: | - Not Verifiable + + disabled: true + + - label: "TH1 Sends CSRRequest command" + PICS: OPCREDS.S.C04.Rsp + verification: | + + disabled: true + + - label: "TH sends ArmFailSafe command to the DUT" + verification: | + disabled: true - label: - "Start the Commissioning process of TH on DUT TH1 sends ADDNOC Command + "Start the Commissioning process of TH on DUT TH sends ADDNOC Command with valid fields to DUT" verification: | - Not Verifiable + + disabled: true + + - label: "TH1 Sends CSRRequest command" + PICS: OPCREDS.S.C04.Rsp + verification: | + + disabled: true + + - label: "TH sends ArmFailSafe command to the DUT" + verification: | + disabled: true - label: - "TH1 sends ADDNOC Command with valid fields same as previous step to + "TH sends ADDNOC Command with valid fields same as previous step to DUT" verification: | - Not Verifiable + disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_RH_2_1.yaml b/src/app/tests/suites/certification/Test_TC_RH_2_1.yaml index 778b46dabb4072..bbca0f62114a0b 100644 --- a/src/app/tests/suites/certification/Test_TC_RH_2_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_RH_2_1.yaml @@ -59,7 +59,6 @@ tests: - label: "Reads constraints of attribute: Tolerance" PICS: RH.S.A0003 - optional: true command: "readAttribute" attribute: "tolerance" response: diff --git a/src/app/tests/suites/certification/Test_TC_TSTAT_3_1.yaml b/src/app/tests/suites/certification/Test_TC_TSTAT_3_1.yaml index 13cf5eda0bb786..bfe9dc2892a633 100644 --- a/src/app/tests/suites/certification/Test_TC_TSTAT_3_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_TSTAT_3_1.yaml @@ -13,7 +13,7 @@ # limitations under the License. # Auto-generated scripts for harness use only, please review before automation. The endpoints and cluster names are currently set to default -name: 42.3.1. [TC-TSTAT-3.1] Attributes with client as DUT +name: 41.3.1. [TC-TSTAT-3.1] Attributes with client as DUT config: nodeId: 0x12344321 @@ -22,81 +22,246 @@ config: tests: - label: - "DUT reads all supported mandatory attributes from TH once at a time - in a manufacturer specific order" + "DUT reads all supported mandatory attributes from TH one at a time in + a manufacturer specific order" verification: | - On TestHarnes (all-cluster-app) a received read of local-temperature (id 0) looks like this: - - [1646062486.687816][33190:33190] CHIP:IM: Received Read request - [1646062486.687873][33190:33190] CHIP:DMG: ReadRequestMessage = - [1646062486.687902][33190:33190] CHIP:DMG: { - [1646062486.687924][33190:33190] CHIP:DMG: AttributePathIBs = - [1646062486.687951][33190:33190] CHIP:DMG: [ - [1646062486.687975][33190:33190] CHIP:DMG: AttributePathIB = - [1646062486.688010][33190:33190] CHIP:DMG: { - [1646062486.688040][33190:33190] CHIP:DMG: Endpoint = 0x1, - [1646062486.688073][33190:33190] CHIP:DMG: Cluster = 0x201, - [1646062486.688107][33190:33190] CHIP:DMG: Attribute = 0x0000_0000, - [1646062486.688136][33190:33190] CHIP:DMG: } - [1646062486.688165][33190:33190] CHIP:DMG: - [1646062486.688192][33190:33190] CHIP:DMG: ], - [1646062486.688219][33190:33190] CHIP:DMG: - [1646062486.688245][33190:33190] CHIP:DMG: isFabricFiltered = false, - [1646062486.688269][33190:33190] CHIP:DMG: InteractionModelRevision = 1 - [1646062486.688291][33190:33190] CHIP:DMG: }, - [1646062486.688354][33190:33190] CHIP:DMG: IM RH moving to [GeneratingReports] - [1646062486.688608][33190:33190] CHIP:DMG: Cluster 201, Attribute 0 is dirty - [1646062486.688644][33190:33190] CHIP:DMG: Reading attribute: Cluster=0x0000_0201 Endpoint=1 AttributeId=0x0000_0000 (expanded=0) - [1646062486.688675][33190:33190] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0201 e=1 p=v - [1646062486.688742][33190:33190] CHIP:DMG: Sending report (payload has 37 bytes)... + ./chip-tool thermostat read local-temperature 1 1 + + [1652264555.303895][7099:7099] CHIP:IM: Received Read request + [1652264555.303980][7099:7099] CHIP:DMG: ReadRequestMessage = + [1652264555.304045][7099:7099] CHIP:DMG: { + [1652264555.304085][7099:7099] CHIP:DMG: AttributePathIBs = + [1652264555.304131][7099:7099] CHIP:DMG: [ + [1652264555.304200][7099:7099] CHIP:DMG: AttributePathIB = + [1652264555.304259][7099:7099] CHIP:DMG: { + [1652264555.304334][7099:7099] CHIP:DMG: Endpoint = 0x1, + [1652264555.304431][7099:7099] CHIP:DMG: Cluster = 0x201, + [1652264555.304499][7099:7099] CHIP:DMG: Attribute = 0x0000_0000, + [1652264555.304566][7099:7099] CHIP:DMG: } + [1652264555.304618][7099:7099] CHIP:DMG: + [1652264555.304680][7099:7099] CHIP:DMG: ], + [1652264555.304733][7099:7099] CHIP:DMG: + [1652264555.304798][7099:7099] CHIP:DMG: isFabricFiltered = true, + [1652264555.304846][7099:7099] CHIP:DMG: InteractionModelRevision = 1 + [1652264555.304906][7099:7099] CHIP:DMG: }, + + + ./chip-tool thermostat read control-sequence-of-operation 1 1 + + + [1652265275.022068][7099:7099] CHIP:DMG: ReadRequestMessage = + [1652265275.022110][7099:7099] CHIP:DMG: { + [1652265275.022145][7099:7099] CHIP:DMG: AttributePathIBs = + [1652265275.022187][7099:7099] CHIP:DMG: [ + [1652265275.022226][7099:7099] CHIP:DMG: AttributePathIB = + [1652265275.022277][7099:7099] CHIP:DMG: { + [1652265275.022325][7099:7099] CHIP:DMG: Endpoint = 0x1, + [1652265275.022390][7099:7099] CHIP:DMG: Cluster = 0x201, + [1652265275.022443][7099:7099] CHIP:DMG: Attribute = 0x0000_001B, + [1652265275.022490][7099:7099] CHIP:DMG: } + [1652265275.022536][7099:7099] CHIP:DMG: + [1652265275.022583][7099:7099] CHIP:DMG: ], + [1652265275.022632][7099:7099] CHIP:DMG: + [1652265275.022675][7099:7099] CHIP:DMG: isFabricFiltered = true, + [1652265275.022717][7099:7099] CHIP:DMG: InteractionModelRevision = 1 + [1652265275.022756][7099:7099] CHIP:DMG: }, + + ./chip-tool thermostat read system-mode 1 1 + [1652265332.311723][7099:7099] CHIP:DMG: ReadRequestMessage = + [1652265332.311772][7099:7099] CHIP:DMG: { + [1652265332.311812][7099:7099] CHIP:DMG: AttributePathIBs = + [1652265332.311866][7099:7099] CHIP:DMG: [ + [1652265332.311915][7099:7099] CHIP:DMG: AttributePathIB = + [1652265332.311971][7099:7099] CHIP:DMG: { + [1652265332.312023][7099:7099] CHIP:DMG: Endpoint = 0x1, + [1652265332.312079][7099:7099] CHIP:DMG: Cluster = 0x201, + [1652265332.312138][7099:7099] CHIP:DMG: Attribute = 0x0000_001C, + [1652265332.312187][7099:7099] CHIP:DMG: } + [1652265332.312238][7099:7099] CHIP:DMG: + [1652265332.312290][7099:7099] CHIP:DMG: ], + [1652265332.312341][7099:7099] CHIP:DMG: + [1652265332.312388][7099:7099] CHIP:DMG: isFabricFiltered = true, + [1652265332.312435][7099:7099] CHIP:DMG: InteractionModelRevision = 1 + [1652265332.312477][7099:7099] CHIP:DMG: }, disabled: true - label: - "DUT reads all supported optional attributes from TH once at a time in + "DUT reads all supported optional attributes from TH one at a time in a manufacturer specific order" verification: | - see above + Most of optional attribute is not implemented in SDK + + + https://github.com/project-chip/connectedhomeip/issues/15626 disabled: true - label: "DUT writes a suitable value to all supported mandatory attributes on - the TH once at a time in a manufacturer specific order" + the TH one at a time in a manufacturer specific order" + verification: | + ./chip-tool thermostat write system-mode 2 1 1 + + [1652265582.913625][7099:7099] CHIP:IM: Received Write request + [1652265582.913672][7099:7099] CHIP:DMG: IM WH moving to [Initialized] + [1652265582.913768][7099:7099] CHIP:DMG: WriteRequestMessage = + [1652265582.913820][7099:7099] CHIP:DMG: { + [1652265582.913954][7099:7099] CHIP:DMG: suppressResponse = false, + [1652265582.914074][7099:7099] CHIP:DMG: timedRequest = false, + [1652265582.914123][7099:7099] CHIP:DMG: AttributeDataIBs = + [1652265582.914212][7099:7099] CHIP:DMG: [ + [1652265582.914280][7099:7099] CHIP:DMG: AttributeDataIB = + [1652265582.914342][7099:7099] CHIP:DMG: { + [1652265582.914404][7099:7099] CHIP:DMG: AttributePathIB = + [1652265582.914482][7099:7099] CHIP:DMG: { + [1652265582.914551][7099:7099] CHIP:DMG: Endpoint = 0x1, + [1652265582.914624][7099:7099] CHIP:DMG: Cluster = 0x201, + [1652265582.914700][7099:7099] CHIP:DMG: Attribute = 0x0000_001C, + [1652265582.914772][7099:7099] CHIP:DMG: } + [1652265582.914847][7099:7099] CHIP:DMG: + [1652265582.914915][7099:7099] CHIP:DMG: Data = 2, + [1652265582.914980][7099:7099] CHIP:DMG: }, + [1652265582.915093][7099:7099] CHIP:DMG: + [1652265582.915278][7099:7099] CHIP:DMG: ], + [1652265582.915348][7099:7099] CHIP:DMG: + [1652265582.915400][7099:7099] CHIP:DMG: moreChunkedMessages = false, + [1652265582.915460][7099:7099] CHIP:DMG: InteractionModelRevision = 1 + [1652265582.915509][7099:7099] CHIP:DMG: }, + + + + ./chip-tool thermostat write control-sequence-of-operation 1 1 1 + + + [1652265678.578137][7099:7099] CHIP:IM: Received Write request + [1652265678.578192][7099:7099] CHIP:DMG: IM WH moving to [Initialized] + [1652265678.578284][7099:7099] CHIP:DMG: WriteRequestMessage = + [1652265678.578343][7099:7099] CHIP:DMG: { + [1652265678.578378][7099:7099] CHIP:DMG: suppressResponse = false, + [1652265678.578419][7099:7099] CHIP:DMG: timedRequest = false, + [1652265678.578466][7099:7099] CHIP:DMG: AttributeDataIBs = + [1652265678.578521][7099:7099] CHIP:DMG: [ + [1652265678.578587][7099:7099] CHIP:DMG: AttributeDataIB = + [1652265678.578672][7099:7099] CHIP:DMG: { + [1652265678.578721][7099:7099] CHIP:DMG: AttributePathIB = + [1652265678.578802][7099:7099] CHIP:DMG: { + [1652265678.578860][7099:7099] CHIP:DMG: Endpoint = 0x1, + [1652265678.578938][7099:7099] CHIP:DMG: Cluster = 0x201, + [1652265678.579071][7099:7099] CHIP:DMG: Attribute = 0x0000_001B, + [1652265678.579134][7099:7099] CHIP:DMG: } + [1652265678.579212][7099:7099] CHIP:DMG: + [1652265678.579288][7099:7099] CHIP:DMG: Data = 1, + [1652265678.579347][7099:7099] CHIP:DMG: }, + [1652265678.579402][7099:7099] CHIP:DMG: + [1652265678.579430][7099:7099] CHIP:DMG: ], + [1652265678.579461][7099:7099] CHIP:DMG: + [1652265678.579567][7099:7099] CHIP:DMG: moreChunkedMessages = false, + [1652265678.579598][7099:7099] CHIP:DMG: InteractionModelRevision = 1 + [1652265678.579624][7099:7099] CHIP:DMG: }, + disabled: true + + - label: + "DUT writes a suitable value to all supported optional attributes on + the TH one at a time in a manufacturer specific order" verification: | - On TestHarnes (all-cluster-app) a received write request looks like this (f.e local-temperature-calibration (id 16) value 10): - - [1646062753.451418][33190:33190] CHIP:IM: Received Write request - [1646062753.451455][33190:33190] CHIP:DMG: IM WH moving to [Initialized] - [1646062753.451518][33190:33190] CHIP:DMG: WriteRequestMessage = - [1646062753.451549][33190:33190] CHIP:DMG: { - [1646062753.451578][33190:33190] CHIP:DMG: timedRequest = false, - [1646062753.451614][33190:33190] CHIP:DMG: AttributeDataIBs = - [1646062753.451652][33190:33190] CHIP:DMG: [ - [1646062753.451681][33190:33190] CHIP:DMG: AttributeDataIB = - [1646062753.451718][33190:33190] CHIP:DMG: { - [1646062753.451785][33190:33190] CHIP:DMG: AttributePathIB = - [1646062753.451831][33190:33190] CHIP:DMG: { - [1646062753.451875][33190:33190] CHIP:DMG: Endpoint = 0x1, - [1646062753.451920][33190:33190] CHIP:DMG: Cluster = 0x201, - [1646062753.451964][33190:33190] CHIP:DMG: Attribute = 0x0000_0010, - [1646062753.452351][33190:33190] CHIP:DMG: } - [1646062753.452402][33190:33190] CHIP:DMG: - [1646062753.452445][33190:33190] CHIP:DMG: Data = 10, - [1646062753.452482][33190:33190] CHIP:DMG: }, - [1646062753.452520][33190:33190] CHIP:DMG: - [1646062753.452549][33190:33190] CHIP:DMG: ], - [1646062753.452586][33190:33190] CHIP:DMG: - [1646062753.452616][33190:33190] CHIP:DMG: moreChunkedMessages = false, - [1646062753.452648][33190:33190] CHIP:DMG: InteractionModelRevision = 1 - [1646062753.452678][33190:33190] CHIP:DMG: }, - [1646062753.452791][33190:33190] CHIP:DMG: IM WH moving to [AddStatus] - [1646062753.452844][33190:33190] CHIP:EM: Piggybacking Ack for MessageCounter:8013357 on exchange: 61433r - [1646062753.452923][33190:33190] CHIP:IN: Prepared secure message 0xaaaace176940 to 0x000000000001B669 (1) of type 0x7 and protocolId (0, 1) on exchange 61433r with MessageCounter:10838634. - [1646062753.452971][33190:33190] CHIP:IN: Sending encrypted msg 0xaaaace176940 with MessageCounter:10838634 to 0x000000000001B669 (1) at monotonic time: 256943237 msec + Verify by sending the optional attribute which is mentioned in spec + + Most of optional attribute is not implemented in SDK + disabled: true + + - label: + "Configure TH such that it implements mandatory and none of the + optional attributes of the server-side of the cluster, and that it + also reflects this in global attributes such as FeatureMap and + AttributeList. Commission DUT to TH again" + verification: | + ./chip-tool thermostat read attribute-list 1 1 + [1654249558990] [92048:4020537] CHIP: [TOO] Endpoint: 1 Cluster: 0x0000_0201 Attribute 0x0000_FFFB DataVersion: 2781503138 + [1654249558990] [92048:4020537] CHIP: [TOO] AttributeList: 9 entries + [1654249558990] [92048:4020537] CHIP: [TOO] [1]: 0 + [1654249558990] [92048:4020537] CHIP: [TOO] [2]: 18 + [1654249558990] [92048:4020537] CHIP: [TOO] [3]: 27 + [1654249558990] [92048:4020537] CHIP: [TOO] [4]: 28 + [1654249558990] [92048:4020537] CHIP: [TOO] [5]: 65528 + [1654249558990] [92048:4020537] CHIP: [TOO] [6]: 65529 + [1654249558990] [92048:4020537] CHIP: [TOO] [7]: 65531 + [1654249558990] [92048:4020537] CHIP: [TOO] [8]: 65532 + [1654249558990] [92048:4020537] CHIP: [TOO] [9]: 65533 + + + " ./chip-tool thermostat read local-temperature 1 1 + + [1652264555.303895][7099:7099] CHIP:IM: Received Read request + [1652264555.303980][7099:7099] CHIP:DMG: ReadRequestMessage = + [1652264555.304045][7099:7099] CHIP:DMG: { + [1652264555.304085][7099:7099] CHIP:DMG: AttributePathIBs = + [1652264555.304131][7099:7099] CHIP:DMG: [ + [1652264555.304200][7099:7099] CHIP:DMG: AttributePathIB = + [1652264555.304259][7099:7099] CHIP:DMG: { + [1652264555.304334][7099:7099] CHIP:DMG: Endpoint = 0x1, + [1652264555.304431][7099:7099] CHIP:DMG: Cluster = 0x201, + [1652264555.304499][7099:7099] CHIP:DMG: Attribute = 0x0000_0000, + [1652264555.304566][7099:7099] CHIP:DMG: } + [1652264555.304618][7099:7099] CHIP:DMG: + [1652264555.304680][7099:7099] CHIP:DMG: ], + [1652264555.304733][7099:7099] CHIP:DMG: + [1652264555.304798][7099:7099] CHIP:DMG: isFabricFiltered = true, + [1652264555.304846][7099:7099] CHIP:DMG: InteractionModelRevision = 1 + [1652264555.304906][7099:7099] CHIP:DMG: }, + + + ./chip-tool thermostat read control-sequence-of-operation 1 1 + + + [1652265275.022068][7099:7099] CHIP:DMG: ReadRequestMessage = + [1652265275.022110][7099:7099] CHIP:DMG: { + [1652265275.022145][7099:7099] CHIP:DMG: AttributePathIBs = + [1652265275.022187][7099:7099] CHIP:DMG: [ + [1652265275.022226][7099:7099] CHIP:DMG: AttributePathIB = + [1652265275.022277][7099:7099] CHIP:DMG: { + [1652265275.022325][7099:7099] CHIP:DMG: Endpoint = 0x1, + [1652265275.022390][7099:7099] CHIP:DMG: Cluster = 0x201, + [1652265275.022443][7099:7099] CHIP:DMG: Attribute = 0x0000_001B, + [1652265275.022490][7099:7099] CHIP:DMG: } + [1652265275.022536][7099:7099] CHIP:DMG: + [1652265275.022583][7099:7099] CHIP:DMG: ], + [1652265275.022632][7099:7099] CHIP:DMG: + [1652265275.022675][7099:7099] CHIP:DMG: isFabricFiltered = true, + [1652265275.022717][7099:7099] CHIP:DMG: InteractionModelRevision = 1 + [1652265275.022756][7099:7099] CHIP:DMG: }, + + ./chip-tool thermostat read system-mode 1 1 + [1652265332.311723][7099:7099] CHIP:DMG: ReadRequestMessage = + [1652265332.311772][7099:7099] CHIP:DMG: { + [1652265332.311812][7099:7099] CHIP:DMG: AttributePathIBs = + [1652265332.311866][7099:7099] CHIP:DMG: [ + [1652265332.311915][7099:7099] CHIP:DMG: AttributePathIB = + [1652265332.311971][7099:7099] CHIP:DMG: { + [1652265332.312023][7099:7099] CHIP:DMG: Endpoint = 0x1, + [1652265332.312079][7099:7099] CHIP:DMG: Cluster = 0x201, + [1652265332.312138][7099:7099] CHIP:DMG: Attribute = 0x0000_001C, + [1652265332.312187][7099:7099] CHIP:DMG: } + [1652265332.312238][7099:7099] CHIP:DMG: + [1652265332.312290][7099:7099] CHIP:DMG: ], + [1652265332.312341][7099:7099] CHIP:DMG: + [1652265332.312388][7099:7099] CHIP:DMG: isFabricFiltered = true, + [1652265332.312435][7099:7099] CHIP:DMG: InteractionModelRevision = 1 + [1652265332.312477][7099:7099] CHIP:DMG: }," + disabled: true + + - label: + "DUT reads all supported optional attributes from TH one at a time in + a manufacturer specific order" + verification: | + Verify by sending the optional attribute which is mentioned in spec + + Most of optional attribute is not implemented in SDK disabled: true - label: "DUT writes a suitable value to all supported optional attributes on - the TH once at a time in a manufacturer specific order" + the TH one at a time in a manufacturer specific order" verification: | - see above + Verify by sending the optional attribute which is mentioned in spec + + Most of optional attribute is not implemented in SDK disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_TSTAT_3_2.yaml b/src/app/tests/suites/certification/Test_TC_TSTAT_3_2.yaml index eaa21fc192d4de..003cf3b51aa15c 100644 --- a/src/app/tests/suites/certification/Test_TC_TSTAT_3_2.yaml +++ b/src/app/tests/suites/certification/Test_TC_TSTAT_3_2.yaml @@ -25,9 +25,12 @@ tests: "DUT increases the temperature by sending a SetpointRaiseLower command to the Test Harness, with a valid Mode argument (0, 1 or 2) and a reasonable positive value that is supported by the DUT." + PICS: TSTAT.C.C00.Tx verification: | On TestHarnes (all-cluster-app) a received setpoint-raise-lower command with f.e. mode 0 and an amount of 10 looks like this: + ./chip-tool thermostat setpoint-raise-lower 0 10 1 1 + [1646064221.719107][33190:33190] CHIP:EM: Received message of type 0x8 with protocolId (0, 1) and MessageCounter:4540287 on exchange 31012r [1646064221.719148][33190:33190] CHIP:EM: Handling via exchange: 31012r, Delegate: 0xaaaace1730c8 @@ -62,12 +65,15 @@ tests: disabled: true - label: - "DUT loweres the temperature by sending a SetpointRaiseLower command - to the Test Harness, with a valid Mode argument (0, 1 or 2) and a + "DUT lowers the temperature by sending a SetpointRaiseLower command to + the Test Harness, with a valid Mode argument (0, 1 or 2) and a reasonable negative value that is supported by the DUT." + PICS: TSTAT.C.C00.Tx verification: | On TestHarnes (all-cluster-app) a received setpoint-raise-lower command with f.e. mode 0 and an amount of 10 looks like this: + ./chip-tool thermostat setpoint-raise-lower 0 -10 1 1 + [1646064525.675075][33190:33190] CHIP:EM: Received message of type 0x8 with protocolId (0, 1) and MessageCounter:16717414 on exchange 9698r [1646064525.675116][33190:33190] CHIP:EM: Handling via exchange: 9698r, Delegate: 0xaaaace1730c8 @@ -102,34 +108,35 @@ tests: disabled: true - label: "DUT sends a GetRelayStatusLog command to the Test Harness." + PICS: TSTAT.C.C04.Tx verification: | On TestHarnes (all-cluster-app) a received GetRelayStatusLog command looks like this: - + ./chip-tool thermostat get-relay-status-log 1 1 [1646064788.912273][33190:33190] CHIP:EM: Received message of type 0x8 with protocolId (0, 1) and MessageCounter:15642355 on exchange 58465r [1646064788.912319][33190:33190] CHIP:EM: Handling via exchange: 58465r, Delegate: 0xaaaace1730c8 [1646064788.912604][33190:33190] CHIP:DMG: InvokeRequestMessage = [1646064788.912647][33190:33190] CHIP:DMG: { - [1646064788.912673][33190:33190] CHIP:DMG: suppressResponse = false, - [1646064788.912704][33190:33190] CHIP:DMG: timedRequest = false, - [1646064788.912732][33190:33190] CHIP:DMG: InvokeRequests = - [1646064788.912767][33190:33190] CHIP:DMG: [ - [1646064788.912794][33190:33190] CHIP:DMG: CommandDataIB = - [1646064788.912833][33190:33190] CHIP:DMG: { - [1646064788.912861][33190:33190] CHIP:DMG: CommandPathIB = - [1646064788.912896][33190:33190] CHIP:DMG: { - [1646064788.912936][33190:33190] CHIP:DMG: EndpointId = 0x1, - [1646064788.912977][33190:33190] CHIP:DMG: ClusterId = 0x201, - [1646064788.913010][33190:33190] CHIP:DMG: CommandId = 0x4, - [1646064788.913048][33190:33190] CHIP:DMG: }, + [1646064788.912673][33190:33190] CHIP:DMG: suppressResponse = false, + [1646064788.912704][33190:33190] CHIP:DMG: timedRequest = false, + [1646064788.912732][33190:33190] CHIP:DMG: InvokeRequests = + [1646064788.912767][33190:33190] CHIP:DMG: [ + [1646064788.912794][33190:33190] CHIP:DMG: CommandDataIB = + [1646064788.912833][33190:33190] CHIP:DMG: { + [1646064788.912861][33190:33190] CHIP:DMG: CommandPathIB = + [1646064788.912896][33190:33190] CHIP:DMG: { + [1646064788.912936][33190:33190] CHIP:DMG: EndpointId = 0x1, + [1646064788.912977][33190:33190] CHIP:DMG: ClusterId = 0x201, + [1646064788.913010][33190:33190] CHIP:DMG: CommandId = 0x4, + [1646064788.913048][33190:33190] CHIP:DMG: }, [1646064788.913085][33190:33190] CHIP:DMG: - [1646064788.913116][33190:33190] CHIP:DMG: CommandData = - [1646064788.913151][33190:33190] CHIP:DMG: { - [1646064788.913186][33190:33190] CHIP:DMG: }, - [1646064788.913218][33190:33190] CHIP:DMG: }, + [1646064788.913116][33190:33190] CHIP:DMG: CommandData = + [1646064788.913151][33190:33190] CHIP:DMG: { + [1646064788.913186][33190:33190] CHIP:DMG: }, + [1646064788.913218][33190:33190] CHIP:DMG: }, [1646064788.913253][33190:33190] CHIP:DMG: - [1646064788.913280][33190:33190] CHIP:DMG: ], + [1646064788.913280][33190:33190] CHIP:DMG: ], [1646064788.913313][33190:33190] CHIP:DMG: - [1646064788.913340][33190:33190] CHIP:DMG: InteractionModelRevision = 1 + [1646064788.913340][33190:33190] CHIP:DMG: InteractionModelRevision = 1 [1646064788.913366][33190:33190] CHIP:DMG: }, [1646064788.913428][33190:33190] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0201 e=1 p=o [1646064788.913476][33190:33190] CHIP:DMG: Received command for Endpoint=1 Cluster=0x0000_0201 Command=0x0000_0004 diff --git a/src/app/tests/suites/certification/Test_TC_ULABEL_2_5.yaml b/src/app/tests/suites/certification/Test_TC_ULABEL_3_1.yaml similarity index 95% rename from src/app/tests/suites/certification/Test_TC_ULABEL_2_5.yaml rename to src/app/tests/suites/certification/Test_TC_ULABEL_3_1.yaml index 0c2a4d0fab3b1b..7056aff1d7c129 100644 --- a/src/app/tests/suites/certification/Test_TC_ULABEL_2_5.yaml +++ b/src/app/tests/suites/certification/Test_TC_ULABEL_3_1.yaml @@ -13,7 +13,7 @@ # limitations under the License. # Auto-generated scripts for harness use only, please review before automation. The endpoints and cluster names are currently set to default -name: 92.6. [TC-ULABEL-2.5] User label cluster [DUT-client] +name: 95.3.1. [TC-ULABEL-3.1] User label cluster [DUT-client] config: nodeId: 0x12344321 diff --git a/src/app/tests/suites/certification/ci-pics-values b/src/app/tests/suites/certification/ci-pics-values index 85d9a56a4fc5d5..645c7386554f85 100644 --- a/src/app/tests/suites/certification/ci-pics-values +++ b/src/app/tests/suites/certification/ci-pics-values @@ -831,3 +831,467 @@ LCFG.C.A0001=1 #Power Source Configuration Cluster PSCFG.S.A0000=1 + +#Thread Network Diagnostics Cluster +#server +DGTHREAD.S.A0001=1 +DGTHREAD.S.A0002=1 +DGTHREAD.S.A0003=1 +DGTHREAD.S.A0004=1 +DGTHREAD.S.A0005=1 +DGTHREAD.S.A0006=1 +DGTHREAD.S.A0007=1 +DGTHREAD.S.A0008=1 +DGTHREAD.S.A0009=1 +DGTHREAD.S.A000a=1 +DGTHREAD.S.A000b=1 +DGTHREAD.S.A000c=1 +DGTHREAD.S.A000d=1 +DGTHREAD.S.A000e=1 +DGTHREAD.S.A000f=1 +DGTHREAD.S.A0010=1 +DGTHREAD.S.A0011=1 +DGTHREAD.S.A0012=1 +DGTHREAD.S.A0013=1 +DGTHREAD.S.A0014=1 +DGTHREAD.S.A0015=1 +DGTHREAD.S.A0016=1 +DGTHREAD.S.A0017=1 +DGTHREAD.S.A0018=1 +DGTHREAD.S.A0019=1 +DGTHREAD.S.A001a=1 +DGTHREAD.S.A001b=1 +DGTHREAD.S.A001c=1 +DGTHREAD.S.A001d=1 +DGTHREAD.S.A001e=1 +DGTHREAD.S.A001f=1 +DGTHREAD.S.A0020=1 +DGTHREAD.S.A0021=1 +DGTHREAD.S.A0022=1 +DGTHREAD.S.A0023=1 +DGTHREAD.S.A0024=1 +DGTHREAD.S.A0025=1 +DGTHREAD.S.A0026=1 +DGTHREAD.S.A0027=1 +DGTHREAD.S.A0028=1 +DGTHREAD.S.A0029=1 +DGTHREAD.S.A002a=1 +DGTHREAD.S.A002b=1 +DGTHREAD.S.A002c=1 +DGTHREAD.S.A002d=1 +DGTHREAD.S.A002e=1 +DGTHREAD.S.A002f=1 +DGTHREAD.S.A0030=1 +DGTHREAD.S.A0031=1 +DGTHREAD.S.A0032=1 +DGTHREAD.S.A0033=1 +DGTHREAD.S.A0034=1 +DGTHREAD.S.A0035=1 +DGTHREAD.S.A0036=1 +DGTHREAD.S.A0037=1 +DGTHREAD.S.A0038=1 +DGTHREAD.S.A0039=1 +DGTHREAD.S.A003a=1 +DGTHREAD.S.A003b=1 +DGTHREAD.S.A003c=1 +DGTHREAD.S.A003d=1 +DGTHREAD.S.A003e=1 +DGTHREAD.S.A003f=1 + +#server commands +DGTHREAD.S.C00.Rsp=1 + +#Events +DGTHREAD.S.E00=1 +DGTHREAD.S.E01=1 +DGTHREAD.C.E00=1 +DGTHREAD.C.E01=1 + +#client commands +DGTHREAD.C.C00.Tx=1 + +#client +DGTHREAD.C.A0001=1 +DGTHREAD.C.A0002=1 +DGTHREAD.C.A0003=1 +DGTHREAD.C.A0004=1 +DGTHREAD.C.A0005=1 +DGTHREAD.C.A0006=1 +DGTHREAD.C.A0007=1 +DGTHREAD.C.A0008=1 +DGTHREAD.C.A0009=1 +DGTHREAD.C.A000a=1 +DGTHREAD.C.A000b=1 +DGTHREAD.C.A000c=1 +DGTHREAD.C.A000d=1 +DGTHREAD.C.A000e=1 +DGTHREAD.C.A000f=1 +DGTHREAD.C.A0010=1 +DGTHREAD.C.A0011=1 +DGTHREAD.C.A0012=1 +DGTHREAD.C.A0013=1 +DGTHREAD.C.A0014=1 +DGTHREAD.C.A0015=1 +DGTHREAD.C.A0016=1 +DGTHREAD.C.A0017=1 +DGTHREAD.C.A0018=1 +DGTHREAD.C.A0019=1 +DGTHREAD.C.A001a=1 +DGTHREAD.C.A001b=1 +DGTHREAD.C.A001c=1 +DGTHREAD.C.A001d=1 +DGTHREAD.C.A001e=1 +DGTHREAD.C.A001f=1 +DGTHREAD.C.A0020=1 +DGTHREAD.C.A0021=1 +DGTHREAD.C.A0022=1 +DGTHREAD.C.A0023=1 +DGTHREAD.C.A0024=1 +DGTHREAD.C.A0025=1 +DGTHREAD.C.A0026=1 +DGTHREAD.C.A0027=1 +DGTHREAD.C.A0028=1 +DGTHREAD.C.A0029=1 +DGTHREAD.C.A002a=1 +DGTHREAD.C.A002b=1 +DGTHREAD.C.A002c=1 +DGTHREAD.C.A002d=1 +DGTHREAD.C.A002e=1 +DGTHREAD.C.A002f=1 +DGTHREAD.C.A0030=1 +DGTHREAD.C.A0031=1 +DGTHREAD.C.A0032=1 +DGTHREAD.C.A0033=1 +DGTHREAD.C.A0034=1 +DGTHREAD.C.A0035=1 +DGTHREAD.C.A0036=1 +DGTHREAD.C.A0037=1 +DGTHREAD.C.A0038=1 +DGTHREAD.C.A0039=1 +DGTHREAD.C.A003a=1 +DGTHREAD.C.A003b=1 +DGTHREAD.C.A003c=1 +DGTHREAD.C.A003d=1 +DGTHREAD.C.A003e=1 +DGTHREAD.C.A003f=1 + +#Illuminance Measurement Cluster +ILL.S.A0000=1 +ILL.S.A0001=1 +ILL.S.A0002=1 +ILL.S.A0003=1 +ILL.S.A0004=1 + +#Thermostat +#Client Commands +TSTAT.C.C00.Tx=1 +TSTAT.C.C04.Tx=1 + +#Door Lock +#server attributes +DRLK.S.A0000=1 +DRLK.S.A0001=1 +DRLK.S.A0002=1 +DRLK.S.A0003=1 +DRLK.S.A0004=1 +DRLK.S.A0005=1 +DRLK.S.A0006=1 +DRLK.S.A0011=1 +DRLK.S.A0012=1 +DRLK.S.A0013=1 +DRLK.S.A0014=1 +DRLK.S.A0015=1 +DRLK.S.A0016=1 +DRLK.S.A0017=1 +DRLK.S.A0018=1 +DRLK.S.A0019=1 +DRLK.S.A001a=1 +DRLK.S.A001b=1 +DRLK.S.A001c=1 +DRLK.S.A0021=1 +DRLK.S.A0022=1 +DRLK.S.A0023=1 +DRLK.S.A0024=1 +DRLK.S.A0025=1 +DRLK.S.A0026=1 +DRLK.S.A0027=1 +DRLK.S.A0028=1 +DRLK.S.A0029=1 +DRLK.S.A002a=1 +DRLK.S.A002b=1 +DRLK.S.A002c=1 +DRLK.S.A0030=1 +DRLK.S.A0031=1 +DRLK.S.A0032=1 +DRLK.S.A0033=1 +DRLK.S.A0035=1 + +#Server Events +DRLK.S.E00=1 +DRLK.S.E01=1 +DRLK.S.E02=1 +DRLK.S.E03=1 +DRLK.S.E04=1 + +#Server Features +DRLK.S.F00=1 +DRLK.S.F01=1 +DRLK.S.F02=1 +DRLK.S.F04=1 +DRLK.S.F05=1 +DRLK.S.F06=1 +DRLK.S.F07=1 +DRLK.S.F08=1 + +#Server commands +DRLK.S.C00.Rsp=1 +DRLK.S.C01.Rsp=1 +DRLK.S.C03.Rsp=1 +DRLK.S.C0B.Rsp=1 +DRLK.S.C0C.Rsp=1 +DRLK.S.C0D.Rsp=1 +DRLK.S.C0E.Rsp=1 +DRLK.S.C0F.Rsp=1 +DRLK.S.C10.Rsp=1 +DRLK.S.C11.Rsp=1 +DRLK.S.C12.Rsp=1 +DRLK.S.C13.Rsp=1 +DRLK.S.C1A.Rsp=1 +DRLK.S.C1B.Rsp=1 +DRLK.S.C1D.Rsp=1 +DRLK.S.C22.Rsp=1 +DRLK.S.C24.Rsp=1 +DRLK.S.C26.Rsp=1 +DRLK.S.C0C.Tx=1 +DRLK.S.C0F.Tx=1 +DRLK.S.C12.Tx=1 +DRLK.S.C1C.Tx=1 +DRLK.S.C23.Tx=1 +DRLK.S.C25.Tx=1 + +#client attributes +DRLK.C.A0000=1 +DRLK.C.A0001=1 +DRLK.C.A0002=1 +DRLK.C.A0003=1 +DRLK.C.A0004=1 +DRLK.C.A0005=1 +DRLK.C.A0006=1 +DRLK.C.A0011=1 +DRLK.C.A0012=1 +DRLK.C.A0013=1 +DRLK.C.A0014=1 +DRLK.C.A0015=1 +DRLK.C.A0016=1 +DRLK.C.A0017=1 +DRLK.C.A0018=1 +DRLK.C.A0019=1 +DRLK.C.A001a=1 +DRLK.C.A001b=1 +DRLK.C.A001c=1 +DRLK.C.A0021=1 +DRLK.C.A0022=1 +DRLK.C.A0023=1 +DRLK.C.A0024=1 +DRLK.C.A0025=1 +DRLK.C.A0026=1 +DRLK.C.A0027=1 +DRLK.C.A0028=1 +DRLK.C.A0029=1 +DRLK.C.A002a=1 +DRLK.C.A002b=1 +DRLK.C.A002c=1 +DRLK.C.A0030=1 +DRLK.C.A0031=1 +DRLK.C.A0032=1 +DRLK.C.A0033=1 +DRLK.C.A0035=1 + +#client Events +DRLK.C.E00=1 +DRLK.C.E01=1 +DRLK.C.E02=1 +DRLK.C.E03=1 +DRLK.C.E04=1 + +#client Features +DRLK.C.F00=1 +DRLK.C.F01=1 +DRLK.C.F02=1 +DRLK.C.F04=1 +DRLK.C.F05=1 +DRLK.C.F06=1 +DRLK.C.F07=1 +DRLK.C.F08=1 + +#client commands +DRLK.C.C00.Tx=1 +DRLK.C.C1.Tx=1 +DRLK.C.C3.Tx=1 +DRLK.C.C0B.Tx=1 +DRLK.C.C0C.Tx=1 +DRLK.C.C0D.Tx=1 +DRLK.C.C0e.Tx=1 +DRLK.C.C0f.Tx=1 +DRLK.C.C10.Tx=1 +DRLK.C.C11.Tx=1 +DRLK.C.C12.Tx=1 +DRLK.C.C13.Tx=1 +DRLK.C.C1a.Tx=1 +DRLK.C.C1b.Tx=1 +DRLK.C.C1d.Tx=1 +DRLK.C.C22.Tx=1 +DRLK.C.C24.Tx=1 +DRLK.C.C26.Tx=1 +DRLK.C.C0c.Rsp=1 +DRLK.C.C0f.Rsp=1 +DRLK.C.C12.Rsp=1 +DRLK.C.C1c.Rsp=1 +DRLK.C.C23.Rsp=1 +DRLK.C.C25.Rsp=1 + +#Device Management +#Server Attributes +BINFO.S.A0000=1 +BINFO.S.A0001=1 +BINFO.S.A0002=1 +BINFO.S.A0003=1 +BINFO.S.A0004=1 +BINFO.S.A0005=1 +BINFO.S.A0006=1 +BINFO.S.A0007=1 +BINFO.S.A0008=1 +BINFO.S.A0009=1 +BINFO.S.A000a=1 +BINFO.S.A000b=1 +BINFO.S.A000c=1 +BINFO.S.A000d=1 +BINFO.S.A000e=1 +BINFO.S.A000f=1 +BINFO.S.A0010=1 +BINFO.S.A0011=1 +BINFO.S.A0012=1 +BINFO.S.A0013=1 + +#Events +BINFO.S.E00=1 +BINFO.S.E01=1 +BINFO.S.E02=1 +BINFO.S.E03=1 + +#Client Attributes +BINFO.C.A0000=1 +BINFO.C.A0001=1 +BINFO.C.A0002=1 +BINFO.C.A0003=1 +BINFO.C.A0004=1 +BINFO.C.A0005=1 +BINFO.C.A0006=1 +BINFO.C.A0007=1 +BINFO.C.A0008=1 +BINFO.C.A0009=1 +BINFO.C.A000a=1 +BINFO.C.A000b=1 +BINFO.C.A000c=1 +BINFO.C.A000d=1 +BINFO.C.A000e=1 +BINFO.C.A000f=1 +BINFO.C.A0010=1 +BINFO.C.A0011=1 +BINFO.C.A0012=1 +BINFO.C.A0013=1 + +#Events +BINFO.C.E00=1 +BINFO.C.E01=1 +BINFO.C.E02=1 +BINFO.C.E03=1 + +#NetworkCommissioning Cluster +#Server Attributes +CNET.S.A0000=1 +CNET.S.A0001=1 +CNET.S.A0002=1 +CNET.S.A0003=1 +CNET.S.A0004=1 +CNET.S.A0005=1 +CNET.S.A0006=1 +CNET.S.A0007=1 + +#Server Commands +CNET.S.C00.Rsp=1 +CNET.S.C01.Tx=1 +CNET.S.C02.Rsp=1 +CNET.S.C03.Rsp=1 +CNET.S.C04.Rsp=1 +CNET.S.C05.Tx=1 +CNET.S.C06.Rsp=1 +CNET.S.C07.Tx=1 +CNET.S.C08.Rsp=1 + +#Client Attributes +CNET.C.A0000=1 +CNET.C.A0001=1 +CNET.C.A0002=1 +CNET.C.A0003=1 +CNET.C.A0004=1 +CNET.C.A0005=1 +CNET.C.A0006=1 +CNET.C.A0007=1 + +#Client Commands +CNET.C.C00.Tx=1 +CNET.C.C02.Tx=1 +CNET.C.C03.Tx=1 +CNET.C.C04.Tx=1 +CNET.C.C06.Tx=1 +CNET.C.C08.Tx=1 + +#Node Operational Credential +#Server Attributes +OPCREDS.S.A0000=1 +OPCREDS.S.A0001=1 +OPCREDS.S.A0002=1 +OPCREDS.S.A0003=1 +OPCREDS.S.A0004=1 +OPCREDS.S.A0005=1 +OPCREDS.S.A0006=1 +OPCREDS.S.A0007=1 + +#Server Commands +OPCREDS.S.C00.Rsp=1 +OPCREDS.S.C01.Tx=1 +OPCREDS.S.C02.Rsp=1 +OPCREDS.S.C03.Tx=1 +OPCREDS.S.C04.Rsp=1 +OPCREDS.S.C05.Tx=1 +OPCREDS.S.C06.Rsp=1 +OPCREDS.S.C07.Rsp=1 +OPCREDS.S.C08.Tx=1 +OPCREDS.S.C09.Rsp=1 +OPCREDS.S.C0a.Rsp=1 +OPCREDS.S.C0b.Rsp=1 + +#Client Attributes +OPCREDS.C.A0000=1 +OPCREDS.C.A0001=1 +OPCREDS.C.A0002=1 +OPCREDS.C.A0003=1 +OPCREDS.C.A0004=1 +OPCREDS.C.A0005=1 +OPCREDS.C.A0006=1 +OPCREDS.C.A0007=1 + +#Client Commands +OPCREDS.C.C00.Tx=1 +OPCREDS.C.C01.Rsp=1 +OPCREDS.C.C02.Tx=1 +OPCREDS.C.C03.Rsp=1 +OPCREDS.C.C04.Tx=1 +OPCREDS.C.C05.Rsp=1 +OPCREDS.C.C06.Tx=1 +OPCREDS.C.C07.Tx=1 +OPCREDS.C.C08.Rsp=1 +OPCREDS.C.C09.Tx=1 +OPCREDS.C.C0a.Tx=1 +OPCREDS.C.C0b.Tx=1 \ No newline at end of file diff --git a/src/app/tests/suites/commands/discovery/DiscoveryCommands.cpp b/src/app/tests/suites/commands/discovery/DiscoveryCommands.cpp index e92dc3a3649a62..d1ae4d1fc25be8 100644 --- a/src/app/tests/suites/commands/discovery/DiscoveryCommands.cpp +++ b/src/app/tests/suites/commands/discovery/DiscoveryCommands.cpp @@ -28,7 +28,7 @@ DiscoveryCommands::FindCommissionable(const char * identity, ReturnErrorOnFailure(SetupDiscoveryCommands()); chip::Dnssd::DiscoveryFilter filter(chip::Dnssd::DiscoveryFilterType::kNone, (uint64_t) 0); - return mDNSResolver.FindCommissionableNodes(filter); + return mDNSResolver.DiscoverCommissionableNodes(filter); } CHIP_ERROR DiscoveryCommands::FindCommissionableByShortDiscriminator( @@ -39,7 +39,7 @@ CHIP_ERROR DiscoveryCommands::FindCommissionableByShortDiscriminator( uint64_t shortDiscriminator = static_cast((value.value >> 8) & 0x0F); chip::Dnssd::DiscoveryFilter filter(chip::Dnssd::DiscoveryFilterType::kShortDiscriminator, shortDiscriminator); - return mDNSResolver.FindCommissionableNodes(filter); + return mDNSResolver.DiscoverCommissionableNodes(filter); } CHIP_ERROR DiscoveryCommands::FindCommissionableByLongDiscriminator( @@ -49,7 +49,7 @@ CHIP_ERROR DiscoveryCommands::FindCommissionableByLongDiscriminator( ReturnErrorOnFailure(SetupDiscoveryCommands()); chip::Dnssd::DiscoveryFilter filter(chip::Dnssd::DiscoveryFilterType::kLongDiscriminator, value.value); - return mDNSResolver.FindCommissionableNodes(filter); + return mDNSResolver.DiscoverCommissionableNodes(filter); } CHIP_ERROR DiscoveryCommands::FindCommissionableByCommissioningMode( @@ -59,7 +59,7 @@ CHIP_ERROR DiscoveryCommands::FindCommissionableByCommissioningMode( ReturnErrorOnFailure(SetupDiscoveryCommands()); chip::Dnssd::DiscoveryFilter filter(chip::Dnssd::DiscoveryFilterType::kCommissioningMode); - return mDNSResolver.FindCommissionableNodes(filter); + return mDNSResolver.DiscoverCommissionableNodes(filter); } CHIP_ERROR DiscoveryCommands::FindCommissionableByVendorId( @@ -68,7 +68,7 @@ CHIP_ERROR DiscoveryCommands::FindCommissionableByVendorId( ReturnErrorOnFailure(SetupDiscoveryCommands()); chip::Dnssd::DiscoveryFilter filter(chip::Dnssd::DiscoveryFilterType::kVendorId, value.value); - return mDNSResolver.FindCommissionableNodes(filter); + return mDNSResolver.DiscoverCommissionableNodes(filter); } CHIP_ERROR DiscoveryCommands::FindCommissionableByDeviceType( @@ -77,7 +77,7 @@ CHIP_ERROR DiscoveryCommands::FindCommissionableByDeviceType( ReturnErrorOnFailure(SetupDiscoveryCommands()); chip::Dnssd::DiscoveryFilter filter(chip::Dnssd::DiscoveryFilterType::kDeviceType, value.value); - return mDNSResolver.FindCommissionableNodes(filter); + return mDNSResolver.DiscoverCommissionableNodes(filter); } CHIP_ERROR @@ -87,7 +87,7 @@ DiscoveryCommands::FindCommissioner(const char * identity, ReturnErrorOnFailure(SetupDiscoveryCommands()); chip::Dnssd::DiscoveryFilter filter(chip::Dnssd::DiscoveryFilterType::kCommissioner, 1); - return mDNSResolver.FindCommissioners(filter); + return mDNSResolver.DiscoverCommissioners(filter); } CHIP_ERROR @@ -97,7 +97,7 @@ DiscoveryCommands::FindCommissionerByVendorId( ReturnErrorOnFailure(SetupDiscoveryCommands()); chip::Dnssd::DiscoveryFilter filter(chip::Dnssd::DiscoveryFilterType::kVendorId, value.value); - return mDNSResolver.FindCommissioners(filter); + return mDNSResolver.DiscoverCommissioners(filter); } CHIP_ERROR DiscoveryCommands::FindCommissionerByDeviceType( @@ -106,7 +106,7 @@ CHIP_ERROR DiscoveryCommands::FindCommissionerByDeviceType( ReturnErrorOnFailure(SetupDiscoveryCommands()); chip::Dnssd::DiscoveryFilter filter(chip::Dnssd::DiscoveryFilterType::kDeviceType, value.value); - return mDNSResolver.FindCommissioners(filter); + return mDNSResolver.DiscoverCommissioners(filter); } CHIP_ERROR DiscoveryCommands::SetupDiscoveryCommands() diff --git a/src/app/tests/suites/tests.js b/src/app/tests/suites/tests.js index 5e7b8c085ed49c..97fa30a28d5f71 100644 --- a/src/app/tests/suites/tests.js +++ b/src/app/tests/suites/tests.js @@ -348,11 +348,14 @@ function getManualTests() { ]; const DoorLock = [ - "Test_TC_DLRK_1_1", - "Test_TC_DLRK_2_1", - "Test_TC_DLRK_2_6", - "Test_TC_DLRK_2_8", - "Test_TC_DLRK_2_10", + "Test_TC_DRLK_1_1", + "Test_TC_DRLK_2_1", + "Test_TC_DRLK_2_6", + "Test_TC_DRLK_2_8", + "Test_TC_DRLK_2_10", + "Test_TC_DRLK_3_1", + "Test_TC_DRLK_3_2", + "Test_TC_DRLK_3_3", ]; const LocalizationConfiguration = [ @@ -418,7 +421,7 @@ function getManualTests() { const FixedLabel = [ "Test_TC_FLABEL_1_1", "Test_TC_FLABEL_2_1", - "Test_TC_FLABEL_2_2", + "Test_TC_FLABEL_3_1", ]; const Binding = [ @@ -562,7 +565,7 @@ function getTests() { "Test_TC_ULABEL_2_2", "Test_TC_ULABEL_2_3", "Test_TC_ULABEL_2_4", - "Test_TC_ULABEL_2_5", + "Test_TC_ULABEL_3_1", ]; const MediaControl = [ @@ -732,12 +735,12 @@ function getTests() { "DL_UsersAndCredentials", "DL_LockUnlock", "DL_Schedules", - "Test_TC_DLRK_2_2", - "Test_TC_DLRK_2_3", - "Test_TC_DLRK_2_4", - "Test_TC_DLRK_2_5", - "Test_TC_DLRK_2_7", - "Test_TC_DLRK_2_9", + "Test_TC_DRLK_2_2", + "Test_TC_DRLK_2_3", + "Test_TC_DRLK_2_4", + "Test_TC_DRLK_2_5", + "Test_TC_DRLK_2_7", + "Test_TC_DRLK_2_9", ]; const Groups = [ diff --git a/src/controller/CHIPCommissionableNodeController.cpp b/src/controller/CHIPCommissionableNodeController.cpp index b2b8b31d317a69..67e6ce8065c29a 100644 --- a/src/controller/CHIPCommissionableNodeController.cpp +++ b/src/controller/CHIPCommissionableNodeController.cpp @@ -39,13 +39,13 @@ CHIP_ERROR CommissionableNodeController::DiscoverCommissioners(Dnssd::DiscoveryF ReturnErrorOnFailure(mDNSResolver.Init(DeviceLayer::UDPEndPointManager())); #endif mDNSResolver.SetCommissioningDelegate(this); - return mDNSResolver.FindCommissioners(discoveryFilter); + return mDNSResolver.DiscoverCommissioners(discoveryFilter); } #if CONFIG_DEVICE_LAYER ReturnErrorOnFailure(mResolver->Init(DeviceLayer::UDPEndPointManager())); #endif - return mResolver->FindCommissioners(discoveryFilter); + return mResolver->DiscoverCommissioners(discoveryFilter); } CommissionableNodeController::~CommissionableNodeController() diff --git a/src/controller/CHIPDeviceController.cpp b/src/controller/CHIPDeviceController.cpp index af7754600d4cf4..a1dec221a8f0bd 100644 --- a/src/controller/CHIPDeviceController.cpp +++ b/src/controller/CHIPDeviceController.cpp @@ -1410,7 +1410,7 @@ void DeviceCommissioner::OnSessionEstablishmentTimeoutCallback(System::Layer * a CHIP_ERROR DeviceCommissioner::DiscoverCommissionableNodes(Dnssd::DiscoveryFilter filter) { ReturnErrorOnFailure(SetUpNodeDiscovery()); - return mDNSResolver.FindCommissionableNodes(filter); + return mDNSResolver.DiscoverCommissionableNodes(filter); } const Dnssd::DiscoveredNodeData * DeviceCommissioner::GetDiscoveredDevice(int idx) diff --git a/src/controller/CHIPDeviceControllerFactory.cpp b/src/controller/CHIPDeviceControllerFactory.cpp index ef9aaaa77ae72c..84f67a96883003 100644 --- a/src/controller/CHIPDeviceControllerFactory.cpp +++ b/src/controller/CHIPDeviceControllerFactory.cpp @@ -291,6 +291,8 @@ void DeviceControllerFactory::PopulateInitParams(ControllerInitParams & controll CHIP_ERROR DeviceControllerFactory::SetupController(SetupParams params, DeviceController & controller) { VerifyOrReturnError(mSystemState != nullptr, CHIP_ERROR_INCORRECT_STATE); + VerifyOrReturnError(params.controllerVendorId != VendorId::Unspecified, CHIP_ERROR_INVALID_ARGUMENT); + ReturnErrorOnFailure(InitSystemState()); ControllerInitParams controllerParams; @@ -303,9 +305,12 @@ CHIP_ERROR DeviceControllerFactory::SetupController(SetupParams params, DeviceCo CHIP_ERROR DeviceControllerFactory::SetupCommissioner(SetupParams params, DeviceCommissioner & commissioner) { VerifyOrReturnError(mSystemState != nullptr, CHIP_ERROR_INCORRECT_STATE); + VerifyOrReturnError(params.controllerVendorId != VendorId::Unspecified, CHIP_ERROR_INVALID_ARGUMENT); + ReturnErrorOnFailure(InitSystemState()); CommissionerInitParams commissionerParams; + // PopulateInitParams works against ControllerInitParams base class of CommissionerInitParams only PopulateInitParams(commissionerParams, params); diff --git a/src/controller/CHIPDeviceControllerFactory.h b/src/controller/CHIPDeviceControllerFactory.h index f5cbdbd3ecae03..75eeef74bb2ddc 100644 --- a/src/controller/CHIPDeviceControllerFactory.h +++ b/src/controller/CHIPDeviceControllerFactory.h @@ -60,7 +60,11 @@ struct SetupParams ByteSpan controllerICAC; ByteSpan controllerRCAC; - chip::VendorId controllerVendorId; + // + // This must be set to a valid, operational VendorId value associated with + // the controller/commissioner. + // + chip::VendorId controllerVendorId = VendorId::Unspecified; // The Device Pairing Delegated used to initialize a Commissioner DevicePairingDelegate * pairingDelegate = nullptr; diff --git a/src/controller/python/OpCredsBinding.cpp b/src/controller/python/OpCredsBinding.cpp index 966950fc241e94..e507967ef9f325 100644 --- a/src/controller/python/OpCredsBinding.cpp +++ b/src/controller/python/OpCredsBinding.cpp @@ -325,8 +325,8 @@ void pychip_OnCommissioningStatusUpdate(chip::PeerId peerId, chip::Controller::C ChipError::StorageType pychip_OpCreds_AllocateController(OpCredsContext * context, chip::Controller::DeviceCommissioner ** outDevCtrl, uint8_t fabricIndex, - FabricId fabricId, chip::NodeId nodeId, const char * paaTrustStorePath, - bool useTestCommissioner) + FabricId fabricId, chip::NodeId nodeId, chip::VendorId adminVendorId, + const char * paaTrustStorePath, bool useTestCommissioner) { ChipLogDetail(Controller, "Creating New Device Controller"); @@ -373,6 +373,7 @@ ChipError::StorageType pychip_OpCreds_AllocateController(OpCredsContext * contex initParams.controllerICAC = icacSpan; initParams.controllerNOC = nocSpan; initParams.enableServerInteractions = true; + initParams.controllerVendorId = adminVendorId; if (useTestCommissioner) { diff --git a/src/controller/python/chip/ChipDeviceCtrl.py b/src/controller/python/chip/ChipDeviceCtrl.py index 70aa7cada7b5f3..0cfa53f3bd8002 100644 --- a/src/controller/python/chip/ChipDeviceCtrl.py +++ b/src/controller/python/chip/ChipDeviceCtrl.py @@ -120,7 +120,7 @@ class DCState(enum.IntEnum): class ChipDeviceController(): activeList = set() - def __init__(self, opCredsContext: ctypes.c_void_p, fabricId: int, fabricIndex: int, nodeId: int, paaTrustStorePath: str = "", useTestCommissioner: bool = False): + def __init__(self, opCredsContext: ctypes.c_void_p, fabricId: int, fabricIndex: int, nodeId: int, adminVendorId: int, paaTrustStorePath: str = "", useTestCommissioner: bool = False): self.state = DCState.NOT_INITIALIZED self.devCtrl = None self._ChipStack = builtins.chipStack @@ -134,7 +134,7 @@ def __init__(self, opCredsContext: ctypes.c_void_p, fabricId: int, fabricIndex: res = self._ChipStack.Call( lambda: self._dmLib.pychip_OpCreds_AllocateController(ctypes.c_void_p( - opCredsContext), pointer(devCtrl), fabricIndex, fabricId, nodeId, ctypes.c_char_p(None if len(paaTrustStorePath) == 0 else str.encode(paaTrustStorePath)), useTestCommissioner) + opCredsContext), pointer(devCtrl), fabricIndex, fabricId, nodeId, adminVendorId, ctypes.c_char_p(None if len(paaTrustStorePath) == 0 else str.encode(paaTrustStorePath)), useTestCommissioner) ) if res != 0: diff --git a/src/controller/python/chip/ChipReplStartup.py b/src/controller/python/chip/ChipReplStartup.py index 22492e0317e714..3fe949c174c30a 100644 --- a/src/controller/python/chip/ChipReplStartup.py +++ b/src/controller/python/chip/ChipReplStartup.py @@ -38,7 +38,11 @@ def LoadFabricAdmins(): except KeyError: console.print( "\n[purple]No previous fabric admins discovered in persistent storage - creating a new one...") - _fabricAdmins.append(chip.FabricAdmin.FabricAdmin()) + + # + # Initialite a FabricAdmin with a VendorID of TestVendor1 (0xfff1) + # + _fabricAdmins.append(chip.FabricAdmin.FabricAdmin(0XFFF1)) return _fabricAdmins console.print('\n') @@ -46,8 +50,8 @@ def LoadFabricAdmins(): for k in adminList: console.print( f"[purple]Restoring FabricAdmin from storage to manage FabricId {adminList[k]['fabricId']}, FabricIndex {k}...") - _fabricAdmins.append(chip.FabricAdmin.FabricAdmin( - fabricId=adminList[k]['fabricId'], fabricIndex=int(k))) + _fabricAdmins.append(chip.FabricAdmin.FabricAdmin(vendorId=int(adminList[k]['vendorId']), + fabricId=adminList[k]['fabricId'], fabricIndex=int(k))) console.print( '\n[blue]Fabric Admins have been loaded and are available at [red]fabricAdmins') diff --git a/src/controller/python/chip/FabricAdmin.py b/src/controller/python/chip/FabricAdmin.py index 49cd924e561354..cd0a5f7b7aa81c 100644 --- a/src/controller/python/chip/FabricAdmin.py +++ b/src/controller/python/chip/FabricAdmin.py @@ -65,10 +65,11 @@ class FabricAdmin: ''' _handle = chip.native.GetLibraryHandle() + _isActive = False activeFabricIndexList = set() activeFabricIdList = set() - activeAdmins = set() + vendorId = None def AllocateNextFabricIndex(self): ''' Allocate the next un-used fabric index. @@ -87,10 +88,11 @@ def AllocateNextFabricId(self): nextFabricId = nextFabricId + 1 return nextFabricId - def __init__(self, rcac: bytes = None, icac: bytes = None, fabricIndex: int = None, fabricId: int = None): + def __init__(self, vendorId: int, rcac: bytes = None, icac: bytes = None, fabricIndex: int = None, fabricId: int = None): ''' Creates a valid FabricAdmin object with valid RCAC/ICAC, and registers itself as an OperationalCredentialsDelegate for other parts of the system (notably, DeviceController) to vend NOCs. + vendorId: Valid operational Vendor ID associated with this fabric. rcac, icac: Specify the RCAC and ICAC to be used with this fabric (not-supported). If not specified, an RCAC and ICAC will be automatically generated. @@ -101,6 +103,12 @@ def __init__(self, rcac: bytes = None, icac: bytes = None, fabricIndex: int = No raise ValueError( "Providing valid rcac/icac values is not supported right now!") + if (vendorId is None or vendorId == 0): + raise ValueError( + f"Invalid VendorID ({vendorId}) provided!") + + self.vendorId = vendorId + if (fabricId is None): self._fabricId = self.AllocateNextFabricId() else: @@ -124,7 +132,7 @@ def __init__(self, rcac: bytes = None, icac: bytes = None, fabricIndex: int = No FabricAdmin.activeFabricIndexList.add(self._fabricIndex) print( - f"New FabricAdmin: FabricId: {self._fabricId}({self._fabricIndex})") + f"New FabricAdmin: FabricId: {self._fabricId}({self._fabricIndex}), VendorId = {hex(self.vendorId)}") self._handle.pychip_OpCreds_InitializeDelegate.restype = c_void_p self.closure = builtins.chipStack.Call( @@ -144,7 +152,7 @@ def __init__(self, rcac: bytes = None, icac: bytes = None, fabricIndex: int = No adminList = {str(self._fabricIndex): {'fabricId': self._fabricId}} builtins.chipStack.GetStorageManager().SetReplKey('fabricAdmins', adminList) - adminList[str(self._fabricIndex)] = {'fabricId': self._fabricId} + adminList[str(self._fabricIndex)] = {'fabricId': self._fabricId, 'vendorId': self.vendorId} builtins.chipStack.GetStorageManager().SetReplKey('fabricAdmins', adminList) self._isActive = True @@ -166,7 +174,7 @@ def NewController(self, nodeId: int = None, paaTrustStorePath: str = "", useTest print( f"Allocating new controller with FabricId: {self._fabricId}({self._fabricIndex}), NodeId: {nodeId}") controller = ChipDeviceCtrl.ChipDeviceController( - self.closure, self._fabricId, self._fabricIndex, nodeId, paaTrustStorePath, useTestCommissioner) + self.closure, self._fabricId, self._fabricIndex, nodeId, self.vendorId, paaTrustStorePath, useTestCommissioner) return controller def ShutdownAll(): diff --git a/src/controller/python/test/test_scripts/base.py b/src/controller/python/test/test_scripts/base.py index c25f2c948167d7..afb775541f530a 100644 --- a/src/controller/python/test/test_scripts/base.py +++ b/src/controller/python/test/test_scripts/base.py @@ -171,8 +171,8 @@ def assertValueEqual(self, expected): class BaseTestHelper: def __init__(self, nodeid: int, paaTrustStorePath: str, testCommissioner: bool = False): self.chipStack = ChipStack('/tmp/repl_storage.json') - self.fabricAdmin = chip.FabricAdmin.FabricAdmin( - fabricId=1, fabricIndex=1) + self.fabricAdmin = chip.FabricAdmin.FabricAdmin(vendorId=0XFFF1, + fabricId=1, fabricIndex=1) self.devCtrl = self.fabricAdmin.NewController( nodeid, paaTrustStorePath, testCommissioner) self.controllerNodeId = nodeid @@ -368,7 +368,7 @@ async def TestAddUpdateRemoveFabric(self, nodeid: int): self.logger.info("Waiting for attribute read for CommissionedFabrics") startOfTestFabricCount = await self._GetCommissonedFabricCount(nodeid) - tempFabric = chip.FabricAdmin.FabricAdmin() + tempFabric = chip.FabricAdmin.FabricAdmin(vendorId=0xFFF1) tempDevCtrl = tempFabric.NewController(self.controllerNodeId, self.paaTrustStorePath) self.logger.info("Starting AddNOC using same node ID") @@ -533,8 +533,8 @@ async def TestMultiFabric(self, ip: str, setuppin: int, nodeid: int): await self.devCtrl.SendCommand(nodeid, 0, Clusters.AdministratorCommissioning.Commands.OpenBasicCommissioningWindow(180), timedRequestTimeoutMs=10000) self.logger.info("Creating 2nd Fabric Admin") - self.fabricAdmin2 = chip.FabricAdmin.FabricAdmin( - fabricId=2, fabricIndex=2) + self.fabricAdmin2 = chip.FabricAdmin.FabricAdmin(vendorId=0xFFF1, + fabricId=2, fabricIndex=2) self.logger.info("Creating Device Controller on 2nd Fabric") self.devCtrl2 = self.fabricAdmin2.NewController( @@ -556,9 +556,10 @@ async def TestMultiFabric(self, ip: str, setuppin: int, nodeid: int): self.logger.info("Shutdown completed, starting new controllers...") - self.fabricAdmin = chip.FabricAdmin.FabricAdmin( - fabricId=1, fabricIndex=1) - fabricAdmin2 = chip.FabricAdmin.FabricAdmin(fabricId=2, fabricIndex=2) + self.fabricAdmin = chip.FabricAdmin.FabricAdmin(vendorId=0XFFF1, + fabricId=1, fabricIndex=1) + fabricAdmin2 = chip.FabricAdmin.FabricAdmin(vendorId=0xFFF1, + fabricId=2, fabricIndex=2) self.devCtrl = self.fabricAdmin.NewController( self.controllerNodeId, self.paaTrustStorePath) diff --git a/src/controller/tests/TestCommissionableNodeController.cpp b/src/controller/tests/TestCommissionableNodeController.cpp index 765872acc6434e..10d2a6d9ab8edc 100644 --- a/src/controller/tests/TestCommissionableNodeController.cpp +++ b/src/controller/tests/TestCommissionableNodeController.cpp @@ -36,12 +36,15 @@ class MockResolver : public Resolver void SetOperationalDelegate(OperationalResolveDelegate * delegate) override {} void SetCommissioningDelegate(CommissioningResolveDelegate * delegate) override {} CHIP_ERROR ResolveNodeId(const PeerId & peerId, Inet::IPAddressType type) override { return ResolveNodeIdStatus; } - CHIP_ERROR FindCommissioners(DiscoveryFilter filter = DiscoveryFilter()) override { return FindCommissionersStatus; } - CHIP_ERROR FindCommissionableNodes(DiscoveryFilter filter = DiscoveryFilter()) override { return CHIP_ERROR_NOT_IMPLEMENTED; } + CHIP_ERROR DiscoverCommissioners(DiscoveryFilter filter = DiscoveryFilter()) override { return DiscoverCommissionersStatus; } + CHIP_ERROR DiscoverCommissionableNodes(DiscoveryFilter filter = DiscoveryFilter()) override + { + return CHIP_ERROR_NOT_IMPLEMENTED; + } - CHIP_ERROR InitStatus = CHIP_NO_ERROR; - CHIP_ERROR ResolveNodeIdStatus = CHIP_NO_ERROR; - CHIP_ERROR FindCommissionersStatus = CHIP_NO_ERROR; + CHIP_ERROR InitStatus = CHIP_NO_ERROR; + CHIP_ERROR ResolveNodeIdStatus = CHIP_NO_ERROR; + CHIP_ERROR DiscoverCommissionersStatus = CHIP_NO_ERROR; }; } // namespace @@ -156,10 +159,10 @@ void TestDiscoverCommissioners_InitError_ReturnsError(nlTestSuite * inSuite, voi NL_TEST_ASSERT(inSuite, controller.DiscoverCommissioners() != CHIP_NO_ERROR); } -void TestDiscoverCommissioners_FindCommissionersError_ReturnsError(nlTestSuite * inSuite, void * inContext) +void TestDiscoverCommissioners_DiscoverCommissionersError_ReturnsError(nlTestSuite * inSuite, void * inContext) { MockResolver resolver; - resolver.FindCommissionersStatus = CHIP_ERROR_INTERNAL; + resolver.DiscoverCommissionersStatus = CHIP_ERROR_INTERNAL; CommissionableNodeController controller(&resolver); NL_TEST_ASSERT(inSuite, controller.DiscoverCommissioners() != CHIP_NO_ERROR); } @@ -176,7 +179,7 @@ const nlTest sTests[] = NL_TEST_DEF("TestDiscoverCommissioners_HappyCase", TestDiscoverCommissioners_HappyCase), NL_TEST_DEF("TestDiscoverCommissioners_HappyCaseWithDiscoveryFilter", TestDiscoverCommissioners_HappyCaseWithDiscoveryFilter), NL_TEST_DEF("TestDiscoverCommissioners_InitError_ReturnsError", TestDiscoverCommissioners_InitError_ReturnsError), - NL_TEST_DEF("TestDiscoverCommissioners_FindCommissionersError_ReturnsError", TestDiscoverCommissioners_FindCommissionersError_ReturnsError), + NL_TEST_DEF("TestDiscoverCommissioners_DiscoverCommissionersError_ReturnsError", TestDiscoverCommissioners_DiscoverCommissionersError_ReturnsError), NL_TEST_SENTINEL() }; // clang-format on diff --git a/src/lib/dnssd/Discovery_ImplPlatform.cpp b/src/lib/dnssd/Discovery_ImplPlatform.cpp index 2f30c678372da5..0626daf57ca137 100644 --- a/src/lib/dnssd/Discovery_ImplPlatform.cpp +++ b/src/lib/dnssd/Discovery_ImplPlatform.cpp @@ -593,16 +593,16 @@ CHIP_ERROR DiscoveryImplPlatform::ResolveNodeId(const PeerId & peerId, Inet::IPA return mResolverProxy.ResolveNodeId(peerId, type); } -CHIP_ERROR DiscoveryImplPlatform::FindCommissionableNodes(DiscoveryFilter filter) +CHIP_ERROR DiscoveryImplPlatform::DiscoverCommissionableNodes(DiscoveryFilter filter) { ReturnErrorOnFailure(InitImpl()); - return mResolverProxy.FindCommissionableNodes(filter); + return mResolverProxy.DiscoverCommissionableNodes(filter); } -CHIP_ERROR DiscoveryImplPlatform::FindCommissioners(DiscoveryFilter filter) +CHIP_ERROR DiscoveryImplPlatform::DiscoverCommissioners(DiscoveryFilter filter) { ReturnErrorOnFailure(InitImpl()); - return mResolverProxy.FindCommissioners(filter); + return mResolverProxy.DiscoverCommissioners(filter); } DiscoveryImplPlatform & DiscoveryImplPlatform::GetInstance() @@ -643,7 +643,7 @@ ResolverProxy::~ResolverProxy() Shutdown(); } -CHIP_ERROR ResolverProxy::FindCommissionableNodes(DiscoveryFilter filter) +CHIP_ERROR ResolverProxy::DiscoverCommissionableNodes(DiscoveryFilter filter) { VerifyOrReturnError(mDelegate != nullptr, CHIP_ERROR_INCORRECT_STATE); mDelegate->Retain(); @@ -667,7 +667,7 @@ CHIP_ERROR ResolverProxy::FindCommissionableNodes(DiscoveryFilter filter) Inet::InterfaceId::Null(), HandleNodeBrowse, mDelegate); } -CHIP_ERROR ResolverProxy::FindCommissioners(DiscoveryFilter filter) +CHIP_ERROR ResolverProxy::DiscoverCommissioners(DiscoveryFilter filter) { VerifyOrReturnError(mDelegate != nullptr, CHIP_ERROR_INCORRECT_STATE); mDelegate->Retain(); diff --git a/src/lib/dnssd/Discovery_ImplPlatform.h b/src/lib/dnssd/Discovery_ImplPlatform.h index 251e88c1e8c2af..4a5e82f5d5db92 100644 --- a/src/lib/dnssd/Discovery_ImplPlatform.h +++ b/src/lib/dnssd/Discovery_ImplPlatform.h @@ -55,8 +55,8 @@ class DiscoveryImplPlatform : public ServiceAdvertiser, public Resolver mResolverProxy.SetCommissioningDelegate(delegate); } CHIP_ERROR ResolveNodeId(const PeerId & peerId, Inet::IPAddressType type) override; - CHIP_ERROR FindCommissionableNodes(DiscoveryFilter filter = DiscoveryFilter()) override; - CHIP_ERROR FindCommissioners(DiscoveryFilter filter = DiscoveryFilter()) override; + CHIP_ERROR DiscoverCommissionableNodes(DiscoveryFilter filter = DiscoveryFilter()) override; + CHIP_ERROR DiscoverCommissioners(DiscoveryFilter filter = DiscoveryFilter()) override; static DiscoveryImplPlatform & GetInstance(); diff --git a/src/lib/dnssd/Resolver.h b/src/lib/dnssd/Resolver.h index b9f6facffb7281..356fdf92f360e8 100644 --- a/src/lib/dnssd/Resolver.h +++ b/src/lib/dnssd/Resolver.h @@ -378,7 +378,7 @@ class Resolver * Whenever a new matching node is found and a resolver delegate has been registered, * the node information is passed to the delegate's `OnNodeDiscoveryComplete` method. */ - virtual CHIP_ERROR FindCommissionableNodes(DiscoveryFilter filter = DiscoveryFilter()) = 0; + virtual CHIP_ERROR DiscoverCommissionableNodes(DiscoveryFilter filter = DiscoveryFilter()) = 0; /** * Finds all commissioner nodes matching the given filter. @@ -386,7 +386,7 @@ class Resolver * Whenever a new matching node is found and a resolver delegate has been registered, * the node information is passed to the delegate's `OnNodeDiscoveryComplete` method. */ - virtual CHIP_ERROR FindCommissioners(DiscoveryFilter filter = DiscoveryFilter()) = 0; + virtual CHIP_ERROR DiscoverCommissioners(DiscoveryFilter filter = DiscoveryFilter()) = 0; /** * Provides the system-wide implementation of the service resolver diff --git a/src/lib/dnssd/ResolverProxy.h b/src/lib/dnssd/ResolverProxy.h index 7705ff0a1b2202..38ac51c07eb537 100644 --- a/src/lib/dnssd/ResolverProxy.h +++ b/src/lib/dnssd/ResolverProxy.h @@ -150,8 +150,8 @@ class ResolverProxy : public Resolver } CHIP_ERROR ResolveNodeId(const PeerId & peerId, Inet::IPAddressType type) override; - CHIP_ERROR FindCommissionableNodes(DiscoveryFilter filter = DiscoveryFilter()) override; - CHIP_ERROR FindCommissioners(DiscoveryFilter filter = DiscoveryFilter()) override; + CHIP_ERROR DiscoverCommissionableNodes(DiscoveryFilter filter = DiscoveryFilter()) override; + CHIP_ERROR DiscoverCommissioners(DiscoveryFilter filter = DiscoveryFilter()) override; private: ResolverDelegateProxy * mDelegate = nullptr; diff --git a/src/lib/dnssd/Resolver_ImplMinimalMdns.cpp b/src/lib/dnssd/Resolver_ImplMinimalMdns.cpp index c80ef38b944ed5..a7d44ac3018525 100644 --- a/src/lib/dnssd/Resolver_ImplMinimalMdns.cpp +++ b/src/lib/dnssd/Resolver_ImplMinimalMdns.cpp @@ -277,8 +277,8 @@ class MinMdnsResolver : public Resolver, public MdnsPacketDelegate void SetOperationalDelegate(OperationalResolveDelegate * delegate) override { mOperationalDelegate = delegate; } void SetCommissioningDelegate(CommissioningResolveDelegate * delegate) override { mCommissioningDelegate = delegate; } CHIP_ERROR ResolveNodeId(const PeerId & peerId, Inet::IPAddressType type) override; - CHIP_ERROR FindCommissionableNodes(DiscoveryFilter filter = DiscoveryFilter()) override; - CHIP_ERROR FindCommissioners(DiscoveryFilter filter = DiscoveryFilter()) override; + CHIP_ERROR DiscoverCommissionableNodes(DiscoveryFilter filter = DiscoveryFilter()) override; + CHIP_ERROR DiscoverCommissioners(DiscoveryFilter filter = DiscoveryFilter()) override; private: OperationalResolveDelegate * mOperationalDelegate = nullptr; @@ -621,12 +621,12 @@ void MinMdnsResolver::ExpireIncrementalResolvers() } } -CHIP_ERROR MinMdnsResolver::FindCommissionableNodes(DiscoveryFilter filter) +CHIP_ERROR MinMdnsResolver::DiscoverCommissionableNodes(DiscoveryFilter filter) { return BrowseNodes(DiscoveryType::kCommissionableNode, filter); } -CHIP_ERROR MinMdnsResolver::FindCommissioners(DiscoveryFilter filter) +CHIP_ERROR MinMdnsResolver::DiscoverCommissioners(DiscoveryFilter filter) { return BrowseNodes(DiscoveryType::kCommissionerNode, filter); } @@ -696,18 +696,18 @@ CHIP_ERROR ResolverProxy::ResolveNodeId(const PeerId & peerId, Inet::IPAddressTy return chip::Dnssd::Resolver::Instance().ResolveNodeId(peerId, type); } -CHIP_ERROR ResolverProxy::FindCommissionableNodes(DiscoveryFilter filter) +CHIP_ERROR ResolverProxy::DiscoverCommissionableNodes(DiscoveryFilter filter) { VerifyOrReturnError(mDelegate != nullptr, CHIP_ERROR_INCORRECT_STATE); chip::Dnssd::Resolver::Instance().SetCommissioningDelegate(mDelegate); - return chip::Dnssd::Resolver::Instance().FindCommissionableNodes(filter); + return chip::Dnssd::Resolver::Instance().DiscoverCommissionableNodes(filter); } -CHIP_ERROR ResolverProxy::FindCommissioners(DiscoveryFilter filter) +CHIP_ERROR ResolverProxy::DiscoverCommissioners(DiscoveryFilter filter) { VerifyOrReturnError(mDelegate != nullptr, CHIP_ERROR_INCORRECT_STATE); chip::Dnssd::Resolver::Instance().SetCommissioningDelegate(mDelegate); - return chip::Dnssd::Resolver::Instance().FindCommissioners(filter); + return chip::Dnssd::Resolver::Instance().DiscoverCommissioners(filter); } } // namespace Dnssd diff --git a/src/lib/dnssd/Resolver_ImplNone.cpp b/src/lib/dnssd/Resolver_ImplNone.cpp index f1315be776e76a..fad00bc1fdfada 100644 --- a/src/lib/dnssd/Resolver_ImplNone.cpp +++ b/src/lib/dnssd/Resolver_ImplNone.cpp @@ -37,8 +37,11 @@ class NoneResolver : public Resolver ChipLogError(Discovery, "Failed to resolve node ID: dnssd resolving not available"); return CHIP_ERROR_NOT_IMPLEMENTED; } - CHIP_ERROR FindCommissionableNodes(DiscoveryFilter filter = DiscoveryFilter()) override { return CHIP_ERROR_NOT_IMPLEMENTED; } - CHIP_ERROR FindCommissioners(DiscoveryFilter filter = DiscoveryFilter()) override { return CHIP_ERROR_NOT_IMPLEMENTED; } + CHIP_ERROR DiscoverCommissionableNodes(DiscoveryFilter filter = DiscoveryFilter()) override + { + return CHIP_ERROR_NOT_IMPLEMENTED; + } + CHIP_ERROR DiscoverCommissioners(DiscoveryFilter filter = DiscoveryFilter()) override { return CHIP_ERROR_NOT_IMPLEMENTED; } }; NoneResolver gResolver; @@ -60,12 +63,12 @@ CHIP_ERROR ResolverProxy::ResolveNodeId(const PeerId & peerId, Inet::IPAddressTy return CHIP_ERROR_NOT_IMPLEMENTED; } -CHIP_ERROR ResolverProxy::FindCommissionableNodes(DiscoveryFilter filter) +CHIP_ERROR ResolverProxy::DiscoverCommissionableNodes(DiscoveryFilter filter) { return CHIP_ERROR_NOT_IMPLEMENTED; } -CHIP_ERROR ResolverProxy::FindCommissioners(DiscoveryFilter filter) +CHIP_ERROR ResolverProxy::DiscoverCommissioners(DiscoveryFilter filter) { return CHIP_ERROR_NOT_IMPLEMENTED; } diff --git a/src/lib/shell/commands/Dns.cpp b/src/lib/shell/commands/Dns.cpp index 830afbfdefd589..c2010d9bffbcaf 100644 --- a/src/lib/shell/commands/Dns.cpp +++ b/src/lib/shell/commands/Dns.cpp @@ -188,7 +188,7 @@ CHIP_ERROR BrowseCommissionableHandler(int argc, char ** argv) streamer_printf(streamer_get(), "Browsing commissionable nodes...\r\n"); - return sResolverProxy.FindCommissionableNodes(filter); + return sResolverProxy.DiscoverCommissionableNodes(filter); } CHIP_ERROR BrowseCommissionerHandler(int argc, char ** argv) @@ -203,7 +203,7 @@ CHIP_ERROR BrowseCommissionerHandler(int argc, char ** argv) streamer_printf(streamer_get(), "Browsing commissioners...\r\n"); - return sResolverProxy.FindCommissioners(filter); + return sResolverProxy.DiscoverCommissioners(filter); } CHIP_ERROR BrowseHandler(int argc, char ** argv) diff --git a/zzz_generated/chip-tool/zap-generated/test/Commands.h b/zzz_generated/chip-tool/zap-generated/test/Commands.h index b55a52630c9f1a..fec4f944638a2f 100644 --- a/zzz_generated/chip-tool/zap-generated/test/Commands.h +++ b/zzz_generated/chip-tool/zap-generated/test/Commands.h @@ -157,7 +157,7 @@ class TestList : public Command printf("Test_TC_ULABEL_2_2\n"); printf("Test_TC_ULABEL_2_3\n"); printf("Test_TC_ULABEL_2_4\n"); - printf("Test_TC_ULABEL_2_5\n"); + printf("Test_TC_ULABEL_3_1\n"); printf("Test_TC_DGWIFI_2_1\n"); printf("Test_TC_DGWIFI_2_3\n"); printf("Test_TC_WNCV_1_1\n"); @@ -217,12 +217,12 @@ class TestList : public Command printf("DL_UsersAndCredentials\n"); printf("DL_LockUnlock\n"); printf("DL_Schedules\n"); - printf("Test_TC_DLRK_2_2\n"); - printf("Test_TC_DLRK_2_3\n"); - printf("Test_TC_DLRK_2_4\n"); - printf("Test_TC_DLRK_2_5\n"); - printf("Test_TC_DLRK_2_7\n"); - printf("Test_TC_DLRK_2_9\n"); + printf("Test_TC_DRLK_2_2\n"); + printf("Test_TC_DRLK_2_3\n"); + printf("Test_TC_DRLK_2_4\n"); + printf("Test_TC_DRLK_2_5\n"); + printf("Test_TC_DRLK_2_7\n"); + printf("Test_TC_DRLK_2_9\n"); printf("TestGroupMessaging\n"); printf("TestGroupsCluster\n"); printf("TestGroupKeyManagementCluster\n"); @@ -494,11 +494,14 @@ class ManualTestList : public Command printf("Test_TC_CC_9_1\n"); printf("Test_TC_CC_9_2\n"); printf("Test_TC_CC_9_3\n"); - printf("Test_TC_DLRK_1_1\n"); - printf("Test_TC_DLRK_2_1\n"); - printf("Test_TC_DLRK_2_6\n"); - printf("Test_TC_DLRK_2_8\n"); - printf("Test_TC_DLRK_2_10\n"); + printf("Test_TC_DRLK_1_1\n"); + printf("Test_TC_DRLK_2_1\n"); + printf("Test_TC_DRLK_2_6\n"); + printf("Test_TC_DRLK_2_8\n"); + printf("Test_TC_DRLK_2_10\n"); + printf("Test_TC_DRLK_3_1\n"); + printf("Test_TC_DRLK_3_2\n"); + printf("Test_TC_DRLK_3_3\n"); printf("Test_TC_LCFG_1_1\n"); printf("Test_TC_LCFG_2_1\n"); printf("Test_TC_LCFG_3_1\n"); @@ -540,7 +543,7 @@ class ManualTestList : public Command printf("Test_TC_UL_3_1\n"); printf("Test_TC_FLABEL_1_1\n"); printf("Test_TC_FLABEL_2_1\n"); - printf("Test_TC_FLABEL_2_2\n"); + printf("Test_TC_FLABEL_3_1\n"); printf("Test_TC_BIND_1_1\n"); printf("Test_TC_BIND_2_1\n"); printf("Test_TC_BIND_2_2\n"); @@ -9846,10 +9849,6 @@ class Test_TC_BINFO_2_1Suite : public TestCommand shouldContinue = true; break; case 12: - if (IsUnsupported(status.mStatus)) - { - return; - } VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::CharSpan value; @@ -9863,10 +9862,6 @@ class Test_TC_BINFO_2_1Suite : public TestCommand shouldContinue = true; break; case 14: - if (IsUnsupported(status.mStatus)) - { - return; - } VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::CharSpan value; @@ -9876,10 +9871,6 @@ class Test_TC_BINFO_2_1Suite : public TestCommand } break; case 15: - if (IsUnsupported(status.mStatus)) - { - return; - } VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::CharSpan value; @@ -9889,10 +9880,6 @@ class Test_TC_BINFO_2_1Suite : public TestCommand } break; case 16: - if (IsUnsupported(status.mStatus)) - { - return; - } VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { bool value; @@ -9901,10 +9888,6 @@ class Test_TC_BINFO_2_1Suite : public TestCommand } break; case 17: - if (IsUnsupported(status.mStatus)) - { - return; - } VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { bool value; @@ -9913,10 +9896,6 @@ class Test_TC_BINFO_2_1Suite : public TestCommand } break; case 18: - if (IsUnsupported(status.mStatus)) - { - return; - } VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::CharSpan value; @@ -9949,52 +9928,61 @@ class Test_TC_BINFO_2_1Suite : public TestCommand } case 1: { LogStep(1, "Query Data Model Revision"); + VerifyOrDo(!ShouldSkip("BINFO.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), Basic::Id, Basic::Attributes::DataModelRevision::Id, true, chip::NullOptional); } case 2: { LogStep(2, "Query Vendor Name"); + VerifyOrDo(!ShouldSkip("BINFO.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), Basic::Id, Basic::Attributes::VendorName::Id, true, chip::NullOptional); } case 3: { LogStep(3, "Query VendorID"); + VerifyOrDo(!ShouldSkip("BINFO.S.A0002"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), Basic::Id, Basic::Attributes::VendorID::Id, true, chip::NullOptional); } case 4: { LogStep(4, "Query Product Name"); + VerifyOrDo(!ShouldSkip("BINFO.S.A0003"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), Basic::Id, Basic::Attributes::ProductName::Id, true, chip::NullOptional); } case 5: { LogStep(5, "Query ProductID"); + VerifyOrDo(!ShouldSkip("BINFO.S.A0004"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), Basic::Id, Basic::Attributes::ProductID::Id, true, chip::NullOptional); } case 6: { LogStep(6, "Query Node Label"); + VerifyOrDo(!ShouldSkip("BINFO.S.A0005"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), Basic::Id, Basic::Attributes::NodeLabel::Id, true, chip::NullOptional); } case 7: { LogStep(7, "Query User Location"); + VerifyOrDo(!ShouldSkip("BINFO.S.A0006"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), Basic::Id, Basic::Attributes::Location::Id, true, chip::NullOptional); } case 8: { LogStep(8, "Query HardwareVersion"); + VerifyOrDo(!ShouldSkip("BINFO.S.A0007"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), Basic::Id, Basic::Attributes::HardwareVersion::Id, true, chip::NullOptional); } case 9: { LogStep(9, "Query HardwareVersionString"); + VerifyOrDo(!ShouldSkip("BINFO.S.A0008"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), Basic::Id, Basic::Attributes::HardwareVersionString::Id, true, chip::NullOptional); } case 10: { LogStep(10, "TH reads SoftwareVersionString from the DUT and Verify it is of type string and verify the format"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && BINFO.S.A000a"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); @@ -10004,7 +9992,7 @@ class Test_TC_BINFO_2_1Suite : public TestCommand } case 11: { LogStep(11, "TH reads ManufacturingDate from the DUT and Verify it is of type string and verify the format"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && BINFO.S.A000b"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); @@ -10014,13 +10002,13 @@ class Test_TC_BINFO_2_1Suite : public TestCommand } case 12: { LogStep(12, "Query PartNumber"); - VerifyOrDo(!ShouldSkip("PART_NUM"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("BINFO.S.A000c"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), Basic::Id, Basic::Attributes::PartNumber::Id, true, chip::NullOptional); } case 13: { LogStep(13, "TH reads ProductURL from the DUT and Verify it is of type string and verify the format"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && BINFO.S.A000d"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); @@ -10030,26 +10018,31 @@ class Test_TC_BINFO_2_1Suite : public TestCommand } case 14: { LogStep(14, "Query ProductLabel"); + VerifyOrDo(!ShouldSkip("BINFO.S.A000e"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), Basic::Id, Basic::Attributes::ProductLabel::Id, true, chip::NullOptional); } case 15: { LogStep(15, "Query SerialNumber"); + VerifyOrDo(!ShouldSkip("BINFO.S.A000f"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), Basic::Id, Basic::Attributes::SerialNumber::Id, true, chip::NullOptional); } case 16: { LogStep(16, "Query LocalConfigDisabled"); + VerifyOrDo(!ShouldSkip("BINFO.S.A0010"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), Basic::Id, Basic::Attributes::LocalConfigDisabled::Id, true, chip::NullOptional); } case 17: { LogStep(17, "Query Reachable"); + VerifyOrDo(!ShouldSkip("BINFO.S.A0011"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), Basic::Id, Basic::Attributes::Reachable::Id, true, chip::NullOptional); } case 18: { LogStep(18, "Query UniqueID"); + VerifyOrDo(!ShouldSkip("BINFO.S.A0012"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), Basic::Id, Basic::Attributes::UniqueID::Id, true, chip::NullOptional); } @@ -12934,26 +12927,31 @@ class Test_TC_ILL_2_1Suite : public TestCommand } case 1: { LogStep(1, "TH reads MeasuredValue attribute from DUT"); + VerifyOrDo(!ShouldSkip("ILL.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), IlluminanceMeasurement::Id, IlluminanceMeasurement::Attributes::MeasuredValue::Id, true, chip::NullOptional); } case 2: { LogStep(2, "TH reads MinMeasuredValue attribute from DUT"); + VerifyOrDo(!ShouldSkip("ILL.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), IlluminanceMeasurement::Id, IlluminanceMeasurement::Attributes::MinMeasuredValue::Id, true, chip::NullOptional); } case 3: { LogStep(3, "TH reads MaxMeasuredValue attribute from DUT"); + VerifyOrDo(!ShouldSkip("ILL.S.A0002"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), IlluminanceMeasurement::Id, IlluminanceMeasurement::Attributes::MaxMeasuredValue::Id, true, chip::NullOptional); } case 4: { LogStep(4, "TH reads Tolerance attribute from DUT"); + VerifyOrDo(!ShouldSkip("ILL.S.A0003"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), IlluminanceMeasurement::Id, IlluminanceMeasurement::Attributes::Tolerance::Id, true, chip::NullOptional); } case 5: { LogStep(5, "TH reads LightSensorType attribute from DUT"); + VerifyOrDo(!ShouldSkip("ILL.S.A0004"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), IlluminanceMeasurement::Id, IlluminanceMeasurement::Attributes::LightSensorType::Id, true, chip::NullOptional); } @@ -22124,10 +22122,6 @@ class Test_TC_OO_2_1Suite : public TestCommand } break; case 2: - if (IsUnsupported(status.mStatus)) - { - return; - } VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { bool value; @@ -22136,10 +22130,14 @@ class Test_TC_OO_2_1Suite : public TestCommand } break; case 3: - if (IsUnsupported(status.mStatus)) + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { - return; + uint16_t value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "", "uint16")); } + break; + case 4: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { uint16_t value; @@ -22147,244 +22145,228 @@ class Test_TC_OO_2_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "", "uint16")); } break; - case 4: - if (IsUnsupported(status.mStatus)) + case 5: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { - return; + chip::app::DataModel::Nullable value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "", "enum8")); } + break; + 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) + { + case 0: { + LogStep(0, "Wait for the commissioned device to be retrieved"); + ListFreer listFreer; + chip::app::Clusters::DelayCommands::Commands::WaitForCommissionee::Type value; + value.nodeId = mNodeId.HasValue() ? mNodeId.Value() : 305414945ULL; + return WaitForCommissionee(kIdentityAlpha, value); + } + case 1: { + LogStep(1, "read the mandatory attribute: OnOff"); + VerifyOrDo(!ShouldSkip("OO.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OnOff::Id, OnOff::Attributes::OnOff::Id, true, chip::NullOptional); + } + case 2: { + LogStep(2, "read LT attribute: GlobalSceneControl"); + VerifyOrDo(!ShouldSkip("OO.S.A4000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OnOff::Id, OnOff::Attributes::GlobalSceneControl::Id, true, + chip::NullOptional); + } + case 3: { + LogStep(3, "read LT attribute: OnTime"); + VerifyOrDo(!ShouldSkip("OO.S.A4001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OnOff::Id, OnOff::Attributes::OnTime::Id, true, + chip::NullOptional); + } + case 4: { + LogStep(4, "read LT attribute: OffWaitTime"); + VerifyOrDo(!ShouldSkip("OO.S.A4002"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OnOff::Id, OnOff::Attributes::OffWaitTime::Id, true, + chip::NullOptional); + } + case 5: { + LogStep(5, "read LT attribute: StartUpOnOff"); + VerifyOrDo(!ShouldSkip("OO.S.A4003"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OnOff::Id, OnOff::Attributes::StartUpOnOff::Id, true, + chip::NullOptional); + } + } + return CHIP_NO_ERROR; + } +}; + +class Test_TC_OO_2_2Suite : public TestCommand +{ +public: + Test_TC_OO_2_2Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_OO_2_2", 23, credsIssuerConfig) + { + AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); + AddArgument("cluster", &mCluster); + AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); + AddArgument("timeout", 0, UINT16_MAX, &mTimeout); + } + + ~Test_TC_OO_2_2Suite() {} + + chip::System::Clock::Timeout GetWaitDuration() const override + { + return chip::System::Clock::Seconds16(mTimeout.ValueOr(kTimeoutInSeconds)); + } + +private: + chip::Optional mNodeId; + chip::Optional mCluster; + chip::Optional mEndpoint; + chip::Optional mTimeout; + + chip::EndpointId GetEndpoint(chip::EndpointId endpoint) { return mEndpoint.HasValue() ? mEndpoint.Value() : endpoint; } + + // + // Tests methods + // + + void OnResponse(const chip::app::StatusIB & status, chip::TLV::TLVReader * data) override + { + bool shouldContinue = false; + + switch (mTestIndex - 1) + { + case 0: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + case 1: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 2: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { - uint16_t value; + bool value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "", "uint16")); + VerifyOrReturn(CheckValue("onOff", value, 0)); + } + break; + case 3: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 4: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + bool value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckValue("onOff", value, 1)); } break; case 5: - if (IsUnsupported(status.mStatus)) + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 6: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { - return; + bool value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckValue("onOff", value, 1)); + } + break; + case 7: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 8: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + bool value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckValue("onOff", value, 0)); } + break; + case 9: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 10: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { - chip::app::DataModel::Nullable value; + bool value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "", "enum8")); - } - break; - 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) - { - case 0: { - LogStep(0, "Wait for the commissioned device to be retrieved"); - ListFreer listFreer; - chip::app::Clusters::DelayCommands::Commands::WaitForCommissionee::Type value; - value.nodeId = mNodeId.HasValue() ? mNodeId.Value() : 305414945ULL; - return WaitForCommissionee(kIdentityAlpha, value); - } - case 1: { - LogStep(1, "read the mandatory attribute: OnOff"); - VerifyOrDo(!ShouldSkip("OO.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OnOff::Id, OnOff::Attributes::OnOff::Id, true, chip::NullOptional); - } - case 2: { - LogStep(2, "read LT attribute: GlobalSceneControl"); - VerifyOrDo(!ShouldSkip("OO.S.A4000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OnOff::Id, OnOff::Attributes::GlobalSceneControl::Id, true, - chip::NullOptional); - } - case 3: { - LogStep(3, "read LT attribute: OnTime"); - VerifyOrDo(!ShouldSkip("OO.S.A4001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OnOff::Id, OnOff::Attributes::OnTime::Id, true, - chip::NullOptional); - } - case 4: { - LogStep(4, "read LT attribute: OffWaitTime"); - VerifyOrDo(!ShouldSkip("OO.S.A4002"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OnOff::Id, OnOff::Attributes::OffWaitTime::Id, true, - chip::NullOptional); - } - case 5: { - LogStep(5, "read LT attribute: StartUpOnOff"); - VerifyOrDo(!ShouldSkip("OO.S.A4003"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OnOff::Id, OnOff::Attributes::StartUpOnOff::Id, true, - chip::NullOptional); - } - } - return CHIP_NO_ERROR; - } -}; - -class Test_TC_OO_2_2Suite : public TestCommand -{ -public: - Test_TC_OO_2_2Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_OO_2_2", 23, credsIssuerConfig) - { - AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); - AddArgument("cluster", &mCluster); - AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); - AddArgument("timeout", 0, UINT16_MAX, &mTimeout); - } - - ~Test_TC_OO_2_2Suite() {} - - chip::System::Clock::Timeout GetWaitDuration() const override - { - return chip::System::Clock::Seconds16(mTimeout.ValueOr(kTimeoutInSeconds)); - } - -private: - chip::Optional mNodeId; - chip::Optional mCluster; - chip::Optional mEndpoint; - chip::Optional mTimeout; - - chip::EndpointId GetEndpoint(chip::EndpointId endpoint) { return mEndpoint.HasValue() ? mEndpoint.Value() : endpoint; } - - // - // Tests methods - // - - void OnResponse(const chip::app::StatusIB & status, chip::TLV::TLVReader * data) override - { - bool shouldContinue = false; - - switch (mTestIndex - 1) - { - case 0: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; - break; - case 1: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 2: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - bool value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckValue("onOff", value, 0)); - } - break; - case 3: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 4: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - bool value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckValue("onOff", value, 1)); - } - break; - case 5: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 6: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - bool value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckValue("onOff", value, 1)); - } - break; - case 7: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 8: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - bool value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckValue("onOff", value, 0)); - } - break; - case 9: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 10: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - bool value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckValue("onOff", value, 0)); - } - break; - case 11: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 12: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; - break; - case 13: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - bool value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckValue("onOff", value, 1)); - } - break; - case 14: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 15: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; - break; - case 16: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - bool value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckValue("onOff", value, 0)); - } - break; - case 17: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; - break; - case 18: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - bool value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckValue("onOff", value, 1)); - } - break; - case 19: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; - break; - case 20: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - bool value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckValue("onOff", value, 0)); - } - break; - case 21: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 22: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - bool value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckValue("onOff", value, 0)); + VerifyOrReturn(CheckValue("onOff", value, 0)); + } + break; + case 11: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 12: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + case 13: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + bool value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckValue("onOff", value, 1)); + } + break; + case 14: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 15: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + case 16: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + bool value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckValue("onOff", value, 0)); + } + break; + case 17: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + case 18: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + bool value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckValue("onOff", value, 1)); + } + break; + case 19: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + case 20: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + bool value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckValue("onOff", value, 0)); + } + break; + case 21: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 22: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + bool value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckValue("onOff", value, 0)); } break; default: @@ -25782,10 +25764,6 @@ class Test_TC_RH_2_1Suite : public TestCommand } break; case 4: - if (IsUnsupported(status.mStatus)) - { - return; - } VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { uint16_t value; @@ -30320,7 +30298,7 @@ class Test_TC_DIAG_TH_NW_2_1Suite : public TestCommand { public: Test_TC_DIAG_TH_NW_2_1Suite(CredentialIssuerCommands * credsIssuerConfig) : - TestCommand("Test_TC_DIAG_TH_NW_2_1", 68, credsIssuerConfig) + TestCommand("Test_TC_DIAG_TH_NW_2_1", 34, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -30358,14 +30336,6 @@ class Test_TC_DIAG_TH_NW_2_1Suite : public TestCommand shouldContinue = true; break; case 1: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::Nullable value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckValueNull("channel", value)); - } - break; - case 2: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -30373,15 +30343,7 @@ class Test_TC_DIAG_TH_NW_2_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "", "uint16")); } break; - case 3: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::Nullable value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckValueNull("routingRole", value)); - } - break; - case 4: + case 2: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -30391,19 +30353,19 @@ class Test_TC_DIAG_TH_NW_2_1Suite : public TestCommand VerifyOrReturn(CheckConstraintMaxValue("value", value, 6U)); } break; - case 5: + case 3: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckValueNull("networkName", value)); + VerifyOrReturn(CheckConstraintType("value", "", "string")); } break; - case 6: + case 4: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; - case 7: + case 5: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -30411,11 +30373,11 @@ class Test_TC_DIAG_TH_NW_2_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "", "uint16")); } break; - case 8: + case 6: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; - case 9: + case 7: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -30423,15 +30385,15 @@ class Test_TC_DIAG_TH_NW_2_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "", "uint64")); } break; - case 10: + case 8: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; - case 11: + case 9: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; - case 12: + case 10: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { uint64_t value; @@ -30439,19 +30401,19 @@ class Test_TC_DIAG_TH_NW_2_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "", "uint64")); } break; - case 13: + case 11: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; - case 14: + case 12: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; - case 15: + case 13: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; - case 16: + case 14: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -30459,7 +30421,7 @@ class Test_TC_DIAG_TH_NW_2_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "", "uint32")); } break; - case 17: + case 15: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -30467,7 +30429,7 @@ class Test_TC_DIAG_TH_NW_2_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "", "uint8")); } break; - case 18: + case 16: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -30475,7 +30437,7 @@ class Test_TC_DIAG_TH_NW_2_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "", "uint8")); } break; - case 19: + case 17: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -30483,7 +30445,7 @@ class Test_TC_DIAG_TH_NW_2_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "", "uint8")); } break; - case 20: + case 18: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -30491,6 +30453,22 @@ class Test_TC_DIAG_TH_NW_2_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "", "uint8")); } break; + case 19: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + uint16_t value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "", "uint16")); + } + break; + case 20: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + uint16_t value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "", "uint16")); + } + break; case 21: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { @@ -30540,278 +30518,6 @@ class Test_TC_DIAG_TH_NW_2_1Suite : public TestCommand } break; case 27: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - uint16_t value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "", "uint16")); - } - break; - case 28: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - uint16_t value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "", "uint16")); - } - break; - case 29: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - uint32_t value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "", "uint32")); - } - break; - case 30: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - uint32_t value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "", "uint32")); - } - break; - case 31: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - uint32_t value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "", "uint32")); - } - break; - case 32: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - uint32_t value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "", "uint32")); - } - break; - case 33: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - uint32_t value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "", "uint32")); - } - break; - case 34: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - uint32_t value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "", "uint32")); - } - break; - case 35: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - uint32_t value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "", "uint32")); - } - break; - case 36: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - uint32_t value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "", "uint32")); - } - break; - case 37: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - uint32_t value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "", "uint32")); - } - break; - case 38: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - uint32_t value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "", "uint32")); - } - break; - case 39: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - uint32_t value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "", "uint32")); - } - break; - case 40: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - uint32_t value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "", "uint32")); - } - break; - case 41: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - uint32_t value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "", "uint32")); - } - break; - case 42: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - uint32_t value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "", "uint32")); - } - break; - case 43: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - uint32_t value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "", "uint32")); - } - break; - case 44: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - uint32_t value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "", "uint32")); - } - break; - case 45: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - uint32_t value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "", "uint32")); - } - break; - case 46: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - uint32_t value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "", "uint32")); - } - break; - case 47: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - uint32_t value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "", "uint32")); - } - break; - case 48: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - uint32_t value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "", "uint32")); - } - break; - case 49: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - uint32_t value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "", "uint32")); - } - break; - case 50: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - uint32_t value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "", "uint32")); - } - break; - case 51: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - uint32_t value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "", "uint32")); - } - break; - case 52: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - uint32_t value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "", "uint32")); - } - break; - case 53: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - uint32_t value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "", "uint32")); - } - break; - case 54: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - uint32_t value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "", "uint32")); - } - break; - case 55: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - uint32_t value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "", "uint32")); - } - break; - case 56: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - uint32_t value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "", "uint32")); - } - break; - case 57: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - uint32_t value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "", "uint32")); - } - break; - case 58: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - uint32_t value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "", "uint32")); - } - break; - case 59: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - uint32_t value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "", "uint32")); - } - break; - case 60: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - uint32_t value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "", "uint32")); - } - break; - case 61: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -30819,7 +30525,7 @@ class Test_TC_DIAG_TH_NW_2_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "", "uint64")); } break; - case 62: + case 28: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -30827,7 +30533,7 @@ class Test_TC_DIAG_TH_NW_2_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "", "uint64")); } break; - case 63: + case 29: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -30835,11 +30541,11 @@ class Test_TC_DIAG_TH_NW_2_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "", "uint32")); } break; - case 64: + case 30: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; - case 65: + case 31: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -30847,11 +30553,11 @@ class Test_TC_DIAG_TH_NW_2_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "", "octstr")); } break; - case 66: + case 32: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; - case 67: + case 33: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -30882,35 +30588,28 @@ class Test_TC_DIAG_TH_NW_2_1Suite : public TestCommand return WaitForCommissionee(kIdentityAlpha, value); } case 1: { - LogStep(1, "read configured Channel attribute value"); + LogStep(1, "TH reads Channel attribute value from DUT"); + VerifyOrDo(!ShouldSkip("DGTHREAD.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), ThreadNetworkDiagnostics::Id, ThreadNetworkDiagnostics::Attributes::Channel::Id, true, chip::NullOptional); } case 2: { - LogStep(2, "Validate constraints of attribute: Channel"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), ThreadNetworkDiagnostics::Id, - ThreadNetworkDiagnostics::Attributes::Channel::Id, true, chip::NullOptional); - } - case 3: { - LogStep(3, "read RoutingRole atribute from DUT"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), ThreadNetworkDiagnostics::Id, - ThreadNetworkDiagnostics::Attributes::RoutingRole::Id, true, chip::NullOptional); - } - case 4: { - LogStep(4, "Validate constraints of attribute: RoutingRole"); + LogStep(2, "TH reads RoutingRole attribute value from DUT"); + VerifyOrDo(!ShouldSkip("DGTHREAD.S.A0002"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), ThreadNetworkDiagnostics::Id, ThreadNetworkDiagnostics::Attributes::RoutingRole::Id, true, chip::NullOptional); } - case 5: { - LogStep(5, "read NetworkName attribute from DUT"); + case 3: { + LogStep(3, "TH reads Network Name attribute value from DUT"); + VerifyOrDo(!ShouldSkip("DGTHREAD.S.A0003"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), ThreadNetworkDiagnostics::Id, ThreadNetworkDiagnostics::Attributes::NetworkName::Id, true, chip::NullOptional); } - case 6: { - LogStep(6, - "read NetworkName attribute from DUT and verify response value, If value is NULL then verify that RoutingRole " + case 4: { + LogStep(4, + "Read NetworkName attribute from DUT and verify response value, If value is NULL then verify that RoutingRole " "is set to 1"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && DGTHREAD.S.A0002"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); @@ -30918,16 +30617,17 @@ class Test_TC_DIAG_TH_NW_2_1Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 7: { - LogStep(7, "read PanId attribute from DUT"); + case 5: { + LogStep(5, "TH reads PanId attribute value from DUT"); + VerifyOrDo(!ShouldSkip("DGTHREAD.S.A0004"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), ThreadNetworkDiagnostics::Id, ThreadNetworkDiagnostics::Attributes::PanId::Id, true, chip::NullOptional); } - case 8: { - LogStep(8, - "read PanId attribute from DUT and verify response value, If value is NULL then verify that RoutingRole is set " + case 6: { + LogStep(6, + "Read PanId attribute from DUT and verify response value, If value is NULL then verify that RoutingRole is set " "to 1"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && DGTHREAD.S.A0002"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); @@ -30935,16 +30635,17 @@ class Test_TC_DIAG_TH_NW_2_1Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 9: { - LogStep(9, "Validate constraints of attribute: ExtendedPanId"); + case 7: { + LogStep(7, "TH reads ExtendedPanId attribute value from DUT"); + VerifyOrDo(!ShouldSkip("DGTHREAD.S.A0005"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), ThreadNetworkDiagnostics::Id, ThreadNetworkDiagnostics::Attributes::ExtendedPanId::Id, true, chip::NullOptional); } - case 10: { - LogStep(10, - "read ExtendedPanId attribute from DUT and verify response value, If value is NULL then verify that " + case 8: { + LogStep(8, + "Read ExtendedPanId attribute from DUT and verify response value, If value is NULL then verify that " "RoutingRole is set to 1"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && DGTHREAD.S.A0002"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); @@ -30952,11 +30653,11 @@ class Test_TC_DIAG_TH_NW_2_1Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 11: { - LogStep(11, - "read MeshLocalPrefix attribute from DUT and verify response value, If value is NULL then verify that " + case 9: { + LogStep(9, + "Read MeshLocalPrefix attribute from DUT and verify response value, If value is NULL then verify that " "RoutingRole is set to 1"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && DGTHREAD.S.A0002"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); @@ -30964,16 +30665,17 @@ class Test_TC_DIAG_TH_NW_2_1Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 12: { - LogStep(12, "Validate constraints of attribute: OverrunCount"); + case 10: { + LogStep(10, "TH reads OverrunCount attribute value from DUT"); + VerifyOrDo(!ShouldSkip("DGTHREAD.S.A0007"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), ThreadNetworkDiagnostics::Id, ThreadNetworkDiagnostics::Attributes::OverrunCount::Id, true, chip::NullOptional); } - case 13: { + case 11: { LogStep( - 13, + 11, "read OverrunCount attribute from DUT and verify response value, If the Overruncount is greater than zero or not"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && DGTHREAD.S.A0007"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); @@ -30981,11 +30683,11 @@ class Test_TC_DIAG_TH_NW_2_1Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 14: { - LogStep(14, + case 12: { + LogStep(12, "read NeighborTableList attribute from DUT and Verify that the NeighborTable List size is Zero or greater and " "verify each node types"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && DGTHREAD.S.A0008"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); @@ -30993,11 +30695,11 @@ class Test_TC_DIAG_TH_NW_2_1Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 15: { - LogStep(15, - "read RouteTableList attribute from DUT and Verify that the RouteTableList List size is Zero or greater and " + case 13: { + LogStep(13, + "Read RouteTableList attribute from DUT and Verify that the RouteTableList List size is Zero or greater and " "verify each node types"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && DGTHREAD.S.A0009"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); @@ -31005,250 +30707,106 @@ class Test_TC_DIAG_TH_NW_2_1Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 16: { - LogStep(16, "Validate constraints of attribute: PartitionId"); + case 14: { + LogStep(14, "TH reads PartitionId attribute value from DUT"); + VerifyOrDo(!ShouldSkip("DGTHREAD.S.A000a"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), ThreadNetworkDiagnostics::Id, ThreadNetworkDiagnostics::Attributes::PartitionId::Id, true, chip::NullOptional); } - case 17: { - LogStep(17, "Validate constraints of attribute: weighting"); + case 15: { + LogStep(15, "TH reads Weighting attribute value from DUT"); + VerifyOrDo(!ShouldSkip("DGTHREAD.S.A000b"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), ThreadNetworkDiagnostics::Id, ThreadNetworkDiagnostics::Attributes::Weighting::Id, true, chip::NullOptional); } - case 18: { - LogStep(18, "Validate constraints of attribute: DataVersion"); + case 16: { + LogStep(16, "TH reads DataVersion attribute value from DUT"); + VerifyOrDo(!ShouldSkip("DGTHREAD.S.A000c"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), ThreadNetworkDiagnostics::Id, ThreadNetworkDiagnostics::Attributes::DataVersion::Id, true, chip::NullOptional); } - case 19: { - LogStep(19, "Validate constraints of attribute: StableDataVersion"); + case 17: { + LogStep(17, "TH reads StableDataVersion attribute value from DUT"); + VerifyOrDo(!ShouldSkip("DGTHREAD.S.A000d"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), ThreadNetworkDiagnostics::Id, ThreadNetworkDiagnostics::Attributes::StableDataVersion::Id, true, chip::NullOptional); } - case 20: { - LogStep(20, "Validate constraints of attribute: LeaderRouterId"); + case 18: { + LogStep(18, "TH reads LeaderRouterId attribute value from DUT"); + VerifyOrDo(!ShouldSkip("DGTHREAD.S.A000e"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), ThreadNetworkDiagnostics::Id, ThreadNetworkDiagnostics::Attributes::LeaderRouterId::Id, true, chip::NullOptional); } - case 21: { - LogStep(21, "Validate constraints of attribute: DetachedRoleCount"); + case 19: { + LogStep(19, "TH reads DetachedRoleCount attribute value from DUT"); + VerifyOrDo(!ShouldSkip("DGTHREAD.S.A000f"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), ThreadNetworkDiagnostics::Id, ThreadNetworkDiagnostics::Attributes::DetachedRoleCount::Id, true, chip::NullOptional); } - case 22: { - LogStep(22, "Validate constraints of attribute: ChildRoleCount"); + case 20: { + LogStep(20, "TH reads ChildRoleCount attribute value from DUT"); + VerifyOrDo(!ShouldSkip("DGTHREAD.S.A0010"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), ThreadNetworkDiagnostics::Id, ThreadNetworkDiagnostics::Attributes::ChildRoleCount::Id, true, chip::NullOptional); } - case 23: { - LogStep(23, "Validate constraints of attribute: RouterRoleCount"); + case 21: { + LogStep(21, "TH reads RouterRoleCount attribute value from DUT"); + VerifyOrDo(!ShouldSkip("DGTHREAD.S.A0011"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), ThreadNetworkDiagnostics::Id, ThreadNetworkDiagnostics::Attributes::RouterRoleCount::Id, true, chip::NullOptional); } - case 24: { - LogStep(24, "Validate constraints of attribute: LeaderRoleCount"); + case 22: { + LogStep(22, "TH reads LeaderRoleCount attribute value from DUT"); + VerifyOrDo(!ShouldSkip("DGTHREAD.S.A0012"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), ThreadNetworkDiagnostics::Id, ThreadNetworkDiagnostics::Attributes::LeaderRoleCount::Id, true, chip::NullOptional); } - case 25: { - LogStep(25, "Validate constraints of attribute: AttachAttemptCount"); + case 23: { + LogStep(23, "TH reads AttachAttemptCount attribute value from DUT"); + VerifyOrDo(!ShouldSkip("DGTHREAD.S.A0013"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), ThreadNetworkDiagnostics::Id, ThreadNetworkDiagnostics::Attributes::AttachAttemptCount::Id, true, chip::NullOptional); } - case 26: { - LogStep(26, "Validate constraints of attribute: PartitionIdChangeCount"); + case 24: { + LogStep(24, "TH reads PartitionIdChangeCount attribute value from DUT"); + VerifyOrDo(!ShouldSkip("DGTHREAD.S.A0014"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), ThreadNetworkDiagnostics::Id, ThreadNetworkDiagnostics::Attributes::PartitionIdChangeCount::Id, true, chip::NullOptional); } - case 27: { - LogStep(27, "Validate constraints of attribute: BetterPartitionAttachAttemptCount"); + case 25: { + LogStep(25, "TH reads BetterPartitionAttachAttemptCount attribute value from DUT"); + VerifyOrDo(!ShouldSkip("DGTHREAD.S.A0015"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), ThreadNetworkDiagnostics::Id, ThreadNetworkDiagnostics::Attributes::BetterPartitionAttachAttemptCount::Id, true, chip::NullOptional); } - case 28: { - LogStep(28, "Validate constraints of attribute: ParentChangeCount"); + case 26: { + LogStep(26, "TH reads ParentChangeCount attribute value from DUT"); + VerifyOrDo(!ShouldSkip("DGTHREAD.S.A0016"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), ThreadNetworkDiagnostics::Id, ThreadNetworkDiagnostics::Attributes::ParentChangeCount::Id, true, chip::NullOptional); } - case 29: { - LogStep(29, "Validate constraints of attribute: TxTotalCount"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), ThreadNetworkDiagnostics::Id, - ThreadNetworkDiagnostics::Attributes::TxTotalCount::Id, true, chip::NullOptional); - } - case 30: { - LogStep(30, "Validate constraints of attribute: TxUnicastCount"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), ThreadNetworkDiagnostics::Id, - ThreadNetworkDiagnostics::Attributes::TxUnicastCount::Id, true, chip::NullOptional); - } - case 31: { - LogStep(31, "Validate constraints of attribute: TxBroadcastCount"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), ThreadNetworkDiagnostics::Id, - ThreadNetworkDiagnostics::Attributes::TxBroadcastCount::Id, true, chip::NullOptional); - } - case 32: { - LogStep(32, "Validate constraints of attribute: TxNoAckRequestedCount"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), ThreadNetworkDiagnostics::Id, - ThreadNetworkDiagnostics::Attributes::TxNoAckRequestedCount::Id, true, chip::NullOptional); - } - case 33: { - LogStep(33, "Validate constraints of attribute: TxDataCount"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), ThreadNetworkDiagnostics::Id, - ThreadNetworkDiagnostics::Attributes::TxDataCount::Id, true, chip::NullOptional); - } - case 34: { - LogStep(34, "Validate constraints of attribute: TxDataPollCount"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), ThreadNetworkDiagnostics::Id, - ThreadNetworkDiagnostics::Attributes::TxDataPollCount::Id, true, chip::NullOptional); - } - case 35: { - LogStep(35, "Validate constraints of attribute: TxBeaconCount"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), ThreadNetworkDiagnostics::Id, - ThreadNetworkDiagnostics::Attributes::TxBeaconCount::Id, true, chip::NullOptional); - } - case 36: { - LogStep(36, "Validate constraints of attribute: TxBeaconRequestCount"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), ThreadNetworkDiagnostics::Id, - ThreadNetworkDiagnostics::Attributes::TxBeaconRequestCount::Id, true, chip::NullOptional); - } - case 37: { - LogStep(37, "Validate constraints of attribute: TxOtherCount"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), ThreadNetworkDiagnostics::Id, - ThreadNetworkDiagnostics::Attributes::TxOtherCount::Id, true, chip::NullOptional); - } - case 38: { - LogStep(38, "Validate constraints of attribute: TxRetryCount"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), ThreadNetworkDiagnostics::Id, - ThreadNetworkDiagnostics::Attributes::TxRetryCount::Id, true, chip::NullOptional); - } - case 39: { - LogStep(39, "Validate constraints of attribute: TxDirectMaxRetryExpiryCount"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), ThreadNetworkDiagnostics::Id, - ThreadNetworkDiagnostics::Attributes::TxDirectMaxRetryExpiryCount::Id, true, chip::NullOptional); - } - case 40: { - LogStep(40, "Validate constraints of attribute: TxIndirectMaxRetryExpiryCount"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), ThreadNetworkDiagnostics::Id, - ThreadNetworkDiagnostics::Attributes::TxIndirectMaxRetryExpiryCount::Id, true, chip::NullOptional); - } - case 41: { - LogStep(41, "Validate constraints of attribute: TxErrCcaCount"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), ThreadNetworkDiagnostics::Id, - ThreadNetworkDiagnostics::Attributes::TxErrCcaCount::Id, true, chip::NullOptional); - } - case 42: { - LogStep(42, "Validate constraints of attribute: TxErrAbortCount"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), ThreadNetworkDiagnostics::Id, - ThreadNetworkDiagnostics::Attributes::TxErrAbortCount::Id, true, chip::NullOptional); - } - case 43: { - LogStep(43, "Validate constraints of attribute: TxErrBusyChannelCount"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), ThreadNetworkDiagnostics::Id, - ThreadNetworkDiagnostics::Attributes::TxErrBusyChannelCount::Id, true, chip::NullOptional); - } - case 44: { - LogStep(44, "Validate constraints of attribute: RxTotalCount"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), ThreadNetworkDiagnostics::Id, - ThreadNetworkDiagnostics::Attributes::RxTotalCount::Id, true, chip::NullOptional); - } - case 45: { - LogStep(45, "Validate constraints of attribute: RxUnicastCount"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), ThreadNetworkDiagnostics::Id, - ThreadNetworkDiagnostics::Attributes::RxUnicastCount::Id, true, chip::NullOptional); - } - case 46: { - LogStep(46, "Validate constraints of attribute: RxBroadcastCount"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), ThreadNetworkDiagnostics::Id, - ThreadNetworkDiagnostics::Attributes::RxBroadcastCount::Id, true, chip::NullOptional); - } - case 47: { - LogStep(47, "Validate constraints of attribute: RxDataCount"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), ThreadNetworkDiagnostics::Id, - ThreadNetworkDiagnostics::Attributes::RxDataCount::Id, true, chip::NullOptional); - } - case 48: { - LogStep(48, "Validate constraints of attribute: RxDataPollCount"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), ThreadNetworkDiagnostics::Id, - ThreadNetworkDiagnostics::Attributes::RxDataPollCount::Id, true, chip::NullOptional); - } - case 49: { - LogStep(49, "Validate constraints of attribute: RxBeaconCount"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), ThreadNetworkDiagnostics::Id, - ThreadNetworkDiagnostics::Attributes::RxBeaconCount::Id, true, chip::NullOptional); - } - case 50: { - LogStep(50, "Validate constraints of attribute: RxBeaconRequestCount"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), ThreadNetworkDiagnostics::Id, - ThreadNetworkDiagnostics::Attributes::RxBeaconRequestCount::Id, true, chip::NullOptional); - } - case 51: { - LogStep(51, "Validate constraints of attribute: RxOtherCount"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), ThreadNetworkDiagnostics::Id, - ThreadNetworkDiagnostics::Attributes::RxOtherCount::Id, true, chip::NullOptional); - } - case 52: { - LogStep(52, "Validate constraints of attribute: RxAddressFilteredCount"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), ThreadNetworkDiagnostics::Id, - ThreadNetworkDiagnostics::Attributes::RxAddressFilteredCount::Id, true, chip::NullOptional); - } - case 53: { - LogStep(53, "Validate constraints of attribute: RxDestAddrFilteredCount"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), ThreadNetworkDiagnostics::Id, - ThreadNetworkDiagnostics::Attributes::RxDestAddrFilteredCount::Id, true, chip::NullOptional); - } - case 54: { - LogStep(54, "Validate constraints of attribute: RxDuplicatedCount"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), ThreadNetworkDiagnostics::Id, - ThreadNetworkDiagnostics::Attributes::RxDuplicatedCount::Id, true, chip::NullOptional); - } - case 55: { - LogStep(55, "Validate constraints of attribute: RxErrNoFrameCount"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), ThreadNetworkDiagnostics::Id, - ThreadNetworkDiagnostics::Attributes::RxErrNoFrameCount::Id, true, chip::NullOptional); - } - case 56: { - LogStep(56, "Validate constraints of attribute: RxErrUnknownNeighborCount"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), ThreadNetworkDiagnostics::Id, - ThreadNetworkDiagnostics::Attributes::RxErrUnknownNeighborCount::Id, true, chip::NullOptional); - } - case 57: { - LogStep(57, "Validate constraints of attribute: RxErrInvalidSrcAddrCount"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), ThreadNetworkDiagnostics::Id, - ThreadNetworkDiagnostics::Attributes::RxErrInvalidSrcAddrCount::Id, true, chip::NullOptional); - } - case 58: { - LogStep(58, "Validate constraints of attribute: RxErrInvalidSrcAddrCount"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), ThreadNetworkDiagnostics::Id, - ThreadNetworkDiagnostics::Attributes::RxErrSecCount::Id, true, chip::NullOptional); - } - case 59: { - LogStep(59, "Validate constraints of attribute: RxErrFcsCount"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), ThreadNetworkDiagnostics::Id, - ThreadNetworkDiagnostics::Attributes::RxErrFcsCount::Id, true, chip::NullOptional); - } - case 60: { - LogStep(60, "Validate constraints of attribute: RxErrOtherCount"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), ThreadNetworkDiagnostics::Id, - ThreadNetworkDiagnostics::Attributes::RxErrOtherCount::Id, true, chip::NullOptional); - } - case 61: { - LogStep(61, "Validate constraints of attribute: ActiveTimestamp"); + case 27: { + LogStep(27, "TH reads ActiveTimestamp attribute value from DUT"); + VerifyOrDo(!ShouldSkip("DGTHREAD.S.A0039"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), ThreadNetworkDiagnostics::Id, ThreadNetworkDiagnostics::Attributes::ActiveTimestamp::Id, true, chip::NullOptional); } - case 62: { - LogStep(62, "Validate constraints of attribute: PendingTimestamp"); + case 28: { + LogStep(28, "TH reads PendingTimestamp attribute value from DUT"); + VerifyOrDo(!ShouldSkip("DGTHREAD.S.A003a"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), ThreadNetworkDiagnostics::Id, ThreadNetworkDiagnostics::Attributes::PendingTimestamp::Id, true, chip::NullOptional); } - case 63: { - LogStep(63, "Validate constraints of attribute: delay"); + case 29: { + LogStep(29, "TH reads Delay attribute value from DUT"); + VerifyOrDo(!ShouldSkip("DGTHREAD.S.A003b"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), ThreadNetworkDiagnostics::Id, ThreadNetworkDiagnostics::Attributes::Delay::Id, true, chip::NullOptional); } - case 64: { - LogStep(64, "read SecurityPolicy struct attribute from DUT and Verify the each field"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + case 30: { + LogStep(30, "Read SecurityPolicy struct attribute from DUT and Verify the each field"); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && DGTHREAD.S.A003c"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); @@ -31256,14 +30814,15 @@ class Test_TC_DIAG_TH_NW_2_1Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 65: { - LogStep(65, "Validate constraints of attribute: ChannelPage0Mask"); + case 31: { + LogStep(31, "TH reads ChannelPage0Mask attribute value from DUT"); + VerifyOrDo(!ShouldSkip("DGTHREAD.S.A003d"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), ThreadNetworkDiagnostics::Id, ThreadNetworkDiagnostics::Attributes::ChannelMask::Id, true, chip::NullOptional); } - case 66: { - LogStep(66, "read OperationalDatasetComponents struct attribute from DUT and Verify the each field"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + case 32: { + LogStep(32, "Read OperationalDatasetComponents struct attribute from DUT and Verify the each field"); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && DGTHREAD.S.A003e"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); @@ -31271,9 +30830,9 @@ class Test_TC_DIAG_TH_NW_2_1Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 67: { - LogStep(67, "read ActiveNetworkFaults attribute value"); - VerifyOrDo(!ShouldSkip("PICS_SKIP_SAMPLE_APP"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + case 33: { + LogStep(33, "TH reads ActiveNetworkFaults attribute value from DUT"); + VerifyOrDo(!ShouldSkip("DGTHREAD.S.A003f"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), ThreadNetworkDiagnostics::Id, ThreadNetworkDiagnostics::Attributes::ActiveNetworkFaultsList::Id, true, chip::NullOptional); } @@ -31483,86 +31042,103 @@ class Test_TC_DIAG_TH_NW_2_2Suite : public TestCommand } case 1: { LogStep(1, "TH reads TxTotalCount attribute value from DUT"); + VerifyOrDo(!ShouldSkip("DGTHREAD.S.A0017"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), ThreadNetworkDiagnostics::Id, ThreadNetworkDiagnostics::Attributes::TxTotalCount::Id, true, chip::NullOptional); } case 2: { LogStep(2, "TH reads TxUnicastCount attribute value from DUT"); + VerifyOrDo(!ShouldSkip("DGTHREAD.S.A0018"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), ThreadNetworkDiagnostics::Id, ThreadNetworkDiagnostics::Attributes::TxUnicastCount::Id, true, chip::NullOptional); } case 3: { LogStep(3, "TH reads TxBroadcastCount attribute value from DUT"); + VerifyOrDo(!ShouldSkip("DGTHREAD.S.A0019"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), ThreadNetworkDiagnostics::Id, ThreadNetworkDiagnostics::Attributes::TxBroadcastCount::Id, true, chip::NullOptional); } case 4: { LogStep(4, "TH reads TxAckRequestedCount attribute value from DUT"); + VerifyOrDo(!ShouldSkip("DGTHREAD.S.A001a"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), ThreadNetworkDiagnostics::Id, ThreadNetworkDiagnostics::Attributes::TxAckRequestedCount::Id, true, chip::NullOptional); } case 5: { LogStep(5, "TH reads TxAckedCount attribute value from DUT"); + VerifyOrDo(!ShouldSkip("DGTHREAD.S.A001b"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), ThreadNetworkDiagnostics::Id, ThreadNetworkDiagnostics::Attributes::TxAckedCount::Id, true, chip::NullOptional); } case 6: { LogStep(6, "TH reads TxNoAckRequestedCount attribute value from DUT"); + VerifyOrDo(!ShouldSkip("DGTHREAD.S.A001c"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), ThreadNetworkDiagnostics::Id, ThreadNetworkDiagnostics::Attributes::TxNoAckRequestedCount::Id, true, chip::NullOptional); } case 7: { LogStep(7, "TH reads TxDataCount attribute value from DUT"); + VerifyOrDo(!ShouldSkip("DGTHREAD.S.A001d"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), ThreadNetworkDiagnostics::Id, ThreadNetworkDiagnostics::Attributes::TxDataCount::Id, true, chip::NullOptional); } case 8: { LogStep(8, "TH reads TxDataPollCount attribute value from DUT"); + VerifyOrDo(!ShouldSkip("DGTHREAD.S.A001e"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), ThreadNetworkDiagnostics::Id, ThreadNetworkDiagnostics::Attributes::TxDataPollCount::Id, true, chip::NullOptional); } case 9: { LogStep(9, "TH reads TxBeaconCount attribute value from DUT"); + VerifyOrDo(!ShouldSkip("DGTHREAD.S.A001f"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), ThreadNetworkDiagnostics::Id, ThreadNetworkDiagnostics::Attributes::TxBeaconCount::Id, true, chip::NullOptional); } case 10: { LogStep(10, "TH reads TxBeaconRequestCount attribute value from DUT"); + VerifyOrDo(!ShouldSkip("DGTHREAD.S.A0020"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), ThreadNetworkDiagnostics::Id, ThreadNetworkDiagnostics::Attributes::TxBeaconRequestCount::Id, true, chip::NullOptional); } case 11: { LogStep(11, "TH reads TxOtherCount attribute value from DUT"); + VerifyOrDo(!ShouldSkip("DGTHREAD.S.A0021"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), ThreadNetworkDiagnostics::Id, ThreadNetworkDiagnostics::Attributes::TxOtherCount::Id, true, chip::NullOptional); } case 12: { LogStep(12, "TH reads TxRetryCount attribute value from DUT"); + VerifyOrDo(!ShouldSkip("DGTHREAD.S.A0022"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), ThreadNetworkDiagnostics::Id, ThreadNetworkDiagnostics::Attributes::TxRetryCount::Id, true, chip::NullOptional); } case 13: { LogStep(13, "TH reads TxDirectMaxRetryExpiryCount attribute value from DUT"); + VerifyOrDo(!ShouldSkip("DGTHREAD.S.A0023"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), ThreadNetworkDiagnostics::Id, ThreadNetworkDiagnostics::Attributes::TxDirectMaxRetryExpiryCount::Id, true, chip::NullOptional); } case 14: { LogStep(14, "TH reads TxIndirectMaxRetryExpiryCount attribute value from DUT"); + VerifyOrDo(!ShouldSkip("DGTHREAD.S.A0024"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), ThreadNetworkDiagnostics::Id, ThreadNetworkDiagnostics::Attributes::TxIndirectMaxRetryExpiryCount::Id, true, chip::NullOptional); } case 15: { LogStep(15, "TH reads TxErrCcaCount attribute value from DUT"); + VerifyOrDo(!ShouldSkip("DGTHREAD.S.A0025"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), ThreadNetworkDiagnostics::Id, ThreadNetworkDiagnostics::Attributes::TxErrCcaCount::Id, true, chip::NullOptional); } case 16: { LogStep(16, "TH reads TxErrAbortCount attribute value from DUT"); + VerifyOrDo(!ShouldSkip("DGTHREAD.S.A0026"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), ThreadNetworkDiagnostics::Id, ThreadNetworkDiagnostics::Attributes::TxErrAbortCount::Id, true, chip::NullOptional); } case 17: { LogStep(17, "TH reads TxErrBusyChannelCount attribute value from DUT"); + VerifyOrDo(!ShouldSkip("DGTHREAD.S.A0027"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), ThreadNetworkDiagnostics::Id, ThreadNetworkDiagnostics::Attributes::TxErrBusyChannelCount::Id, true, chip::NullOptional); } @@ -31768,72 +31344,85 @@ class Test_TC_DIAG_TH_NW_2_3Suite : public TestCommand } case 1: { LogStep(1, "TH reads RxTotalCount attribute value from DUT"); + VerifyOrDo(!ShouldSkip("DGTHREAD.S.A0028"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), ThreadNetworkDiagnostics::Id, ThreadNetworkDiagnostics::Attributes::RxTotalCount::Id, true, chip::NullOptional); } case 2: { LogStep(2, "TH reads RxUnicastCount attribute value from DUT"); + VerifyOrDo(!ShouldSkip("DGTHREAD.S.A0029"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), ThreadNetworkDiagnostics::Id, ThreadNetworkDiagnostics::Attributes::RxUnicastCount::Id, true, chip::NullOptional); } case 3: { LogStep(3, "TH reads RxBroadcastCount attribute value from DUT"); + VerifyOrDo(!ShouldSkip("DGTHREAD.S.A002a"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), ThreadNetworkDiagnostics::Id, ThreadNetworkDiagnostics::Attributes::RxBroadcastCount::Id, true, chip::NullOptional); } case 4: { LogStep(4, "TH reads RxDataCount attribute value from DUT"); + VerifyOrDo(!ShouldSkip("DGTHREAD.S.A002b"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), ThreadNetworkDiagnostics::Id, ThreadNetworkDiagnostics::Attributes::RxDataCount::Id, true, chip::NullOptional); } case 5: { LogStep(5, "TH reads RxDataPollCount attribute value from DUT"); + VerifyOrDo(!ShouldSkip("DGTHREAD.S.A002c"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), ThreadNetworkDiagnostics::Id, ThreadNetworkDiagnostics::Attributes::RxDataPollCount::Id, true, chip::NullOptional); } case 6: { LogStep(6, "TH reads RxBeaconCount attribute value from DUT"); + VerifyOrDo(!ShouldSkip("DGTHREAD.S.A002d"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), ThreadNetworkDiagnostics::Id, ThreadNetworkDiagnostics::Attributes::RxBeaconCount::Id, true, chip::NullOptional); } case 7: { LogStep(7, "TH reads RxBeaconRequestCount attribute value from DUT"); + VerifyOrDo(!ShouldSkip("DGTHREAD.S.A002e"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), ThreadNetworkDiagnostics::Id, ThreadNetworkDiagnostics::Attributes::RxBeaconRequestCount::Id, true, chip::NullOptional); } case 8: { LogStep(8, "TH reads RxOtherCount attribute value from DUT"); + VerifyOrDo(!ShouldSkip("DGTHREAD.S.A002f"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), ThreadNetworkDiagnostics::Id, ThreadNetworkDiagnostics::Attributes::RxOtherCount::Id, true, chip::NullOptional); } case 9: { LogStep(9, "TH reads RxAddressFilteredCount attribute value from DUT"); + VerifyOrDo(!ShouldSkip("DGTHREAD.S.A0030"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), ThreadNetworkDiagnostics::Id, ThreadNetworkDiagnostics::Attributes::RxAddressFilteredCount::Id, true, chip::NullOptional); } case 10: { LogStep(10, "TH reads RxDestAddrFilteredCount attribute value from DUT"); + VerifyOrDo(!ShouldSkip("DGTHREAD.S.A0031"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), ThreadNetworkDiagnostics::Id, ThreadNetworkDiagnostics::Attributes::RxDestAddrFilteredCount::Id, true, chip::NullOptional); } case 11: { LogStep(11, "TH reads RxDuplicatedCount attribute value from DUT"); + VerifyOrDo(!ShouldSkip("DGTHREAD.S.A0032"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), ThreadNetworkDiagnostics::Id, ThreadNetworkDiagnostics::Attributes::RxDuplicatedCount::Id, true, chip::NullOptional); } case 12: { LogStep(12, "TH reads RxErrNoFrameCount attribute value from DUT"); + VerifyOrDo(!ShouldSkip("DGTHREAD.S.A0033"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), ThreadNetworkDiagnostics::Id, ThreadNetworkDiagnostics::Attributes::RxErrNoFrameCount::Id, true, chip::NullOptional); } case 13: { LogStep(13, "TH reads RxErrUnknownNeighborCount attribute value from DUT"); + VerifyOrDo(!ShouldSkip("DGTHREAD.S.A0034"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), ThreadNetworkDiagnostics::Id, ThreadNetworkDiagnostics::Attributes::RxErrUnknownNeighborCount::Id, true, chip::NullOptional); } case 14: { LogStep(14, "TH reads RxErrInvalidScrAddrCount attribute value from DUT and verify data type"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && DGTHREAD.S.A0035"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); @@ -31843,16 +31432,19 @@ class Test_TC_DIAG_TH_NW_2_3Suite : public TestCommand } case 15: { LogStep(15, "TH reads RxErrSecCount attribute value from DUT"); + VerifyOrDo(!ShouldSkip("DGTHREAD.S.A0036"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), ThreadNetworkDiagnostics::Id, ThreadNetworkDiagnostics::Attributes::RxErrSecCount::Id, true, chip::NullOptional); } case 16: { LogStep(16, "TH reads RxErrFcsCount attribute value from DUT"); + VerifyOrDo(!ShouldSkip("DGTHREAD.S.A0037"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), ThreadNetworkDiagnostics::Id, ThreadNetworkDiagnostics::Attributes::RxErrFcsCount::Id, true, chip::NullOptional); } case 17: { LogStep(17, "TH reads RxErrOtherCount attribute value from DUT"); + VerifyOrDo(!ShouldSkip("DGTHREAD.S.A0038"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), ThreadNetworkDiagnostics::Id, ThreadNetworkDiagnostics::Attributes::RxErrOtherCount::Id, true, chip::NullOptional); } @@ -31946,6 +31538,7 @@ class Test_TC_DIAG_TH_NW_2_4Suite : public TestCommand } case 2: { LogStep(2, "Read the Overruncount attribute"); + VerifyOrDo(!ShouldSkip("DGTHREAD.S.A0007"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), ThreadNetworkDiagnostics::Id, ThreadNetworkDiagnostics::Attributes::OverrunCount::Id, true, chip::NullOptional); } @@ -32508,10 +32101,10 @@ class Test_TC_ULABEL_2_4Suite : public TestCommand } }; -class Test_TC_ULABEL_2_5Suite : public TestCommand +class Test_TC_ULABEL_3_1Suite : public TestCommand { public: - Test_TC_ULABEL_2_5Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_ULABEL_2_5", 2, credsIssuerConfig) + Test_TC_ULABEL_3_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_ULABEL_3_1", 2, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -32519,7 +32112,7 @@ class Test_TC_ULABEL_2_5Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_ULABEL_2_5Suite() {} + ~Test_TC_ULABEL_3_1Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -57169,7 +56762,7 @@ class DL_LockUnlockSuite : public TestCommand chip::NullOptional); } case 3: { - LogStep(3, "Try to unlock the door without a PIN"); + LogStep(3, "Try to lock the door without a PIN"); ListFreer listFreer; chip::app::Clusters::DoorLock::Commands::LockDoor::Type value; return SendCommand(kIdentityAlpha, GetEndpoint(1), DoorLock::Id, DoorLock::Commands::LockDoor::Id, value, @@ -57420,7 +57013,7 @@ class DL_SchedulesSuite : public TestCommand VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_INVALID_FIELD)); break; case 10: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_NOT_FOUND)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_FAILURE)); break; case 11: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_INVALID_FIELD)); @@ -57519,7 +57112,7 @@ class DL_SchedulesSuite : public TestCommand VerifyOrReturn(CheckValue("userIndex", value.userIndex, 2U)); - VerifyOrReturn(CheckValue("status", value.status, 139U)); + VerifyOrReturn(CheckValue("status", value.status, 1U)); } break; case 26: @@ -57535,10 +57128,10 @@ class DL_SchedulesSuite : public TestCommand VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_INVALID_FIELD)); break; case 30: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_NOT_FOUND)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_FAILURE)); break; case 31: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_INVALID_FIELD)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_INVALID_COMMAND)); break; case 32: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); @@ -57610,7 +57203,7 @@ class DL_SchedulesSuite : public TestCommand VerifyOrReturn(CheckValue("userIndex", value.userIndex, 2U)); - VerifyOrReturn(CheckValue("status", value.status, 139U)); + VerifyOrReturn(CheckValue("status", value.status, 1U)); } break; case 38: @@ -57742,7 +57335,7 @@ class DL_SchedulesSuite : public TestCommand VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_INVALID_FIELD)); break; case 55: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_NOT_FOUND)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_FAILURE)); break; case 56: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); @@ -57821,7 +57414,7 @@ class DL_SchedulesSuite : public TestCommand VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_INVALID_FIELD)); break; case 63: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_NOT_FOUND)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_FAILURE)); break; case 64: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); @@ -58314,7 +57907,7 @@ class DL_SchedulesSuite : public TestCommand VerifyOrReturn(CheckValue("userIndex", value.userIndex, 1U)); - VerifyOrReturn(CheckValue("status", value.status, 139U)); + VerifyOrReturn(CheckValue("status", value.status, 1U)); } break; case 104: @@ -58326,7 +57919,7 @@ class DL_SchedulesSuite : public TestCommand VerifyOrReturn(CheckValue("userIndex", value.userIndex, 1U)); - VerifyOrReturn(CheckValue("status", value.status, 139U)); + VerifyOrReturn(CheckValue("status", value.status, 1U)); } break; case 105: @@ -58338,7 +57931,7 @@ class DL_SchedulesSuite : public TestCommand VerifyOrReturn(CheckValue("userIndex", value.userIndex, 2U)); - VerifyOrReturn(CheckValue("status", value.status, 139U)); + VerifyOrReturn(CheckValue("status", value.status, 1U)); } break; case 106: @@ -58350,7 +57943,7 @@ class DL_SchedulesSuite : public TestCommand VerifyOrReturn(CheckValue("userIndex", value.userIndex, 2U)); - VerifyOrReturn(CheckValue("status", value.status, 139U)); + VerifyOrReturn(CheckValue("status", value.status, 1U)); } break; case 107: @@ -60129,10 +59722,10 @@ class DL_SchedulesSuite : public TestCommand } }; -class Test_TC_DLRK_2_2Suite : public TestCommand +class Test_TC_DRLK_2_2Suite : public TestCommand { public: - Test_TC_DLRK_2_2Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DLRK_2_2", 16, credsIssuerConfig) + Test_TC_DRLK_2_2Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DRLK_2_2", 16, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -60140,7 +59733,7 @@ class Test_TC_DLRK_2_2Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_DLRK_2_2Suite() {} + ~Test_TC_DRLK_2_2Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -60254,6 +59847,7 @@ class Test_TC_DLRK_2_2Suite : public TestCommand } case 1: { LogStep(1, "TH writes the RequirePINforRemoteOperation attribute value as False on the DUT"); + VerifyOrDo(!ShouldSkip("DRLK.S.A0033"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; bool value; value = false; @@ -60263,6 +59857,7 @@ class Test_TC_DLRK_2_2Suite : public TestCommand } case 2: { LogStep(2, "TH sends Lock Door Command to the DUT without PINCode"); + VerifyOrDo(!ShouldSkip("DRLK.S.C00.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::DoorLock::Commands::LockDoor::Type value; value.pinCode.Emplace(); @@ -60274,6 +59869,7 @@ class Test_TC_DLRK_2_2Suite : public TestCommand } case 3: { LogStep(3, "TH writes the RequirePINforRemoteOperation attribute value as True on the DUT"); + VerifyOrDo(!ShouldSkip("DRLK.S.A0033"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; bool value; value = true; @@ -60283,6 +59879,7 @@ class Test_TC_DLRK_2_2Suite : public TestCommand } case 4: { LogStep(4, "Create new PIN credential and lock/unlock user"); + VerifyOrDo(!ShouldSkip("DRLK.S.C22.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::DoorLock::Commands::SetCredential::Type value; value.operationType = static_cast(0); @@ -60301,6 +59898,7 @@ class Test_TC_DLRK_2_2Suite : public TestCommand } case 5: { LogStep(5, "TH sends Lock Door Command to the DUT with valid PINCode"); + VerifyOrDo(!ShouldSkip("DRLK.S.C00.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::DoorLock::Commands::LockDoor::Type value; value.pinCode.Emplace(); @@ -60312,6 +59910,7 @@ class Test_TC_DLRK_2_2Suite : public TestCommand } case 6: { LogStep(6, "TH sends Lock Door Command to the DUT without any argument PINCode"); + VerifyOrDo(!ShouldSkip("DRLK.S.C00.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::DoorLock::Commands::LockDoor::Type value; value.pinCode.Emplace(); @@ -60323,6 +59922,7 @@ class Test_TC_DLRK_2_2Suite : public TestCommand } case 7: { LogStep(7, "TH writes WrongCodeEntryLimit attribute value as 3 on the DUT"); + VerifyOrDo(!ShouldSkip("DRLK.S.A0030"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; uint8_t value; value = 3U; @@ -60331,6 +59931,7 @@ class Test_TC_DLRK_2_2Suite : public TestCommand } case 8: { LogStep(8, "TH writes UserCodeTemporaryDisableTime attribute value as 5 seconds on the DUT"); + VerifyOrDo(!ShouldSkip("DRLK.S.A0031"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; uint8_t value; value = 5U; @@ -60340,6 +59941,7 @@ class Test_TC_DLRK_2_2Suite : public TestCommand } case 9: { LogStep(9, "TH sends Lock Door Command to the DUT with invalid PINCode"); + VerifyOrDo(!ShouldSkip("DRLK.S.C00.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::DoorLock::Commands::LockDoor::Type value; value.pinCode.Emplace(); @@ -60351,6 +59953,7 @@ class Test_TC_DLRK_2_2Suite : public TestCommand } case 10: { LogStep(10, "TH sends Lock Door Command to the DUT with invalid PINCode"); + VerifyOrDo(!ShouldSkip("DRLK.S.C00.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::DoorLock::Commands::LockDoor::Type value; value.pinCode.Emplace(); @@ -60362,6 +59965,7 @@ class Test_TC_DLRK_2_2Suite : public TestCommand } case 11: { LogStep(11, "TH sends Lock Door Command to the DUT with invalid PINCode"); + VerifyOrDo(!ShouldSkip("DRLK.S.C00.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::DoorLock::Commands::LockDoor::Type value; value.pinCode.Emplace(); @@ -60373,6 +59977,7 @@ class Test_TC_DLRK_2_2Suite : public TestCommand } case 12: { LogStep(12, "TH sends Lock Door Command to the DUT with invalid PINCode"); + VerifyOrDo(!ShouldSkip("DRLK.S.C00.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::DoorLock::Commands::LockDoor::Type value; value.pinCode.Emplace(); @@ -60384,11 +59989,13 @@ class Test_TC_DLRK_2_2Suite : public TestCommand } case 13: { LogStep(13, "TH reads UserCodeTemporaryDisableTime attribute from DUT"); + VerifyOrDo(!ShouldSkip("DRLK.S.A0031"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), DoorLock::Id, DoorLock::Attributes::UserCodeTemporaryDisableTime::Id, true, chip::NullOptional); } case 14: { LogStep(14, "TH sends Lock Door Command to the DUT with valid PINCode"); + VerifyOrDo(!ShouldSkip("DRLK.S.C00.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::DoorLock::Commands::LockDoor::Type value; value.pinCode.Emplace(); @@ -60400,6 +60007,7 @@ class Test_TC_DLRK_2_2Suite : public TestCommand } case 15: { LogStep(15, "Clean the created credential"); + VerifyOrDo(!ShouldSkip("DRLK.S.C26.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::DoorLock::Commands::ClearCredential::Type value; value.credential.SetNonNull(); @@ -60417,10 +60025,10 @@ class Test_TC_DLRK_2_2Suite : public TestCommand } }; -class Test_TC_DLRK_2_3Suite : public TestCommand +class Test_TC_DRLK_2_3Suite : public TestCommand { public: - Test_TC_DLRK_2_3Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DLRK_2_3", 9, credsIssuerConfig) + Test_TC_DRLK_2_3Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DRLK_2_3", 9, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -60428,7 +60036,7 @@ class Test_TC_DLRK_2_3Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_DLRK_2_3Suite() {} + ~Test_TC_DRLK_2_3Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -60528,6 +60136,7 @@ class Test_TC_DLRK_2_3Suite : public TestCommand } case 1: { LogStep(1, "Create new PIN credential and lock/unlock user"); + VerifyOrDo(!ShouldSkip("DRLK.S.C22.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::DoorLock::Commands::SetCredential::Type value; value.operationType = static_cast(0); @@ -60546,6 +60155,7 @@ class Test_TC_DLRK_2_3Suite : public TestCommand } case 2: { LogStep(2, "Precondition: Door is in locked state"); + VerifyOrDo(!ShouldSkip("DRLK.S.C00.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::DoorLock::Commands::LockDoor::Type value; value.pinCode.Emplace(); @@ -60557,6 +60167,7 @@ class Test_TC_DLRK_2_3Suite : public TestCommand } case 3: { LogStep(3, "TH writes AutoRelockTime attribute value as 10 seconds on the DUT"); + VerifyOrDo(!ShouldSkip("DRLK.S.A0023"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; uint32_t value; value = 10UL; @@ -60565,6 +60176,7 @@ class Test_TC_DLRK_2_3Suite : public TestCommand } case 4: { LogStep(4, "TH sends the unlock Door command to the DUT with valid PINCode"); + VerifyOrDo(!ShouldSkip("DRLK.S.C01.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::DoorLock::Commands::UnlockDoor::Type value; value.pinCode.Emplace(); @@ -60576,6 +60188,7 @@ class Test_TC_DLRK_2_3Suite : public TestCommand } case 5: { LogStep(5, "TH reads AutoRelockTime attribute from DUT"); + VerifyOrDo(!ShouldSkip("DRLK.S.A0023"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), DoorLock::Id, DoorLock::Attributes::AutoRelockTime::Id, true, chip::NullOptional); } @@ -60588,11 +60201,13 @@ class Test_TC_DLRK_2_3Suite : public TestCommand } case 7: { LogStep(7, "TH reads LockState attribute"); + VerifyOrDo(!ShouldSkip("DRLK.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), DoorLock::Id, DoorLock::Attributes::LockState::Id, true, chip::NullOptional); } case 8: { LogStep(8, "Clean the created credential"); + VerifyOrDo(!ShouldSkip("DRLK.S.C26.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::DoorLock::Commands::ClearCredential::Type value; value.credential.SetNonNull(); @@ -60610,10 +60225,10 @@ class Test_TC_DLRK_2_3Suite : public TestCommand } }; -class Test_TC_DLRK_2_4Suite : public TestCommand +class Test_TC_DRLK_2_4Suite : public TestCommand { public: - Test_TC_DLRK_2_4Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DLRK_2_4", 8, credsIssuerConfig) + Test_TC_DRLK_2_4Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DRLK_2_4", 8, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -60621,7 +60236,7 @@ class Test_TC_DLRK_2_4Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_DLRK_2_4Suite() {} + ~Test_TC_DRLK_2_4Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -60718,6 +60333,7 @@ class Test_TC_DLRK_2_4Suite : public TestCommand } case 1: { LogStep(1, "Create new PIN credential and lock/unlock user"); + VerifyOrDo(!ShouldSkip("DRLK.S.C22.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::DoorLock::Commands::SetCredential::Type value; value.operationType = static_cast(0); @@ -60736,6 +60352,7 @@ class Test_TC_DLRK_2_4Suite : public TestCommand } case 2: { LogStep(2, "Precondition: Door is in locked state"); + VerifyOrDo(!ShouldSkip("DRLK.S.C00.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::DoorLock::Commands::LockDoor::Type value; value.pinCode.Emplace(); @@ -60747,6 +60364,7 @@ class Test_TC_DLRK_2_4Suite : public TestCommand } case 3: { LogStep(3, "TH writes AutoRelockTime attribute value as 10 seconds on the DUT"); + VerifyOrDo(!ShouldSkip("DRLK.S.A0023"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; uint32_t value; value = 10UL; @@ -60755,6 +60373,7 @@ class Test_TC_DLRK_2_4Suite : public TestCommand } case 4: { LogStep(4, "TH sends the unlock with Timeout command to the DUT "); + VerifyOrDo(!ShouldSkip("DRLK.S.C03.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::DoorLock::Commands::UnlockWithTimeout::Type value; value.timeout = 5U; @@ -60767,6 +60386,7 @@ class Test_TC_DLRK_2_4Suite : public TestCommand } case 5: { LogStep(5, "TH reads AutoRelockTime attribute from DUT"); + VerifyOrDo(!ShouldSkip("DRLK.S.A0023"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), DoorLock::Id, DoorLock::Attributes::AutoRelockTime::Id, true, chip::NullOptional); } @@ -60779,6 +60399,7 @@ class Test_TC_DLRK_2_4Suite : public TestCommand } case 7: { LogStep(7, "TH reads LockState attribute"); + VerifyOrDo(!ShouldSkip("DRLK.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), DoorLock::Id, DoorLock::Attributes::LockState::Id, true, chip::NullOptional); } @@ -60787,10 +60408,10 @@ class Test_TC_DLRK_2_4Suite : public TestCommand } }; -class Test_TC_DLRK_2_5Suite : public TestCommand +class Test_TC_DRLK_2_5Suite : public TestCommand { public: - Test_TC_DLRK_2_5Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DLRK_2_5", 10, credsIssuerConfig) + Test_TC_DRLK_2_5Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DRLK_2_5", 10, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -60798,7 +60419,7 @@ class Test_TC_DLRK_2_5Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_DLRK_2_5Suite() {} + ~Test_TC_DRLK_2_5Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -60967,6 +60588,7 @@ class Test_TC_DLRK_2_5Suite : public TestCommand } case 1: { LogStep(1, "Create new PIN credential and lock/unlock user"); + VerifyOrDo(!ShouldSkip("DRLK.S.C22.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::DoorLock::Commands::SetCredential::Type value; value.operationType = static_cast(0); @@ -60985,16 +60607,19 @@ class Test_TC_DLRK_2_5Suite : public TestCommand } case 2: { LogStep(2, "Get Max number of Week Day schedules for user"); + VerifyOrDo(!ShouldSkip("DRLK.S.F04 && DRLK.S.A0014"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), DoorLock::Id, DoorLock::Attributes::NumberOfWeekDaySchedulesSupportedPerUser::Id, true, chip::NullOptional); } case 3: { LogStep(3, "Get number of supported users"); + VerifyOrDo(!ShouldSkip("DRLK.S.F08 && DRLK.S.A0011"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), DoorLock::Id, DoorLock::Attributes::NumberOfTotalUsersSupported::Id, true, chip::NullOptional); } case 4: { LogStep(4, "Send Set Week Day Schedule Command to DUT"); + VerifyOrDo(!ShouldSkip("DRLK.S.F04 && DRLK.S.C0B.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::DoorLock::Commands::SetWeekDaySchedule::Type value; value.weekDayIndex = 1U; @@ -61011,6 +60636,8 @@ class Test_TC_DLRK_2_5Suite : public TestCommand } case 5: { LogStep(5, "send GetWeekDay Schedule Command "); + VerifyOrDo(!ShouldSkip("DRLK.S.F04 && DRLK.S.C0C.Rsp && DRLK.S.C0C.Tx"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::DoorLock::Commands::GetWeekDaySchedule::Type value; value.weekDayIndex = 1U; @@ -61022,6 +60649,7 @@ class Test_TC_DLRK_2_5Suite : public TestCommand } case 6: { LogStep(6, "Send Set Week Day Schedule Command to DUT and verify INVALID_COMMAND response"); + VerifyOrDo(!ShouldSkip("DRLK.S.F04 && DRLK.S.C0B.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::DoorLock::Commands::SetWeekDaySchedule::Type value; value.weekDayIndex = 0U; @@ -61038,6 +60666,8 @@ class Test_TC_DLRK_2_5Suite : public TestCommand } case 7: { LogStep(7, "send GetWeekDay Schedule Command to DUT and verify INVALID_COMMAND response"); + VerifyOrDo(!ShouldSkip("DRLK.S.F04 && DRLK.S.C0C.Rsp && DRLK.S.C0C.Tx"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::DoorLock::Commands::GetWeekDaySchedule::Type value; value.weekDayIndex = 0U; @@ -61049,6 +60679,7 @@ class Test_TC_DLRK_2_5Suite : public TestCommand } case 8: { LogStep(8, "Clear all week day schedules for the first user"); + VerifyOrDo(!ShouldSkip("DRLK.S.F04 && DRLK.S.C0D.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::DoorLock::Commands::ClearWeekDaySchedule::Type value; value.weekDayIndex = 254U; @@ -61060,6 +60691,8 @@ class Test_TC_DLRK_2_5Suite : public TestCommand } case 9: { LogStep(9, "send GetWeekDay Schedule Command "); + VerifyOrDo(!ShouldSkip("DRLK.S.F04 && DRLK.S.C0C.Rsp && DRLK.S.C0C.Tx"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::DoorLock::Commands::GetWeekDaySchedule::Type value; value.weekDayIndex = 2U; @@ -61074,10 +60707,10 @@ class Test_TC_DLRK_2_5Suite : public TestCommand } }; -class Test_TC_DLRK_2_7Suite : public TestCommand +class Test_TC_DRLK_2_7Suite : public TestCommand { public: - Test_TC_DLRK_2_7Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DLRK_2_7", 13, credsIssuerConfig) + Test_TC_DRLK_2_7Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DRLK_2_7", 13, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -61085,7 +60718,7 @@ class Test_TC_DLRK_2_7Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_DLRK_2_7Suite() {} + ~Test_TC_DRLK_2_7Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -61211,7 +60844,7 @@ class Test_TC_DLRK_2_7Suite : public TestCommand VerifyOrReturn(CheckValue("userIndex", value.userIndex, 5U)); - VerifyOrReturn(CheckValue("status", value.status, 139U)); + VerifyOrReturn(CheckValue("status", value.status, 1U)); VerifyOrReturn(CheckConstraintHasValue("value.localStartTime", value.localStartTime, false)); @@ -61315,16 +60948,19 @@ class Test_TC_DLRK_2_7Suite : public TestCommand } case 3: { LogStep(3, "Get Max number of year Day schedules for user"); + VerifyOrDo(!ShouldSkip("DRLK.S.F04 && DRLK.S.A0015"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), DoorLock::Id, DoorLock::Attributes::NumberOfYearDaySchedulesSupportedPerUser::Id, true, chip::NullOptional); } case 4: { LogStep(4, "Get number of supported users"); + VerifyOrDo(!ShouldSkip("DRLK.C.F08 && DRLK.S.A0011"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), DoorLock::Id, DoorLock::Attributes::NumberOfTotalUsersSupported::Id, true, chip::NullOptional); } case 5: { LogStep(5, "Send Set Year Day Schedule Command to DUT"); + VerifyOrDo(!ShouldSkip("DRLK.S.F04 && DRLK.S.C0E.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::DoorLock::Commands::SetYearDaySchedule::Type value; value.yearDayIndex = 1U; @@ -61338,6 +60974,8 @@ class Test_TC_DLRK_2_7Suite : public TestCommand } case 6: { LogStep(6, "send Get Year Day Schedule Command"); + VerifyOrDo(!ShouldSkip("DRLK.S.F04 && DRLK.S.C0F.Rsp && DRLK.S.C0F.Tx"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::DoorLock::Commands::GetYearDaySchedule::Type value; value.yearDayIndex = 1U; @@ -61349,6 +60987,7 @@ class Test_TC_DLRK_2_7Suite : public TestCommand } case 7: { LogStep(7, "Send Set Year Day Schedule Command to DUT and verify INVALID_COMMAND response"); + VerifyOrDo(!ShouldSkip("DRLK.S.C0E.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::DoorLock::Commands::SetYearDaySchedule::Type value; value.yearDayIndex = 0U; @@ -61362,6 +61001,8 @@ class Test_TC_DLRK_2_7Suite : public TestCommand } case 8: { LogStep(8, "send Get Year Day Schedule Command to DUT and Verify INVALID_FIELD response"); + VerifyOrDo(!ShouldSkip("DRLK.S.F04 && DRLK.S.C0F.Rsp && DRLK.S.C0F.Tx"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::DoorLock::Commands::GetYearDaySchedule::Type value; value.yearDayIndex = 2U; @@ -61372,7 +61013,9 @@ class Test_TC_DLRK_2_7Suite : public TestCommand ); } case 9: { - LogStep(9, "send Get Year Day Schedule Command to DUT and verify NOT_FOUND response"); + LogStep(9, "send Get Year Day Schedule Command to DUT and verify FAILURE response"); + VerifyOrDo(!ShouldSkip("DRLK.S.F04 && DRLK.S.C0F.Rsp && DRLK.S.C0F.Tx"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::DoorLock::Commands::GetYearDaySchedule::Type value; value.yearDayIndex = 10U; @@ -61384,6 +61027,8 @@ class Test_TC_DLRK_2_7Suite : public TestCommand } case 10: { LogStep(10, "send Get Year Day Schedule Command to DUT and verify NOT_FOUND response "); + VerifyOrDo(!ShouldSkip("DRLK.S.F04 && DRLK.S.C0F.Rsp && DRLK.S.C0F.Tx"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::DoorLock::Commands::GetYearDaySchedule::Type value; value.yearDayIndex = 2U; @@ -61395,6 +61040,7 @@ class Test_TC_DLRK_2_7Suite : public TestCommand } case 11: { LogStep(11, "Send Set Year Day Schedule Command to DUT"); + VerifyOrDo(!ShouldSkip("DRLK.S.C0E.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::DoorLock::Commands::SetYearDaySchedule::Type value; value.yearDayIndex = 2U; @@ -61408,6 +61054,8 @@ class Test_TC_DLRK_2_7Suite : public TestCommand } case 12: { LogStep(12, "send Get Year Day Schedule Command "); + VerifyOrDo(!ShouldSkip("DRLK.S.F04 && DRLK.S.C0F.Rsp && DRLK.S.C0F.Tx"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::DoorLock::Commands::GetYearDaySchedule::Type value; value.yearDayIndex = 2U; @@ -61422,10 +61070,10 @@ class Test_TC_DLRK_2_7Suite : public TestCommand } }; -class Test_TC_DLRK_2_9Suite : public TestCommand +class Test_TC_DRLK_2_9Suite : public TestCommand { public: - Test_TC_DLRK_2_9Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DLRK_2_9", 17, credsIssuerConfig) + Test_TC_DRLK_2_9Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DRLK_2_9", 17, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -61433,7 +61081,7 @@ class Test_TC_DLRK_2_9Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_DLRK_2_9Suite() {} + ~Test_TC_DRLK_2_9Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -61591,11 +61239,14 @@ class Test_TC_DLRK_2_9Suite : public TestCommand } case 1: { LogStep(1, "TH reads NumberOfTotalUsersSupported attribute and saves for future use."); + VerifyOrDo(!ShouldSkip("DRLK.C.F08 && DRLK.S.A0011"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), DoorLock::Id, DoorLock::Attributes::NumberOfTotalUsersSupported::Id, true, chip::NullOptional); } case 2: { LogStep(2, "TH sends Set Credential Command to DUT"); + VerifyOrDo(!ShouldSkip("DRLK.S.F08 && DRLK.S.C22.Rsp && DRLK.S.C23.Tx"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::DoorLock::Commands::SetCredential::Type value; value.operationType = static_cast(0); @@ -61617,6 +61268,8 @@ class Test_TC_DLRK_2_9Suite : public TestCommand } case 3: { LogStep(3, "TH sends Get Credential Status Command"); + VerifyOrDo(!ShouldSkip("DRLK.S.F08 && DRLK.S.C24.Rsp && DRLK.S.C25.Tx"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::DoorLock::Commands::GetCredentialStatus::Type value; @@ -61630,6 +61283,8 @@ class Test_TC_DLRK_2_9Suite : public TestCommand } case 4: { LogStep(4, "TH sends Set Credential Command to DUT"); + VerifyOrDo(!ShouldSkip("DRLK.S.F08 && DRLK.S.C22.Rsp && DRLK.S.C23.Tx"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::DoorLock::Commands::SetCredential::Type value; value.operationType = static_cast(0); @@ -61651,6 +61306,8 @@ class Test_TC_DLRK_2_9Suite : public TestCommand } case 5: { LogStep(5, "TH sends Set Credential Command to DUT"); + VerifyOrDo(!ShouldSkip("DRLK.S.F08 && DRLK.S.C22.Rsp && DRLK.S.C23.Tx"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::DoorLock::Commands::SetCredential::Type value; value.operationType = static_cast(0); @@ -61672,6 +61329,8 @@ class Test_TC_DLRK_2_9Suite : public TestCommand } case 6: { LogStep(6, "TH sends Set Credential Command to DUT"); + VerifyOrDo(!ShouldSkip("DRLK.S.F08 && DRLK.S.C22.Rsp && DRLK.S.C23.Tx"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::DoorLock::Commands::SetCredential::Type value; value.operationType = static_cast(0); @@ -61693,6 +61352,8 @@ class Test_TC_DLRK_2_9Suite : public TestCommand } case 7: { LogStep(7, "TH sends Set Credential Command to DUT"); + VerifyOrDo(!ShouldSkip("DRLK.S.F08 && DRLK.S.C22.Rsp && DRLK.S.C23.Tx"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::DoorLock::Commands::SetCredential::Type value; value.operationType = static_cast(0); @@ -61714,6 +61375,8 @@ class Test_TC_DLRK_2_9Suite : public TestCommand } case 8: { LogStep(8, "TH sends Set Credential Command to DUT"); + VerifyOrDo(!ShouldSkip("DRLK.S.F08 && DRLK.S.C22.Rsp && DRLK.S.C23.Tx"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::DoorLock::Commands::SetCredential::Type value; value.operationType = static_cast(2); @@ -61735,6 +61398,7 @@ class Test_TC_DLRK_2_9Suite : public TestCommand } case 9: { LogStep(9, "TH sends Clear Credential Command to DUT"); + VerifyOrDo(!ShouldSkip("DRLK.S.F08 && DRLK.S.C26.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::DoorLock::Commands::ClearCredential::Type value; value.credential.SetNonNull(); @@ -61749,6 +61413,8 @@ class Test_TC_DLRK_2_9Suite : public TestCommand } case 10: { LogStep(10, "TH sends Set Credential Command to DUT"); + VerifyOrDo(!ShouldSkip("DRLK.S.F08 && DRLK.S.C22.Rsp && DRLK.S.C23.Tx"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::DoorLock::Commands::SetCredential::Type value; value.operationType = static_cast(0); @@ -61770,6 +61436,7 @@ class Test_TC_DLRK_2_9Suite : public TestCommand } case 11: { LogStep(11, "TH sends Clear Credential Command to DUT"); + VerifyOrDo(!ShouldSkip("DRLK.S.F08 && DRLK.S.C26.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::DoorLock::Commands::ClearCredential::Type value; value.credential.SetNonNull(); @@ -61784,6 +61451,8 @@ class Test_TC_DLRK_2_9Suite : public TestCommand } case 12: { LogStep(12, "TH sends Set Credential Command to DUT"); + VerifyOrDo(!ShouldSkip("DRLK.S.F08 && DRLK.S.C22.Rsp && DRLK.S.C23.Tx"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::DoorLock::Commands::SetCredential::Type value; value.operationType = static_cast(0); @@ -61805,6 +61474,7 @@ class Test_TC_DLRK_2_9Suite : public TestCommand } case 13: { LogStep(13, "TH sends Clear Credential Command to DUT"); + VerifyOrDo(!ShouldSkip("DRLK.S.F08 && DRLK.S.C26.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::DoorLock::Commands::ClearCredential::Type value; value.credential.SetNonNull(); @@ -61819,6 +61489,8 @@ class Test_TC_DLRK_2_9Suite : public TestCommand } case 14: { LogStep(14, "TH sends Get Credential Status Command"); + VerifyOrDo(!ShouldSkip("DRLK.S.F08 && DRLK.S.C24.Rsp && DRLK.S.C25.Tx"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::DoorLock::Commands::GetCredentialStatus::Type value; @@ -61832,6 +61504,8 @@ class Test_TC_DLRK_2_9Suite : public TestCommand } case 15: { LogStep(15, "TH sends Set Credential Command to DUT"); + VerifyOrDo(!ShouldSkip("DRLK.S.F08 && DRLK.S.C22.Rsp && DRLK.S.C23.Tx"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::DoorLock::Commands::SetCredential::Type value; value.operationType = static_cast(0); @@ -61853,6 +61527,7 @@ class Test_TC_DLRK_2_9Suite : public TestCommand } case 16: { LogStep(16, "TH sends Clear Credential Command to DUT"); + VerifyOrDo(!ShouldSkip("DRLK.S.F08 && DRLK.S.C26.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::DoorLock::Commands::ClearCredential::Type value; value.credential.SetNonNull(); @@ -82086,10 +81761,178 @@ class Test_TC_CC_9_3Suite : public TestCommand } }; -class Test_TC_DLRK_1_1Suite : public TestCommand +class Test_TC_DRLK_1_1Suite : public TestCommand +{ +public: + Test_TC_DRLK_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DRLK_1_1", 0, credsIssuerConfig) + { + AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); + AddArgument("cluster", &mCluster); + AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); + AddArgument("timeout", 0, UINT16_MAX, &mTimeout); + } + + ~Test_TC_DRLK_1_1Suite() {} + + chip::System::Clock::Timeout GetWaitDuration() const override + { + return chip::System::Clock::Seconds16(mTimeout.ValueOr(kTimeoutInSeconds)); + } + +private: + chip::Optional mNodeId; + chip::Optional mCluster; + chip::Optional mEndpoint; + chip::Optional mTimeout; + + chip::EndpointId GetEndpoint(chip::EndpointId endpoint) { return mEndpoint.HasValue() ? mEndpoint.Value() : endpoint; } + + // + // Tests methods + // + + void OnResponse(const chip::app::StatusIB & status, chip::TLV::TLVReader * data) override + { + bool shouldContinue = false; + + switch (mTestIndex - 1) + { + 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) + { + } + return CHIP_NO_ERROR; + } +}; + +class Test_TC_DRLK_2_1Suite : public TestCommand +{ +public: + Test_TC_DRLK_2_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DRLK_2_1", 0, credsIssuerConfig) + { + AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); + AddArgument("cluster", &mCluster); + AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); + AddArgument("timeout", 0, UINT16_MAX, &mTimeout); + } + + ~Test_TC_DRLK_2_1Suite() {} + + chip::System::Clock::Timeout GetWaitDuration() const override + { + return chip::System::Clock::Seconds16(mTimeout.ValueOr(kTimeoutInSeconds)); + } + +private: + chip::Optional mNodeId; + chip::Optional mCluster; + chip::Optional mEndpoint; + chip::Optional mTimeout; + + chip::EndpointId GetEndpoint(chip::EndpointId endpoint) { return mEndpoint.HasValue() ? mEndpoint.Value() : endpoint; } + + // + // Tests methods + // + + void OnResponse(const chip::app::StatusIB & status, chip::TLV::TLVReader * data) override + { + bool shouldContinue = false; + + switch (mTestIndex - 1) + { + 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) + { + } + return CHIP_NO_ERROR; + } +}; + +class Test_TC_DRLK_2_6Suite : public TestCommand +{ +public: + Test_TC_DRLK_2_6Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DRLK_2_6", 0, credsIssuerConfig) + { + AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); + AddArgument("cluster", &mCluster); + AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); + AddArgument("timeout", 0, UINT16_MAX, &mTimeout); + } + + ~Test_TC_DRLK_2_6Suite() {} + + chip::System::Clock::Timeout GetWaitDuration() const override + { + return chip::System::Clock::Seconds16(mTimeout.ValueOr(kTimeoutInSeconds)); + } + +private: + chip::Optional mNodeId; + chip::Optional mCluster; + chip::Optional mEndpoint; + chip::Optional mTimeout; + + chip::EndpointId GetEndpoint(chip::EndpointId endpoint) { return mEndpoint.HasValue() ? mEndpoint.Value() : endpoint; } + + // + // Tests methods + // + + void OnResponse(const chip::app::StatusIB & status, chip::TLV::TLVReader * data) override + { + bool shouldContinue = false; + + switch (mTestIndex - 1) + { + 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) + { + } + return CHIP_NO_ERROR; + } +}; + +class Test_TC_DRLK_2_8Suite : public TestCommand { public: - Test_TC_DLRK_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DLRK_1_1", 0, credsIssuerConfig) + Test_TC_DRLK_2_8Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DRLK_2_8", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -82097,7 +81940,7 @@ class Test_TC_DLRK_1_1Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_DLRK_1_1Suite() {} + ~Test_TC_DRLK_2_8Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -82142,10 +81985,10 @@ class Test_TC_DLRK_1_1Suite : public TestCommand } }; -class Test_TC_DLRK_2_1Suite : public TestCommand +class Test_TC_DRLK_2_10Suite : public TestCommand { public: - Test_TC_DLRK_2_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DLRK_2_1", 0, credsIssuerConfig) + Test_TC_DRLK_2_10Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DRLK_2_10", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -82153,7 +81996,7 @@ class Test_TC_DLRK_2_1Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_DLRK_2_1Suite() {} + ~Test_TC_DRLK_2_10Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -82198,10 +82041,10 @@ class Test_TC_DLRK_2_1Suite : public TestCommand } }; -class Test_TC_DLRK_2_6Suite : public TestCommand +class Test_TC_DRLK_3_1Suite : public TestCommand { public: - Test_TC_DLRK_2_6Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DLRK_2_6", 0, credsIssuerConfig) + Test_TC_DRLK_3_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DRLK_3_1", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -82209,7 +82052,7 @@ class Test_TC_DLRK_2_6Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_DLRK_2_6Suite() {} + ~Test_TC_DRLK_3_1Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -82254,10 +82097,10 @@ class Test_TC_DLRK_2_6Suite : public TestCommand } }; -class Test_TC_DLRK_2_8Suite : public TestCommand +class Test_TC_DRLK_3_2Suite : public TestCommand { public: - Test_TC_DLRK_2_8Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DLRK_2_8", 0, credsIssuerConfig) + Test_TC_DRLK_3_2Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DRLK_3_2", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -82265,7 +82108,7 @@ class Test_TC_DLRK_2_8Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_DLRK_2_8Suite() {} + ~Test_TC_DRLK_3_2Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -82310,10 +82153,10 @@ class Test_TC_DLRK_2_8Suite : public TestCommand } }; -class Test_TC_DLRK_2_10Suite : public TestCommand +class Test_TC_DRLK_3_3Suite : public TestCommand { public: - Test_TC_DLRK_2_10Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DLRK_2_10", 0, credsIssuerConfig) + Test_TC_DRLK_3_3Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DRLK_3_3", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -82321,7 +82164,7 @@ class Test_TC_DLRK_2_10Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_DLRK_2_10Suite() {} + ~Test_TC_DRLK_3_3Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -86614,10 +86457,10 @@ class Test_TC_FLABEL_2_1Suite : public TestCommand } }; -class Test_TC_FLABEL_2_2Suite : public TestCommand +class Test_TC_FLABEL_3_1Suite : public TestCommand { public: - Test_TC_FLABEL_2_2Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_FLABEL_2_2", 0, credsIssuerConfig) + Test_TC_FLABEL_3_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_FLABEL_3_1", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -86625,7 +86468,7 @@ class Test_TC_FLABEL_2_2Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_FLABEL_2_2Suite() {} + ~Test_TC_FLABEL_3_1Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -87363,7 +87206,7 @@ void registerCommandsTests(Commands & commands, CredentialIssuerCommands * creds make_unique(credsIssuerConfig), make_unique(credsIssuerConfig), make_unique(credsIssuerConfig), - make_unique(credsIssuerConfig), + make_unique(credsIssuerConfig), make_unique(credsIssuerConfig), make_unique(credsIssuerConfig), make_unique(credsIssuerConfig), @@ -87423,12 +87266,12 @@ void registerCommandsTests(Commands & commands, CredentialIssuerCommands * creds make_unique(credsIssuerConfig), make_unique(credsIssuerConfig), make_unique(credsIssuerConfig), - make_unique(credsIssuerConfig), - make_unique(credsIssuerConfig), - make_unique(credsIssuerConfig), - make_unique(credsIssuerConfig), - make_unique(credsIssuerConfig), - make_unique(credsIssuerConfig), + make_unique(credsIssuerConfig), + make_unique(credsIssuerConfig), + make_unique(credsIssuerConfig), + make_unique(credsIssuerConfig), + make_unique(credsIssuerConfig), + make_unique(credsIssuerConfig), make_unique(credsIssuerConfig), make_unique(credsIssuerConfig), make_unique(credsIssuerConfig), @@ -87689,11 +87532,14 @@ void registerCommandsTests(Commands & commands, CredentialIssuerCommands * creds make_unique(credsIssuerConfig), make_unique(credsIssuerConfig), make_unique(credsIssuerConfig), - make_unique(credsIssuerConfig), - make_unique(credsIssuerConfig), - make_unique(credsIssuerConfig), - make_unique(credsIssuerConfig), - make_unique(credsIssuerConfig), + make_unique(credsIssuerConfig), + make_unique(credsIssuerConfig), + make_unique(credsIssuerConfig), + make_unique(credsIssuerConfig), + make_unique(credsIssuerConfig), + make_unique(credsIssuerConfig), + make_unique(credsIssuerConfig), + make_unique(credsIssuerConfig), make_unique(credsIssuerConfig), make_unique(credsIssuerConfig), make_unique(credsIssuerConfig), @@ -87735,7 +87581,7 @@ void registerCommandsTests(Commands & commands, CredentialIssuerCommands * creds make_unique(credsIssuerConfig), make_unique(credsIssuerConfig), make_unique(credsIssuerConfig), - make_unique(credsIssuerConfig), + make_unique(credsIssuerConfig), make_unique(credsIssuerConfig), make_unique(credsIssuerConfig), make_unique(credsIssuerConfig), diff --git a/zzz_generated/darwin-framework-tool/zap-generated/test/Commands.h b/zzz_generated/darwin-framework-tool/zap-generated/test/Commands.h index 66a05f926187f7..a77d3e82bf7a87 100644 --- a/zzz_generated/darwin-framework-tool/zap-generated/test/Commands.h +++ b/zzz_generated/darwin-framework-tool/zap-generated/test/Commands.h @@ -148,7 +148,7 @@ class TestList : public Command { printf("Test_TC_ULABEL_2_2\n"); printf("Test_TC_ULABEL_2_3\n"); printf("Test_TC_ULABEL_2_4\n"); - printf("Test_TC_ULABEL_2_5\n"); + printf("Test_TC_ULABEL_3_1\n"); printf("Test_TC_DGWIFI_2_1\n"); printf("Test_TC_DGWIFI_2_3\n"); printf("Test_TC_WNCV_1_1\n"); @@ -205,12 +205,12 @@ class TestList : public Command { printf("DL_UsersAndCredentials\n"); printf("DL_LockUnlock\n"); printf("DL_Schedules\n"); - printf("Test_TC_DLRK_2_2\n"); - printf("Test_TC_DLRK_2_3\n"); - printf("Test_TC_DLRK_2_4\n"); - printf("Test_TC_DLRK_2_5\n"); - printf("Test_TC_DLRK_2_7\n"); - printf("Test_TC_DLRK_2_9\n"); + printf("Test_TC_DRLK_2_2\n"); + printf("Test_TC_DRLK_2_3\n"); + printf("Test_TC_DRLK_2_4\n"); + printf("Test_TC_DRLK_2_5\n"); + printf("Test_TC_DRLK_2_7\n"); + printf("Test_TC_DRLK_2_9\n"); printf("TestGroupsCluster\n"); printf("TestGroupKeyManagementCluster\n"); @@ -16229,45 +16229,81 @@ class Test_TC_BINFO_2_1 : public TestCommandBridge { break; case 1: ChipLogProgress(chipTool, " ***** Test Step 1 : Query Data Model Revision\n"); + if (ShouldSkip("BINFO.S.A0000")) { + NextTest(); + return; + } err = TestQueryDataModelRevision_1(); break; case 2: ChipLogProgress(chipTool, " ***** Test Step 2 : Query Vendor Name\n"); + if (ShouldSkip("BINFO.S.A0001")) { + NextTest(); + return; + } err = TestQueryVendorName_2(); break; case 3: ChipLogProgress(chipTool, " ***** Test Step 3 : Query VendorID\n"); + if (ShouldSkip("BINFO.S.A0002")) { + NextTest(); + return; + } err = TestQueryVendorID_3(); break; case 4: ChipLogProgress(chipTool, " ***** Test Step 4 : Query Product Name\n"); + if (ShouldSkip("BINFO.S.A0003")) { + NextTest(); + return; + } err = TestQueryProductName_4(); break; case 5: ChipLogProgress(chipTool, " ***** Test Step 5 : Query ProductID\n"); + if (ShouldSkip("BINFO.S.A0004")) { + NextTest(); + return; + } err = TestQueryProductID_5(); break; case 6: ChipLogProgress(chipTool, " ***** Test Step 6 : Query Node Label\n"); + if (ShouldSkip("BINFO.S.A0005")) { + NextTest(); + return; + } err = TestQueryNodeLabel_6(); break; case 7: ChipLogProgress(chipTool, " ***** Test Step 7 : Query User Location\n"); + if (ShouldSkip("BINFO.S.A0006")) { + NextTest(); + return; + } err = TestQueryUserLocation_7(); break; case 8: ChipLogProgress(chipTool, " ***** Test Step 8 : Query HardwareVersion\n"); + if (ShouldSkip("BINFO.S.A0007")) { + NextTest(); + return; + } err = TestQueryHardwareVersion_8(); break; case 9: ChipLogProgress(chipTool, " ***** Test Step 9 : Query HardwareVersionString\n"); + if (ShouldSkip("BINFO.S.A0008")) { + NextTest(); + return; + } err = TestQueryHardwareVersionString_9(); break; case 10: ChipLogProgress(chipTool, " ***** Test Step 10 : TH reads SoftwareVersionString from the DUT and Verify it is of type string and verify the " "format\n"); - if (ShouldSkip("PICS_USER_PROMPT")) { + if (ShouldSkip("PICS_USER_PROMPT && BINFO.S.A000a")) { NextTest(); return; } @@ -16277,7 +16313,7 @@ class Test_TC_BINFO_2_1 : public TestCommandBridge { ChipLogProgress(chipTool, " ***** Test Step 11 : TH reads ManufacturingDate from the DUT and Verify it is of type string and verify the " "format\n"); - if (ShouldSkip("PICS_USER_PROMPT")) { + if (ShouldSkip("PICS_USER_PROMPT && BINFO.S.A000b")) { NextTest(); return; } @@ -16285,7 +16321,7 @@ class Test_TC_BINFO_2_1 : public TestCommandBridge { break; case 12: ChipLogProgress(chipTool, " ***** Test Step 12 : Query PartNumber\n"); - if (ShouldSkip("PART_NUM")) { + if (ShouldSkip("BINFO.S.A000c")) { NextTest(); return; } @@ -16294,7 +16330,7 @@ class Test_TC_BINFO_2_1 : public TestCommandBridge { case 13: ChipLogProgress(chipTool, " ***** Test Step 13 : TH reads ProductURL from the DUT and Verify it is of type string and verify the format\n"); - if (ShouldSkip("PICS_USER_PROMPT")) { + if (ShouldSkip("PICS_USER_PROMPT && BINFO.S.A000d")) { NextTest(); return; } @@ -16302,22 +16338,42 @@ class Test_TC_BINFO_2_1 : public TestCommandBridge { break; case 14: ChipLogProgress(chipTool, " ***** Test Step 14 : Query ProductLabel\n"); + if (ShouldSkip("BINFO.S.A000e")) { + NextTest(); + return; + } err = TestQueryProductLabel_14(); break; case 15: ChipLogProgress(chipTool, " ***** Test Step 15 : Query SerialNumber\n"); + if (ShouldSkip("BINFO.S.A000f")) { + NextTest(); + return; + } err = TestQuerySerialNumber_15(); break; case 16: ChipLogProgress(chipTool, " ***** Test Step 16 : Query LocalConfigDisabled\n"); + if (ShouldSkip("BINFO.S.A0010")) { + NextTest(); + return; + } err = TestQueryLocalConfigDisabled_16(); break; case 17: ChipLogProgress(chipTool, " ***** Test Step 17 : Query Reachable\n"); + if (ShouldSkip("BINFO.S.A0011")) { + NextTest(); + return; + } err = TestQueryReachable_17(); break; case 18: ChipLogProgress(chipTool, " ***** Test Step 18 : Query UniqueID\n"); + if (ShouldSkip("BINFO.S.A0012")) { + NextTest(); + return; + } err = TestQueryUniqueID_18(); break; } @@ -16610,11 +16666,6 @@ class Test_TC_BINFO_2_1 : public TestCommandBridge { [cluster readAttributePartNumberWithCompletionHandler:^(NSString * _Nullable value, NSError * _Nullable err) { NSLog(@"Query PartNumber Error: %@", err); - if (err.code == MTRInteractionErrorCodeUnsupportedAttribute) { - NextTest(); - return; - } - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); VerifyOrReturn(CheckConstraintType("partNumber", "", "string")); @@ -16643,11 +16694,6 @@ class Test_TC_BINFO_2_1 : public TestCommandBridge { [cluster readAttributeProductLabelWithCompletionHandler:^(NSString * _Nullable value, NSError * _Nullable err) { NSLog(@"Query ProductLabel Error: %@", err); - if (err.code == MTRInteractionErrorCodeUnsupportedAttribute) { - NextTest(); - return; - } - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); VerifyOrReturn(CheckConstraintType("productLabel", "", "string")); @@ -16667,11 +16713,6 @@ class Test_TC_BINFO_2_1 : public TestCommandBridge { [cluster readAttributeSerialNumberWithCompletionHandler:^(NSString * _Nullable value, NSError * _Nullable err) { NSLog(@"Query SerialNumber Error: %@", err); - if (err.code == MTRInteractionErrorCodeUnsupportedAttribute) { - NextTest(); - return; - } - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); VerifyOrReturn(CheckConstraintType("serialNumber", "", "string")); @@ -16691,11 +16732,6 @@ class Test_TC_BINFO_2_1 : public TestCommandBridge { [cluster readAttributeLocalConfigDisabledWithCompletionHandler:^(NSNumber * _Nullable value, NSError * _Nullable err) { NSLog(@"Query LocalConfigDisabled Error: %@", err); - if (err.code == MTRInteractionErrorCodeUnsupportedAttribute) { - NextTest(); - return; - } - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); VerifyOrReturn(CheckConstraintType("localConfigDisabled", "", "boolean")); @@ -16714,11 +16750,6 @@ class Test_TC_BINFO_2_1 : public TestCommandBridge { [cluster readAttributeReachableWithCompletionHandler:^(NSNumber * _Nullable value, NSError * _Nullable err) { NSLog(@"Query Reachable Error: %@", err); - if (err.code == MTRInteractionErrorCodeUnsupportedAttribute) { - NextTest(); - return; - } - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); VerifyOrReturn(CheckConstraintType("reachable", "", "boolean")); @@ -16737,11 +16768,6 @@ class Test_TC_BINFO_2_1 : public TestCommandBridge { [cluster readAttributeUniqueIDWithCompletionHandler:^(NSString * _Nullable value, NSError * _Nullable err) { NSLog(@"Query UniqueID Error: %@", err); - if (err.code == MTRInteractionErrorCodeUnsupportedAttribute) { - NextTest(); - return; - } - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); VerifyOrReturn(CheckConstraintType("uniqueID", "", "string")); @@ -21421,22 +21447,42 @@ class Test_TC_ILL_2_1 : public TestCommandBridge { break; case 1: ChipLogProgress(chipTool, " ***** Test Step 1 : TH reads MeasuredValue attribute from DUT\n"); + if (ShouldSkip("ILL.S.A0000")) { + NextTest(); + return; + } err = TestThReadsMeasuredValueAttributeFromDut_1(); break; case 2: ChipLogProgress(chipTool, " ***** Test Step 2 : TH reads MinMeasuredValue attribute from DUT\n"); + if (ShouldSkip("ILL.S.A0001")) { + NextTest(); + return; + } err = TestThReadsMinMeasuredValueAttributeFromDut_2(); break; case 3: ChipLogProgress(chipTool, " ***** Test Step 3 : TH reads MaxMeasuredValue attribute from DUT\n"); + if (ShouldSkip("ILL.S.A0002")) { + NextTest(); + return; + } err = TestThReadsMaxMeasuredValueAttributeFromDut_3(); break; case 4: ChipLogProgress(chipTool, " ***** Test Step 4 : TH reads Tolerance attribute from DUT\n"); + if (ShouldSkip("ILL.S.A0003")) { + NextTest(); + return; + } err = TestThReadsToleranceAttributeFromDut_4(); break; case 5: ChipLogProgress(chipTool, " ***** Test Step 5 : TH reads LightSensorType attribute from DUT\n"); + if (ShouldSkip("ILL.S.A0004")) { + NextTest(); + return; + } err = TestThReadsLightSensorTypeAttributeFromDut_5(); break; } @@ -36254,11 +36300,6 @@ class Test_TC_OO_2_1 : public TestCommandBridge { [cluster readAttributeGlobalSceneControlWithCompletionHandler:^(NSNumber * _Nullable value, NSError * _Nullable err) { NSLog(@"read LT attribute: GlobalSceneControl Error: %@", err); - if (err.code == MTRInteractionErrorCodeUnsupportedAttribute) { - NextTest(); - return; - } - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); VerifyOrReturn(CheckConstraintType("globalSceneControl", "", "bool")); @@ -36277,11 +36318,6 @@ class Test_TC_OO_2_1 : public TestCommandBridge { [cluster readAttributeOnTimeWithCompletionHandler:^(NSNumber * _Nullable value, NSError * _Nullable err) { NSLog(@"read LT attribute: OnTime Error: %@", err); - if (err.code == MTRInteractionErrorCodeUnsupportedAttribute) { - NextTest(); - return; - } - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); VerifyOrReturn(CheckConstraintType("onTime", "", "uint16")); @@ -36300,11 +36336,6 @@ class Test_TC_OO_2_1 : public TestCommandBridge { [cluster readAttributeOffWaitTimeWithCompletionHandler:^(NSNumber * _Nullable value, NSError * _Nullable err) { NSLog(@"read LT attribute: OffWaitTime Error: %@", err); - if (err.code == MTRInteractionErrorCodeUnsupportedAttribute) { - NextTest(); - return; - } - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); VerifyOrReturn(CheckConstraintType("offWaitTime", "", "uint16")); @@ -36323,11 +36354,6 @@ class Test_TC_OO_2_1 : public TestCommandBridge { [cluster readAttributeStartUpOnOffWithCompletionHandler:^(NSNumber * _Nullable value, NSError * _Nullable err) { NSLog(@"read LT attribute: StartUpOnOff Error: %@", err); - if (err.code == MTRInteractionErrorCodeUnsupportedAttribute) { - NextTest(); - return; - } - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); if (value != nil) { @@ -43147,11 +43173,6 @@ class Test_TC_RH_2_1 : public TestCommandBridge { [cluster readAttributeToleranceWithCompletionHandler:^(NSNumber * _Nullable value, NSError * _Nullable err) { NSLog(@"Reads constraints of attribute: Tolerance Error: %@", err); - if (err.code == MTRInteractionErrorCodeUnsupportedAttribute) { - NextTest(); - return; - } - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); VerifyOrReturn(CheckConstraintType("tolerance", "", "uint16")); @@ -50949,11 +50970,11 @@ class Test_TC_ULABEL_2_4 : public TestCommandBridge { } }; -class Test_TC_ULABEL_2_5 : public TestCommandBridge { +class Test_TC_ULABEL_3_1 : public TestCommandBridge { public: // NOLINTBEGIN(clang-analyzer-nullability.NullPassedToNonnull): Test constructor nullability not enforced - Test_TC_ULABEL_2_5() - : TestCommandBridge("Test_TC_ULABEL_2_5") + Test_TC_ULABEL_3_1() + : TestCommandBridge("Test_TC_ULABEL_3_1") , mTestIndex(0) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); @@ -50963,7 +50984,7 @@ class Test_TC_ULABEL_2_5 : public TestCommandBridge { } // NOLINTEND(clang-analyzer-nullability.NullPassedToNonnull) - ~Test_TC_ULABEL_2_5() {} + ~Test_TC_ULABEL_3_1() {} /////////// TestCommand Interface ///////// void NextTest() override @@ -50971,11 +50992,11 @@ class Test_TC_ULABEL_2_5 : public TestCommandBridge { CHIP_ERROR err = CHIP_NO_ERROR; if (0 == mTestIndex) { - ChipLogProgress(chipTool, " **** Test Start: Test_TC_ULABEL_2_5\n"); + ChipLogProgress(chipTool, " **** Test Start: Test_TC_ULABEL_3_1\n"); } if (mTestCount == mTestIndex) { - ChipLogProgress(chipTool, " **** Test Complete: Test_TC_ULABEL_2_5\n"); + ChipLogProgress(chipTool, " **** Test Complete: Test_TC_ULABEL_3_1\n"); SetCommandExitStatus(CHIP_NO_ERROR); return; } @@ -94610,8 +94631,8 @@ class DL_LockUnlock : public TestCommandBridge { err = TestVerifyThatLockStateAttributeValueIsSetToUnlocked_2(); break; case 3: - ChipLogProgress(chipTool, " ***** Test Step 3 : Try to unlock the door without a PIN\n"); - err = TestTryToUnlockTheDoorWithoutAPin_3(); + ChipLogProgress(chipTool, " ***** Test Step 3 : Try to lock the door without a PIN\n"); + err = TestTryToLockTheDoorWithoutAPin_3(); break; case 4: ChipLogProgress(chipTool, " ***** Test Step 4 : Verify that lock state attribute value is set to Locked\n"); @@ -94803,7 +94824,7 @@ class DL_LockUnlock : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestTryToUnlockTheDoorWithoutAPin_3() + CHIP_ERROR TestTryToLockTheDoorWithoutAPin_3() { MTRDevice * device = GetDevice("alpha"); MTRTestDoorLock * cluster = [[MTRTestDoorLock alloc] initWithDevice:device endpoint:1 queue:mCallbackQueue]; @@ -94812,7 +94833,7 @@ class DL_LockUnlock : public TestCommandBridge { __auto_type * params = [[MTRDoorLockClusterLockDoorParams alloc] init]; [cluster lockDoorWithParams:params completionHandler:^(NSError * _Nullable err) { - NSLog(@"Try to unlock the door without a PIN Error: %@", err); + NSLog(@"Try to lock the door without a PIN Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -95739,7 +95760,7 @@ class DL_Schedules : public TestCommandBridge { VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_INVALID_FIELD)); break; case 10: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_NOT_FOUND)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_FAILURE)); break; case 11: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_INVALID_FIELD)); @@ -95799,10 +95820,10 @@ class DL_Schedules : public TestCommandBridge { VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_INVALID_FIELD)); break; case 30: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_NOT_FOUND)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_FAILURE)); break; case 31: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_INVALID_FIELD)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_INVALID_COMMAND)); break; case 32: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); @@ -95874,7 +95895,7 @@ class DL_Schedules : public TestCommandBridge { VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_INVALID_FIELD)); break; case 55: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_NOT_FOUND)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_FAILURE)); break; case 56: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); @@ -95898,7 +95919,7 @@ class DL_Schedules : public TestCommandBridge { VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_INVALID_FIELD)); break; case 63: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_NOT_FOUND)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_FAILURE)); break; case 64: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); @@ -96388,7 +96409,7 @@ class DL_Schedules : public TestCommandBridge { completionHandler:^(NSError * _Nullable err) { NSLog(@"Create Week Day schedule for non-existing user Error: %@", err); - VerifyOrReturn(CheckValue("status", err ? err.code : 0, EMBER_ZCL_STATUS_NOT_FOUND)); + VerifyOrReturn(CheckValue("status", err ? err.code : 0, EMBER_ZCL_STATUS_FAILURE)); NextTest(); }]; @@ -96837,7 +96858,7 @@ class DL_Schedules : public TestCommandBridge { { id actualValue = values.status; - VerifyOrReturn(CheckValue("status", actualValue, 139U)); + VerifyOrReturn(CheckValue("status", actualValue, 1U)); } NextTest(); @@ -96949,7 +96970,7 @@ class DL_Schedules : public TestCommandBridge { completionHandler:^(NSError * _Nullable err) { NSLog(@"Create Year Day schedule for non-existing user Error: %@", err); - VerifyOrReturn(CheckValue("status", err ? err.code : 0, EMBER_ZCL_STATUS_NOT_FOUND)); + VerifyOrReturn(CheckValue("status", err ? err.code : 0, EMBER_ZCL_STATUS_FAILURE)); NextTest(); }]; @@ -96971,7 +96992,7 @@ class DL_Schedules : public TestCommandBridge { completionHandler:^(NSError * _Nullable err) { NSLog(@"Create Year Day schedule with start hour later that end hour Error: %@", err); - VerifyOrReturn(CheckValue("status", err ? err.code : 0, EMBER_ZCL_STATUS_INVALID_FIELD)); + VerifyOrReturn(CheckValue("status", err ? err.code : 0, EMBER_ZCL_STATUS_INVALID_COMMAND)); NextTest(); }]; @@ -97193,7 +97214,7 @@ class DL_Schedules : public TestCommandBridge { { id actualValue = values.status; - VerifyOrReturn(CheckValue("status", actualValue, 139U)); + VerifyOrReturn(CheckValue("status", actualValue, 1U)); } NextTest(); @@ -97704,7 +97725,7 @@ class DL_Schedules : public TestCommandBridge { completionHandler:^(NSError * _Nullable err) { NSLog(@"Clear Week Day schedule with non-existing user Error: %@", err); - VerifyOrReturn(CheckValue("status", err ? err.code : 0, EMBER_ZCL_STATUS_NOT_FOUND)); + VerifyOrReturn(CheckValue("status", err ? err.code : 0, EMBER_ZCL_STATUS_FAILURE)); NextTest(); }]; @@ -97959,7 +97980,7 @@ class DL_Schedules : public TestCommandBridge { completionHandler:^(NSError * _Nullable err) { NSLog(@"Clear Year Day schedule with non-existing user Error: %@", err); - VerifyOrReturn(CheckValue("status", err ? err.code : 0, EMBER_ZCL_STATUS_NOT_FOUND)); + VerifyOrReturn(CheckValue("status", err ? err.code : 0, EMBER_ZCL_STATUS_FAILURE)); NextTest(); }]; @@ -99458,7 +99479,7 @@ class DL_Schedules : public TestCommandBridge { { id actualValue = values.status; - VerifyOrReturn(CheckValue("status", actualValue, 139U)); + VerifyOrReturn(CheckValue("status", actualValue, 1U)); } NextTest(); @@ -99495,7 +99516,7 @@ class DL_Schedules : public TestCommandBridge { { id actualValue = values.status; - VerifyOrReturn(CheckValue("status", actualValue, 139U)); + VerifyOrReturn(CheckValue("status", actualValue, 1U)); } NextTest(); @@ -99532,7 +99553,7 @@ class DL_Schedules : public TestCommandBridge { { id actualValue = values.status; - VerifyOrReturn(CheckValue("status", actualValue, 139U)); + VerifyOrReturn(CheckValue("status", actualValue, 1U)); } NextTest(); @@ -99569,7 +99590,7 @@ class DL_Schedules : public TestCommandBridge { { id actualValue = values.status; - VerifyOrReturn(CheckValue("status", actualValue, 139U)); + VerifyOrReturn(CheckValue("status", actualValue, 1U)); } NextTest(); @@ -100329,11 +100350,11 @@ class DL_Schedules : public TestCommandBridge { } }; -class Test_TC_DLRK_2_2 : public TestCommandBridge { +class Test_TC_DRLK_2_2 : public TestCommandBridge { public: // NOLINTBEGIN(clang-analyzer-nullability.NullPassedToNonnull): Test constructor nullability not enforced - Test_TC_DLRK_2_2() - : TestCommandBridge("Test_TC_DLRK_2_2") + Test_TC_DRLK_2_2() + : TestCommandBridge("Test_TC_DRLK_2_2") , mTestIndex(0) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); @@ -100343,7 +100364,7 @@ class Test_TC_DLRK_2_2 : public TestCommandBridge { } // NOLINTEND(clang-analyzer-nullability.NullPassedToNonnull) - ~Test_TC_DLRK_2_2() {} + ~Test_TC_DRLK_2_2() {} /////////// TestCommand Interface ///////// void NextTest() override @@ -100351,11 +100372,11 @@ class Test_TC_DLRK_2_2 : public TestCommandBridge { CHIP_ERROR err = CHIP_NO_ERROR; if (0 == mTestIndex) { - ChipLogProgress(chipTool, " **** Test Start: Test_TC_DLRK_2_2\n"); + ChipLogProgress(chipTool, " **** Test Start: Test_TC_DRLK_2_2\n"); } if (mTestCount == mTestIndex) { - ChipLogProgress(chipTool, " **** Test Complete: Test_TC_DLRK_2_2\n"); + ChipLogProgress(chipTool, " **** Test Complete: Test_TC_DRLK_2_2\n"); SetCommandExitStatus(CHIP_NO_ERROR); return; } @@ -100374,64 +100395,124 @@ class Test_TC_DLRK_2_2 : public TestCommandBridge { case 1: ChipLogProgress( chipTool, " ***** Test Step 1 : TH writes the RequirePINforRemoteOperation attribute value as False on the DUT\n"); + if (ShouldSkip("DRLK.S.A0033")) { + NextTest(); + return; + } err = TestThWritesTheRequirePINforRemoteOperationAttributeValueAsFalseOnTheDut_1(); break; case 2: ChipLogProgress(chipTool, " ***** Test Step 2 : TH sends Lock Door Command to the DUT without PINCode\n"); + if (ShouldSkip("DRLK.S.C00.Rsp")) { + NextTest(); + return; + } err = TestThSendsLockDoorCommandToTheDutWithoutPINCode_2(); break; case 3: ChipLogProgress( chipTool, " ***** Test Step 3 : TH writes the RequirePINforRemoteOperation attribute value as True on the DUT\n"); + if (ShouldSkip("DRLK.S.A0033")) { + NextTest(); + return; + } err = TestThWritesTheRequirePINforRemoteOperationAttributeValueAsTrueOnTheDut_3(); break; case 4: ChipLogProgress(chipTool, " ***** Test Step 4 : Create new PIN credential and lock/unlock user\n"); + if (ShouldSkip("DRLK.S.C22.Rsp")) { + NextTest(); + return; + } err = TestCreateNewPinCredentialAndLockUnlockUser_4(); break; case 5: ChipLogProgress(chipTool, " ***** Test Step 5 : TH sends Lock Door Command to the DUT with valid PINCode\n"); + if (ShouldSkip("DRLK.S.C00.Rsp")) { + NextTest(); + return; + } err = TestThSendsLockDoorCommandToTheDutWithValidPINCode_5(); break; case 6: ChipLogProgress(chipTool, " ***** Test Step 6 : TH sends Lock Door Command to the DUT without any argument PINCode\n"); + if (ShouldSkip("DRLK.S.C00.Rsp")) { + NextTest(); + return; + } err = TestThSendsLockDoorCommandToTheDutWithoutAnyArgumentPINCode_6(); break; case 7: ChipLogProgress(chipTool, " ***** Test Step 7 : TH writes WrongCodeEntryLimit attribute value as 3 on the DUT\n"); + if (ShouldSkip("DRLK.S.A0030")) { + NextTest(); + return; + } err = TestThWritesWrongCodeEntryLimitAttributeValueAs3OnTheDut_7(); break; case 8: ChipLogProgress( chipTool, " ***** Test Step 8 : TH writes UserCodeTemporaryDisableTime attribute value as 5 seconds on the DUT\n"); + if (ShouldSkip("DRLK.S.A0031")) { + NextTest(); + return; + } err = TestThWritesUserCodeTemporaryDisableTimeAttributeValueAs5SecondsOnTheDut_8(); break; case 9: ChipLogProgress(chipTool, " ***** Test Step 9 : TH sends Lock Door Command to the DUT with invalid PINCode\n"); + if (ShouldSkip("DRLK.S.C00.Rsp")) { + NextTest(); + return; + } err = TestThSendsLockDoorCommandToTheDutWithInvalidPINCode_9(); break; case 10: ChipLogProgress(chipTool, " ***** Test Step 10 : TH sends Lock Door Command to the DUT with invalid PINCode\n"); + if (ShouldSkip("DRLK.S.C00.Rsp")) { + NextTest(); + return; + } err = TestThSendsLockDoorCommandToTheDutWithInvalidPINCode_10(); break; case 11: ChipLogProgress(chipTool, " ***** Test Step 11 : TH sends Lock Door Command to the DUT with invalid PINCode\n"); + if (ShouldSkip("DRLK.S.C00.Rsp")) { + NextTest(); + return; + } err = TestThSendsLockDoorCommandToTheDutWithInvalidPINCode_11(); break; case 12: ChipLogProgress(chipTool, " ***** Test Step 12 : TH sends Lock Door Command to the DUT with invalid PINCode\n"); + if (ShouldSkip("DRLK.S.C00.Rsp")) { + NextTest(); + return; + } err = TestThSendsLockDoorCommandToTheDutWithInvalidPINCode_12(); break; case 13: ChipLogProgress(chipTool, " ***** Test Step 13 : TH reads UserCodeTemporaryDisableTime attribute from DUT\n"); + if (ShouldSkip("DRLK.S.A0031")) { + NextTest(); + return; + } err = TestThReadsUserCodeTemporaryDisableTimeAttributeFromDut_13(); break; case 14: ChipLogProgress(chipTool, " ***** Test Step 14 : TH sends Lock Door Command to the DUT with valid PINCode\n"); + if (ShouldSkip("DRLK.S.C00.Rsp")) { + NextTest(); + return; + } err = TestThSendsLockDoorCommandToTheDutWithValidPINCode_14(); break; case 15: ChipLogProgress(chipTool, " ***** Test Step 15 : Clean the created credential\n"); + if (ShouldSkip("DRLK.S.C26.Rsp")) { + NextTest(); + return; + } err = TestCleanTheCreatedCredential_15(); break; } @@ -100854,11 +100935,11 @@ class Test_TC_DLRK_2_2 : public TestCommandBridge { } }; -class Test_TC_DLRK_2_3 : public TestCommandBridge { +class Test_TC_DRLK_2_3 : public TestCommandBridge { public: // NOLINTBEGIN(clang-analyzer-nullability.NullPassedToNonnull): Test constructor nullability not enforced - Test_TC_DLRK_2_3() - : TestCommandBridge("Test_TC_DLRK_2_3") + Test_TC_DRLK_2_3() + : TestCommandBridge("Test_TC_DRLK_2_3") , mTestIndex(0) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); @@ -100868,7 +100949,7 @@ class Test_TC_DLRK_2_3 : public TestCommandBridge { } // NOLINTEND(clang-analyzer-nullability.NullPassedToNonnull) - ~Test_TC_DLRK_2_3() {} + ~Test_TC_DRLK_2_3() {} /////////// TestCommand Interface ///////// void NextTest() override @@ -100876,11 +100957,11 @@ class Test_TC_DLRK_2_3 : public TestCommandBridge { CHIP_ERROR err = CHIP_NO_ERROR; if (0 == mTestIndex) { - ChipLogProgress(chipTool, " **** Test Start: Test_TC_DLRK_2_3\n"); + ChipLogProgress(chipTool, " **** Test Start: Test_TC_DRLK_2_3\n"); } if (mTestCount == mTestIndex) { - ChipLogProgress(chipTool, " **** Test Complete: Test_TC_DLRK_2_3\n"); + ChipLogProgress(chipTool, " **** Test Complete: Test_TC_DRLK_2_3\n"); SetCommandExitStatus(CHIP_NO_ERROR); return; } @@ -100898,22 +100979,42 @@ class Test_TC_DLRK_2_3 : public TestCommandBridge { break; case 1: ChipLogProgress(chipTool, " ***** Test Step 1 : Create new PIN credential and lock/unlock user\n"); + if (ShouldSkip("DRLK.S.C22.Rsp")) { + NextTest(); + return; + } err = TestCreateNewPinCredentialAndLockUnlockUser_1(); break; case 2: ChipLogProgress(chipTool, " ***** Test Step 2 : Precondition: Door is in locked state\n"); + if (ShouldSkip("DRLK.S.C00.Rsp")) { + NextTest(); + return; + } err = TestPreconditionDoorIsInLockedState_2(); break; case 3: ChipLogProgress(chipTool, " ***** Test Step 3 : TH writes AutoRelockTime attribute value as 10 seconds on the DUT\n"); + if (ShouldSkip("DRLK.S.A0023")) { + NextTest(); + return; + } err = TestThWritesAutoRelockTimeAttributeValueAs10SecondsOnTheDut_3(); break; case 4: ChipLogProgress(chipTool, " ***** Test Step 4 : TH sends the unlock Door command to the DUT with valid PINCode\n"); + if (ShouldSkip("DRLK.S.C01.Rsp")) { + NextTest(); + return; + } err = TestThSendsTheUnlockDoorCommandToTheDutWithValidPINCode_4(); break; case 5: ChipLogProgress(chipTool, " ***** Test Step 5 : TH reads AutoRelockTime attribute from DUT\n"); + if (ShouldSkip("DRLK.S.A0023")) { + NextTest(); + return; + } err = TestThReadsAutoRelockTimeAttributeFromDut_5(); break; case 6: @@ -100922,10 +101023,18 @@ class Test_TC_DLRK_2_3 : public TestCommandBridge { break; case 7: ChipLogProgress(chipTool, " ***** Test Step 7 : TH reads LockState attribute\n"); + if (ShouldSkip("DRLK.S.A0000")) { + NextTest(); + return; + } err = TestThReadsLockStateAttribute_7(); break; case 8: ChipLogProgress(chipTool, " ***** Test Step 8 : Clean the created credential\n"); + if (ShouldSkip("DRLK.S.C26.Rsp")) { + NextTest(); + return; + } err = TestCleanTheCreatedCredential_8(); break; } @@ -101175,11 +101284,11 @@ class Test_TC_DLRK_2_3 : public TestCommandBridge { } }; -class Test_TC_DLRK_2_4 : public TestCommandBridge { +class Test_TC_DRLK_2_4 : public TestCommandBridge { public: // NOLINTBEGIN(clang-analyzer-nullability.NullPassedToNonnull): Test constructor nullability not enforced - Test_TC_DLRK_2_4() - : TestCommandBridge("Test_TC_DLRK_2_4") + Test_TC_DRLK_2_4() + : TestCommandBridge("Test_TC_DRLK_2_4") , mTestIndex(0) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); @@ -101189,7 +101298,7 @@ class Test_TC_DLRK_2_4 : public TestCommandBridge { } // NOLINTEND(clang-analyzer-nullability.NullPassedToNonnull) - ~Test_TC_DLRK_2_4() {} + ~Test_TC_DRLK_2_4() {} /////////// TestCommand Interface ///////// void NextTest() override @@ -101197,11 +101306,11 @@ class Test_TC_DLRK_2_4 : public TestCommandBridge { CHIP_ERROR err = CHIP_NO_ERROR; if (0 == mTestIndex) { - ChipLogProgress(chipTool, " **** Test Start: Test_TC_DLRK_2_4\n"); + ChipLogProgress(chipTool, " **** Test Start: Test_TC_DRLK_2_4\n"); } if (mTestCount == mTestIndex) { - ChipLogProgress(chipTool, " **** Test Complete: Test_TC_DLRK_2_4\n"); + ChipLogProgress(chipTool, " **** Test Complete: Test_TC_DRLK_2_4\n"); SetCommandExitStatus(CHIP_NO_ERROR); return; } @@ -101219,22 +101328,42 @@ class Test_TC_DLRK_2_4 : public TestCommandBridge { break; case 1: ChipLogProgress(chipTool, " ***** Test Step 1 : Create new PIN credential and lock/unlock user\n"); + if (ShouldSkip("DRLK.S.C22.Rsp")) { + NextTest(); + return; + } err = TestCreateNewPinCredentialAndLockUnlockUser_1(); break; case 2: ChipLogProgress(chipTool, " ***** Test Step 2 : Precondition: Door is in locked state\n"); + if (ShouldSkip("DRLK.S.C00.Rsp")) { + NextTest(); + return; + } err = TestPreconditionDoorIsInLockedState_2(); break; case 3: ChipLogProgress(chipTool, " ***** Test Step 3 : TH writes AutoRelockTime attribute value as 10 seconds on the DUT\n"); + if (ShouldSkip("DRLK.S.A0023")) { + NextTest(); + return; + } err = TestThWritesAutoRelockTimeAttributeValueAs10SecondsOnTheDut_3(); break; case 4: ChipLogProgress(chipTool, " ***** Test Step 4 : TH sends the unlock with Timeout command to the DUT \n"); + if (ShouldSkip("DRLK.S.C03.Rsp")) { + NextTest(); + return; + } err = TestThSendsTheUnlockWithTimeoutCommandToTheDut_4(); break; case 5: ChipLogProgress(chipTool, " ***** Test Step 5 : TH reads AutoRelockTime attribute from DUT\n"); + if (ShouldSkip("DRLK.S.A0023")) { + NextTest(); + return; + } err = TestThReadsAutoRelockTimeAttributeFromDut_5(); break; case 6: @@ -101243,6 +101372,10 @@ class Test_TC_DLRK_2_4 : public TestCommandBridge { break; case 7: ChipLogProgress(chipTool, " ***** Test Step 7 : TH reads LockState attribute\n"); + if (ShouldSkip("DRLK.S.A0000")) { + NextTest(); + return; + } err = TestThReadsLockStateAttribute_7(); break; } @@ -101467,11 +101600,11 @@ class Test_TC_DLRK_2_4 : public TestCommandBridge { } }; -class Test_TC_DLRK_2_5 : public TestCommandBridge { +class Test_TC_DRLK_2_5 : public TestCommandBridge { public: // NOLINTBEGIN(clang-analyzer-nullability.NullPassedToNonnull): Test constructor nullability not enforced - Test_TC_DLRK_2_5() - : TestCommandBridge("Test_TC_DLRK_2_5") + Test_TC_DRLK_2_5() + : TestCommandBridge("Test_TC_DRLK_2_5") , mTestIndex(0) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); @@ -101481,7 +101614,7 @@ class Test_TC_DLRK_2_5 : public TestCommandBridge { } // NOLINTEND(clang-analyzer-nullability.NullPassedToNonnull) - ~Test_TC_DLRK_2_5() {} + ~Test_TC_DRLK_2_5() {} /////////// TestCommand Interface ///////// void NextTest() override @@ -101489,11 +101622,11 @@ class Test_TC_DLRK_2_5 : public TestCommandBridge { CHIP_ERROR err = CHIP_NO_ERROR; if (0 == mTestIndex) { - ChipLogProgress(chipTool, " **** Test Start: Test_TC_DLRK_2_5\n"); + ChipLogProgress(chipTool, " **** Test Start: Test_TC_DRLK_2_5\n"); } if (mTestCount == mTestIndex) { - ChipLogProgress(chipTool, " **** Test Complete: Test_TC_DLRK_2_5\n"); + ChipLogProgress(chipTool, " **** Test Complete: Test_TC_DRLK_2_5\n"); SetCommandExitStatus(CHIP_NO_ERROR); return; } @@ -101511,40 +101644,76 @@ class Test_TC_DLRK_2_5 : public TestCommandBridge { break; case 1: ChipLogProgress(chipTool, " ***** Test Step 1 : Create new PIN credential and lock/unlock user\n"); + if (ShouldSkip("DRLK.S.C22.Rsp")) { + NextTest(); + return; + } err = TestCreateNewPinCredentialAndLockUnlockUser_1(); break; case 2: ChipLogProgress(chipTool, " ***** Test Step 2 : Get Max number of Week Day schedules for user\n"); + if (ShouldSkip("DRLK.S.F04 && DRLK.S.A0014")) { + NextTest(); + return; + } err = TestGetMaxNumberOfWeekDaySchedulesForUser_2(); break; case 3: ChipLogProgress(chipTool, " ***** Test Step 3 : Get number of supported users\n"); + if (ShouldSkip("DRLK.S.F08 && DRLK.S.A0011")) { + NextTest(); + return; + } err = TestGetNumberOfSupportedUsers_3(); break; case 4: ChipLogProgress(chipTool, " ***** Test Step 4 : Send Set Week Day Schedule Command to DUT\n"); + if (ShouldSkip("DRLK.S.F04 && DRLK.S.C0B.Rsp")) { + NextTest(); + return; + } err = TestSendSetWeekDayScheduleCommandToDut_4(); break; case 5: ChipLogProgress(chipTool, " ***** Test Step 5 : send GetWeekDay Schedule Command \n"); + if (ShouldSkip("DRLK.S.F04 && DRLK.S.C0C.Rsp && DRLK.S.C0C.Tx")) { + NextTest(); + return; + } err = TestSendGetWeekDayScheduleCommand_5(); break; case 6: ChipLogProgress( chipTool, " ***** Test Step 6 : Send Set Week Day Schedule Command to DUT and verify INVALID_COMMAND response\n"); + if (ShouldSkip("DRLK.S.F04 && DRLK.S.C0B.Rsp")) { + NextTest(); + return; + } err = TestSendSetWeekDayScheduleCommandToDutAndVerifyInvalidCommandResponse_6(); break; case 7: ChipLogProgress( chipTool, " ***** Test Step 7 : send GetWeekDay Schedule Command to DUT and verify INVALID_COMMAND response\n"); + if (ShouldSkip("DRLK.S.F04 && DRLK.S.C0C.Rsp && DRLK.S.C0C.Tx")) { + NextTest(); + return; + } err = TestSendGetWeekDayScheduleCommandToDutAndVerifyInvalidCommandResponse_7(); break; case 8: ChipLogProgress(chipTool, " ***** Test Step 8 : Clear all week day schedules for the first user\n"); + if (ShouldSkip("DRLK.S.F04 && DRLK.S.C0D.Rsp")) { + NextTest(); + return; + } err = TestClearAllWeekDaySchedulesForTheFirstUser_8(); break; case 9: ChipLogProgress(chipTool, " ***** Test Step 9 : send GetWeekDay Schedule Command \n"); + if (ShouldSkip("DRLK.S.F04 && DRLK.S.C0C.Rsp && DRLK.S.C0C.Tx")) { + NextTest(); + return; + } err = TestSendGetWeekDayScheduleCommand_9(); break; } @@ -101981,11 +102150,11 @@ class Test_TC_DLRK_2_5 : public TestCommandBridge { } }; -class Test_TC_DLRK_2_7 : public TestCommandBridge { +class Test_TC_DRLK_2_7 : public TestCommandBridge { public: // NOLINTBEGIN(clang-analyzer-nullability.NullPassedToNonnull): Test constructor nullability not enforced - Test_TC_DLRK_2_7() - : TestCommandBridge("Test_TC_DLRK_2_7") + Test_TC_DRLK_2_7() + : TestCommandBridge("Test_TC_DRLK_2_7") , mTestIndex(0) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); @@ -101995,7 +102164,7 @@ class Test_TC_DLRK_2_7 : public TestCommandBridge { } // NOLINTEND(clang-analyzer-nullability.NullPassedToNonnull) - ~Test_TC_DLRK_2_7() {} + ~Test_TC_DRLK_2_7() {} /////////// TestCommand Interface ///////// void NextTest() override @@ -102003,11 +102172,11 @@ class Test_TC_DLRK_2_7 : public TestCommandBridge { CHIP_ERROR err = CHIP_NO_ERROR; if (0 == mTestIndex) { - ChipLogProgress(chipTool, " **** Test Start: Test_TC_DLRK_2_7\n"); + ChipLogProgress(chipTool, " **** Test Start: Test_TC_DRLK_2_7\n"); } if (mTestCount == mTestIndex) { - ChipLogProgress(chipTool, " **** Test Complete: Test_TC_DLRK_2_7\n"); + ChipLogProgress(chipTool, " **** Test Complete: Test_TC_DRLK_2_7\n"); SetCommandExitStatus(CHIP_NO_ERROR); return; } @@ -102033,46 +102202,86 @@ class Test_TC_DLRK_2_7 : public TestCommandBridge { break; case 3: ChipLogProgress(chipTool, " ***** Test Step 3 : Get Max number of year Day schedules for user\n"); + if (ShouldSkip("DRLK.S.F04 && DRLK.S.A0015")) { + NextTest(); + return; + } err = TestGetMaxNumberOfYearDaySchedulesForUser_3(); break; case 4: ChipLogProgress(chipTool, " ***** Test Step 4 : Get number of supported users\n"); + if (ShouldSkip("DRLK.C.F08 && DRLK.S.A0011")) { + NextTest(); + return; + } err = TestGetNumberOfSupportedUsers_4(); break; case 5: ChipLogProgress(chipTool, " ***** Test Step 5 : Send Set Year Day Schedule Command to DUT\n"); + if (ShouldSkip("DRLK.S.F04 && DRLK.S.C0E.Rsp")) { + NextTest(); + return; + } err = TestSendSetYearDayScheduleCommandToDut_5(); break; case 6: ChipLogProgress(chipTool, " ***** Test Step 6 : send Get Year Day Schedule Command\n"); + if (ShouldSkip("DRLK.S.F04 && DRLK.S.C0F.Rsp && DRLK.S.C0F.Tx")) { + NextTest(); + return; + } err = TestSendGetYearDayScheduleCommand_6(); break; case 7: ChipLogProgress( chipTool, " ***** Test Step 7 : Send Set Year Day Schedule Command to DUT and verify INVALID_COMMAND response\n"); + if (ShouldSkip("DRLK.S.C0E.Rsp")) { + NextTest(); + return; + } err = TestSendSetYearDayScheduleCommandToDutAndVerifyInvalidCommandResponse_7(); break; case 8: ChipLogProgress( chipTool, " ***** Test Step 8 : send Get Year Day Schedule Command to DUT and Verify INVALID_FIELD response\n"); + if (ShouldSkip("DRLK.S.F04 && DRLK.S.C0F.Rsp && DRLK.S.C0F.Tx")) { + NextTest(); + return; + } err = TestSendGetYearDayScheduleCommandToDutAndVerifyInvalidFieldResponse_8(); break; case 9: ChipLogProgress( - chipTool, " ***** Test Step 9 : send Get Year Day Schedule Command to DUT and verify NOT_FOUND response\n"); - err = TestSendGetYearDayScheduleCommandToDutAndVerifyNotFoundResponse_9(); + chipTool, " ***** Test Step 9 : send Get Year Day Schedule Command to DUT and verify FAILURE response\n"); + if (ShouldSkip("DRLK.S.F04 && DRLK.S.C0F.Rsp && DRLK.S.C0F.Tx")) { + NextTest(); + return; + } + err = TestSendGetYearDayScheduleCommandToDutAndVerifyFailureResponse_9(); break; case 10: ChipLogProgress( chipTool, " ***** Test Step 10 : send Get Year Day Schedule Command to DUT and verify NOT_FOUND response \n"); + if (ShouldSkip("DRLK.S.F04 && DRLK.S.C0F.Rsp && DRLK.S.C0F.Tx")) { + NextTest(); + return; + } err = TestSendGetYearDayScheduleCommandToDutAndVerifyNotFoundResponse_10(); break; case 11: ChipLogProgress(chipTool, " ***** Test Step 11 : Send Set Year Day Schedule Command to DUT\n"); + if (ShouldSkip("DRLK.S.C0E.Rsp")) { + NextTest(); + return; + } err = TestSendSetYearDayScheduleCommandToDut_11(); break; case 12: ChipLogProgress(chipTool, " ***** Test Step 12 : send Get Year Day Schedule Command \n"); + if (ShouldSkip("DRLK.S.F04 && DRLK.S.C0F.Rsp && DRLK.S.C0F.Tx")) { + NextTest(); + return; + } err = TestSendGetYearDayScheduleCommand_12(); break; } @@ -102435,7 +102644,7 @@ class Test_TC_DLRK_2_7 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestSendGetYearDayScheduleCommandToDutAndVerifyNotFoundResponse_9() + CHIP_ERROR TestSendGetYearDayScheduleCommandToDutAndVerifyFailureResponse_9() { MTRDevice * device = GetDevice("alpha"); MTRTestDoorLock * cluster = [[MTRTestDoorLock alloc] initWithDevice:device endpoint:1 queue:mCallbackQueue]; @@ -102447,7 +102656,7 @@ class Test_TC_DLRK_2_7 : public TestCommandBridge { [cluster getYearDayScheduleWithParams:params completionHandler:^( MTRDoorLockClusterGetYearDayScheduleResponseParams * _Nullable values, NSError * _Nullable err) { - NSLog(@"send Get Year Day Schedule Command to DUT and verify NOT_FOUND response Error: %@", err); + NSLog(@"send Get Year Day Schedule Command to DUT and verify FAILURE response Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -102463,7 +102672,7 @@ class Test_TC_DLRK_2_7 : public TestCommandBridge { { id actualValue = values.status; - VerifyOrReturn(CheckValue("status", actualValue, 139U)); + VerifyOrReturn(CheckValue("status", actualValue, 1U)); } VerifyOrReturn(CheckConstraintHasValue("localStartTime", values.localStartTime, false)); @@ -102596,11 +102805,11 @@ class Test_TC_DLRK_2_7 : public TestCommandBridge { } }; -class Test_TC_DLRK_2_9 : public TestCommandBridge { +class Test_TC_DRLK_2_9 : public TestCommandBridge { public: // NOLINTBEGIN(clang-analyzer-nullability.NullPassedToNonnull): Test constructor nullability not enforced - Test_TC_DLRK_2_9() - : TestCommandBridge("Test_TC_DLRK_2_9") + Test_TC_DRLK_2_9() + : TestCommandBridge("Test_TC_DRLK_2_9") , mTestIndex(0) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); @@ -102610,7 +102819,7 @@ class Test_TC_DLRK_2_9 : public TestCommandBridge { } // NOLINTEND(clang-analyzer-nullability.NullPassedToNonnull) - ~Test_TC_DLRK_2_9() {} + ~Test_TC_DRLK_2_9() {} /////////// TestCommand Interface ///////// void NextTest() override @@ -102618,11 +102827,11 @@ class Test_TC_DLRK_2_9 : public TestCommandBridge { CHIP_ERROR err = CHIP_NO_ERROR; if (0 == mTestIndex) { - ChipLogProgress(chipTool, " **** Test Start: Test_TC_DLRK_2_9\n"); + ChipLogProgress(chipTool, " **** Test Start: Test_TC_DRLK_2_9\n"); } if (mTestCount == mTestIndex) { - ChipLogProgress(chipTool, " **** Test Complete: Test_TC_DLRK_2_9\n"); + ChipLogProgress(chipTool, " **** Test Complete: Test_TC_DRLK_2_9\n"); SetCommandExitStatus(CHIP_NO_ERROR); return; } @@ -102641,66 +102850,130 @@ class Test_TC_DLRK_2_9 : public TestCommandBridge { case 1: ChipLogProgress( chipTool, " ***** Test Step 1 : TH reads NumberOfTotalUsersSupported attribute and saves for future use.\n"); + if (ShouldSkip("DRLK.C.F08 && DRLK.S.A0011")) { + NextTest(); + return; + } err = TestThReadsNumberOfTotalUsersSupportedAttributeAndSavesForFutureUse_1(); break; case 2: ChipLogProgress(chipTool, " ***** Test Step 2 : TH sends Set Credential Command to DUT\n"); + if (ShouldSkip("DRLK.S.F08 && DRLK.S.C22.Rsp && DRLK.S.C23.Tx")) { + NextTest(); + return; + } err = TestThSendsSetCredentialCommandToDut_2(); break; case 3: ChipLogProgress(chipTool, " ***** Test Step 3 : TH sends Get Credential Status Command\n"); + if (ShouldSkip("DRLK.S.F08 && DRLK.S.C24.Rsp && DRLK.S.C25.Tx")) { + NextTest(); + return; + } err = TestThSendsGetCredentialStatusCommand_3(); break; case 4: ChipLogProgress(chipTool, " ***** Test Step 4 : TH sends Set Credential Command to DUT\n"); + if (ShouldSkip("DRLK.S.F08 && DRLK.S.C22.Rsp && DRLK.S.C23.Tx")) { + NextTest(); + return; + } err = TestThSendsSetCredentialCommandToDut_4(); break; case 5: ChipLogProgress(chipTool, " ***** Test Step 5 : TH sends Set Credential Command to DUT\n"); + if (ShouldSkip("DRLK.S.F08 && DRLK.S.C22.Rsp && DRLK.S.C23.Tx")) { + NextTest(); + return; + } err = TestThSendsSetCredentialCommandToDut_5(); break; case 6: ChipLogProgress(chipTool, " ***** Test Step 6 : TH sends Set Credential Command to DUT\n"); + if (ShouldSkip("DRLK.S.F08 && DRLK.S.C22.Rsp && DRLK.S.C23.Tx")) { + NextTest(); + return; + } err = TestThSendsSetCredentialCommandToDut_6(); break; case 7: ChipLogProgress(chipTool, " ***** Test Step 7 : TH sends Set Credential Command to DUT\n"); + if (ShouldSkip("DRLK.S.F08 && DRLK.S.C22.Rsp && DRLK.S.C23.Tx")) { + NextTest(); + return; + } err = TestThSendsSetCredentialCommandToDut_7(); break; case 8: ChipLogProgress(chipTool, " ***** Test Step 8 : TH sends Set Credential Command to DUT\n"); + if (ShouldSkip("DRLK.S.F08 && DRLK.S.C22.Rsp && DRLK.S.C23.Tx")) { + NextTest(); + return; + } err = TestThSendsSetCredentialCommandToDut_8(); break; case 9: ChipLogProgress(chipTool, " ***** Test Step 9 : TH sends Clear Credential Command to DUT\n"); + if (ShouldSkip("DRLK.S.F08 && DRLK.S.C26.Rsp")) { + NextTest(); + return; + } err = TestThSendsClearCredentialCommandToDut_9(); break; case 10: ChipLogProgress(chipTool, " ***** Test Step 10 : TH sends Set Credential Command to DUT\n"); + if (ShouldSkip("DRLK.S.F08 && DRLK.S.C22.Rsp && DRLK.S.C23.Tx")) { + NextTest(); + return; + } err = TestThSendsSetCredentialCommandToDut_10(); break; case 11: ChipLogProgress(chipTool, " ***** Test Step 11 : TH sends Clear Credential Command to DUT\n"); + if (ShouldSkip("DRLK.S.F08 && DRLK.S.C26.Rsp")) { + NextTest(); + return; + } err = TestThSendsClearCredentialCommandToDut_11(); break; case 12: ChipLogProgress(chipTool, " ***** Test Step 12 : TH sends Set Credential Command to DUT\n"); + if (ShouldSkip("DRLK.S.F08 && DRLK.S.C22.Rsp && DRLK.S.C23.Tx")) { + NextTest(); + return; + } err = TestThSendsSetCredentialCommandToDut_12(); break; case 13: ChipLogProgress(chipTool, " ***** Test Step 13 : TH sends Clear Credential Command to DUT\n"); + if (ShouldSkip("DRLK.S.F08 && DRLK.S.C26.Rsp")) { + NextTest(); + return; + } err = TestThSendsClearCredentialCommandToDut_13(); break; case 14: ChipLogProgress(chipTool, " ***** Test Step 14 : TH sends Get Credential Status Command\n"); + if (ShouldSkip("DRLK.S.F08 && DRLK.S.C24.Rsp && DRLK.S.C25.Tx")) { + NextTest(); + return; + } err = TestThSendsGetCredentialStatusCommand_14(); break; case 15: ChipLogProgress(chipTool, " ***** Test Step 15 : TH sends Set Credential Command to DUT\n"); + if (ShouldSkip("DRLK.S.F08 && DRLK.S.C22.Rsp && DRLK.S.C23.Tx")) { + NextTest(); + return; + } err = TestThSendsSetCredentialCommandToDut_15(); break; case 16: ChipLogProgress(chipTool, " ***** Test Step 16 : TH sends Clear Credential Command to DUT\n"); + if (ShouldSkip("DRLK.S.F08 && DRLK.S.C26.Rsp")) { + NextTest(); + return; + } err = TestThSendsClearCredentialCommandToDut_16(); break; } @@ -104983,7 +105256,7 @@ void registerCommandsTests(Commands & commands) make_unique(), make_unique(), make_unique(), - make_unique(), + make_unique(), make_unique(), make_unique(), make_unique(), @@ -105040,12 +105313,12 @@ void registerCommandsTests(Commands & commands) make_unique(), make_unique(), make_unique(), - make_unique(), - make_unique(), - make_unique(), - make_unique(), - make_unique(), - make_unique(), + make_unique(), + make_unique(), + make_unique(), + make_unique(), + make_unique(), + make_unique(), make_unique(), make_unique(), #endif // CONFIG_ENABLE_YAML_TESTS