From 17d2b2492d42e54ea4e0d907b4d84aa17f4a6f33 Mon Sep 17 00:00:00 2001 From: jsmall-nvidia Date: Tue, 2 Feb 2021 17:45:56 -0500 Subject: Downstream compiler line number test (#1682) * #include an absolute path didn't work - because paths were taken to always be relative. * WIP diagnostics for line number output. * Small param naming change * Use x macro for pass through compile human name lookup/getting. * WIP on parsing downstream compiler output. * Split out parsing into ParseDiagnosticUtil. Added test result of single line. * Dump out the std output on fail to parse diagnostics. * Change test type for syntax-error-intrinsic.slang be TEST not TEST_DIAGNOSTIC --- tests/diagnostics/syntax-error-intrinsic.slang | 20 ++++++++++++++++++++ .../syntax-error-intrinsic.slang.1.expected | 1 + .../syntax-error-intrinsic.slang.2.expected | 1 + .../syntax-error-intrinsic.slang.3.expected | 1 + .../syntax-error-intrinsic.slang.4.expected | 1 + .../syntax-error-intrinsic.slang.expected | 1 + 6 files changed, 25 insertions(+) create mode 100644 tests/diagnostics/syntax-error-intrinsic.slang create mode 100644 tests/diagnostics/syntax-error-intrinsic.slang.1.expected create mode 100644 tests/diagnostics/syntax-error-intrinsic.slang.2.expected create mode 100644 tests/diagnostics/syntax-error-intrinsic.slang.3.expected create mode 100644 tests/diagnostics/syntax-error-intrinsic.slang.4.expected create mode 100644 tests/diagnostics/syntax-error-intrinsic.slang.expected (limited to 'tests') diff --git a/tests/diagnostics/syntax-error-intrinsic.slang b/tests/diagnostics/syntax-error-intrinsic.slang new file mode 100644 index 000000000..dde54b2ad --- /dev/null +++ b/tests/diagnostics/syntax-error-intrinsic.slang @@ -0,0 +1,20 @@ +// syntax-error-intrinsic.slang + +// NOTE! That although this is a 'diagnostic' like test, it tests using downstream compiler +// the downstream compiler being present is a requirement, so we mark as a 'TEST' so that +// those tests are made. + +//TEST:SIMPLE_LINE:-entry computeMain -target spirv +//TEST:SIMPLE_LINE:-entry computeMain -target dxil -profile cs_6_0 +//TEST:SIMPLE_LINE:-entry computeMain -target dxbc +//TEST:SIMPLE_LINE:-entry computeMain -target dll +//TEST:SIMPLE_LINE:-entry computeMain -target ptx + +[shader("compute")] +[numthreads(4, 1, 1)] +void computeMain() +{ + // Will output what downstream compilers will output as a syntax + // error. + __SyntaxError(); +} \ No newline at end of file diff --git a/tests/diagnostics/syntax-error-intrinsic.slang.1.expected b/tests/diagnostics/syntax-error-intrinsic.slang.1.expected new file mode 100644 index 000000000..3c032078a --- /dev/null +++ b/tests/diagnostics/syntax-error-intrinsic.slang.1.expected @@ -0,0 +1 @@ +18 diff --git a/tests/diagnostics/syntax-error-intrinsic.slang.2.expected b/tests/diagnostics/syntax-error-intrinsic.slang.2.expected new file mode 100644 index 000000000..3c032078a --- /dev/null +++ b/tests/diagnostics/syntax-error-intrinsic.slang.2.expected @@ -0,0 +1 @@ +18 diff --git a/tests/diagnostics/syntax-error-intrinsic.slang.3.expected b/tests/diagnostics/syntax-error-intrinsic.slang.3.expected new file mode 100644 index 000000000..98d9bcb75 --- /dev/null +++ b/tests/diagnostics/syntax-error-intrinsic.slang.3.expected @@ -0,0 +1 @@ +17 diff --git a/tests/diagnostics/syntax-error-intrinsic.slang.4.expected b/tests/diagnostics/syntax-error-intrinsic.slang.4.expected new file mode 100644 index 000000000..98d9bcb75 --- /dev/null +++ b/tests/diagnostics/syntax-error-intrinsic.slang.4.expected @@ -0,0 +1 @@ +17 diff --git a/tests/diagnostics/syntax-error-intrinsic.slang.expected b/tests/diagnostics/syntax-error-intrinsic.slang.expected new file mode 100644 index 000000000..98d9bcb75 --- /dev/null +++ b/tests/diagnostics/syntax-error-intrinsic.slang.expected @@ -0,0 +1 @@ +17 -- cgit v1.2.3