summaryrefslogtreecommitdiff
path: root/libgo/testsuite
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@gcc.gnu.org>2015-10-31 00:59:47 +0000
committerIan Lance Taylor <ian@gcc.gnu.org>2015-10-31 00:59:47 +0000
commitaf146490bb04205107cb23e301ec7a8ff927b5fc (patch)
tree13beeaed3698c61903fe93fb1ce70bd9b18d4e7f /libgo/testsuite
parent725e1be3406315d9bcc8195d7eef0a7082b3c7cc (diff)
runtime: Remove now unnecessary pad field from ParFor.
It is not needed due to the removal of the ctx field. Reviewed-on: https://go-review.googlesource.com/16525 From-SVN: r229616
Diffstat (limited to 'libgo/testsuite')
-rwxr-xr-xlibgo/testsuite/gotest111
1 files changed, 110 insertions, 1 deletions
diff --git a/libgo/testsuite/gotest b/libgo/testsuite/gotest
index 79097b86bc6..14841613afe 100755
--- a/libgo/testsuite/gotest
+++ b/libgo/testsuite/gotest
@@ -26,7 +26,9 @@ NM=${NM:-nm}
# gofiles are the test files. pkgfiles are the source files.
srcdir=.
basedir=.
+goarch=""
gofiles=""
+goos=""
pkgfiles=""
loop=true
keep=false
@@ -58,6 +60,24 @@ while $loop; do
basedir=`echo $1 | sed -e 's/^--basedir=//'`
shift
;;
+ x--goarch)
+ goarch=$2
+ shift
+ shift
+ ;;
+ x--goarch=*)
+ goarch=`echo $1 | sed -e 's/^--goarch=//'`
+ shift
+ ;;
+ x--goos)
+ goos=$2
+ shift
+ shift
+ ;;
+ x--goos=*)
+ goos=`echo $1 | sed -e 's/^--goos=//'`
+ shift
+ ;;
x--pkgpath)
pkgpath=$2
shift
@@ -268,7 +288,96 @@ mkdir _test
case "x$gofiles" in
x)
- gofiles=`ls *_test.go 2>/dev/null`
+ for f in `ls *_test.go`; do
+ tag1=`echo $f | sed -e 's/^.*_\([^_]*\)_test.go$/\1/'`
+ tag2=`echo $f | sed -e 's/^.*_\([^_]*\)_[^_]*_test.go$/\1/'`
+ if test x$tag1 = x$f; then
+ tag1=
+ fi
+ if test x$tag2 = x$f; then
+ tag2=
+ fi
+
+ case "$tag1" in
+ "") ;;
+ $goarch) ;;
+ $goos) ;;
+ android | darwin | dragonfly | freebsd | linux | nacl | netbsd | openbsd | plan9 | solaris | windows)
+ tag1=nonmatchingtag
+ ;;
+ 386 | amd64 | amd64p32 | arm | armbe | arm64 | arm64be | alpha | m68k | ppc64 | ppc64le | mips | mipsle | mips64 | mips64le | mips64p32 | mips64p32le | mipso32 | mipsn32 | mipsn64 | mipso64 | ppc | s390 | s390x | sparc | sparc64)
+ tag1=nonmatchingtag
+ ;;
+ esac
+
+ case "$tag2" in
+ "") ;;
+ $goarch) ;;
+ $goos) ;;
+ android | darwin | dragonfly | freebsd | linux | nacl | netbsd | openbsd | plan9 | solaris | windows)
+ tag2=nonmatchingtag
+ ;;
+ 386 | amd64 | amd64p32 | arm | armbe | arm64 | arm64be | alpha | m68k | ppc64 | ppc64le | mips | mipsle | mips64 | mips64le | mips64p32 | mips64p32le | mipso32 | mipsn32 | mipsn64 | mipso64 | ppc | s390 | s390x | sparc | sparc64)
+ tag2=nonmatchingtag
+ ;;
+ esac
+
+ if test x$tag1 != xnonmatchingtag -a x$tag2 != xnonmatchingtag; then
+ taglines=`sed '/^package /q' < $f | fgrep '// +build '`
+ if test "$taglines" = ""; then
+ omatch=true
+ else
+ omatch=false
+ fi
+ for tags in $taglines; do
+ match=false
+ for tag in $tags; do
+ reverse=false
+ case $tag in
+ "!"*)
+ reverse=true
+ tag=`echo $tag | sed -e 's/^!//'`
+ ;;
+ esac
+
+ case $tag in
+ "//" | "+build")
+ ;;
+ $goos | $goarch | cgo)
+ match=true
+ ;;
+ *,*)
+ match=true
+ for ctag in `echo $tag | sed -e 's/,/ /g'`; do
+ case $ctag in
+ $goos | $goarch | cgo)
+ ;;
+ *)
+ match=false
+ ;;
+ esac
+ done
+ ;;
+ esac
+
+ if test "$reverse" = true; then
+ if test "$match" = true; then
+ match=false
+ else
+ match=true
+ fi
+ fi
+ done
+ if test "$match" = "true"; then
+ omatch=true
+ fi
+ done
+
+ if test "$omatch" = "true"; then
+ gofiles="$gofiles $f"
+ fi
+ fi
+ done
;;
*)
xgofiles=$gofiles