Skip to content

Commit bd72cb4

Browse files
authored
UT[mwcsys::ExecUtil]: suppress default allocator check failure (#409)
Signed-off-by: Evgeny Malygin <[email protected]>
1 parent 6f2d541 commit bd72cb4

File tree

1 file changed

+24
-20
lines changed

1 file changed

+24
-20
lines changed

src/groups/mwc/mwcsys/mwcsys_executil.t.cpp

Lines changed: 24 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ static void test1_execute()
9797
PVV(test.d_line << ": executing command '" << test.d_command << "'");
9898

9999
bsl::string output(s_allocator_p);
100-
int rc = mwcsys::ExecUtil::execute(&output, test.d_command);
100+
const int rc = mwcsys::ExecUtil::execute(&output, test.d_command);
101101
ASSERT_EQ_D("line " << test.d_line, rc, test.d_expectedRc);
102102
ASSERT_EQ_D("line " << test.d_line, output, test.d_expectedOutput);
103103
}
@@ -204,9 +204,9 @@ static void test3_outputFromFileNoGen()
204204
createFile(k_TESTFILE, test.d_content, S_IRWXU);
205205

206206
bsl::string output(s_allocator_p);
207-
int rc = mwcsys::ExecUtil::outputFromFile(&output,
208-
k_TESTFILE,
209-
test.d_arguments);
207+
const int rc = mwcsys::ExecUtil::outputFromFile(&output,
208+
k_TESTFILE,
209+
test.d_arguments);
210210
ASSERT_EQ_D("line " << test.d_line, rc, 0);
211211
ASSERT_EQ_D("line " << test.d_line, output, test.d_expectedOutput);
212212

@@ -263,9 +263,9 @@ static void test4_outputFromFileGen()
263263
createFile(k_TESTFILE, test.d_content, S_IRWXU);
264264

265265
bsl::string output(s_allocator_p);
266-
int rc = mwcsys::ExecUtil::outputFromFile(&output,
267-
k_TESTFILE,
268-
test.d_arguments);
266+
const int rc = mwcsys::ExecUtil::outputFromFile(&output,
267+
k_TESTFILE,
268+
test.d_arguments);
269269
ASSERT_EQ_D("line " << test.d_line, (rc == 0), test.d_expectSuccess);
270270
ASSERT_EQ_D("line " << test.d_line, output, test.d_expectedOutput);
271271

@@ -300,19 +300,19 @@ static void test5_outputFromFileError()
300300
}
301301

302302
bsl::string output(s_allocator_p);
303-
int rc = mwcsys::ExecUtil::outputFromFile(&output,
304-
k_TESTFILE,
305-
"dummyArgs");
303+
const int rc = mwcsys::ExecUtil::outputFromFile(&output,
304+
k_TESTFILE,
305+
"dummyArgs");
306306
ASSERT_NE(rc, 0);
307307
}
308308

309309
{
310310
PV("Not a regular input file");
311311

312312
bsl::string output(s_allocator_p);
313-
int rc = mwcsys::ExecUtil::outputFromFile(&output,
314-
"./", // a directory
315-
"dummyArgs");
313+
const int rc = mwcsys::ExecUtil::outputFromFile(&output,
314+
"./", // a directory
315+
"dummyArgs");
316316
ASSERT_NE(rc, 0);
317317
}
318318

@@ -322,9 +322,9 @@ static void test5_outputFromFileError()
322322
createFile(k_TESTFILE, "#! /bin/bash\necho -n 'yes'", S_IRUSR);
323323

324324
bsl::string output(s_allocator_p);
325-
int rc = mwcsys::ExecUtil::outputFromFile(&output,
326-
k_TESTFILE,
327-
"dummyArgs");
325+
const int rc = mwcsys::ExecUtil::outputFromFile(&output,
326+
k_TESTFILE,
327+
"dummyArgs");
328328
ASSERT_NE(rc, 0);
329329

330330
bdls::FilesystemUtil::remove(k_TESTFILE);
@@ -338,9 +338,9 @@ static void test5_outputFromFileError()
338338
S_IRWXU);
339339

340340
bsl::string output(s_allocator_p);
341-
int rc = mwcsys::ExecUtil::outputFromFile(&output,
342-
k_TESTFILE,
343-
"dummyArgs");
341+
const int rc = mwcsys::ExecUtil::outputFromFile(&output,
342+
k_TESTFILE,
343+
"dummyArgs");
344344
ASSERT_NE(rc, 0);
345345

346346
bdls::FilesystemUtil::remove(k_TESTFILE);
@@ -368,5 +368,9 @@ int main(int argc, char* argv[])
368368
} break;
369369
}
370370

371-
TEST_EPILOG(mwctst::TestHelper::e_CHECK_DEF_GBL_ALLOC);
371+
// 'bdls::FilesystemUtil::remove' builds a 'bsl::string' using a default
372+
// allocator. The string allocates memory in heap if we provide a long
373+
// enough filename to the call. It causes the default allocator check to
374+
// fail. More details in the ticket 176461860.
375+
TEST_EPILOG(mwctst::TestHelper::e_CHECK_GBL_ALLOC);
372376
}

0 commit comments

Comments
 (0)