Skip to content

Commit 5f1c359

Browse files
committed
adding more tests
1 parent af22724 commit 5f1c359

16 files changed

+1024
-1491
lines changed

src/app/tests/BUILD.gn

+19-17
Original file line numberDiff line numberDiff line change
@@ -139,12 +139,24 @@ chip_test_suite("tests") {
139139
output_name = "libAppTests"
140140

141141
test_sources = [
142+
"TestAttributeAccessInterfaceCache.cpp",
143+
"TestAttributePathExpandIterator.cpp",
144+
"TestAttributePersistenceProvider.cpp",
145+
"TestAttributeValueDecoder.cpp",
146+
"TestAttributeValueEncoder.cpp",
142147
"TestBindingTable.cpp",
143148
"TestBuilderParser.cpp",
144149
"TestMessageDef.cpp",
145150
"TestNullable.cpp",
151+
"TestNumericAttributeTraits.cpp",
152+
"TestOperationalStateClusterObjects.cpp",
153+
"TestPendingNotificationMap.cpp",
154+
"TestPendingResponseTrackerImpl.cpp",
155+
"TestPowerSourceCluster.cpp",
146156
"TestStatusIB.cpp",
147157
"TestStatusResponseMessage.cpp",
158+
"TestTestEventTriggerDelegate.cpp",
159+
"TestTimeSyncDataProvider.cpp",
148160
]
149161

150162
if (!chip_fake_platform) {
@@ -158,16 +170,23 @@ chip_test_suite("tests") {
158170
":ember-apptest-compatibility",
159171
":operational-state-test-srcs",
160172
":ota-requestor-test-srcs",
173+
":power-cluster-test-srcs",
161174
":time-sync-data-provider-test-srcs",
162175
"${chip_root}/src/app",
163176
"${chip_root}/src/app/common:cluster-objects",
164177
"${chip_root}/src/app/icd/client:manager",
165178
"${chip_root}/src/app/tests:helpers",
166179
"${chip_root}/src/app/util/mock:mock_ember",
167180
"${chip_root}/src/lib/core",
181+
"${chip_root}/src/lib/core:string-builder-adapters",
168182
"${chip_root}/src/lib/support:test_utils",
169183
"${chip_root}/src/lib/support:testing",
170184
]
185+
186+
# DefaultICDClientStorage assumes that raw AES key is used by the application
187+
if (chip_crypto != "psa") {
188+
test_sources += [ "TestDefaultICDClientStorage.cpp" ]
189+
}
171190
}
172191

173192
chip_test_suite_using_nltest("tests_nltest") {
@@ -176,11 +195,6 @@ chip_test_suite_using_nltest("tests_nltest") {
176195
test_sources = [
177196
"TestAclAttribute.cpp",
178197
"TestAclEvent.cpp",
179-
"TestAttributeAccessInterfaceCache.cpp",
180-
"TestAttributePathExpandIterator.cpp",
181-
"TestAttributePersistenceProvider.cpp",
182-
"TestAttributeValueDecoder.cpp",
183-
"TestAttributeValueEncoder.cpp",
184198
"TestBasicCommandPathRegistry.cpp",
185199
"TestClusterInfo.cpp",
186200
"TestCommandInteraction.cpp",
@@ -193,24 +207,12 @@ chip_test_suite_using_nltest("tests_nltest") {
193207
"TestEventPathParams.cpp",
194208
"TestFabricScopedEventLogging.cpp",
195209
"TestInteractionModelEngine.cpp",
196-
"TestNumericAttributeTraits.cpp",
197-
"TestOperationalStateClusterObjects.cpp",
198-
"TestPendingNotificationMap.cpp",
199-
"TestPendingResponseTrackerImpl.cpp",
200-
"TestPowerSourceCluster.cpp",
201210
"TestReadInteraction.cpp",
202211
"TestReportingEngine.cpp",
203-
"TestTestEventTriggerDelegate.cpp",
204-
"TestTimeSyncDataProvider.cpp",
205212
"TestTimedHandler.cpp",
206213
"TestWriteInteraction.cpp",
207214
]
208215

209-
# DefaultICDClientStorage assumes that raw AES key is used by the application
210-
if (chip_crypto != "psa") {
211-
test_sources += [ "TestDefaultICDClientStorage.cpp" ]
212-
}
213-
214216
#
215217
# On NRF platforms, the allocation of a large number of pbufs in this test
216218
# to exercise chunking causes it to run out of memory. For now, disable it there.

src/app/tests/TestAttributeAccessInterfaceCache.cpp

+30-58
Original file line numberDiff line numberDiff line change
@@ -18,15 +18,15 @@
1818

1919
#include <app/AttributeAccessInterface.h>
2020
#include <app/AttributeAccessInterfaceCache.h>
21-
#include <lib/support/UnitTestRegistration.h>
22-
#include <nlunit-test.h>
21+
#include <lib/core/StringBuilderAdapters.h>
22+
#include <pw_unit_test/framework.h>
2323

2424
using namespace chip;
2525
using namespace chip::app;
2626

2727
namespace {
2828

29-
void TestBasicLifecycle(nlTestSuite * inSuite, void * inContext)
29+
TEST(TestAttributeAccessInterfaceCache, TestBasicLifecycle)
3030
{
3131
using CacheResult = AttributeAccessInterfaceCache::CacheResult;
3232

@@ -44,86 +44,58 @@ void TestBasicLifecycle(nlTestSuite * inSuite, void * inContext)
4444
// Cache can keep track of at least 1 entry,
4545
AttributeAccessInterface * entry = nullptr;
4646

47-
NL_TEST_ASSERT(inSuite, cache.Get(1, 1, &entry) == CacheResult::kCacheMiss);
48-
NL_TEST_ASSERT(inSuite, entry == nullptr);
47+
EXPECT_EQ(cache.Get(1, 1, &entry), CacheResult::kCacheMiss);
48+
EXPECT_EQ(entry, nullptr);
4949
cache.MarkUsed(1, 1, accessor1);
5050

51-
NL_TEST_ASSERT(inSuite, cache.Get(1, 1, &entry) == CacheResult::kDefinitelyUsed);
52-
NL_TEST_ASSERT(inSuite, entry == accessor1);
51+
EXPECT_EQ(cache.Get(1, 1, &entry), CacheResult::kDefinitelyUsed);
52+
EXPECT_EQ(entry, accessor1);
5353

5454
entry = nullptr;
55-
NL_TEST_ASSERT(inSuite, cache.Get(1, 2, &entry) == CacheResult::kCacheMiss);
56-
NL_TEST_ASSERT(inSuite, entry == nullptr);
57-
NL_TEST_ASSERT(inSuite, cache.Get(2, 1, &entry) == CacheResult::kCacheMiss);
58-
NL_TEST_ASSERT(inSuite, entry == nullptr);
55+
EXPECT_EQ(cache.Get(1, 2, &entry), CacheResult::kCacheMiss);
56+
EXPECT_EQ(entry, nullptr);
57+
EXPECT_EQ(cache.Get(2, 1, &entry), CacheResult::kCacheMiss);
58+
EXPECT_EQ(entry, nullptr);
5959

6060
cache.MarkUsed(1, 2, accessor1);
6161

6262
entry = nullptr;
63-
NL_TEST_ASSERT(inSuite, cache.Get(1, 2, &entry) == CacheResult::kDefinitelyUsed);
64-
NL_TEST_ASSERT(inSuite, entry == accessor1);
65-
NL_TEST_ASSERT(inSuite, cache.Get(2, 1, &entry) == CacheResult::kCacheMiss);
63+
EXPECT_EQ(cache.Get(1, 2, &entry), CacheResult::kDefinitelyUsed);
64+
EXPECT_EQ(entry, accessor1);
65+
EXPECT_EQ(cache.Get(2, 1, &entry), CacheResult::kCacheMiss);
6666

6767
cache.MarkUsed(1, 2, accessor2);
6868

6969
entry = nullptr;
70-
NL_TEST_ASSERT(inSuite, cache.Get(1, 2, &entry) == CacheResult::kDefinitelyUsed);
71-
NL_TEST_ASSERT(inSuite, entry == accessor2);
70+
EXPECT_EQ(cache.Get(1, 2, &entry), CacheResult::kDefinitelyUsed);
71+
EXPECT_EQ(entry, accessor2);
7272
// The following should not crash (e.g. output not used if nullptr).
73-
NL_TEST_ASSERT(inSuite, cache.Get(1, 2, nullptr) == CacheResult::kDefinitelyUsed);
73+
EXPECT_EQ(cache.Get(1, 2, nullptr), CacheResult::kDefinitelyUsed);
7474

7575
// Setting used to nullptr == does not mark used.
7676
cache.MarkUsed(1, 2, nullptr);
7777
entry = nullptr;
78-
NL_TEST_ASSERT(inSuite, cache.Get(1, 2, &entry) == CacheResult::kCacheMiss);
79-
NL_TEST_ASSERT(inSuite, entry == nullptr);
78+
EXPECT_EQ(cache.Get(1, 2, &entry), CacheResult::kCacheMiss);
79+
EXPECT_EQ(entry, nullptr);
8080

8181
cache.Invalidate();
82-
NL_TEST_ASSERT(inSuite, cache.Get(1, 1, &entry) == CacheResult::kCacheMiss);
83-
NL_TEST_ASSERT(inSuite, entry == nullptr);
84-
NL_TEST_ASSERT(inSuite, cache.Get(1, 2, &entry) == CacheResult::kCacheMiss);
85-
NL_TEST_ASSERT(inSuite, cache.Get(2, 1, &entry) == CacheResult::kCacheMiss);
82+
EXPECT_EQ(cache.Get(1, 1, &entry), CacheResult::kCacheMiss);
83+
EXPECT_EQ(entry, nullptr);
84+
EXPECT_EQ(cache.Get(1, 2, &entry), CacheResult::kCacheMiss);
85+
EXPECT_EQ(cache.Get(2, 1, &entry), CacheResult::kCacheMiss);
8686

8787
// Marking unused works, keeps single entry, and is invalidated when invalidated fully.
88-
NL_TEST_ASSERT(inSuite, cache.Get(2, 2, nullptr) != CacheResult::kDefinitelyUnused);
89-
NL_TEST_ASSERT(inSuite, cache.Get(3, 3, nullptr) != CacheResult::kDefinitelyUnused);
88+
EXPECT_NE(cache.Get(2, 2, nullptr), CacheResult::kDefinitelyUnused);
89+
EXPECT_NE(cache.Get(3, 3, nullptr), CacheResult::kDefinitelyUnused);
9090
cache.MarkUnused(2, 2);
91-
NL_TEST_ASSERT(inSuite, cache.Get(2, 2, nullptr) == CacheResult::kDefinitelyUnused);
92-
NL_TEST_ASSERT(inSuite, cache.Get(3, 3, nullptr) != CacheResult::kDefinitelyUnused);
91+
EXPECT_EQ(cache.Get(2, 2, nullptr), CacheResult::kDefinitelyUnused);
92+
EXPECT_NE(cache.Get(3, 3, nullptr), CacheResult::kDefinitelyUnused);
9393

9494
cache.MarkUnused(3, 3);
95-
NL_TEST_ASSERT(inSuite, cache.Get(2, 2, nullptr) != CacheResult::kDefinitelyUnused);
96-
NL_TEST_ASSERT(inSuite, cache.Get(3, 3, nullptr) == CacheResult::kDefinitelyUnused);
95+
EXPECT_NE(cache.Get(2, 2, nullptr), CacheResult::kDefinitelyUnused);
96+
EXPECT_EQ(cache.Get(3, 3, nullptr), CacheResult::kDefinitelyUnused);
9797

9898
cache.Invalidate();
99-
NL_TEST_ASSERT(inSuite, cache.Get(3, 3, nullptr) != CacheResult::kDefinitelyUnused);
99+
EXPECT_NE(cache.Get(3, 3, nullptr), CacheResult::kDefinitelyUnused);
100100
}
101-
102-
// clang-format off
103-
const nlTest sTests[] =
104-
{
105-
NL_TEST_DEF("Basic AttributeAccessInterfaceCache lifecycle works", TestBasicLifecycle),
106-
NL_TEST_SENTINEL()
107-
};
108-
// clang-format on
109-
110101
} // namespace
111-
112-
int TestAttributeAccessInterfaceCache()
113-
{
114-
// clang-format off
115-
nlTestSuite theSuite =
116-
{
117-
"Test for AttributeAccessInterface cache utility",
118-
&sTests[0],
119-
nullptr,
120-
nullptr
121-
};
122-
// clang-format on
123-
124-
nlTestRunner(&theSuite, nullptr);
125-
126-
return (nlTestRunnerStats(&theSuite));
127-
}
128-
129-
CHIP_REGISTER_TEST_SUITE(TestAttributeAccessInterfaceCache)

0 commit comments

Comments
 (0)