diff --git a/tests/manual/wasm/qtwasmtestlib/qtwasmtestlib.cpp b/tests/manual/wasm/qtwasmtestlib/qtwasmtestlib.cpp index 7d1db44cb0..d86b8ee2c0 100644 --- a/tests/manual/wasm/qtwasmtestlib/qtwasmtestlib.cpp +++ b/tests/manual/wasm/qtwasmtestlib/qtwasmtestlib.cpp @@ -45,8 +45,22 @@ void verify(bool condition, std::string_view conditionString, std::string_view f // thread-safe and call be called from any thread. void completeTestFunction(TestResult result, std::string message) { + auto resultString = [](TestResult result) { + switch (result) { + case TestResult::Pass: + return "PASS"; + break; + case TestResult::Fail: + return "FAIL"; + break; + case TestResult::Skip: + return "SKIP"; + break; + } + }; + // Report test result to JavaScript test runner, on the main thread - runOnMainThread([resultString = result == TestResult::Pass ? "PASS" : "FAIL", message](){ + runOnMainThread([resultString = resultString(result), message](){ EM_ASM({ completeTestFunction(UTF8ToString($0), UTF8ToString($1), UTF8ToString($2)); }, g_currentTestName.c_str(), resultString, message.c_str()); @@ -97,7 +111,6 @@ std::string getTestFunctions() void runTestFunction(std::string name) { g_currentTestName = name; - QMetaObject::invokeMethod(g_testObject, "init"); QMetaObject::invokeMethod(g_testObject, name.c_str()); } diff --git a/tests/manual/wasm/qtwasmtestlib/qtwasmtestlib.h b/tests/manual/wasm/qtwasmtestlib/qtwasmtestlib.h index c691f44600..5dcc41419e 100644 --- a/tests/manual/wasm/qtwasmtestlib/qtwasmtestlib.h +++ b/tests/manual/wasm/qtwasmtestlib/qtwasmtestlib.h @@ -13,6 +13,7 @@ namespace QtWasmTest { enum TestResult { Pass, Fail, + Skip, }; std::string formatMessage(std::string_view file, diff --git a/tests/manual/wasm/qtwasmtestlib/qtwasmtestlib.js b/tests/manual/wasm/qtwasmtestlib/qtwasmtestlib.js index 96ff3d81a7..c9a393098d 100644 --- a/tests/manual/wasm/qtwasmtestlib/qtwasmtestlib.js +++ b/tests/manual/wasm/qtwasmtestlib/qtwasmtestlib.js @@ -156,8 +156,18 @@ function testFunctionStarted(name) { } function testFunctionCompleted(status) { - const color = status.startsWith("PASS") ? "green" : status.startsWith("FAIL") ? "red" : "black"; - let line = `${status}
`; + + const color = (status) => { + if (status.startsWith("PASS")) + return "green"; + if (status.startsWith("FAIL")) + return "red"; + if (status.startsWith("SKIP")) + return "tan"; + return "black"; + }; + + const line = `${status}
`; g_htmlLogElement.innerHTML += line; }