2012-02-03 22:48:31 -07:00
: : Copyright 2012 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.
@ echo off
2012-02-15 16:44:55 -07:00
: : Keep environment variables within this script
: : unless invoked with --no-local.
if x%1 == x--no-local goto nolocal
if x%2 == x--no-local goto nolocal
setlocal
: nolocal
2012-02-03 22:48:31 -07:00
set GOBUILDFAIL = 0
2012-03-20 10:47:27 -06:00
: : we disallow local import for non-local packages, if %GOROOT% happens
: : to be under %GOPATH%, then some tests below will fail
set GOPATH =
2012-02-03 22:48:31 -07:00
rem TODO avoid rebuild if possible
if x%1 == x--no-rebuild goto norebuild
echo # Building packages and commands.
go install -a -v std
if errorlevel 1 goto fail
2012-02-16 13:49:50 -07:00
echo .
2012-02-03 22:48:31 -07:00
: norebuild
2012-04-04 09:14:54 -06:00
: : we must unset GOROOT_FINAL before tests, because runtime/debug requires
: : correct access to source code, so if we have GOROOT_FINAL in effect,
: : at least runtime/debug test will fail.
set GOROOT_FINAL =
2012-08-06 19:38:35 -06:00
: : get CGO_ENABLED
go env > env.bat
if errorlevel 1 goto fail
call env.bat
del env.bat
echo .
2012-02-03 22:48:31 -07:00
echo # Testing packages.
go test std -short -timeout=120s
if errorlevel 1 goto fail
2012-02-16 13:49:50 -07:00
echo .
2012-02-03 22:48:31 -07:00
echo # runtime -cpu=1,2,4
go test runtime -short -timeout=120s -cpu=1,2,4
if errorlevel 1 goto fail
2012-02-16 13:49:50 -07:00
echo .
2012-02-03 22:48:31 -07:00
echo # sync -cpu=10
go test sync -short -timeout=120s -cpu=10
if errorlevel 1 goto fail
2012-02-16 13:49:50 -07:00
echo .
2012-02-03 22:48:31 -07:00
2012-03-19 21:04:20 -06:00
echo # ..\misc\dashboard\builder ..\misc\goplay
go build ..\misc\dashboard\builder ..\misc\goplay
if errorlevel 1 goto fail
echo .
2012-03-19 21:59:51 -06:00
: : TODO(brainman): disabled, because it fails with: mkdir C:\Users\ADMINI~1\AppData\Local\Temp\2.....\test\bench\: The filename or extension is too long.
: :echo # ..\test\bench\go1
: :go test ..\test\bench\go1
: :if errorlevel 1 goto fail
: :echo.
2012-03-19 21:04:20 -06:00
2012-08-06 19:38:35 -06:00
: : cgo tests
if x%CGO_ENABLED% == x0 goto nocgo
2012-09-10 22:06:34 -06:00
: : TODO(brainman) disabled, because it is broken on go builder - http://golang.org/issue/4063
: :echo # ..\misc\cgo\life
: :go run %GOROOT%\test\run.go - ..\misc\cgo\life
: :if errorlevel 1 goto fail
: :echo.
cmd/go: new cgo build procedure
This CL adds a step to the build procedure for cgo programs. It uses 'ld -r'
to combine all gcc compiled object file and generate a relocatable object file
for our ld. Additionally, this linking step will combine some static linking
gcc library into the relocatable object file, so that we can use libgcc,
libmingwex and libmingw32 without problem.
Fixes #3261.
Fixes #1741.
Added a testcase for linking in libgcc.
TODO:
1. still need to fix the INDIRECT_SYMBOL_LOCAL problem on Darwin/386.
2. still need to enable the libgcc test on Linux/ARM, because 5l can't deal
with thumb libgcc.
Tested on Darwin/amd64, Darwin/386, FreeBSD/amd64, FreeBSD/386, Linux/amd64,
Linux/386, Linux/ARM, Windows/amd64, Windows/386
R=iant, rsc, bradfitz, coldredlemur
CC=golang-dev
https://golang.org/cl/5822049
2012-08-16 13:42:34 -06:00
2012-09-02 18:33:48 -06:00
: : TODO ..\misc\cgo\stdio
: :echo # ..\misc\cgo\stdio
: :go run %GOROOT%\test\run.go - ..\misc\cgo\stdio
: :if errorlevel 1 goto fail
: :echo.
cmd/go: new cgo build procedure
This CL adds a step to the build procedure for cgo programs. It uses 'ld -r'
to combine all gcc compiled object file and generate a relocatable object file
for our ld. Additionally, this linking step will combine some static linking
gcc library into the relocatable object file, so that we can use libgcc,
libmingwex and libmingw32 without problem.
Fixes #3261.
Fixes #1741.
Added a testcase for linking in libgcc.
TODO:
1. still need to fix the INDIRECT_SYMBOL_LOCAL problem on Darwin/386.
2. still need to enable the libgcc test on Linux/ARM, because 5l can't deal
with thumb libgcc.
Tested on Darwin/amd64, Darwin/386, FreeBSD/amd64, FreeBSD/386, Linux/amd64,
Linux/386, Linux/ARM, Windows/amd64, Windows/386
R=iant, rsc, bradfitz, coldredlemur
CC=golang-dev
https://golang.org/cl/5822049
2012-08-16 13:42:34 -06:00
2012-08-16 22:15:01 -06:00
: : TODO(brainman): disabled, because it fails with: mkdir C:\Users\ADMINI~1\AppData\Local\Temp\2.....\go\misc\cgo\: The filename or extension is too long.
: :echo # ..\misc\cgo\test
: :go test ..\misc\cgo\test
: :if errorlevel 1 goto fail
: :echo.
2012-08-06 19:38:35 -06:00
: nocgo
2012-09-02 13:49:03 -06:00
echo # ..\doc\progs
go run %GOROOT% \test\run.go - ..\doc\progs
if errorlevel 1 goto fail
echo .
2012-03-05 20:47:23 -07:00
: : TODO: The other tests in run.bash.
echo # test
2012-03-12 19:51:28 -06:00
cd ..\test
set FAIL = 0
2012-03-05 20:47:23 -07:00
go run run.go
2012-03-12 19:51:28 -06:00
if errorlevel 1 set FAIL = 1
cd ..\src
2012-03-05 20:47:23 -07:00
echo .
2012-03-12 19:51:28 -06:00
if %FAIL% == 1 goto fail
2012-02-03 22:48:31 -07:00
2012-03-19 21:04:20 -06:00
echo # Checking API compatibility.
2012-05-22 19:41:20 -06:00
go tool api -c ..\api\go1.txt -next ..\api\next.txt
2012-03-19 21:04:20 -06:00
if errorlevel 1 goto fail
echo .
2012-02-03 22:48:31 -07:00
echo ALL TESTS PASSED
goto end
: fail
set GOBUILDFAIL = 1
: end