From 90d6a401ee0d6327b068e58a64a10f620300a38e Mon Sep 17 00:00:00 2001 From: Tim Foley Date: Wed, 14 Jun 2017 09:10:22 -0700 Subject: 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) --- tests/bindings/targets-and-uavs-structure.hlsl | 2 +- tests/diagnostics/call-argument-type.slang | 2 +- tests/glsl/sascha-willems/tessellation/pntriangles.tese | 2 +- tests/hlsl/dxsdk/AdaptiveTessellationCS40/Render.hlsl | 2 +- tests/preprocessor/define-function-like.slang | 2 +- tests/reflection/resource-in-cbuffer.hlsl | 2 +- tests/render/cross-compile0.hlsl | 2 +- tests/render/render0.hlsl | 2 +- tests/rewriter/error0.hlsl | 2 +- 9 files changed, 9 insertions(+), 9 deletions(-) (limited to 'tests') diff --git a/tests/bindings/targets-and-uavs-structure.hlsl b/tests/bindings/targets-and-uavs-structure.hlsl index dcc053253..4ec64fb75 100644 --- a/tests/bindings/targets-and-uavs-structure.hlsl +++ b/tests/bindings/targets-and-uavs-structure.hlsl @@ -1,4 +1,4 @@ -//TEST:COMPARE_HLSL: -target dxbc-assembly -profile ps_5_0 -entry main +//TEST(smoke):COMPARE_HLSL: -target dxbc-assembly -profile ps_5_0 -entry main // Handle the case where the fragment shader output is // defined a structure, and the semantics are on the sub-fields diff --git a/tests/diagnostics/call-argument-type.slang b/tests/diagnostics/call-argument-type.slang index d9663147f..b4f7e7477 100644 --- a/tests/diagnostics/call-argument-type.slang +++ b/tests/diagnostics/call-argument-type.slang @@ -1,4 +1,4 @@ -//TEST:SIMPLE: +//TEST(smoke):SIMPLE: // call function with wrong argument type struct A {}; diff --git a/tests/glsl/sascha-willems/tessellation/pntriangles.tese b/tests/glsl/sascha-willems/tessellation/pntriangles.tese index 0187ad781..5faf27f9d 100644 --- a/tests/glsl/sascha-willems/tessellation/pntriangles.tese +++ b/tests/glsl/sascha-willems/tessellation/pntriangles.tese @@ -1,4 +1,4 @@ -//TEST:COMPARE_GLSL: +//TEST(smoke):COMPARE_GLSL: #version 450 #extension GL_ARB_separate_shader_objects : enable diff --git a/tests/hlsl/dxsdk/AdaptiveTessellationCS40/Render.hlsl b/tests/hlsl/dxsdk/AdaptiveTessellationCS40/Render.hlsl index b98b870da..c106c46e7 100644 --- a/tests/hlsl/dxsdk/AdaptiveTessellationCS40/Render.hlsl +++ b/tests/hlsl/dxsdk/AdaptiveTessellationCS40/Render.hlsl @@ -1,4 +1,4 @@ -//TEST:COMPARE_HLSL: -profile vs_4_0 -entry RenderBaseVS -profile ps_4_0 -entry RenderPS -target dxbc-assembly +//TEST(smoke):COMPARE_HLSL: -profile vs_4_0 -entry RenderBaseVS -profile ps_4_0 -entry RenderPS -target dxbc-assembly //-------------------------------------------------------------------------------------- // File: Render.hlsl // diff --git a/tests/preprocessor/define-function-like.slang b/tests/preprocessor/define-function-like.slang index f1dd9caa4..fa8294077 100644 --- a/tests/preprocessor/define-function-like.slang +++ b/tests/preprocessor/define-function-like.slang @@ -1,4 +1,4 @@ -//TEST:SIMPLE: +//TEST(smoke):SIMPLE: // support for function-like macros #define FOO(x) 1.0 + x diff --git a/tests/reflection/resource-in-cbuffer.hlsl b/tests/reflection/resource-in-cbuffer.hlsl index 956387587..9ab127363 100644 --- a/tests/reflection/resource-in-cbuffer.hlsl +++ b/tests/reflection/resource-in-cbuffer.hlsl @@ -1,4 +1,4 @@ -//TEST:SIMPLE:-profile ps_4_0 -target reflection-json +//TEST(smoke):SIMPLE:-profile ps_4_0 -target reflection-json // Confirm that we can generate reflection // information for resources nested inside diff --git a/tests/render/cross-compile0.hlsl b/tests/render/cross-compile0.hlsl index b482035d1..d300e2bd5 100644 --- a/tests/render/cross-compile0.hlsl +++ b/tests/render/cross-compile0.hlsl @@ -1,4 +1,4 @@ -//TEST:COMPARE_HLSL_GLSL_RENDER: +//TEST(smoke,render):COMPARE_HLSL_GLSL_RENDER: // This is a basic test case for cross-compilation behavior. // diff --git a/tests/render/render0.hlsl b/tests/render/render0.hlsl index 3ecd582f3..5e04c7d63 100644 --- a/tests/render/render0.hlsl +++ b/tests/render/render0.hlsl @@ -1,4 +1,4 @@ -//TEST:COMPARE_HLSL_RENDER: +//TEST(smoke,render):COMPARE_HLSL_RENDER: // Starting with a basic test for the ability to render stuff... cbuffer Uniforms diff --git a/tests/rewriter/error0.hlsl b/tests/rewriter/error0.hlsl index dc3e84fda..10957e9e5 100644 --- a/tests/rewriter/error0.hlsl +++ b/tests/rewriter/error0.hlsl @@ -1,4 +1,4 @@ -//TEST:COMPARE_HLSL: -no-checking -target dxbc-assembly -profile ps_4_0 -entry main +//TEST(smoke):COMPARE_HLSL: -no-checking -target dxbc-assembly -profile ps_4_0 -entry main // We need to confirm that when there is an error in // the input code, we allow the downstream compiler -- cgit v1.2.3