From f27b978f668c2c2c0f2cdf397c2d8b91deb310e7 Mon Sep 17 00:00:00 2001 From: feasel <120589145+feasel0@users.noreply.github.com> Date: Thu, 25 Apr 2024 09:45:16 -0400 Subject: [PATCH] Updated unit tests in src/transport/retransmit/tests/ to use PW instead of NL. (#33157) * Updated unit tests in src/transport/tests/ to use PW instead of NL. * Restyle --------- Co-authored-by: Andrei Litvin --- .../openiotsdk/unit-tests/test_components.txt | 1 + .../unit-tests/test_components_nl.txt | 1 - src/transport/retransmit/tests/BUILD.gn | 10 +- src/transport/retransmit/tests/TestCache.cpp | 195 ++++++++---------- 4 files changed, 88 insertions(+), 119 deletions(-) diff --git a/src/test_driver/openiotsdk/unit-tests/test_components.txt b/src/test_driver/openiotsdk/unit-tests/test_components.txt index c874d341b2d58c..4a61ab84fd3a60 100644 --- a/src/test_driver/openiotsdk/unit-tests/test_components.txt +++ b/src/test_driver/openiotsdk/unit-tests/test_components.txt @@ -10,6 +10,7 @@ CoreTests MdnsTests CredentialsTest PlatformTests +RetransmitTests TestShell SetupPayloadTests SupportTests diff --git a/src/test_driver/openiotsdk/unit-tests/test_components_nl.txt b/src/test_driver/openiotsdk/unit-tests/test_components_nl.txt index 2d1633c33228e7..64f1862acfdf6a 100644 --- a/src/test_driver/openiotsdk/unit-tests/test_components_nl.txt +++ b/src/test_driver/openiotsdk/unit-tests/test_components_nl.txt @@ -3,7 +3,6 @@ DataModelTests InetLayerTests MessagingLayerTests RawTransportTests -RetransmitTests SecureChannelTests SetupPayloadTestsNL SupportTestsNL diff --git a/src/transport/retransmit/tests/BUILD.gn b/src/transport/retransmit/tests/BUILD.gn index a3e2333b4d6b7d..cd762b2c755571 100644 --- a/src/transport/retransmit/tests/BUILD.gn +++ b/src/transport/retransmit/tests/BUILD.gn @@ -14,20 +14,16 @@ import("//build_overrides/build.gni") import("//build_overrides/chip.gni") -import("//build_overrides/nlunit_test.gni") +import("//build_overrides/pigweed.gni") import("${chip_root}/build/chip/chip_test_suite.gni") -chip_test_suite_using_nltest("tests") { +chip_test_suite("tests") { output_name = "libRetransmitTests" cflags = [ "-Wconversion" ] test_sources = [ "TestCache.cpp" ] - public_deps = [ - "${chip_root}/src/lib/support:testing_nlunit", - "${chip_root}/src/transport/retransmit", - "${nlunit_test_root}:nlunit-test", - ] + public_deps = [ "${chip_root}/src/transport/retransmit" ] } diff --git a/src/transport/retransmit/tests/TestCache.cpp b/src/transport/retransmit/tests/TestCache.cpp index fefdbca67250ec..6142f4910dbf44 100644 --- a/src/transport/retransmit/tests/TestCache.cpp +++ b/src/transport/retransmit/tests/TestCache.cpp @@ -14,11 +14,10 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -#include #include #include -#include +#include // Helpers for simple payload management namespace { @@ -45,18 +44,16 @@ class TestableCache : public chip::Retransmit::Cache class IntPayloadTracker { public: - void Init(nlTestSuite * suite) { mSuite = suite; } - void Acquire(int value) { - NL_TEST_ASSERT(mSuite, (value > 0) && value < kMaxPayloadValue); + EXPECT_TRUE((value > 0) && value < kMaxPayloadValue); mAcquired.set(static_cast(value)); } void Release(int value) { - NL_TEST_ASSERT(mSuite, (value > 0) && value < kMaxPayloadValue); - NL_TEST_ASSERT(mSuite, mAcquired.test(static_cast(value))); + EXPECT_TRUE((value > 0) && value < kMaxPayloadValue); + EXPECT_TRUE(mAcquired.test(static_cast(value))); mAcquired.reset(static_cast(value)); } @@ -65,7 +62,6 @@ class IntPayloadTracker bool IsAcquired(int value) const { return mAcquired.test(static_cast(value)); } private: - nlTestSuite * mSuite; std::bitset mAcquired; }; @@ -104,176 +100,153 @@ void chip::Retransmit::Lifetime::Release(int & value) namespace { -void TestNoOp(nlTestSuite * inSuite, void * inContext) +TEST(TestCache, TestNoOp) { // unused address cache should not do any Acquire/release at any time - NL_TEST_ASSERT(inSuite, gPayloadTracker.Count() == 0); + EXPECT_EQ(gPayloadTracker.Count(), 0u); { TestableCache test; - NL_TEST_ASSERT(inSuite, gPayloadTracker.Count() == 0); + EXPECT_EQ(gPayloadTracker.Count(), 0u); } - NL_TEST_ASSERT(inSuite, gPayloadTracker.Count() == 0); + EXPECT_EQ(gPayloadTracker.Count(), 0u); } -void TestDestructorFree(nlTestSuite * inSuite, void * inContext) +TEST(TestCache, TestDestructorFree) { { TestableCache test; - NL_TEST_ASSERT(inSuite, gPayloadTracker.Count() == 0); + EXPECT_EQ(gPayloadTracker.Count(), 0u); - NL_TEST_ASSERT(inSuite, test.AddValue(1, 1) == CHIP_NO_ERROR); - NL_TEST_ASSERT(inSuite, test.AddValue(2, 2) == CHIP_NO_ERROR); + EXPECT_EQ(test.AddValue(1, 1), CHIP_NO_ERROR); + EXPECT_EQ(test.AddValue(2, 2), CHIP_NO_ERROR); - NL_TEST_ASSERT(inSuite, gPayloadTracker.Count() == 2); + EXPECT_EQ(gPayloadTracker.Count(), 2u); } // destructor should release the items - NL_TEST_ASSERT(inSuite, gPayloadTracker.Count() == 0); + EXPECT_EQ(gPayloadTracker.Count(), 0u); } -void OutOfSpace(nlTestSuite * inSuite, void * inContext) +TEST(TestCache, OutOfSpace) { { TestableCache test; - NL_TEST_ASSERT(inSuite, gPayloadTracker.Count() == 0); + EXPECT_EQ(gPayloadTracker.Count(), 0u); - NL_TEST_ASSERT(inSuite, test.AddValue(1, 1) == CHIP_NO_ERROR); - NL_TEST_ASSERT(inSuite, test.AddValue(2, 2) == CHIP_NO_ERROR); - NL_TEST_ASSERT(inSuite, test.AddValue(3, 4) == CHIP_NO_ERROR); - NL_TEST_ASSERT(inSuite, test.AddValue(4, 6) == CHIP_NO_ERROR); - NL_TEST_ASSERT(inSuite, gPayloadTracker.Count() == 4); + EXPECT_EQ(test.AddValue(1, 1), CHIP_NO_ERROR); + EXPECT_EQ(test.AddValue(2, 2), CHIP_NO_ERROR); + EXPECT_EQ(test.AddValue(3, 4), CHIP_NO_ERROR); + EXPECT_EQ(test.AddValue(4, 6), CHIP_NO_ERROR); + EXPECT_EQ(gPayloadTracker.Count(), 4u); - NL_TEST_ASSERT(inSuite, test.AddValue(5, 8) == CHIP_ERROR_NO_MEMORY); - NL_TEST_ASSERT(inSuite, gPayloadTracker.Count() == 4); + EXPECT_EQ(test.AddValue(5, 8), CHIP_ERROR_NO_MEMORY); + EXPECT_EQ(gPayloadTracker.Count(), 4u); - NL_TEST_ASSERT(inSuite, test.AddValue(6, 10) == CHIP_ERROR_NO_MEMORY); - NL_TEST_ASSERT(inSuite, gPayloadTracker.Count() == 4); + EXPECT_EQ(test.AddValue(6, 10), CHIP_ERROR_NO_MEMORY); + EXPECT_EQ(gPayloadTracker.Count(), 4u); } - NL_TEST_ASSERT(inSuite, gPayloadTracker.Count() == 0); + EXPECT_EQ(gPayloadTracker.Count(), 0u); } -void AddRemove(nlTestSuite * inSuite, void * inContext) +TEST(TestCache, AddRemove) { TestableCache test; - NL_TEST_ASSERT(inSuite, gPayloadTracker.Count() == 0); + EXPECT_EQ(gPayloadTracker.Count(), 0u); - NL_TEST_ASSERT(inSuite, test.AddValue(1, 1) == CHIP_NO_ERROR); - NL_TEST_ASSERT(inSuite, test.AddValue(2, 2) == CHIP_NO_ERROR); - NL_TEST_ASSERT(inSuite, test.AddValue(3, 4) == CHIP_NO_ERROR); - NL_TEST_ASSERT(inSuite, gPayloadTracker.Count() == 3); + EXPECT_EQ(test.AddValue(1, 1), CHIP_NO_ERROR); + EXPECT_EQ(test.AddValue(2, 2), CHIP_NO_ERROR); + EXPECT_EQ(test.AddValue(3, 4), CHIP_NO_ERROR); + EXPECT_EQ(gPayloadTracker.Count(), 3u); - NL_TEST_ASSERT(inSuite, test.AddValue(10, 8) == CHIP_ERROR_NO_MEMORY); - NL_TEST_ASSERT(inSuite, gPayloadTracker.Count() == 3); + EXPECT_EQ(test.AddValue(10, 8), CHIP_ERROR_NO_MEMORY); + EXPECT_EQ(gPayloadTracker.Count(), 3u); - NL_TEST_ASSERT(inSuite, test.Remove(2) == CHIP_NO_ERROR); - NL_TEST_ASSERT(inSuite, gPayloadTracker.Count() == 2); + EXPECT_EQ(test.Remove(2), CHIP_NO_ERROR); + EXPECT_EQ(gPayloadTracker.Count(), 2u); - NL_TEST_ASSERT(inSuite, test.AddValue(10, 8) == CHIP_NO_ERROR); - NL_TEST_ASSERT(inSuite, gPayloadTracker.Count() == 3); + EXPECT_EQ(test.AddValue(10, 8), CHIP_NO_ERROR); + EXPECT_EQ(gPayloadTracker.Count(), 3u); - NL_TEST_ASSERT(inSuite, test.Remove(14) == CHIP_ERROR_KEY_NOT_FOUND); - NL_TEST_ASSERT(inSuite, gPayloadTracker.Count() == 3); + EXPECT_EQ(test.Remove(14), CHIP_ERROR_KEY_NOT_FOUND); + EXPECT_EQ(gPayloadTracker.Count(), 3u); - NL_TEST_ASSERT(inSuite, test.Remove(1) == CHIP_NO_ERROR); - NL_TEST_ASSERT(inSuite, gPayloadTracker.Count() == 2); + EXPECT_EQ(test.Remove(1), CHIP_NO_ERROR); + EXPECT_EQ(gPayloadTracker.Count(), 2u); - NL_TEST_ASSERT(inSuite, test.Remove(3) == CHIP_NO_ERROR); - NL_TEST_ASSERT(inSuite, gPayloadTracker.Count() == 1); + EXPECT_EQ(test.Remove(3), CHIP_NO_ERROR); + EXPECT_EQ(gPayloadTracker.Count(), 1u); - NL_TEST_ASSERT(inSuite, test.Remove(3) == CHIP_ERROR_KEY_NOT_FOUND); - NL_TEST_ASSERT(inSuite, gPayloadTracker.Count() == 1); + EXPECT_EQ(test.Remove(3), CHIP_ERROR_KEY_NOT_FOUND); + EXPECT_EQ(gPayloadTracker.Count(), 1u); - NL_TEST_ASSERT(inSuite, test.Remove(10) == CHIP_NO_ERROR); - NL_TEST_ASSERT(inSuite, gPayloadTracker.Count() == 0); + EXPECT_EQ(test.Remove(10), CHIP_NO_ERROR); + EXPECT_EQ(gPayloadTracker.Count(), 0u); - NL_TEST_ASSERT(inSuite, test.Remove(10) == CHIP_ERROR_KEY_NOT_FOUND); - NL_TEST_ASSERT(inSuite, gPayloadTracker.Count() == 0); + EXPECT_EQ(test.Remove(10), CHIP_ERROR_KEY_NOT_FOUND); + EXPECT_EQ(gPayloadTracker.Count(), 0u); } -void RemoveMatching(nlTestSuite * inSuite, void * inContext) +TEST(TestCache, RemoveMatching) { TestableCache test; - NL_TEST_ASSERT(inSuite, gPayloadTracker.Count() == 0); + EXPECT_EQ(gPayloadTracker.Count(), 0u); - NL_TEST_ASSERT(inSuite, test.AddValue(1, 1) == CHIP_NO_ERROR); - NL_TEST_ASSERT(inSuite, test.AddValue(2, 2) == CHIP_NO_ERROR); - NL_TEST_ASSERT(inSuite, test.AddValue(3, 4) == CHIP_NO_ERROR); - NL_TEST_ASSERT(inSuite, test.AddValue(4, 8) == CHIP_NO_ERROR); - NL_TEST_ASSERT(inSuite, gPayloadTracker.Count() == 4); + EXPECT_EQ(test.AddValue(1, 1), CHIP_NO_ERROR); + EXPECT_EQ(test.AddValue(2, 2), CHIP_NO_ERROR); + EXPECT_EQ(test.AddValue(3, 4), CHIP_NO_ERROR); + EXPECT_EQ(test.AddValue(4, 8), CHIP_NO_ERROR); + EXPECT_EQ(gPayloadTracker.Count(), 4u); test.RemoveMatching(DivisibleBy(2)); - NL_TEST_ASSERT(inSuite, gPayloadTracker.Count() == 2); + EXPECT_EQ(gPayloadTracker.Count(), 2u); // keys 1 and 3 remain - NL_TEST_ASSERT(inSuite, gPayloadTracker.IsAcquired(1)); - NL_TEST_ASSERT(inSuite, gPayloadTracker.IsAcquired(4)); + EXPECT_TRUE(gPayloadTracker.IsAcquired(1)); + EXPECT_TRUE(gPayloadTracker.IsAcquired(4)); - NL_TEST_ASSERT(inSuite, test.Remove(3) == CHIP_NO_ERROR); - NL_TEST_ASSERT(inSuite, gPayloadTracker.IsAcquired(1)); - NL_TEST_ASSERT(inSuite, !gPayloadTracker.IsAcquired(4)); + EXPECT_EQ(test.Remove(3), CHIP_NO_ERROR); + EXPECT_TRUE(gPayloadTracker.IsAcquired(1)); + EXPECT_FALSE(gPayloadTracker.IsAcquired(4)); } -void FindMatching(nlTestSuite * inSuite, void * inContext) +TEST(TestCache, FindMatching) { TestableCache test; - NL_TEST_ASSERT(inSuite, gPayloadTracker.Count() == 0); + EXPECT_EQ(gPayloadTracker.Count(), 0u); - NL_TEST_ASSERT(inSuite, test.AddValue(1, 1) == CHIP_NO_ERROR); - NL_TEST_ASSERT(inSuite, test.AddValue(2, 2) == CHIP_NO_ERROR); - NL_TEST_ASSERT(inSuite, test.AddValue(3, 4) == CHIP_NO_ERROR); - NL_TEST_ASSERT(inSuite, test.AddValue(4, 8) == CHIP_NO_ERROR); - NL_TEST_ASSERT(inSuite, gPayloadTracker.Count() == 4); + EXPECT_EQ(test.AddValue(1, 1), CHIP_NO_ERROR); + EXPECT_EQ(test.AddValue(2, 2), CHIP_NO_ERROR); + EXPECT_EQ(test.AddValue(3, 4), CHIP_NO_ERROR); + EXPECT_EQ(test.AddValue(4, 8), CHIP_NO_ERROR); + EXPECT_EQ(gPayloadTracker.Count(), 4u); const int * key; const int * value; - NL_TEST_ASSERT(inSuite, test.Find(DivisibleBy(20), &key, &value) == false); - NL_TEST_ASSERT(inSuite, key == nullptr); - NL_TEST_ASSERT(inSuite, value == nullptr); + EXPECT_FALSE(test.Find(DivisibleBy(20), &key, &value)); + EXPECT_EQ(key, nullptr); + EXPECT_EQ(value, nullptr); // This relies on linear add. May need changing if implementation changes - NL_TEST_ASSERT(inSuite, test.Find(DivisibleBy(2), &key, &value) == true); - NL_TEST_ASSERT(inSuite, *key == 2); - NL_TEST_ASSERT(inSuite, *value == 2); + EXPECT_TRUE(test.Find(DivisibleBy(2), &key, &value)); + EXPECT_EQ(*key, 2); + EXPECT_EQ(*value, 2); - NL_TEST_ASSERT(inSuite, test.Remove(*key) == CHIP_NO_ERROR); + EXPECT_EQ(test.Remove(*key), CHIP_NO_ERROR); - NL_TEST_ASSERT(inSuite, test.Find(DivisibleBy(2), &key, &value) == true); - NL_TEST_ASSERT(inSuite, *key == 4); - NL_TEST_ASSERT(inSuite, *value == 8); + EXPECT_TRUE(test.Find(DivisibleBy(2), &key, &value)); + EXPECT_EQ(*key, 4); + EXPECT_EQ(*value, 8); - NL_TEST_ASSERT(inSuite, test.Remove(*key) == CHIP_NO_ERROR); - NL_TEST_ASSERT(inSuite, test.Find(DivisibleBy(2), &key, &value) == false); - NL_TEST_ASSERT(inSuite, key == nullptr); - NL_TEST_ASSERT(inSuite, value == nullptr); + EXPECT_EQ(test.Remove(*key), CHIP_NO_ERROR); + EXPECT_FALSE(test.Find(DivisibleBy(2), &key, &value)); + EXPECT_EQ(key, nullptr); + EXPECT_EQ(value, nullptr); } } // namespace - -// clang-format off -static const nlTest sTests[] = -{ - NL_TEST_DEF("NoOp", TestNoOp), - NL_TEST_DEF("DestructorFree", TestDestructorFree), - NL_TEST_DEF("OutOfSpace", OutOfSpace), - NL_TEST_DEF("AddRemove", AddRemove), - NL_TEST_DEF("RemoveMatching", RemoveMatching), - NL_TEST_DEF("FindMatching", FindMatching), - NL_TEST_SENTINEL() -}; -// clang-format on - -int TestCache() -{ - nlTestSuite theSuite = { "Retransmit-Cache", &sTests[0], nullptr, nullptr }; - gPayloadTracker.Init(&theSuite); - nlTestRunner(&theSuite, nullptr); - return nlTestRunnerStats(&theSuite); -} - -CHIP_REGISTER_TEST_SUITE(TestCache)