UnitTests/Process: Flush files to avoid read issues

This commit is contained in:
SirLynix
2024-01-23 15:30:40 +01:00
committed by Jérôme Leclercq
parent a228325bd5
commit 0e5e3ab9dd
2 changed files with 28 additions and 15 deletions

View File

@@ -9,14 +9,16 @@
int main(int argc, char* argv[])
{
{
Nz::File file(Nz::Utf8Path("step1_success.txt"), Nz::OpenMode::Write);
Nz::File file(Nz::Utf8Path("step1_success.txt"), Nz::OpenMode::Write | Nz::OpenMode::Unbuffered);
file.Write("1");
file.Flush();
}
for (int i = 1; i < argc; ++i)
{
Nz::File file(Nz::Utf8Path(Nz::Format("step2_param{}.txt", i)), Nz::OpenMode::Write);
Nz::File file(Nz::Utf8Path(Nz::Format("step2_param{}.txt", i)), Nz::OpenMode::Write | Nz::OpenMode::Unbuffered);
file.Write(argv[i]);
file.Flush();
}
std::vector<std::string> parameters;
@@ -25,13 +27,15 @@ int main(int argc, char* argv[])
Nz::Result result = Nz::Process::SpawnDetached("../UnitTests_sub2", parameters);
if (result)
{
Nz::File file(Nz::Utf8Path("step3_pid.txt"), Nz::OpenMode::Write);
Nz::File file(Nz::Utf8Path("step3_pid.txt"), Nz::OpenMode::Write | Nz::OpenMode::Unbuffered);
file.Write(std::to_string(result.GetValue()));
file.Flush();
}
else
{
Nz::File file(Nz::Utf8Path("step3_failure.txt"), Nz::OpenMode::Write);
file.Write(result.GetError());
Nz::File errFile(Nz::Utf8Path("step3_failure.txt"), Nz::OpenMode::Write | Nz::OpenMode::Unbuffered);
errFile.Write(result.GetError());
errFile.Flush();
}
// Wait for our child process to start and check for our existence