summaryrefslogtreecommitdiffstats
path: root/src/debug/pe/file_cgo_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'src/debug/pe/file_cgo_test.go')
-rw-r--r--src/debug/pe/file_cgo_test.go36
1 files changed, 36 insertions, 0 deletions
diff --git a/src/debug/pe/file_cgo_test.go b/src/debug/pe/file_cgo_test.go
new file mode 100644
index 0000000..13eb4e6
--- /dev/null
+++ b/src/debug/pe/file_cgo_test.go
@@ -0,0 +1,36 @@
+// Copyright 2017 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+//go:build cgo
+// +build cgo
+
+package pe
+
+import (
+ "os/exec"
+ "runtime"
+ "testing"
+)
+
+func testCgoDWARF(t *testing.T, linktype int) {
+ if _, err := exec.LookPath("gcc"); err != nil {
+ t.Skip("skipping test: gcc is missing")
+ }
+ testDWARF(t, linktype)
+}
+
+func TestDefaultLinkerDWARF(t *testing.T) {
+ testCgoDWARF(t, linkCgoDefault)
+}
+
+func TestInternalLinkerDWARF(t *testing.T) {
+ if runtime.GOARCH == "arm64" {
+ t.Skip("internal linker disabled on windows/arm64")
+ }
+ testCgoDWARF(t, linkCgoInternal)
+}
+
+func TestExternalLinkerDWARF(t *testing.T) {
+ testCgoDWARF(t, linkCgoExternal)
+}