From 5b49974bd6ddd248b5ee1b1e29c0acfc3c422a3a Mon Sep 17 00:00:00 2001 From: Tim Foley Date: Mon, 12 Jun 2017 12:42:17 -0700 Subject: Rename tests from `*.spire` to `*.slang` Many of the existing test cases were being skipped on accident, because their file names used `.spire` and the test tool was now looking for `.slang` --- tests/diagnostics/break-outside-loop.slang | 4 ++ .../diagnostics/break-outside-loop.slang.expected | 6 +++ tests/diagnostics/break-outside-loop.spire | 4 -- .../diagnostics/break-outside-loop.spire.expected | 6 --- tests/diagnostics/call-argument-type.slang | 11 +++++ .../diagnostics/call-argument-type.slang.expected | 6 +++ tests/diagnostics/call-argument-type.spire | 11 ----- .../diagnostics/call-argument-type.spire.expected | 6 --- tests/diagnostics/continue-outside-loop.slang | 4 ++ .../continue-outside-loop.slang.expected | 6 +++ tests/diagnostics/continue-outside-loop.spire | 4 -- .../continue-outside-loop.spire.expected | 6 --- tests/diagnostics/expected-token-eof.slang | 6 +++ .../diagnostics/expected-token-eof.slang.expected | 6 +++ tests/diagnostics/expected-token-eof.spire | 6 --- .../diagnostics/expected-token-eof.spire.expected | 6 --- tests/diagnostics/expected-token.slang | 7 +++ tests/diagnostics/expected-token.slang.expected | 6 +++ tests/diagnostics/expected-token.spire | 7 --- tests/diagnostics/expected-token.spire.expected | 6 --- .../function-redefinition.slang.disabled | 5 ++ .../function-redefinition.slang.expected | 6 +++ .../function-redefinition.spire.disabled | 5 -- .../function-redefinition.spire.expected | 6 --- .../hull-shader-invalid-domain.slang.disabled | 53 ++++++++++++++++++++++ .../hull-shader-invalid-domain.slang.expected | 6 +++ .../hull-shader-invalid-domain.spire.disabled | 53 ---------------------- .../hull-shader-invalid-domain.spire.expected | 6 --- .../hull-shader-no-domain.slang.disabled | 53 ++++++++++++++++++++++ .../hull-shader-no-domain.slang.expected | 6 +++ .../hull-shader-no-domain.spire.disabled | 53 ---------------------- .../hull-shader-no-domain.spire.expected | 6 --- tests/diagnostics/illegal-character.slang | 5 ++ tests/diagnostics/illegal-character.slang.expected | 6 +++ tests/diagnostics/illegal-character.spire | 5 -- tests/diagnostics/illegal-character.spire.expected | 6 --- tests/diagnostics/missing-file.slang.disabled | 3 ++ tests/diagnostics/missing-file.slang.expected | 7 +++ tests/diagnostics/missing-file.spire.disabled | 3 -- tests/diagnostics/missing-file.spire.expected | 7 --- tests/diagnostics/missing-include-file.slang | 4 ++ .../missing-include-file.slang.expected | 6 +++ tests/diagnostics/missing-include-file.spire | 4 -- .../missing-include-file.spire.expected | 6 --- tests/diagnostics/parameter-already-defined.slang | 4 ++ .../parameter-already-defined.slang.expected | 6 +++ tests/diagnostics/parameter-already-defined.spire | 4 -- .../parameter-already-defined.spire.expected | 6 --- tests/diagnostics/undefined-identifier.slang | 7 +++ .../undefined-identifier.slang.expected | 6 +++ tests/diagnostics/undefined-identifier.spire | 7 --- .../undefined-identifier.spire.expected | 6 --- tests/diagnostics/variable-void-type.slang | 7 +++ .../diagnostics/variable-void-type.slang.expected | 6 +++ tests/diagnostics/variable-void-type.spire | 7 --- .../diagnostics/variable-void-type.spire.expected | 6 --- tests/diagnostics/while-predicate-type.slang | 10 ++++ .../while-predicate-type.slang.expected | 6 +++ tests/diagnostics/while-predicate-type.spire | 10 ---- .../while-predicate-type.spire.expected | 6 --- 60 files changed, 274 insertions(+), 274 deletions(-) create mode 100644 tests/diagnostics/break-outside-loop.slang create mode 100644 tests/diagnostics/break-outside-loop.slang.expected delete mode 100644 tests/diagnostics/break-outside-loop.spire delete mode 100644 tests/diagnostics/break-outside-loop.spire.expected create mode 100644 tests/diagnostics/call-argument-type.slang create mode 100644 tests/diagnostics/call-argument-type.slang.expected delete mode 100644 tests/diagnostics/call-argument-type.spire delete mode 100644 tests/diagnostics/call-argument-type.spire.expected create mode 100644 tests/diagnostics/continue-outside-loop.slang create mode 100644 tests/diagnostics/continue-outside-loop.slang.expected delete mode 100644 tests/diagnostics/continue-outside-loop.spire delete mode 100644 tests/diagnostics/continue-outside-loop.spire.expected create mode 100644 tests/diagnostics/expected-token-eof.slang create mode 100644 tests/diagnostics/expected-token-eof.slang.expected delete mode 100644 tests/diagnostics/expected-token-eof.spire delete mode 100644 tests/diagnostics/expected-token-eof.spire.expected create mode 100644 tests/diagnostics/expected-token.slang create mode 100644 tests/diagnostics/expected-token.slang.expected delete mode 100644 tests/diagnostics/expected-token.spire delete mode 100644 tests/diagnostics/expected-token.spire.expected create mode 100644 tests/diagnostics/function-redefinition.slang.disabled create mode 100644 tests/diagnostics/function-redefinition.slang.expected delete mode 100644 tests/diagnostics/function-redefinition.spire.disabled delete mode 100644 tests/diagnostics/function-redefinition.spire.expected create mode 100644 tests/diagnostics/hull-shader-invalid-domain.slang.disabled create mode 100644 tests/diagnostics/hull-shader-invalid-domain.slang.expected delete mode 100644 tests/diagnostics/hull-shader-invalid-domain.spire.disabled delete mode 100644 tests/diagnostics/hull-shader-invalid-domain.spire.expected create mode 100644 tests/diagnostics/hull-shader-no-domain.slang.disabled create mode 100644 tests/diagnostics/hull-shader-no-domain.slang.expected delete mode 100644 tests/diagnostics/hull-shader-no-domain.spire.disabled delete mode 100644 tests/diagnostics/hull-shader-no-domain.spire.expected create mode 100644 tests/diagnostics/illegal-character.slang create mode 100644 tests/diagnostics/illegal-character.slang.expected delete mode 100644 tests/diagnostics/illegal-character.spire delete mode 100644 tests/diagnostics/illegal-character.spire.expected create mode 100644 tests/diagnostics/missing-file.slang.disabled create mode 100644 tests/diagnostics/missing-file.slang.expected delete mode 100644 tests/diagnostics/missing-file.spire.disabled delete mode 100644 tests/diagnostics/missing-file.spire.expected create mode 100644 tests/diagnostics/missing-include-file.slang create mode 100644 tests/diagnostics/missing-include-file.slang.expected delete mode 100644 tests/diagnostics/missing-include-file.spire delete mode 100644 tests/diagnostics/missing-include-file.spire.expected create mode 100644 tests/diagnostics/parameter-already-defined.slang create mode 100644 tests/diagnostics/parameter-already-defined.slang.expected delete mode 100644 tests/diagnostics/parameter-already-defined.spire delete mode 100644 tests/diagnostics/parameter-already-defined.spire.expected create mode 100644 tests/diagnostics/undefined-identifier.slang create mode 100644 tests/diagnostics/undefined-identifier.slang.expected delete mode 100644 tests/diagnostics/undefined-identifier.spire delete mode 100644 tests/diagnostics/undefined-identifier.spire.expected create mode 100644 tests/diagnostics/variable-void-type.slang create mode 100644 tests/diagnostics/variable-void-type.slang.expected delete mode 100644 tests/diagnostics/variable-void-type.spire delete mode 100644 tests/diagnostics/variable-void-type.spire.expected create mode 100644 tests/diagnostics/while-predicate-type.slang create mode 100644 tests/diagnostics/while-predicate-type.slang.expected delete mode 100644 tests/diagnostics/while-predicate-type.spire delete mode 100644 tests/diagnostics/while-predicate-type.spire.expected (limited to 'tests/diagnostics') diff --git a/tests/diagnostics/break-outside-loop.slang b/tests/diagnostics/break-outside-loop.slang new file mode 100644 index 000000000..f86b0bad6 --- /dev/null +++ b/tests/diagnostics/break-outside-loop.slang @@ -0,0 +1,4 @@ +//TEST:SIMPLE: +// `break` where it isn't allowed + +void foo() { break; } diff --git a/tests/diagnostics/break-outside-loop.slang.expected b/tests/diagnostics/break-outside-loop.slang.expected new file mode 100644 index 000000000..80d79537b --- /dev/null +++ b/tests/diagnostics/break-outside-loop.slang.expected @@ -0,0 +1,6 @@ +result code = -1 +standard error = { +tests/diagnostics/break-outside-loop.slang(4): error 30003: 'break' must appear inside loop constructs. +} +standard output = { +} diff --git a/tests/diagnostics/break-outside-loop.spire b/tests/diagnostics/break-outside-loop.spire deleted file mode 100644 index f86b0bad6..000000000 --- a/tests/diagnostics/break-outside-loop.spire +++ /dev/null @@ -1,4 +0,0 @@ -//TEST:SIMPLE: -// `break` where it isn't allowed - -void foo() { break; } diff --git a/tests/diagnostics/break-outside-loop.spire.expected b/tests/diagnostics/break-outside-loop.spire.expected deleted file mode 100644 index 2d56efaa9..000000000 --- a/tests/diagnostics/break-outside-loop.spire.expected +++ /dev/null @@ -1,6 +0,0 @@ -result code = -1 -standard error = { -Tests/Diagnostics/break-outside-loop.spire(4): error 30003: 'break' must appear inside loop constructs. -} -standard output = { -} diff --git a/tests/diagnostics/call-argument-type.slang b/tests/diagnostics/call-argument-type.slang new file mode 100644 index 000000000..d9663147f --- /dev/null +++ b/tests/diagnostics/call-argument-type.slang @@ -0,0 +1,11 @@ +//TEST:SIMPLE: +// call function with wrong argument type + +struct A {}; +struct B {}; + +void f(A a) {} +void g(B b) +{ + f(b); +} diff --git a/tests/diagnostics/call-argument-type.slang.expected b/tests/diagnostics/call-argument-type.slang.expected new file mode 100644 index 000000000..0854dbbe3 --- /dev/null +++ b/tests/diagnostics/call-argument-type.slang.expected @@ -0,0 +1,6 @@ +result code = -1 +standard error = { +tests/diagnostics/call-argument-type.slang(10): error 30019: expected an expression of type 'A', got 'B' +} +standard output = { +} diff --git a/tests/diagnostics/call-argument-type.spire b/tests/diagnostics/call-argument-type.spire deleted file mode 100644 index d9663147f..000000000 --- a/tests/diagnostics/call-argument-type.spire +++ /dev/null @@ -1,11 +0,0 @@ -//TEST:SIMPLE: -// call function with wrong argument type - -struct A {}; -struct B {}; - -void f(A a) {} -void g(B b) -{ - f(b); -} diff --git a/tests/diagnostics/call-argument-type.spire.expected b/tests/diagnostics/call-argument-type.spire.expected deleted file mode 100644 index 09a01a359..000000000 --- a/tests/diagnostics/call-argument-type.spire.expected +++ /dev/null @@ -1,6 +0,0 @@ -result code = -1 -standard error = { -Tests/Diagnostics/call-argument-type.spire(10): error 30019: expected an expression of type 'A', got 'B' -} -standard output = { -} diff --git a/tests/diagnostics/continue-outside-loop.slang b/tests/diagnostics/continue-outside-loop.slang new file mode 100644 index 000000000..cad9dce6e --- /dev/null +++ b/tests/diagnostics/continue-outside-loop.slang @@ -0,0 +1,4 @@ +//TEST:SIMPLE: +// `continue` where it isn't allowed + +void foo() { continue; } diff --git a/tests/diagnostics/continue-outside-loop.slang.expected b/tests/diagnostics/continue-outside-loop.slang.expected new file mode 100644 index 000000000..2298a0ec5 --- /dev/null +++ b/tests/diagnostics/continue-outside-loop.slang.expected @@ -0,0 +1,6 @@ +result code = -1 +standard error = { +tests/diagnostics/continue-outside-loop.slang(4): error 30004: 'continue' must appear inside loop constructs. +} +standard output = { +} diff --git a/tests/diagnostics/continue-outside-loop.spire b/tests/diagnostics/continue-outside-loop.spire deleted file mode 100644 index cad9dce6e..000000000 --- a/tests/diagnostics/continue-outside-loop.spire +++ /dev/null @@ -1,4 +0,0 @@ -//TEST:SIMPLE: -// `continue` where it isn't allowed - -void foo() { continue; } diff --git a/tests/diagnostics/continue-outside-loop.spire.expected b/tests/diagnostics/continue-outside-loop.spire.expected deleted file mode 100644 index d12cceb78..000000000 --- a/tests/diagnostics/continue-outside-loop.spire.expected +++ /dev/null @@ -1,6 +0,0 @@ -result code = -1 -standard error = { -Tests/Diagnostics/continue-outside-loop.spire(4): error 30004: 'continue' must appear inside loop constructs. -} -standard output = { -} diff --git a/tests/diagnostics/expected-token-eof.slang b/tests/diagnostics/expected-token-eof.slang new file mode 100644 index 000000000..99ab161ec --- /dev/null +++ b/tests/diagnostics/expected-token-eof.slang @@ -0,0 +1,6 @@ +//TEST:SIMPLE: +// expected one token, but got EOF + +int foo() +{ + int a = 3 \ No newline at end of file diff --git a/tests/diagnostics/expected-token-eof.slang.expected b/tests/diagnostics/expected-token-eof.slang.expected new file mode 100644 index 000000000..a1446cb14 --- /dev/null +++ b/tests/diagnostics/expected-token-eof.slang.expected @@ -0,0 +1,6 @@ +result code = -1 +standard error = { +tests/diagnostics/expected-token-eof.slang(6): error 20001: unexpected end of file, expected ';' +} +standard output = { +} diff --git a/tests/diagnostics/expected-token-eof.spire b/tests/diagnostics/expected-token-eof.spire deleted file mode 100644 index 99ab161ec..000000000 --- a/tests/diagnostics/expected-token-eof.spire +++ /dev/null @@ -1,6 +0,0 @@ -//TEST:SIMPLE: -// expected one token, but got EOF - -int foo() -{ - int a = 3 \ No newline at end of file diff --git a/tests/diagnostics/expected-token-eof.spire.expected b/tests/diagnostics/expected-token-eof.spire.expected deleted file mode 100644 index 121ac3374..000000000 --- a/tests/diagnostics/expected-token-eof.spire.expected +++ /dev/null @@ -1,6 +0,0 @@ -result code = -1 -standard error = { -Tests/Diagnostics/expected-token-eof.spire(6): error 20001: unexpected end of file, expected ';' -} -standard output = { -} diff --git a/tests/diagnostics/expected-token.slang b/tests/diagnostics/expected-token.slang new file mode 100644 index 000000000..db85e7b92 --- /dev/null +++ b/tests/diagnostics/expected-token.slang @@ -0,0 +1,7 @@ +//TEST:SIMPLE: +// expected one token, but got another + +int foo() +{ + int a = 3 ] +} \ No newline at end of file diff --git a/tests/diagnostics/expected-token.slang.expected b/tests/diagnostics/expected-token.slang.expected new file mode 100644 index 000000000..9c5c886ba --- /dev/null +++ b/tests/diagnostics/expected-token.slang.expected @@ -0,0 +1,6 @@ +result code = -1 +standard error = { +tests/diagnostics/expected-token.slang(6): error 20001: unexpected ']', expected ';' +} +standard output = { +} diff --git a/tests/diagnostics/expected-token.spire b/tests/diagnostics/expected-token.spire deleted file mode 100644 index db85e7b92..000000000 --- a/tests/diagnostics/expected-token.spire +++ /dev/null @@ -1,7 +0,0 @@ -//TEST:SIMPLE: -// expected one token, but got another - -int foo() -{ - int a = 3 ] -} \ No newline at end of file diff --git a/tests/diagnostics/expected-token.spire.expected b/tests/diagnostics/expected-token.spire.expected deleted file mode 100644 index 508a06726..000000000 --- a/tests/diagnostics/expected-token.spire.expected +++ /dev/null @@ -1,6 +0,0 @@ -result code = -1 -standard error = { -Tests/Diagnostics/expected-token.spire(6): error 20001: unexpected ']', expected ';' -} -standard output = { -} diff --git a/tests/diagnostics/function-redefinition.slang.disabled b/tests/diagnostics/function-redefinition.slang.disabled new file mode 100644 index 000000000..d47cb1bbc --- /dev/null +++ b/tests/diagnostics/function-redefinition.slang.disabled @@ -0,0 +1,5 @@ +//TEST:SIMPLE: +// redefining a function + +int foo(int a) { return 0; } +int foo(int b) { return 1; } diff --git a/tests/diagnostics/function-redefinition.slang.expected b/tests/diagnostics/function-redefinition.slang.expected new file mode 100644 index 000000000..ff96cf5ea --- /dev/null +++ b/tests/diagnostics/function-redefinition.slang.expected @@ -0,0 +1,6 @@ +result code = -1 +standard error = { +tests/diagnostics/function-redefinition.slang(5): error 30001: 'foo(int)': function redefinition. +} +standard output = { +} diff --git a/tests/diagnostics/function-redefinition.spire.disabled b/tests/diagnostics/function-redefinition.spire.disabled deleted file mode 100644 index d47cb1bbc..000000000 --- a/tests/diagnostics/function-redefinition.spire.disabled +++ /dev/null @@ -1,5 +0,0 @@ -//TEST:SIMPLE: -// redefining a function - -int foo(int a) { return 0; } -int foo(int b) { return 1; } diff --git a/tests/diagnostics/function-redefinition.spire.expected b/tests/diagnostics/function-redefinition.spire.expected deleted file mode 100644 index 94b0d3626..000000000 --- a/tests/diagnostics/function-redefinition.spire.expected +++ /dev/null @@ -1,6 +0,0 @@ -result code = -1 -standard error = { -Tests/Diagnostics/function-redefinition.spire(5): error 30001: 'foo(int)': function redefinition. -} -standard output = { -} diff --git a/tests/diagnostics/hull-shader-invalid-domain.slang.disabled b/tests/diagnostics/hull-shader-invalid-domain.slang.disabled new file mode 100644 index 000000000..a1341631a --- /dev/null +++ b/tests/diagnostics/hull-shader-invalid-domain.slang.disabled @@ -0,0 +1,53 @@ +//TEST:SIMPLE: +// `HullShader` without `Domain` attribute + +pipeline P +{ + world CoarseVertex; + world ControlPoint; + world CornerPoint; + world TessPatch; + world FineVertex; + + require @FineVertex vec4 RS_Position; + require @ControlPoint vec2 tessLevelInner; + require @ControlPoint vec4 tessLevelOuter; + + // implicit import operator CoarseVertex->CornerPoint + extern @CornerPoint CoarseVertex[] CoarseVertex_ControlPoint; + [PerCornerIterator] + extern @CornerPoint int HS_CornerID; + + extern @ControlPoint CoarseVertex[] CoarseVertex_ControlPoint; + extern @TessPatch CoarseVertex[] CoarseVertex_ControlPoint; + [InvocationId] + extern @ControlPoint int invocationId; + extern @FineVertex ControlPoint[] ControlPoint_tes; + extern @FineVertex Patch perPatch_tes; + + extern @FineVertex Patch perCorner_tes; + [TessCoord] + extern @FineVertex vec3 tessCoord; + + stage hs : HullShader + { + PatchWorld: TessPatch; + ControlPointWorld: ControlPoint; + CornerPointWorld: CornerPoint; + InputControlPointCount: 3; + ControlPointCount: 1; + Domain: pentagons; + TessLevelOuter: tessLevelOuter; + TessLevelInner: tessLevelInner; + Partitioning: integer; + OutputTopology: triangle_ccw; + } +} + +shader S + targets P +{ + @FineVertex float4 RS_Position = float4(0.0); + @ControlPoint float2 tessLevelInner = float2(2.0); + @ControlPoint float4 tessLevelOuter = float4(2.0); +} \ No newline at end of file diff --git a/tests/diagnostics/hull-shader-invalid-domain.slang.expected b/tests/diagnostics/hull-shader-invalid-domain.slang.expected new file mode 100644 index 000000000..6b8d7761c --- /dev/null +++ b/tests/diagnostics/hull-shader-invalid-domain.slang.expected @@ -0,0 +1,6 @@ +result code = -1 +standard error = { +tests/diagnostics/hull-shader-invalid-domain.slang(39): error 50053: 'Domain' should be either 'triangles' or 'quads'. +} +standard output = { +} diff --git a/tests/diagnostics/hull-shader-invalid-domain.spire.disabled b/tests/diagnostics/hull-shader-invalid-domain.spire.disabled deleted file mode 100644 index a1341631a..000000000 --- a/tests/diagnostics/hull-shader-invalid-domain.spire.disabled +++ /dev/null @@ -1,53 +0,0 @@ -//TEST:SIMPLE: -// `HullShader` without `Domain` attribute - -pipeline P -{ - world CoarseVertex; - world ControlPoint; - world CornerPoint; - world TessPatch; - world FineVertex; - - require @FineVertex vec4 RS_Position; - require @ControlPoint vec2 tessLevelInner; - require @ControlPoint vec4 tessLevelOuter; - - // implicit import operator CoarseVertex->CornerPoint - extern @CornerPoint CoarseVertex[] CoarseVertex_ControlPoint; - [PerCornerIterator] - extern @CornerPoint int HS_CornerID; - - extern @ControlPoint CoarseVertex[] CoarseVertex_ControlPoint; - extern @TessPatch CoarseVertex[] CoarseVertex_ControlPoint; - [InvocationId] - extern @ControlPoint int invocationId; - extern @FineVertex ControlPoint[] ControlPoint_tes; - extern @FineVertex Patch perPatch_tes; - - extern @FineVertex Patch perCorner_tes; - [TessCoord] - extern @FineVertex vec3 tessCoord; - - stage hs : HullShader - { - PatchWorld: TessPatch; - ControlPointWorld: ControlPoint; - CornerPointWorld: CornerPoint; - InputControlPointCount: 3; - ControlPointCount: 1; - Domain: pentagons; - TessLevelOuter: tessLevelOuter; - TessLevelInner: tessLevelInner; - Partitioning: integer; - OutputTopology: triangle_ccw; - } -} - -shader S - targets P -{ - @FineVertex float4 RS_Position = float4(0.0); - @ControlPoint float2 tessLevelInner = float2(2.0); - @ControlPoint float4 tessLevelOuter = float4(2.0); -} \ No newline at end of file diff --git a/tests/diagnostics/hull-shader-invalid-domain.spire.expected b/tests/diagnostics/hull-shader-invalid-domain.spire.expected deleted file mode 100644 index 89b4634aa..000000000 --- a/tests/diagnostics/hull-shader-invalid-domain.spire.expected +++ /dev/null @@ -1,6 +0,0 @@ -result code = -1 -standard error = { -Tests/Diagnostics/hull-shader-invalid-domain.spire(39): error 50053: 'Domain' should be either 'triangles' or 'quads'. -} -standard output = { -} diff --git a/tests/diagnostics/hull-shader-no-domain.slang.disabled b/tests/diagnostics/hull-shader-no-domain.slang.disabled new file mode 100644 index 000000000..87bf2a81c --- /dev/null +++ b/tests/diagnostics/hull-shader-no-domain.slang.disabled @@ -0,0 +1,53 @@ +//TEST:SIMPLE: +// `HullShader` without `Domain` attribute + +pipeline P +{ + world CoarseVertex; + world ControlPoint; + world CornerPoint; + world TessPatch; + world FineVertex; + + require @FineVertex vec4 RS_Position; + require @ControlPoint vec2 tessLevelInner; + require @ControlPoint vec4 tessLevelOuter; + + // implicit import operator CoarseVertex->CornerPoint + extern @CornerPoint CoarseVertex[] CoarseVertex_ControlPoint; + [PerCornerIterator] + extern @CornerPoint int HS_CornerID; + + extern @ControlPoint CoarseVertex[] CoarseVertex_ControlPoint; + extern @TessPatch CoarseVertex[] CoarseVertex_ControlPoint; + [InvocationId] + extern @ControlPoint int invocationId; + extern @FineVertex ControlPoint[] ControlPoint_tes; + extern @FineVertex Patch perPatch_tes; + + extern @FineVertex Patch perCorner_tes; + [TessCoord] + extern @FineVertex vec3 tessCoord; + + stage hs : HullShader + { + PatchWorld: TessPatch; + ControlPointWorld: ControlPoint; + CornerPointWorld: CornerPoint; + InputControlPointCount: 3; + ControlPointCount: 1; +// Domain: triangles; + TessLevelOuter: tessLevelOuter; + TessLevelInner: tessLevelInner; + Partitioning: integer; + OutputTopology: triangle_ccw; + } +} + +shader S + targets P +{ + @FineVertex float4 RS_Position = float4(0.0); + @ControlPoint float2 tessLevelInner = float2(2.0); + @ControlPoint float4 tessLevelOuter = float4(2.0); +} \ No newline at end of file diff --git a/tests/diagnostics/hull-shader-no-domain.slang.expected b/tests/diagnostics/hull-shader-no-domain.slang.expected new file mode 100644 index 000000000..98543caaf --- /dev/null +++ b/tests/diagnostics/hull-shader-no-domain.slang.expected @@ -0,0 +1,6 @@ +result code = -1 +standard error = { +tests/diagnostics/hull-shader-no-domain.slang(32): error 50052: 'HullShader' requires attribute 'Domain'. +} +standard output = { +} diff --git a/tests/diagnostics/hull-shader-no-domain.spire.disabled b/tests/diagnostics/hull-shader-no-domain.spire.disabled deleted file mode 100644 index 87bf2a81c..000000000 --- a/tests/diagnostics/hull-shader-no-domain.spire.disabled +++ /dev/null @@ -1,53 +0,0 @@ -//TEST:SIMPLE: -// `HullShader` without `Domain` attribute - -pipeline P -{ - world CoarseVertex; - world ControlPoint; - world CornerPoint; - world TessPatch; - world FineVertex; - - require @FineVertex vec4 RS_Position; - require @ControlPoint vec2 tessLevelInner; - require @ControlPoint vec4 tessLevelOuter; - - // implicit import operator CoarseVertex->CornerPoint - extern @CornerPoint CoarseVertex[] CoarseVertex_ControlPoint; - [PerCornerIterator] - extern @CornerPoint int HS_CornerID; - - extern @ControlPoint CoarseVertex[] CoarseVertex_ControlPoint; - extern @TessPatch CoarseVertex[] CoarseVertex_ControlPoint; - [InvocationId] - extern @ControlPoint int invocationId; - extern @FineVertex ControlPoint[] ControlPoint_tes; - extern @FineVertex Patch perPatch_tes; - - extern @FineVertex Patch perCorner_tes; - [TessCoord] - extern @FineVertex vec3 tessCoord; - - stage hs : HullShader - { - PatchWorld: TessPatch; - ControlPointWorld: ControlPoint; - CornerPointWorld: CornerPoint; - InputControlPointCount: 3; - ControlPointCount: 1; -// Domain: triangles; - TessLevelOuter: tessLevelOuter; - TessLevelInner: tessLevelInner; - Partitioning: integer; - OutputTopology: triangle_ccw; - } -} - -shader S - targets P -{ - @FineVertex float4 RS_Position = float4(0.0); - @ControlPoint float2 tessLevelInner = float2(2.0); - @ControlPoint float4 tessLevelOuter = float4(2.0); -} \ No newline at end of file diff --git a/tests/diagnostics/hull-shader-no-domain.spire.expected b/tests/diagnostics/hull-shader-no-domain.spire.expected deleted file mode 100644 index 08a08ad79..000000000 --- a/tests/diagnostics/hull-shader-no-domain.spire.expected +++ /dev/null @@ -1,6 +0,0 @@ -result code = -1 -standard error = { -Tests/Diagnostics/hull-shader-no-domain.spire(32): error 50052: 'HullShader' requires attribute 'Domain'. -} -standard output = { -} diff --git a/tests/diagnostics/illegal-character.slang b/tests/diagnostics/illegal-character.slang new file mode 100644 index 000000000..5915e861f --- /dev/null +++ b/tests/diagnostics/illegal-character.slang @@ -0,0 +1,5 @@ +//TEST:SIMPLE: +// illegal character + +` + diff --git a/tests/diagnostics/illegal-character.slang.expected b/tests/diagnostics/illegal-character.slang.expected new file mode 100644 index 000000000..4c5ac7086 --- /dev/null +++ b/tests/diagnostics/illegal-character.slang.expected @@ -0,0 +1,6 @@ +result code = -1 +standard error = { +tests/diagnostics/illegal-character.slang(4): error 10000: illegal character '`' +} +standard output = { +} diff --git a/tests/diagnostics/illegal-character.spire b/tests/diagnostics/illegal-character.spire deleted file mode 100644 index 5915e861f..000000000 --- a/tests/diagnostics/illegal-character.spire +++ /dev/null @@ -1,5 +0,0 @@ -//TEST:SIMPLE: -// illegal character - -` - diff --git a/tests/diagnostics/illegal-character.spire.expected b/tests/diagnostics/illegal-character.spire.expected deleted file mode 100644 index 301b99063..000000000 --- a/tests/diagnostics/illegal-character.spire.expected +++ /dev/null @@ -1,6 +0,0 @@ -result code = -1 -standard error = { -Tests/Diagnostics/illegal-character.spire(4): error 10000: illegal character '`' -} -standard output = { -} diff --git a/tests/diagnostics/missing-file.slang.disabled b/tests/diagnostics/missing-file.slang.disabled new file mode 100644 index 000000000..a1128d97b --- /dev/null +++ b/tests/diagnostics/missing-file.slang.disabled @@ -0,0 +1,3 @@ +// trying to import a non-existant file + +using "does-not-exist.slang" diff --git a/tests/diagnostics/missing-file.slang.expected b/tests/diagnostics/missing-file.slang.expected new file mode 100644 index 000000000..13a066d4c --- /dev/null +++ b/tests/diagnostics/missing-file.slang.expected @@ -0,0 +1,7 @@ +result code = -1 +standard error = { +tests/diagnostics/missing-file.slang(1): error 20001: unexpected end of file, expected ';' +tests/diagnostics/missing-file.slang(4): error 2: cannot find file 'does-not-exist.slang'. +} +standard output = { +} diff --git a/tests/diagnostics/missing-file.spire.disabled b/tests/diagnostics/missing-file.spire.disabled deleted file mode 100644 index f340dd95e..000000000 --- a/tests/diagnostics/missing-file.spire.disabled +++ /dev/null @@ -1,3 +0,0 @@ -// trying to import a non-existant file - -using "does-not-exist.spire" diff --git a/tests/diagnostics/missing-file.spire.expected b/tests/diagnostics/missing-file.spire.expected deleted file mode 100644 index d4722c0e2..000000000 --- a/tests/diagnostics/missing-file.spire.expected +++ /dev/null @@ -1,7 +0,0 @@ -result code = -1 -standard error = { -Tests/Diagnostics/missing-file.spire(1): error 20001: unexpected end of file, expected ';' -Tests/Diagnostics/missing-file.spire(4): error 2: cannot find file 'does-not-exist.spire'. -} -standard output = { -} diff --git a/tests/diagnostics/missing-include-file.slang b/tests/diagnostics/missing-include-file.slang new file mode 100644 index 000000000..9e0f99b9c --- /dev/null +++ b/tests/diagnostics/missing-include-file.slang @@ -0,0 +1,4 @@ +//TEST:SIMPLE: +// trying to include a non-existant file + +#include "does-not-exist.h" diff --git a/tests/diagnostics/missing-include-file.slang.expected b/tests/diagnostics/missing-include-file.slang.expected new file mode 100644 index 000000000..7f13d3616 --- /dev/null +++ b/tests/diagnostics/missing-include-file.slang.expected @@ -0,0 +1,6 @@ +result code = -1 +standard error = { +tests/diagnostics/missing-include-file.slang(4): error 15300: failed to find include file 'does-not-exist.h' +} +standard output = { +} diff --git a/tests/diagnostics/missing-include-file.spire b/tests/diagnostics/missing-include-file.spire deleted file mode 100644 index 9e0f99b9c..000000000 --- a/tests/diagnostics/missing-include-file.spire +++ /dev/null @@ -1,4 +0,0 @@ -//TEST:SIMPLE: -// trying to include a non-existant file - -#include "does-not-exist.h" diff --git a/tests/diagnostics/missing-include-file.spire.expected b/tests/diagnostics/missing-include-file.spire.expected deleted file mode 100644 index 24649c484..000000000 --- a/tests/diagnostics/missing-include-file.spire.expected +++ /dev/null @@ -1,6 +0,0 @@ -result code = -1 -standard error = { -Tests/Diagnostics/missing-include-file.spire(4): error 15300: failed to find include file 'does-not-exist.h' -} -standard output = { -} diff --git a/tests/diagnostics/parameter-already-defined.slang b/tests/diagnostics/parameter-already-defined.slang new file mode 100644 index 000000000..860b17e65 --- /dev/null +++ b/tests/diagnostics/parameter-already-defined.slang @@ -0,0 +1,4 @@ +//TEST:SIMPLE: +// re-use parameter name + +int foo( int a, float a ) { return 0; } diff --git a/tests/diagnostics/parameter-already-defined.slang.expected b/tests/diagnostics/parameter-already-defined.slang.expected new file mode 100644 index 000000000..ae7546a10 --- /dev/null +++ b/tests/diagnostics/parameter-already-defined.slang.expected @@ -0,0 +1,6 @@ +result code = -1 +standard error = { +tests/diagnostics/parameter-already-defined.slang(4): error 30002: parameter 'a' already defined. +} +standard output = { +} diff --git a/tests/diagnostics/parameter-already-defined.spire b/tests/diagnostics/parameter-already-defined.spire deleted file mode 100644 index 860b17e65..000000000 --- a/tests/diagnostics/parameter-already-defined.spire +++ /dev/null @@ -1,4 +0,0 @@ -//TEST:SIMPLE: -// re-use parameter name - -int foo( int a, float a ) { return 0; } diff --git a/tests/diagnostics/parameter-already-defined.spire.expected b/tests/diagnostics/parameter-already-defined.spire.expected deleted file mode 100644 index 0021afa42..000000000 --- a/tests/diagnostics/parameter-already-defined.spire.expected +++ /dev/null @@ -1,6 +0,0 @@ -result code = -1 -standard error = { -Tests/Diagnostics/parameter-already-defined.spire(4): error 30002: parameter 'a' already defined. -} -standard output = { -} diff --git a/tests/diagnostics/undefined-identifier.slang b/tests/diagnostics/undefined-identifier.slang new file mode 100644 index 000000000..6c5a59f75 --- /dev/null +++ b/tests/diagnostics/undefined-identifier.slang @@ -0,0 +1,7 @@ +//TEST:SIMPLE: +// use of undefined identifier + +void foo() +{ + int a = b; +} diff --git a/tests/diagnostics/undefined-identifier.slang.expected b/tests/diagnostics/undefined-identifier.slang.expected new file mode 100644 index 000000000..48361e78c --- /dev/null +++ b/tests/diagnostics/undefined-identifier.slang.expected @@ -0,0 +1,6 @@ +result code = -1 +standard error = { +tests/diagnostics/undefined-identifier.slang(6): error 30015: undefined identifier 'b'. +} +standard output = { +} diff --git a/tests/diagnostics/undefined-identifier.spire b/tests/diagnostics/undefined-identifier.spire deleted file mode 100644 index 6c5a59f75..000000000 --- a/tests/diagnostics/undefined-identifier.spire +++ /dev/null @@ -1,7 +0,0 @@ -//TEST:SIMPLE: -// use of undefined identifier - -void foo() -{ - int a = b; -} diff --git a/tests/diagnostics/undefined-identifier.spire.expected b/tests/diagnostics/undefined-identifier.spire.expected deleted file mode 100644 index 2eed77baf..000000000 --- a/tests/diagnostics/undefined-identifier.spire.expected +++ /dev/null @@ -1,6 +0,0 @@ -result code = -1 -standard error = { -Tests/Diagnostics/undefined-identifier.spire(6): error 30015: undefined identifier 'b'. -} -standard output = { -} diff --git a/tests/diagnostics/variable-void-type.slang b/tests/diagnostics/variable-void-type.slang new file mode 100644 index 000000000..926e6401d --- /dev/null +++ b/tests/diagnostics/variable-void-type.slang @@ -0,0 +1,7 @@ +//TEST:SIMPLE: +// variable with `void` type + +void foo() +{ + void a; +} diff --git a/tests/diagnostics/variable-void-type.slang.expected b/tests/diagnostics/variable-void-type.slang.expected new file mode 100644 index 000000000..a243dd50a --- /dev/null +++ b/tests/diagnostics/variable-void-type.slang.expected @@ -0,0 +1,6 @@ +result code = -1 +standard error = { +tests/diagnostics/variable-void-type.slang(6): error 30009: invalid type 'void'. +} +standard output = { +} diff --git a/tests/diagnostics/variable-void-type.spire b/tests/diagnostics/variable-void-type.spire deleted file mode 100644 index 926e6401d..000000000 --- a/tests/diagnostics/variable-void-type.spire +++ /dev/null @@ -1,7 +0,0 @@ -//TEST:SIMPLE: -// variable with `void` type - -void foo() -{ - void a; -} diff --git a/tests/diagnostics/variable-void-type.spire.expected b/tests/diagnostics/variable-void-type.spire.expected deleted file mode 100644 index 1f0e6765c..000000000 --- a/tests/diagnostics/variable-void-type.spire.expected +++ /dev/null @@ -1,6 +0,0 @@ -result code = -1 -standard error = { -Tests/Diagnostics/variable-void-type.spire(6): error 30009: invalid type 'void'. -} -standard output = { -} diff --git a/tests/diagnostics/while-predicate-type.slang b/tests/diagnostics/while-predicate-type.slang new file mode 100644 index 000000000..14ce45533 --- /dev/null +++ b/tests/diagnostics/while-predicate-type.slang @@ -0,0 +1,10 @@ +//TEST:SIMPLE: +// bad type for `while` predicate + +struct S {}; + +void foo() +{ + S s; + while(s) {break;} +} diff --git a/tests/diagnostics/while-predicate-type.slang.expected b/tests/diagnostics/while-predicate-type.slang.expected new file mode 100644 index 000000000..d921c588e --- /dev/null +++ b/tests/diagnostics/while-predicate-type.slang.expected @@ -0,0 +1,6 @@ +result code = -1 +standard error = { +tests/diagnostics/while-predicate-type.slang(9): error 30010: 'while': expression must evaluate to int. +} +standard output = { +} diff --git a/tests/diagnostics/while-predicate-type.spire b/tests/diagnostics/while-predicate-type.spire deleted file mode 100644 index 14ce45533..000000000 --- a/tests/diagnostics/while-predicate-type.spire +++ /dev/null @@ -1,10 +0,0 @@ -//TEST:SIMPLE: -// bad type for `while` predicate - -struct S {}; - -void foo() -{ - S s; - while(s) {break;} -} diff --git a/tests/diagnostics/while-predicate-type.spire.expected b/tests/diagnostics/while-predicate-type.spire.expected deleted file mode 100644 index 9f94e679e..000000000 --- a/tests/diagnostics/while-predicate-type.spire.expected +++ /dev/null @@ -1,6 +0,0 @@ -result code = -1 -standard error = { -Tests/Diagnostics/while-predicate-type.spire(9): error 30010: 'while': expression must evaluate to int. -} -standard output = { -} -- cgit v1.2.3