planted/build.py now writes §9.3's probe beside the checker corpus: probe.wasm, whose wai_run loads each case's operands from a data segment at run time, runs the twelve operations of the table and stores each result in order (80 bytes), in a memory of one page whose minimum is its maximum; and probe.txt, each case's operands and the result the deterministic profile prescribes, and the probe's bytes. probe-nan-branch.wasm is the probe with a branch after each operation on whether its result is a NaN, writing the canonical NaN itself. Both checkers hold both at the float level and refuse them R3 at the integer level (cases.txt; tests/module_rules.rs). What the planted copy breaks is F1, a property of the probe on engines that no checker decides; the next commit's host shows the probe holds it and the planted copy fails it. Co-Authored-By: Claude Opus 5.5 <[email protected]>
118 lines
4.3 KiB
Text
118 lines
4.3 KiB
Text
# The checker corpus of waism.md §9.1, §9.2's grow-swallowed and §9.3's probe,
|
|
# written by build.py: `<case> <level> <caps> <verdict>`, one line a verdict.
|
|
oversize integer module_bytes=150 refused R1 0
|
|
oversize float module_bytes=150 refused R1 0
|
|
oversize integer - held # derived
|
|
oversize float - held # derived
|
|
invalid integer - refused R2 -
|
|
invalid float - refused R2 -
|
|
shared-memory integer - refused R2 -
|
|
shared-memory float - refused R2 -
|
|
component integer - refused R2 -
|
|
component float - refused R2 -
|
|
scalar-float integer - refused R3 131
|
|
scalar-float float - held # derived
|
|
float-unreachable integer - refused R3 134
|
|
float-unreachable float - held # derived
|
|
float-block-type integer - refused R3 132
|
|
float-block-type float - held # derived
|
|
float-select-type integer - refused R3 138
|
|
float-select-type float - held # derived
|
|
float-constant integer - refused R3 47
|
|
float-constant float - held # derived
|
|
float-signature integer - refused R3 32
|
|
float-signature float - held # derived
|
|
float-vector integer - refused R3 167
|
|
float-vector float - held # derived
|
|
float-conversion integer - refused R3 149
|
|
float-conversion float - held # derived
|
|
float-truncation integer - refused R3 133
|
|
float-truncation float - held # derived
|
|
float-load integer - refused R3 133
|
|
float-load float - held # derived
|
|
relaxed-swizzle integer - refused R4 167
|
|
relaxed-swizzle float - refused R4 167
|
|
relaxed-laneselect integer - refused R4 185
|
|
relaxed-laneselect float - refused R4 185
|
|
relaxed-dot integer - refused R4 167
|
|
relaxed-dot float - refused R4 167
|
|
relaxed-madd float - refused R4 185
|
|
relaxed-madd integer - refused R3 185 # derived
|
|
import-function integer - refused R5 33
|
|
import-function float - refused R5 33
|
|
import-memory integer - refused R5 33
|
|
import-memory float - refused R5 33
|
|
import-global integer - refused R5 33
|
|
import-global float - refused R5 33
|
|
no-memory integer - refused R6 129
|
|
no-memory float - refused R6 129
|
|
two-memories integer - refused R6 44
|
|
two-memories float - refused R6 44
|
|
memory64 integer - refused R6 41
|
|
memory64 float - refused R6 41
|
|
no-maximum integer - refused R6 41
|
|
no-maximum float - refused R6 41
|
|
over-pages integer memory_pages=16 refused R6 41
|
|
over-pages float memory_pages=16 refused R6 41
|
|
over-pages integer - held # derived
|
|
over-pages float - held # derived
|
|
two-tables integer - refused R7 45
|
|
two-tables float - refused R7 45
|
|
externref-table integer - refused R7 41
|
|
externref-table float - refused R7 41
|
|
table-unfixed integer - refused R7 41
|
|
table-unfixed float - refused R7 41
|
|
table-grow integer - refused R7 142
|
|
table-grow float - refused R7 142
|
|
table-set integer - refused R7 142
|
|
table-set float - refused R7 142
|
|
table-fill integer - refused R7 144
|
|
table-fill float - refused R7 144
|
|
start integer - refused R8 120
|
|
start float - refused R8 120
|
|
funcref-parameter integer - refused R9 32
|
|
funcref-parameter float - refused R9 32
|
|
externref-global integer - refused R9 47
|
|
externref-global float - refused R9 47
|
|
funcref-local integer - refused R9 132
|
|
funcref-local float - refused R9 132
|
|
i64-export integer - refused R10 78
|
|
i64-export float - refused R10 78
|
|
extra-export integer - refused R10 116
|
|
extra-export float - refused R10 116
|
|
exported-global integer - refused R10 124
|
|
exported-global float - refused R10 124
|
|
missing-run integer - refused R10 141
|
|
missing-run float - refused R10 141
|
|
over-functions integer functions=8 refused R11 30
|
|
over-functions float functions=8 refused R11 30
|
|
over-functions integer - held # derived
|
|
over-functions float - held # derived
|
|
tail-call integer - refused R12 131
|
|
tail-call float - refused R12 131
|
|
exception integer - refused R12 47
|
|
exception float - refused R12 47
|
|
struct-type integer - refused R12 30
|
|
struct-type float - refused R12 30
|
|
call-ref integer - refused R12 140
|
|
call-ref float - refused R12 140
|
|
minimal-int integer - held
|
|
minimal-int float - held
|
|
vector-int integer - held
|
|
vector-int float - held
|
|
bulk-and-sign integer - held
|
|
bulk-and-sign float - held
|
|
fixed-table integer - held
|
|
fixed-table float - held
|
|
fixed-memory integer - held
|
|
fixed-memory float - held
|
|
custom-section integer - held
|
|
custom-section float - held
|
|
minimal-float float - held
|
|
minimal-float integer - refused R3 131
|
|
grow-swallowed integer - held
|
|
grow-swallowed float - held
|
|
probe float - held
|
|
probe integer - refused R3 170 # derived
|
|
probe-nan-branch float - held
|
|
probe-nan-branch integer - refused R3 166 # derived
|