Skip to content

Commit f693154

Browse files
committed
Release memory allocated by unit tests
Use scoped objects for temporary event and buffer allocations, and destroy the log-session provider during fixture teardown so leak reports represent SDK behavior rather than test fixture ownership. Files changed: tests/unittests/AnnexKTests.cpp tests/unittests/LogSessionDataDBTests.cpp tests/unittests/TransmissionPolicyManagerTests.cpp Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: df9f344e-e064-404e-ae6f-c0ef455d747c
1 parent c1888e5 commit f693154

3 files changed

Lines changed: 34 additions & 33 deletions

File tree

‎tests/unittests/AnnexKTests.cpp‎

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -8,25 +8,25 @@ TEST(AnnexKTests, memcpy_s)
88
{
99
volatile size_t dest_size =10;
1010
volatile size_t src_size = 5;
11-
void *dest = malloc(sizeof(char) * dest_size);
12-
void *src = malloc(sizeof(char) * src_size);
13-
EXPECT_EQ(BoundCheckFunctions::oneds_memcpy_s(src, 5, "TEST", 5), 0);
11+
std::unique_ptr<void, decltype(&free)> dest(malloc(sizeof(char) * dest_size), &free);
12+
std::unique_ptr<void, decltype(&free)> src(malloc(sizeof(char) * src_size), &free);
13+
EXPECT_EQ(BoundCheckFunctions::oneds_memcpy_s(src.get(), 5, "TEST", 5), 0);
1414
rsize_t dest_len = dest_size;
1515
rsize_t src_len = src_size-1;
1616

1717
// success tests
18-
EXPECT_EQ(BoundCheckFunctions::oneds_memcpy_s(dest, dest_len, src, 0), 0);
19-
EXPECT_EQ(BoundCheckFunctions::oneds_memcpy_s( dest, dest_len, src, src_len + 1), 0);
20-
EXPECT_EQ(strlen((char *)dest), strlen("TEST"));
21-
EXPECT_EQ(BoundCheckFunctions::oneds_memcpy_s(dest, dest_len + 2, src, src_len + 1), 0);
22-
EXPECT_EQ(strlen((char *)dest), strlen("TEST"));
18+
EXPECT_EQ(BoundCheckFunctions::oneds_memcpy_s(dest.get(), dest_len, src.get(), 0), 0);
19+
EXPECT_EQ(BoundCheckFunctions::oneds_memcpy_s(dest.get(), dest_len, src.get(), src_len + 1), 0);
20+
EXPECT_EQ(strlen(static_cast<char *>(dest.get())), strlen("TEST"));
21+
EXPECT_EQ(BoundCheckFunctions::oneds_memcpy_s(dest.get(), dest_len + 2, src.get(), src_len + 1), 0);
22+
EXPECT_EQ(strlen(static_cast<char *>(dest.get())), strlen("TEST"));
2323

2424
// error tests
25-
EXPECT_EQ(BoundCheckFunctions::oneds_memcpy_s(dest, 3, src, src_len), EINVAL);
26-
EXPECT_EQ(((char *)dest)[0], '\0');
27-
EXPECT_EQ(BoundCheckFunctions::oneds_memcpy_s(NULL, 3, src, src_len), EINVAL);
28-
EXPECT_EQ(BoundCheckFunctions::oneds_memcpy_s( dest, dest_len, NULL, src_len), EINVAL);
29-
EXPECT_EQ(((char *)dest)[0], '\0');
30-
EXPECT_EQ(BoundCheckFunctions::oneds_memcpy_s( dest, dest_len, src, dest_len + 1 ), EINVAL);
31-
EXPECT_EQ(BoundCheckFunctions::oneds_memcpy_s( dest, dest_len, (void *)((char *)dest + 1), src_len + 1 ), EINVAL);
25+
EXPECT_EQ(BoundCheckFunctions::oneds_memcpy_s(dest.get(), 3, src.get(), src_len), EINVAL);
26+
EXPECT_EQ(static_cast<char *>(dest.get())[0], '\0');
27+
EXPECT_EQ(BoundCheckFunctions::oneds_memcpy_s(NULL, 3, src.get(), src_len), EINVAL);
28+
EXPECT_EQ(BoundCheckFunctions::oneds_memcpy_s(dest.get(), dest_len, NULL, src_len), EINVAL);
29+
EXPECT_EQ(static_cast<char *>(dest.get())[0], '\0');
30+
EXPECT_EQ(BoundCheckFunctions::oneds_memcpy_s(dest.get(), dest_len, src.get(), dest_len + 1), EINVAL);
31+
EXPECT_EQ(BoundCheckFunctions::oneds_memcpy_s(dest.get(), dest_len, static_cast<char *>(dest.get()) + 1, src_len + 1), EINVAL);
3232
}

‎tests/unittests/LogSessionDataDBTests.cpp‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,8 @@ class LogSessionDataDBTests : public ::testing::Test
7272

