Skip to content

Commit 6e3db63

Browse files
authored
Remove soft-fail mode (#418)
1 parent 3d7325a commit 6e3db63

File tree

9 files changed

+117
-128
lines changed

9 files changed

+117
-128
lines changed

interpreter/host/flags.ml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
let interactive = ref false
22
let trace = ref false
33
let unchecked = ref false
4-
let checked = ref false
54
let print_sig = ref false
65
let dry = ref false
76
let width = ref 80

interpreter/host/js.ml

Lines changed: 1 addition & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,6 @@ open Source
99
let harness =
1010
"'use strict';\n" ^
1111
"\n" ^
12-
"let hard_validate = " ^ string_of_bool !Flags.checked ^ ";\n" ^
13-
"\n" ^
1412
"let spectest = {\n" ^
1513
" print: print || ((...xs) => console.log(...xs)),\n" ^
1614
" global: 666,\n" ^
@@ -37,7 +35,7 @@ let harness =
3735
" } catch (e) {\n" ^
3836
" throw new Error(\"Wasm validate throws\");\n" ^
3937
" }\n" ^
40-
" if (validated !== valid && valid !== null) {\n" ^
38+
" if (validated !== valid) {\n" ^
4139
" throw new Error(\"Wasm validate failure\" + " ^
4240
"(valid ? \"\" : \" expected\"));\n" ^
4341
" }\n" ^
@@ -78,14 +76,6 @@ let harness =
7876
" throw new Error(\"Wasm validation failure expected\");\n" ^
7977
"}\n" ^
8078
"\n" ^
81-
"function assert_soft_invalid(bytes) {\n" ^
82-
" try { module(bytes, hard_validate ? false : null) } catch (e) {\n" ^
83-
" if (e instanceof WebAssembly.CompileError) return;\n" ^
84-
" }\n" ^
85-
" if (hard_validate)\n" ^
86-
" throw new Error(\"Wasm validation failure expected\");\n" ^
87-
"}\n" ^
88-
"\n" ^
8979
"function assert_unlinkable(bytes) {\n" ^
9080
" let mod = module(bytes);\n" ^
9181
" try { new WebAssembly.Instance(mod, registry) } catch (e) {\n" ^
@@ -330,8 +320,6 @@ let of_assertion mods ass =
330320
"assert_malformed(" ^ of_definition def ^ ");"
331321
| AssertInvalid (def, _) ->
332322
"assert_invalid(" ^ of_definition def ^ ");"
333-
| AssertSoftInvalid (def, _) ->
334-
"assert_soft_invalid(" ^ of_definition def ^ ");"
335323
| AssertUnlinkable (def, _) ->
336324
"assert_unlinkable(" ^ of_definition def ^ ");"
337325
| AssertUninstantiable (def, _) ->

interpreter/host/main.ml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@ let argspec = Arg.align
3030
" configure output width (default is 80)";
3131
"-s", Arg.Set Flags.print_sig, " show module signatures";
3232
"-u", Arg.Set Flags.unchecked, " unchecked, do not perform validation";
33-
"-c", Arg.Set Flags.checked, " fully checked, perform hard validation";
3433
"-h", Arg.Clear Flags.harness, " exclude harness for JS convesion";
3534
"-d", Arg.Set Flags.dry, " dry, do not run program";
3635
"-t", Arg.Set Flags.trace, " trace execution";

interpreter/host/run.ml

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -313,21 +313,15 @@ let run_assertion ass =
313313
| _ -> Assert.error ass.at "expected decoding error"
314314
)
315315

316-
| AssertInvalid (def, re)
317-
| AssertSoftInvalid (def, re) ->
318-
let active =
319-
match ass.it with
320-
| AssertSoftInvalid _ -> !Flags.checked
321-
| _ -> true
322-
in
323-
trace ("Asserting " ^ (if active then "" else "soft ") ^ "invalid...");
316+
| AssertInvalid (def, re) ->
317+
trace "Asserting invalid...";
324318
(match
325319
let m = run_definition def in
326320
Valid.check_module m
327321
with
328322
| exception Valid.Invalid (_, msg) ->
329323
assert_message ass.at "validation" msg re
330-
| _ -> if active then Assert.error ass.at "expected validation error"
324+
| _ -> Assert.error ass.at "expected validation error"
331325
)
332326

333327
| AssertUnlinkable (def, re) ->
@@ -351,7 +345,8 @@ let run_assertion ass =
351345
let imports = Import.link m in
352346
ignore (Eval.init m imports)
353347
with
354-
| exception Eval.Trap (_, msg) -> assert_message ass.at "instantiation" msg re
348+
| exception Eval.Trap (_, msg) ->
349+
assert_message ass.at "instantiation" msg re
355350
| _ -> Assert.error ass.at "expected instantiation error"
356351
)
357352

interpreter/text/arrange.ml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -410,8 +410,6 @@ let assertion mode ass =
410410
Node ("assert_malformed", [definition `Original None def; Atom (string re)])
411411
| AssertInvalid (def, re) ->
412412
Node ("assert_invalid", [definition mode None def; Atom (string re)])
413-
| AssertSoftInvalid (def, re) ->
414-
Node ("assert_soft_invalid", [definition mode None def; Atom (string re)])
415413
| AssertUnlinkable (def, re) ->
416414
Node ("assert_unlinkable", [definition mode None def; Atom (string re)])
417415
| AssertUninstantiable (def, re) ->

interpreter/text/lexer.mll

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -306,7 +306,6 @@ rule token = parse
306306
| "get" { GET }
307307
| "assert_malformed" { ASSERT_MALFORMED }
308308
| "assert_invalid" { ASSERT_INVALID }
309-
| "assert_soft_invalid" { ASSERT_SOFT_INVALID }
310309
| "assert_unlinkable" { ASSERT_UNLINKABLE }
311310
| "assert_return" { ASSERT_RETURN }
312311
| "assert_return_nan" { ASSERT_RETURN_NAN }

interpreter/text/parser.mly

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -656,8 +656,6 @@ assertion :
656656
{ AssertMalformed (snd $3, $4) @@ at () }
657657
| LPAR ASSERT_INVALID module_ TEXT RPAR
658658
{ AssertInvalid (snd $3, $4) @@ at () }
659-
| LPAR ASSERT_SOFT_INVALID module_ TEXT RPAR
660-
{ AssertSoftInvalid (snd $3, $4) @@ at () }
661659
| LPAR ASSERT_UNLINKABLE module_ TEXT RPAR
662660
{ AssertUnlinkable (snd $3, $4) @@ at () }
663661
| LPAR ASSERT_TRAP module_ TEXT RPAR

interpreter/text/script.ml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ type assertion = assertion' Source.phrase
1414
and assertion' =
1515
| AssertMalformed of definition * string
1616
| AssertInvalid of definition * string
17-
| AssertSoftInvalid of definition * string
1817
| AssertUnlinkable of definition * string
1918
| AssertUninstantiable of definition * string
2019
| AssertReturn of action * Ast.literal list

0 commit comments

Comments
 (0)