From 2896aa39a529a00673a30ef4a9c3ebe76f401fea Mon Sep 17 00:00:00 2001 From: jsmall-nvidia Date: Tue, 2 Apr 2019 09:22:13 -0400 Subject: Feature/test improvements (#934) * First pass extract the test information by 'running tests'. * * Checking renderer availablilty * Using TestInfo to determine which tests are run and synthesized * Display if test is synthesized and what render api it's targetting * * Improved comments * Removed some dead code * Display ignored tests. * TestInfo -> TestRequirements * * Added DIAGNOSTIC_TEST type - test always runs (ie has no requirements). * Made diagnostic tests use DIAGNOSTIC_TEST * TestInfo -> TestRequirements * TestDetails holds TestRequirements and TestOptions * Fix debug typo. --- tools/render-test/options.cpp | 4 ++++ tools/render-test/options.h | 1 + tools/render-test/render-test-main.cpp | 17 +++++++++++++++-- 3 files changed, 20 insertions(+), 2 deletions(-) (limited to 'tools/render-test') diff --git a/tools/render-test/options.cpp b/tools/render-test/options.cpp index 9d5ff35c8..2277a6ad7 100644 --- a/tools/render-test/options.cpp +++ b/tools/render-test/options.cpp @@ -151,6 +151,10 @@ SlangResult parseOptions(int argc, const char*const* argv, Slang::WriterHelper s { gOptions.useDXIL = true; } + else if (strcmp(arg, "-only-startup") == 0) + { + gOptions.onlyStartup = true; + } else if (strcmp(arg, "-adapter") == 0) { if (argCursor == argEnd) diff --git a/tools/render-test/options.h b/tools/render-test/options.h index 104906f42..0214c66e7 100644 --- a/tools/render-test/options.h +++ b/tools/render-test/options.h @@ -55,6 +55,7 @@ struct Options int slangArgCount = 0; bool useDXIL = false; + bool onlyStartup = false; Slang::List renderFeatures; /// Required render features for this test to run diff --git a/tools/render-test/render-test-main.cpp b/tools/render-test/render-test-main.cpp index 2bc6cd8f8..34e041473 100644 --- a/tools/render-test/render-test-main.cpp +++ b/tools/render-test/render-test-main.cpp @@ -555,6 +555,7 @@ SLANG_TEST_TOOL_API SlangResult innerMain(Slang::StdWriters* stdWriters, SlangSe return SLANG_FAIL; } + StringBuilder rendererName; rendererName << "[" << RendererUtil::toText(gOptions.rendererType) << "] "; if (gOptions.adapter.Length()) @@ -565,7 +566,10 @@ SLANG_TEST_TOOL_API SlangResult innerMain(Slang::StdWriters* stdWriters, SlangSe if (!renderer) { - fprintf(stderr, "Unable to create renderer %s\n", rendererName.Buffer()); + if (!gOptions.onlyStartup) + { + fprintf(stderr, "Unable to create renderer %s\n", rendererName.Buffer()); + } return SLANG_FAIL; } @@ -578,11 +582,20 @@ SLANG_TEST_TOOL_API SlangResult innerMain(Slang::StdWriters* stdWriters, SlangSe SlangResult res = renderer->initialize(desc, (HWND)window->getHandle()); if (SLANG_FAILED(res)) { - fprintf(stderr, "Unable to initialize renderer %s\n", rendererName.Buffer()); + if (!gOptions.onlyStartup) + { + fprintf(stderr, "Unable to initialize renderer %s\n", rendererName.Buffer()); + } return res; } } + // If the only test is we can startup, then we are done + if (gOptions.onlyStartup) + { + return SLANG_OK; + } + { for (const auto& feature : gOptions.renderFeatures) { -- cgit v1.2.3