7373
virtual void TearDown() override
7474
{
75+
delete logSessionDataProvider;
76+
logSessionDataProvider = nullptr;
7577
std::remove(name.str().c_str());
7678
offlineStorage->Shutdown();
7779
offlineStorage.reset();
@@ -97,4 +99,3 @@ TEST_F(LogSessionDataDBTests, subTest) {
9799
ASSERT_EQ(1, 1);
98100
#endif
99101
}
100-

‎tests/unittests/TransmissionPolicyManagerTests.cpp‎

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -153,8 +153,8 @@ TEST_F(TransmissionPolicyManagerTests, IncomingEventDoesNothingWhenPaused)
153153
{
154154
tpm.paused(true);
155155

156-
auto event = new IncomingEventContext();
157-
tpm.eventArrived(event);
156+
IncomingEventContext event;
157+
tpm.eventArrived(&event);
158158
}
159159

160160
TEST_F(TransmissionPolicyManagerTests, IncomingEventSchedulesUpload)
@@ -174,13 +174,13 @@ TEST_F(TransmissionPolicyManagerTests, IncomingEventSchedulesUpload)
174174
EXPECT_TRUE(TransmitProfiles::load(customProfile));
175175
EXPECT_TRUE(TransmitProfiles::setProfile("Fred"));
176176

177-
auto event = new IncomingEventContext();
178-
event->record.latency = EventLatency_Normal;
177+
IncomingEventContext event;
178+
event.record.latency = EventLatency_Normal;
179179

180180

181181
EXPECT_CALL(tpm, scheduleUpload(std::chrono::milliseconds { 1000 }, EventLatency_Normal, true))
182182
.WillOnce(Return());
183-
tpm.eventArrived(event);
183+
tpm.eventArrived(&event);
184184
}
185185

186186
TEST_F(TransmissionPolicyManagerTests, ProfileAffectsSchedule)
@@ -200,10 +200,10 @@ TEST_F(TransmissionPolicyManagerTests, ProfileAffectsSchedule)
200200
EXPECT_TRUE(TransmitProfiles::load(customProfile));
201201
EXPECT_TRUE(TransmitProfiles::setProfile("Fred"));
202202

203-
auto event = new IncomingEventContext();
204-
event->record.latency = EventLatency_Normal;
203+
IncomingEventContext event;
204+
event.record.latency = EventLatency_Normal;
205205
EXPECT_CALL(tpm, scheduleUpload(_, _, _)).Times(0);
206-
tpm.eventArrived(event);
206+
tpm.eventArrived(&event);
207207
TransmitProfiles::reset();
208208
}
209209

@@ -224,10 +224,10 @@ TEST_F(TransmissionPolicyManagerTests, NoUploadForNegative)
224224
EXPECT_TRUE(TransmitProfiles::load(customProfile));
225225
EXPECT_TRUE(TransmitProfiles::setProfile("Fred"));
226226

227-
auto event = new IncomingEventContext();
228-
event->record.latency = EventLatency_Normal;
227+
IncomingEventContext event;
228+
event.record.latency = EventLatency_Normal;
229229
EXPECT_CALL(tpm, scheduleUpload(_, _, _)).Times(0);
230-
tpm.eventArrived(event);
230+
tpm.eventArrived(&event);
231231
EXPECT_CALL(tpm, uploadAsync(_)).Times(0);
232232
tpm.scheduleUploadParent(std::chrono::milliseconds{-1000}, EventLatency_RealTime, true);
233233
TransmitProfiles::reset();
@@ -237,12 +237,12 @@ TEST_F(TransmissionPolicyManagerTests, ImmediateIncomingEventStartsUploadImmedia
237237
{
238238
tpm.paused(false);
239239

240-
auto event = new IncomingEventContext();
241-
event->record.latency = EventLatency_Max;
240+
IncomingEventContext event;
241+
event.record.latency = EventLatency_Max;
242242
EventsUploadContextPtr upload;
243243
EXPECT_CALL(*this, resultInitiateUpload(_))
244244
.WillOnce(SaveArg<0>(&upload));
245-
tpm.eventArrived(event);
245+
tpm.eventArrived(&event);
246246

247247
ASSERT_THAT(upload, NotNull());
248248
EXPECT_THAT(upload->requestedMinLatency, EventLatency_Max);
@@ -491,11 +491,11 @@ TEST_F(TransmissionPolicyManagerTests, FredProfile)
491491
EXPECT_TRUE(TransmitProfiles::setProfile("Fred_Profile"));
492492
tpm.paused(false);
493493

494-
auto event = new IncomingEventContext();
495-
event->record.latency = EventLatency_Normal;
494+
IncomingEventContext event;
495+
event.record.latency = EventLatency_Normal;
496496
EXPECT_CALL(tpm, scheduleUpload(_, _, _))
497497
.Times(0);
498-
tpm.eventArrived(event);
498+
tpm.eventArrived(&event);
499499
}
500500

501501
TEST_F(TransmissionPolicyManagerTests, Constructor_IsPaused_True)

0 commit comments

Comments
 (0)