aboutsummaryrefslogtreecommitdiff
path: root/misc/cgo/testplugin/test.bash
diff options
context:
space:
mode:
authorBryan C. Mills <bcmills@google.com>2019-02-21 17:38:53 -0500
committerBryan C. Mills <bcmills@google.com>2019-02-24 00:36:13 +0000
commiteb2d1cdd1bbc1912e316040f8ef9a363511d3747 (patch)
tree58e2530e381d75eaa4f428b922df8a34081c5668 /misc/cgo/testplugin/test.bash
parent551af5f50a29366260e82fc636c7c6def50b1101 (diff)
downloadgo-eb2d1cdd1bbc1912e316040f8ef9a363511d3747.tar.xz
misc/cgo/testplugin: convert test.bash to Go and fix in module mode
Updates #30228 Updates #28387 Change-Id: Iad7d960b70221f90ccc2372bb1d4d41cec3926e4 Reviewed-on: https://go-review.googlesource.com/c/163214 Run-TryBot: Bryan C. Mills <bcmills@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
Diffstat (limited to 'misc/cgo/testplugin/test.bash')
-rwxr-xr-xmisc/cgo/testplugin/test.bash109
1 files changed, 0 insertions, 109 deletions
diff --git a/misc/cgo/testplugin/test.bash b/misc/cgo/testplugin/test.bash
deleted file mode 100755
index 1b94bc4bad..0000000000
--- a/misc/cgo/testplugin/test.bash
+++ /dev/null
@@ -1,109 +0,0 @@
-#!/usr/bin/env bash
-# Copyright 2016 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.
-
-set -e
-
-if [ ! -f src/host/host.go ]; then
- cwd=$(pwd)
- echo "misc/cgo/testplugin/test.bash is running in $cwd" 1>&2
- exit 1
-fi
-
-goos=$(go env GOOS)
-goarch=$(go env GOARCH)
-
-function cleanup() {
- rm -f plugin*.so unnamed*.so iface*.so life.so issue*
- rm -rf host pkg sub iface
-}
-trap cleanup EXIT
-
-rm -rf pkg sub
-mkdir sub
-
-GOPATH=$(pwd) go build -i -gcflags "$GO_GCFLAGS" -buildmode=plugin plugin1
-GOPATH=$(pwd) go build -gcflags "$GO_GCFLAGS" -buildmode=plugin plugin2
-cp plugin2.so plugin2-dup.so
-GOPATH=$(pwd)/altpath go build -gcflags "$GO_GCFLAGS" -buildmode=plugin plugin-mismatch
-GOPATH=$(pwd) go build -gcflags "$GO_GCFLAGS" -buildmode=plugin -o=sub/plugin1.so sub/plugin1
-GOPATH=$(pwd) go build -gcflags "$GO_GCFLAGS" -buildmode=plugin -o=unnamed1.so unnamed1/main.go
-GOPATH=$(pwd) go build -gcflags "$GO_GCFLAGS" -buildmode=plugin -o=unnamed2.so unnamed2/main.go
-GOPATH=$(pwd) go build -gcflags "$GO_GCFLAGS" host
-
-# test that DWARF sections are emitted for plugins and programs importing "plugin"
-if [ $GOOS != "darwin" ]; then
- # On macOS, for some reason, the linker doesn't add debug sections to .so,
- # see issue #27502.
- go run src/checkdwarf/main.go plugin2.so plugin2.UnexportedNameReuse
-fi
-go run src/checkdwarf/main.go host main.main
-
-LD_LIBRARY_PATH=$(pwd) ./host
-
-# Test that types and itabs get properly uniqified.
-GOPATH=$(pwd) go build -gcflags "$GO_GCFLAGS" -buildmode=plugin iface_a
-GOPATH=$(pwd) go build -gcflags "$GO_GCFLAGS" -buildmode=plugin iface_b
-GOPATH=$(pwd) go build -gcflags "$GO_GCFLAGS" iface
-LD_LIBRARY_PATH=$(pwd) ./iface
-
-function _timeout() (
- set -e
- $2 &
- p=$!
- (sleep $1; kill $p 2>/dev/null) &
- p2=$!
- wait $p 2>/dev/null
- kill -0 $p2 2>/dev/null
-)
-
-# Test for issue 18676 - make sure we don't add the same itab twice.
-# The buggy code hangs forever, so use a timeout to check for that.
-GOPATH=$(pwd) go build -gcflags "$GO_GCFLAGS" -buildmode=plugin -o plugin.so src/issue18676/plugin.go
-GOPATH=$(pwd) go build -gcflags "$GO_GCFLAGS" -o issue18676 src/issue18676/main.go
-_timeout 10s ./issue18676
-
-# Test for issue 19534 - that we can load a plugin built in a path with non-alpha
-# characters
-GOPATH=$(pwd) go build -gcflags "$GO_GCFLAGS" -buildmode=plugin -ldflags='-pluginpath=issue.19534' -o plugin.so src/issue19534/plugin.go
-GOPATH=$(pwd) go build -gcflags "$GO_GCFLAGS" -o issue19534 src/issue19534/main.go
-./issue19534
-
-# Test for issue 18584
-GOPATH=$(pwd) go build -gcflags "$GO_GCFLAGS" -buildmode=plugin -o plugin.so src/issue18584/plugin.go
-GOPATH=$(pwd) go build -gcflags "$GO_GCFLAGS" -o issue18584 src/issue18584/main.go
-./issue18584
-
-# Test for issue 19418
-GOPATH=$(pwd) go build -gcflags "$GO_GCFLAGS" -buildmode=plugin "-ldflags=-X main.Val=linkstr" -o plugin.so src/issue19418/plugin.go
-GOPATH=$(pwd) go build -gcflags "$GO_GCFLAGS" -o issue19418 src/issue19418/main.go
-./issue19418
-
-# Test for issue 19529
-GOPATH=$(pwd) go build -gcflags "$GO_GCFLAGS" -buildmode=plugin -o plugin.so src/issue19529/plugin.go
-
-# Test for issue 22175
-GOPATH=$(pwd) go build -gcflags "$GO_GCFLAGS" -buildmode=plugin -o issue22175_plugin1.so src/issue22175/plugin1.go
-GOPATH=$(pwd) go build -gcflags "$GO_GCFLAGS" -buildmode=plugin -o issue22175_plugin2.so src/issue22175/plugin2.go
-GOPATH=$(pwd) go build -gcflags "$GO_GCFLAGS" -o issue22175 src/issue22175/main.go
-./issue22175
-
-# Test for issue 22295
-GOPATH=$(pwd) go build -gcflags "$GO_GCFLAGS" -buildmode=plugin -o issue.22295.so issue22295.pkg
-GOPATH=$(pwd) go build -gcflags "$GO_GCFLAGS" -o issue22295 src/issue22295.pkg/main.go
-./issue22295
-
-# Test for issue 24351
-GOPATH=$(pwd) go build -gcflags "$GO_GCFLAGS" -buildmode=plugin -o issue24351.so src/issue24351/plugin.go
-GOPATH=$(pwd) go build -gcflags "$GO_GCFLAGS" -o issue24351 src/issue24351/main.go
-./issue24351
-
-# Test for issue 25756
-GOPATH=$(pwd) go build -gcflags "$GO_GCFLAGS" -buildmode=plugin -o life.so issue25756/plugin
-GOPATH=$(pwd) go build -gcflags "$GO_GCFLAGS" -o issue25756 src/issue25756/main.go
-# Fails intermittently, but 20 runs should cause the failure
-for i in `seq 1 20`;
-do
- ./issue25756 > /dev/null
-done