]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/internal/obj/x86: avoid os.Chdir in issue19518_test.go
authorBryan C. Mills <bcmills@google.com>
Tue, 12 Mar 2019 18:41:09 +0000 (14:41 -0400)
committerBryan C. Mills <bcmills@google.com>
Tue, 12 Mar 2019 18:55:20 +0000 (18:55 +0000)
Chdir leaves the test in the wrong working directory if objdumpOutput
calls t.Fatalf (or panics), and it isn't necessary here anyway. Set
the Dir field on the commands instead.

Change-Id: I9f0eb0d4f8d15043f1e13472126ca1a1ce4b7cb3
Reviewed-on: https://go-review.googlesource.com/c/go/+/167081
Run-TryBot: Bryan C. Mills <bcmills@google.com>
Reviewed-by: Jay Conrod <jayconrod@google.com>
src/cmd/internal/obj/x86/issue19518_test.go

index 4a29285ff1c3169e98af885dca2db64d05def9ce..1b0fb4a8b17afa7e697e194f0b5111fd05baa405 100644 (file)
@@ -32,10 +32,6 @@ func main() {
 `
 
 func objdumpOutput(t *testing.T) []byte {
-       cwd, err := os.Getwd()
-       if err != nil {
-               t.Fatal(err)
-       }
        tmpdir, err := ioutil.TempDir("", "19518")
        if err != nil {
                t.Fatal(err)
@@ -63,15 +59,13 @@ func objdumpOutput(t *testing.T) []byte {
        if err != nil {
                t.Fatal(err)
        }
-       err = os.Chdir(tmpdir)
-       if err != nil {
-               t.Fatal(err)
-       }
+
        cmd := exec.Command(
                testenv.GoToolPath(t), "build", "-o",
                filepath.Join(tmpdir, "output"))
 
        cmd.Env = append(os.Environ(), "GOARCH=amd64", "GOOS=linux")
+       cmd.Dir = tmpdir
 
        out, err := cmd.CombinedOutput()
        if err != nil {
@@ -81,14 +75,12 @@ func objdumpOutput(t *testing.T) []byte {
                testenv.GoToolPath(t), "tool", "objdump", "-s", "testASM",
                filepath.Join(tmpdir, "output"))
        cmd2.Env = cmd.Env
+       cmd2.Dir = tmpdir
        objout, err := cmd2.CombinedOutput()
        if err != nil {
                t.Fatalf("error %s output %s", err, objout)
        }
-       err = os.Chdir(cwd)
-       if err != nil {
-               t.Fatal(err)
-       }
+
        return objout
 }