aboutsummaryrefslogtreecommitdiff
path: root/go/patch/go4.patch
diff options
context:
space:
mode:
Diffstat (limited to 'go/patch/go4.patch')
-rw-r--r--go/patch/go4.patch101
1 files changed, 101 insertions, 0 deletions
diff --git a/go/patch/go4.patch b/go/patch/go4.patch
new file mode 100644
index 00000000..1c96c093
--- /dev/null
+++ b/go/patch/go4.patch
@@ -0,0 +1,101 @@
+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 {