summaryrefslogtreecommitdiffstats
path: root/tests/manual
diff options
context:
space:
mode:
authorMorten Sørvig <morten.sorvig@qt.io>2022-08-15 10:07:37 +0200
committerMorten Sørvig <morten.sorvig@qt.io>2022-08-17 04:52:46 +0200
commitad0cb1f32ddfbdf7dbfee1ca92c0f1d9137c1a91 (patch)
tree0c7f0f5576bb32da7cfee56473bf207f3d627fa0 /tests/manual
parent83cf2985e941ee9ca6f0ef076ca4f5770cfb1f2c (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.cpp17
-rw-r--r--tests/manual/wasm/qtwasmtestlib/qtwasmtestlib.h1
-rw-r--r--tests/manual/wasm/qtwasmtestlib/qtwasmtestlib.js14
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;
}