summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/lit/ctor-eval/exported-import.wast14
-rw-r--r--test/lit/exec/exported-import.wast14
2 files changed, 28 insertions, 0 deletions
diff --git a/test/lit/ctor-eval/exported-import.wast b/test/lit/ctor-eval/exported-import.wast
new file mode 100644
index 000000000..3ec2780bc
--- /dev/null
+++ b/test/lit/ctor-eval/exported-import.wast
@@ -0,0 +1,14 @@
+;; NOTE: Assertions have been generated by update_lit_checks.py --all-items and should not be edited.
+;; RUN: wasm-ctor-eval %s --ctors=export --kept-exports=export --quiet -all -S -o - | filecheck %s
+
+;; We cannot eval an exported import, and should exit with a message about
+;; that rather than an error.
+
+(module
+ ;; CHECK: (type $0 (func))
+
+ ;; CHECK: (import "spectest" "print" (func $import (type $0)))
+ (import "spectest" "print" (func $import))
+ ;; CHECK: (export "export" (func $import))
+ (export "export" (func $import))
+)
diff --git a/test/lit/exec/exported-import.wast b/test/lit/exec/exported-import.wast
new file mode 100644
index 000000000..5264e9e00
--- /dev/null
+++ b/test/lit/exec/exported-import.wast
@@ -0,0 +1,14 @@
+;; RUN: wasm-opt %s --fuzz-exec-before -q -o /dev/null 2>&1 | filecheck %s
+
+;; Execute an import that is immediately exported. We should not error here, but
+;; no other output is expected (as the import does nothing and is ignored).
+
+(module
+ (import "spectest" "nothing" (func $import))
+ (export "__wasm_call_ctors" (func $import))
+)
+
+;; Note this file does not use automatic updating as that only works for
+;; defined functions at the moment, and this module has none of those.
+
+;; CHECK: [fuzz-exec] calling __wasm_call_ctors