Add regression test for a spurious import
This commit is contained in:
parent
dbb0fe9d80
commit
14cbb4b78d
7
src/test/run-make/wasm-spurious-import/Makefile
Normal file
7
src/test/run-make/wasm-spurious-import/Makefile
Normal file
@ -0,0 +1,7 @@
|
||||
-include ../../run-make-fulldeps/tools.mk
|
||||
|
||||
# only-wasm32-bare
|
||||
|
||||
all:
|
||||
$(RUSTC) main.rs -C overflow-checks=yes -C panic=abort -C lto -C opt-level=z --target wasm32-unknown-unknown
|
||||
$(NODE) verify.js $(TMPDIR)/main.wasm
|
14
src/test/run-make/wasm-spurious-import/main.rs
Normal file
14
src/test/run-make/wasm-spurious-import/main.rs
Normal file
@ -0,0 +1,14 @@
|
||||
#![crate_type = "cdylib"]
|
||||
#![no_std]
|
||||
|
||||
#[panic_handler]
|
||||
fn my_panic(_info: &core::panic::PanicInfo) -> ! {
|
||||
loop {}
|
||||
}
|
||||
|
||||
#[no_mangle]
|
||||
pub fn multer(a: i128, b: i128) -> i128 {
|
||||
// Trigger usage of the __multi3 compiler intrinsic which then leads to an imported
|
||||
// panic function in case of a bug. We verify that no imports exist in our verifier.
|
||||
a * b
|
||||
}
|
9
src/test/run-make/wasm-spurious-import/verify.js
Normal file
9
src/test/run-make/wasm-spurious-import/verify.js
Normal file
@ -0,0 +1,9 @@
|
||||
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 imports = WebAssembly.Module.imports(m);
|
||||
console.log('imports', imports);
|
||||
assert.strictEqual(imports.length, 0);
|
Loading…
x
Reference in New Issue
Block a user