diff options
author | Morten Sørvig <morten.sorvig@qt.io> | 2022-08-15 10:07:37 +0200 |
---|---|---|
committer | Morten Sørvig <morten.sorvig@qt.io> | 2022-08-17 04:52:46 +0200 |
commit | ad0cb1f32ddfbdf7dbfee1ca92c0f1d9137c1a91 (patch) | |
tree | 0c7f0f5576bb32da7cfee56473bf207f3d627fa0 /tests/manual | |
parent | 83cf2985e941ee9ca6f0ef076ca4f5770cfb1f2c (diff) |
wasm: add "skip" support to qtwasmtestlib
We're not looking to skip faulty tests, but there are cases
where we would like to indicate that a test function exists
but can't run because some precondition is not met.
Pick-to: 6.4
Change-Id: Ifaaafcfa7a55beaaf56d8b25fabbe3dc2566350f
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Reviewed-by: Mikołaj Boc <Mikolaj.Boc@qt.io>
Diffstat (limited to 'tests/manual')
-rw-r--r-- | tests/manual/wasm/qtwasmtestlib/qtwasmtestlib.cpp | 17 | ||||
-rw-r--r-- | tests/manual/wasm/qtwasmtestlib/qtwasmtestlib.h | 1 | ||||
-rw-r--r-- | tests/manual/wasm/qtwasmtestlib/qtwasmtestlib.js | 14 |
3 files changed, 28 insertions, 4 deletions
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 = `<span style='color: ${color};'>${status}</text><br>`; + + 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 = `<span style='color: ${color(status)};'>${status}</text><br>`; g_htmlLogElement.innerHTML += line; } |