diff options
| author | jsmall-nvidia <jsmall@nvidia.com> | 2020-03-25 14:08:21 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-03-25 14:08:21 -0400 |
| commit | 28a0ca96a1ad2a3f0e09cc97b866f3b6338a09fa (patch) | |
| tree | 271232cf6aa1917c23298d3dc1dc995ef65832f9 /tools/render-test/render-test-main.cpp | |
| parent | 889132e7e3c79ae364fa3882646861e5b14df503 (diff) | |
Better diagnostics on failure on CUDA. (#1288)
* Better diagnostics on failure on CUDA.
* Catch exceptions in render-test
* * Added ability to disable reporting on CUDA failures
* Stopped using exception for reporting (just write to StdWriter::out()
* Removed CUDAResult type
* Don't set arch type on nvrtc to see if fixes CI issues.
* Try compute_30 on CUDA.
* Added ability to IGNORE_ a test
DIsabled rw-texture-simple and texture-get-dimensions
* Disable tests that require CUDA SM7.0
Use DISABLE_ prefix to disable tests.
* Disable signalUnexpectedError doing printf.
Diffstat (limited to 'tools/render-test/render-test-main.cpp')
| -rw-r--r-- | tools/render-test/render-test-main.cpp | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/tools/render-test/render-test-main.cpp b/tools/render-test/render-test-main.cpp index 4f5d1e9bb..ab041b5bc 100644 --- a/tools/render-test/render-test-main.cpp +++ b/tools/render-test/render-test-main.cpp @@ -406,7 +406,7 @@ Result RenderTestApp::update(Window* window) } // namespace renderer_test -SLANG_TEST_TOOL_API SlangResult innerMain(Slang::StdWriters* stdWriters, SlangSession* session, int argcIn, const char*const* argvIn) +static SlangResult _innerMain(Slang::StdWriters* stdWriters, SlangSession* session, int argcIn, const char*const* argvIn) { using namespace renderer_test; using namespace Slang; @@ -694,6 +694,29 @@ SLANG_TEST_TOOL_API SlangResult innerMain(Slang::StdWriters* stdWriters, SlangSe } } +SLANG_TEST_TOOL_API SlangResult innerMain(Slang::StdWriters* stdWriters, SlangSession* session, int argcIn, const char*const* argvIn) +{ + using namespace Slang; + + SlangResult res = SLANG_FAIL; + try + { + res = _innerMain(stdWriters, session, argcIn, argvIn); + } + catch (const Slang::Exception& exception) + { + stdWriters->getOut().put(exception.Message.getUnownedSlice()); + return SLANG_FAIL; + } + catch (...) + { + stdWriters->getOut().put(UnownedStringSlice::fromLiteral("Unhandled exception")); + return SLANG_FAIL; + } + + return res; +} + int main(int argc, char** argv) { using namespace Slang; |
