Input buildinfo: https://buildinfos.debian.net/buildinfo-pool/g/golang-github-rogpeppe-go-internal/golang-github-rogpeppe-go-internal_1.6.2-1+b6_amd64.buildinfo Use metasnap for getting required timestamps New buildinfo file: /tmp/golang-github-rogpeppe-go-internal-1.6.2-1+b6gn0ycnoi/golang-github-rogpeppe-go-internal_1.6.2-1+b6_amd64.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-14 automake=1:1.16.3-2 autopoint=0.21-4 autotools-dev=20180224.1+nmu1 base-files=11.1 base-passwd=3.5.51 bash=5.1-3 binutils=2.35.2-2 binutils-common=2.35.2-2 binutils-x86-64-linux-gnu=2.35.2-2 bsdextrautils=2.36.1-7 bsdutils=1:2.36.1-7 build-essential=12.9 bzip2=1.0.8-4 coreutils=8.32-4+b1 cpp=4:10.2.1-1 cpp-10=10.2.1-6 dash=0.5.11+git20210120+802ebd4-1 debconf=1.5.77 debhelper=13.3.4 debianutils=4.11.2 dh-autoreconf=20 dh-golang=1.51 dh-strip-nondeterminism=1.12.0-1 diffutils=1:3.7-5 dpkg=1.20.9 dpkg-dev=1.20.9 dwz=0.14-1 file=1:5.39-3 findutils=4.8.0-1 g++=4:10.2.1-1 g++-10=10.2.1-6 gcc=4:10.2.1-1 gcc-10=10.2.1-6 gcc-10-base=10.2.1-6 gettext=0.21-4 gettext-base=0.21-4 golang-1.15-go=1.15.9-6 golang-1.15-src=1.15.9-6 golang-any=2:1.15~1 golang-github-creack-pty-dev=1.1.11-1 golang-github-kr-pretty-dev=0.2.1+git20200831.59b4212-1 golang-github-kr-text-dev=0.2.0-1 golang-go=2:1.15~1 golang-gopkg-check.v1-dev=0.0+git20200902.038fdea-1 golang-gopkg-errgo.v2-dev=2.1.0-2 golang-src=2:1.15~1 grep=3.6-1 groff-base=1.22.4-6 gzip=1.10-4 hostname=3.23 init-system-helpers=1.60 intltool-debian=0.35.0+20060710.5 libacl1=2.2.53-10 libarchive-zip-perl=1.68-1 libasan6=10.2.1-6 libatomic1=10.2.1-6 libattr1=1:2.4.48-6 libaudit-common=1:3.0-2 libaudit1=1:3.0-2 libbinutils=2.35.2-2 libblkid1=2.36.1-7 libbz2-1.0=1.0.8-4 libc-bin=2.31-13 libc-dev-bin=2.31-13 libc6=2.31-13 libc6-dev=2.31-13 libcap-ng0=0.7.9-2.2+b1 libcc1-0=10.2.1-6 libcom-err2=1.46.2-2 libcrypt-dev=1:4.4.18-4 libcrypt1=1:4.4.18-4 libctf-nobfd0=2.35.2-2 libctf0=2.35.2-2 libdb5.3=5.3.28+dfsg1-0.8 libdebconfclient0=0.260 libdebhelper-perl=13.3.4 libdpkg-perl=1.20.9 libelf1=0.183-3 libfile-stripnondeterminism-perl=1.12.0-1 libgcc-10-dev=10.2.1-6 libgcc-s1=10.2.1-6 libgcrypt20=1.8.7-6 libgdbm-compat4=1.19-2 libgdbm6=1.19-2 libgmp10=2:6.2.1+dfsg-1 libgomp1=10.2.1-6 libgpg-error0=1.38-2 libgssapi-krb5-2=1.18.3-5 libicu67=67.1-7 libisl23=0.23-1 libitm1=10.2.1-6 libk5crypto3=1.18.3-5 libkeyutils1=1.6.1-2 libkrb5-3=1.18.3-5 libkrb5support0=1.18.3-5 liblsan0=10.2.1-6 liblz4-1=1.9.3-2 liblzma5=5.2.5-2 libmagic-mgc=1:5.39-3 libmagic1=1:5.39-3 libmount1=2.36.1-7 libmpc3=1.2.0-1 libmpfr6=4.1.0-3 libnsl-dev=1.3.0-2 libnsl2=1.3.0-2 libpam-modules=1.4.0-9 libpam-modules-bin=1.4.0-9 libpam-runtime=1.4.0-9 libpam0g=1.4.0-9 libpcre2-8-0=10.36-2 libpcre3=2:8.39-13 libperl5.32=5.32.1-4 libpipeline1=1.5.3-1 libquadmath0=10.2.1-6 libseccomp2=2.5.1-1 libselinux1=3.1-3 libsigsegv2=2.13-1 libsmartcols1=2.36.1-7 libssl1.1=1.1.1k-1 libstdc++-10-dev=10.2.1-6 libstdc++6=10.2.1-6 libsub-override-perl=0.09-2 libsystemd0=247.3-5 libtinfo6=6.2+20201114-2 libtirpc-common=1.3.1-1 libtirpc-dev=1.3.1-1 libtirpc3=1.3.1-1 libtool=2.4.6-15 libtsan0=10.2.1-6 libubsan1=10.2.1-6 libuchardet0=0.0.7-1 libudev1=247.3-5 libunistring2=0.9.10-4 libuuid1=2.36.1-7 libxml2=2.9.10+dfsg-6.7 libzstd1=1.4.8+dfsg-2.1 linux-libc-dev=5.10.46-1 login=1:4.8.1-1 lsb-base=11.1.0 m4=1.4.18-5 make=4.3-4.1 man-db=2.9.4-2 mawk=1.3.4.20200120-2 ncurses-base=6.2+20201114-2 ncurses-bin=6.2+20201114-2 patch=2.7.6-7 perl=5.32.1-4 perl-base=5.32.1-4 perl-modules-5.32=5.32.1-4 po-debconf=1.0.21+nmu1 sed=4.7-1 sensible-utils=0.0.14 sysvinit-utils=2.96-7 tar=1.34+dfsg-1 util-linux=2.36.1-7 xz-utils=5.2.5-2 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/20210720T154042Z/ 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-sfau2g && dpkg-source --no-check -x /*.dsc /build/golang-github-rogpeppe-go-internal-sfau2g/golang-github-rogpeppe-go-internal-1.6.2 && cd /build/golang-github-rogpeppe-go-internal-sfau2g/golang-github-rogpeppe-go-internal-1.6.2 && { printf '%s' 'golang-github-rogpeppe-go-internal (1.6.2-1+b6) sid; urgency=low, binary-only=yes * Binary-only non-maintainer upload for amd64; no source changes. * Rebuild against golang-1.15 1.15.9-6 -- amd64 / i386 Build Daemon (x86-ubc-01) Sun, 18 Jul 2021 10:48:18 +0000 '; cat debian/changelog; } > debian/changelog.debrebuild && mv debian/changelog.debrebuild debian/changelog && chown -R builduser:builduser /build/golang-github-rogpeppe-go-internal-sfau2g" --customize-hook=chroot "$1" env --unset=TMPDIR runuser builduser -c "cd /build/golang-github-rogpeppe-go-internal-sfau2g/golang-github-rogpeppe-go-internal-1.6.2 && env DEB_BUILD_OPTIONS="parallel=4" LC_ALL="C.UTF-8" LC_COLLATE="C.UTF-8" SOURCE_DATE_EPOCH="1626605298" dpkg-buildpackage -uc -a amd64 --build=any" --customize-hook=sync-out /build/golang-github-rogpeppe-go-internal-sfau2g /tmp/golang-github-rogpeppe-go-internal-1.6.2-1+b6gn0ycnoi bullseye /dev/null deb http://snapshot.notset.fr/archive/debian/20210720T154042Z 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.G7d1Xcec0F 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.G7d1Xcec0F Reading package lists... Building dependency tree... util-linux is already the newest version (2.36.1-7). 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/20210720T154042Z unstable/main amd64 libfakeroot amd64 1.25.3-1.1 [47.0 kB] Get:2 http://snapshot.notset.fr/archive/debian/20210720T154042Z unstable/main amd64 fakeroot amd64 1.25.3-1.1 [87.0 kB] debconf: delaying package configuration, since apt-utils is not installed Fetched 134 kB in 0s (968 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 ... 4667 files and directories currently installed.) Preparing to unpack .../libfakeroot_1.25.3-1.1_amd64.deb ... Unpacking libfakeroot:amd64 (1.25.3-1.1) ... Selecting previously unselected package fakeroot. Preparing to unpack .../fakeroot_1.25.3-1.1_amd64.deb ... Unpacking fakeroot (1.25.3-1.1) ... Setting up libfakeroot:amd64 (1.25.3-1.1) ... Setting up fakeroot (1.25.3-1.1) ... update-alternatives: using /usr/bin/fakeroot-sysv to provide /usr/bin/fakeroot (fakeroot) in auto mode Processing triggers for libc-bin (2.31-13) ... 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/20210720T154042Z/ unstable main' >> /etc/apt/sources.list && apt-get update"' exec /tmp/mmdebstrap.G7d1Xcec0F Get:1 http://snapshot.notset.fr/archive/debian/20210814T212851Z bookworm InRelease [81.6 kB] Hit:2 http://snapshot.notset.fr/archive/debian/20210720T154042Z 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 (1004 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.G7d1Xcec0F 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-sfau2g && dpkg-source --no-check -x /*.dsc /build/golang-github-rogpeppe-go-internal-sfau2g/golang-github-rogpeppe-go-internal-1.6.2 && cd /build/golang-github-rogpeppe-go-internal-sfau2g/golang-github-rogpeppe-go-internal-1.6.2 && { printf '%s' 'golang-github-rogpeppe-go-internal (1.6.2-1+b6) sid; urgency=low, binary-only=yes * Binary-only non-maintainer upload for amd64; no source changes. * Rebuild against golang-1.15 1.15.9-6 -- amd64 / i386 Build Daemon (x86-ubc-01) Sun, 18 Jul 2021 10:48:18 +0000 '; cat debian/changelog; } > debian/changelog.debrebuild && mv debian/changelog.debrebuild debian/changelog && chown -R builduser:builduser /build/golang-github-rogpeppe-go-internal-sfau2g"' exec /tmp/mmdebstrap.G7d1Xcec0F 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 (574 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-sfau2g/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-sfau2g/golang-github-rogpeppe-go-internal-1.6.2 && env DEB_BUILD_OPTIONS="parallel=4" LC_ALL="C.UTF-8" LC_COLLATE="C.UTF-8" SOURCE_DATE_EPOCH="1626605298" dpkg-buildpackage -uc -a amd64 --build=any"' exec /tmp/mmdebstrap.G7d1Xcec0F dpkg-buildpackage: info: source package golang-github-rogpeppe-go-internal dpkg-buildpackage: info: source version 1.6.2-1+b6 dpkg-buildpackage: info: source distribution sid dpkg-buildpackage: info: source changed by amd64 / i386 Build Daemon (x86-ubc-01) dpkg-source --before-build . dpkg-buildpackage: info: host architecture amd64 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-arch dh binary-arch --buildsystem=golang --with golang dh_update_autotools_config -a -O--buildsystem=golang dh_autoreconf -a -O--buildsystem=golang dh_auto_configure -a -O--buildsystem=golang dh_auto_build -a -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 internal/unsafeheader internal/cpu runtime/internal/sys runtime/internal/atomic internal/race sync/atomic runtime/internal/math unicode internal/bytealg unicode/utf8 math/bits internal/testlog encoding math unicode/utf16 github.com/rogpeppe/go-internal/semver internal/nettrace runtime/cgo container/list runtime 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 gopkg.in/errgo.v2/errors internal/reflectlite sync internal/singleflight math/rand github.com/rogpeppe/go-internal/par errors sort internal/oserror io strconv syscall vendor/golang.org/x/net/dns/dnsmessage bytes hash crypto reflect strings hash/crc32 bufio path internal/syscall/unix time internal/syscall/execenv crypto/internal/randutil crypto/hmac crypto/rc4 vendor/golang.org/x/text/transform vendor/golang.org/x/crypto/hkdf regexp/syntax context internal/poll encoding/binary internal/fmtsort regexp os github.com/rogpeppe/go-internal/fmtsort encoding/base64 crypto/sha256 crypto/cipher crypto/sha512 fmt path/filepath crypto/aes net io/ioutil crypto/des crypto/ed25519/internal/edwards25519 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 log archive/zip compress/gzip math/big 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 vendor/golang.org/x/crypto/chacha20poly1305 crypto/rand crypto/elliptic encoding/asn1 crypto/ed25519 crypto/rsa crypto/dsa vendor/golang.org/x/crypto/cryptobyte crypto/x509/pkix vendor/golang.org/x/text/unicode/bidi vendor/golang.org/x/text/unicode/norm crypto/ecdsa vendor/golang.org/x/text/secure/bidirule vendor/golang.org/x/net/http2/hpack mime mime/quotedprintable net/http/internal github.com/rogpeppe/go-internal/imports os/exec vendor/golang.org/x/net/idna net/textproto crypto/x509 github.com/rogpeppe/go-internal/internal/os/execpath mime/multipart github.com/rogpeppe/go-internal/internal/textutil vendor/golang.org/x/net/http/httpguts vendor/golang.org/x/net/http/httpproxy runtime/debug runtime/trace gopkg.in/errgo.v2/fmt/errors go/token testing internal/lazyregexp go/scanner text/template/parse crypto/tls go/ast github.com/rogpeppe/go-internal/testenv github.com/rogpeppe/go-internal/testscript text/template go/parser internal/execabs 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 go/build github.com/rogpeppe/go-internal/cmd/txtar-x 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/modfile github.com/rogpeppe/go-internal/renameio github.com/rogpeppe/go-internal/gotooltest 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-sfau2g/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 (0.61s) === RUN TestGrowth --- PASS: TestGrowth (36.81s) === RUN TestVerifyPanic cache_test.go:139: go: internal cache error: cache verify failed: id=0100000000000000000000000000000000000000000000000000000000000000 changed:<<< >>> old: cb8379ac2098aa165029e3938a51da0bcecfc008fd6795f401178647f96c5b34 3 new: ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad 3 --- PASS: TestVerifyPanic (0.82s) === RUN TestCacheLog --- PASS: TestCacheLog (0.29s) === RUN TestCacheTrim --- PASS: TestCacheTrim (0.70s) === 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 39.480s === 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/skip === CONT TestScripts/nogo === CONT TestScripts/simple === CONT TestScripts/work === CONT TestScripts/help === CONT TestScripts/error === CONT TestScripts/env_var_with_go === 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-sfau2g/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 (0.715s) > ! 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/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-sfau2g/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.473s) > 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/testscript745027407/0/script.txt:1: unknown command "go" [stderr] error running file.txt in $WORK/tmp/testscript745027407/0 [exit status 1] > stdout 'unknown command "go"' > stderr 'error running file.txt in' 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-sfau2g/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 (3.179s) > 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-sfau2g/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/testscript184734890 > 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-sfau2g/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 (4.183s) > 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-sfau2g/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.9 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-sfau2g/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. (4.899s) > 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-sfau2g/golang-github-rogpeppe-go-internal-1.6.2/obj-x86_64-linux-gnu/go-build GOPROXY=http://127.0.0.1:35165/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/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-sfau2g/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.020s) > 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 (1.668s) > 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:38219/mod GONOSUMDB=* > env BANANA BANANA= > env GOPATH GOPATH= > env GOPROXY GOPROXY=http://127.0.0.1:38219/mod PASS > stdout ^BANANA=$ > stdout ^GOPATH=$ > stdout ^GOPROXY=http://.*/mod$ > ! stderr .+ # no GOPROXY, with pass-through, no proxy (0.808s) > 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 (0.492s) > 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 (0.103s) > 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 (0.396s) > 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:34701/mod GONOSUMDB=* > env BANANA BANANA= > env GOPATH GOPATH= > env GOPROXY GOPROXY=http://127.0.0.1:34701/mod PASS > stdout ^BANANA=$ > stdout ^GOPATH=$ > stdout ^GOPROXY=http://.*/mod$ > ! stderr .+ # with GOPROXY, with pass-through, no proxy (0.146s) > 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 (0.661s) > 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-sfau2g/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. (5.892s) > 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-sfau2g/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-sfau2g/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-build037697010=/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/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-sfau2g/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.001s) > unquote file.txt # stdin (4.303s) > 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-sfau2g/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/testscript964603101/0/script.txt:1: unexpected command failure [stderr] error running in $WORK/tmp/testscript964603101/0 [exit status 1] > stderr 'error running in' # file-based (1.614s) > ! 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-sfau2g/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/testscript075035018/0/script.txt:1: unexpected command failure [stderr] error running file.txt in $WORK/tmp/testscript075035018/0 [exit status 1] > stderr 'error running file.txt in' 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-sfau2g/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 (3.881s) > 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-sfau2g/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 (1.757s) > 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-sfau2g/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 (0.568s) > 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-sfau2g/golang-github-rogpeppe-go-internal-1.6.2/obj-x86_64-linux-gnu/go-build GOPROXY=http://127.0.0.1:41081/mod goversion=1.15 GONOSUMDB=* > env BANANA BANANA= > env GOPATH GOPATH=$WORK/gopath > env GOPROXY GOPROXY=http://127.0.0.1:41081/mod PASS > stdout ^BANANA=$ > stdout '^GOPATH=\$WORK[/\\]gopath'$ > stdout ^GOPROXY=http://.*/mod$ > ! stderr .+ # no GOPROXY, with pass-through, no proxy (0.317s) > 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-sfau2g/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 (0.282s) > 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-sfau2g/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 (0.216s) > 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-sfau2g/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 (0.208s) > 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-sfau2g/golang-github-rogpeppe-go-internal-1.6.2/obj-x86_64-linux-gnu/go-build GOPROXY=http://127.0.0.1:35969/mod goversion=1.15 GONOSUMDB=* > env BANANA BANANA= > env GOPATH GOPATH=$WORK/gopath > env GOPROXY GOPROXY=http://127.0.0.1:35969/mod PASS > stdout ^BANANA=$ > stdout '^GOPATH=\$WORK[/\\]gopath'$ > stdout ^GOPROXY=http://.*/mod$ > ! stderr .+ # with GOPROXY, with pass-through, no proxy (0.294s) > 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-sfau2g/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.182s) > 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-sfau2g/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 (1.50s) --- PASS: TestScripts/help (0.79s) --- PASS: TestScripts/nogo (1.49s) --- PASS: TestScripts/work (3.20s) --- PASS: TestScripts/skip (4.19s) --- PASS: TestScripts/simple (4.91s) --- PASS: TestScripts/env_var_no_go (5.80s) --- PASS: TestScripts/noproxy (5.91s) --- PASS: TestScripts/error (5.93s) --- PASS: TestScripts/env_var_with_go (7.71s) PASS ok github.com/rogpeppe/go-internal/cmd/testscript 9.303s === 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/shurcooL v0.0.0-20171119174359-809beceb2371 go proxy: no archive github.com 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-sfau2g/golang-github-rogpeppe-go-internal-1.6.2/obj-x86_64-linux-gnu/go-build GOPROXY=http://127.0.0.1:41785/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-sfau2g/golang-github-rogpeppe-go-internal-1.6.2/obj-x86_64-linux-gnu/go-build GOPROXY=http://127.0.0.1:41785/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-sfau2g/golang-github-rogpeppe-go-internal-1.6.2/obj-x86_64-linux-gnu/go-build GOPROXY=http://127.0.0.1:41785/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 (0.61s) --- PASS: TestScripts/encode (1.30s) --- PASS: TestScripts/to_stdout (2.99s) --- PASS: TestScripts/txtar-addmod-self (6.91s) PASS ok github.com/rogpeppe/go-internal/cmd/txtar-addmod 7.694s === 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/quote === CONT TestScripts/needquote === CONT TestScripts/txtar-savedir-self === 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/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 === 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/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.298s) > 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.534s) > 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 --- PASS: TestScripts (0.06s) --- PASS: TestScripts/needquote (0.39s) --- PASS: TestScripts/quote (0.49s) --- PASS: TestScripts/txtar-savedir-self (0.50s) --- PASS: TestScripts/all (0.84s) PASS ok github.com/rogpeppe/go-internal/cmd/txtar-c 1.076s ? 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-out-of-bounds === CONT TestScripts/extract-stdin === CONT TestScripts/extract === 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-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 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-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-dir (0.42s) --- PASS: TestScripts/extract-stdin (0.43s) --- PASS: TestScripts/extract (0.40s) --- PASS: TestScripts/extract-out-of-bounds (0.67s) PASS ok github.com/rogpeppe/go-internal/cmd/txtar-x 0.862s === 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 0.199s === 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.081s === 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-sfau2g/golang-github-rogpeppe-go-internal-1.6.2/obj-x86_64-linux-gnu/go-build GOPROXY=http://127.0.0.1:33031/mod goversion=1.15 GONOSUMDB=* # prior to go 1.12 you cannot list a module without a requirement (4.764s) > [!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 (1.02s) --- PASS: TestScripts/list (4.77s) PASS ok github.com/rogpeppe/go-internal/goproxytest 6.089s === 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-sfau2g/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 (0.47s) --- PASS: TestSimple/version (0.51s) PASS ok github.com/rogpeppe/go-internal/gotooltest 1.082s === 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.06s) === RUN TestScanStar --- PASS: TestScanStar (0.00s) PASS ok github.com/rogpeppe/go-internal/imports 0.169s ? 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.073s === RUN TestMutexExcludes === PAUSE TestMutexExcludes === RUN TestReadWaitsForLock === PAUSE TestReadWaitsForLock === RUN TestCanLockExistingFile === PAUSE TestCanLockExistingFile === RUN TestSpuriousEDEADLK --- PASS: TestSpuriousEDEADLK (0.13s) === CONT TestMutexExcludes === CONT TestCanLockExistingFile === CONT TestReadWaitsForLock === CONT TestMutexExcludes lockedfile_test.go:74: mu := MutexAt(_) lockedfile_test.go:80: unlock, _ := mu.Lock() lockedfile_test.go:83: mu2 := MutexAt(mu.Path) === 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.06s) === CONT TestReadWaitsForLock lockedfile_test.go:145: WriteString("part 2\n") = lockedfile_test.go:135: Read(_) = "part 1\npart 2\n" --- PASS: TestReadWaitsForLock (0.06s) --- PASS: TestCanLockExistingFile (0.07s) PASS ok github.com/rogpeppe/go-internal/lockedfile 0.216s === RUN TestLockExcludesLock === PAUSE TestLockExcludesLock === RUN TestLockExcludesRLock === PAUSE TestLockExcludesRLock === RUN TestRLockExcludesOnlyLock === PAUSE TestRLockExcludesOnlyLock === RUN TestLockNotDroppedByExecCommand filelock_test.go:190: fd 8 = /tmp/TestLockNotDroppedByExecCommand641379243 filelock_test.go:193: Lock(fd 8) = filelock_test.go:195: fd 9 = os.Open("/tmp/TestLockNotDroppedByExecCommand641379243") 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.09s) === CONT TestLockExcludesLock filelock_test.go:124: fd 8 = /tmp/TestLockExcludesLock741560590 filelock_test.go:127: fd 9 = os.Open("/tmp/TestLockExcludesLock741560590") filelock_test.go:130: Lock(fd 8) = === CONT TestLockExcludesRLock === CONT TestRLockExcludesOnlyLock === CONT TestLockExcludesLock filelock_test.go:131: Lock(fd 9) is blocked (as expected) asm_amd64.s:1374: Lock(fd 9) = filelock_test.go:132: Unlock(fd 8) = filelock_test.go:134: Unlock(fd 9) = === CONT TestLockExcludesRLock filelock_test.go:140: fd 10 = /tmp/TestLockExcludesRLock618874645 filelock_test.go:143: fd 8 = os.Open("/tmp/TestLockExcludesRLock618874645") filelock_test.go:146: Lock(fd 10) = --- PASS: TestLockExcludesLock (0.02s) === CONT TestRLockExcludesOnlyLock filelock_test.go:156: fd 11 = /tmp/TestRLockExcludesOnlyLock814830960 filelock_test.go:158: RLock(fd 11) = filelock_test.go:160: fd 9 = os.Open("/tmp/TestRLockExcludesOnlyLock814830960") filelock_test.go:172: RLock(fd 9) = filelock_test.go:175: fd 12 = os.Open("/tmp/TestRLockExcludesOnlyLock814830960") === CONT TestLockExcludesRLock filelock_test.go:147: RLock(fd 8) is blocked (as expected) filelock_test.go:148: Unlock(fd 10) = asm_amd64.s:1374: RLock(fd 8) = filelock_test.go:150: Unlock(fd 8) = --- PASS: TestLockExcludesRLock (0.03s) === CONT TestRLockExcludesOnlyLock filelock_test.go:177: Lock(fd 12) is blocked (as expected) filelock_test.go:179: Unlock(fd 9) = filelock_test.go:181: Unlock(fd 11) = asm_amd64.s:1374: Lock(fd 12) = filelock_test.go:184: Unlock(fd 12) = --- PASS: TestRLockExcludesOnlyLock (0.02s) PASS ok github.com/rogpeppe/go-internal/lockedfile/internal/filelock 0.377s === 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.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` (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.186s === 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.243s === RUN TestWork --- PASS: TestWork (0.10s) === RUN TestWorkParallel --- PASS: TestWorkParallel (0.02s) === RUN TestCache --- PASS: TestCache (0.00s) PASS ok github.com/rogpeppe/go-internal/par 0.193s ? 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.164s ? 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/stdin === CONT TestScripts/testscript_update_script_actual_is_file === CONT TestScripts/testscript_update_script_expected_not_in_archive === 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/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/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/testscript_update_script === CONT TestScripts/execguard === 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/values === CONT TestScripts/wait === 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/defer === CONT TestScripts/exec_path_change === CONT TestScripts/evalsymlink === CONT TestScripts/commandstatus === CONT TestScripts/cpstdout === CONT TestScripts/command === CONT TestScripts/interrupt === CONT TestScripts/readfile === CONT TestScripts/nothing === CONT TestScripts/testscript_update_script_stderr === CONT TestScripts/hello === CONT TestScripts/exists === CONT TestScripts/testscript_update_script_quote === 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/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/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/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/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_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/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 (0.727s) > 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 (0.972s) > 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/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/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 (1.315s) > exec cat hello.text [stdout] hello world > stdout 'hello world\n' > ! stderr . 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.428s) > [windows] skip > exec pwd [stdout] $WORK > stdout ^$WORK$ > exec pwd -P [stdout] $WORK > stdout ^$WORK$ 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/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.911s) > exec cat hello.txt [stdout] hello > stdin stdout > exec cat [stdout] hello > stdout hello 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/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.830s) > [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.188s) > 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.080s) > [!exec:sleep] skip > ! exec sleep 86400 & [background] sleep 86400: signal: interrupt 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/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 (7.479s) > [!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.9 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/setupfiles (0.00s) --- PASS: TestScripts/setenv (0.00s) --- PASS: TestScripts/cmpenv (0.02s) --- PASS: TestScripts/testscript_update_script_actual_is_file (0.08s) --- PASS: TestScripts/values (0.00s) --- PASS: TestScripts/regexpquote (0.07s) --- PASS: TestScripts/nothing (0.05s) --- PASS: TestScripts/defer (0.06s) --- PASS: TestScripts/testscript_update_script (0.59s) --- PASS: TestScripts/exists (0.51s) --- PASS: TestScripts/execguard (0.60s) --- PASS: TestScripts/testscript_update_script_stderr (0.58s) --- PASS: TestScripts/testscript_update_script_quote (0.57s) --- PASS: TestScripts/cpstdout (0.89s) --- PASS: TestScripts/testscript_update_script_expected_not_in_archive (0.97s) --- PASS: TestScripts/hello (1.40s) --- PASS: TestScripts/evalsymlink (1.50s) --- PASS: TestScripts/command (1.52s) --- PASS: TestScripts/interrupt (1.60s) --- PASS: TestScripts/stdin (1.91s) --- PASS: TestScripts/commandstatus (2.10s) --- PASS: TestScripts/wait (2.10s) --- PASS: TestScripts/readfile (2.24s) --- PASS: TestScripts/exec_path_change (7.84s) === RUN TestTestwork --- PASS: TestTestwork (31.47s) === 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/196610580/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.09s) --- PASS: TestWorkdirRoot/run_tests (0.00s) --- PASS: TestWorkdirRoot/run_tests/nothing (0.08s) === RUN TestBadDir --- PASS: TestBadDir (0.00s) PASS ok github.com/rogpeppe/go-internal/testscript 40.175s === 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.204s make[1]: Leaving directory '/build/golang-github-rogpeppe-go-internal-sfau2g/golang-github-rogpeppe-go-internal-1.6.2' create-stamp debian/debhelper-build-stamp dh_testroot -a -O--buildsystem=golang dh_prep -a -O--buildsystem=golang dh_auto_install -a -O--buildsystem=golang cd obj-x86_64-linux-gnu && mkdir -p /build/golang-github-rogpeppe-go-internal-sfau2g/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-sfau2g/golang-github-rogpeppe-go-internal-1.6.2/debian/tmp/usr dh_install -a -O--buildsystem=golang dh_installdocs -a -O--buildsystem=golang dh_installchangelogs -a -O--buildsystem=golang dh_installsystemduser -a -O--buildsystem=golang dh_perl -a -O--buildsystem=golang dh_link -a -O--buildsystem=golang dh_strip_nondeterminism -a -O--buildsystem=golang dh_compress -a -O--buildsystem=golang dh_fixperms -a -O--buildsystem=golang dh_missing -a -O--buildsystem=golang dh_dwz -a -a -O--buildsystem=golang dwz: debian/go-internal/usr/bin/testscript: .debug_info section not present dwz: debian/go-internal/usr/bin/txtar-addmod: .debug_info section not present dwz: debian/go-internal/usr/bin/txtar-c: .debug_info section not present dwz: debian/go-internal/usr/bin/txtar-goproxy: .debug_info section not present dwz: debian/go-internal/usr/bin/txtar-x: .debug_info section not present dwz: Too few files for multifile optimization dh_dwz: warning: No dwz multifile created, but not explicitly requested either so ignoring it. dh_dwz: warning: Common issues include no debug information at all (missing -g) and dh_dwz: warning: compressed debug information (#931891). dh_strip -a -a -O--buildsystem=golang dh_strip: warning: Could not find the BuildID in debian/go-internal/usr/bin/testscript dh_strip: warning: Could not find the BuildID in debian/go-internal/usr/bin/txtar-goproxy dh_strip: warning: Could not find the BuildID in debian/go-internal/usr/bin/txtar-addmod dh_strip: warning: Could not find the BuildID in debian/go-internal/usr/bin/txtar-x dh_strip: warning: Could not find the BuildID in debian/go-internal/usr/bin/txtar-c dh_makeshlibs -a -a -O--buildsystem=golang dh_shlibdeps -a -a -O--buildsystem=golang dh_installdeb -a -O--buildsystem=golang dh_golang -a -O--buildsystem=golang dh_gencontrol -a -O--buildsystem=golang dh_md5sums -a -O--buildsystem=golang dh_builddeb -a -O--buildsystem=golang dpkg-deb: building package 'go-internal' in '../go-internal_1.6.2-1+b6_amd64.deb'. dpkg-genbuildinfo --build=any dpkg-genchanges --build=any >../golang-github-rogpeppe-go-internal_1.6.2-1+b6_amd64.changes dpkg-genchanges: info: binary-only arch-specific upload (source code and arch-indep 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-sfau2g /tmp/golang-github-rogpeppe-go-internal-1.6.2-1+b6gn0ycnoi I: cleaning package lists and apt cache... W: deleting files in /tmp: go-test-script776379950 I: creating tarball... I: done I: removing tempdir /tmp/mmdebstrap.G7d1Xcec0F... I: success in 651.0501 seconds md5: go-internal_1.6.2-1+b6_amd64.deb: OK sha1: go-internal_1.6.2-1+b6_amd64.deb: OK sha256: go-internal_1.6.2-1+b6_amd64.deb: OK Checksums: OK