diff options
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; |
