}
}
-func TestRISCVEndToEnd(t *testing.T) {
- testEndToEnd(t, "riscv64", "riscv64")
+func testRISCV64AllProfiles(t *testing.T, testFn func(t *testing.T)) {
+ t.Helper()
+
+ defer func(orig int) { buildcfg.GORISCV64 = orig }(buildcfg.GORISCV64)
+
+ for _, goriscv64 := range []int{20, 22, 23} {
+ t.Run(fmt.Sprintf("rva%vu64", goriscv64), func(t *testing.T) {
+ buildcfg.GORISCV64 = goriscv64
+ testFn(t)
+ })
+ }
+}
+
+func TestRISCV64EndToEnd(t *testing.T) {
+ testRISCV64AllProfiles(t, func(t *testing.T) {
+ testEndToEnd(t, "riscv64", "riscv64")
+ })
}
-func TestRISCVErrors(t *testing.T) {
- testErrors(t, "riscv64", "riscv64error")
+func TestRISCV64Errors(t *testing.T) {
+ testRISCV64AllProfiles(t, func(t *testing.T) {
+ testErrors(t, "riscv64", "riscv64error")
+ })
}
-func TestRISCVValidation(t *testing.T) {
- testErrors(t, "riscv64", "riscv64validation")
+func TestRISCV64Validation(t *testing.T) {
+ testRISCV64AllProfiles(t, func(t *testing.T) {
+ testErrors(t, "riscv64", "riscv64validation")
+ })
}
func TestS390XEndToEnd(t *testing.T) {