From: Zebediah Figura Subject: [PATCH vkd3d 5/5] tests: Add some tests for #ifdef and defined(). Message-Id: <20201121232346.354721-5-zfigura@codeweavers.com> Date: Sat, 21 Nov 2020 17:23:46 -0600 In-Reply-To: <20201121232346.354721-1-zfigura@codeweavers.com> References: <20201121232346.354721-1-zfigura@codeweavers.com> Signed-off-by: Zebediah Figura --- 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