summaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorjsmall-nvidia <jsmall@nvidia.com>2021-11-30 16:50:05 -0500
committerGitHub <noreply@github.com>2021-11-30 16:50:05 -0500
commitce12e1d64d6b0b62609f061d3773a7e8b35849c3 (patch)
tree72da79208edff4fdebfc32db759ecca21716c260 /tools
parentace4e334bc5fb299d2890b5e3f35dfd84ea32606 (diff)
Auto flush for streams for stdin/out in slang-test (#2035)
* #include an absolute path didn't work - because paths were taken to always be relative. * Move StreamType from Process to StdStreamType in slang-stream.h * Disable buffering for stdout/stderr for slang-test. * Improve comment.
Diffstat (limited to 'tools')
-rw-r--r--tools/slang-test/slang-test-main.cpp4
-rw-r--r--tools/slang-test/test-context.cpp4
-rw-r--r--tools/slang-unit-test/unit-test-process.cpp8
-rw-r--r--tools/test-process/test-process-main.cpp6
4 files changed, 13 insertions, 9 deletions
diff --git a/tools/slang-test/slang-test-main.cpp b/tools/slang-test/slang-test-main.cpp
index e734e1c4c..68c7aeec7 100644
--- a/tools/slang-test/slang-test-main.cpp
+++ b/tools/slang-test/slang-test-main.cpp
@@ -3559,6 +3559,10 @@ static SlangResult runUnitTestModule(TestContext* context, TestOptions& testOpti
SlangResult innerMain(int argc, char** argv)
{
+ // Disable buffering for out and std out
+ StreamUtil::setStreamBufferStyle(StdStreamType::Out, StreamBufferStyle::None);
+ StreamUtil::setStreamBufferStyle(StdStreamType::ErrorOut, StreamBufferStyle::None);
+
auto stdWriters = StdWriters::initDefaultSingleton();
// The context holds useful things used during testing
diff --git a/tools/slang-test/test-context.cpp b/tools/slang-test/test-context.cpp
index 39dd52313..acc680f24 100644
--- a/tools/slang-test/test-context.cpp
+++ b/tools/slang-test/test-context.cpp
@@ -122,8 +122,8 @@ SlangResult TestContext::_createJSONRPCConnection(RefPtr<JSONRPCConnection>& out
SLANG_RETURN_ON_FAIL(Process::create(cmdLine, Process::Flag::AttachDebugger, process));
}
- Stream* writeStream = process->getStream(Process::StreamType::StdIn);
- RefPtr<BufferedReadStream> readStream(new BufferedReadStream(process->getStream(Process::StreamType::StdOut)));
+ Stream* writeStream = process->getStream(StdStreamType::In);
+ RefPtr<BufferedReadStream> readStream(new BufferedReadStream(process->getStream(StdStreamType::Out)));
RefPtr<HTTPPacketConnection> connection = new HTTPPacketConnection(readStream, writeStream);
RefPtr<JSONRPCConnection> rpcConnection = new JSONRPCConnection;
diff --git a/tools/slang-unit-test/unit-test-process.cpp b/tools/slang-unit-test/unit-test-process.cpp
index 77f03ddee..559522769 100644
--- a/tools/slang-unit-test/unit-test-process.cpp
+++ b/tools/slang-unit-test/unit-test-process.cpp
@@ -33,8 +33,8 @@ static SlangResult _httpReflectTest(UnitTestContext* context)
RefPtr<Process> process;
SLANG_RETURN_ON_FAIL(_createProcess(context, "http-reflect", nullptr, process));
- Stream* writeStream = process->getStream(Process::StreamType::StdIn);
- RefPtr<BufferedReadStream> readStream( new BufferedReadStream(process->getStream(Process::StreamType::StdOut)));
+ Stream* writeStream = process->getStream(StdStreamType::In);
+ RefPtr<BufferedReadStream> readStream( new BufferedReadStream(process->getStream(StdStreamType::Out)));
RefPtr<HTTPPacketConnection> connection = new HTTPPacketConnection(readStream, writeStream);
RefPtr<RandomGenerator> rand = RandomGenerator::create(10000);
@@ -163,8 +163,8 @@ static SlangResult _reflectTest(UnitTestContext* context)
SLANG_RETURN_ON_FAIL(_createProcess(context, "reflect", nullptr, process));
// Write a bunch of stuff to the stream
- Stream* readStream = process->getStream(Process::StreamType::StdOut);
- Stream* writeStream = process->getStream(Process::StreamType::StdIn);
+ Stream* readStream = process->getStream(StdStreamType::Out);
+ Stream* writeStream = process->getStream(StdStreamType::In);
List<Byte> readBuffer;
diff --git a/tools/test-process/test-process-main.cpp b/tools/test-process/test-process-main.cpp
index c31fec3ed..4e40a954e 100644
--- a/tools/test-process/test-process-main.cpp
+++ b/tools/test-process/test-process-main.cpp
@@ -74,7 +74,7 @@ static SlangResult _outputReflect()
// Get in as Stream
RefPtr<Stream> stdinStream;
- Process::getStdStream(Process::StreamType::StdIn, stdinStream);
+ Process::getStdStream(StdStreamType::In, stdinStream);
FILE* fileOut = stdout;
@@ -124,8 +124,8 @@ static SlangResult _httpReflect(int argc, const char* const* argv)
RefPtr<Stream> stdinStream, stdoutStream;
- Process::getStdStream(Process::StreamType::StdIn, stdinStream);
- Process::getStdStream(Process::StreamType::StdOut, stdoutStream);
+ Process::getStdStream(StdStreamType::In, stdinStream);
+ Process::getStdStream(StdStreamType::Out, stdoutStream);
RefPtr<BufferedReadStream> readStream(new BufferedReadStream(stdinStream));