summaryrefslogtreecommitdiff
path: root/tools/slang-test/os.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tools/slang-test/os.cpp')
-rw-r--r--tools/slang-test/os.cpp11
1 files changed, 10 insertions, 1 deletions
diff --git a/tools/slang-test/os.cpp b/tools/slang-test/os.cpp
index 8f5172ae6..4bc3d8e6d 100644
--- a/tools/slang-test/os.cpp
+++ b/tools/slang-test/os.cpp
@@ -205,6 +205,15 @@ void OSProcessSpawner::pushExecutableName(
{
executableName_ = executableName;
commandLine_.Append(executableName);
+ isExecutablePath_ = false;
+}
+
+void OSProcessSpawner::pushExecutablePath(
+ CoreLib::Basic::String executablePath)
+{
+ executableName_ = executablePath;
+ commandLine_.Append(executablePath);
+ isExecutablePath_ = true;
}
void OSProcessSpawner::pushArgument(
@@ -305,7 +314,7 @@ OSError OSProcessSpawner::spawnAndWaitForCompletion()
// `CreateProcess` requires write access to this, for some reason...
BOOL success = CreateProcessW(
- executableName_.ToWString(),
+ isExecutablePath_ ? executableName_.ToWString() : nullptr,
(LPWSTR)commandLine_.ToString().ToWString(),
nullptr,
nullptr,