...

Text file src/github.com/tetratelabs/wazero/internal/integration_test/spectest/v1/testdata/exports.wast

Documentation: github.com/tetratelabs/wazero/internal/integration_test/spectest/v1/testdata

     1;; Functions
     2
     3(module (func) (export "a" (func 0)))
     4(module (func) (export "a" (func 0)) (export "b" (func 0)))
     5(module (func) (func) (export "a" (func 0)) (export "b" (func 1)))
     6
     7(module (func (export "a")))
     8(module (func (export "a") (export "b") (export "c")))
     9(module (func (export "a") (export "b") (param i32)))
    10(module (func) (export "a" (func 0)))
    11(module (func $a (export "a")))
    12(module (func $a) (export "a" (func $a)))
    13(module (export "a" (func 0)) (func))
    14(module (export "a" (func $a)) (func $a))
    15
    16(module $Func
    17  (export "e" (func $f))
    18  (func $f (param $n i32) (result i32)
    19    (return (i32.add (local.get $n) (i32.const 1)))
    20  )
    21)
    22(assert_return (invoke "e" (i32.const 42)) (i32.const 43))
    23(assert_return (invoke $Func "e" (i32.const 42)) (i32.const 43))
    24(module)
    25(module $Other1)
    26(assert_return (invoke $Func "e" (i32.const 42)) (i32.const 43))
    27
    28(assert_invalid
    29  (module (func) (export "a" (func 1)))
    30  "unknown function"
    31)
    32(assert_invalid
    33  (module (func) (export "a" (func 0)) (export "a" (func 0)))
    34  "duplicate export name"
    35)
    36(assert_invalid
    37  (module (func) (func) (export "a" (func 0)) (export "a" (func 1)))
    38  "duplicate export name"
    39)
    40(assert_invalid
    41  (module (func) (global i32 (i32.const 0)) (export "a" (func 0)) (export "a" (global 0)))
    42  "duplicate export name"
    43)
    44(assert_invalid
    45  (module (func) (table 0 funcref) (export "a" (func 0)) (export "a" (table 0)))
    46  "duplicate export name"
    47)
    48(assert_invalid
    49  (module (func) (memory 0) (export "a" (func 0)) (export "a" (memory 0)))
    50  "duplicate export name"
    51)
    52
    53
    54;; Globals
    55
    56(module (global i32 (i32.const 0)) (export "a" (global 0)))
    57(module (global i32 (i32.const 0)) (export "a" (global 0)) (export "b" (global 0)))
    58(module (global i32 (i32.const 0)) (global i32 (i32.const 0)) (export "a" (global 0)) (export "b" (global 1)))
    59
    60(module (global (export "a") i32 (i32.const 0)))
    61(module (global i32 (i32.const 0)) (export "a" (global 0)))
    62(module (global $a (export "a") i32 (i32.const 0)))
    63(module (global $a i32 (i32.const 0)) (export "a" (global $a)))
    64(module (export "a" (global 0)) (global i32 (i32.const 0)))
    65(module (export "a" (global $a)) (global $a i32 (i32.const 0)))
    66
    67(module $Global
    68  (export "e" (global $g))
    69  (global $g i32 (i32.const 42))
    70)
    71(assert_return (get "e") (i32.const 42))
    72(assert_return (get $Global "e") (i32.const 42))
    73(module)
    74(module $Other2)
    75(assert_return (get $Global "e") (i32.const 42))
    76
    77(assert_invalid
    78  (module (global i32 (i32.const 0)) (export "a" (global 1)))
    79  "unknown global"
    80)
    81(assert_invalid
    82  (module (global i32 (i32.const 0)) (export "a" (global 0)) (export "a" (global 0)))
    83  "duplicate export name"
    84)
    85(assert_invalid
    86  (module (global i32 (i32.const 0)) (global i32 (i32.const 0)) (export "a" (global 0)) (export "a" (global 1)))
    87  "duplicate export name"
    88)
    89(assert_invalid
    90  (module (global i32 (i32.const 0)) (func) (export "a" (global 0)) (export "a" (func 0)))
    91  "duplicate export name"
    92)
    93(assert_invalid
    94  (module (global i32 (i32.const 0)) (table 0 funcref) (export "a" (global 0)) (export "a" (table 0)))
    95  "duplicate export name"
    96)
    97(assert_invalid
    98  (module (global i32 (i32.const 0)) (memory 0) (export "a" (global 0)) (export "a" (memory 0)))
    99  "duplicate export name"
   100)
   101
   102
   103;; Tables
   104
   105(module (table 0 funcref) (export "a" (table 0)))
   106(module (table 0 funcref) (export "a" (table 0)) (export "b" (table 0)))
   107;; No multiple tables yet.
   108;; (module (table 0 funcref) (table 0 funcref) (export "a" (table 0)) (export "b" (table 1)))
   109
   110(module (table (export "a") 0 funcref))
   111(module (table (export "a") 0 1 funcref))
   112(module (table 0 funcref) (export "a" (table 0)))
   113(module (table 0 1 funcref) (export "a" (table 0)))
   114(module (table $a (export "a") 0 funcref))
   115(module (table $a (export "a") 0 1 funcref))
   116(module (table $a 0 funcref) (export "a" (table $a)))
   117(module (table $a 0 1 funcref) (export "a" (table $a)))
   118(module (export "a" (table 0)) (table 0 funcref))
   119(module (export "a" (table 0)) (table 0 1 funcref))
   120(module (export "a" (table $a)) (table $a 0 funcref))
   121(module (export "a" (table $a)) (table $a 0 1 funcref))
   122
   123(; TODO: access table ;)
   124
   125(assert_invalid
   126  (module (table 0 funcref) (export "a" (table 1)))
   127  "unknown table"
   128)
   129(assert_invalid
   130  (module (table 0 funcref) (export "a" (table 0)) (export "a" (table 0)))
   131  "duplicate export name"
   132)
   133;; No multiple tables yet.
   134;; (assert_invalid
   135;;   (module (table 0 funcref) (table 0 funcref) (export "a" (table 0)) (export "a" (table 1)))
   136;;   "duplicate export name"
   137;; )
   138(assert_invalid
   139  (module (table 0 funcref) (func) (export "a" (table 0)) (export "a" (func 0)))
   140  "duplicate export name"
   141)
   142(assert_invalid
   143  (module (table 0 funcref) (global i32 (i32.const 0)) (export "a" (table 0)) (export "a" (global 0)))
   144  "duplicate export name"
   145)
   146(assert_invalid
   147  (module (table 0 funcref) (memory 0) (export "a" (table 0)) (export "a" (memory 0)))
   148  "duplicate export name"
   149)
   150
   151
   152;; Memories
   153
   154(module (memory 0) (export "a" (memory 0)))
   155(module (memory 0) (export "a" (memory 0)) (export "b" (memory 0)))
   156;; No multiple memories yet.
   157;; (module (memory 0) (memory 0) (export "a" (memory 0)) (export "b" (memory 1)))
   158
   159(module (memory (export "a") 0))
   160(module (memory (export "a") 0 1))
   161(module (memory 0) (export "a" (memory 0)))
   162(module (memory 0 1) (export "a" (memory 0)))
   163(module (memory $a (export "a") 0))
   164(module (memory $a (export "a") 0 1))
   165(module (memory $a 0) (export "a" (memory $a)))
   166(module (memory $a 0 1) (export "a" (memory $a)))
   167(module (export "a" (memory 0)) (memory 0))
   168(module (export "a" (memory 0)) (memory 0 1))
   169(module (export "a" (memory $a)) (memory $a 0))
   170(module (export "a" (memory $a)) (memory $a 0 1))
   171
   172(; TODO: access memory ;)
   173
   174(assert_invalid
   175  (module (memory 0) (export "a" (memory 1)))
   176  "unknown memory"
   177)
   178(assert_invalid
   179  (module (memory 0) (export "a" (memory 0)) (export "a" (memory 0)))
   180  "duplicate export name"
   181)
   182;; No multiple memories yet.
   183;; (assert_invalid
   184;;   (module (memory 0) (memory 0) (export "a" (memory 0)) (export "a" (memory 1)))
   185;;   "duplicate export name"
   186;; )
   187(assert_invalid
   188  (module (memory 0) (func) (export "a" (memory 0)) (export "a" (func 0)))
   189  "duplicate export name"
   190)
   191(assert_invalid
   192  (module (memory 0) (global i32 (i32.const 0)) (export "a" (memory 0)) (export "a" (global 0)))
   193  "duplicate export name"
   194)
   195(assert_invalid
   196  (module (memory 0) (table 0 funcref) (export "a" (memory 0)) (export "a" (table 0)))
   197  "duplicate export name"
   198)

View as plain text