aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorAyke van Laethem <[email protected]>2024-07-12 17:15:52 +0200
committerRon Evans <[email protected]>2024-07-20 14:30:34 +0200
commit3788b31ba52a79a1a0f832c0096e7805df6b8ee1 (patch)
tree9529eb4b4be67c399a182d5d5462f0a68454abf7
parentf4ce11ef37ea155ccf04e43590739a893b98a865 (diff)
downloadtinygo-3788b31ba52a79a1a0f832c0096e7805df6b8ee1.tar.gz
tinygo-3788b31ba52a79a1a0f832c0096e7805df6b8ee1.zip
main: add test for error coming from the optimizer
This is just one optimizer pass that's easy to test for. There are others, but I'm ignoring them for now. The one other that would be reasonable to test is when starting a goroutine with -gc=none, but I'm leaving that one for another time.
-rw-r--r--errors_test.go1
-rw-r--r--testdata/errors/optimizer.go18
2 files changed, 19 insertions, 0 deletions
diff --git a/errors_test.go b/errors_test.go
index 1d29236ca..791741978 100644
--- a/errors_test.go
+++ b/errors_test.go
@@ -23,6 +23,7 @@ func TestErrors(t *testing.T) {
"loader-invaliddep",
"loader-invalidpackage",
"loader-nopackage",
+ "optimizer",
"syntax",
"types",
} {
diff --git a/testdata/errors/optimizer.go b/testdata/errors/optimizer.go
new file mode 100644
index 000000000..4e0d71b93
--- /dev/null
+++ b/testdata/errors/optimizer.go
@@ -0,0 +1,18 @@
+package main
+
+import "runtime/interrupt"
+
+var num = 5
+
+func main() {
+ // Error coming from LowerInterrupts.
+ interrupt.New(num, func(interrupt.Interrupt) {
+ })
+
+ // 2nd error
+ interrupt.New(num, func(interrupt.Interrupt) {
+ })
+}
+
+// ERROR: optimizer.go:9:15: interrupt ID is not a constant
+// ERROR: optimizer.go:13:15: interrupt ID is not a constant