diff options
Diffstat (limited to 'tools')
| -rw-r--r-- | tools/slang-unit-test/unit-test-record-replay.cpp | 27 |
1 files changed, 24 insertions, 3 deletions
diff --git a/tools/slang-unit-test/unit-test-record-replay.cpp b/tools/slang-unit-test/unit-test-record-replay.cpp index 654fb6823..81e74a407 100644 --- a/tools/slang-unit-test/unit-test-record-replay.cpp +++ b/tools/slang-unit-test/unit-test-record-replay.cpp @@ -189,6 +189,16 @@ static SlangResult launchProcessAndReadStdout(UnitTestContext* context, const Li return res; } + if (exeRes.resultCode != 0) + { + msgBuilder << "'" << exampleName << "' exits with failure\n"; + msgBuilder << "Process ret code: " << exeRes.resultCode << "\n"; + msgBuilder << "Standard output:\n" << exeRes.standardOutput; + msgBuilder << "Standard error:\n" << exeRes.standardError; + getTestReporter()->message(TestMessageType::TestFailure, msgBuilder.toString().getBuffer()); + return SLANG_FAIL; + } + if (exeRes.standardOutput.getLength() == 0) { msgBuilder << "No stdout found in '" << exampleName << "'\n"; @@ -300,12 +310,20 @@ static SlangResult replayExample(UnitTestContext* context, List<entryHashInfo>& static SlangResult resultCompare(List<entryHashInfo> const& expectHashes, List<entryHashInfo> const& resultHashes) { - if (expectHashes.getCount() != resultHashes.getCount()) + if (expectHashes.getCount() == 0) { + getTestReporter()->message(TestMessageType::TestFailure, "No hash found\n"); return SLANG_FAIL; } StringBuilder msgBuilder; + if (expectHashes.getCount() != resultHashes.getCount()) + { + msgBuilder << "The number of hashes doesn't match, expect: " << expectHashes.getCount() << ", actual: " << resultHashes.getCount() << "\n"; + getTestReporter()->message(TestMessageType::TestFailure, msgBuilder.toString().getBuffer()); + return SLANG_FAIL; + } + for (Index i = 0; i < expectHashes.getCount(); i++) { if (expectHashes[i].targetIndex != resultHashes[i].targetIndex) @@ -419,7 +437,10 @@ static SlangResult runTests(UnitTestContext* context) "cpu-hello-world", "triangle", "shader-object", - "ray-tracing" + "ray-tracing", + "ray-tracing-pipeline", + "model-viewer", + "autodiff-texture" }; SlangResult finalRes = SLANG_OK; @@ -435,7 +456,7 @@ static SlangResult runTests(UnitTestContext* context) } } - return SLANG_OK; + return finalRes; } // Those examples all depend on the Vulkan, so we only run them on non-Apple platforms. |
