These tests weren't being run. Re-enable them.
R=go1.12
Change-Id: I8d3cd09b7f07e4c39f855ddb9be000718ec86494
Reviewed-on: https://go-review.googlesource.com/127117
Run-TryBot: Keith Randall <khr@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: David Chase <drchase@google.com>
// cmp_ssa.go tests compare simplification operations.
package main
-import "fmt"
-
-var failed = false
+import "testing"
//go:noinline
func eq_ssa(a int64) bool {
return 10 != a+4
}
-func testCmp() {
+func testCmp(t *testing.T) {
if wanted, got := true, eq_ssa(6); wanted != got {
- fmt.Printf("eq_ssa: expected %v, got %v\n", wanted, got)
- failed = true
+ t.Errorf("eq_ssa: expected %v, got %v\n", wanted, got)
}
if wanted, got := false, eq_ssa(7); wanted != got {
- fmt.Printf("eq_ssa: expected %v, got %v\n", wanted, got)
- failed = true
+ t.Errorf("eq_ssa: expected %v, got %v\n", wanted, got)
}
-
if wanted, got := false, neq_ssa(6); wanted != got {
- fmt.Printf("neq_ssa: expected %v, got %v\n", wanted, got)
- failed = true
+ t.Errorf("neq_ssa: expected %v, got %v\n", wanted, got)
}
if wanted, got := true, neq_ssa(7); wanted != got {
- fmt.Printf("neq_ssa: expected %v, got %v\n", wanted, got)
- failed = true
+ t.Errorf("neq_ssa: expected %v, got %v\n", wanted, got)
}
}
-func main() {
- testCmp()
-
- if failed {
- panic("failed")
- }
+func TestCmp(t *testing.T) {
+ testCmp(t)
}
+++ /dev/null
-package main
-
-import (
- "fmt"
- "runtime"
-)
-
-var failed = false
-
-func checkDivByZero(f func()) (divByZero bool) {
- defer func() {
- if r := recover(); r != nil {
- if e, ok := r.(runtime.Error); ok && e.Error() == "runtime error: integer divide by zero" {
- divByZero = true
- }
- }
- }()
- f()
- return false
-}
-
-//go:noinline
-func a(i uint, s []int) int {
- return s[i%uint(len(s))]
-}
-
-//go:noinline
-func b(i uint, j uint) uint {
- return i / j
-}
-
-//go:noinline
-func c(i int) int {
- return 7 / (i - i)
-}
-
-func main() {
- if got := checkDivByZero(func() { b(7, 0) }); !got {
- fmt.Printf("expected div by zero for b(7, 0), got no error\n")
- failed = true
- }
- if got := checkDivByZero(func() { b(7, 7) }); got {
- fmt.Printf("expected no error for b(7, 7), got div by zero\n")
- failed = true
- }
- if got := checkDivByZero(func() { a(4, nil) }); !got {
- fmt.Printf("expected div by zero for a(4, nil), got no error\n")
- failed = true
- }
- if got := checkDivByZero(func() { c(5) }); !got {
- fmt.Printf("expected div by zero for c(5), got no error\n")
- failed = true
- }
-
- if failed {
- panic("tests failed")
- }
-}
--- /dev/null
+package main
+
+import (
+ "runtime"
+ "testing"
+)
+
+func checkDivByZero(f func()) (divByZero bool) {
+ defer func() {
+ if r := recover(); r != nil {
+ if e, ok := r.(runtime.Error); ok && e.Error() == "runtime error: integer divide by zero" {
+ divByZero = true
+ }
+ }
+ }()
+ f()
+ return false
+}
+
+//go:noinline
+func div_a(i uint, s []int) int {
+ return s[i%uint(len(s))]
+}
+
+//go:noinline
+func div_b(i uint, j uint) uint {
+ return i / j
+}
+
+//go:noinline
+func div_c(i int) int {
+ return 7 / (i - i)
+}
+
+func TestDivByZero(t *testing.T) {
+ if got := checkDivByZero(func() { div_b(7, 0) }); !got {
+ t.Errorf("expected div by zero for b(7, 0), got no error\n")
+ }
+ if got := checkDivByZero(func() { div_b(7, 7) }); got {
+ t.Errorf("expected no error for b(7, 7), got div by zero\n")
+ }
+ if got := checkDivByZero(func() { div_a(4, nil) }); !got {
+ t.Errorf("expected div by zero for a(4, nil), got no error\n")
+ }
+ if got := checkDivByZero(func() { div_c(5) }); !got {
+ t.Errorf("expected div by zero for c(5), got no error\n")
+ }
+}