summaryrefslogtreecommitdiffstats
path: root/tools/slang-test/os.cpp
diff options
context:
space:
mode:
authorTim Foley <tfoley@nvidia.com>2017-06-14 09:10:22 -0700
committerTim Foley <tfoley@nvidia.com>2017-06-14 14:40:48 -0700
commit90d6a401ee0d6327b068e58a64a10f620300a38e (patch)
tree526db8d7c4e41d5823e58504cc250192f43ff3c3 /tools/slang-test/os.cpp
parent8ddf03f295ee4149c3ce2304545e759be6fcead2 (diff)
AppVeyor: Run tests as part of AppVeyor builds
This includes a bunch of related changes: - `slang-test` - Add a notion of an "output mode" that specifies whether we output to console (the default), or invoke the apprpriate AppVeyor command to update test status - Add a notion of test categories, so that tests can be tagged with categories, and then we can invoke only those tets in a given category, or choose to *exclude* tests with specific categories - Allow the `OSProcessSpawner` to look up an executable by "path" (meaning a full path is expected) or by "name" (meaning it should be allowed to look in the current directory, `PATH` environment variable, etc.). This was important to make sure that I can run `appveyor` without having to know its absolute path. - AppVeyor configuration - Change badge to reflect new build account for organization (rather than a single-user account) - Remove attempt to set AppVeyor build version in a clever way, since it breaks links from GitHub to AppVeyor - Change order or configurations in the build matrix to front-load the Release build (which has the main tests) - Turn on `fast_finish` flag so we don't have to wait as long for failed builds - Turn on `parallel` builds - Set `verbosity: minimal` to avoid getting build spew about Xamarin stuff I'm not using - Add custom `test_script` to invoke `test.bat` - Sets the test category based on teh build configuration, so we don't run the full test suite on every input. - `test.bat` - Allow for `-platform` and `-configuration` arguments - Rewrute a platform of `Win32` over to `x86` to match how the output directories are named - Futz around with how the directories are being passed along to work around annoying `.bat` file quoting behavior (I still don't get how batch files work) - Tests - Mark a bunch of tests as `smoke` tests - Mark the relevant tests as `render` tests (these get filtered out for AppVeyor builds)
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,