summaryrefslogtreecommitdiff
path: root/Meta
diff options
context:
space:
mode:
authorAli Mohammad Pur <ali.mpfard@gmail.com>2021-05-04 07:36:59 +0430
committerLinus Groh <mail@linusgroh.de>2021-05-21 00:15:23 +0100
commitb3c13c3e8ae4e65310714283980dd42b2da30be8 (patch)
tree79bbcd193b255d3dc124d7f91982e2bfa51765ce /Meta
parentba2fce14d31e134901898bbf235771c5b6a7fb01 (diff)
downloadserenity-b3c13c3e8ae4e65310714283980dd42b2da30be8.zip
LibWasm+Meta: Add test-wasm and optionally test the conformance tests
This only tests "can it be parsed", but the goal of this commit is to provide a test framework that can be built upon :) The conformance tests are downloaded, compiled* and installed only if the INCLUDE_WASM_SPEC_TESTS cmake option is enabled. (*) Since we do not yet have a wast parser, the compilation is delegated to an external tool from binaryen, `wasm-as`, which is required for the test suite download/install to succeed. This *does* run the tests in CI, but it currently does not include the spec conformance tests.
Diffstat (limited to 'Meta')
-rw-r--r--Meta/Lagom/CMakeLists.txt15
-rwxr-xr-xMeta/build-root-filesystem.sh4
2 files changed, 18 insertions, 1 deletions
diff --git a/Meta/Lagom/CMakeLists.txt b/Meta/Lagom/CMakeLists.txt
index b071468b2f..13568dd8d4 100644
--- a/Meta/Lagom/CMakeLists.txt
+++ b/Meta/Lagom/CMakeLists.txt
@@ -155,6 +155,21 @@ if (BUILD_LAGOM)
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
)
+ add_executable(test-wasm_lagom
+ ../../Tests/LibWasm/test-wasm.cpp
+ ../../Userland/Libraries/LibTest/JavaScriptTestRunnerMain.cpp)
+ set_target_properties(test-wasm_lagom PROPERTIES OUTPUT_NAME test-wasm)
+ target_link_libraries(test-wasm_lagom Lagom)
+ target_link_libraries(test-wasm_lagom stdc++)
+ target_link_libraries(test-wasm_lagom pthread)
+ add_test(
+ NAME WasmParser
+ COMMAND test-wasm_lagom --show-progress=false
+ WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
+ )
+ set_tests_properties(WasmParser PROPERTIES
+ ENVIRONMENT SERENITY_SOURCE_DIR=${CMAKE_CURRENT_SOURCE_DIR}/../..)
+
add_executable(disasm_lagom ../../Userland/Utilities/disasm.cpp)
set_target_properties(disasm_lagom PROPERTIES OUTPUT_NAME disasm)
target_link_libraries(disasm_lagom Lagom)
diff --git a/Meta/build-root-filesystem.sh b/Meta/build-root-filesystem.sh
index 38c5152850..3a31671481 100755
--- a/Meta/build-root-filesystem.sh
+++ b/Meta/build-root-filesystem.sh
@@ -104,13 +104,15 @@ mkdir -p mnt/home/anon
mkdir -p mnt/home/anon/Desktop
mkdir -p mnt/home/anon/Downloads
mkdir -p mnt/home/nona
-rm -fr mnt/home/anon/js-tests mnt/home/anon/web-tests mnt/home/anon/cpp-tests
+rm -fr mnt/home/anon/js-tests mnt/home/anon/web-tests mnt/home/anon/cpp-tests mnt/home/anon/wasm-tests
mkdir -p mnt/home/anon/cpp-tests/
cp "$SERENITY_SOURCE_DIR"/README.md mnt/home/anon/
cp -r "$SERENITY_SOURCE_DIR"/Userland/Libraries/LibJS/Tests mnt/home/anon/js-tests
cp -r "$SERENITY_SOURCE_DIR"/Userland/Libraries/LibWeb/Tests mnt/home/anon/web-tests
cp -r "$SERENITY_SOURCE_DIR"/Userland/DevTools/HackStudio/LanguageServers/Cpp/Tests mnt/home/anon/cpp-tests/comprehension
cp -r "$SERENITY_SOURCE_DIR"/Userland/Libraries/LibCpp/Tests mnt/home/anon/cpp-tests/parser
+cp -r "$SERENITY_SOURCE_DIR"/Userland/Libraries/LibWasm/Tests mnt/home/anon/wasm-tests
+cp -r "$SERENITY_SOURCE_DIR"/Userland/Libraries/LibJS/Tests/test-common.js mnt/home/anon/wasm-tests
chmod 700 mnt/root
chmod 700 mnt/home/anon
chmod 700 mnt/home/nona