From ada452b848e8ac1e307c2b0c38e2e87f391821e6 Mon Sep 17 00:00:00 2001 From: JairusSW Date: Sat, 3 Oct 2026 03:52:37 -0400 Subject: [PATCH 1/2] test: harden component decoding and conformance tracking --- internal/binary/decoder_test.go | 11 +++++++++++ testdata/conformance/xfail.json | 1 - 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/internal/binary/decoder_test.go b/internal/binary/decoder_test.go index fbc7547..217b600 100644 --- a/internal/binary/decoder_test.go +++ b/internal/binary/decoder_test.go @@ -39,6 +39,17 @@ func TestDecodeRealComponent_Preamble(t *testing.T) { } } +func FuzzDecodeNeverPanics(f *testing.F) { + f.Add([]byte{}) + f.Add([]byte{0x00, 0x61, 0x73, 0x6d, 0x0d, 0x00, 0x01, 0x00}) + if data, err := fixtureFS.ReadFile("testdata/host_component.wasm"); err == nil { + f.Add(data) + } + f.Fuzz(func(t *testing.T, data []byte) { + _, _ = Decode(bytes.NewReader(data)) + }) +} + func TestDecodeRealComponent_Imports(t *testing.T) { c := loadFixture(t) if len(c.Imports) != 1 { diff --git a/testdata/conformance/xfail.json b/testdata/conformance/xfail.json index cab7eea..d222e2b 100644 --- a/testdata/conformance/xfail.json +++ b/testdata/conformance/xfail.json @@ -151,7 +151,6 @@ "binary__binary__0117__L1465": "complete component semantic validation is not implemented", "linking__link-time-virtualization__0000__L2": "component core-type sections are not implemented", "linking__shared-everything-dynamic-linking__0000__L4": "component core-type sections are not implemented", - "linking__shared-everything-dynamic-linking__0010__L152/action/L191": "this component re-entry shape is not implemented by Wago", "linking__tags__0000__L7": "core exception handling is disabled in Wago", "linking__tags__0003__L36": "core exception handling is disabled in Wago", "linking__tags__0005__L64": "core exception handling is disabled in Wago", From f65f8e65e000ce84af19af6b6b5d8034ad567393 Mon Sep 17 00:00:00 2001 From: Jairus Date: Sat, 3 Oct 2026 12:56:24 -0700 Subject: [PATCH 2/2] fix: require Wago release with working component re-entry --- go.mod | 2 +- go.sum | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index ba8cb59..be61dab 100644 --- a/go.mod +++ b/go.mod @@ -2,4 +2,4 @@ module github.com/wago-org/component-model go 1.22.0 -require github.com/wago-org/wago v0.1.0-beta.8.0.20260916050830-c9ed2455acd9 +require github.com/wago-org/wago v0.1.0-beta.11 diff --git a/go.sum b/go.sum index f6a11d5..969c23c 100644 --- a/go.sum +++ b/go.sum @@ -1,2 +1,4 @@ -github.com/wago-org/wago v0.1.0-beta.8.0.20260916050830-c9ed2455acd9 h1:+/8b9bvAnyUZPG+YTvGpDwpAV+jpp6+bBBWOrr+8Xco= -github.com/wago-org/wago v0.1.0-beta.8.0.20260916050830-c9ed2455acd9/go.mod h1:q0pPiPF6W6GZpTXbWwy+GT+r19KHSzB/gRcPUVHyntI= +github.com/wago-org/wago v0.1.0-beta.11 h1:ufdN4FcKgLvVyF+nNrkLRBr/T6f1ctOlqDlj8qxvc/Y= +github.com/wago-org/wago v0.1.0-beta.11/go.mod h1:q0pPiPF6W6GZpTXbWwy+GT+r19KHSzB/gRcPUVHyntI= +golang.org/x/sys v0.30.0 h1:QjkSwP/36a20jFYWkSue1YwXzLmsV5Gfq7Eiy72C1uc= +golang.org/x/sys v0.30.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=