101 lines
2.7 KiB
Diff
101 lines
2.7 KiB
Diff
runtime, crypto/x509: add -target flag.
|
|
|
|
--- src/crypto/x509/x509_test.go
|
|
+++ src/crypto/x509/x509_test.go
|
|
@@ -19,6 +19,7 @@ import (
|
|
"encoding/hex"
|
|
"encoding/pem"
|
|
"fmt"
|
|
+ "flag"
|
|
"internal/testenv"
|
|
"math/big"
|
|
"net"
|
|
@@ -28,6 +29,8 @@ import (
|
|
"time"
|
|
)
|
|
|
|
+var target = flag.String("target", "", "if non empty, use 'go_target' to compile test files and 'go_target_exec' to run the binaries")
|
|
+
|
|
func TestParsePKCS1PrivateKey(t *testing.T) {
|
|
block, _ := pem.Decode([]byte(pemPrivateKey))
|
|
priv, err := ParsePKCS1PrivateKey(block.Bytes)
|
|
@@ -862,7 +865,13 @@ func TestParsePEMCRL(t *testing.T) {
|
|
func TestImports(t *testing.T) {
|
|
testenv.MustHaveGoRun(t)
|
|
|
|
- if err := exec.Command("go", "run", "x509_test_import.go").Run(); err != nil {
|
|
+ var cmd *exec.Cmd
|
|
+ if *target == "" {
|
|
+ cmd = exec.Command("go", "run", "x509_test_import.go")
|
|
+ } else {
|
|
+ cmd = exec.Command("go_"+*target, "run", "-exec", "go_"+*target+"_exec", "x509_test_import.go")
|
|
+ }
|
|
+ if err := cmd.Run(); err != nil {
|
|
t.Errorf("failed to run x509_test_import.go: %s", err)
|
|
}
|
|
}
|
|
--- src/runtime/crash_test.go
|
|
+++ src/runtime/crash_test.go
|
|
@@ -5,6 +5,7 @@
|
|
package runtime_test
|
|
|
|
import (
|
|
+ "flag"
|
|
"fmt"
|
|
"internal/testenv"
|
|
"io/ioutil"
|
|
@@ -18,6 +19,25 @@ import (
|
|
"testing"
|
|
)
|
|
|
|
+var target = flag.String("target", "", "if non empty, use 'go_target' to compile test files and 'go_target_exec' to run the binaries")
|
|
+
|
|
+func goCmd() string {
|
|
+ if *target != "" {
|
|
+ return "go_" + *target
|
|
+ }
|
|
+ return "go"
|
|
+}
|
|
+
|
|
+func goExecCmd(name string, arg ...string) *exec.Cmd {
|
|
+ var cmd []string
|
|
+ if *target != "" {
|
|
+ cmd = append(cmd, "go_"+*target+"_exec")
|
|
+ }
|
|
+ cmd = append(cmd, name)
|
|
+ cmd = append(cmd, arg...)
|
|
+ return exec.Command(cmd[0], cmd[1:]...)
|
|
+}
|
|
+
|
|
var toRemove []string
|
|
|
|
func TestMain(m *testing.M) {
|
|
@@ -65,7 +85,7 @@ func runTestProg(t *testing.T, binary, name string) string {
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
- got, _ := testEnv(exec.Command(exe, name)).CombinedOutput()
|
|
+ got, _ := testEnv(goExecCmd(exe, name)).CombinedOutput()
|
|
return string(got)
|
|
}
|
|
|
|
@@ -92,7 +112,7 @@ func buildTestProg(t *testing.T, binary string) (string, error) {
|
|
}
|
|
|
|
exe := filepath.Join(testprog.dir, binary+".exe")
|
|
- cmd := exec.Command("go", "build", "-o", exe)
|
|
+ cmd := exec.Command(goCmd(), "build", "-o", exe)
|
|
cmd.Dir = "testdata/" + binary
|
|
out, err := testEnv(cmd).CombinedOutput()
|
|
if err != nil {
|
|
--- src/runtime/crash_unix_test.go
|
|
+++ src/runtime/crash_unix_test.go
|
|
@@ -157,7 +157,7 @@ func TestSignalExitStatus(t *testing.T) {
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
- err = testEnv(exec.Command(exe, "SignalExitStatus")).Run()
|
|
+ err = testEnv(goExecCmd(exe, "SignalExitStatus")).Run()
|
|
if err == nil {
|
|
t.Error("test program succeeded unexpectedly")
|
|
} else if ee, ok := err.(*exec.ExitError); !ok {
|