#!/bin/bash

# This script runs tests for the Go toolchain on target devices.
# It can be used for both ChromeOS and Android targets.
#
# Many of the test drivers that come from upstream do not support
# cross-compiling and running the tests remotely. The patches in
# the ./patch/ directory must be applied to the upstream sources
# to add this support.
#
# Usage: test_go [-v] [-vv] [-full] <target>...
#   -v: enable verbose test output from compiler tests.
#   -v: enable verbose test output from standard library tests.
#   -full: run all standard library tests (without the -short flag).

verbose_run_test=""
verbose_go_test=""
testflags="-short"
while [[ "$1" == -* ]]
do
	case "$1" in
		-v) verbose_run_test="-v" ;;
		-vv) verbose_go_test="-v" ;;
		-full) testflags="-timeout=2h" ;;
		*) echo "unrecognized flag: $1" ;;
	esac
	shift
done

go_local build -o runtest test/run.go
runtest="${PWD}/runtest"

function run_test()
	{
	GOOS="$(go_${target} env GOOS)" GOARCH="$(go_${target} env GOARCH)" ${runtest} -n=1 ${verbose_run_test} -show_skips -summary -target="${target}" "$@"
	}

function go_test()
	{
	go_${target} test -p=1 ${verbose_go_test} -exec="go_${target}_exec" ${testflags} "$@"
	}

function go_test_target()
	{
	go_local test -p=1 ${verbose_go_test} ${testflags} "$@" -target="${target}"
	}

for target in "$@"
do
	echo
	echo "## ${target}"
	push_goroot ${target}

	echo
	echo "# test"
	(cd test && run_test)

	echo
	echo "# std"
	go_test std

	echo
	echo "# GOMAXPROCS=2 -cpu=1,2,4 runtime"
	GOMAXPROCS=2 go_test -cpu=1,2,4 runtime

	echo
	echo "# -cpu=10 sync"
	go_test -cpu=10 sync

	echo
	echo "# runtime crypto/x509 -target=${target}"
	go_test_target runtime crypto/x509

	echo
	echo "# misc/cgo/{stdio,life}"
	run_test misc/cgo/{stdio,life}

	echo
	echo "# misc/cgo/{test,testtls,nocgo}"
	GOTRACEBACK=2 go_test ./misc/cgo/{test,testtls,nocgo}
done
