From 380946fd249886dd5494cf83b8cbfdb0eb039fcd Mon Sep 17 00:00:00 2001 From: Paul Jolly Date: Sat, 9 Mar 2019 14:42:46 +0000 Subject: [PATCH] ci: use black list instead of white list for standard library tests Using a black list is a more effective mechanism for expressing those standard library packages we don't want to test because it means we don't need to manually check whether new standard library packages have been added that would otherwise need to be added to the white list. See the discussion in https://github.com/gopherjs/gopherjs/pull/900 for more context. --- .std_test_pkg_exclusions | 83 +++++++++++++++++++++++++++++ circle.yml | 111 +-------------------------------------- 2 files changed, 84 insertions(+), 110 deletions(-) create mode 100644 .std_test_pkg_exclusions diff --git a/.std_test_pkg_exclusions b/.std_test_pkg_exclusions new file mode 100644 index 000000000..6ed5ce076 --- /dev/null +++ b/.std_test_pkg_exclusions @@ -0,0 +1,83 @@ +context +crypto +crypto/internal/randutil +crypto/internal/subtle +crypto/tls +crypto/x509/pkix +debug/gosym +debug/plan9obj +encoding +go/build +go/importer +go/internal/gccgoimporter +go/internal/gcimporter +go/internal/srcimporter +go/types +hash +image/color/palette +image/internal/imageutil +internal/bytealg +internal/cpu +internal/nettrace +internal/poll +internal/race +internal/singleflight +internal/syscall/unix +internal/syscall/windows +internal/syscall/windows/registry +internal/syscall/windows/sysdll +internal/testenv +internal/testlog +internal/trace +log +log/syslog +net +net/http +net/http/cgi +net/http/httptest +net/http/httptrace +net/http/httputil +net/http/internal +net/http/pprof +net/internal/socktest +net/rpc +net/smtp +os +os/exec +os/signal +os/signal/internal/pty +os/user +plugin +runtime +runtime/cgo +runtime/debug +runtime/internal/atomic +runtime/internal/sys +runtime/pprof +runtime/pprof/internal/profile +runtime/race +runtime/trace +syscall +testing +testing/internal/testdeps +testing/iotest +unsafe +vendor/golang_org/x/crypto/chacha20poly1305 +vendor/golang_org/x/crypto/cryptobyte +vendor/golang_org/x/crypto/cryptobyte/asn1 +vendor/golang_org/x/crypto/curve25519 +vendor/golang_org/x/crypto/internal/chacha20 +vendor/golang_org/x/crypto/poly1305 +vendor/golang_org/x/net/dns/dnsmessage +vendor/golang_org/x/net/http/httpguts +vendor/golang_org/x/net/http/httpproxy +vendor/golang_org/x/net/http2/hpack +vendor/golang_org/x/net/idna +vendor/golang_org/x/net/internal/nettest +vendor/golang_org/x/net/nettest +vendor/golang_org/x/text/secure +vendor/golang_org/x/text/secure/bidirule +vendor/golang_org/x/text/transform +vendor/golang_org/x/text/unicode +vendor/golang_org/x/text/unicode/bidi +vendor/golang_org/x/text/unicode/norm diff --git a/circle.yml b/circle.yml index 8861bd80d..555a32eb7 100644 --- a/circle.yml +++ b/circle.yml @@ -26,115 +26,6 @@ jobs: - run: for d in */; do echo $d; done | grep -v tests/ | grep -v third_party/ | xargs go tool vet # All subdirectories except "tests", "third_party". - run: diff -u <(echo -n) <(go list ./compiler/natives/src/...) # All those packages should have // +build js. - run: gopherjs install -v net/http # Should build successfully (can't run tests, since only client is supported). - - run: > - ulimit -s 10000 && gopherjs test --minify -v --short - github.com/gopherjs/gopherjs/tests - github.com/gopherjs/gopherjs/tests/main - github.com/gopherjs/gopherjs/js - archive/tar - archive/zip - bufio - bytes - compress/bzip2 - compress/flate - compress/gzip - compress/lzw - compress/zlib - container/heap - container/list - container/ring - crypto/aes - crypto/cipher - crypto/des - crypto/dsa - crypto/ecdsa - crypto/elliptic - crypto/hmac - crypto/md5 - crypto/rand - crypto/rc4 - crypto/rsa - crypto/sha1 - crypto/sha256 - crypto/sha512 - crypto/subtle - crypto/x509 - database/sql - database/sql/driver - debug/dwarf - debug/elf - debug/macho - debug/pe - encoding/ascii85 - encoding/asn1 - encoding/base32 - encoding/base64 - encoding/binary - encoding/csv - encoding/gob - encoding/hex - encoding/json - encoding/pem - encoding/xml - errors - expvar - flag - fmt - go/ast - go/constant - go/doc - go/format - go/parser - go/printer - go/scanner - go/token - hash/adler32 - hash/crc32 - hash/crc64 - hash/fnv - html - html/template - image - image/color - image/draw - image/gif - image/jpeg - image/png - index/suffixarray - io - io/ioutil - math - math/big - math/bits - math/cmplx - math/rand - mime - mime/multipart - mime/quotedprintable - net/http/cookiejar - net/http/fcgi - net/mail - net/rpc/jsonrpc - net/textproto - net/url - path - path/filepath - reflect - regexp - regexp/syntax - sort - strconv - strings - sync - sync/atomic - testing/quick - text/scanner - text/tabwriter - text/template - text/template/parse - time - unicode - unicode/utf16 - unicode/utf8 + - run: ulimit -s 10000 && gopherjs test --minify -v --short github.com/gopherjs/gopherjs/tests/... $(go list std | grep -v -x -f .std_test_pkg_exclusions) - run: go test -v -race ./... - run: gopherjs test -v fmt # No minification should work.