diff --git a/check.py b/check.py index a8bb9415d85..31537971b73 100755 --- a/check.py +++ b/check.py @@ -198,6 +198,13 @@ def check_expected(actual, expected, stdout=None): shared.fail(actual, expected) +UNSPLITTABLE_TESTS = [Path(x) for x in ["spec/testsuite/instance.wast"]] + + +def is_splittable(wast: Path): + return not any(wast.match(unsplittable_test) for unsplittable_test in UNSPLITTABLE_TESTS) + + def run_one_spec_test(wast: Path, stdout=None): test_name = wast.name @@ -224,6 +231,9 @@ def run_one_spec_test(wast: Path, stdout=None): check_expected(actual, expected, stdout=stdout) + if not is_splittable(wast): + return + # check binary format. here we can verify execution of the final # result, no need for an output verification actual = '' diff --git a/scripts/test/shared.py b/scripts/test/shared.py index 714a855be4a..7f8e02e9fc9 100644 --- a/scripts/test/shared.py +++ b/scripts/test/shared.py @@ -423,9 +423,7 @@ def get_tests(test_dir, extensions=[], recursive=False): 'proposals/threads/memory.wast', # Missing memory type validation on instantiation 'annotations.wast', # String annotations IDs should be allowed 'id.wast', # Empty IDs should be disallowed - # Requires correct handling of tag imports from different instances of the same module - # and splitting for module instances - 'instance.wast', + 'instance.wast', # Requires correct handling of tag imports from different instances of the same module 'table64.wast', # Requires validations for table size 'tag.wast', # Non-empty tag results allowed by stack switching 'local_init.wast', # Requires local validation to respect unnamed blocks