1// Copyright 2017 The Go Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style
3// license that can be found in the LICENSE file.
4
5//go:build cgo
6
7package pe
8
9import (
10	"os/exec"
11	"runtime"
12	"testing"
13)
14
15func testCgoDWARF(t *testing.T, linktype int) {
16	if _, err := exec.LookPath("gcc"); err != nil {
17		t.Skip("skipping test: gcc is missing")
18	}
19	testDWARF(t, linktype)
20}
21
22func TestDefaultLinkerDWARF(t *testing.T) {
23	testCgoDWARF(t, linkCgoDefault)
24}
25
26func TestInternalLinkerDWARF(t *testing.T) {
27	if runtime.GOARCH == "arm64" {
28		t.Skip("internal linker disabled on windows/arm64")
29	}
30	testCgoDWARF(t, linkCgoInternal)
31}
32
33func TestExternalLinkerDWARF(t *testing.T) {
34	testCgoDWARF(t, linkCgoExternal)
35}
36