#!/usr/bin/env node var fs = require('fs'); var wabt = require("wabt")(); const wasmImports = require( "./test.wasm.js" ); var filename = '{test.wat}'; var text = fs.readFileSync(filename, "utf8"); var testData = JSON.parse( fs.readFileSync( "testdata.json", "utf8" ) ); var features = {'sat_float_to_int':true, 'sign_extension':true, 'exceptions':true, 'reference_types':true}; var wasm = wabt.parseWat(filename, text, features); wasm = wasm.toBinary({}).buffer; function callExport(instance) { var result = {}; for (var method in testData) { try{ result[method] = instance.exports[method]( ...testData[method] ).toString(); }catch(err){ result[method] = err.toString(); } } // save the test result fs.writeFileSync( "testresult.json", JSON.stringify(result) ); } WebAssembly.instantiate( wasm, wasmImports ).then( obj => callExport(obj.instance), reason => console.log(reason) );