Skip to content

Commit 58cacb4

Browse files
committed
TestChildNative should write stdout in the binary mode
1 parent 4a975b0 commit 58cacb4

File tree

4 files changed

+14
-4
lines changed

4 files changed

+14
-4
lines changed

src/ChildProcess.Native/tests/DumpEnvironmentVariables.unix.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
extern char** environ;
99

10-
int TestCommandDumpEnvironmentvariables(int, const char* const*)
10+
int TestCommandDumpEnvironmentVariables(int, const char* const*)
1111
{
1212
for (char** p = environ; *p != nullptr; p++)
1313
{

src/ChildProcess.Native/tests/DumpEnvironmentVariables.win.cpp

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,18 @@
77
#include <cstdint>
88
#include <cstdio>
99
#include <cstdlib>
10+
#include <fcntl.h>
11+
#include <io.h>
1012
#include <memory>
1113

12-
int TestCommandDumpEnvironmentvariables(int argc, const char* const* argv)
14+
int TestCommandDumpEnvironmentVariables(int argc, const char* const* argv)
1315
{
16+
if (_setmode(_fileno(stdout), O_BINARY) == -1)
17+
{
18+
perror("_setmode");
19+
return 1;
20+
}
21+
1422
wchar_t* pFirstEnv = GetEnvironmentStringsW();
1523
if (pFirstEnv == nullptr)
1624
{

src/ChildProcess.Native/tests/TestChildMain.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ extern void SetupDefaultTestSignalHandlers();
1010

1111
// Handlers
1212
extern int TestCommandReportSignal(int argc, const char* const* argv);
13-
extern int TestCommandDumpEnvironmentvariables(int argc, const char* const* argv);
13+
extern int TestCommandDumpEnvironmentVariables(int argc, const char* const* argv);
1414
#if defined(_WIN32)
1515
#else
1616
#endif
@@ -25,7 +25,7 @@ namespace
2525

2626
TestCommandDefinition TestCommandDefinitions[] = {
2727
{"ReportSignal", TestCommandReportSignal},
28-
{"DumpEnvironmentVariables", TestCommandDumpEnvironmentvariables},
28+
{"DumpEnvironmentVariables", TestCommandDumpEnvironmentVariables},
2929
#if defined(_WIN32)
3030
#else
3131
#endif

src/ChildProcess.Test/ProcessManagement/ChildProcessTest_EnvironmentVariables.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,8 @@ public void CanAddEnvironmentVariables()
3030
{
3131
new("A", "A"),
3232
new("BB", "BB"),
33+
// This is actually testing if TestChildNative writes to stdout in the binary mode.
34+
new("C", "C\nC\n"),
3335
};
3436

3537
var expected = GetProcessEnvVars().Concat(extraEnvVars);

0 commit comments

Comments
 (0)