diff --git a/src/test/run-make/wasm-export-all-symbols/bar.rs b/src/test/run-make/wasm-export-all-symbols/bar.rs index c5de87e8e723..ac9c20a57e5a 100644 --- a/src/test/run-make/wasm-export-all-symbols/bar.rs +++ b/src/test/run-make/wasm-export-all-symbols/bar.rs @@ -2,3 +2,6 @@ #[no_mangle] pub extern fn foo() {} + +#[no_mangle] +pub static FOO: u64 = 42; diff --git a/src/test/run-make/wasm-export-all-symbols/verify.js b/src/test/run-make/wasm-export-all-symbols/verify.js index 7b6fc7a45682..589796206132 100644 --- a/src/test/run-make/wasm-export-all-symbols/verify.js +++ b/src/test/run-make/wasm-export-all-symbols/verify.js @@ -8,21 +8,31 @@ let list = WebAssembly.Module.exports(m); console.log('exports', list); const my_exports = {}; -let nexports = 0; +let nexports_fn = 0; +let nexports_global = 0; for (const entry of list) { - if (entry.kind !== 'function') - continue; - my_exports[entry.name] = true; - nexports += 1; + if (entry.kind == 'function'){ + nexports_fn += 1; + } + if (entry.kind == 'global'){ + nexports_global += 1; + } + my_exports[entry.name] = true; } if (my_exports.foo === undefined) throw new Error("`foo` wasn't defined"); +if (my_exports.FOO === undefined) + throw new Error("`FOO` wasn't defined"); + if (my_exports.main === undefined) { - if (nexports != 1) + if (nexports_fn != 1) throw new Error("should only have one function export"); } else { - if (nexports != 2) + if (nexports_fn != 2) throw new Error("should only have two function exports"); } + +if (nexports_global != 1) + throw new Error("should only have one static export");