Run all tests by default (except blacklisted)
# - Get more tests from: https://github.com/microsoft/ChakraCore/tree/master/test/WasmSpec
# - Fix "Empty Stack" check
# - Check Canonical NaN and Arithmetic NaN separately
-# - Fix names.wast
+# - Fix names.wast, imports.wast
import argparse
import os, sys, glob, time
@@ -304,6 +304,7 @@ blacklist = Blacklist([
"float_exprs.wast:* f32.nonarithmetic_nan_bitpattern*",
"*.wast:* *.wasm print32*",
"*.wast:* *.wasm print64*",
+ "imports.wast:*",
"names.wast:*",
])
@@ -323,7 +324,7 @@ def runInvoke(test):
displayArgs.append(formatValue(arg['value'], arg['type']))
test_id = f"{test.source} {test.wasm} {test.cmd[0]}({', '.join(test.cmd[1:])})"
- if test_id in blacklist:
+ if test_id in blacklist and not args.all:
warning(f"Skipping {test_id} (blacklisted)")
stats.skipped += 1
return
@@ -435,49 +436,12 @@ def runInvoke(test):
if not os.path.isdir(coreDir):
specTestsFetch()
-# Currently default to running the predefined list of tests
-# TODO: Switch to running all tests when wasm spec is implemented
-
if args.file:
jsonFiles = args.file
-elif args.all:
+else:
jsonFiles = glob.glob(os.path.join(coreDir, "*.json"))
jsonFiles = list(map(lambda x: os.path.relpath(x, curDir), jsonFiles))
jsonFiles.sort()
-else:
- jsonFiles = list(map(lambda x: f"core/{x}.json", [
- "get_local", "set_local", "tee_local",
- "globals",
-
- "int_literals",
- "i32", "i64",
- "int_exprs",
-
- "float_literals",
- "f32", "f32_cmp", "f32_bitwise",
- "f64", "f64_cmp", "f64_bitwise",
- "float_misc",
-
- "select",
- "conversions",
- "stack", "fac",
- "call", "call_indirect",
- "left-to-right",
- "break-drop",
- "forward",
- "func_ptrs",
-
- "address", "align", "endianness",
- "memory_redundancy", "float_memory",
- "memory", "memory_trap", "memory_grow",
-
- "unreachable",
- "switch", "if", "br", "br_if", "br_table", "loop", "block",
- "return", "nop", "start", "unwind", "labels"
-
- #--- TODO ---
- #"float_exprs",
- ]))
for fn in jsonFiles:
with open(fn) as f:
