Russ Cox [Wed, 7 Mar 2012 19:54:31 +0000 (14:54 -0500)]
testing: do not print 'no tests' when there are examples
I am not sure why RunTests and RunExamples are
exported, but I assume that because they are we
should not change the signature, so I added an
unexported global shared by Main and RunTests.
Ian Lance Taylor [Wed, 7 Mar 2012 19:16:58 +0000 (11:16 -0800)]
test: fix testlib to not pass an empty argument to 6g
This change is necessary to make the run shell script work
again, but it is not sufficient as bug424.go's execution line
does not name the package that it imports.
Mikkel Krautz [Wed, 7 Mar 2012 18:12:35 +0000 (13:12 -0500)]
crypto/x509: new home for root fetchers; build chains using Windows API
This moves the various CA root fetchers from crypto/tls into crypto/x509.
The move was brought about by issue 2997. Windows doesn't ship with all
its root certificates, but will instead download them as-needed when using
CryptoAPI for certificate verification.
This CL changes crypto/x509 to verify a certificate using the system root
CAs when VerifyOptions.RootCAs == nil. On Windows, this verification is
now implemented using Windows's CryptoAPI. All other root fetchers are
unchanged, and still use Go's own verification code.
The CL also fixes the hostname matching logic in crypto/tls/tls.go, in
order to be able to test whether hostname mismatches are honored by the
Windows verification code.
The move to crypto/x509 also allows other packages to use the OS-provided
root certificates, instead of hiding them inside the crypto/tls package.
Russ Cox [Wed, 7 Mar 2012 17:06:22 +0000 (12:06 -0500)]
net: delete usableLocalPort from test
The old way to find a port was to listen :0 and then
look at what port it picked, close the listener, and then
immediately try to listen on that port.
On some Windows 7 machines that sequence fails at
the second listen, because the first one is still lingering
in the TCP/IP stack somewhere. (Ironically, most of these
are used in tests of a "second listen", which in this case
ends up being the third listen.)
Instead of this race, just return the listener from the
function, replacing usableLocalPort+Listen with
usableListenPort.
Russ Cox [Wed, 7 Mar 2012 04:38:54 +0000 (23:38 -0500)]
misc/cgo/test: fix build
The last CL forgot the all-important 'backdoor' package.
Cgo-using packages compile .c files with gcc, but we want
to compile this one with 6c, so put it in a non-cgo package.
Rob Pike [Wed, 7 Mar 2012 04:29:26 +0000 (15:29 +1100)]
go_faq: a simple binary is a little smaller now
About 10% for hello, world.
Maybe more reductions will come.
Also clarify that we're comparing printf against Printf
(gcc can optimize aggressively, making this a different
sort of comparison).
Russ Cox [Wed, 7 Mar 2012 04:27:11 +0000 (23:27 -0500)]
fmt, log: stop using unicode
$ go list -f '{{.ImportPath}} {{.Deps}}' fmt log
fmt [errors io math os reflect runtime strconv sync sync/atomic syscall time unicode/utf8 unsafe]
log [errors fmt io math os reflect runtime strconv sync sync/atomic syscall time unicode/utf8 unsafe]
Rob Pike [Wed, 7 Mar 2012 02:50:31 +0000 (13:50 +1100)]
strconv: remove dependence on unicode and strings
We need a compact, reasonably efficient IsPrint. That adds about 2K of data,
plus a modest amount of code, but now strconv is a near-leaf package.
Adam Langley [Tue, 6 Mar 2012 22:18:09 +0000 (17:18 -0500)]
deps: allow crypto/x509 cgo and io/ioutil.
In order to land 5700087 (which moves the knowledge of how to get the
root certificates for the system from crypto/tls to crypto/x509), we
need to relax the restrictions on crypto/x509. Afterwards, we can
probably tighten them up in crypto/tls.
Shenghou Ma [Tue, 6 Mar 2012 21:05:10 +0000 (08:05 +1100)]
doc: remove unsued progs and makehtml script, update progs/run
Due to removal of go_tutorial, unused programs are removed.
makehtml is unnecessary (it also gives wrong messages when
the destination file doesn't exist)
progs/run now compiles all remaining programs under doc/progs.
Fixes #3076 (again)
The full-repo-root must be a full URL root to a repository containing
a scheme and *not* containing a ".vcs" qualifier.
The vcs is one of "git", "hg", "svn", etc.
The import-alias-prefix must be a prefix or exact match of the
package being fetched with "go get".
If there are multiple meta tags, only the one with a prefix
matching the import path is used. It is an error if multiple
go-import values match the import prefix.
If the import-alias-prefix is not an exact match for the import,
another HTTP fetch is performed, at the declared root (which does
*not* need to be the domain's root).
For example, assuming that "camlistore.org/pkg/blobref" declares
in its HTML head:
Russ Cox [Tue, 6 Mar 2012 04:13:00 +0000 (23:13 -0500)]
go/build: add dependency test
This exercises the Import function but more importantly
gives us a place to write down the policy for dependencies
within the Go tree. It also forces us to look at the dependencies,
which may lead to adjustments.
Surprises:
- go/doc imports text/template, for HTMLEscape (could fix)
- it is impossible to use math/big without fmt (unfixable)
- it is impossible to use crypto/rand without math/big (unfixable)
R=golang-dev, bradfitz, gri, r
CC=golang-dev
https://golang.org/cl/5732062
Rob Pike [Tue, 6 Mar 2012 03:58:08 +0000 (14:58 +1100)]
unicode/utf16: delete dependence on package unicode
In the test, verify the copied constants are correct.
Also put the test into package utf16 rather than utf16_test;
the old location was probably due creating the test from
utf8, but the separation is not needed here.
R=golang-dev, bradfitz, rsc, rsc, r
CC=golang-dev
https://golang.org/cl/5752047
Mikio Hara [Tue, 6 Mar 2012 00:43:45 +0000 (09:43 +0900)]
net: improve server and file tests
* Splits into three server tests.
- TestStreamConnServer for tcp, tcp4, tcp6 and unix networks
- TestSeqpacketConnServer for unixpacket networks
- TestDatagramPacketConnServer for udp, udp4, udp6 and unixgram networks
* Adds both PacketConn and Conn test clients to datagram packet conn tests.
* Fixes wildcard listen test cases on dual IP stack platform.
Ian Lance Taylor [Tue, 6 Mar 2012 00:21:46 +0000 (16:21 -0800)]
test: match gccgo error messages for bug388.go
As runtime.UintType is no longer defined, the gccgo error
messages have changed.
bug388.go:12:10: error: reference to undefined identifier ‘runtime.UintType’
bug388.go:12:10: error: invalid named/anonymous mix
bug388.go:13:21: error: reference to undefined identifier ‘runtime.UintType’
bug388.go:17:10: error: reference to undefined identifier ‘runtime.UintType’
bug388.go:18:18: error: reference to undefined identifier ‘runtime.UintType’
bug388.go:22:9: error: non-name on left side of ‘:=’
bug388.go:27:10: error: expected type
bug388.go:32:9: error: expected type
bug388.go:23:14: error: reference to field ‘i’ in object which has no fields or methods
Rob Pike [Tue, 6 Mar 2012 00:14:45 +0000 (11:14 +1100)]
unicode/utf8: remove dependence on unicode.
The dependency was there only to pull in two constants.
Now we define them locally and verify equality in the test.