diff options
Diffstat (limited to 'libgo/go/cmd/internal/buildid/buildid_test.go')
-rw-r--r-- | libgo/go/cmd/internal/buildid/buildid_test.go | 41 |
1 files changed, 26 insertions, 15 deletions
diff --git a/libgo/go/cmd/internal/buildid/buildid_test.go b/libgo/go/cmd/internal/buildid/buildid_test.go index 15481dd7623..904c2c6f377 100644 --- a/libgo/go/cmd/internal/buildid/buildid_test.go +++ b/libgo/go/cmd/internal/buildid/buildid_test.go @@ -7,6 +7,7 @@ package buildid import ( "bytes" "crypto/sha256" + "internal/obscuretestdata" "io/ioutil" "os" "reflect" @@ -19,13 +20,6 @@ const ( ) func TestReadFile(t *testing.T) { - var files = []string{ - "p.a", - "a.elf", - "a.macho", - "a.pe", - } - f, err := ioutil.TempFile("", "buildid-test-") if err != nil { t.Fatal(err) @@ -34,26 +28,43 @@ func TestReadFile(t *testing.T) { defer os.Remove(tmp) f.Close() - for _, f := range files { - id, err := ReadFile("testdata/" + f) + // Use obscured files to prevent Appleās notarization service from + // mistaking them as candidates for notarization and rejecting the entire + // toolchain. + // See golang.org/issue/34986 + var files = []string{ + "p.a.base64", + "a.elf.base64", + "a.macho.base64", + "a.pe.base64", + } + + for _, name := range files { + f, err := obscuretestdata.DecodeToTempFile("testdata/" + name) + if err != nil { + t.Errorf("obscuretestdata.DecodeToTempFile(testdata/%s): %v", name, err) + continue + } + defer os.Remove(f) + id, err := ReadFile(f) if id != expectedID || err != nil { t.Errorf("ReadFile(testdata/%s) = %q, %v, want %q, nil", f, id, err, expectedID) } old := readSize readSize = 2048 - id, err = ReadFile("testdata/" + f) + id, err = ReadFile(f) readSize = old if id != expectedID || err != nil { - t.Errorf("ReadFile(testdata/%s) [readSize=2k] = %q, %v, want %q, nil", f, id, err, expectedID) + t.Errorf("ReadFile(%s) [readSize=2k] = %q, %v, want %q, nil", f, id, err, expectedID) } - data, err := ioutil.ReadFile("testdata/" + f) + data, err := ioutil.ReadFile(f) if err != nil { t.Fatal(err) } m, _, err := FindAndHash(bytes.NewReader(data), expectedID, 1024) if err != nil { - t.Errorf("FindAndHash(testdata/%s): %v", f, err) + t.Errorf("FindAndHash(%s): %v", f, err) continue } if err := ioutil.WriteFile(tmp, data, 0666); err != nil { @@ -68,7 +79,7 @@ func TestReadFile(t *testing.T) { err = Rewrite(tf, m, newID) err2 := tf.Close() if err != nil { - t.Errorf("Rewrite(testdata/%s): %v", f, err) + t.Errorf("Rewrite(%s): %v", f, err) continue } if err2 != nil { @@ -77,7 +88,7 @@ func TestReadFile(t *testing.T) { id, err = ReadFile(tmp) if id != newID || err != nil { - t.Errorf("ReadFile(testdata/%s after Rewrite) = %q, %v, want %q, nil", f, id, err, newID) + t.Errorf("ReadFile(%s after Rewrite) = %q, %v, want %q, nil", f, id, err, newID) } } } |