diff --git a/src/include/platform/ConfigurationManager.h b/src/include/platform/ConfigurationManager.h index e846e420f5dc79..29addac5cb88d4 100644 --- a/src/include/platform/ConfigurationManager.h +++ b/src/include/platform/ConfigurationManager.h @@ -124,7 +124,9 @@ class ConfigurationManager virtual CHIP_ERROR GetBLEDeviceIdentificationInfo(Ble::ChipBLEDeviceIdentificationInfo & deviceIdInfo) = 0; - virtual CHIP_ERROR RunUnitTests() = 0; +#if CHIP_CONFIG_TEST + virtual void RunUnitTests() = 0; +#endif virtual bool IsFullyProvisioned() = 0; virtual void InitiateFactoryReset() = 0; diff --git a/src/include/platform/internal/GenericConfigurationManagerImpl.h b/src/include/platform/internal/GenericConfigurationManagerImpl.h index 21310be54641d9..fa7e19503f845e 100644 --- a/src/include/platform/internal/GenericConfigurationManagerImpl.h +++ b/src/include/platform/internal/GenericConfigurationManagerImpl.h @@ -103,7 +103,9 @@ class GenericConfigurationManagerImpl : public ConfigurationManager CHIP_ERROR GetUniqueId(char * buf, size_t bufSize) override; CHIP_ERROR StoreUniqueId(const char * uniqueId, size_t uniqueIdLen) override; CHIP_ERROR GenerateUniqueId(char * buf, size_t bufSize) override; - CHIP_ERROR RunUnitTests(void) override; +#if CHIP_CONFIG_TEST + void RunUnitTests() override; +#endif bool IsFullyProvisioned() override; void InitiateFactoryReset() override; #if CHIP_ENABLE_ADDITIONAL_DATA_ADVERTISING diff --git a/src/include/platform/internal/GenericConfigurationManagerImpl.ipp b/src/include/platform/internal/GenericConfigurationManagerImpl.ipp index 4f77ae9f975162..60493db5b678cf 100644 --- a/src/include/platform/internal/GenericConfigurationManagerImpl.ipp +++ b/src/include/platform/internal/GenericConfigurationManagerImpl.ipp @@ -663,15 +663,14 @@ CHIP_ERROR GenericConfigurationManagerImpl::GetSecondaryPairingInst return CHIP_NO_ERROR; } +#if CHIP_CONFIG_TEST template -CHIP_ERROR GenericConfigurationManagerImpl::RunUnitTests() +void GenericConfigurationManagerImpl::RunUnitTests() { -#if !defined(NDEBUG) ChipLogProgress(DeviceLayer, "Running configuration unit test"); RunConfigUnitTest(); -#endif - return CHIP_NO_ERROR; } +#endif template void GenericConfigurationManagerImpl::LogDeviceConfig() diff --git a/src/platform/Zephyr/ConfigurationManagerImpl.cpp b/src/platform/Zephyr/ConfigurationManagerImpl.cpp index 378e35e1006fe3..1c357a92a952f3 100644 --- a/src/platform/Zephyr/ConfigurationManagerImpl.cpp +++ b/src/platform/Zephyr/ConfigurationManagerImpl.cpp @@ -168,9 +168,11 @@ CHIP_ERROR ConfigurationManagerImpl::WriteConfigValueBin(Key key, const uint8_t return ZephyrConfig::WriteConfigValueBin(key, data, dataLen); } -void ConfigurationManagerImpl::RunConfigUnitTest(void) +void ConfigurationManagerImpl::RunConfigUnitTest() { +#if CHIP_CONFIG_TEST ZephyrConfig::RunConfigUnitTest(); +#endif } void ConfigurationManagerImpl::DoFactoryReset(intptr_t arg) diff --git a/src/platform/Zephyr/ConfigurationManagerImpl.h b/src/platform/Zephyr/ConfigurationManagerImpl.h index 87f9e30335b8fc..ad29e813384c52 100644 --- a/src/platform/Zephyr/ConfigurationManagerImpl.h +++ b/src/platform/Zephyr/ConfigurationManagerImpl.h @@ -67,7 +67,7 @@ class ConfigurationManagerImpl : public Internal::GenericConfigurationManagerImp CHIP_ERROR WriteConfigValueStr(Key key, const char * str) override; CHIP_ERROR WriteConfigValueStr(Key key, const char * str, size_t strLen) override; CHIP_ERROR WriteConfigValueBin(Key key, const uint8_t * data, size_t dataLen) override; - void RunConfigUnitTest(void) override; + void RunConfigUnitTest() override; // ===== Private members reserved for use by this class only. diff --git a/src/platform/fake/ConfigurationManagerImpl.h b/src/platform/fake/ConfigurationManagerImpl.h index 9347d22052c247..510b2fc0dacc83 100644 --- a/src/platform/fake/ConfigurationManagerImpl.h +++ b/src/platform/fake/ConfigurationManagerImpl.h @@ -85,8 +85,8 @@ class ConfigurationManagerImpl : public ConfigurationManager CHIP_ERROR GetUniqueId(char * buf, size_t bufSize) override { return CHIP_ERROR_NOT_IMPLEMENTED; } CHIP_ERROR StoreUniqueId(const char * uniqueId, size_t uniqueIdLen) override { return CHIP_ERROR_NOT_IMPLEMENTED; } CHIP_ERROR GenerateUniqueId(char * buf, size_t bufSize) override { return CHIP_ERROR_NOT_IMPLEMENTED; } -#if !defined(NDEBUG) - CHIP_ERROR RunUnitTests(void) override { return CHIP_ERROR_NOT_IMPLEMENTED; } +#if CHIP_CONFIG_TEST + void RunUnitTests() override {} #endif bool IsFullyProvisioned() override { return false; } void LogDeviceConfig() override {} diff --git a/src/platform/tests/TestConfigurationMgr.cpp b/src/platform/tests/TestConfigurationMgr.cpp index a113594868ad2c..07cbec3c357c94 100644 --- a/src/platform/tests/TestConfigurationMgr.cpp +++ b/src/platform/tests/TestConfigurationMgr.cpp @@ -55,15 +55,17 @@ static void TestPlatformMgr_Init(nlTestSuite * inSuite, void * inContext) NL_TEST_ASSERT(inSuite, err == CHIP_NO_ERROR); } -#if !defined(NDEBUG) static void TestPlatformMgr_RunUnitTest(nlTestSuite * inSuite, void * inContext) { - CHIP_ERROR err = CHIP_NO_ERROR; +#if CHIP_DEVICE_LAYER_TARGET_OPEN_IOT_SDK + // TODO: Fix RunUnitTests() for Open IOT SDK. + // Previously, TestPlatformMgr_RunUnitTest was only run if !NDEBUG while the Open IOT SDK + // test runner was built with NDEBUG set. + return; +#endif - err = ConfigurationMgr().RunUnitTests(); - NL_TEST_ASSERT(inSuite, err == CHIP_NO_ERROR); + ConfigurationMgr().RunUnitTests(); } -#endif static void TestConfigurationMgr_SerialNumber(nlTestSuite * inSuite, void * inContext) { @@ -450,9 +452,7 @@ static void TestConfigurationMgr_GetProductId(nlTestSuite * inSuite, void * inCo */ static const nlTest sTests[] = { NL_TEST_DEF("Test PlatformMgr::Init", TestPlatformMgr_Init), -#if !defined(NDEBUG) NL_TEST_DEF("Test PlatformMgr::RunUnitTest", TestPlatformMgr_RunUnitTest), -#endif NL_TEST_DEF("Test ConfigurationMgr::SerialNumber", TestConfigurationMgr_SerialNumber), NL_TEST_DEF("Test ConfigurationMgr::UniqueId", TestConfigurationMgr_UniqueId), NL_TEST_DEF("Test ConfigurationMgr::ManufacturingDate", TestConfigurationMgr_ManufacturingDate),