]> Cypherpunks repositories - gostls13.git/commit
go: implement test command
authorRuss Cox <rsc@golang.org>
Fri, 16 Dec 2011 04:51:04 +0000 (23:51 -0500)
committerRuss Cox <rsc@golang.org>
Fri, 16 Dec 2011 04:51:04 +0000 (23:51 -0500)
commit20090df70fa018b1ac0fe15434c0dbd44151bb93
treec0bc4a79bb5b696e69060512156082607c8d3a4e
parent1338347b9caee12b92d4693600df57683aeec2fc
go: implement test command

Gotest tries to build things, for which it invokes make,
and it was too hard to coordinate go invoking gotest
invoking go to build the test binary, so put all the code
here instead.  Gotest will be deleted once we switch.

The only code that really made sense to copy verbatim
was the flag parsing.

This remains a work in progress.  There are still plenty
of things to clean up and make better, but this is a good
checkpoint.  It can run all the tests in the tree (except
runtime, which it can't build yet).

$ go test all -short
ok   archive/tar
ok   archive/zip
ok   bufio
?    builtin [no test files]
ok   bytes
ok   compress/bzip2
ok   compress/flate
ok   compress/gzip
ok   compress/lzw
ok   compress/zlib
ok   container/heap
ok   container/list
ok   container/ring
?    crypto [no test files]
ok   crypto/aes
ok   crypto/bcrypt
ok   crypto/blowfish
ok   crypto/cast5
ok   crypto/cipher
ok   crypto/des
ok   crypto/dsa
ok   crypto/ecdsa
ok   crypto/elliptic
ok   crypto/hmac
ok   crypto/md4
ok   crypto/md5
ok   crypto/ocsp
ok   crypto/openpgp
ok   crypto/openpgp/armor
ok   crypto/openpgp/elgamal
?    crypto/openpgp/error [no test files]
ok   crypto/openpgp/packet
ok   crypto/openpgp/s2k
ok   crypto/rand
ok   crypto/rc4
ok   crypto/ripemd160
ok   crypto/rsa
ok   crypto/sha1
ok   crypto/sha256
ok   crypto/sha512
ok   crypto/subtle
ok   crypto/tls
ok   crypto/twofish
ok   crypto/x509
?    crypto/x509/pkix [no test files]
ok   crypto/xtea
ok   debug/dwarf
ok   debug/elf
ok   debug/gosym
ok   debug/macho
ok   debug/pe
ok   encoding/ascii85
ok   encoding/asn1
ok   encoding/base32
ok   encoding/base64
ok   encoding/binary
ok   encoding/csv
ok   encoding/git85
ok   encoding/gob
ok   encoding/hex
ok   encoding/json
ok   encoding/pem
ok   encoding/xml
ok   errors
ok   exp/ebnf
?    exp/ebnflint [no test files]
ok   exp/gotype
ok   exp/norm
ok   exp/spdy
ok   exp/sql
ok   exp/sql/driver
ok   exp/ssh
ok   exp/types
ok   expvar
ok   flag
ok   fmt
ok   go/ast
ok   go/build
ok   go/doc
ok   go/parser
ok   go/printer
ok   go/scanner
ok   go/token
?    hash [no test files]
ok   hash/adler32
ok   hash/crc32
ok   hash/crc64
ok   hash/fnv
ok   html
ok   html/template
ok   image
?    image/bmp [no test files]
?    image/color [no test files]
ok   image/draw
?    image/gif [no test files]
ok   image/jpeg
ok   image/png
ok   image/tiff
ok   image/ycbcr
ok   index/suffixarray
ok   io
ok   io/ioutil
ok   log
ok   log/syslog
ok   math
ok   math/big
ok   math/cmplx
ok   math/rand
ok   mime
ok   mime/multipart
ok   net
?    net/dict [no test files]
ok   net/http
ok   net/http/cgi
ok   net/http/fcgi
?    net/http/httptest [no test files]
ok   net/http/httputil
?    net/http/pprof [no test files]
ok   net/mail
ok   net/rpc
ok   net/rpc/jsonrpc
ok   net/smtp
ok   net/textproto
ok   net/url
ok   old/netchan
ok   old/regexp
ok   old/template
ok   os
ok   os/exec
ok   os/signal
ok   os/user
ok   patch
ok   path
ok   path/filepath
ok   reflect
ok   regexp
ok   regexp/syntax
# cd /Users/rsc/g/go/src/pkg/runtime; 6g -o /var/folders/mw/qfnx8hhd1_s9mm9wtbng0hw80000gn/T/go-build874847916/runtime_test/_obj/_go_.6 -p runtime_test -I /var/folders/mw/qfnx8hhd1_s9mm9wtbng0hw80000gn/T/go-build874847916 append_test.go chan_test.go closure_test.go gc_test.go mfinal_test.go proc_test.go sema_test.go softfloat64_test.go symtab_test.go
proc_test.go:87: undefined: runtime.Entersyscall
proc_test.go:88: undefined: runtime.Exitsyscall
proc_test.go:111: undefined: runtime.Entersyscall
proc_test.go:116: undefined: runtime.Exitsyscall
softfloat64_test.go:79: undefined: Fadd64
softfloat64_test.go:80: undefined: Fsub64
softfloat64_test.go:82: undefined: Fmul64
softfloat64_test.go:83: undefined: Fdiv64
softfloat64_test.go:94: undefined: F64to32
softfloat64_test.go:99: undefined: F32to64
softfloat64_test.go:99: too many errors

exit status 1
FAIL runtime [build failed]
?    runtime/cgo [no test files]
ok   runtime/debug
ok   runtime/pprof
ok   sort
ok   strconv
ok   strings
ok   sync
ok   sync/atomic
?    syscall [no test files]
?    testing [no test files]
?    testing/iotest [no test files]
ok   testing/quick
ok   testing/script
ok   text/scanner
ok   text/tabwriter
ok   text/template
ok   text/template/parse
ok   time
ok   unicode
ok   unicode/utf16
ok   unicode/utf8
?    unsafe [no test files]
ok   websocket
$

R=golang-dev, r
CC=golang-dev
https://golang.org/cl/5495055
src/cmd/go/Makefile
src/cmd/go/build.go
src/cmd/go/main.go
src/cmd/go/pkg.go
src/cmd/go/test.go
src/cmd/go/testflag.go [new file with mode: 0644]