diff options
Diffstat (limited to '')
-rw-r--r-- | src/test/run-make/wasm-export-all-symbols/verify.js | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/src/test/run-make/wasm-export-all-symbols/verify.js b/src/test/run-make/wasm-export-all-symbols/verify.js new file mode 100644 index 000000000..72db3356f --- /dev/null +++ b/src/test/run-make/wasm-export-all-symbols/verify.js @@ -0,0 +1,32 @@ +const fs = require('fs'); +const process = require('process'); +const assert = require('assert'); +const buffer = fs.readFileSync(process.argv[2]); + +let m = new WebAssembly.Module(buffer); +let list = WebAssembly.Module.exports(m); +console.log('exports', list); + +const my_exports = {}; +let nexports = 0; + +for (const entry of list) { + if (entry.kind == 'function'){ + nexports += 1; + } + my_exports[entry.name] = entry.kind; +} + +if (my_exports.foo != "function") + throw new Error("`foo` wasn't defined"); + +if (my_exports.FOO != "global") + throw new Error("`FOO` wasn't defined"); + +if (my_exports.main === undefined) { + if (nexports != 1) + throw new Error("should only have one function export"); +} else { + if (nexports != 2) + throw new Error("should only have two function exports"); +} |