mirror of
https://github.com/tinygo-org/tinygo.git
synced 2026-08-22 05:19:03 +00:00
reflect: skip the MakeChan panic cases on every wasm target, not just wasip1
The guard was on runtime.GOOS == "wasip1", so under wasip2 the three cases that rely on recover ran anyway. recover does not work on wasm yet, so the panic escaped and trapped the test binary — which is the tinygo-test-wasip2-fast failure on this PR. Checked on runtime.GOARCH instead, since the limitation is wasm's rather than any one platform's. wasip1, wasip2 and js/wasm all set the tinygo.wasm build tag, and arch_tinygowasm.go defines GOARCH as wasm for it, so one condition covers all three of the wasm test targets. Worth noting for anyone reading targets/wasip2.json: the goarch there is arm, but that is what is handed to the Go toolchain for package selection — runtime.GOARCH is the one above.
This commit is contained in:
committed by
Damian Gryski
parent
1579b235e8
commit
f71b63053c
@@ -1045,8 +1045,11 @@ func TestTinyMakeChan(t *testing.T) {
|
||||
// The three cases below rely on recovering from a panic, which wasm
|
||||
// cannot do yet without exceptions. Log and return rather than Skip:
|
||||
// t.Skip needs the same machinery it is standing in for.
|
||||
//
|
||||
// Checked on GOARCH rather than GOOS because the limitation is wasm's, not
|
||||
// any one platform's: this covers wasip1, wasip2 and js/wasm alike.
|
||||
// TODO: drop this once tinygo-org/tinygo#5550 lands.
|
||||
if runtime.GOOS == "wasip1" {
|
||||
if runtime.GOARCH == "wasm" {
|
||||
t.Log("not running the panic cases: panic/recover on wasm needs #5550")
|
||||
return
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user