From 2f3339a0ebc82ce084f44e7e7f286b7152856e56 Mon Sep 17 00:00:00 2001 From: "Ben L. Titzer" Date: Wed, 18 Sep 2024 16:30:23 +0200 Subject: [PATCH] [gc] Add failing element test and update regression failures --- test/regress.failures | 5 +-- test/regress/ext:gc/elem0.bin.wast | 10 ++++++ test/regress/ext:gc/elem0.wast | 8 +++++ test/regress/ext:gc/type-subtyping.bin.wast | 36 ++++++++++---------- test/regress/ext:gc/type-subtyping1.bin.wast | 14 ++++---- 5 files changed, 44 insertions(+), 29 deletions(-) create mode 100644 test/regress/ext:gc/elem0.bin.wast create mode 100644 test/regress/ext:gc/elem0.wast diff --git a/test/regress.failures b/test/regress.failures index 0e7a9203..9cb833db 100644 --- a/test/regress.failures +++ b/test/regress.failures @@ -1,9 +1,6 @@ test/regress/core/elem.bin.wast test/regress/core/import00.bin.wast -test/regress/ext:gc/array_new_fixed.bin.wast -test/regress/ext:gc/br_on_non2.bin.wast -test/regress/ext:gc/br_on_non.bin.wast -test/regress/ext:gc/ref_eq.bin.wast +test/regress/ext:gc/elem0.bin.wast test/regress/ext:threads/atomic_load_i32.bin.wast test/regress/ext:threads/atomic_store_i32.bin.wast test/regress/ext:threads/atomic_add_i32.bin.wast diff --git a/test/regress/ext:gc/elem0.bin.wast b/test/regress/ext:gc/elem0.bin.wast new file mode 100644 index 00000000..4778cd0e --- /dev/null +++ b/test/regress/ext:gc/elem0.bin.wast @@ -0,0 +1,10 @@ +(assert_invalid + (module binary + "\00\61\73\6d\01\00\00\00\01\84\80\80\80\00\01\60" + "\00\00\03\82\80\80\80\00\01\00\04\8a\80\80\80\00" + "\01\40\00\64\70\00\01\d2\00\0b\09\89\80\80\80\00" + "\01\04\41\00\0b\01\d2\00\0b\0a\88\80\80\80\00\01" + "\82\80\80\80\00\00\0b" + ) + "type mismatch" +) diff --git a/test/regress/ext:gc/elem0.wast b/test/regress/ext:gc/elem0.wast new file mode 100644 index 00000000..64f7b1d3 --- /dev/null +++ b/test/regress/ext:gc/elem0.wast @@ -0,0 +1,8 @@ +(assert_invalid + (module + (func) + (table 1 (ref func) (ref.func 0)) + (elem (i32.const 0) funcref (ref.func 0)) + ) + "type mismatch" +) diff --git a/test/regress/ext:gc/type-subtyping.bin.wast b/test/regress/ext:gc/type-subtyping.bin.wast index 43bd96f6..41ab5459 100644 --- a/test/regress/ext:gc/type-subtyping.bin.wast +++ b/test/regress/ext:gc/type-subtyping.bin.wast @@ -7,24 +7,24 @@ "\03\05\66\61\69\6c\31\00\04\05\66\61\69\6c\32\00" "\05\05\66\61\69\6c\33\00\06\05\66\61\69\6c\34\00" "\07\05\66\61\69\6c\35\00\08\05\66\61\69\6c\36\00" - "\09\09\91\80\80\80\00\01\06\00\41\00\0b\70\03\d2" - "\00\0b\d2\01\0b\d2\02\0b\0a\80\82\80\80\00\0a\84" - "\80\80\80\00\00\d0\70\0b\84\80\80\80\00\00\d0\01" - "\0b\84\80\80\80\00\00\d0\02\0b\f9\80\80\80\00\00" - "\02\70\41\00\11\00\00\0b\02\70\41\01\11\00\00\0b" - "\02\70\41\02\11\00\00\0b\02\63\01\41\01\11\01\00" - "\0b\02\63\01\41\02\11\01\00\0b\02\63\02\41\02\11" - "\02\00\0b\02\63\00\41\00\25\00\fb\16\00\0b\02\63" - "\00\41\01\25\00\fb\16\00\0b\02\63\00\41\02\25\00" - "\fb\16\00\0b\02\63\01\41\01\25\00\fb\16\01\0b\02" - "\63\01\41\02\25\00\fb\16\01\0b\02\63\02\41\02\25" - "\00\fb\16\02\0b\0c\00\0b\8d\80\80\80\00\00\02\63" - "\01\41\00\11\01\00\0b\0c\00\0b\8d\80\80\80\00\00" - "\02\63\01\41\00\11\02\00\0b\0c\00\0b\8d\80\80\80" - "\00\00\02\63\01\41\01\11\02\00\0b\0c\00\0b\8b\80" - "\80\80\00\00\41\00\25\00\fb\16\01\0c\00\0b\8b\80" - "\80\80\00\00\41\00\25\00\fb\16\02\0c\00\0b\8b\80" - "\80\80\00\00\41\01\25\00\fb\16\02\0c\00\0b" + "\09\09\8f\80\80\80\00\01\04\41\00\0b\03\d2\00\0b" + "\d2\01\0b\d2\02\0b\0a\80\82\80\80\00\0a\84\80\80" + "\80\00\00\d0\70\0b\84\80\80\80\00\00\d0\01\0b\84" + "\80\80\80\00\00\d0\02\0b\f9\80\80\80\00\00\02\70" + "\41\00\11\00\00\0b\02\70\41\01\11\00\00\0b\02\70" + "\41\02\11\00\00\0b\02\63\01\41\01\11\01\00\0b\02" + "\63\01\41\02\11\01\00\0b\02\63\02\41\02\11\02\00" + "\0b\02\63\00\41\00\25\00\fb\16\00\0b\02\63\00\41" + "\01\25\00\fb\16\00\0b\02\63\00\41\02\25\00\fb\16" + "\00\0b\02\63\01\41\01\25\00\fb\16\01\0b\02\63\01" + "\41\02\25\00\fb\16\01\0b\02\63\02\41\02\25\00\fb" + "\16\02\0b\0c\00\0b\8d\80\80\80\00\00\02\63\01\41" + "\00\11\01\00\0b\0c\00\0b\8d\80\80\80\00\00\02\63" + "\01\41\00\11\02\00\0b\0c\00\0b\8d\80\80\80\00\00" + "\02\63\01\41\01\11\02\00\0b\0c\00\0b\8b\80\80\80" + "\00\00\41\00\25\00\fb\16\01\0c\00\0b\8b\80\80\80" + "\00\00\41\00\25\00\fb\16\02\0c\00\0b\8b\80\80\80" + "\00\00\41\01\25\00\fb\16\02\0c\00\0b" ) (assert_return (invoke "run")) (assert_trap (invoke "fail1") "indirect call") diff --git a/test/regress/ext:gc/type-subtyping1.bin.wast b/test/regress/ext:gc/type-subtyping1.bin.wast index 10ad67a3..6c3b81c9 100644 --- a/test/regress/ext:gc/type-subtyping1.bin.wast +++ b/test/regress/ext:gc/type-subtyping1.bin.wast @@ -4,13 +4,13 @@ "\01\01\01\01\04\85\80\80\80\00\01\70\01\02\02\07" "\a1\80\80\80\00\04\05\66\61\69\6c\31\00\02\05\66" "\61\69\6c\32\00\03\05\66\61\69\6c\33\00\04\05\66" - "\61\69\6c\34\00\05\09\8e\80\80\80\00\01\06\00\41" - "\00\0b\70\02\d2\00\0b\d2\01\0b\0a\cb\80\80\80\00" - "\06\82\80\80\80\00\00\0b\82\80\80\80\00\00\0b\8a" - "\80\80\80\00\00\02\40\41\01\11\00\00\0b\0b\8a\80" - "\80\80\00\00\02\40\41\00\11\01\00\0b\0b\8a\80\80" - "\80\00\00\41\01\25\00\fb\16\00\1a\0b\8a\80\80\80" - "\00\00\41\00\25\00\fb\16\01\1a\0b" + "\61\69\6c\34\00\05\09\8c\80\80\80\00\01\04\41\00" + "\0b\02\d2\00\0b\d2\01\0b\0a\cb\80\80\80\00\06\82" + "\80\80\80\00\00\0b\82\80\80\80\00\00\0b\8a\80\80" + "\80\00\00\02\40\41\01\11\00\00\0b\0b\8a\80\80\80" + "\00\00\02\40\41\00\11\01\00\0b\0b\8a\80\80\80\00" + "\00\41\01\25\00\fb\16\00\1a\0b\8a\80\80\80\00\00" + "\41\00\25\00\fb\16\01\1a\0b" ) (assert_trap (invoke "fail1") "indirect call") (assert_trap (invoke "fail2") "indirect call")