about summary refs log tree commit diff
diff options
context:
space:
mode:
authorMaik Klein <maikklein@googlemail.com>2020-01-07 19:37:24 +0100
committerMaik Klein <maikklein@googlemail.com>2020-01-07 19:37:24 +0100
commita526c8d7fd3740723b35b708eaa3c1bc7be3f928 (patch)
tree3c6ba8f2eca3d5f80f3bc539cdd4740e5b50beeb
parent093fb856a32c93941db9297cc452444d9c628ce4 (diff)
downloadrust-a526c8d7fd3740723b35b708eaa3c1bc7be3f928.tar.gz
rust-a526c8d7fd3740723b35b708eaa3c1bc7be3f928.zip
Add tests for static variables
-rw-r--r--src/test/run-make/wasm-export-all-symbols/bar.rs3
-rw-r--r--src/test/run-make/wasm-export-all-symbols/verify.js24
2 files changed, 20 insertions, 7 deletions
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 c5de87e8e72..ac9c20a57e5 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 7b6fc7a4568..58979620613 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");