aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAustin Clements <austin@google.com>2023-05-04 12:13:27 -0400
committerAustin Clements <austin@google.com>2023-05-12 12:00:07 +0000
commit0efbec91cdc8b3e73a869e13dcec73c798147bd6 (patch)
treea1f898783deccb17557f5ab21551f2b1d506c818
parent2484e1331a6054ffa25e2e6a4146943251171c56 (diff)
downloadgo-0efbec91cdc8b3e73a869e13dcec73c798147bd6.tar.xz
misc/swig: move tests to cmd/cgo/internal
This moves the misc/swig test to cmd/cgo/internal. This lets these tests access facilities in internal/testenv. It's also now just a normal test that can run as part of the cmd tests. For #37486. Change-Id: Ibe5026219999d175aa0a310b9886bef3f6f9ed17 Reviewed-on: https://go-review.googlesource.com/c/go/+/492722 Run-TryBot: Austin Clements <austin@google.com> TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: Dmitri Shuralyov <dmitshur@google.com> Reviewed-by: Bryan Mills <bcmills@google.com>
-rw-r--r--misc/swig/nocgo_test.go7
-rw-r--r--src/cmd/cgo/internal/swig/swig_test.go (renamed from misc/swig/swig_test.go)20
-rw-r--r--src/cmd/cgo/internal/swig/testdata/callback/main.cc (renamed from misc/swig/testdata/callback/main.cc)0
-rw-r--r--src/cmd/cgo/internal/swig/testdata/callback/main.go (renamed from misc/swig/testdata/callback/main.go)0
-rw-r--r--src/cmd/cgo/internal/swig/testdata/callback/main.h (renamed from misc/swig/testdata/callback/main.h)0
-rw-r--r--src/cmd/cgo/internal/swig/testdata/callback/main.swigcxx (renamed from misc/swig/testdata/callback/main.swigcxx)0
-rw-r--r--src/cmd/cgo/internal/swig/testdata/stdio/main.go (renamed from misc/swig/testdata/stdio/main.go)0
-rw-r--r--src/cmd/cgo/internal/swig/testdata/stdio/main.swig (renamed from misc/swig/testdata/stdio/main.swig)0
-rw-r--r--src/cmd/dist/test.go3
9 files changed, 12 insertions, 18 deletions
diff --git a/misc/swig/nocgo_test.go b/misc/swig/nocgo_test.go
deleted file mode 100644
index c68b97d6b6..0000000000
--- a/misc/swig/nocgo_test.go
+++ /dev/null
@@ -1,7 +0,0 @@
-// Copyright 2023 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.
-
-// This file is just to avoid build errors if there's no cgo.
-
-package swig
diff --git a/misc/swig/swig_test.go b/src/cmd/cgo/internal/swig/swig_test.go
index cbe062ae41..41563138a7 100644
--- a/misc/swig/swig_test.go
+++ b/src/cmd/cgo/internal/swig/swig_test.go
@@ -2,12 +2,11 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
-//go:build cgo
-
package swig
import (
- "bytes"
+ "cmd/internal/quoted"
+ "internal/testenv"
"os"
"os/exec"
"path/filepath"
@@ -19,11 +18,13 @@ import (
)
func TestStdio(t *testing.T) {
+ testenv.MustHaveCGO(t)
mustHaveSwig(t)
run(t, "testdata/stdio", false)
}
func TestCall(t *testing.T) {
+ testenv.MustHaveCGO(t)
mustHaveSwig(t)
mustHaveCxx(t)
run(t, "testdata/callback", false, "Call")
@@ -31,6 +32,7 @@ func TestCall(t *testing.T) {
}
func TestCallback(t *testing.T) {
+ testenv.MustHaveCGO(t)
mustHaveSwig(t)
mustHaveCxx(t)
run(t, "testdata/callback", false, "Callback")
@@ -63,12 +65,14 @@ func mustHaveCxx(t *testing.T) {
if err != nil {
t.Fatalf("go env CXX failed: %s", err)
}
- cxx = bytes.TrimSuffix(cxx, []byte("\n"))
- // TODO(austin): "go env CXX" can return a quoted list. Use quoted.Split.
- p, err := exec.LookPath(string(cxx))
- if p == "" {
- t.Skipf("test requires C++ compiler, but failed to find %s: %s", string(cxx), err)
+ args, err := quoted.Split(string(cxx))
+ if err != nil {
+ t.Skipf("could not parse 'go env CXX' output %q: %s", string(cxx), err)
+ }
+ if len(args) == 0 {
+ t.Skip("no C++ compiler")
}
+ testenv.MustHaveExecPath(t, string(args[0]))
}
var (
diff --git a/misc/swig/testdata/callback/main.cc b/src/cmd/cgo/internal/swig/testdata/callback/main.cc
index 7de917cde4..7de917cde4 100644
--- a/misc/swig/testdata/callback/main.cc
+++ b/src/cmd/cgo/internal/swig/testdata/callback/main.cc
diff --git a/misc/swig/testdata/callback/main.go b/src/cmd/cgo/internal/swig/testdata/callback/main.go
index 73034a0c7c..73034a0c7c 100644
--- a/misc/swig/testdata/callback/main.go
+++ b/src/cmd/cgo/internal/swig/testdata/callback/main.go
diff --git a/misc/swig/testdata/callback/main.h b/src/cmd/cgo/internal/swig/testdata/callback/main.h
index 4b661060d8..4b661060d8 100644
--- a/misc/swig/testdata/callback/main.h
+++ b/src/cmd/cgo/internal/swig/testdata/callback/main.h
diff --git a/misc/swig/testdata/callback/main.swigcxx b/src/cmd/cgo/internal/swig/testdata/callback/main.swigcxx
index 0fd73d6362..0fd73d6362 100644
--- a/misc/swig/testdata/callback/main.swigcxx
+++ b/src/cmd/cgo/internal/swig/testdata/callback/main.swigcxx
diff --git a/misc/swig/testdata/stdio/main.go b/src/cmd/cgo/internal/swig/testdata/stdio/main.go
index 0296dd3224..0296dd3224 100644
--- a/misc/swig/testdata/stdio/main.go
+++ b/src/cmd/cgo/internal/swig/testdata/stdio/main.go
diff --git a/misc/swig/testdata/stdio/main.swig b/src/cmd/cgo/internal/swig/testdata/stdio/main.swig
index b28ae0a6b7..b28ae0a6b7 100644
--- a/misc/swig/testdata/stdio/main.swig
+++ b/src/cmd/cgo/internal/swig/testdata/stdio/main.swig
diff --git a/src/cmd/dist/test.go b/src/cmd/dist/test.go
index 95c27ce327..5a47b86bc6 100644
--- a/src/cmd/dist/test.go
+++ b/src/cmd/dist/test.go
@@ -870,9 +870,6 @@ func (t *tester) registerTests() {
if goos != "android" {
t.registerTest("cgo_testfortran", "", &goTest{dir: "cmd/cgo/internal/testfortran", timeout: 5 * time.Minute}, rtHostTest{})
}
- if goos != "android" {
- t.registerTest("swig", "", &goTest{dir: "../misc/swig"})
- }
}
if t.cgoEnabled {
t.registerCgoTests()