diff options
author | Thomas Lively <7121787+tlively@users.noreply.github.com> | 2020-11-18 11:27:43 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-11-18 11:27:43 -0800 |
commit | 1e527ec6c1553a47bceb60b6c70011552019b7e6 (patch) | |
tree | a9ac5eef151f3b05c1fe8ab57d443f53956df535 /test/lit/wasm-emscripten-finalize | |
parent | 3b5a67596be228d44471ecf66c934162c7b87882 (diff) | |
download | binaryen-1e527ec6c1553a47bceb60b6c70011552019b7e6.tar.gz binaryen-1e527ec6c1553a47bceb60b6c70011552019b7e6.tar.bz2 binaryen-1e527ec6c1553a47bceb60b6c70011552019b7e6.zip |
Introduce lit/FileCheck tests (#3367)
lit and FileCheck are the tools used to run the majority of tests in LLVM. Each
lit test file contains the commands to be run for that test, so lit tests are
much more flexible and can be more precise than our current ad hoc testing
system. FileCheck reads expected test output from comments, so it allows test
output to be written alongside and interspersed with test input, making tests
more readable and precise than in our current system.
This PR adds a new suite to check.py that runs lit tests in the test/lit
directory. A few tests have been ported to demonstrate the features of the new
test runner.
This change is motivated by a need for greater flexibility in testing wasm-split.
See #3359.
Diffstat (limited to 'test/lit/wasm-emscripten-finalize')
-rw-r--r-- | test/lit/wasm-emscripten-finalize/bigint.wat | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/test/lit/wasm-emscripten-finalize/bigint.wat b/test/lit/wasm-emscripten-finalize/bigint.wat new file mode 100644 index 000000000..817fc9dca --- /dev/null +++ b/test/lit/wasm-emscripten-finalize/bigint.wat @@ -0,0 +1,22 @@ +;; Test that the --bigint option prevents i64s from being split up + +;; Run without --bigint to get a baseline +;; RUN: wasm-emscripten-finalize %s -S | filecheck %s --check-prefix MVP + +;; Then run with --bigint to see the difference +;; RUN: wasm-emscripten-finalize %s -S --bigint | filecheck %s --check-prefix BIGINT + +;; MVP: (export "dynCall_jj" (func $legalstub$dynCall_jj)) +;; MVP: (func $legalstub$dynCall_jj (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + +;; BIGINT-NOT: legalstub +;; BIGINT: (export "dynCall_jj" (func $dynCall_jj)) +;; BIGINT: (func $dynCall_jj (param $fptr i32) (param $0 i64) (result i64) + +(module + (table $0 1 1 funcref) + (elem (i32.const 1) $foo) + (func $foo (param i64) (result i64) + (unreachable) + ) +) |