From ba5263911649cb40f2a138ff007b1f4d9fe1b9c3 Mon Sep 17 00:00:00 2001 From: feasel <120589145+feasel0@users.noreply.github.com> Date: Fri, 18 Oct 2024 17:04:27 -0400 Subject: [PATCH] Re-enabling unit tests for EFR32 which had been disabled due to flash limitations (#35456) * Removed as many efr32 checks as possible without having to make code modifications * Updated comments to show error message * Restyled by clang-format * Comment updates * ci testing 1 * Re-added suites * . * . * comment icd tests * removed 5 tests from line 112 * re-enable app/tests in the main tests group * reverted to original (with inconsequential mods) * (addendum) Now actually reverted back to original state (with inconsequential mods) * moved 4 dirs up into the main tests lists * enabled 3-test-set for efr32 * moved tracing tests out of the if * enable platform tests for efr32 * enabled controller and datamodel tests but not the stuff in controller * enabled all tests in controller * add transport tests back in * enabled data_model Test[Commands,Read,Write] * commands is in, read/write is out * added TestRead * Added TestWrite, removed TestRead * src/app/tests remains disabled * changed c-style cast to static_cast * Added TestTLVVectorWriter.cpp back in * comment update * restyle fixes * restyle fixes --------- Co-authored-by: Restyled.io --- src/BUILD.gn | 43 ++++++++++------------ src/controller/tests/BUILD.gn | 32 ++++++++++------ src/controller/tests/TestReadChunking.cpp | 2 +- src/controller/tests/TestWriteChunking.cpp | 2 +- src/controller/tests/data_model/BUILD.gn | 8 ++-- src/lib/core/tests/BUILD.gn | 7 +--- src/transport/tests/BUILD.gn | 5 +-- 7 files changed, 51 insertions(+), 48 deletions(-) diff --git a/src/BUILD.gn b/src/BUILD.gn index e70025151c852b..722e0c8278582a 100644 --- a/src/BUILD.gn +++ b/src/BUILD.gn @@ -50,21 +50,25 @@ if (chip_build_tests) { chip_test_group("tests") { deps = [] tests = [ + "${chip_root}/src/access/tests", "${chip_root}/src/app/data-model/tests", "${chip_root}/src/app/cluster-building-blocks/tests", "${chip_root}/src/app/data-model-provider/tests", - "${chip_root}/src/access/tests", + "${chip_root}/src/app/icd/server/tests", "${chip_root}/src/crypto/tests", "${chip_root}/src/inet/tests", "${chip_root}/src/lib/address_resolve/tests", "${chip_root}/src/lib/asn1/tests", "${chip_root}/src/lib/core/tests", + "${chip_root}/src/lib/format/tests", "${chip_root}/src/messaging/tests", "${chip_root}/src/protocols/bdx/tests", "${chip_root}/src/protocols/interaction_model/tests", + "${chip_root}/src/protocols/secure_channel/tests", "${chip_root}/src/protocols/user_directed_commissioning/tests", + "${chip_root}/src/system/tests", "${chip_root}/src/transport/retransmit/tests", - "${chip_root}/src/app/icd/server/tests", + "${chip_root}/src/transport/tests", ] # Skip DNSSD tests for Mbed platform due to flash memory size limitations @@ -81,14 +85,12 @@ if (chip_build_tests) { tests += [ "${chip_root}/src/lib/dnssd/minimal_mdns/records/tests" ] } - if (current_os != "zephyr" && current_os != "mbed" && - chip_device_platform != "efr32") { + if (current_os != "zephyr" && current_os != "mbed") { # Avoid these items from "one single binary" test executions. Once tests - # are split, we can re-visit this (and likely many others) + # are split, we can re-visit this (and likely many others). # - # In particular: - # "app/codegen-data-model-provider/tests" contains symbols for ember mocks which - # are used by other tests + # In particular: "app/codegen-data-model-provider/tests" contains + # symbols for ember mocks which are used by other tests. tests += [ "${chip_root}/src/app/codegen-data-model-provider/tests", @@ -97,30 +99,27 @@ if (chip_build_tests) { ] } - # Skip on efr32 due to flash and/or ram limitations. if (chip_device_platform != "efr32") { + tests += [ "${chip_root}/src/app/tests" ] + + # Disabled for EFR32 because _open is not implemented. + # https://github.com/project-chip/connectedhomeip/issues/35624 tests += [ - "${chip_root}/src/app/tests", "${chip_root}/src/credentials/tests", - "${chip_root}/src/lib/format/tests", "${chip_root}/src/lib/support/tests", - "${chip_root}/src/protocols/secure_channel/tests", - "${chip_root}/src/system/tests", - "${chip_root}/src/transport/tests", ] + } - if (matter_enable_tracing_support && - matter_trace_config == "${chip_root}/src/tracing/multiplexed") { - tests += [ "${chip_root}/src/tracing/tests" ] - } + if (matter_enable_tracing_support && + matter_trace_config == "${chip_root}/src/tracing/multiplexed") { + tests += [ "${chip_root}/src/tracing/tests" ] } if (chip_device_platform != "none") { tests += [ "${chip_root}/src/lib/dnssd/minimal_mdns/tests" ] } - if (chip_device_platform != "esp32" && chip_device_platform != "efr32" && - chip_device_platform != "ameba") { + if (chip_device_platform != "esp32" && chip_device_platform != "ameba") { tests += [ "${chip_root}/src/platform/tests" ] } @@ -130,9 +129,7 @@ if (chip_build_tests) { # On nrfconnect, the controller tests run into # https://github.com/project-chip/connectedhomeip/issues/9630 - if (chip_device_platform != "nrfconnect" && - chip_device_platform != "efr32") { - # Doesn't compile on ef32. Multiple definitions issues with attribute storage and overflows flash memory. + if (chip_device_platform != "nrfconnect") { tests += [ "${chip_root}/src/controller/tests/data_model" ] # Skip controller test for Open IoT SDK diff --git a/src/controller/tests/BUILD.gn b/src/controller/tests/BUILD.gn index a1d7b9433075b7..a7389c59ae569e 100644 --- a/src/controller/tests/BUILD.gn +++ b/src/controller/tests/BUILD.gn @@ -21,17 +21,27 @@ import("${chip_root}/build/chip/chip_test_suite.gni") chip_test_suite("tests") { output_name = "libControllerTests" - test_sources = [ "TestCommissionableNodeController.cpp" ] - - if (chip_device_platform != "mbed" && chip_device_platform != "efr32" && - chip_device_platform != "esp32") { - test_sources += [ "TestServerCommandDispatch.cpp" ] - test_sources += [ "TestEventChunking.cpp" ] - test_sources += [ "TestEventCaching.cpp" ] - test_sources += [ "TestReadChunking.cpp" ] - test_sources += [ "TestWriteChunking.cpp" ] - test_sources += [ "TestEventNumberCaching.cpp" ] - test_sources += [ "TestCommissioningWindowOpener.cpp" ] + test_sources = [] + + # Not supported on efr32. + if (chip_device_platform != "efr32") { + test_sources += [ "TestCommissionableNodeController.cpp" ] + } + + if (chip_device_platform != "mbed" && chip_device_platform != "esp32") { + test_sources += [ + "TestEventCaching.cpp", + "TestEventChunking.cpp", + "TestEventNumberCaching.cpp", + "TestReadChunking.cpp", + "TestServerCommandDispatch.cpp", + "TestWriteChunking.cpp", + ] + + # Not supported on efr32. + if (chip_device_platform != "efr32") { + test_sources += [ "TestCommissioningWindowOpener.cpp" ] + } } cflags = [ "-Wconversion" ] diff --git a/src/controller/tests/TestReadChunking.cpp b/src/controller/tests/TestReadChunking.cpp index 4f2251b857b259..989d91005290fe 100644 --- a/src/controller/tests/TestReadChunking.cpp +++ b/src/controller/tests/TestReadChunking.cpp @@ -576,7 +576,7 @@ TEST_F(TestReadChunking, TestListChunking) { TestReadCallback readCallback; - ChipLogDetail(DataManagement, "Running iteration %d\n", packetSize); + ChipLogDetail(DataManagement, "Running iteration %d\n", static_cast(packetSize)); gIterationCount = packetSize; diff --git a/src/controller/tests/TestWriteChunking.cpp b/src/controller/tests/TestWriteChunking.cpp index 5bb7ef95214ce9..4efc09818694e2 100644 --- a/src/controller/tests/TestWriteChunking.cpp +++ b/src/controller/tests/TestWriteChunking.cpp @@ -231,7 +231,7 @@ TEST_F(TestWriteChunking, TestListChunking) CHIP_ERROR err = CHIP_NO_ERROR; TestWriteCallback writeCallback; - ChipLogDetail(DataManagement, "Running iteration %d\n", i); + ChipLogDetail(DataManagement, "Running iteration %d\n", static_cast(i)); gIterationCount = i; diff --git a/src/controller/tests/data_model/BUILD.gn b/src/controller/tests/data_model/BUILD.gn index 9bf2eac9391bac..ca0f8a30afede3 100644 --- a/src/controller/tests/data_model/BUILD.gn +++ b/src/controller/tests/data_model/BUILD.gn @@ -29,13 +29,15 @@ chip_test_suite("data_model") { ] test_sources = [] - if (chip_device_platform != "mbed" && chip_device_platform != "efr32" && - chip_device_platform != "esp32" && chip_device_platform != "fake") { + if (chip_device_platform != "mbed" && chip_device_platform != "esp32" && + chip_device_platform != "fake") { test_sources += [ "TestCommands.cpp", - "TestRead.cpp", "TestWrite.cpp", ] + if (chip_device_platform != "efr32") { + test_sources += [ "TestRead.cpp" ] + } } public_deps = [ diff --git a/src/lib/core/tests/BUILD.gn b/src/lib/core/tests/BUILD.gn index 264de2c8aafe6b..fd00915c595427 100644 --- a/src/lib/core/tests/BUILD.gn +++ b/src/lib/core/tests/BUILD.gn @@ -31,14 +31,9 @@ chip_test_suite("tests") { "TestOptional.cpp", "TestReferenceCounted.cpp", "TestTLV.cpp", + "TestTLVVectorWriter.cpp", ] - # requires large amount of heap for multiple unfragmented 10k buffers - # skip for efr32 to allow flash space for other tests - if (chip_device_platform != "efr32") { - test_sources += [ "TestTLVVectorWriter.cpp" ] - } - cflags = [ "-Wconversion" ] public_deps = [ diff --git a/src/transport/tests/BUILD.gn b/src/transport/tests/BUILD.gn index f0be95ff5ac8dd..3736f8b69cef3e 100644 --- a/src/transport/tests/BUILD.gn +++ b/src/transport/tests/BUILD.gn @@ -44,9 +44,8 @@ chip_test_suite("tests") { "TestSessionManagerDispatch.cpp", ] - if (chip_device_platform != "mbed" && chip_device_platform != "efr32" && - chip_device_platform != "esp32" && chip_device_platform != "nrfconnect" && - chip_device_platform != "nxp") { + if (chip_device_platform != "mbed" && chip_device_platform != "esp32" && + chip_device_platform != "nrfconnect" && chip_device_platform != "nxp") { test_sources += [ "TestSecureSessionTable.cpp" ] }