summaryrefslogtreecommitdiff
path: root/libgo/go/cmd/internal/buildid/buildid_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'libgo/go/cmd/internal/buildid/buildid_test.go')
-rw-r--r--libgo/go/cmd/internal/buildid/buildid_test.go41
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)
}
}
}