]> Cypherpunks repositories - gostls13.git/commitdiff
exp/types: clean up objects after test
authorShenghou Ma <minux.ma@gmail.com>
Thu, 14 Jun 2012 18:52:18 +0000 (02:52 +0800)
committerShenghou Ma <minux.ma@gmail.com>
Thu, 14 Jun 2012 18:52:18 +0000 (02:52 +0800)
        Fixes #3739.

R=bradfitz, rsc
CC=golang-dev
https://golang.org/cl/6295083

src/pkg/exp/types/gcimporter_test.go

index 20247b0dc44c9dfceda55e8f9dba308461d65e3e..61a085d847c6bf06e8cbd72e1316d531aa832e96 100644 (file)
@@ -36,15 +36,18 @@ func init() {
        gcPath = filepath.Join(build.ToolDir, gc)
 }
 
-func compile(t *testing.T, dirname, filename string) {
+func compile(t *testing.T, dirname, filename string) (outFn string) {
        cmd := exec.Command(gcPath, filename)
        cmd.Dir = dirname
        out, err := cmd.CombinedOutput()
        if err != nil {
-               t.Errorf("%s %s failed: %s", gcPath, filename, err)
-               return
+               t.Fatalf("%s %s failed: %s", gcPath, filename, err)
+               return ""
        }
        t.Logf("%s", string(out))
+       archCh, _ := build.ArchChar(runtime.GOARCH)
+       // filename should end with ".go"
+       return filepath.Join(dirname, filename[:len(filename)-2]+archCh)
 }
 
 // Use the same global imports map for all tests. The effect is
@@ -99,7 +102,9 @@ func TestGcImport(t *testing.T) {
                return
        }
 
-       compile(t, "testdata", "exports.go")
+       if outFn := compile(t, "testdata", "exports.go"); outFn != "" {
+               defer os.Remove(outFn)
+       }
 
        nimports := 0
        if testPath(t, "./testdata/exports") {