Skip to content

Commit a14bd1c

Browse files
authored
Merge pull request #2910 from ivan-mogilko/362--fixtestsparallel
Tests: each FileBasedTest uses a separate temp file, fix parallel exec
2 parents 5516ab4 + 064b4d9 commit a14bd1c

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
@@ -268,20 +268,34 @@ TEST(Stream, DataStreamSection) {
268268

269269
#if (AGS_PLATFORM_TEST_FILE_IO)
270270

271-
static const char *DummyFile = "dummy.dat";
272-
273271
class FileBasedTest : public ::testing::Test {
274272
protected:
275273
void SetUp() override {
276-
File::DeleteFile(DummyFile);
277274
}
278275

279276
void TearDown() override {
280-
File::DeleteFile(DummyFile);
277+
for (const auto &fn : _dummyFileNames)
278+
{
279+
if (!fn.IsEmpty())
280+
File::DeleteFile(fn);
281+
}
282+
}
283+
284+
String AcquireFileName(const String &test_name)
285+
{
286+
String fn = String::FromFormat("%s.dat", test_name.GetCStr());
287+
_dummyFileNames.push_back(fn);
288+
return fn;
281289
}
290+
291+
private:
292+
std::vector<String> _dummyFileNames;
282293
};
283294

284295
TEST_F(FileBasedTest, BufferedStreamRead) {
296+
297+
const String DummyFile = AcquireFileName("BufferedStreamRead");
298+
285299
//-------------------------------------------------------------------------
286300
// Write data into the temp file
287301
Stream out(std::make_unique<FileStream>(DummyFile, kFile_CreateAlways, kStream_Write));
@@ -351,6 +365,9 @@ TEST_F(FileBasedTest, BufferedStreamRead) {
351365
}
352366

353367
TEST_F(FileBasedTest, BufferedStreamWrite1) {
368+
369+
const String DummyFile = AcquireFileName("BufferedStreamWrite1");
370+
354371
// Test case 1: simple straight writing, within max buffer size
355372
//-------------------------------------------------------------------------
356373
// Write data
@@ -394,6 +411,9 @@ TEST_F(FileBasedTest, BufferedStreamWrite1) {
394411
}
395412

396413
TEST_F(FileBasedTest, BufferedStreamWrite2) {
414+
415+
const String DummyFile = AcquireFileName("BufferedStreamWrite2");
416+
397417
// Test case 2: simple straight writing, exceeding max buffer size
398418
//-------------------------------------------------------------------------
399419
// fill in to ensure buffered stream reach buffer size
@@ -442,6 +462,9 @@ TEST_F(FileBasedTest, BufferedStreamWrite2) {
442462
}
443463

444464
TEST_F(FileBasedTest, BufferedStreamWrite3) {
465+
466+
const String DummyFile = AcquireFileName("BufferedStreamWrite3");
467+
445468
// Test case 3: seek within the max buffer size
446469
//-------------------------------------------------------------------------
447470
// Write data
@@ -490,6 +513,9 @@ TEST_F(FileBasedTest, BufferedStreamWrite3) {
490513
}
491514

492515
TEST_F(FileBasedTest, BufferedStreamWrite4) {
516+
517+
const String DummyFile = AcquireFileName("BufferedStreamWrite4");
518+
493519
// Test case 4: seek outside the max buffer size
494520
//-------------------------------------------------------------------------
495521
// fill in to ensure buffered stream reach buffer size
@@ -539,6 +565,9 @@ TEST_F(FileBasedTest, BufferedStreamWrite4) {
539565
}
540566

541567
TEST_F(FileBasedTest, BufferedStreamWrite5) {
568+
569+
const String DummyFile = AcquireFileName("BufferedStreamWrite5");
570+
542571
// Test case 5: write provoking buffer flush, but seek within max buffer size
543572
//-------------------------------------------------------------------------
544573
// fill in to ensure buffered stream (almost) reach buffer size
@@ -586,6 +615,9 @@ TEST_F(FileBasedTest, BufferedStreamWrite5) {
586615
}
587616

588617
TEST_F(FileBasedTest, BufferedSectionStream) {
618+
619+
const String DummyFile = AcquireFileName("BufferedSectionStream");
620+
589621
//-------------------------------------------------------------------------
590622
// Write data into the temp file
591623
Stream out(std::make_unique<FileStream>(DummyFile, kFile_CreateAlways, kStream_Write));

0 commit comments

Comments
 (0)