Input buildinfo: https://buildinfos.debian.net/buildinfo-pool/g/golang-github-rogpeppe-go-internal/golang-github-rogpeppe-go-internal_1.6.2-1_all.buildinfo Use metasnap for getting required timestamps New buildinfo file: /tmp/golang-github-rogpeppe-go-internal-1.6.2-1e9rhnufu/golang-github-rogpeppe-go-internal_1.6.2-1_all.buildinfo Get source package info: golang-github-rogpeppe-go-internal=1.6.2-1 Source URL: http://snapshot.notset.fr/mr/package/golang-github-rogpeppe-go-internal/1.6.2-1/srcfiles?fileinfo=1 env -i PATH=/usr/sbin:/usr/bin:/sbin:/bin TMPDIR=/tmp mmdebstrap --arch=amd64 --include=autoconf=2.69-11.1 automake=1:1.16.2-4 autopoint=0.19.8.1-10 autotools-dev=20180224.1 base-files=11 base-passwd=3.5.48 bash=5.1~rc1-2 binutils=2.35.1-2 binutils-common=2.35.1-2 binutils-x86-64-linux-gnu=2.35.1-2 bsdextrautils=2.36-3+b1 bsdutils=1:2.36-3+b1 build-essential=12.8 bzip2=1.0.8-4 coreutils=8.32-4+b1 cpp=4:10.2.0-1 cpp-10=10.2.0-15 dash=0.5.10.2-7 debconf=1.5.74 debhelper=13.2.1 debianutils=4.11.2 dh-autoreconf=19 dh-golang=1.49 dh-strip-nondeterminism=1.9.0-1 diffutils=1:3.7-3 dpkg=1.20.5 dpkg-dev=1.20.5 dwz=0.13-5 file=1:5.38-5 findutils=4.7.0-1 g++=4:10.2.0-1 g++-10=10.2.0-15 gcc=4:10.2.0-1 gcc-10=10.2.0-15 gcc-10-base=10.2.0-15 gettext=0.19.8.1-10 gettext-base=0.19.8.1-10 golang-1.15-go=1.15.2-1 golang-1.15-src=1.15.2-1 golang-any=2:1.15~1 golang-github-kr-pretty-dev=0.2.1-1 golang-github-kr-pty-dev=1.1.6-1 golang-github-kr-text-dev=0.1.0-2 golang-go=2:1.15~1 golang-gopkg-check.v1-dev=0.0+git20180628.788fd78-1 golang-gopkg-errgo.v2-dev=2.1.0-2 golang-src=2:1.15~1 grep=3.4-1 groff-base=1.22.4-5 gzip=1.10-2 hostname=3.23 init-system-helpers=1.58 intltool-debian=0.35.0+20060710.5 libacl1=2.2.53-8 libarchive-zip-perl=1.68-1 libasan6=10.2.0-15 libatomic1=10.2.0-15 libattr1=1:2.4.48-5 libaudit-common=1:2.8.5-3.1 libaudit1=1:2.8.5-3.1 libbinutils=2.35.1-2 libblkid1=2.36-3+b1 libbz2-1.0=1.0.8-4 libc-bin=2.31-4 libc-dev-bin=2.31-4 libc6=2.31-4 libc6-dev=2.31-4 libcap-ng0=0.7.9-2.2 libcc1-0=10.2.0-15 libcom-err2=1.45.6-1 libcroco3=0.6.13-1 libcrypt-dev=1:4.4.17-1 libcrypt1=1:4.4.17-1 libctf-nobfd0=2.35.1-2 libctf0=2.35.1-2 libdb5.3=5.3.28+dfsg1-0.6 libdebconfclient0=0.254 libdebhelper-perl=13.2.1 libdpkg-perl=1.20.5 libelf1=0.181-1 libffi7=3.3-4 libfile-stripnondeterminism-perl=1.9.0-1 libgcc-10-dev=10.2.0-15 libgcc-s1=10.2.0-15 libgcrypt20=1.8.6-2 libgdbm-compat4=1.18.1-5.1 libgdbm6=1.18.1-5.1 libglib2.0-0=2.66.1-2 libgmp10=2:6.2.0+dfsg-6 libgomp1=10.2.0-15 libgpg-error0=1.38-2 libgssapi-krb5-2=1.17-10 libicu67=67.1-4 libisl22=0.22.1-1 libitm1=10.2.0-15 libk5crypto3=1.17-10 libkeyutils1=1.6.1-2 libkrb5-3=1.17-10 libkrb5support0=1.17-10 liblsan0=10.2.0-15 liblz4-1=1.9.2-2 liblzma5=5.2.4-1+b1 libmagic-mgc=1:5.38-5 libmagic1=1:5.38-5 libmount1=2.36-3+b1 libmpc3=1.2.0-1 libmpfr6=4.1.0-3 libnsl-dev=1.3.0-2 libnsl2=1.3.0-2 libnss-nis=3.1-4 libnss-nisplus=1.3-4 libpam-modules=1.3.1-5 libpam-modules-bin=1.3.1-5 libpam-runtime=1.3.1-5 libpam0g=1.3.1-5 libpcre2-8-0=10.34-7 libpcre3=2:8.39-13 libperl5.30=5.30.3-4 libpipeline1=1.5.3-1 libquadmath0=10.2.0-15 libseccomp2=2.4.4-1+b1 libselinux1=3.1-2+b1 libsigsegv2=2.12-2 libsmartcols1=2.36-3+b1 libssl1.1=1.1.1h-1 libstdc++-10-dev=10.2.0-15 libstdc++6=10.2.0-15 libsub-override-perl=0.09-2 libsystemd0=246.6-2 libtinfo6=6.2+20200918-1 libtirpc-common=1.2.6-3 libtirpc-dev=1.2.6-3 libtirpc3=1.2.6-3 libtool=2.4.6-14 libtsan0=10.2.0-15 libubsan1=10.2.0-15 libuchardet0=0.0.7-1 libudev1=246.6-2 libunistring2=0.9.10-4 libuuid1=2.36-3+b1 libxml2=2.9.10+dfsg-6.1 libzstd1=1.4.5+dfsg-4 linux-libc-dev=5.9.1-1 login=1:4.8.1-1 lsb-base=11.1.0 m4=1.4.18-4 make=4.3-4 man-db=2.9.3-2 mawk=1.3.4.20200120-2 ncurses-base=6.2+20200918-1 ncurses-bin=6.2+20200918-1 patch=2.7.6-6 perl=5.30.3-4 perl-base=5.30.3-4 perl-modules-5.30=5.30.3-4 po-debconf=1.0.21 sed=4.7-1 sensible-utils=0.0.12+nmu1 sysvinit-utils=2.96-5 tar=1.30+dfsg-7 util-linux=2.36-3+b1 xz-utils=5.2.4-1+b1 zlib1g=1:1.2.11.dfsg-2 --variant=apt --aptopt=Acquire::Check-Valid-Until "false" --aptopt=Acquire::http::Dl-Limit "1000"; --aptopt=Acquire::https::Dl-Limit "1000"; --aptopt=Acquire::Retries "5"; --aptopt=APT::Get::allow-downgrades "true"; --keyring=/usr/share/keyrings/ --essential-hook=chroot "$1" sh -c "apt-get --yes install fakeroot util-linux" --essential-hook=copy-in /usr/share/keyrings/debian-archive-bullseye-automatic.gpg /usr/share/keyrings/debian-archive-bullseye-security-automatic.gpg /usr/share/keyrings/debian-archive-bullseye-stable.gpg /usr/share/keyrings/debian-archive-buster-automatic.gpg /usr/share/keyrings/debian-archive-buster-security-automatic.gpg /usr/share/keyrings/debian-archive-buster-stable.gpg /usr/share/keyrings/debian-archive-keyring.gpg /usr/share/keyrings/debian-archive-removed-keys.gpg /usr/share/keyrings/debian-archive-stretch-automatic.gpg /usr/share/keyrings/debian-archive-stretch-security-automatic.gpg /usr/share/keyrings/debian-archive-stretch-stable.gpg /usr/share/keyrings/debian-ports-archive-keyring-removed.gpg /usr/share/keyrings/debian-ports-archive-keyring.gpg /usr/share/keyrings/debian-keyring.gpg /etc/apt/trusted.gpg.d/ --essential-hook=chroot "$1" sh -c "rm /etc/apt/sources.list && echo 'deb http://snapshot.notset.fr/archive/debian/20210814T212851Z/ bookworm main deb-src http://snapshot.notset.fr/archive/debian/20210814T212851Z/ bookworm main deb http://snapshot.notset.fr/archive/debian/20201028T033542Z/ unstable main' >> /etc/apt/sources.list && apt-get update" --customize-hook=chroot "$1" useradd --no-create-home -d /nonexistent -p "" builduser -s /bin/bash --customize-hook=chroot "$1" env sh -c "apt-get source --only-source -d golang-github-rogpeppe-go-internal=1.6.2-1 && mkdir -p /build/golang-github-rogpeppe-go-internal-WXBVFB && dpkg-source --no-check -x /*.dsc /build/golang-github-rogpeppe-go-internal-WXBVFB/golang-github-rogpeppe-go-internal-1.6.2 && chown -R builduser:builduser /build/golang-github-rogpeppe-go-internal-WXBVFB" --customize-hook=chroot "$1" env --unset=TMPDIR runuser builduser -c "cd /build/golang-github-rogpeppe-go-internal-WXBVFB/golang-github-rogpeppe-go-internal-1.6.2 && env DEB_BUILD_OPTIONS="parallel=4" LC_ALL="C.UTF-8" SOURCE_DATE_EPOCH="1603443936" dpkg-buildpackage -uc -a amd64 --build=all" --customize-hook=sync-out /build/golang-github-rogpeppe-go-internal-WXBVFB /tmp/golang-github-rogpeppe-go-internal-1.6.2-1e9rhnufu bullseye /dev/null deb http://snapshot.notset.fr/archive/debian/20201028T033542Z unstable main I: automatically chosen mode: root I: chroot architecture amd64 is equal to the host's architecture I: automatically chosen format: tar I: using /tmp/mmdebstrap.c0nhji1qn8 as tempdir I: running apt-get update... I: downloading packages with apt... I: extracting archives... I: installing essential packages... I: running --essential-hook in shell: sh -c 'chroot "$1" sh -c "apt-get --yes install fakeroot util-linux"' exec /tmp/mmdebstrap.c0nhji1qn8 Reading package lists... Building dependency tree... util-linux is already the newest version (2.36-3+b1). The following NEW packages will be installed: fakeroot libfakeroot 0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. Need to get 134 kB of archives. After this operation, 397 kB of additional disk space will be used. Get:1 http://snapshot.notset.fr/archive/debian/20201028T033542Z unstable/main amd64 libfakeroot amd64 1.25.3-1 [47.0 kB] Get:2 http://snapshot.notset.fr/archive/debian/20201028T033542Z unstable/main amd64 fakeroot amd64 1.25.3-1 [87.0 kB] debconf: delaying package configuration, since apt-utils is not installed Fetched 134 kB in 0s (1007 kB/s) Selecting previously unselected package libfakeroot:amd64. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 4664 files and directories currently installed.) Preparing to unpack .../libfakeroot_1.25.3-1_amd64.deb ... Unpacking libfakeroot:amd64 (1.25.3-1) ... Selecting previously unselected package fakeroot. Preparing to unpack .../fakeroot_1.25.3-1_amd64.deb ... Unpacking fakeroot (1.25.3-1) ... Setting up libfakeroot:amd64 (1.25.3-1) ... Setting up fakeroot (1.25.3-1) ... update-alternatives: using /usr/bin/fakeroot-sysv to provide /usr/bin/fakeroot (fakeroot) in auto mode Processing triggers for libc-bin (2.31-4) ... I: running special hook: copy-in /usr/share/keyrings/debian-archive-bullseye-automatic.gpg /usr/share/keyrings/debian-archive-bullseye-security-automatic.gpg /usr/share/keyrings/debian-archive-bullseye-stable.gpg /usr/share/keyrings/debian-archive-buster-automatic.gpg /usr/share/keyrings/debian-archive-buster-security-automatic.gpg /usr/share/keyrings/debian-archive-buster-stable.gpg /usr/share/keyrings/debian-archive-keyring.gpg /usr/share/keyrings/debian-archive-removed-keys.gpg /usr/share/keyrings/debian-archive-stretch-automatic.gpg /usr/share/keyrings/debian-archive-stretch-security-automatic.gpg /usr/share/keyrings/debian-archive-stretch-stable.gpg /usr/share/keyrings/debian-ports-archive-keyring-removed.gpg /usr/share/keyrings/debian-ports-archive-keyring.gpg /usr/share/keyrings/debian-keyring.gpg /etc/apt/trusted.gpg.d/ I: running --essential-hook in shell: sh -c 'chroot "$1" sh -c "rm /etc/apt/sources.list && echo 'deb http://snapshot.notset.fr/archive/debian/20210814T212851Z/ bookworm main deb-src http://snapshot.notset.fr/archive/debian/20210814T212851Z/ bookworm main deb http://snapshot.notset.fr/archive/debian/20201028T033542Z/ unstable main' >> /etc/apt/sources.list && apt-get update"' exec /tmp/mmdebstrap.c0nhji1qn8 Get:1 http://snapshot.notset.fr/archive/debian/20210814T212851Z bookworm InRelease [81.6 kB] Hit:2 http://snapshot.notset.fr/archive/debian/20201028T033542Z unstable InRelease Ign:3 http://snapshot.notset.fr/archive/debian/20210814T212851Z bookworm/main Sources Ign:4 http://snapshot.notset.fr/archive/debian/20210814T212851Z bookworm/main amd64 Packages Ign:3 http://snapshot.notset.fr/archive/debian/20210814T212851Z bookworm/main Sources Ign:4 http://snapshot.notset.fr/archive/debian/20210814T212851Z bookworm/main amd64 Packages Ign:3 http://snapshot.notset.fr/archive/debian/20210814T212851Z bookworm/main Sources Ign:4 http://snapshot.notset.fr/archive/debian/20210814T212851Z bookworm/main amd64 Packages Get:3 http://snapshot.notset.fr/archive/debian/20210814T212851Z bookworm/main Sources [11.4 MB] Get:4 http://snapshot.notset.fr/archive/debian/20210814T212851Z bookworm/main amd64 Packages [11.1 MB] Fetched 22.6 MB in 22s (1023 kB/s) Reading package lists... I: installing remaining packages inside the chroot... I: running --customize-hook in shell: sh -c 'chroot "$1" useradd --no-create-home -d /nonexistent -p "" builduser -s /bin/bash' exec /tmp/mmdebstrap.c0nhji1qn8 I: running --customize-hook in shell: sh -c 'chroot "$1" env sh -c "apt-get source --only-source -d golang-github-rogpeppe-go-internal=1.6.2-1 && mkdir -p /build/golang-github-rogpeppe-go-internal-WXBVFB && dpkg-source --no-check -x /*.dsc /build/golang-github-rogpeppe-go-internal-WXBVFB/golang-github-rogpeppe-go-internal-1.6.2 && chown -R builduser:builduser /build/golang-github-rogpeppe-go-internal-WXBVFB"' exec /tmp/mmdebstrap.c0nhji1qn8 Reading package lists... NOTICE: 'golang-github-rogpeppe-go-internal' packaging is maintained in the 'Git' version control system at: https://salsa.debian.org/go-team/packages/golang-github-rogpeppe-go-internal.git Please use: git clone https://salsa.debian.org/go-team/packages/golang-github-rogpeppe-go-internal.git to retrieve the latest (possibly unreleased) updates to the package. Need to get 129 kB of source archives. Get:1 http://snapshot.notset.fr/archive/debian/20210814T212851Z bookworm/main golang-github-rogpeppe-go-internal 1.6.2-1 (dsc) [2440 B] Get:2 http://snapshot.notset.fr/archive/debian/20210814T212851Z bookworm/main golang-github-rogpeppe-go-internal 1.6.2-1 (tar) [123 kB] Get:3 http://snapshot.notset.fr/archive/debian/20210814T212851Z bookworm/main golang-github-rogpeppe-go-internal 1.6.2-1 (diff) [3316 B] Fetched 129 kB in 0s (389 kB/s) Download complete and in download only mode W: Download is performed unsandboxed as root as file 'golang-github-rogpeppe-go-internal_1.6.2-1.dsc' couldn't be accessed by user '_apt'. - pkgAcquire::Run (13: Permission denied) dpkg-source: info: extracting golang-github-rogpeppe-go-internal in /build/golang-github-rogpeppe-go-internal-WXBVFB/golang-github-rogpeppe-go-internal-1.6.2 dpkg-source: info: unpacking golang-github-rogpeppe-go-internal_1.6.2.orig.tar.gz dpkg-source: info: unpacking golang-github-rogpeppe-go-internal_1.6.2-1.debian.tar.xz I: running --customize-hook in shell: sh -c 'chroot "$1" env --unset=TMPDIR runuser builduser -c "cd /build/golang-github-rogpeppe-go-internal-WXBVFB/golang-github-rogpeppe-go-internal-1.6.2 && env DEB_BUILD_OPTIONS="parallel=4" LC_ALL="C.UTF-8" SOURCE_DATE_EPOCH="1603443936" dpkg-buildpackage -uc -a amd64 --build=all"' exec /tmp/mmdebstrap.c0nhji1qn8 dpkg-buildpackage: info: source package golang-github-rogpeppe-go-internal dpkg-buildpackage: info: source version 1.6.2-1 dpkg-buildpackage: info: source distribution unstable dpkg-buildpackage: info: source changed by Anthony Fok dpkg-source --before-build . debian/rules clean dh clean --buildsystem=golang --with golang dh_auto_clean -O--buildsystem=golang dh_autoreconf_clean -O--buildsystem=golang dh_clean -O--buildsystem=golang debian/rules binary-indep dh binary-indep --buildsystem=golang --with golang dh_update_autotools_config -i -O--buildsystem=golang dh_autoreconf -i -O--buildsystem=golang dh_auto_configure -i -O--buildsystem=golang dh_auto_build -i -O--buildsystem=golang cd obj-x86_64-linux-gnu && go install -trimpath -v -p 4 github.com/rogpeppe/go-internal/cache github.com/rogpeppe/go-internal/cmd/testscript github.com/rogpeppe/go-internal/cmd/txtar-addmod github.com/rogpeppe/go-internal/cmd/txtar-c github.com/rogpeppe/go-internal/cmd/txtar-goproxy github.com/rogpeppe/go-internal/cmd/txtar-x github.com/rogpeppe/go-internal/dirhash github.com/rogpeppe/go-internal/fmtsort github.com/rogpeppe/go-internal/goproxytest github.com/rogpeppe/go-internal/gotooltest github.com/rogpeppe/go-internal/imports github.com/rogpeppe/go-internal/internal/os/execpath github.com/rogpeppe/go-internal/internal/syscall/windows github.com/rogpeppe/go-internal/internal/syscall/windows/registry github.com/rogpeppe/go-internal/internal/syscall/windows/sysdll github.com/rogpeppe/go-internal/internal/textutil github.com/rogpeppe/go-internal/lockedfile github.com/rogpeppe/go-internal/lockedfile/internal/filelock github.com/rogpeppe/go-internal/modfile github.com/rogpeppe/go-internal/module github.com/rogpeppe/go-internal/par github.com/rogpeppe/go-internal/renameio github.com/rogpeppe/go-internal/semver github.com/rogpeppe/go-internal/testenv github.com/rogpeppe/go-internal/testscript github.com/rogpeppe/go-internal/txtar runtime/internal/sys runtime/internal/atomic internal/unsafeheader internal/cpu internal/race runtime/internal/math sync/atomic unicode unicode/utf8 math/bits internal/bytealg internal/testlog encoding unicode/utf16 math github.com/rogpeppe/go-internal/semver internal/nettrace runtime runtime/cgo container/list crypto/internal/subtle crypto/subtle vendor/golang.org/x/crypto/cryptobyte/asn1 vendor/golang.org/x/crypto/internal/subtle internal/goversion github.com/rogpeppe/go-internal/internal/syscall/windows github.com/rogpeppe/go-internal/internal/syscall/windows/registry github.com/rogpeppe/go-internal/internal/syscall/windows/sysdll internal/reflectlite gopkg.in/errgo.v2/errors sync internal/singleflight math/rand github.com/rogpeppe/go-internal/par errors sort io internal/oserror strconv syscall vendor/golang.org/x/net/dns/dnsmessage bytes hash crypto reflect strings hash/crc32 crypto/internal/randutil crypto/hmac bufio internal/syscall/unix time internal/syscall/execenv path crypto/rc4 vendor/golang.org/x/crypto/hkdf vendor/golang.org/x/text/transform regexp/syntax context internal/poll os regexp internal/fmtsort encoding/binary github.com/rogpeppe/go-internal/fmtsort crypto/sha256 encoding/base64 fmt path/filepath net io/ioutil crypto/cipher crypto/sha512 crypto/aes encoding/hex flag github.com/rogpeppe/go-internal/cache compress/flate encoding/json github.com/rogpeppe/go-internal/module github.com/rogpeppe/go-internal/txtar archive/zip log compress/gzip math/big crypto/des crypto/ed25519/internal/edwards25519 crypto/md5 crypto/sha1 encoding/pem net/url vendor/golang.org/x/crypto/chacha20 vendor/golang.org/x/crypto/poly1305 vendor/golang.org/x/sys/cpu vendor/golang.org/x/crypto/curve25519 crypto/rand crypto/elliptic encoding/asn1 crypto/ed25519 crypto/rsa crypto/dsa vendor/golang.org/x/crypto/chacha20poly1305 vendor/golang.org/x/text/unicode/bidi vendor/golang.org/x/crypto/cryptobyte crypto/x509/pkix vendor/golang.org/x/text/secure/bidirule crypto/ecdsa vendor/golang.org/x/text/unicode/norm vendor/golang.org/x/net/http2/hpack mime mime/quotedprintable net/http/internal github.com/rogpeppe/go-internal/imports os/exec crypto/x509 net/textproto vendor/golang.org/x/net/idna github.com/rogpeppe/go-internal/internal/os/execpath github.com/rogpeppe/go-internal/internal/textutil mime/multipart runtime/debug vendor/golang.org/x/net/http/httpguts vendor/golang.org/x/net/http/httpproxy runtime/trace gopkg.in/errgo.v2/fmt/errors go/token crypto/tls testing internal/lazyregexp text/template/parse go/scanner go/ast github.com/rogpeppe/go-internal/testenv github.com/rogpeppe/go-internal/testscript text/template go/parser internal/goroot github.com/rogpeppe/go-internal/cmd/txtar-addmod github.com/rogpeppe/go-internal/cmd/txtar-c go/doc net/http/httptrace net/http github.com/rogpeppe/go-internal/cmd/txtar-x go/build github.com/rogpeppe/go-internal/dirhash github.com/rogpeppe/go-internal/lockedfile/internal/filelock github.com/rogpeppe/go-internal/lockedfile github.com/rogpeppe/go-internal/gotooltest github.com/rogpeppe/go-internal/modfile github.com/rogpeppe/go-internal/renameio github.com/rogpeppe/go-internal/goproxytest github.com/rogpeppe/go-internal/cmd/txtar-goproxy github.com/rogpeppe/go-internal/cmd/testscript debian/rules override_dh_auto_test make[1]: Entering directory '/build/golang-github-rogpeppe-go-internal-WXBVFB/golang-github-rogpeppe-go-internal-1.6.2' GOPROXY="" dh_auto_test cd obj-x86_64-linux-gnu && go test -vet=off -v -p 4 github.com/rogpeppe/go-internal/cache github.com/rogpeppe/go-internal/cmd/testscript github.com/rogpeppe/go-internal/cmd/txtar-addmod github.com/rogpeppe/go-internal/cmd/txtar-c github.com/rogpeppe/go-internal/cmd/txtar-goproxy github.com/rogpeppe/go-internal/cmd/txtar-x github.com/rogpeppe/go-internal/dirhash github.com/rogpeppe/go-internal/fmtsort github.com/rogpeppe/go-internal/goproxytest github.com/rogpeppe/go-internal/gotooltest github.com/rogpeppe/go-internal/imports github.com/rogpeppe/go-internal/internal/os/execpath github.com/rogpeppe/go-internal/internal/syscall/windows github.com/rogpeppe/go-internal/internal/syscall/windows/registry github.com/rogpeppe/go-internal/internal/syscall/windows/sysdll github.com/rogpeppe/go-internal/internal/textutil github.com/rogpeppe/go-internal/lockedfile github.com/rogpeppe/go-internal/lockedfile/internal/filelock github.com/rogpeppe/go-internal/modfile github.com/rogpeppe/go-internal/module github.com/rogpeppe/go-internal/par github.com/rogpeppe/go-internal/renameio github.com/rogpeppe/go-internal/semver github.com/rogpeppe/go-internal/testenv github.com/rogpeppe/go-internal/testscript github.com/rogpeppe/go-internal/txtar === RUN TestBasic --- PASS: TestBasic (1.30s) === RUN TestGrowth --- PASS: TestGrowth (63.70s) === RUN TestVerifyPanic cache_test.go:139: go: internal cache error: cache verify failed: id=0100000000000000000000000000000000000000000000000000000000000000 changed:<<< >>> old: cb8379ac2098aa165029e3938a51da0bcecfc008fd6795f401178647f96c5b34 3 new: ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad 3 --- PASS: TestVerifyPanic (4.10s) === RUN TestCacheLog --- PASS: TestCacheLog (1.92s) === RUN TestCacheTrim --- PASS: TestCacheTrim (1.91s) === RUN TestDefaultDir --- PASS: TestDefaultDir (0.00s) === RUN TestHash --- PASS: TestHash (0.00s) === RUN TestHashFile --- PASS: TestHashFile (0.00s) PASS ok github.com/rogpeppe/go-internal/cache 74.489s === RUN TestScripts === RUN TestScripts/env_var_no_go === PAUSE TestScripts/env_var_no_go === RUN TestScripts/env_var_with_go === PAUSE TestScripts/env_var_with_go === RUN TestScripts/error === PAUSE TestScripts/error === RUN TestScripts/help === PAUSE TestScripts/help === RUN TestScripts/nogo === PAUSE TestScripts/nogo === RUN TestScripts/noproxy === PAUSE TestScripts/noproxy === RUN TestScripts/simple === PAUSE TestScripts/simple === RUN TestScripts/skip === PAUSE TestScripts/skip === RUN TestScripts/work === PAUSE TestScripts/work === CONT TestScripts/env_var_no_go === CONT TestScripts/noproxy === CONT TestScripts/error === CONT TestScripts/env_var_with_go === CONT TestScripts/simple === CONT TestScripts/work === CONT TestScripts/help === CONT TestScripts/skip === CONT TestScripts/nogo testscript.go:382: WORK=$WORK PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/sbin:/usr/bin:/sbin:/bin HOME=/no-home TMPDIR=$WORK/tmp devnull=/dev/null /=/ :=: exe= GOPATH=$WORK/gopath CCACHE_DISABLE=1 GOARCH=amd64 GOOS=linux GOROOT=/usr/lib/go-1.15 GOCACHE=/build/golang-github-rogpeppe-go-internal-WXBVFB/golang-github-rogpeppe-go-internal-1.6.2/obj-x86_64-linux-gnu/go-build GOPROXY=https://proxy.golang.org,direct goversion=1.15 GOINTERNALMODPATH=. GONOSUMDB=* # should support skip (1.803s) > unquote file.txt > env PATH= > ! testscript -v file.txt [stdout] WORK=$WORK PATH= HOME=/no-home TMPDIR=$WORK/tmp devnull=/dev/null /=/ :=: exe= > go env FAIL: $WORK/tmp/testscript858432384/0/script.txt:1: unknown command "go" [stderr] error running file.txt in $WORK/tmp/testscript858432384/0 [exit status 1] > stdout 'unknown command "go"' > stderr 'error running file.txt in' PASS === CONT TestScripts/help testscript.go:382: WORK=$WORK PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/sbin:/usr/bin:/sbin:/bin HOME=/no-home TMPDIR=$WORK/tmp devnull=/dev/null /=/ :=: exe= GOPATH=$WORK/gopath CCACHE_DISABLE=1 GOARCH=amd64 GOOS=linux GOROOT=/usr/lib/go-1.15 GOCACHE=/build/golang-github-rogpeppe-go-internal-WXBVFB/golang-github-rogpeppe-go-internal-1.6.2/obj-x86_64-linux-gnu/go-build GOPROXY=https://proxy.golang.org,direct goversion=1.15 GOINTERNALMODPATH=. GONOSUMDB=* # Simply sanity check on help output (2.206s) > ! testscript -help [stderr] The testscript command runs github.com/rogpeppe/go-internal/testscript scripts in a fresh temporary work directory tree. Usage: testscript [-v] [-e VAR]... files... The testscript command is designed to make it easy to create self-contained reproductions of command sequences. Each file is opened as a script and run as described in the documentation for github.com/rogpeppe/go-internal/testscript. The special filename "-" is interpreted as the standard input. As a special case, supporting files/directories in the .gomodproxy subdirectory will be served via a github.com/rogpeppe/go-internal/goproxytest server which is available to each script via the GOPROXY environment variable. The contents of the .gomodproxy subdirectory are not available to the script except via the proxy server. See the documentation for github.com/rogpeppe/go-internal/goproxytest for details on the format of these files/directories. Environment variables can be passed through to each script with the -e flag, where VAR is the name of the variable. Variables override testscript-defined values, with the exception of WORK which cannot be overridden. The -e flag can appear multiple times to specify multiple variables. Examples ======== The following example, fruit.txt, shows a simple reproduction that includes .gomodproxy supporting files: go get -m fruit.com go list fruit.com/... stdout 'fruit.com/fruit' -- go.mod -- module mod -- .gomodproxy/fruit.com_v1.0.0/.mod -- module fruit.com -- .gomodproxy/fruit.com_v1.0.0/.info -- {"Version":"v1.0.0","Time":"2018-10-22T18:45:39Z"} -- .gomodproxy/fruit.com_v1.0.0/fruit/fruit.go -- package fruit const Name = "Apple" Running testscript -v fruit.txt we get: ... > go get -m fruit.com [stderr] go: finding fruit.com v1.0.0 > go list fruit.com/... [stdout] fruit.com/fruit [stderr] go: downloading fruit.com v1.0.0 > stdout 'fruit.com/fruit' PASS The following example, goimports.txt, shows a simple reproduction involving goimports: go install golang.org/x/tools/cmd/goimports # check goimports help information exec goimports -d main.go stdout 'import "math"' -- go.mod -- module mod require golang.org/x/tools v0.0.0-20181221235234-d00ac6d27372 -- main.go -- package mod const Pi = math.Pi Running testscript -v goimports.txt we get: ... > go install golang.org/x/tools/cmd/goimports [stderr] go: finding golang.org/x/tools v0.0.0-20181221235234-d00ac6d27372 go: downloading golang.org/x/tools v0.0.0-20181221235234-d00ac6d27372 # check goimports help information (0.015s) > exec goimports -d main.go [stdout] diff -u main.go.orig main.go --- main.go.orig 2019-01-08 16:03:35.861907738 +0000 +++ main.go 2019-01-08 16:03:35.861907738 +0000 @@ -1,3 +1,5 @@ package mod +import "math" + const Pi = math.Pi > stdout 'import "math"' PASS [exit status 2] > ! stdout .+ > stderr 'The testscript command' > stderr 'Examples' PASS === CONT TestScripts/work testscript.go:382: WORK=$WORK PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/sbin:/usr/bin:/sbin:/bin HOME=/no-home TMPDIR=$WORK/tmp devnull=/dev/null /=/ :=: exe= GOPATH=$WORK/gopath CCACHE_DISABLE=1 GOARCH=amd64 GOOS=linux GOROOT=/usr/lib/go-1.15 GOCACHE=/build/golang-github-rogpeppe-go-internal-WXBVFB/golang-github-rogpeppe-go-internal-1.6.2/obj-x86_64-linux-gnu/go-build GOPROXY=https://proxy.golang.org,direct goversion=1.15 GOINTERNALMODPATH=. GONOSUMDB=* # should support skip (13.000s) > unquote file.txt > testscript -v -work file.txt [stdout] WORK=$WORK PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/sbin:/usr/bin:/sbin:/bin HOME=/no-home TMPDIR=$WORK/tmp devnull=/dev/null /=/ :=: exe= GOPATH=$WORK/gopath CCACHE_DISABLE=1 GOARCH=amd64 GOOS=linux GOROOT=/usr/lib/go-1.15 GOCACHE=/build/golang-github-rogpeppe-go-internal-WXBVFB/golang-github-rogpeppe-go-internal-1.6.2/obj-x86_64-linux-gnu/go-build GOPROXY=https://proxy.golang.org,direct goversion=1.15 > exec true PASS [stderr] temporary work directory: $WORK/tmp/testscript816035291 > stderr '\Qtemporary work directory: '$WORK'\E[/\\]tmp[/\\]' PASS === CONT TestScripts/skip testscript.go:382: WORK=$WORK PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/sbin:/usr/bin:/sbin:/bin HOME=/no-home TMPDIR=$WORK/tmp devnull=/dev/null /=/ :=: exe= GOPATH=$WORK/gopath CCACHE_DISABLE=1 GOARCH=amd64 GOOS=linux GOROOT=/usr/lib/go-1.15 GOCACHE=/build/golang-github-rogpeppe-go-internal-WXBVFB/golang-github-rogpeppe-go-internal-1.6.2/obj-x86_64-linux-gnu/go-build GOPROXY=https://proxy.golang.org,direct goversion=1.15 GOINTERNALMODPATH=. GONOSUMDB=* # should support skip (15.218s) > unquote file.txt > testscript -v file.txt [stdout] WORK=$WORK PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/sbin:/usr/bin:/sbin:/bin HOME=/no-home TMPDIR=$WORK/tmp devnull=/dev/null /=/ :=: exe= GOPATH=$WORK/gopath CCACHE_DISABLE=1 GOARCH=amd64 GOOS=linux GOROOT=/usr/lib/go-1.15 GOCACHE=/build/golang-github-rogpeppe-go-internal-WXBVFB/golang-github-rogpeppe-go-internal-1.6.2/obj-x86_64-linux-gnu/go-build GOPROXY=https://proxy.golang.org,direct goversion=1.15 > go version [stdout] go version go1.15.2 linux/amd64 > skip > stdout 'go version' > ! stderr .+ PASS === CONT TestScripts/simple testscript.go:382: WORK=$WORK PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/sbin:/usr/bin:/sbin:/bin HOME=/no-home TMPDIR=$WORK/tmp devnull=/dev/null /=/ :=: exe= GOPATH=$WORK/gopath CCACHE_DISABLE=1 GOARCH=amd64 GOOS=linux GOROOT=/usr/lib/go-1.15 GOCACHE=/build/golang-github-rogpeppe-go-internal-WXBVFB/golang-github-rogpeppe-go-internal-1.6.2/obj-x86_64-linux-gnu/go-build GOPROXY=https://proxy.golang.org,direct goversion=1.15 GOINTERNALMODPATH=. GONOSUMDB=* # With .gomodproxy supporting files, any GOPROXY from the # environment should be overridden by the test proxy. (17.803s) > env GOPROXY=0.1.2.3 > unquote file.txt > testscript -v file.txt [stdout] WORK=$WORK PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/sbin:/usr/bin:/sbin:/bin HOME=/no-home TMPDIR=$WORK/tmp devnull=/dev/null /=/ :=: exe= GOPATH=$WORK/gopath CCACHE_DISABLE=1 GOARCH=amd64 GOOS=linux GOROOT=/usr/lib/go-1.15 GOCACHE=/build/golang-github-rogpeppe-go-internal-WXBVFB/golang-github-rogpeppe-go-internal-1.6.2/obj-x86_64-linux-gnu/go-build GOPROXY=http://127.0.0.1:33405/mod goversion=1.15 GONOSUMDB=* > go list -m [stdout] example.com/mod > stdout 'example.com/mod' > go list fruit.com/... [stdout] fruit.com/coretest fruit.com/fruit [stderr] go: downloading fruit.com v1.0.0 > stdout 'fruit.com/fruit' > stdout 'fruit.com/coretest' PASS > stdout 'example.com/mod' > ! stderr .+ PASS === CONT TestScripts/error testscript.go:382: WORK=$WORK PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/sbin:/usr/bin:/sbin:/bin HOME=/no-home TMPDIR=$WORK/tmp devnull=/dev/null /=/ :=: exe= GOPATH=$WORK/gopath CCACHE_DISABLE=1 GOARCH=amd64 GOOS=linux GOROOT=/usr/lib/go-1.15 GOCACHE=/build/golang-github-rogpeppe-go-internal-WXBVFB/golang-github-rogpeppe-go-internal-1.6.2/obj-x86_64-linux-gnu/go-build GOPROXY=https://proxy.golang.org,direct goversion=1.15 GOINTERNALMODPATH=. GONOSUMDB=* # should support skip (0.101s) > unquote file.txt # stdin (9.901s) > stdin file.txt > ! testscript -v [stdout] WORK=$WORK PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/sbin:/usr/bin:/sbin:/bin HOME=/no-home TMPDIR=$WORK/tmp devnull=/dev/null /=/ :=: exe= GOPATH=$WORK/gopath CCACHE_DISABLE=1 GOARCH=amd64 GOOS=linux GOROOT=/usr/lib/go-1.15 GOCACHE=/build/golang-github-rogpeppe-go-internal-WXBVFB/golang-github-rogpeppe-go-internal-1.6.2/obj-x86_64-linux-gnu/go-build GOPROXY=https://proxy.golang.org,direct goversion=1.15 > exec false [exit status 1] FAIL: $WORK/tmp/testscript559881161/0/script.txt:1: unexpected command failure [stderr] error running in $WORK/tmp/testscript559881161/0 [exit status 1] > stderr 'error running in' # file-based (11.201s) > ! testscript -v file.txt [stdout] WORK=$WORK PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/sbin:/usr/bin:/sbin:/bin HOME=/no-home TMPDIR=$WORK/tmp devnull=/dev/null /=/ :=: exe= GOPATH=$WORK/gopath CCACHE_DISABLE=1 GOARCH=amd64 GOOS=linux GOROOT=/usr/lib/go-1.15 GOCACHE=/build/golang-github-rogpeppe-go-internal-WXBVFB/golang-github-rogpeppe-go-internal-1.6.2/obj-x86_64-linux-gnu/go-build GOPROXY=https://proxy.golang.org,direct goversion=1.15 > exec false [exit status 1] FAIL: $WORK/tmp/testscript250237195/0/script.txt:1: unexpected command failure [stderr] error running file.txt in $WORK/tmp/testscript250237195/0 [exit status 1] > stderr 'error running file.txt in' PASS === CONT TestScripts/env_var_no_go testscript.go:382: WORK=$WORK PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/sbin:/usr/bin:/sbin:/bin HOME=/no-home TMPDIR=$WORK/tmp devnull=/dev/null /=/ :=: exe= GOPATH=$WORK/gopath CCACHE_DISABLE=1 GOARCH=amd64 GOOS=linux GOROOT=/usr/lib/go-1.15 GOCACHE=/build/golang-github-rogpeppe-go-internal-WXBVFB/golang-github-rogpeppe-go-internal-1.6.2/obj-x86_64-linux-gnu/go-build GOPROXY=https://proxy.golang.org,direct goversion=1.15 GOINTERNALMODPATH=. GONOSUMDB=* # Test passing environment variables to scripts with no go command on PATH # # This is the counterpart to env_var_with_go.txt (0.199s) > unquote noproxy.txt > unquote withproxy.txt > dropgofrompath > env BANANA=banana > env GOPATH=$WORK/ourgopath > env GOPROXY= # no GOPROXY, no pass-through, no proxy (1.501s) > testscript -v noproxy.txt [stdout] WORK=$WORK PATH=/usr/sbin:/sbin:/bin:/usr/sbin:/sbin:/bin HOME=/no-home TMPDIR=$WORK/tmp devnull=/dev/null /=/ :=: exe= > env BANANA BANANA= > env GOPATH GOPATH= > env GOPROXY GOPROXY= PASS > stdout ^BANANA=$ > stdout ^GOPATH=$ > stdout ^GOPROXY=$ > ! stderr .+ # no GOPROXY, no pass-through, with proxy (2.099s) > testscript -v withproxy.txt [stdout] WORK=$WORK PATH=/usr/sbin:/sbin:/bin:/usr/sbin:/sbin:/bin HOME=/no-home TMPDIR=$WORK/tmp devnull=/dev/null /=/ :=: exe= GOPROXY=http://127.0.0.1:40327/mod GONOSUMDB=* > env BANANA BANANA= > env GOPATH GOPATH= > env GOPROXY GOPROXY=http://127.0.0.1:40327/mod PASS > stdout ^BANANA=$ > stdout ^GOPATH=$ > stdout ^GOPROXY=http://.*/mod$ > ! stderr .+ # no GOPROXY, with pass-through, no proxy (1.425s) > testscript -v -e BANANA -e GOPATH -e GOPROXY noproxy.txt [stdout] WORK=$WORK PATH=/usr/sbin:/sbin:/bin:/usr/sbin:/sbin:/bin HOME=/no-home TMPDIR=$WORK/tmp devnull=/dev/null /=/ :=: exe= BANANA=banana GOPATH=$WORK/ourgopath GOPROXY= > env BANANA BANANA=banana > env GOPATH GOPATH=$WORK/ourgopath > env GOPROXY GOPROXY= PASS > stdout ^BANANA=banana$ > stdout ^GOPATH=${WORK@R}[/\\]ourgopath$ > stdout ^GOPROXY=$ > ! stderr .+ # no GOPROXY, with pass-through, with proxy (4.675s) > testscript -v -e BANANA -e GOPATH -e GOPROXY withproxy.txt [stdout] WORK=$WORK PATH=/usr/sbin:/sbin:/bin:/usr/sbin:/sbin:/bin HOME=/no-home TMPDIR=$WORK/tmp devnull=/dev/null /=/ :=: exe= GOPROXY= GONOSUMDB=* BANANA=banana GOPATH=$WORK/ourgopath > env BANANA BANANA=banana > env GOPATH GOPATH=$WORK/ourgopath > env GOPROXY GOPROXY= PASS > stdout ^BANANA=banana$ > stdout ^GOPATH=${WORK@R}[/\\]ourgopath$ > stdout ^GOPROXY=$ > ! stderr .+ > setfilegoproxy $WORK/proxy # with GOPROXY, no pass-through, no proxy (4.124s) > testscript -v noproxy.txt [stdout] WORK=$WORK PATH=/usr/sbin:/sbin:/bin:/usr/sbin:/sbin:/bin HOME=/no-home TMPDIR=$WORK/tmp devnull=/dev/null /=/ :=: exe= > env BANANA BANANA= > env GOPATH GOPATH= > env GOPROXY GOPROXY= PASS > stdout ^BANANA=$ > stdout ^GOPATH=$ > stdout ^GOPROXY=$ > ! stderr .+ # with GOPROXY, no pass-through, with proxy (4.376s) > testscript -v withproxy.txt [stdout] WORK=$WORK PATH=/usr/sbin:/sbin:/bin:/usr/sbin:/sbin:/bin HOME=/no-home TMPDIR=$WORK/tmp devnull=/dev/null /=/ :=: exe= GOPROXY=http://127.0.0.1:46799/mod GONOSUMDB=* > env BANANA BANANA= > env GOPATH GOPATH= > env GOPROXY GOPROXY=http://127.0.0.1:46799/mod PASS > stdout ^BANANA=$ > stdout ^GOPATH=$ > stdout ^GOPROXY=http://.*/mod$ > ! stderr .+ # with GOPROXY, with pass-through, no proxy (1.508s) > testscript -v -e BANANA -e GOPATH -e GOPROXY noproxy.txt [stdout] WORK=$WORK PATH=/usr/sbin:/sbin:/bin:/usr/sbin:/sbin:/bin HOME=/no-home TMPDIR=$WORK/tmp devnull=/dev/null /=/ :=: exe= BANANA=banana GOPATH=$WORK/ourgopath GOPROXY=file://$WORK/proxy > env BANANA BANANA=banana > env GOPATH GOPATH=$WORK/ourgopath > env GOPROXY GOPROXY=file://$WORK/proxy PASS > stdout ^BANANA=banana$ > stdout ^GOPATH=${WORK@R}[/\\]ourgopath$ > stdout ^GOPROXY=$GOPROXY$ > ! stderr .+ # with GOPROXY, with pass-through, with proxy (2.192s) > testscript -v -e BANANA -e GOPATH -e GOPROXY withproxy.txt [stdout] WORK=$WORK PATH=/usr/sbin:/sbin:/bin:/usr/sbin:/sbin:/bin HOME=/no-home TMPDIR=$WORK/tmp devnull=/dev/null /=/ :=: exe= GOPROXY=file://$WORK/proxy GONOSUMDB=* BANANA=banana GOPATH=$WORK/ourgopath > env BANANA BANANA=banana > env GOPATH GOPATH=$WORK/ourgopath > env GOPROXY GOPROXY=file://$WORK/proxy PASS > stdout ^BANANA=banana$ > stdout ^GOPATH=${WORK@R}[/\\]ourgopath$ > stdout ^GOPROXY=$GOPROXY$ > ! stderr .+ PASS === CONT TestScripts/noproxy testscript.go:382: WORK=$WORK PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/sbin:/usr/bin:/sbin:/bin HOME=/no-home TMPDIR=$WORK/tmp devnull=/dev/null /=/ :=: exe= GOPATH=$WORK/gopath CCACHE_DISABLE=1 GOARCH=amd64 GOOS=linux GOROOT=/usr/lib/go-1.15 GOCACHE=/build/golang-github-rogpeppe-go-internal-WXBVFB/golang-github-rogpeppe-go-internal-1.6.2/obj-x86_64-linux-gnu/go-build GOPROXY=https://proxy.golang.org,direct goversion=1.15 GOINTERNALMODPATH=. GONOSUMDB=* # With no .gomodproxy supporting files, we use the GOPROXY from # the environment. (25.696s) > env GOPROXY=0.1.2.3 > unquote file.txt > testscript -v file.txt [stdout] WORK=$WORK PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/sbin:/usr/bin:/sbin:/bin HOME=/no-home TMPDIR=$WORK/tmp devnull=/dev/null /=/ :=: exe= GOPATH=$WORK/gopath CCACHE_DISABLE=1 GOARCH=amd64 GOOS=linux GOROOT=/usr/lib/go-1.15 GOCACHE=/build/golang-github-rogpeppe-go-internal-WXBVFB/golang-github-rogpeppe-go-internal-1.6.2/obj-x86_64-linux-gnu/go-build GOPROXY=0.1.2.3 goversion=1.15 > go env [stdout] GO111MODULE="" GOARCH="amd64" GOBIN="" GOCACHE="/build/golang-github-rogpeppe-go-internal-WXBVFB/golang-github-rogpeppe-go-internal-1.6.2/obj-x86_64-linux-gnu/go-build" GOENV="/no-home/.config/go/env" GOEXE="" GOFLAGS="" GOHOSTARCH="amd64" GOHOSTOS="linux" GOINSECURE="" GOMODCACHE="$WORK/gopath/pkg/mod" GONOPROXY="" GONOSUMDB="" GOOS="linux" GOPATH="$WORK/gopath" GOPRIVATE="" GOPROXY="0.1.2.3" GOROOT="/usr/lib/go-1.15" GOSUMDB="sum.golang.org" GOTMPDIR="" GOTOOLDIR="/usr/lib/go-1.15/pkg/tool/linux_amd64" GCCGO="gccgo" AR="ar" CC="gcc" CXX="g++" CGO_ENABLED="1" GOMOD="" CGO_CFLAGS="-g -O2" CGO_CPPFLAGS="" CGO_CXXFLAGS="-g -O2" CGO_FFLAGS="-g -O2" CGO_LDFLAGS="-g -O2" PKG_CONFIG="pkg-config" GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=$WORK/tmp/go-build254183665=/tmp/go-build -gno-record-gcc-switches" > [!windows] stdout '^GOPROXY="0.1.2.3"$' > [windows] stdout '^set GOPROXY=0.1.2.3$' PASS PASS === CONT TestScripts/env_var_with_go testscript.go:382: WORK=$WORK PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/sbin:/usr/bin:/sbin:/bin HOME=/no-home TMPDIR=$WORK/tmp devnull=/dev/null /=/ :=: exe= GOPATH=$WORK/gopath CCACHE_DISABLE=1 GOARCH=amd64 GOOS=linux GOROOT=/usr/lib/go-1.15 GOCACHE=/build/golang-github-rogpeppe-go-internal-WXBVFB/golang-github-rogpeppe-go-internal-1.6.2/obj-x86_64-linux-gnu/go-build GOPROXY=https://proxy.golang.org,direct goversion=1.15 GOINTERNALMODPATH=. GONOSUMDB=* # Test passing environment variables to scripts with the go command on PATH # # Below where we check the output of testscript -v, we have to match against # the string literal $WORK because testscript rewrites the actual directory # to $WORK. Hence we don't want to expand this script's $WORK in such a comparison. # # This is the counterpart to env_var_no_go.txt (0.001s) > unquote noproxy.txt > unquote withproxy.txt # Baseline (7.971s) > testscript -v noproxy.txt [stdout] WORK=$WORK PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/sbin:/usr/bin:/sbin:/bin HOME=/no-home TMPDIR=$WORK/tmp devnull=/dev/null /=/ :=: exe= GOPATH=$WORK/gopath CCACHE_DISABLE=1 GOARCH=amd64 GOOS=linux GOROOT=/usr/lib/go-1.15 GOCACHE=/build/golang-github-rogpeppe-go-internal-WXBVFB/golang-github-rogpeppe-go-internal-1.6.2/obj-x86_64-linux-gnu/go-build GOPROXY=https://proxy.golang.org,direct goversion=1.15 > env BANANA BANANA= > env GOPATH GOPATH=$WORK/gopath > env GOPROXY GOPROXY=https://proxy.golang.org,direct PASS > stdout ^BANANA=$ > stdout '^GOPATH=\$WORK[/\\]gopath'$ > [!go1.13] stdout ^GOPROXY=$ > [go1.13] stdout ^GOPROXY=https://proxy.golang.org,direct$ > ! stderr .+ > env BANANA=banana > env GOPATH=$WORK/ourgopath > env GOPROXY= # no GOPROXY, no pass-through, no proxy (10.303s) > testscript -v noproxy.txt [stdout] WORK=$WORK PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/sbin:/usr/bin:/sbin:/bin HOME=/no-home TMPDIR=$WORK/tmp devnull=/dev/null /=/ :=: exe= GOPATH=$WORK/gopath CCACHE_DISABLE=1 GOARCH=amd64 GOOS=linux GOROOT=/usr/lib/go-1.15 GOCACHE=/build/golang-github-rogpeppe-go-internal-WXBVFB/golang-github-rogpeppe-go-internal-1.6.2/obj-x86_64-linux-gnu/go-build GOPROXY=https://proxy.golang.org,direct goversion=1.15 > env BANANA BANANA= > env GOPATH GOPATH=$WORK/gopath > env GOPROXY GOPROXY=https://proxy.golang.org,direct PASS > stdout ^BANANA=$ > stdout '^GOPATH=\$WORK[/\\]gopath'$ > [!go1.13] stdout ^GOPROXY=$ > [go1.13] stdout ^GOPROXY=https://proxy.golang.org,direct$ > ! stderr .+ # no GOPROXY, no pass-through, with proxy (12.098s) > testscript -v withproxy.txt [stdout] WORK=$WORK PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/sbin:/usr/bin:/sbin:/bin HOME=/no-home TMPDIR=$WORK/tmp devnull=/dev/null /=/ :=: exe= GOPATH=$WORK/gopath CCACHE_DISABLE=1 GOARCH=amd64 GOOS=linux GOROOT=/usr/lib/go-1.15 GOCACHE=/build/golang-github-rogpeppe-go-internal-WXBVFB/golang-github-rogpeppe-go-internal-1.6.2/obj-x86_64-linux-gnu/go-build GOPROXY=http://127.0.0.1:46777/mod goversion=1.15 GONOSUMDB=* > env BANANA BANANA= > env GOPATH GOPATH=$WORK/gopath > env GOPROXY GOPROXY=http://127.0.0.1:46777/mod PASS > stdout ^BANANA=$ > stdout '^GOPATH=\$WORK[/\\]gopath'$ > stdout ^GOPROXY=http://.*/mod$ > ! stderr .+ # no GOPROXY, with pass-through, no proxy (2.030s) > testscript -v -e BANANA -e GOPATH -e GOPROXY noproxy.txt [stdout] WORK=$WORK PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/sbin:/usr/bin:/sbin:/bin HOME=/no-home TMPDIR=$WORK/tmp devnull=/dev/null /=/ :=: exe= GOPATH=$WORK/ourgopath CCACHE_DISABLE=1 GOARCH=amd64 GOOS=linux GOROOT=/usr/lib/go-1.15 GOCACHE=/build/golang-github-rogpeppe-go-internal-WXBVFB/golang-github-rogpeppe-go-internal-1.6.2/obj-x86_64-linux-gnu/go-build GOPROXY= goversion=1.15 BANANA=banana > env BANANA BANANA=banana > env GOPATH GOPATH=$WORK/ourgopath > env GOPROXY GOPROXY= PASS > stdout ^BANANA=banana$ > stdout ^GOPATH=${WORK@R}[/\\]ourgopath$ > stdout ^GOPROXY=$ > ! stderr .+ # no GOPROXY, with pass-through, with proxy (1.368s) > testscript -v -e BANANA -e GOPATH -e GOPROXY withproxy.txt [stdout] WORK=$WORK PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/sbin:/usr/bin:/sbin:/bin HOME=/no-home TMPDIR=$WORK/tmp devnull=/dev/null /=/ :=: exe= GOPATH=$WORK/ourgopath CCACHE_DISABLE=1 GOARCH=amd64 GOOS=linux GOROOT=/usr/lib/go-1.15 GOCACHE=/build/golang-github-rogpeppe-go-internal-WXBVFB/golang-github-rogpeppe-go-internal-1.6.2/obj-x86_64-linux-gnu/go-build GOPROXY= goversion=1.15 GONOSUMDB=* BANANA=banana > env BANANA BANANA=banana > env GOPATH GOPATH=$WORK/ourgopath > env GOPROXY GOPROXY= PASS > stdout ^BANANA=banana$ > stdout ^GOPATH=${WORK@R}[/\\]ourgopath$ > stdout ^GOPROXY=$ > ! stderr .+ > setfilegoproxy $WORK/proxy # with GOPROXY, no pass-through, no proxy (1.603s) > testscript -v noproxy.txt [stdout] WORK=$WORK PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/sbin:/usr/bin:/sbin:/bin HOME=/no-home TMPDIR=$WORK/tmp devnull=/dev/null /=/ :=: exe= GOPATH=$WORK/gopath CCACHE_DISABLE=1 GOARCH=amd64 GOOS=linux GOROOT=/usr/lib/go-1.15 GOCACHE=/build/golang-github-rogpeppe-go-internal-WXBVFB/golang-github-rogpeppe-go-internal-1.6.2/obj-x86_64-linux-gnu/go-build GOPROXY=file://$WORK/proxy goversion=1.15 > env BANANA BANANA= > env GOPATH GOPATH=$WORK/gopath > env GOPROXY GOPROXY=file://$WORK/proxy PASS > stdout ^BANANA=$ > stdout '^GOPATH=\$WORK[/\\]gopath'$ > stdout ^GOPROXY=$GOPROXY$ > ! stderr .+ # with GOPROXY, no pass-through, with proxy (2.328s) > testscript -v withproxy.txt [stdout] WORK=$WORK PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/sbin:/usr/bin:/sbin:/bin HOME=/no-home TMPDIR=$WORK/tmp devnull=/dev/null /=/ :=: exe= GOPATH=$WORK/gopath CCACHE_DISABLE=1 GOARCH=amd64 GOOS=linux GOROOT=/usr/lib/go-1.15 GOCACHE=/build/golang-github-rogpeppe-go-internal-WXBVFB/golang-github-rogpeppe-go-internal-1.6.2/obj-x86_64-linux-gnu/go-build GOPROXY=http://127.0.0.1:40593/mod goversion=1.15 GONOSUMDB=* > env BANANA BANANA= > env GOPATH GOPATH=$WORK/gopath > env GOPROXY GOPROXY=http://127.0.0.1:40593/mod PASS > stdout ^BANANA=$ > stdout '^GOPATH=\$WORK[/\\]gopath'$ > stdout ^GOPROXY=http://.*/mod$ > ! stderr .+ # with GOPROXY, with pass-through, no proxy (0.672s) > testscript -v -e BANANA -e GOPATH -e GOPROXY noproxy.txt [stdout] WORK=$WORK PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/sbin:/usr/bin:/sbin:/bin HOME=/no-home TMPDIR=$WORK/tmp devnull=/dev/null /=/ :=: exe= GOPATH=$WORK/ourgopath CCACHE_DISABLE=1 GOARCH=amd64 GOOS=linux GOROOT=/usr/lib/go-1.15 GOCACHE=/build/golang-github-rogpeppe-go-internal-WXBVFB/golang-github-rogpeppe-go-internal-1.6.2/obj-x86_64-linux-gnu/go-build GOPROXY=file://$WORK/proxy goversion=1.15 BANANA=banana > env BANANA BANANA=banana > env GOPATH GOPATH=$WORK/ourgopath > env GOPROXY GOPROXY=file://$WORK/proxy PASS > stdout ^BANANA=banana$ > stdout ^GOPATH=${WORK@R}[/\\]ourgopath$ > stdout ^GOPROXY=$GOPROXY$ > ! stderr .+ # with GOPROXY, with pass-through, with proxy (0.800s) > testscript -v -e BANANA -e GOPATH -e GOPROXY withproxy.txt [stdout] WORK=$WORK PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/sbin:/usr/bin:/sbin:/bin HOME=/no-home TMPDIR=$WORK/tmp devnull=/dev/null /=/ :=: exe= GOPATH=$WORK/ourgopath CCACHE_DISABLE=1 GOARCH=amd64 GOOS=linux GOROOT=/usr/lib/go-1.15 GOCACHE=/build/golang-github-rogpeppe-go-internal-WXBVFB/golang-github-rogpeppe-go-internal-1.6.2/obj-x86_64-linux-gnu/go-build GOPROXY=file://$WORK/proxy goversion=1.15 GONOSUMDB=* BANANA=banana > env BANANA BANANA=banana > env GOPATH GOPATH=$WORK/ourgopath > env GOPROXY GOPROXY=file://$WORK/proxy PASS > stdout ^BANANA=banana$ > stdout ^GOPATH=${WORK@R}[/\\]ourgopath$ > stdout ^GOPROXY=$GOPROXY$ > ! stderr .+ PASS --- PASS: TestScripts (7.99s) --- PASS: TestScripts/nogo (2.01s) --- PASS: TestScripts/help (2.41s) --- PASS: TestScripts/work (13.10s) --- PASS: TestScripts/skip (15.43s) --- PASS: TestScripts/simple (18.31s) --- PASS: TestScripts/error (22.08s) --- PASS: TestScripts/env_var_no_go (22.15s) --- PASS: TestScripts/noproxy (26.00s) --- PASS: TestScripts/env_var_with_go (39.19s) PASS ok github.com/rogpeppe/go-internal/cmd/testscript 48.234s === RUN TestScripts === RUN TestScripts/encode === PAUSE TestScripts/encode === RUN TestScripts/to_stdout === PAUSE TestScripts/to_stdout === RUN TestScripts/txtar-addmod-self === PAUSE TestScripts/txtar-addmod-self === CONT TestScripts/encode === CONT TestScripts/txtar-addmod-self === CONT TestScripts/to_stdout go proxy: no archive github.com v0.0.0-20171119174359-809beceb2371 go proxy: no archive github.com/shurcooL v0.0.0-20171119174359-809beceb2371 === CONT TestScripts/encode testscript.go:382: WORK=$WORK PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/sbin:/usr/bin:/sbin:/bin HOME=/no-home TMPDIR=$WORK/tmp devnull=/dev/null /=/ :=: exe= GOPATH=$WORK/gopath CCACHE_DISABLE=1 GOARCH=amd64 GOOS=linux GOROOT=/usr/lib/go-1.15 GOCACHE=/build/golang-github-rogpeppe-go-internal-WXBVFB/golang-github-rogpeppe-go-internal-1.6.2/obj-x86_64-linux-gnu/go-build GOPROXY=http://127.0.0.1:37327/mod goversion=1.15 GONOSUMDB=* > mkdir $WORK/out > txtar-addmod $WORK/out github.com/shurcooL/httpfs@v0.0.0-20171119174359-809beceb2371 > ! stdout .+ > ! stderr .+ > exists $WORK/out/github.com_shurcoo!l_httpfs_v0.0.0-20171119174359-809beceb2371.txt PASS === CONT TestScripts/to_stdout testscript.go:382: WORK=$WORK PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/sbin:/usr/bin:/sbin:/bin HOME=/no-home TMPDIR=$WORK/tmp devnull=/dev/null /=/ :=: exe= GOPATH=$WORK/gopath CCACHE_DISABLE=1 GOARCH=amd64 GOOS=linux GOROOT=/usr/lib/go-1.15 GOCACHE=/build/golang-github-rogpeppe-go-internal-WXBVFB/golang-github-rogpeppe-go-internal-1.6.2/obj-x86_64-linux-gnu/go-build GOPROXY=http://127.0.0.1:37327/mod goversion=1.15 GONOSUMDB=* > unquote expect > txtar-addmod - github.com/gobin-testrepos/simple-main [stdout] -- .gomodproxy/github.com_gobin-testrepos_simple-main_v1.0.0/.mod -- module github.com/gobin-testrepos/simple-main -- .gomodproxy/github.com_gobin-testrepos_simple-main_v1.0.0/.info -- {"Version":"v1.0.0","Time":"2018-10-22T18:45:39Z"} -- .gomodproxy/github.com_gobin-testrepos_simple-main_v1.0.0/go.mod -- module github.com/gobin-testrepos/simple-main -- .gomodproxy/github.com_gobin-testrepos_simple-main_v1.0.0/main.go -- package main import "fmt" func main() { fmt.Println("I am a simple module-based main") } > cmp stdout expect > ! stderr .+ PASS === CONT TestScripts/txtar-addmod-self testscript.go:382: WORK=$WORK PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/sbin:/usr/bin:/sbin:/bin HOME=/no-home TMPDIR=$WORK/tmp devnull=/dev/null /=/ :=: exe= GOPATH=$WORK/gopath CCACHE_DISABLE=1 GOARCH=amd64 GOOS=linux GOROOT=/usr/lib/go-1.15 GOCACHE=/build/golang-github-rogpeppe-go-internal-WXBVFB/golang-github-rogpeppe-go-internal-1.6.2/obj-x86_64-linux-gnu/go-build GOPROXY=http://127.0.0.1:37327/mod goversion=1.15 GONOSUMDB=* > mkdir $WORK/out > txtar-addmod $WORK/out github.com/gobin-testrepos/simple-main > ! stdout .+ > ! stderr .+ > exists $WORK/out/github.com_gobin-testrepos_simple-main_v1.0.0.txt > ! grep foobar $WORK/out/github.com_gobin-testrepos_simple-main_v1.0.0.txt > txtar-addmod -all $WORK/out github.com/gobin-testrepos/simple-main > grep '-- foobar --' $WORK/out/github.com_gobin-testrepos_simple-main_v1.0.0.txt PASS --- PASS: TestScripts (3.49s) --- PASS: TestScripts/encode (7.23s) --- PASS: TestScripts/to_stdout (19.40s) --- PASS: TestScripts/txtar-addmod-self (34.40s) PASS ok github.com/rogpeppe/go-internal/cmd/txtar-addmod 40.085s === RUN TestScripts === RUN TestScripts/all === PAUSE TestScripts/all === RUN TestScripts/needquote === PAUSE TestScripts/needquote === RUN TestScripts/quote === PAUSE TestScripts/quote === RUN TestScripts/txtar-savedir-self === PAUSE TestScripts/txtar-savedir-self === CONT TestScripts/all === CONT TestScripts/txtar-savedir-self === CONT TestScripts/quote === CONT TestScripts/needquote === CONT TestScripts/txtar-savedir-self testscript.go:382: WORK=$WORK PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/sbin:/usr/bin:/sbin:/bin HOME=/no-home TMPDIR=$WORK/tmp devnull=/dev/null /=/ :=: exe= > unquote expect > txtar-c blah [stdout] -- go.mod -- module example.com/blah -- main.go -- package main import "fmt" func main() { fmt.Println("Hello, world!") } -- subdir/x -- x contents > ! stderr .+ > cmp stdout expect PASS === CONT TestScripts/needquote testscript.go:382: WORK=$WORK PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/sbin:/usr/bin:/sbin:/bin HOME=/no-home TMPDIR=$WORK/tmp devnull=/dev/null /=/ :=: exe= > unquote blah/withsep > unquote expect > txtar-c blah [stdout] -- nosep -- bar [stderr] txtar-c: blah/withsep: ignoring file with txtar marker in > stderr 'txtar-c: blah.withsep: ignoring file with txtar marker in' > cmp stdout expect PASS === CONT TestScripts/all testscript.go:382: WORK=$WORK PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/sbin:/usr/bin:/sbin:/bin HOME=/no-home TMPDIR=$WORK/tmp devnull=/dev/null /=/ :=: exe= > unquote expect-all > unquote expect-no-all # Without the -a flag, it should ignore . files. (0.516s) > txtar-c blah [stdout] -- go.mod -- module example.com/blah -- main.go -- package main import "fmt" func main() { fmt.Println("Hello, world!") } > ! stderr .+ > cmp stdout expect-no-all # With the -a flag, it should include them. (0.779s) > txtar-c -a blah [stdout] -- .foo/foo -- foo -- .other -- other -- go.mod -- module example.com/blah -- main.go -- package main import "fmt" func main() { fmt.Println("Hello, world!") } > ! stderr .+ > cmp stdout expect-all PASS === CONT TestScripts/quote testscript.go:382: WORK=$WORK PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/sbin:/usr/bin:/sbin:/bin HOME=/no-home TMPDIR=$WORK/tmp devnull=/dev/null /=/ :=: exe= > unquote blah/withsep > unquote expect > txtar-c -quote blah [stdout] unquote withsep -- withsep -- >-- separator -- >foo > ! stderr .+ > cmp stdout expect PASS --- PASS: TestScripts (0.00s) --- PASS: TestScripts/txtar-savedir-self (0.71s) --- PASS: TestScripts/needquote (0.90s) --- PASS: TestScripts/all (1.30s) --- PASS: TestScripts/quote (1.51s) PASS ok github.com/rogpeppe/go-internal/cmd/txtar-c 2.046s ? github.com/rogpeppe/go-internal/cmd/txtar-goproxy [no test files] === RUN TestScripts === RUN TestScripts/extract-dir === PAUSE TestScripts/extract-dir === RUN TestScripts/extract-out-of-bounds === PAUSE TestScripts/extract-out-of-bounds === RUN TestScripts/extract-stdin === PAUSE TestScripts/extract-stdin === RUN TestScripts/extract === PAUSE TestScripts/extract === CONT TestScripts/extract-dir === CONT TestScripts/extract-stdin === CONT TestScripts/extract === CONT TestScripts/extract-out-of-bounds === CONT TestScripts/extract-dir testscript.go:382: WORK=$WORK PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/sbin:/usr/bin:/sbin:/bin HOME=/no-home TMPDIR=$WORK/tmp devnull=/dev/null /=/ :=: exe= > unquote file.txtar > txtar-x -C x/y file.txtar > cmp x/y/foo expect/foo > cmp x/y/a/b/bar expect/a/b/bar PASS === CONT TestScripts/extract testscript.go:382: WORK=$WORK PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/sbin:/usr/bin:/sbin:/bin HOME=/no-home TMPDIR=$WORK/tmp devnull=/dev/null /=/ :=: exe= > unquote file.txtar > txtar-x file.txtar > cmp foo expect/foo > cmp a/b/bar expect/a/b/bar PASS === CONT TestScripts/extract-stdin testscript.go:382: WORK=$WORK PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/sbin:/usr/bin:/sbin:/bin HOME=/no-home TMPDIR=$WORK/tmp devnull=/dev/null /=/ :=: exe= > unquote file.txtar > stdin file.txtar > txtar-x > cmp foo expect/foo > cmp a/b/bar expect/a/b/bar PASS === CONT TestScripts/extract-out-of-bounds testscript.go:382: WORK=$WORK PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/sbin:/usr/bin:/sbin:/bin HOME=/no-home TMPDIR=$WORK/tmp devnull=/dev/null /=/ :=: exe= > unquote file1.txtar file2.txtar > ! txtar-x file1.txtar [stderr] txtar-x: "../foo": outside parent directory [exit status 1] > stderr '"\.\./foo": outside parent directory' > ! txtar-x file2.txtar [stderr] txtar-x: "/foo": outside parent directory [exit status 1] > stderr '"/foo": outside parent directory' PASS --- PASS: TestScripts (0.00s) --- PASS: TestScripts/extract (1.40s) --- PASS: TestScripts/extract-dir (1.99s) --- PASS: TestScripts/extract-stdin (1.99s) --- PASS: TestScripts/extract-out-of-bounds (2.01s) PASS ok github.com/rogpeppe/go-internal/cmd/txtar-x 2.699s === RUN TestHash1 --- PASS: TestHash1 (0.00s) === RUN TestHashDir --- PASS: TestHashDir (0.00s) === RUN TestHashZip --- PASS: TestHashZip (0.00s) === RUN TestDirFiles --- PASS: TestDirFiles (0.00s) PASS ok github.com/rogpeppe/go-internal/dirhash 3.389s === RUN TestCompare --- PASS: TestCompare (0.00s) === RUN TestOrder --- PASS: TestOrder (0.00s) === RUN TestInterface --- PASS: TestInterface (0.00s) PASS ok github.com/rogpeppe/go-internal/fmtsort 0.497s === RUN TestScripts === RUN TestScripts/list === PAUSE TestScripts/list === CONT TestScripts/list testscript.go:382: WORK=$WORK PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/sbin:/usr/bin:/sbin:/bin HOME=/no-home TMPDIR=$WORK/tmp devnull=/dev/null /=/ :=: exe= GOPATH=$WORK/gopath CCACHE_DISABLE=1 GOARCH=amd64 GOOS=linux GOROOT=/usr/lib/go-1.15 GOCACHE=/build/golang-github-rogpeppe-go-internal-WXBVFB/golang-github-rogpeppe-go-internal-1.6.2/obj-x86_64-linux-gnu/go-build GOPROXY=http://127.0.0.1:42589/mod goversion=1.15 GONOSUMDB=* # prior to go 1.12 you cannot list a module without a requirement (7.491s) > [!go1.12] go get fruit.com > go list -m -versions fruit.com [stdout] fruit.com v1.0.0 v1.1.0 > stdout 'v1.0.0 v1.1.0' > go get -d fruit.com@v1.0.0 [stderr] go: downloading fruit.com v1.0.0 > go get -d fruit.com@v1.1.0 [stderr] go: downloading fruit.com v1.1.0 PASS --- PASS: TestScripts (2.20s) --- PASS: TestScripts/list (7.50s) PASS ok github.com/rogpeppe/go-internal/goproxytest 10.901s === RUN TestSimple === RUN TestSimple/version === PAUSE TestSimple/version === CONT TestSimple/version testscript.go:382: WORK=$WORK PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/sbin:/usr/bin:/sbin:/bin HOME=/no-home TMPDIR=$WORK/tmp devnull=/dev/null /=/ :=: exe= GOPATH=$WORK/gopath CCACHE_DISABLE=1 GOARCH=amd64 GOOS=linux GOROOT=/usr/lib/go-1.15 GOCACHE=/build/golang-github-rogpeppe-go-internal-WXBVFB/golang-github-rogpeppe-go-internal-1.6.2/obj-x86_64-linux-gnu/go-build GOPROXY=https://proxy.golang.org,direct goversion=1.15 > go list -f '{{context.ReleaseTags}}' runtime [stdout] [go1.1 go1.2 go1.3 go1.4 go1.5 go1.6 go1.7 go1.8 go1.9 go1.10 go1.11 go1.12 go1.13 go1.14 go1.15] > [go1.11] [!go1.12] stdout go1\.11 > [go1.11] [!go1.12] ! stdout go1\.12 > [go1.12] stdout go1\.12 PASS --- PASS: TestSimple (1.18s) --- PASS: TestSimple/version (0.61s) PASS ok github.com/rogpeppe/go-internal/gotooltest 1.985s === RUN TestReadImports --- PASS: TestReadImports (0.00s) === RUN TestReadComments --- PASS: TestReadComments (0.00s) === RUN TestReadFailures --- PASS: TestReadFailures (0.00s) === RUN TestReadFailuresIgnored --- PASS: TestReadFailuresIgnored (0.00s) === RUN TestScan --- PASS: TestScan (0.00s) === RUN TestScanStar --- PASS: TestScanStar (0.09s) PASS ok github.com/rogpeppe/go-internal/imports 0.387s ? github.com/rogpeppe/go-internal/internal/os/execpath [no test files] ? github.com/rogpeppe/go-internal/internal/syscall/windows [no test files] ? github.com/rogpeppe/go-internal/internal/syscall/windows/registry [no test files] ? github.com/rogpeppe/go-internal/internal/syscall/windows/sysdll [no test files] === RUN TestDiff --- PASS: TestDiff (0.00s) PASS ok github.com/rogpeppe/go-internal/internal/textutil 0.295s === RUN TestMutexExcludes === PAUSE TestMutexExcludes === RUN TestReadWaitsForLock === PAUSE TestReadWaitsForLock === RUN TestCanLockExistingFile === PAUSE TestCanLockExistingFile === RUN TestSpuriousEDEADLK --- PASS: TestSpuriousEDEADLK (0.30s) === CONT TestMutexExcludes lockedfile_test.go:74: mu := MutexAt(_) lockedfile_test.go:80: unlock, _ := mu.Lock() lockedfile_test.go:83: mu2 := MutexAt(mu.Path) === CONT TestCanLockExistingFile === CONT TestReadWaitsForLock lockedfile_test.go:123: WriteString("part 1\n") = === CONT TestMutexExcludes lockedfile_test.go:96: unlock() lockedfile_test.go:91: unlock2, _ := mu2.Lock() lockedfile_test.go:92: unlock2() --- PASS: TestMutexExcludes (0.01s) --- PASS: TestCanLockExistingFile (0.01s) === CONT TestReadWaitsForLock lockedfile_test.go:145: WriteString("part 2\n") = lockedfile_test.go:135: Read(_) = "part 1\npart 2\n" --- PASS: TestReadWaitsForLock (0.01s) PASS ok github.com/rogpeppe/go-internal/lockedfile 0.786s === RUN TestLockExcludesLock === PAUSE TestLockExcludesLock === RUN TestLockExcludesRLock === PAUSE TestLockExcludesRLock === RUN TestRLockExcludesOnlyLock === PAUSE TestRLockExcludesOnlyLock === RUN TestLockNotDroppedByExecCommand filelock_test.go:190: fd 8 = /tmp/TestLockNotDroppedByExecCommand775339370 filelock_test.go:193: Lock(fd 8) = filelock_test.go:195: fd 9 = os.Open("/tmp/TestLockNotDroppedByExecCommand775339370") filelock_test.go:206: Lock(fd 9) is blocked (as expected) filelock_test.go:207: Unlock(fd 8) = asm_amd64.s:1374: Lock(fd 9) = filelock_test.go:209: Unlock(fd 9) = --- PASS: TestLockNotDroppedByExecCommand (0.30s) === CONT TestLockExcludesLock filelock_test.go:124: fd 8 = /tmp/TestLockExcludesLock825782209 filelock_test.go:127: fd 9 = os.Open("/tmp/TestLockExcludesLock825782209") filelock_test.go:130: Lock(fd 8) = === CONT TestRLockExcludesOnlyLock filelock_test.go:156: fd 10 = /tmp/TestRLockExcludesOnlyLock790266412 filelock_test.go:158: RLock(fd 10) = filelock_test.go:160: fd 11 = os.Open("/tmp/TestRLockExcludesOnlyLock790266412") filelock_test.go:172: RLock(fd 11) = filelock_test.go:175: fd 12 = os.Open("/tmp/TestRLockExcludesOnlyLock790266412") === CONT TestLockExcludesRLock filelock_test.go:140: fd 13 = /tmp/TestLockExcludesRLock414093211 filelock_test.go:143: fd 14 = os.Open("/tmp/TestLockExcludesRLock414093211") filelock_test.go:146: Lock(fd 13) = === CONT TestLockExcludesLock filelock_test.go:131: Lock(fd 9) is blocked (as expected) filelock_test.go:132: Unlock(fd 8) = asm_amd64.s:1374: Lock(fd 9) = filelock_test.go:134: Unlock(fd 9) = --- PASS: TestLockExcludesLock (0.01s) === CONT TestRLockExcludesOnlyLock filelock_test.go:177: Lock(fd 12) is blocked (as expected) filelock_test.go:179: Unlock(fd 11) = filelock_test.go:181: Unlock(fd 10) = asm_amd64.s:1374: Lock(fd 12) = filelock_test.go:184: Unlock(fd 12) = --- PASS: TestRLockExcludesOnlyLock (0.01s) === CONT TestLockExcludesRLock filelock_test.go:147: RLock(fd 14) is blocked (as expected) filelock_test.go:148: Unlock(fd 13) = asm_amd64.s:1374: RLock(fd 14) = filelock_test.go:150: Unlock(fd 14) = --- PASS: TestLockExcludesRLock (0.01s) PASS ok github.com/rogpeppe/go-internal/lockedfile/internal/filelock 0.701s === RUN TestPrintGolden --- PASS: TestPrintGolden (0.00s) === RUN TestParseLax --- PASS: TestParseLax (0.00s) === RUN TestPrintParse --- PASS: TestPrintParse (0.00s) === RUN TestModulePath === RUN TestModulePath/module_"github.com/rsc/vgotest" === RUN TestModulePath/module_github.com/rsc/vgotest === RUN TestModulePath/module__"github.com/rsc/vgotest" === RUN TestModulePath/module__github.com/rsc/vgotest === RUN TestModulePath/module_`github.com/rsc/vgotest` === RUN TestModulePath/module_"github.com/rsc/vgotest/v2" === RUN TestModulePath/module_github.com/rsc/vgotest/v2 === RUN TestModulePath/module_"gopkg.in/yaml.v2" === RUN TestModulePath/module_gopkg.in/yaml.v2 === RUN TestModulePath/module_"gopkg.in/check.v1"_ === RUN TestModulePath/module_"gopkg.in/check.v1_" === RUN TestModulePath/module_gopkg.in/check.v1_ === RUN TestModulePath/module_"gopkg.in/check.v1"__ === RUN TestModulePath/module_gopkg.in/check.v1__ === RUN TestModulePath/module_"gopkg.in/check.v1"__#01 === RUN TestModulePath/module_gopkg.in/check.v1__#01 === RUN TestModulePath/module__"gopkg.in/check.v1"__ === RUN TestModulePath/module__gopkg.in/check.v1__ === RUN TestModulePath/module_"gopkg.in/check.v1"asd === RUN TestModulePath/module__"gopkg.in/check.v1"__#01 === RUN TestModulePath/module__gopkg.in/check.v1__#01 === RUN TestModulePath/module_"gopkg.in/check.v1"asd#01 === RUN TestModulePath/module___module_a/b/c_ === RUN TestModulePath/module_"___" === RUN TestModulePath/module___ === RUN TestModulePath/module_"__a/b/c__" === RUN TestModulePath/module_"github.com/rsc/vgotest1"_//_with_a_comment --- PASS: TestModulePath (0.07s) --- PASS: TestModulePath/module_"github.com/rsc/vgotest" (0.00s) --- PASS: TestModulePath/module_github.com/rsc/vgotest (0.00s) --- PASS: TestModulePath/module__"github.com/rsc/vgotest" (0.00s) --- PASS: TestModulePath/module__github.com/rsc/vgotest (0.00s) --- PASS: TestModulePath/module_`github.com/rsc/vgotest` (0.00s) --- PASS: TestModulePath/module_"github.com/rsc/vgotest/v2" (0.00s) --- PASS: TestModulePath/module_github.com/rsc/vgotest/v2 (0.00s) --- PASS: TestModulePath/module_"gopkg.in/yaml.v2" (0.00s) --- PASS: TestModulePath/module_gopkg.in/yaml.v2 (0.00s) --- PASS: TestModulePath/module_"gopkg.in/check.v1"_ (0.00s) --- PASS: TestModulePath/module_"gopkg.in/check.v1_" (0.00s) --- PASS: TestModulePath/module_gopkg.in/check.v1_ (0.00s) --- PASS: TestModulePath/module_"gopkg.in/check.v1"__ (0.00s) --- PASS: TestModulePath/module_gopkg.in/check.v1__ (0.00s) --- PASS: TestModulePath/module_"gopkg.in/check.v1"__#01 (0.00s) --- PASS: TestModulePath/module_gopkg.in/check.v1__#01 (0.00s) --- PASS: TestModulePath/module__"gopkg.in/check.v1"__ (0.00s) --- PASS: TestModulePath/module__gopkg.in/check.v1__ (0.00s) --- PASS: TestModulePath/module_"gopkg.in/check.v1"asd (0.00s) --- PASS: TestModulePath/module__"gopkg.in/check.v1"__#01 (0.00s) --- PASS: TestModulePath/module__gopkg.in/check.v1__#01 (0.00s) --- PASS: TestModulePath/module_"gopkg.in/check.v1"asd#01 (0.00s) --- PASS: TestModulePath/module___module_a/b/c_ (0.00s) --- PASS: TestModulePath/module_"___" (0.00s) --- PASS: TestModulePath/module___ (0.00s) --- PASS: TestModulePath/module_"__a/b/c__" (0.00s) --- PASS: TestModulePath/module_"github.com/rsc/vgotest1"_//_with_a_comment (0.00s) === RUN TestAddDropReplace === RUN TestAddDropReplace/#0 === RUN TestAddDropReplace/#1 === RUN TestAddDropReplace/#2 --- PASS: TestAddDropReplace (0.00s) --- PASS: TestAddDropReplace/#0 (0.00s) --- PASS: TestAddDropReplace/#1 (0.00s) --- PASS: TestAddDropReplace/#2 (0.00s) === RUN TestAddRequire === RUN TestAddRequire/#0 === RUN TestAddRequire/#1 === RUN TestAddRequire/#2 --- PASS: TestAddRequire (0.00s) --- PASS: TestAddRequire/#0 (0.00s) --- PASS: TestAddRequire/#1 (0.00s) --- PASS: TestAddRequire/#2 (0.00s) PASS ok github.com/rogpeppe/go-internal/modfile 0.387s === RUN TestCheck --- PASS: TestCheck (0.00s) === RUN TestCheckPath --- PASS: TestCheckPath (0.00s) === RUN TestSplitPathVersion --- PASS: TestSplitPathVersion (0.00s) === RUN TestEncodePath --- PASS: TestEncodePath (0.00s) === RUN TestDecodePath --- PASS: TestDecodePath (0.00s) PASS ok github.com/rogpeppe/go-internal/module 0.307s === RUN TestWork --- PASS: TestWork (0.40s) === RUN TestWorkParallel --- PASS: TestWorkParallel (0.00s) === RUN TestCache --- PASS: TestCache (0.00s) PASS ok github.com/rogpeppe/go-internal/par 0.897s ? github.com/rogpeppe/go-internal/renameio [no test files] === RUN TestIsValid --- PASS: TestIsValid (0.00s) === RUN TestCanonical --- PASS: TestCanonical (0.00s) === RUN TestMajor --- PASS: TestMajor (0.00s) === RUN TestMajorMinor --- PASS: TestMajorMinor (0.00s) === RUN TestPrerelease --- PASS: TestPrerelease (0.00s) === RUN TestBuild --- PASS: TestBuild (0.00s) === RUN TestCompare --- PASS: TestCompare (0.00s) === RUN TestMax --- PASS: TestMax (0.00s) PASS ok github.com/rogpeppe/go-internal/semver 0.291s ? github.com/rogpeppe/go-internal/testenv [no test files] === RUN TestCRLFInput === RUN TestCRLFInput/_ === RUN TestCRLFInput/_/script === PAUSE TestCRLFInput/_/script === CONT TestCRLFInput/_/script testscript.go:382: WORK=$WORK PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/sbin:/usr/bin:/sbin:/bin HOME=/no-home TMPDIR=$WORK/tmp devnull=/dev/null /=/ :=: exe= > exists output.txt PASS --- PASS: TestCRLFInput (0.00s) --- PASS: TestCRLFInput/_ (0.00s) --- PASS: TestCRLFInput/_/script (0.00s) === RUN TestEnv --- PASS: TestEnv (0.00s) === RUN TestScripts === RUN TestScripts/cmpenv === PAUSE TestScripts/cmpenv === RUN TestScripts/command === PAUSE TestScripts/command === RUN TestScripts/commandstatus === PAUSE TestScripts/commandstatus === RUN TestScripts/cpstdout === PAUSE TestScripts/cpstdout === RUN TestScripts/defer === PAUSE TestScripts/defer === RUN TestScripts/evalsymlink === PAUSE TestScripts/evalsymlink === RUN TestScripts/exec_path_change === PAUSE TestScripts/exec_path_change === RUN TestScripts/execguard === PAUSE TestScripts/execguard === RUN TestScripts/exists === PAUSE TestScripts/exists === RUN TestScripts/hello === PAUSE TestScripts/hello === RUN TestScripts/interrupt === PAUSE TestScripts/interrupt === RUN TestScripts/nothing === PAUSE TestScripts/nothing === RUN TestScripts/readfile === PAUSE TestScripts/readfile === RUN TestScripts/regexpquote === PAUSE TestScripts/regexpquote === RUN TestScripts/setenv === PAUSE TestScripts/setenv === RUN TestScripts/setupfiles === PAUSE TestScripts/setupfiles === RUN TestScripts/stdin === PAUSE TestScripts/stdin === RUN TestScripts/testscript_update_script === PAUSE TestScripts/testscript_update_script === RUN TestScripts/testscript_update_script_actual_is_file === PAUSE TestScripts/testscript_update_script_actual_is_file === RUN TestScripts/testscript_update_script_expected_not_in_archive === PAUSE TestScripts/testscript_update_script_expected_not_in_archive === RUN TestScripts/testscript_update_script_quote === PAUSE TestScripts/testscript_update_script_quote === RUN TestScripts/testscript_update_script_stderr === PAUSE TestScripts/testscript_update_script_stderr === RUN TestScripts/values === PAUSE TestScripts/values === RUN TestScripts/wait === PAUSE TestScripts/wait === CONT TestScripts/cmpenv testscript.go:382: WORK=$WORK PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/sbin:/usr/bin:/sbin:/bin HOME=/no-home TMPDIR=$WORK/tmp devnull=/dev/null /=/ :=: exe= GONOSUMDB=* > env $=$ > cmpenv file1 file2 PASS === CONT TestScripts/readfile === CONT TestScripts/testscript_update_script_actual_is_file === CONT TestScripts/exec_path_change === CONT TestScripts/nothing === CONT TestScripts/interrupt === CONT TestScripts/hello === CONT TestScripts/exists === CONT TestScripts/execguard === CONT TestScripts/testscript_update_script_stderr === CONT TestScripts/wait === CONT TestScripts/values === CONT TestScripts/testscript_update_script_quote === CONT TestScripts/cpstdout === CONT TestScripts/evalsymlink === CONT TestScripts/defer === CONT TestScripts/testscript_update_script_expected_not_in_archive === CONT TestScripts/setupfiles === CONT TestScripts/testscript_update_script === CONT TestScripts/stdin === CONT TestScripts/setenv === CONT TestScripts/regexpquote === CONT TestScripts/commandstatus === CONT TestScripts/command === CONT TestScripts/setupfiles testscript.go:382: WORK=$WORK PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/sbin:/usr/bin:/sbin:/bin HOME=/no-home TMPDIR=$WORK/tmp devnull=/dev/null /=/ :=: exe= GONOSUMDB=* # check that the Setup function saw the unarchived files, # including the temp directory that's always created. (0.000s) > setup-filenames a b tmp PASS === CONT TestScripts/regexpquote testscript.go:382: WORK=$WORK PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/sbin:/usr/bin:/sbin:/bin HOME=/no-home TMPDIR=$WORK/tmp devnull=/dev/null /=/ :=: exe= GONOSUMDB=* > env XXX='hello)' > grep ^${XXX@R}$ file.txt PASS === CONT TestScripts/setenv testscript.go:382: WORK=$WORK PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/sbin:/usr/bin:/sbin:/bin HOME=/no-home TMPDIR=$WORK/tmp devnull=/dev/null /=/ :=: exe= GONOSUMDB=* > setSpecialVal > exists $SPECIALVAL.txt > ensureSpecialVal PASS === CONT TestScripts/interrupt testscript.go:382: WORK=$WORK PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/sbin:/usr/bin:/sbin:/bin HOME=/no-home TMPDIR=$WORK/tmp devnull=/dev/null /=/ :=: exe= GONOSUMDB=* > [windows] skip > signalcatcher & > waitfile catchsignal > interrupt > wait [background] testscript.test: exit status 0 [stdout] caught interrupt > stdout 'caught interrupt' PASS === CONT TestScripts/execguard testscript.go:382: WORK=$WORK PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/sbin:/usr/bin:/sbin:/bin HOME=/no-home TMPDIR=$WORK/tmp devnull=/dev/null /=/ :=: exe= GONOSUMDB=* > [exec:nosuchcommand] exec nosuchcommand > [!exec:cat] stop > exec cat foo [stdout] foo > stdout 'foo\n' PASS === CONT TestScripts/nothing testscript.go:382: WORK=$WORK PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/sbin:/usr/bin:/sbin:/bin HOME=/no-home TMPDIR=$WORK/tmp devnull=/dev/null /=/ :=: exe= GONOSUMDB=* # Intentionally blank file, used to test that -testwork doesn't remove the work directory (0.000s) PASS === CONT TestScripts/values testscript.go:382: WORK=$WORK PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/sbin:/usr/bin:/sbin:/bin HOME=/no-home TMPDIR=$WORK/tmp devnull=/dev/null /=/ :=: exe= GONOSUMDB=* > test-values PASS === CONT TestScripts/hello testscript.go:382: WORK=$WORK PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/sbin:/usr/bin:/sbin:/bin HOME=/no-home TMPDIR=$WORK/tmp devnull=/dev/null /=/ :=: exe= GONOSUMDB=* > [!exec:cat] stop # hello world (0.190s) > exec cat hello.text [stdout] hello world > stdout 'hello world\n' > ! stderr . PASS === CONT TestScripts/defer testscript.go:382: WORK=$WORK PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/sbin:/usr/bin:/sbin:/bin HOME=/no-home TMPDIR=$WORK/tmp devnull=/dev/null /=/ :=: exe= GONOSUMDB=* > testdefer > testdefer > testdefer PASS === CONT TestScripts/testscript_update_script_actual_is_file testscript.go:382: WORK=$WORK PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/sbin:/usr/bin:/sbin:/bin HOME=/no-home TMPDIR=$WORK/tmp devnull=/dev/null /=/ :=: exe= GONOSUMDB=* > unquote scripts/testscript.txt > unquote testscript-new.txt > testscript-update scripts testscript: PASS $WORK/scripts/testscript.txt updated > cmp scripts/testscript.txt testscript-new.txt PASS === CONT TestScripts/evalsymlink testscript.go:382: WORK=$WORK PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/sbin:/usr/bin:/sbin:/bin HOME=/no-home TMPDIR=$WORK/tmp devnull=/dev/null /=/ :=: exe= GONOSUMDB=* # If ioutil.TempDir returns a sym linked dir (default behaviour in macOS for example) the # matcher will have problems with external programs that uses the real path. # This script tests that $WORK is matched in a consistent way (also see #79). (1.299s) > [windows] skip > exec pwd [stdout] $WORK > stdout ^$WORK$ > exec pwd -P [stdout] $WORK > stdout ^$WORK$ PASS === CONT TestScripts/exists testscript.go:382: WORK=$WORK PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/sbin:/usr/bin:/sbin:/bin HOME=/no-home TMPDIR=$WORK/tmp devnull=/dev/null /=/ :=: exe= GONOSUMDB=* > chmod 444 foo_r > exists foo > ! exists unfoo # TODO The following line fails but probably should not. # ! exists -readonly foo (0.000s) > exists foo_r > exists -readonly foo_r PASS === CONT TestScripts/wait testscript.go:382: WORK=$WORK PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/sbin:/usr/bin:/sbin:/bin HOME=/no-home TMPDIR=$WORK/tmp devnull=/dev/null /=/ :=: exe= GONOSUMDB=* > [!exec:echo] skip > [!exec:false] skip # TODO: the '\n' below doesn't work on Windows on Github Actions, which does # have coreutils like "echo" installed. Perhaps they emit CRLF? (1.498s) > [windows] skip > exec echo foo [stdout] foo > stdout foo > exec echo foo & > exec echo bar & > ! exec false & # Starting a background process should clear previous output. (0.000s) > ! stdout foo # Wait should set the output to the concatenated outputs of the background # programs, in the order in which they were started. (0.107s) > wait [background] echo foo: exit status 0 [stdout] foo [background] echo bar: exit status 0 [stdout] bar [background] false: exit status 1 > stdout 'foo\nbar' # The end of the test should interrupt or kill any remaining background # programs. (0.692s) > [!exec:sleep] skip > ! exec sleep 86400 & [background] sleep 86400: signal: interrupt PASS === CONT TestScripts/command testscript.go:382: WORK=$WORK PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/sbin:/usr/bin:/sbin:/bin HOME=/no-home TMPDIR=$WORK/tmp devnull=/dev/null /=/ :=: exe= GONOSUMDB=* > printargs a b 'c d' [stdout] ["printargs" "a" "b" "c d"] > stdout '\["printargs" "a" "b" "c d"\]\n' PASS === CONT TestScripts/testscript_update_script testscript.go:382: WORK=$WORK PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/sbin:/usr/bin:/sbin:/bin HOME=/no-home TMPDIR=$WORK/tmp devnull=/dev/null /=/ :=: exe= GONOSUMDB=* > unquote scripts/testscript.txt > unquote testscript-new.txt > testscript-update scripts testscript: PASS $WORK/scripts/testscript.txt updated > cmp scripts/testscript.txt testscript-new.txt PASS === CONT TestScripts/testscript_update_script_quote testscript.go:382: WORK=$WORK PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/sbin:/usr/bin:/sbin:/bin HOME=/no-home TMPDIR=$WORK/tmp devnull=/dev/null /=/ :=: exe= GONOSUMDB=* > unquote scripts/testscript.txt > unquote testscript-new.txt > testscript-update scripts testscript: PASS $WORK/scripts/testscript.txt updated > cmp scripts/testscript.txt testscript-new.txt PASS === CONT TestScripts/cpstdout testscript.go:382: WORK=$WORK PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/sbin:/usr/bin:/sbin:/bin HOME=/no-home TMPDIR=$WORK/tmp devnull=/dev/null /=/ :=: exe= GONOSUMDB=* > [!exec:cat] stop # hello world (2.679s) > exec cat hello.text [stdout] hello world > cp stdout got > cmp got hello.text PASS === CONT TestScripts/testscript_update_script_expected_not_in_archive testscript.go:382: WORK=$WORK PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/sbin:/usr/bin:/sbin:/bin HOME=/no-home TMPDIR=$WORK/tmp devnull=/dev/null /=/ :=: exe= GONOSUMDB=* # Verify that comparing stdout against a file not in the archive does nothing (3.200s) > unquote scripts/testscript.txt > cp scripts/testscript.txt unchanged > ! testscript-update scripts testscript: > echo stdout right [stdout] right > cp file expect > cmp stdout expect [diff -stdout +expect] -right +wrong FAIL: $WORK/scripts/testscript.txt:3: stdout and expect differ > cmp scripts/testscript.txt unchanged PASS === CONT TestScripts/testscript_update_script_stderr testscript.go:382: WORK=$WORK PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/sbin:/usr/bin:/sbin:/bin HOME=/no-home TMPDIR=$WORK/tmp devnull=/dev/null /=/ :=: exe= GONOSUMDB=* > unquote scripts/testscript.txt > unquote testscript-new.txt > testscript-update scripts testscript: PASS $WORK/scripts/testscript.txt updated > cmp scripts/testscript.txt testscript-new.txt PASS === CONT TestScripts/stdin testscript.go:382: WORK=$WORK PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/sbin:/usr/bin:/sbin:/bin HOME=/no-home TMPDIR=$WORK/tmp devnull=/dev/null /=/ :=: exe= GONOSUMDB=* > [!exec:cat] skip > stdin hello.txt > exec cat [stdout] hello > stdout hello > exec cat > ! stdout hello > [!exec:cat] stop # Check that 'stdin stdout' works. (0.015s) > exec cat hello.txt [stdout] hello > stdin stdout > exec cat [stdout] hello > stdout hello PASS === CONT TestScripts/readfile testscript.go:382: WORK=$WORK PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/sbin:/usr/bin:/sbin:/bin HOME=/no-home TMPDIR=$WORK/tmp devnull=/dev/null /=/ :=: exe= GONOSUMDB=* > echo stdout stdout [stdout] stdout > testreadfile stdout > echo stderr stderr [stderr] stderr > testreadfile stderr > testreadfile x/somefile PASS === CONT TestScripts/commandstatus testscript.go:382: WORK=$WORK PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/sbin:/usr/bin:/sbin:/bin HOME=/no-home TMPDIR=$WORK/tmp devnull=/dev/null /=/ :=: exe= GONOSUMDB=* > ! status 1 [exit status 1] > ! status 2 [exit status 2] > status 0 PASS === CONT TestScripts/exec_path_change testscript.go:382: WORK=$WORK PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/sbin:/usr/bin:/sbin:/bin HOME=/no-home TMPDIR=$WORK/tmp devnull=/dev/null /=/ :=: exe= GONOSUMDB=* # If the PATH environment variable is set in the testscript.Params.Setup phase # or set directly within a script, exec should honour that PATH (16.205s) > [!exec:go] skip > env HOME=$WORK${/}home > [windows] env USERPROFILE=$WORK\home > [windows] env LOCALAPPDATA=$WORK\appdata > cd go $WORK/go > exec go$exe version [stdout] go version go1.15.2 linux/amd64 > stdout 'go version' > exec go$exe build > env PATH=$WORK${/}go${:}$PATH > exec go$exe version [stdout] This is not go > stdout 'This is not go' PASS --- PASS: TestScripts (0.00s) --- PASS: TestScripts/cmpenv (0.00s) --- PASS: TestScripts/regexpquote (1.59s) --- PASS: TestScripts/setenv (1.68s) --- PASS: TestScripts/setupfiles (1.69s) --- PASS: TestScripts/interrupt (1.79s) --- PASS: TestScripts/execguard (2.12s) --- PASS: TestScripts/nothing (2.12s) --- PASS: TestScripts/values (2.12s) --- PASS: TestScripts/hello (2.12s) --- PASS: TestScripts/defer (2.12s) --- PASS: TestScripts/evalsymlink (3.29s) --- PASS: TestScripts/command (4.69s) --- PASS: TestScripts/exists (4.79s) --- PASS: TestScripts/wait (4.79s) --- PASS: TestScripts/testscript_update_script_actual_is_file (4.79s) --- PASS: TestScripts/testscript_update_script (4.79s) --- PASS: TestScripts/testscript_update_script_quote (4.79s) --- PASS: TestScripts/testscript_update_script_expected_not_in_archive (4.89s) --- PASS: TestScripts/cpstdout (4.89s) --- PASS: TestScripts/testscript_update_script_stderr (4.89s) --- PASS: TestScripts/stdin (4.90s) --- PASS: TestScripts/readfile (4.99s) --- PASS: TestScripts/commandstatus (5.52s) --- PASS: TestScripts/exec_path_change (16.72s) === RUN TestTestwork --- PASS: TestTestwork (96.38s) === RUN TestWorkdirRoot === RUN TestWorkdirRoot/run_tests === RUN TestWorkdirRoot/run_tests/nothing === PAUSE TestWorkdirRoot/run_tests/nothing === CONT TestWorkdirRoot/run_tests/nothing testscript.go:382: WORK=/tmp/810613389/script-nothing PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/sbin:/usr/bin:/sbin:/bin HOME=/no-home TMPDIR=$WORK/tmp devnull=/dev/null /=/ :=: exe= # Intentionally empty test script; used to test Params.WorkdirRoot (0.000s) PASS --- PASS: TestWorkdirRoot (0.01s) --- PASS: TestWorkdirRoot/run_tests (0.00s) --- PASS: TestWorkdirRoot/run_tests/nothing (0.00s) === RUN TestBadDir --- PASS: TestBadDir (0.00s) PASS ok github.com/rogpeppe/go-internal/testscript 113.533s === RUN Test === RUN Test/basic === RUN Test/basic#01 --- PASS: Test (0.00s) --- PASS: Test/basic (0.00s) --- PASS: Test/basic#01 (0.00s) === RUN TestWrite --- PASS: TestWrite (0.00s) === RUN TestUnquote === RUN TestUnquote/no_final_newline === RUN TestUnquote/no_initial_> --- PASS: TestUnquote (0.00s) --- PASS: TestUnquote/no_final_newline (0.00s) --- PASS: TestUnquote/no_initial_> (0.00s) === RUN TestQuote === RUN TestQuote/empty === RUN TestQuote/one_line === RUN TestQuote/several_lines === RUN TestQuote/bad_data === RUN TestQuote/no_final_newline --- PASS: TestQuote (0.00s) --- PASS: TestQuote/empty (0.00s) --- PASS: TestQuote/one_line (0.00s) --- PASS: TestQuote/several_lines (0.00s) --- PASS: TestQuote/bad_data (0.00s) --- PASS: TestQuote/no_final_newline (0.00s) PASS ok github.com/rogpeppe/go-internal/txtar 0.691s make[1]: Leaving directory '/build/golang-github-rogpeppe-go-internal-WXBVFB/golang-github-rogpeppe-go-internal-1.6.2' create-stamp debian/debhelper-build-stamp dh_testroot -i -O--buildsystem=golang dh_prep -i -O--buildsystem=golang dh_auto_install -i -O--buildsystem=golang cd obj-x86_64-linux-gnu && mkdir -p /build/golang-github-rogpeppe-go-internal-WXBVFB/golang-github-rogpeppe-go-internal-1.6.2/debian/tmp/usr cd obj-x86_64-linux-gnu && cp -r bin /build/golang-github-rogpeppe-go-internal-WXBVFB/golang-github-rogpeppe-go-internal-1.6.2/debian/tmp/usr dh_install -i -O--buildsystem=golang dh_installdocs -i -O--buildsystem=golang dh_installchangelogs -i -O--buildsystem=golang dh_installsystemduser -i -O--buildsystem=golang dh_perl -i -O--buildsystem=golang dh_link -i -O--buildsystem=golang dh_strip_nondeterminism -i -O--buildsystem=golang dh_compress -i -O--buildsystem=golang dh_fixperms -i -O--buildsystem=golang dh_missing -i -O--buildsystem=golang dh_installdeb -i -O--buildsystem=golang dh_golang -i -O--buildsystem=golang Use of uninitialized value $caller in string eq at /usr/share/perl5/Debian/Debhelper/Buildsystem/golang.pm line 567. dh_gencontrol -i -O--buildsystem=golang dh_md5sums -i -O--buildsystem=golang dh_builddeb -i -O--buildsystem=golang dpkg-deb: building package 'golang-github-rogpeppe-go-internal-dev' in '../golang-github-rogpeppe-go-internal-dev_1.6.2-1_all.deb'. dpkg-genbuildinfo --build=all dpkg-genchanges --build=all >../golang-github-rogpeppe-go-internal_1.6.2-1_all.changes dpkg-genchanges: info: binary-only arch-indep upload (source code and arch-specific packages not included) dpkg-source --after-build . dpkg-buildpackage: info: binary-only upload (no source included) I: running special hook: sync-out /build/golang-github-rogpeppe-go-internal-WXBVFB /tmp/golang-github-rogpeppe-go-internal-1.6.2-1e9rhnufu I: cleaning package lists and apt cache... W: deleting files in /tmp: go-test-script784456533 I: creating tarball... I: done I: removing tempdir /tmp/mmdebstrap.c0nhji1qn8... I: success in 875.5140 seconds md5: golang-github-rogpeppe-go-internal-dev_1.6.2-1_all.deb: OK sha1: golang-github-rogpeppe-go-internal-dev_1.6.2-1_all.deb: OK sha256: golang-github-rogpeppe-go-internal-dev_1.6.2-1_all.deb: OK Checksums: OK