Skip to content

Commit af220ff

Browse files
committed
Tests: each FileBasedTest uses a separate temp file, fix parallel exec
1 parent b9345f5 commit af220ff

File tree

1 file changed

+36
-4
lines changed

1 file changed

+36
-4
lines changed

Common/test/stream_test.cpp

Lines changed: 36 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -339,20 +339,34 @@ TEST(Stream, DeflateStream2) {
339339

340340
#if (AGS_PLATFORM_TEST_FILE_IO)
341341

342-
static const char *DummyFile = "dummy.dat";
343-
344342
class FileBasedTest : public ::testing::Test {
345343
protected:
346344
void SetUp() override {
347-
File::DeleteFile(DummyFile);
348345
}
349346

350347
void TearDown() override {
351-
File::DeleteFile(DummyFile);
348+
for (const auto &fn : _dummyFileNames)
349+
{
350+
if (!fn.IsEmpty())
351+
File::DeleteFile(fn);
352+
}
353+
}
354+
355+
String AcquireFileName(const String &test_name)
356+
{
357+
String fn = String::FromFormat("%s.dat", test_name.GetCStr());
358+
_dummyFileNames.push_back(fn);
359+
return fn;
352360
}
361+
362+
private:
363+
std::vector<String> _dummyFileNames;
353364
};
354365

355366
TEST_F(FileBasedTest, BufferedStreamRead) {
367+
368+
const String DummyFile = AcquireFileName("BufferedStreamRead");
369+
356370
//-------------------------------------------------------------------------
357371
// Write data into the temp file
358372
Stream out(std::make_unique<FileStream>(DummyFile, kFile_CreateAlways, kStream_Write));
@@ -422,6 +436,9 @@ TEST_F(FileBasedTest, BufferedStreamRead) {
422436
}
423437

424438
TEST_F(FileBasedTest, BufferedStreamWrite1) {
439+
440+
const String DummyFile = AcquireFileName("BufferedStreamWrite1");
441+
425442
// Test case 1: simple straight writing, within max buffer size
426443
//-------------------------------------------------------------------------
427444
// Write data
@@ -465,6 +482,9 @@ TEST_F(FileBasedTest, BufferedStreamWrite1) {
465482
}
466483

467484
TEST_F(FileBasedTest, BufferedStreamWrite2) {
485+
486+
const String DummyFile = AcquireFileName("BufferedStreamWrite2");
487+
468488
// Test case 2: simple straight writing, exceeding max buffer size
469489
//-------------------------------------------------------------------------
470490
// fill in to ensure buffered stream reach buffer size
@@ -513,6 +533,9 @@ TEST_F(FileBasedTest, BufferedStreamWrite2) {
513533
}
514534

515535
TEST_F(FileBasedTest, BufferedStreamWrite3) {
536+
537+
const String DummyFile = AcquireFileName("BufferedStreamWrite3");
538+
516539
// Test case 3: seek within the max buffer size
517540
//-------------------------------------------------------------------------
518541
// Write data
@@ -561,6 +584,9 @@ TEST_F(FileBasedTest, BufferedStreamWrite3) {
561584
}
562585

563586
TEST_F(FileBasedTest, BufferedStreamWrite4) {
587+
588+
const String DummyFile = AcquireFileName("BufferedStreamWrite4");
589+
564590
// Test case 4: seek outside the max buffer size
565591
//-------------------------------------------------------------------------
566592
// fill in to ensure buffered stream reach buffer size
@@ -610,6 +636,9 @@ TEST_F(FileBasedTest, BufferedStreamWrite4) {
610636
}
611637

612638
TEST_F(FileBasedTest, BufferedStreamWrite5) {
639+
640+
const String DummyFile = AcquireFileName("BufferedStreamWrite5");
641+
613642
// Test case 5: write provoking buffer flush, but seek within max buffer size
614643
//-------------------------------------------------------------------------
615644
// fill in to ensure buffered stream (almost) reach buffer size
@@ -657,6 +686,9 @@ TEST_F(FileBasedTest, BufferedStreamWrite5) {
657686
}
658687

659688
TEST_F(FileBasedTest, BufferedSectionStream) {
689+
690+
const String DummyFile = AcquireFileName("BufferedSectionStream");
691+
660692
//-------------------------------------------------------------------------
661693
// Write data into the temp file
662694
Stream out(std::make_unique<FileStream>(DummyFile, kFile_CreateAlways, kStream_Write));

0 commit comments

Comments
 (0)