To have breadth with testing instrumentation, we should integrate with the spectest wast files and have the following logic:
Load wast
Break out each test case (module(s) and assertion(s))
foreach (supported_event, non_alt_mode): Instrument the module(s) with instrumentation that has no side effects, but exercises all logic
Add new global(s)
Add new local function(s)
Instrument some target with logic that calls the function
Write to new wast file, one test case per file
Run on configured interpreters (all assertions should still pass)
We will also need to have some mechanism to ensure that the instrumented wast actually had some instrumentation logic applied (should have matched and injected at least once).
To have breadth with testing instrumentation, we should integrate with the spectest
wast
files and have the following logic:wast
foreach (supported_event, non_alt_mode)
: Instrument the module(s) with instrumentation that has no side effects, but exercises all logicwast
file, one test case per fileWe will also need to have some mechanism to ensure that the instrumented
wast
actually had some instrumentation logic applied (should have matched and injected at least once).