summaryrefslogtreecommitdiffstats
path: root/tools/slang-test/main.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tools/slang-test/main.cpp')
-rw-r--r--tools/slang-test/main.cpp30
1 files changed, 17 insertions, 13 deletions
diff --git a/tools/slang-test/main.cpp b/tools/slang-test/main.cpp
index 07647e58f..102b0b961 100644
--- a/tools/slang-test/main.cpp
+++ b/tools/slang-test/main.cpp
@@ -2,7 +2,7 @@
#include "../../source/core/slang-io.h"
#include "../../source/core/token-reader.h"
-#include "../../source/core/slang-app-context.h"
+#include "../../source/core/slang-std-writers.h"
#include "../../slang-com-helper.h"
@@ -386,16 +386,17 @@ OSError spawnAndWait(TestContext* context, const String& testPath, OSProcessSpaw
StringWriter stdError(&stdErrorString, WriterFlag::IsConsole | WriterFlag::IsStatic);
StringWriter stdOut(&stdOutString, WriterFlag::IsConsole | WriterFlag::IsStatic);
- AppContext appContext;
- appContext.setWriter(SLANG_WRITER_CHANNEL_STD_ERROR, &stdError);
- appContext.setWriter(SLANG_WRITER_CHANNEL_STD_OUTPUT, &stdOut);
+ StdWriters* prevStdWriters = StdWriters::getSingleton();
+
+ StdWriters stdWriters;
+ stdWriters.setWriter(SLANG_WRITER_CHANNEL_STD_ERROR, &stdError);
+ stdWriters.setWriter(SLANG_WRITER_CHANNEL_STD_OUTPUT, &stdOut);
if (exeName == "slangc")
{
- appContext.setWriter(SLANG_WRITER_CHANNEL_DIAGNOSTIC, &stdError);
+ stdWriters.setWriter(SLANG_WRITER_CHANNEL_DIAGNOSTIC, &stdError);
}
- appContext.setReplaceWriterFlagsAll();
-
+
List<const char*> args;
args.Add(exeName.Buffer());
for (int i = 0; i < int(spawner.argumentList_.Count()); ++i)
@@ -403,11 +404,14 @@ OSError spawnAndWait(TestContext* context, const String& testPath, OSProcessSpaw
args.Add(spawner.argumentList_[i].Buffer());
}
- SlangResult res = func(&appContext, context->getSession(), int(args.Count()), args.begin());
+ SlangResult res = func(&stdWriters, context->getSession(), int(args.Count()), args.begin());
+
+ StdWriters::setSingleton(prevStdWriters);
spawner.standardError_ = stdErrorString;
spawner.standardOutput_ = stdOutString;
- spawner.resultCode_ = AppContext::getReturnCode(res);
+
+ spawner.resultCode_ = TestToolUtil::getReturnCode(res);
return kOSError_None;
}
@@ -1763,7 +1767,7 @@ void runTestsInDirectory(
SlangResult innerMain(int argc, char** argv)
{
- AppContext::initDefault();
+ StdWriters::initDefault();
// The context holds useful things used during testing
TestContext context;
@@ -1789,7 +1793,7 @@ SlangResult innerMain(int argc, char** argv)
context.setInnerMainFunc("slangc", &SlangCTool::innerMain);
}
- SLANG_RETURN_ON_FAIL(Options::parse(argc, argv, &categorySet, AppContext::getStdError(), &context.options));
+ SLANG_RETURN_ON_FAIL(Options::parse(argc, argv, &categorySet, StdWriters::getError(), &context.options));
Options& options = context.options;
@@ -1799,7 +1803,7 @@ SlangResult innerMain(int argc, char** argv)
auto func = context.getInnerMainFunc(options.binDir, options.subCommand);
if (!func)
{
- AppContext::getStdError().print("error: Unable to launch tool '%s'\n", options.subCommand.Buffer());
+ StdWriters::getError().print("error: Unable to launch tool '%s'\n", options.subCommand.Buffer());
return SLANG_FAIL;
}
@@ -1812,7 +1816,7 @@ SlangResult innerMain(int argc, char** argv)
args[i] = srcArgs[i].Buffer();
}
- return func(AppContext::getSingleton(), context.getSession(), int(args.Count()), args.Buffer());
+ return func(StdWriters::getSingleton(), context.getSession(), int(args.Count()), args.Buffer());
}
if( options.includeCategories.Count() == 0 )