summaryrefslogtreecommitdiff
path: root/tools/slang-test/test-context.h
diff options
context:
space:
mode:
authorEllie Hermaszewska <ellieh@nvidia.com>2023-04-11 23:28:58 +0800
committerGitHub <noreply@github.com>2023-04-11 11:28:58 -0400
commitd6dd38f5210fedfd96ff088ef9b8a2424c79c4f0 (patch)
tree31d79abe8e205ef5ae7605b2290aa357e80f324b /tools/slang-test/test-context.h
parent20ea33f3321738e7c1b4cad7bdcaedcdb54dd0f0 (diff)
Implement FileCheck tests for several test commands (#2747)
* Add missing expected.txt for test * Diagnostics -> StdWriters in render test * Allow specifying several test prefixes to run `slang-test -- tests/foo tests/bar` * Squash warnings in some tests * Enable gfx debug layer in gfx test util Makes this issue present consistently: https://github.com/shader-slang/slang/issues/2766 * Allow DebugDevice to return interfaces instantiated by the debugged object * Check that we actaully have a shader cache for shader cache tests * Implement FileCheck tests for several test commands - SIMPLE, SIMPLE_EX - SIMPLE_LINE - REFLECTION, CPU_REFLECTION - CROSS_COMPILE It does not currently support the render tests or the COMPARE_COMPUTE commands It is invoked by adding `(filecheck=MY_FILECHECK_PREFIX)` to the test command, for example TEST:CROSS_COMPILE(filecheck=SPIRV): -target spirv-assembly * Move LLVM FileCheck interface to slang-llvm * Neaten slang-test tests * Refine handling of expected output in slang-test * Add example FileCheck buffer test * Add cuda-kernel-export tests Which were waiting on FileCheck * Bump vs project files * Make createLLVMFileCheck_V1 return a void* rather than specifically an IFileCheck * Remove use of CharSlice from filecheck interface * Bump slang-llvm version --------- Co-authored-by: jsmall-nvidia <jsmall@nvidia.com>
Diffstat (limited to 'tools/slang-test/test-context.h')
-rw-r--r--tools/slang-test/test-context.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/tools/slang-test/test-context.h b/tools/slang-test/test-context.h
index fb391fb42..0abc6906f 100644
--- a/tools/slang-test/test-context.h
+++ b/tools/slang-test/test-context.h
@@ -17,6 +17,8 @@
#include "../../slang-com-ptr.h"
+#include "filecheck.h"
+
#include "options.h"
#include <mutex>
@@ -170,9 +172,13 @@ class TestContext
std::mutex mutex;
Slang::RefPtr<Slang::JSONRPCConnection> m_languageServerConnection;
+ Slang::IFileCheck* getFileCheck() { return m_fileCheck; };
+
protected:
SlangResult _createJSONRPCConnection(Slang::RefPtr<Slang::JSONRPCConnection>& out);
+ SlangResult locateFileCheck();
+
struct SharedLibraryTool
{
Slang::ComPtr<ISlangSharedLibrary> m_sharedLibrary;
@@ -186,6 +192,8 @@ protected:
SlangSession* m_session;
Slang::Dictionary<Slang::String, SharedLibraryTool> m_sharedLibTools;
+
+ Slang::ComPtr<Slang::IFileCheck> m_fileCheck;
};
#endif // TEST_CONTEXT_H_INCLUDED