[PATCH vkd3d 5/5] tests: Add some tests for #ifdef and defined().

Zebediah Figura zfigura at codeweavers.com
Sat Nov 21 17:23:46 CST 2020


Signed-off-by: Zebediah Figura <zfigura at codeweavers.com>
---
 Makefile.am                     |  2 +
 tests/preproc-ifdef.shader_test | 89 +++++++++++++++++++++++++++++++++
 2 files changed, 91 insertions(+)
 create mode 100644 tests/preproc-ifdef.shader_test

diff --git a/Makefile.am b/Makefile.am
index 60789f43..0ee7eda7 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -65,6 +65,7 @@ vkd3d_shader_tests = \
 	tests/hlsl-vector-indexing-uniform.shader_test \
 	tests/math.shader_test \
 	tests/preproc-if.shader_test \
+	tests/preproc-ifdef.shader_test \
 	tests/swizzle-0.shader_test \
 	tests/swizzle-1.shader_test \
 	tests/swizzle-2.shader_test \
@@ -208,6 +209,7 @@ XFAIL_TESTS = \
 	tests/hlsl-vector-indexing-uniform.shader_test \
 	tests/math.shader_test \
 	tests/preproc-if.shader_test \
+	tests/preproc-ifdef.shader_test \
 	tests/swizzle-0.shader_test \
 	tests/swizzle-1.shader_test \
 	tests/swizzle-2.shader_test \
diff --git a/tests/preproc-ifdef.shader_test b/tests/preproc-ifdef.shader_test
new file mode 100644
index 00000000..b31aeb9a
--- /dev/null
+++ b/tests/preproc-ifdef.shader_test
@@ -0,0 +1,89 @@
+[preproc]
+#define KEY
+#ifdef KEY
+pass
+#endif
+
+[preproc]
+#define KEY
+#if defined(KEY)
+pass
+#endif
+
+[preproc]
+#define KEY
+#if defined KEY
+pass
+#endif
+
+[preproc]
+#ifndef KEY
+pass
+#endif
+
+[preproc]
+#if !defined(KEY)
+pass
+#endif
+
+[preproc]
+#define KEY
+#ifndef KEY
+fail
+#else
+pass
+#endif
+
+[preproc]
+#ifdef KEY
+fail
+#else
+pass
+#endif
+
+[preproc]
+#define KEY(a, b)
+#ifdef KEY
+pass
+#endif
+
+[preproc]
+#ifdef KEY
+fail
+#endif
+#define KEY
+pass
+
+[preproc]
+#define KEY 0
+#ifdef KEY
+pass
+#endif
+
+[preproc]
+#define KEY
+#undef KEY
+#ifndef KEY
+pass
+#endif
+
+[preproc]
+#if KEY
+fail
+#else
+pass
+#endif
+
+[preproc]
+#if KEY == 0
+pass
+#else
+fail
+#endif
+
+[preproc]
+#if KEY == 1
+fail
+#else
+pass
+#endif
-- 
2.29.2




More information about the wine-devel mailing list