JWebAssembly/test/de/inetsoftware/jwebassembly/SpiderMonkeyWatTest.js
Volker Berlin 3f89240a8b debug code
2020-05-31 11:09:58 +02:00

30 lines
875 B
JavaScript

load( "{test}.wasm.js" );
var wasm = wasmTextToBinary( read( "{test}.wat" ) );
// os.file.writeTypedArrayToFile( "debug.wasm", wasm );
var testData = JSON.parse( read( "testdata.json" ) );
// save the test result
function saveResults(result) {
const original = redirect( "testresult.json" );
putstr( JSON.stringify(result) );
redirect( original );
}
function callExport( instance, wasmImports ) {
wasmImports.exports = instance.exports;
var result = {};
for (var method in testData) {
try{
result[method] = String(instance.exports[method]( ...testData[method] ));
}catch(err){
result[method] = err.toString() + '\n' + err.stack;
}
}
saveResults(result);
}
WebAssembly.instantiate( wasm, wasmImports ).then(
obj => callExport( obj.instance, wasmImports ),
reason => console.log(reason)
);