Diff of the two buildlogs: -- --- b1/build.log 2024-04-27 17:24:56.308835855 +0000 +++ b2/build.log 2024-04-27 17:26:21.349204954 +0000 @@ -1,6 +1,6 @@ I: pbuilder: network access will be disabled during build -I: Current time: Fri May 30 11:45:24 -12 2025 -I: pbuilder-time-stamp: 1748648724 +I: Current time: Sat May 31 13:47:58 +14 2025 +I: pbuilder-time-stamp: 1748648878 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/trixie-reproducible-base.tgz] I: copying local configuration @@ -28,52 +28,84 @@ dpkg-source: info: applying 246.patch I: Not using root during the build. I: Installing the build-deps -I: user script /srv/workspace/pbuilder/568903/tmp/hooks/D02_print_environment starting +I: user script /srv/workspace/pbuilder/3569016/tmp/hooks/D01_modify_environment starting +debug: Running on codethink01-arm64. +I: Changing host+domainname to test build reproducibility +I: Adding a custom variable just for the fun of it... +I: Changing /bin/sh to bash +'/bin/sh' -> '/bin/bash' +lrwxrwxrwx 1 root root 9 May 30 23:48 /bin/sh -> /bin/bash +I: Setting pbuilder2's login shell to /bin/bash +I: Setting pbuilder2's GECOS to second user,second room,second work-phone,second home-phone,second other +I: user script /srv/workspace/pbuilder/3569016/tmp/hooks/D01_modify_environment finished +I: user script /srv/workspace/pbuilder/3569016/tmp/hooks/D02_print_environment starting I: set - BUILDDIR='/build/reproducible-path' - BUILDUSERGECOS='first user,first room,first work-phone,first home-phone,first other' - BUILDUSERNAME='pbuilder1' - BUILD_ARCH='arm64' - DEBIAN_FRONTEND='noninteractive' + BASH=/bin/sh + BASHOPTS=checkwinsize:cmdhist:complete_fullquote:extquote:force_fignore:globasciiranges:globskipdots:hostcomplete:interactive_comments:patsub_replacement:progcomp:promptvars:sourcepath + BASH_ALIASES=() + BASH_ARGC=() + BASH_ARGV=() + BASH_CMDS=() + BASH_LINENO=([0]="12" [1]="0") + BASH_LOADABLES_PATH=/usr/local/lib/bash:/usr/lib/bash:/opt/local/lib/bash:/usr/pkg/lib/bash:/opt/pkg/lib/bash:. + BASH_SOURCE=([0]="/tmp/hooks/D02_print_environment" [1]="/tmp/hooks/D02_print_environment") + BASH_VERSINFO=([0]="5" [1]="2" [2]="21" [3]="1" [4]="release" [5]="aarch64-unknown-linux-gnu") + BASH_VERSION='5.2.21(1)-release' + BUILDDIR=/build/reproducible-path + BUILDUSERGECOS='second user,second room,second work-phone,second home-phone,second other' + BUILDUSERNAME=pbuilder2 + BUILD_ARCH=arm64 + DEBIAN_FRONTEND=noninteractive DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=12 ' - DISTRIBUTION='trixie' - HOME='/root' - HOST_ARCH='arm64' + DIRSTACK=() + DISTRIBUTION=trixie + EUID=0 + FUNCNAME=([0]="Echo" [1]="main") + GROUPS=() + HOME=/root + HOSTNAME=i-capture-the-hostname + HOSTTYPE=aarch64 + HOST_ARCH=arm64 IFS=' ' - INVOCATION_ID='0d2107dbfdc1437d8084d1dbfbce949c' - LANG='C' - LANGUAGE='en_US:en' - LC_ALL='C' - MAIL='/var/mail/root' - OPTIND='1' - PATH='/usr/sbin:/usr/bin:/sbin:/bin:/usr/games' - PBCURRENTCOMMANDLINEOPERATION='build' - PBUILDER_OPERATION='build' - PBUILDER_PKGDATADIR='/usr/share/pbuilder' - PBUILDER_PKGLIBDIR='/usr/lib/pbuilder' - PBUILDER_SYSCONFDIR='/etc' - PPID='568903' - PS1='# ' - PS2='> ' + INVOCATION_ID=14ca9dcdfae043369710ba3f6a6a8fa4 + LANG=C + LANGUAGE=nl_BE:nl + LC_ALL=C + MACHTYPE=aarch64-unknown-linux-gnu + MAIL=/var/mail/root + OPTERR=1 + OPTIND=1 + OSTYPE=linux-gnu + PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path + PBCURRENTCOMMANDLINEOPERATION=build + PBUILDER_OPERATION=build + PBUILDER_PKGDATADIR=/usr/share/pbuilder + PBUILDER_PKGLIBDIR=/usr/lib/pbuilder + PBUILDER_SYSCONFDIR=/etc + PIPESTATUS=([0]="0") + POSIXLY_CORRECT=y + PPID=3569016 PS4='+ ' - PWD='/' - SHELL='/bin/bash' - SHLVL='2' - SUDO_COMMAND='/usr/bin/timeout -k 18.1h 18h /usr/bin/ionice -c 3 /usr/bin/nice /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.j2JRJS38/pbuilderrc_8pES --distribution trixie --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/trixie-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.j2JRJS38/b1 --logfile b1/build.log golang-github-rogpeppe-go-internal_1.12.0-3.dsc' - SUDO_GID='109' - SUDO_UID='104' - SUDO_USER='jenkins' - TERM='unknown' - TZ='/usr/share/zoneinfo/Etc/GMT+12' - USER='root' - _='/usr/bin/systemd-run' - http_proxy='http://192.168.101.4:3128' + PWD=/ + SHELL=/bin/bash + SHELLOPTS=braceexpand:errexit:hashall:interactive-comments:posix + SHLVL=3 + SUDO_COMMAND='/usr/bin/timeout -k 24.1h 24h /usr/bin/ionice -c 3 /usr/bin/nice -n 11 /usr/bin/unshare --uts -- /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.j2JRJS38/pbuilderrc_SVIl --distribution trixie --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/trixie-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.j2JRJS38/b2 --logfile b2/build.log golang-github-rogpeppe-go-internal_1.12.0-3.dsc' + SUDO_GID=109 + SUDO_UID=104 + SUDO_USER=jenkins + TERM=unknown + TZ=/usr/share/zoneinfo/Etc/GMT-14 + UID=0 + USER=root + _='I: set' + http_proxy=http://192.168.101.4:3128 I: uname -a - Linux codethink03-arm64 6.1.0-20-cloud-arm64 #1 SMP Debian 6.1.85-1 (2024-04-11) aarch64 GNU/Linux + Linux i-capture-the-hostname 6.1.0-20-cloud-arm64 #1 SMP Debian 6.1.85-1 (2024-04-11) aarch64 GNU/Linux I: ls -l /bin - lrwxrwxrwx 1 root root 7 May 24 13:38 /bin -> usr/bin -I: user script /srv/workspace/pbuilder/568903/tmp/hooks/D02_print_environment finished + lrwxrwxrwx 1 root root 7 May 26 17:47 /bin -> usr/bin +I: user script /srv/workspace/pbuilder/3569016/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy @@ -191,7 +223,7 @@ Get: 46 http://deb.debian.org/debian trixie/main arm64 golang-golang-x-net-dev all 1:0.23.0+dfsg-1 [896 kB] Get: 47 http://deb.debian.org/debian trixie/main arm64 golang-golang-x-sync-dev all 0.6.0-1 [18.5 kB] Get: 48 http://deb.debian.org/debian trixie/main arm64 golang-golang-x-tools-dev all 1:0.19.0+ds-1 [1566 kB] -Fetched 71.7 MB in 1s (124 MB/s) +Fetched 71.7 MB in 0s (210 MB/s) debconf: delaying package configuration, since apt-utils is not installed dpkg: libssl3:arm64: dependency problems, but removing anyway as you requested: libkrb5-3:arm64 depends on libssl3 (>= 3.0.0). @@ -412,7 +444,11 @@ Building tag database... -> Finished parsing the build-deps I: Building the package -I: Running cd /build/reproducible-path/golang-github-rogpeppe-go-internal-1.12.0/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-genchanges -S > ../golang-github-rogpeppe-go-internal_1.12.0-3_source.changes +I: user script /srv/workspace/pbuilder/3569016/tmp/hooks/A99_set_merged_usr starting +Not re-configuring usrmerge for trixie +I: user script /srv/workspace/pbuilder/3569016/tmp/hooks/A99_set_merged_usr finished +hostname: Name or service not known +I: Running cd /build/reproducible-path/golang-github-rogpeppe-go-internal-1.12.0/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-genchanges -S > ../golang-github-rogpeppe-go-internal_1.12.0-3_source.changes dpkg-buildpackage: info: source package golang-github-rogpeppe-go-internal dpkg-buildpackage: info: source version 1.12.0-3 dpkg-buildpackage: info: source distribution unstable @@ -431,43 +467,43 @@ dh_auto_configure -O--builddirectory=_build -O--buildsystem=golang dh_auto_build -O--builddirectory=_build -O--buildsystem=golang cd _build && go install -trimpath -v -p 12 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/diff 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/misspell github.com/rogpeppe/go-internal/internal/os/execpath github.com/rogpeppe/go-internal/internal/syscall/windows github.com/rogpeppe/go-internal/internal/syscall/windows/sysdll 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/robustio github.com/rogpeppe/go-internal/semver github.com/rogpeppe/go-internal/testenv github.com/rogpeppe/go-internal/testscript github.com/rogpeppe/go-internal/testscript/internal/pty github.com/rogpeppe/go-internal/txtar -internal/godebugs -internal/unsafeheader -internal/goexperiment -internal/coverage/rtcov internal/goarch +internal/race +internal/goexperiment +internal/godebugs internal/goos unicode/utf8 -math/bits -crypto/internal/alias -internal/race +internal/unsafeheader +runtime/internal/syscall +sync/atomic unicode +internal/coverage/rtcov +math/bits internal/cpu -runtime/internal/syscall +internal/abi +internal/chacha8rand +runtime/internal/math +crypto/internal/alias +runtime/internal/sys crypto/subtle internal/itoa crypto/internal/boring/sig -sync/atomic cmp log/internal -internal/abi -internal/chacha8rand -runtime/internal/math -runtime/internal/sys -math encoding -slices +math unicode/utf16 -internal/nettrace +slices +internal/bytealg container/list vendor/golang.org/x/crypto/cryptobyte/asn1 +internal/nettrace vendor/golang.org/x/crypto/internal/alias github.com/rogpeppe/go-internal/internal/misspell internal/goversion -internal/bytealg -runtime/internal/atomic internal/platform github.com/rogpeppe/go-internal/internal/syscall/windows +runtime/internal/atomic github.com/rogpeppe/go-internal/internal/syscall/windows/sysdll runtime internal/reflectlite @@ -476,141 +512,141 @@ internal/bisect internal/singleflight runtime/cgo +internal/godebug errors sort -internal/godebug +internal/oserror +path +internal/safefilepath io +internal/intern math/rand -strconv crypto/internal/nistec/fiat -internal/safefilepath +strconv vendor/golang.org/x/net/dns/dnsmessage -internal/oserror -path -bytes -internal/intern hash -hash/crc32 +strings github.com/rogpeppe/go-internal/par syscall -strings -crypto/internal/randutil +bytes golang.org/x/mod/semver +crypto/internal/randutil crypto +hash/crc32 net/netip -crypto/rc4 reflect -vendor/golang.org/x/text/transform +crypto/rc4 github.com/rogpeppe/go-internal/semver +vendor/golang.org/x/text/transform bufio +go/build/constraint regexp/syntax net/http/internal/ascii -go/build/constraint regexp +internal/syscall/execenv internal/syscall/unix time -internal/syscall/execenv -internal/poll io/fs context +internal/poll encoding/binary internal/fmtsort github.com/rogpeppe/go-internal/fmtsort embed -crypto/cipher +os encoding/base64 crypto/internal/edwards25519/field -crypto/internal/nistec crypto/md5 +crypto/cipher vendor/golang.org/x/crypto/internal/poly1305 -os +crypto/internal/nistec encoding/pem +crypto/internal/edwards25519 crypto/internal/boring -crypto/des vendor/golang.org/x/crypto/chacha20 +crypto/des crypto/sha256 crypto/aes crypto/sha512 -crypto/sha1 crypto/hmac -crypto/internal/edwards25519 +crypto/sha1 vendor/golang.org/x/crypto/hkdf vendor/golang.org/x/crypto/chacha20poly1305 crypto/ecdh +github.com/rogpeppe/go-internal/lockedfile/internal/filelock fmt -io/ioutil +golang.org/x/mod/internal/lazyregexp internal/sysinfo -internal/lazyregexp -github.com/rogpeppe/go-internal/lockedfile/internal/filelock path/filepath -golang.org/x/mod/internal/lazyregexp -net +internal/lazyregexp +io/ioutil github.com/rogpeppe/go-internal/robustio +net os/exec github.com/rogpeppe/go-internal/renameio github.com/rogpeppe/go-internal/internal/os/execpath internal/goroot encoding/hex -github.com/rogpeppe/go-internal/lockedfile log flag -compress/flate -encoding/json -golang.org/x/mod/module +github.com/rogpeppe/go-internal/lockedfile golang.org/x/tools/txtar +golang.org/x/mod/module net/url +encoding/json +compress/flate math/big vendor/golang.org/x/text/unicode/norm vendor/golang.org/x/net/http2/hpack mime vendor/golang.org/x/text/unicode/bidi mime/quotedprintable -github.com/rogpeppe/go-internal/cache net/http/internal +github.com/rogpeppe/go-internal/cache github.com/rogpeppe/go-internal/diff github.com/rogpeppe/go-internal/imports runtime/debug runtime/trace github.com/rogpeppe/go-internal/testscript/internal/pty -github.com/rogpeppe/go-internal/txtar archive/zip compress/gzip +github.com/rogpeppe/go-internal/txtar go/token -internal/buildcfg go/doc/comment +internal/buildcfg +vendor/golang.org/x/text/secure/bidirule github.com/rogpeppe/go-internal/cmd/txtar-addmod -testing github.com/rogpeppe/go-internal/cmd/txtar-c -vendor/golang.org/x/text/secure/bidirule github.com/rogpeppe/go-internal/cmd/txtar-x +testing go/scanner -golang.org/x/mod/modfile vendor/golang.org/x/net/idna -go/ast +golang.org/x/mod/modfile github.com/rogpeppe/go-internal/module +go/ast github.com/rogpeppe/go-internal/dirhash crypto/rand +encoding/asn1 crypto/elliptic crypto/internal/bigmod -crypto/internal/boring/bbig -encoding/asn1 crypto/dsa -go/internal/typeparams -go/doc -github.com/rogpeppe/go-internal/modfile -go/parser +crypto/internal/boring/bbig crypto/ed25519 -github.com/rogpeppe/go-internal/testenv crypto/rsa -vendor/golang.org/x/crypto/cryptobyte +github.com/rogpeppe/go-internal/modfile +github.com/rogpeppe/go-internal/testenv +go/doc +go/internal/typeparams +go/parser crypto/x509/pkix +vendor/golang.org/x/crypto/cryptobyte crypto/ecdsa go/build github.com/rogpeppe/go-internal/testscript github.com/rogpeppe/go-internal/gotooltest -crypto/x509 -net/textproto vendor/golang.org/x/net/http/httpproxy +net/textproto +crypto/x509 vendor/golang.org/x/net/http/httpguts mime/multipart crypto/tls @@ -629,7 +665,7 @@ === RUN TestBasic --- PASS: TestBasic (0.00s) === RUN TestGrowth ---- PASS: TestGrowth (1.04s) +--- PASS: TestGrowth (0.61s) === RUN TestVerifyPanic cache_test.go:138: go: internal cache error: cache verify failed: id=0100000000000000000000000000000000000000000000000000000000000000 changed:<<< @@ -644,7 +680,7 @@ === RUN TestHashFile --- PASS: TestHashFile (0.00s) PASS -ok github.com/rogpeppe/go-internal/cache 1.108s +ok github.com/rogpeppe/go-internal/cache 0.646s === RUN TestScripts === RUN TestScripts/continue === PAUSE TestScripts/continue @@ -671,70 +707,20 @@ === RUN TestScripts/work === PAUSE TestScripts/work === CONT TestScripts/continue +=== CONT TestScripts/work === CONT TestScripts/nogo +=== CONT TestScripts/skip === CONT TestScripts/env_var_with_go +=== CONT TestScripts/update === CONT TestScripts/help -=== CONT TestScripts/skip -=== CONT TestScripts/work +=== CONT TestScripts/env_var_no_go +=== CONT TestScripts/env_values === CONT TestScripts/error === CONT TestScripts/simple -=== CONT TestScripts/env_values -=== CONT TestScripts/env_var_no_go -=== CONT TestScripts/update === CONT TestScripts/noproxy -=== NAME TestScripts/nogo - testscript.go:558: WORK=$WORK - PATH=/tmp/testscript-main4167897620/bin:/usr/lib/go-1.22/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games - GOTRACEBACK=system - HOME=/no-home - TMPDIR=$WORK/.tmp - devnull=/dev/null - /=/ - :=: - $=$ - exe= - GOPATH=$WORK/.gopath - CCACHE_DISABLE=1 - GOARCH=arm64 - GOOS=linux - GOROOT=/usr/lib/go-1.22 - GOCACHE=/build/reproducible-path/golang-github-rogpeppe-go-internal-1.12.0/_build/go-build - GOPROXY=https://proxy.golang.org,direct - goversion=1.22 - GOINTERNALMODPATH=. - GONOSUMDB=* - - # should support skip (0.000s) - > unquote file.txt - # We can't just set PATH to empty because we need the part of it that - # contains the command names, so use a special builtin instead. (0.047s) - > dropgofrompath - > ! testscript -v file.txt - [stdout] - WORK=$WORK - PATH=/tmp/testscript-main4167897620/bin:/usr/sbin:/sbin:/usr/games - GOTRACEBACK=system - HOME=/no-home - TMPDIR=$WORK/.tmp - devnull=/dev/null - /=/ - :=: - $=$ - exe= - - > go env - FAIL: $WORK/.tmp/testscript2169921715/file.txt/script.txtar:1: unknown command "go" - [stderr] - error running file.txt in $WORK/.tmp/testscript2169921715/file.txt - - [exit status 1] - > stdout 'unknown command "go"' - > stderr 'error running file.txt in' - PASS - === NAME TestScripts/help testscript.go:558: WORK=$WORK - PATH=/tmp/testscript-main4167897620/bin:/usr/lib/go-1.22/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games + PATH=/tmp/testscript-main1239457119/bin:/usr/lib/go-1.22/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path GOTRACEBACK=system HOME=/no-home TMPDIR=$WORK/.tmp @@ -754,7 +740,7 @@ GOINTERNALMODPATH=. GONOSUMDB=* - # Simply sanity check on help output (0.095s) + # Simply sanity check on help output (0.067s) > ! testscript -help [stderr] The testscript command runs github.com/rogpeppe/go-internal/testscript scripts @@ -884,9 +870,283 @@ > stderr 'Examples' PASS +=== NAME TestScripts/nogo + testscript.go:558: WORK=$WORK + PATH=/tmp/testscript-main1239457119/bin:/usr/lib/go-1.22/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path + GOTRACEBACK=system + HOME=/no-home + TMPDIR=$WORK/.tmp + devnull=/dev/null + /=/ + :=: + $=$ + exe= + GOPATH=$WORK/.gopath + CCACHE_DISABLE=1 + GOARCH=arm64 + GOOS=linux + GOROOT=/usr/lib/go-1.22 + GOCACHE=/build/reproducible-path/golang-github-rogpeppe-go-internal-1.12.0/_build/go-build + GOPROXY=https://proxy.golang.org,direct + goversion=1.22 + GOINTERNALMODPATH=. + GONOSUMDB=* + + # should support skip (0.000s) + > unquote file.txt + # We can't just set PATH to empty because we need the part of it that + # contains the command names, so use a special builtin instead. (0.069s) + > dropgofrompath + > ! testscript -v file.txt + [stdout] + WORK=$WORK + PATH=/tmp/testscript-main1239457119/bin:/usr/sbin:/sbin:/usr/games:/i/capture/the/path + GOTRACEBACK=system + HOME=/no-home + TMPDIR=$WORK/.tmp + devnull=/dev/null + /=/ + :=: + $=$ + exe= + + > go env + FAIL: $WORK/.tmp/testscript1301582251/file.txt/script.txtar:1: unknown command "go" + [stderr] + error running file.txt in $WORK/.tmp/testscript1301582251/file.txt + + [exit status 1] + > stdout 'unknown command "go"' + > stderr 'error running file.txt in' + PASS + +=== NAME TestScripts/continue + testscript.go:558: WORK=$WORK + PATH=/tmp/testscript-main1239457119/bin:/usr/lib/go-1.22/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path + GOTRACEBACK=system + HOME=/no-home + TMPDIR=$WORK/.tmp + devnull=/dev/null + /=/ + :=: + $=$ + exe= + GOPATH=$WORK/.gopath + CCACHE_DISABLE=1 + GOARCH=arm64 + GOOS=linux + GOROOT=/usr/lib/go-1.22 + GOCACHE=/build/reproducible-path/golang-github-rogpeppe-go-internal-1.12.0/_build/go-build + GOPROXY=https://proxy.golang.org,direct + goversion=1.22 + GOINTERNALMODPATH=. + GONOSUMDB=* + + # should support -continue (0.000s) + > unquote file.txt + # Running with continue, the testscript command itself + # should fail, but we should see the results of executing + # both commands. (0.166s) + > ! testscript -continue file.txt + [stdout] + > grep banana in + [in] + apple + + FAIL: $WORK/.tmp/testscript12259525/file.txt/script.txtar:1: no match for `banana` found in in + > grep apple in + [stderr] + error running file.txt in $WORK/.tmp/testscript12259525/file.txt + + [exit status 1] + > stdout 'grep banana in' + > stdout 'no match for `banana` found in in' + > stdout 'grep apple in' + PASS + +=== NAME TestScripts/update + testscript.go:558: WORK=$WORK + PATH=/tmp/testscript-main1239457119/bin:/usr/lib/go-1.22/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path + GOTRACEBACK=system + HOME=/no-home + TMPDIR=$WORK/.tmp + devnull=/dev/null + /=/ + :=: + $=$ + exe= + GOPATH=$WORK/.gopath + CCACHE_DISABLE=1 + GOARCH=arm64 + GOOS=linux + GOROOT=/usr/lib/go-1.22 + GOCACHE=/build/reproducible-path/golang-github-rogpeppe-go-internal-1.12.0/_build/go-build + GOPROXY=https://proxy.golang.org,direct + goversion=1.22 + GOINTERNALMODPATH=. + GONOSUMDB=* + + # should support the -update flag (0.000s) + > unquote in.txt res.txt + # Should be an error to use -u with only stdin (0.069s) + > stdin in.txt + > ! testscript -u + [stderr] + cannot use -u when reading from stdin + [exit status 1] + > stderr 'cannot use -u when reading from stdin' + # It is ok to use -u when reading from stdin and + # a regular file (0.101s) + > testscript -u - in.txt + [stdout] + PASS + PASS + $WORK/.tmp/testscript613275202/in.txt/script.txtar updated + > cmp in.txt res.txt + PASS + +=== NAME TestScripts/work + testscript.go:558: WORK=$WORK + PATH=/tmp/testscript-main1239457119/bin:/usr/lib/go-1.22/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path + GOTRACEBACK=system + HOME=/no-home + TMPDIR=$WORK/.tmp + devnull=/dev/null + /=/ + :=: + $=$ + exe= + GOPATH=$WORK/.gopath + CCACHE_DISABLE=1 + GOARCH=arm64 + GOOS=linux + GOROOT=/usr/lib/go-1.22 + GOCACHE=/build/reproducible-path/golang-github-rogpeppe-go-internal-1.12.0/_build/go-build + GOPROXY=https://proxy.golang.org,direct + goversion=1.22 + GOINTERNALMODPATH=. + GONOSUMDB=* + + # Test that passing -work leaves behind the working directory + # that contains the temporary directories within which the + # script arguments are expanded. + # + # This test also covers the use of multiple scripts which share + # the same basename, ensuring that the naming of the directories + # within the working directory. (0.170s) + > unquote file.txt dir/file.txt + > testscript -v -work file.txt dir/file.txt + [stdout] + WORK=$WORK + PATH=/tmp/testscript-main1239457119/bin:/usr/lib/go-1.22/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path + GOTRACEBACK=system + HOME=/no-home + TMPDIR=$WORK/.tmp + devnull=/dev/null + /=/ + :=: + $=$ + exe= + GOPATH=$WORK/.gopath + CCACHE_DISABLE=1 + GOARCH=arm64 + GOOS=linux + GOROOT=/usr/lib/go-1.22 + GOCACHE=/build/reproducible-path/golang-github-rogpeppe-go-internal-1.12.0/_build/go-build + GOPROXY=https://proxy.golang.org,direct + goversion=1.22 + + > exec true + PASS + WORK=$WORK + PATH=/tmp/testscript-main1239457119/bin:/usr/lib/go-1.22/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path + GOTRACEBACK=system + HOME=/no-home + TMPDIR=$WORK/.tmp + devnull=/dev/null + /=/ + :=: + $=$ + exe= + GOPATH=$WORK/.gopath + CCACHE_DISABLE=1 + GOARCH=arm64 + GOOS=linux + GOROOT=/usr/lib/go-1.22 + GOCACHE=/build/reproducible-path/golang-github-rogpeppe-go-internal-1.12.0/_build/go-build + GOPROXY=https://proxy.golang.org,direct + goversion=1.22 + + > exec true + PASS + [stderr] + temporary work directory: $WORK/.tmp/testscript2180898742 + temporary work directory for file.txt: $WORK/.tmp/go-test-script1328760734/script-script + temporary work directory for dir/file.txt: $WORK/.tmp/go-test-script50767227/script-script + > stderr '^temporary work directory: \Q'$WORK'\E[/\\]\.tmp[/\\]' + > stderr '^temporary work directory for file.txt: \Q'$WORK'\E[/\\]\.tmp[/\\]' + > stderr '^temporary work directory for dir[/\\]file.txt: \Q'$WORK'\E[/\\]\.tmp[/\\]' + > expandone $WORK/.tmp/testscript*/file.txt/script.txtar + > expandone $WORK/.tmp/testscript*/file.txt1/script.txtar + PASS + +=== NAME TestScripts/skip + testscript.go:558: WORK=$WORK + PATH=/tmp/testscript-main1239457119/bin:/usr/lib/go-1.22/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path + GOTRACEBACK=system + HOME=/no-home + TMPDIR=$WORK/.tmp + devnull=/dev/null + /=/ + :=: + $=$ + exe= + GOPATH=$WORK/.gopath + CCACHE_DISABLE=1 + GOARCH=arm64 + GOOS=linux + GOROOT=/usr/lib/go-1.22 + GOCACHE=/build/reproducible-path/golang-github-rogpeppe-go-internal-1.12.0/_build/go-build + GOPROXY=https://proxy.golang.org,direct + goversion=1.22 + GOINTERNALMODPATH=. + GONOSUMDB=* + + # should support skip (0.175s) + > unquote file.txt + > testscript -v file.txt + [stdout] + WORK=$WORK + PATH=/tmp/testscript-main1239457119/bin:/usr/lib/go-1.22/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path + GOTRACEBACK=system + HOME=/no-home + TMPDIR=$WORK/.tmp + devnull=/dev/null + /=/ + :=: + $=$ + exe= + GOPATH=$WORK/.gopath + CCACHE_DISABLE=1 + GOARCH=arm64 + GOOS=linux + GOROOT=/usr/lib/go-1.22 + GOCACHE=/build/reproducible-path/golang-github-rogpeppe-go-internal-1.12.0/_build/go-build + GOPROXY=https://proxy.golang.org,direct + goversion=1.22 + + > go version + [stdout] + go version go1.22.2 linux/arm64 + + > skip + > stdout 'go version' + > ! stderr .+ + PASS + === NAME TestScripts/env_var_no_go testscript.go:558: WORK=$WORK - PATH=/tmp/testscript-main4167897620/bin:/usr/lib/go-1.22/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games + PATH=/tmp/testscript-main1239457119/bin:/usr/lib/go-1.22/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path GOTRACEBACK=system HOME=/no-home TMPDIR=$WORK/.tmp @@ -915,11 +1175,11 @@ > env BANANA=banana > env GOPATH=$WORK/ourgopath > env GOPROXY= - # no GOPROXY, no pass-through, no proxy (0.056s) + # no GOPROXY, no pass-through, no proxy (0.082s) > testscript -v noproxy.txt [stdout] WORK=$WORK - PATH=/tmp/testscript-main4167897620/bin:/usr/sbin:/sbin:/usr/games + PATH=/tmp/testscript-main1239457119/bin:/usr/sbin:/sbin:/usr/games:/i/capture/the/path GOTRACEBACK=system HOME=/no-home TMPDIR=$WORK/.tmp @@ -940,11 +1200,11 @@ > stdout ^GOPATH=$ > stdout ^GOPROXY=$ > ! stderr .+ - # no GOPROXY, no pass-through, with proxy (0.036s) + # no GOPROXY, no pass-through, with proxy (0.012s) > testscript -v withproxy.txt [stdout] WORK=$WORK - PATH=/tmp/testscript-main4167897620/bin:/usr/sbin:/sbin:/usr/games + PATH=/tmp/testscript-main1239457119/bin:/usr/sbin:/sbin:/usr/games:/i/capture/the/path GOTRACEBACK=system HOME=/no-home TMPDIR=$WORK/.tmp @@ -953,7 +1213,7 @@ :=: $=$ exe= - GOPROXY=http://127.0.0.1:44263/mod + GOPROXY=http://127.0.0.1:33795/mod GONOSUMDB=* > env BANANA @@ -961,17 +1221,17 @@ > env GOPATH GOPATH= > env GOPROXY - GOPROXY=http://127.0.0.1:44263/mod + GOPROXY=http://127.0.0.1:33795/mod PASS > stdout ^BANANA=$ > stdout ^GOPATH=$ > stdout ^GOPROXY=http://.*/mod$ > ! stderr .+ - # no GOPROXY, with pass-through, no proxy (0.024s) + # no GOPROXY, with pass-through, no proxy (0.040s) > testscript -v -e BANANA -e GOPATH -e GOPROXY noproxy.txt [stdout] WORK=$WORK - PATH=/tmp/testscript-main4167897620/bin:/usr/sbin:/sbin:/usr/games + PATH=/tmp/testscript-main1239457119/bin:/usr/sbin:/sbin:/usr/games:/i/capture/the/path GOTRACEBACK=system HOME=/no-home TMPDIR=$WORK/.tmp @@ -995,11 +1255,11 @@ > stdout ^GOPATH=${WORK@R}[/\\]ourgopath$ > stdout ^GOPROXY=$ > ! stderr .+ - # no GOPROXY, with pass-through, with proxy (0.028s) + # no GOPROXY, with pass-through, with proxy (0.016s) > testscript -v -e BANANA -e GOPATH -e GOPROXY withproxy.txt [stdout] WORK=$WORK - PATH=/tmp/testscript-main4167897620/bin:/usr/sbin:/sbin:/usr/games + PATH=/tmp/testscript-main1239457119/bin:/usr/sbin:/sbin:/usr/games:/i/capture/the/path GOTRACEBACK=system HOME=/no-home TMPDIR=$WORK/.tmp @@ -1025,11 +1285,11 @@ > stdout ^GOPROXY=$ > ! stderr .+ > setfilegoproxy $WORK/proxy - # with GOPROXY, no pass-through, no proxy (0.039s) + # with GOPROXY, no pass-through, no proxy (0.004s) > testscript -v noproxy.txt [stdout] WORK=$WORK - PATH=/tmp/testscript-main4167897620/bin:/usr/sbin:/sbin:/usr/games + PATH=/tmp/testscript-main1239457119/bin:/usr/sbin:/sbin:/usr/games:/i/capture/the/path GOTRACEBACK=system HOME=/no-home TMPDIR=$WORK/.tmp @@ -1050,11 +1310,11 @@ > stdout ^GOPATH=$ > stdout ^GOPROXY=$ > ! stderr .+ - # with GOPROXY, no pass-through, with proxy (0.029s) + # with GOPROXY, no pass-through, with proxy (0.011s) > testscript -v withproxy.txt [stdout] WORK=$WORK - PATH=/tmp/testscript-main4167897620/bin:/usr/sbin:/sbin:/usr/games + PATH=/tmp/testscript-main1239457119/bin:/usr/sbin:/sbin:/usr/games:/i/capture/the/path GOTRACEBACK=system HOME=/no-home TMPDIR=$WORK/.tmp @@ -1063,7 +1323,7 @@ :=: $=$ exe= - GOPROXY=http://127.0.0.1:36959/mod + GOPROXY=http://127.0.0.1:43965/mod GONOSUMDB=* > env BANANA @@ -1071,17 +1331,17 @@ > env GOPATH GOPATH= > env GOPROXY - GOPROXY=http://127.0.0.1:36959/mod + GOPROXY=http://127.0.0.1:43965/mod PASS > stdout ^BANANA=$ > stdout ^GOPATH=$ > stdout ^GOPROXY=http://.*/mod$ > ! stderr .+ - # with GOPROXY, with pass-through, no proxy (0.035s) + # with GOPROXY, with pass-through, no proxy (0.006s) > testscript -v -e BANANA -e GOPATH -e GOPROXY noproxy.txt [stdout] WORK=$WORK - PATH=/tmp/testscript-main4167897620/bin:/usr/sbin:/sbin:/usr/games + PATH=/tmp/testscript-main1239457119/bin:/usr/sbin:/sbin:/usr/games:/i/capture/the/path GOTRACEBACK=system HOME=/no-home TMPDIR=$WORK/.tmp @@ -1105,11 +1365,11 @@ > stdout ^GOPATH=${WORK@R}[/\\]ourgopath$ > stdout ^GOPROXY=$GOPROXY$ > ! stderr .+ - # with GOPROXY, with pass-through, with proxy (0.034s) + # with GOPROXY, with pass-through, with proxy (0.009s) > testscript -v -e BANANA -e GOPATH -e GOPROXY withproxy.txt [stdout] WORK=$WORK - PATH=/tmp/testscript-main4167897620/bin:/usr/sbin:/sbin:/usr/games + PATH=/tmp/testscript-main1239457119/bin:/usr/sbin:/sbin:/usr/games:/i/capture/the/path GOTRACEBACK=system HOME=/no-home TMPDIR=$WORK/.tmp @@ -1136,233 +1396,9 @@ > ! stderr .+ PASS -=== NAME TestScripts/continue - testscript.go:558: WORK=$WORK - PATH=/tmp/testscript-main4167897620/bin:/usr/lib/go-1.22/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games - GOTRACEBACK=system - HOME=/no-home - TMPDIR=$WORK/.tmp - devnull=/dev/null - /=/ - :=: - $=$ - exe= - GOPATH=$WORK/.gopath - CCACHE_DISABLE=1 - GOARCH=arm64 - GOOS=linux - GOROOT=/usr/lib/go-1.22 - GOCACHE=/build/reproducible-path/golang-github-rogpeppe-go-internal-1.12.0/_build/go-build - GOPROXY=https://proxy.golang.org,direct - goversion=1.22 - GOINTERNALMODPATH=. - GONOSUMDB=* - - # should support -continue (0.000s) - > unquote file.txt - # Running with continue, the testscript command itself - # should fail, but we should see the results of executing - # both commands. (0.324s) - > ! testscript -continue file.txt - [stdout] - > grep banana in - [in] - apple - - FAIL: $WORK/.tmp/testscript2367061601/file.txt/script.txtar:1: no match for `banana` found in in - > grep apple in - [stderr] - error running file.txt in $WORK/.tmp/testscript2367061601/file.txt - - [exit status 1] - > stdout 'grep banana in' - > stdout 'no match for `banana` found in in' - > stdout 'grep apple in' - PASS - -=== NAME TestScripts/work - testscript.go:558: WORK=$WORK - PATH=/tmp/testscript-main4167897620/bin:/usr/lib/go-1.22/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games - GOTRACEBACK=system - HOME=/no-home - TMPDIR=$WORK/.tmp - devnull=/dev/null - /=/ - :=: - $=$ - exe= - GOPATH=$WORK/.gopath - CCACHE_DISABLE=1 - GOARCH=arm64 - GOOS=linux - GOROOT=/usr/lib/go-1.22 - GOCACHE=/build/reproducible-path/golang-github-rogpeppe-go-internal-1.12.0/_build/go-build - GOPROXY=https://proxy.golang.org,direct - goversion=1.22 - GOINTERNALMODPATH=. - GONOSUMDB=* - - # Test that passing -work leaves behind the working directory - # that contains the temporary directories within which the - # script arguments are expanded. - # - # This test also covers the use of multiple scripts which share - # the same basename, ensuring that the naming of the directories - # within the working directory. (0.305s) - > unquote file.txt dir/file.txt - > testscript -v -work file.txt dir/file.txt - [stdout] - WORK=$WORK - PATH=/tmp/testscript-main4167897620/bin:/usr/lib/go-1.22/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games - GOTRACEBACK=system - HOME=/no-home - TMPDIR=$WORK/.tmp - devnull=/dev/null - /=/ - :=: - $=$ - exe= - GOPATH=$WORK/.gopath - CCACHE_DISABLE=1 - GOARCH=arm64 - GOOS=linux - GOROOT=/usr/lib/go-1.22 - GOCACHE=/build/reproducible-path/golang-github-rogpeppe-go-internal-1.12.0/_build/go-build - GOPROXY=https://proxy.golang.org,direct - goversion=1.22 - - > exec true - PASS - WORK=$WORK - PATH=/tmp/testscript-main4167897620/bin:/usr/lib/go-1.22/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games - GOTRACEBACK=system - HOME=/no-home - TMPDIR=$WORK/.tmp - devnull=/dev/null - /=/ - :=: - $=$ - exe= - GOPATH=$WORK/.gopath - CCACHE_DISABLE=1 - GOARCH=arm64 - GOOS=linux - GOROOT=/usr/lib/go-1.22 - GOCACHE=/build/reproducible-path/golang-github-rogpeppe-go-internal-1.12.0/_build/go-build - GOPROXY=https://proxy.golang.org,direct - goversion=1.22 - - > exec true - PASS - [stderr] - temporary work directory: $WORK/.tmp/testscript3800125087 - temporary work directory for file.txt: $WORK/.tmp/go-test-script3469570801/script-script - temporary work directory for dir/file.txt: $WORK/.tmp/go-test-script3787781727/script-script - > stderr '^temporary work directory: \Q'$WORK'\E[/\\]\.tmp[/\\]' - > stderr '^temporary work directory for file.txt: \Q'$WORK'\E[/\\]\.tmp[/\\]' - > stderr '^temporary work directory for dir[/\\]file.txt: \Q'$WORK'\E[/\\]\.tmp[/\\]' - > expandone $WORK/.tmp/testscript*/file.txt/script.txtar - > expandone $WORK/.tmp/testscript*/file.txt1/script.txtar - PASS - -=== NAME TestScripts/update - testscript.go:558: WORK=$WORK - PATH=/tmp/testscript-main4167897620/bin:/usr/lib/go-1.22/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games - GOTRACEBACK=system - HOME=/no-home - TMPDIR=$WORK/.tmp - devnull=/dev/null - /=/ - :=: - $=$ - exe= - GOPATH=$WORK/.gopath - CCACHE_DISABLE=1 - GOARCH=arm64 - GOOS=linux - GOROOT=/usr/lib/go-1.22 - GOCACHE=/build/reproducible-path/golang-github-rogpeppe-go-internal-1.12.0/_build/go-build - GOPROXY=https://proxy.golang.org,direct - goversion=1.22 - GOINTERNALMODPATH=. - GONOSUMDB=* - - # should support the -update flag (0.000s) - > unquote in.txt res.txt - # Should be an error to use -u with only stdin (0.024s) - > stdin in.txt - > ! testscript -u - [stderr] - cannot use -u when reading from stdin - [exit status 1] - > stderr 'cannot use -u when reading from stdin' - # It is ok to use -u when reading from stdin and - # a regular file (0.261s) - > testscript -u - in.txt - [stdout] - PASS - PASS - $WORK/.tmp/testscript2869213729/in.txt/script.txtar updated - > cmp in.txt res.txt - PASS - -=== NAME TestScripts/skip - testscript.go:558: WORK=$WORK - PATH=/tmp/testscript-main4167897620/bin:/usr/lib/go-1.22/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games - GOTRACEBACK=system - HOME=/no-home - TMPDIR=$WORK/.tmp - devnull=/dev/null - /=/ - :=: - $=$ - exe= - GOPATH=$WORK/.gopath - CCACHE_DISABLE=1 - GOARCH=arm64 - GOOS=linux - GOROOT=/usr/lib/go-1.22 - GOCACHE=/build/reproducible-path/golang-github-rogpeppe-go-internal-1.12.0/_build/go-build - GOPROXY=https://proxy.golang.org,direct - goversion=1.22 - GOINTERNALMODPATH=. - GONOSUMDB=* - - # should support skip (0.336s) - > unquote file.txt - > testscript -v file.txt - [stdout] - WORK=$WORK - PATH=/tmp/testscript-main4167897620/bin:/usr/lib/go-1.22/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games - GOTRACEBACK=system - HOME=/no-home - TMPDIR=$WORK/.tmp - devnull=/dev/null - /=/ - :=: - $=$ - exe= - GOPATH=$WORK/.gopath - CCACHE_DISABLE=1 - GOARCH=arm64 - GOOS=linux - GOROOT=/usr/lib/go-1.22 - GOCACHE=/build/reproducible-path/golang-github-rogpeppe-go-internal-1.12.0/_build/go-build - GOPROXY=https://proxy.golang.org,direct - goversion=1.22 - - > go version - [stdout] - go version go1.22.2 linux/arm64 - - > skip - > stdout 'go version' - > ! stderr .+ - PASS - === NAME TestScripts/noproxy testscript.go:558: WORK=$WORK - PATH=/tmp/testscript-main4167897620/bin:/usr/lib/go-1.22/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games + PATH=/tmp/testscript-main1239457119/bin:/usr/lib/go-1.22/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path GOTRACEBACK=system HOME=/no-home TMPDIR=$WORK/.tmp @@ -1385,13 +1421,13 @@ # With no .gomodproxy supporting files, we use the GOPROXY from # the environment. # Note that Go 1.21 started quoting with single quotes in "go env", - # where older versions used double quotes. (0.308s) + # where older versions used double quotes. (0.115s) > env GOPROXY=0.1.2.3 > unquote file.txt > testscript -v file.txt [stdout] WORK=$WORK - PATH=/tmp/testscript-main4167897620/bin:/usr/lib/go-1.22/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games + PATH=/tmp/testscript-main1239457119/bin:/usr/lib/go-1.22/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path GOTRACEBACK=system HOME=/no-home TMPDIR=$WORK/.tmp @@ -1449,7 +1485,7 @@ CGO_FFLAGS='-O2 -g' CGO_LDFLAGS='-O2 -g' PKG_CONFIG='pkg-config' - GOGCCFLAGS='-fPIC -pthread -Wl,--no-gc-sections -fmessage-length=0 -ffile-prefix-map=$WORK/.tmp/go-build82977131=/tmp/go-build -gno-record-gcc-switches' + GOGCCFLAGS='-fPIC -pthread -Wl,--no-gc-sections -fmessage-length=0 -ffile-prefix-map=$WORK/.tmp/go-build991506714=/tmp/go-build -gno-record-gcc-switches' > [!windows] stdout '^GOPROXY=[''"]0.1.2.3[''"]$' > [windows] stdout '^set GOPROXY=0.1.2.3$' @@ -1458,7 +1494,7 @@ === NAME TestScripts/simple testscript.go:558: WORK=$WORK - PATH=/tmp/testscript-main4167897620/bin:/usr/lib/go-1.22/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games + PATH=/tmp/testscript-main1239457119/bin:/usr/lib/go-1.22/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path GOTRACEBACK=system HOME=/no-home TMPDIR=$WORK/.tmp @@ -1479,13 +1515,13 @@ GONOSUMDB=* # With .gomodproxy supporting files, any GOPROXY from the - # environment should be overridden by the test proxy. (0.387s) + # environment should be overridden by the test proxy. (0.132s) > env GOPROXY=0.1.2.3 > unquote file.txt > testscript -v file.txt [stdout] WORK=$WORK - PATH=/tmp/testscript-main4167897620/bin:/usr/lib/go-1.22/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games + PATH=/tmp/testscript-main1239457119/bin:/usr/lib/go-1.22/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path GOTRACEBACK=system HOME=/no-home TMPDIR=$WORK/.tmp @@ -1500,7 +1536,7 @@ GOOS=linux GOROOT=/usr/lib/go-1.22 GOCACHE=/build/reproducible-path/golang-github-rogpeppe-go-internal-1.12.0/_build/go-build - GOPROXY=http://127.0.0.1:35231/mod + GOPROXY=http://127.0.0.1:36297/mod goversion=1.22 GONOSUMDB=* @@ -1525,9 +1561,9 @@ > ! stderr .+ PASS -=== NAME TestScripts/env_values +=== NAME TestScripts/error testscript.go:558: WORK=$WORK - PATH=/tmp/testscript-main4167897620/bin:/usr/lib/go-1.22/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games + PATH=/tmp/testscript-main1239457119/bin:/usr/lib/go-1.22/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path GOTRACEBACK=system HOME=/no-home TMPDIR=$WORK/.tmp @@ -1547,30 +1583,14 @@ GOINTERNALMODPATH=. GONOSUMDB=* - # Test that passing env values, e.g. ENV1=val, works (0.000s) - > unquote test.txt - > env BLAH1= - > env BLAH2=junk - # Normal operation (0.302s) - > testscript -e BLAH1=rubbish -e BLAH2 test.txt - [stdout] - PASS - # It is an error to specify WORK. Note the error message - # appears on stdout because it is written to the log output - # of testscript, which has no concept of stderr. (0.180s) - > ! testscript -e BLAH1=rubbish -e BLAH2 -e WORK test.txt + # should support skip (0.000s) + > unquote file.txt + # stdin (0.164s) + > stdin file.txt + > ! testscript -v [stdout] - FAIL: $WORK/.tmp/testscript3058517142/test.txt/script.txtar:0: cannot override WORK variable - [stderr] - error running test.txt in $WORK/.tmp/testscript3058517142/test.txt - - [exit status 1] - > stdout 'cannot override WORK variable' - PASS - -=== NAME TestScripts/error - testscript.go:558: WORK=$WORK - PATH=/tmp/testscript-main4167897620/bin:/usr/lib/go-1.22/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games + WORK=$WORK + PATH=/tmp/testscript-main1239457119/bin:/usr/lib/go-1.22/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path GOTRACEBACK=system HOME=/no-home TMPDIR=$WORK/.tmp @@ -1587,17 +1607,20 @@ GOCACHE=/build/reproducible-path/golang-github-rogpeppe-go-internal-1.12.0/_build/go-build GOPROXY=https://proxy.golang.org,direct goversion=1.22 - GOINTERNALMODPATH=. - GONOSUMDB=* - # should support skip (0.000s) - > unquote file.txt - # stdin (0.288s) - > stdin file.txt - > ! testscript -v + > exec false + [exit status 1] + FAIL: $WORK/.tmp/testscript1314946316/-/script.txtar:1: unexpected command failure + [stderr] + error running in $WORK/.tmp/testscript1314946316/- + + [exit status 1] + > stderr 'error running in' + # file-based (0.064s) + > ! testscript -v file.txt [stdout] WORK=$WORK - PATH=/tmp/testscript-main4167897620/bin:/usr/lib/go-1.22/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games + PATH=/tmp/testscript-main1239457119/bin:/usr/lib/go-1.22/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path GOTRACEBACK=system HOME=/no-home TMPDIR=$WORK/.tmp @@ -1617,17 +1640,17 @@ > exec false [exit status 1] - FAIL: $WORK/.tmp/testscript4157735304/-/script.txtar:1: unexpected command failure + FAIL: $WORK/.tmp/testscript2523028142/file.txt/script.txtar:1: unexpected command failure [stderr] - error running in $WORK/.tmp/testscript4157735304/- + error running file.txt in $WORK/.tmp/testscript2523028142/file.txt [exit status 1] - > stderr 'error running in' - # file-based (0.215s) - > ! testscript -v file.txt - [stdout] - WORK=$WORK - PATH=/tmp/testscript-main4167897620/bin:/usr/lib/go-1.22/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games + > stderr 'error running file.txt in' + PASS + +=== NAME TestScripts/env_values + testscript.go:558: WORK=$WORK + PATH=/tmp/testscript-main1239457119/bin:/usr/lib/go-1.22/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path GOTRACEBACK=system HOME=/no-home TMPDIR=$WORK/.tmp @@ -1644,20 +1667,33 @@ GOCACHE=/build/reproducible-path/golang-github-rogpeppe-go-internal-1.12.0/_build/go-build GOPROXY=https://proxy.golang.org,direct goversion=1.22 + GOINTERNALMODPATH=. + GONOSUMDB=* - > exec false - [exit status 1] - FAIL: $WORK/.tmp/testscript2573646985/file.txt/script.txtar:1: unexpected command failure + # Test that passing env values, e.g. ENV1=val, works (0.000s) + > unquote test.txt + > env BLAH1= + > env BLAH2=junk + # Normal operation (0.181s) + > testscript -e BLAH1=rubbish -e BLAH2 test.txt + [stdout] + PASS + # It is an error to specify WORK. Note the error message + # appears on stdout because it is written to the log output + # of testscript, which has no concept of stderr. (0.077s) + > ! testscript -e BLAH1=rubbish -e BLAH2 -e WORK test.txt + [stdout] + FAIL: $WORK/.tmp/testscript2501475584/test.txt/script.txtar:0: cannot override WORK variable [stderr] - error running file.txt in $WORK/.tmp/testscript2573646985/file.txt + error running test.txt in $WORK/.tmp/testscript2501475584/test.txt [exit status 1] - > stderr 'error running file.txt in' + > stdout 'cannot override WORK variable' PASS === NAME TestScripts/env_var_with_go testscript.go:558: WORK=$WORK - PATH=/tmp/testscript-main4167897620/bin:/usr/lib/go-1.22/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games + PATH=/tmp/testscript-main1239457119/bin:/usr/lib/go-1.22/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path GOTRACEBACK=system HOME=/no-home TMPDIR=$WORK/.tmp @@ -1686,11 +1722,11 @@ # This is the counterpart to env_var_no_go.txt (0.000s) > unquote noproxy.txt > unquote withproxy.txt - # Baseline (0.308s) + # Baseline (0.171s) > testscript -v noproxy.txt [stdout] WORK=$WORK - PATH=/tmp/testscript-main4167897620/bin:/usr/lib/go-1.22/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games + PATH=/tmp/testscript-main1239457119/bin:/usr/lib/go-1.22/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path GOTRACEBACK=system HOME=/no-home TMPDIR=$WORK/.tmp @@ -1722,11 +1758,11 @@ > env BANANA=banana > env GOPATH=$WORK/ourgopath > env GOPROXY= - # no GOPROXY, no pass-through, no proxy (0.169s) + # no GOPROXY, no pass-through, no proxy (0.034s) > testscript -v noproxy.txt [stdout] WORK=$WORK - PATH=/tmp/testscript-main4167897620/bin:/usr/lib/go-1.22/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games + PATH=/tmp/testscript-main1239457119/bin:/usr/lib/go-1.22/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path GOTRACEBACK=system HOME=/no-home TMPDIR=$WORK/.tmp @@ -1755,11 +1791,11 @@ > stdout '^GOPATH=\$WORK[/\\]\.gopath'$ > stdout ^GOPROXY=https://proxy.golang.org,direct$ > ! stderr .+ - # no GOPROXY, no pass-through, with proxy (0.190s) + # no GOPROXY, no pass-through, with proxy (0.033s) > testscript -v withproxy.txt [stdout] WORK=$WORK - PATH=/tmp/testscript-main4167897620/bin:/usr/lib/go-1.22/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games + PATH=/tmp/testscript-main1239457119/bin:/usr/lib/go-1.22/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path GOTRACEBACK=system HOME=/no-home TMPDIR=$WORK/.tmp @@ -1774,7 +1810,7 @@ GOOS=linux GOROOT=/usr/lib/go-1.22 GOCACHE=/build/reproducible-path/golang-github-rogpeppe-go-internal-1.12.0/_build/go-build - GOPROXY=http://127.0.0.1:36309/mod + GOPROXY=http://127.0.0.1:33695/mod goversion=1.22 GONOSUMDB=* @@ -1783,17 +1819,17 @@ > env GOPATH GOPATH=$WORK/.gopath > env GOPROXY - GOPROXY=http://127.0.0.1:36309/mod + GOPROXY=http://127.0.0.1:33695/mod PASS > stdout ^BANANA=$ > stdout '^GOPATH=\$WORK[/\\]\.gopath'$ > stdout ^GOPROXY=http://.*/mod$ > ! stderr .+ - # no GOPROXY, with pass-through, no proxy (0.200s) + # no GOPROXY, with pass-through, no proxy (0.048s) > testscript -v -e BANANA -e GOPATH -e GOPROXY noproxy.txt [stdout] WORK=$WORK - PATH=/tmp/testscript-main4167897620/bin:/usr/lib/go-1.22/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games + PATH=/tmp/testscript-main1239457119/bin:/usr/lib/go-1.22/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path GOTRACEBACK=system HOME=/no-home TMPDIR=$WORK/.tmp @@ -1823,11 +1859,11 @@ > stdout ^GOPATH=${WORK@R}[/\\]ourgopath$ > stdout ^GOPROXY=$ > ! stderr .+ - # no GOPROXY, with pass-through, with proxy (0.176s) + # no GOPROXY, with pass-through, with proxy (0.051s) > testscript -v -e BANANA -e GOPATH -e GOPROXY withproxy.txt [stdout] WORK=$WORK - PATH=/tmp/testscript-main4167897620/bin:/usr/lib/go-1.22/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games + PATH=/tmp/testscript-main1239457119/bin:/usr/lib/go-1.22/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path GOTRACEBACK=system HOME=/no-home TMPDIR=$WORK/.tmp @@ -1859,11 +1895,11 @@ > stdout ^GOPROXY=$ > ! stderr .+ > setfilegoproxy $WORK/proxy - # with GOPROXY, no pass-through, no proxy (0.217s) + # with GOPROXY, no pass-through, no proxy (0.043s) > testscript -v noproxy.txt [stdout] WORK=$WORK - PATH=/tmp/testscript-main4167897620/bin:/usr/lib/go-1.22/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games + PATH=/tmp/testscript-main1239457119/bin:/usr/lib/go-1.22/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path GOTRACEBACK=system HOME=/no-home TMPDIR=$WORK/.tmp @@ -1892,11 +1928,11 @@ > stdout '^GOPATH=\$WORK[/\\]\.gopath'$ > stdout ^GOPROXY=$GOPROXY$ > ! stderr .+ - # with GOPROXY, no pass-through, with proxy (0.199s) + # with GOPROXY, no pass-through, with proxy (0.057s) > testscript -v withproxy.txt [stdout] WORK=$WORK - PATH=/tmp/testscript-main4167897620/bin:/usr/lib/go-1.22/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games + PATH=/tmp/testscript-main1239457119/bin:/usr/lib/go-1.22/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path GOTRACEBACK=system HOME=/no-home TMPDIR=$WORK/.tmp @@ -1911,7 +1947,7 @@ GOOS=linux GOROOT=/usr/lib/go-1.22 GOCACHE=/build/reproducible-path/golang-github-rogpeppe-go-internal-1.12.0/_build/go-build - GOPROXY=http://127.0.0.1:41555/mod + GOPROXY=http://127.0.0.1:43707/mod goversion=1.22 GONOSUMDB=* @@ -1920,17 +1956,17 @@ > env GOPATH GOPATH=$WORK/.gopath > env GOPROXY - GOPROXY=http://127.0.0.1:41555/mod + GOPROXY=http://127.0.0.1:43707/mod PASS > stdout ^BANANA=$ > stdout '^GOPATH=\$WORK[/\\]\.gopath'$ > stdout ^GOPROXY=http://.*/mod$ > ! stderr .+ - # with GOPROXY, with pass-through, no proxy (0.208s) + # with GOPROXY, with pass-through, no proxy (0.054s) > testscript -v -e BANANA -e GOPATH -e GOPROXY noproxy.txt [stdout] WORK=$WORK - PATH=/tmp/testscript-main4167897620/bin:/usr/lib/go-1.22/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games + PATH=/tmp/testscript-main1239457119/bin:/usr/lib/go-1.22/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path GOTRACEBACK=system HOME=/no-home TMPDIR=$WORK/.tmp @@ -1960,11 +1996,11 @@ > stdout ^GOPATH=${WORK@R}[/\\]ourgopath$ > stdout ^GOPROXY=$GOPROXY$ > ! stderr .+ - # with GOPROXY, with pass-through, with proxy (0.220s) + # with GOPROXY, with pass-through, with proxy (0.055s) > testscript -v -e BANANA -e GOPATH -e GOPROXY withproxy.txt [stdout] WORK=$WORK - PATH=/tmp/testscript-main4167897620/bin:/usr/lib/go-1.22/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games + PATH=/tmp/testscript-main1239457119/bin:/usr/lib/go-1.22/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path GOTRACEBACK=system HOME=/no-home TMPDIR=$WORK/.tmp @@ -1997,21 +2033,21 @@ > ! stderr .+ PASS ---- PASS: TestScripts (0.17s) - --- PASS: TestScripts/nogo (0.06s) - --- PASS: TestScripts/help (0.10s) - --- PASS: TestScripts/env_var_no_go (0.28s) - --- PASS: TestScripts/continue (0.32s) - --- PASS: TestScripts/work (0.31s) - --- PASS: TestScripts/update (0.29s) - --- PASS: TestScripts/skip (0.34s) - --- PASS: TestScripts/noproxy (0.31s) - --- PASS: TestScripts/simple (0.39s) - --- PASS: TestScripts/env_values (0.48s) - --- PASS: TestScripts/error (0.50s) - --- PASS: TestScripts/env_var_with_go (1.89s) +--- PASS: TestScripts (0.07s) + --- PASS: TestScripts/help (0.07s) + --- PASS: TestScripts/nogo (0.07s) + --- PASS: TestScripts/continue (0.17s) + --- PASS: TestScripts/update (0.17s) + --- PASS: TestScripts/work (0.17s) + --- PASS: TestScripts/skip (0.17s) + --- PASS: TestScripts/env_var_no_go (0.18s) + --- PASS: TestScripts/noproxy (0.12s) + --- PASS: TestScripts/simple (0.13s) + --- PASS: TestScripts/error (0.23s) + --- PASS: TestScripts/env_values (0.26s) + --- PASS: TestScripts/env_var_with_go (0.55s) PASS -ok github.com/rogpeppe/go-internal/cmd/testscript 2.124s +ok github.com/rogpeppe/go-internal/cmd/testscript 0.629s ? github.com/rogpeppe/go-internal/cmd/txtar-goproxy [no test files] === RUN TestScripts === RUN TestScripts/encode @@ -2023,11 +2059,11 @@ === 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 +go proxy: no archive github.com/shurcooL v0.0.0-20171119174359-809beceb2371 === NAME TestScripts/encode testscript.go:558: WORK=$WORK - PATH=/tmp/testscript-main266200882/bin:/usr/lib/go-1.22/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games + PATH=/tmp/testscript-main330264338/bin:/usr/lib/go-1.22/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path GOTRACEBACK=system HOME=/no-home TMPDIR=$WORK/.tmp @@ -2042,7 +2078,7 @@ GOOS=linux GOROOT=/usr/lib/go-1.22 GOCACHE=/build/reproducible-path/golang-github-rogpeppe-go-internal-1.12.0/_build/go-build - GOPROXY=http://127.0.0.1:34687/mod + GOPROXY=http://127.0.0.1:36631/mod goversion=1.22 GONOSUMDB=* @@ -2055,7 +2091,7 @@ === NAME TestScripts/to_stdout testscript.go:558: WORK=$WORK - PATH=/tmp/testscript-main266200882/bin:/usr/lib/go-1.22/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games + PATH=/tmp/testscript-main330264338/bin:/usr/lib/go-1.22/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path GOTRACEBACK=system HOME=/no-home TMPDIR=$WORK/.tmp @@ -2070,7 +2106,7 @@ GOOS=linux GOROOT=/usr/lib/go-1.22 GOCACHE=/build/reproducible-path/golang-github-rogpeppe-go-internal-1.12.0/_build/go-build - GOPROXY=http://127.0.0.1:34687/mod + GOPROXY=http://127.0.0.1:36631/mod goversion=1.22 GONOSUMDB=* @@ -2097,7 +2133,7 @@ === NAME TestScripts/txtar-addmod-self testscript.go:558: WORK=$WORK - PATH=/tmp/testscript-main266200882/bin:/usr/lib/go-1.22/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games + PATH=/tmp/testscript-main330264338/bin:/usr/lib/go-1.22/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path GOTRACEBACK=system HOME=/no-home TMPDIR=$WORK/.tmp @@ -2112,7 +2148,7 @@ GOOS=linux GOROOT=/usr/lib/go-1.22 GOCACHE=/build/reproducible-path/golang-github-rogpeppe-go-internal-1.12.0/_build/go-build - GOPROXY=http://127.0.0.1:34687/mod + GOPROXY=http://127.0.0.1:36631/mod goversion=1.22 GONOSUMDB=* @@ -2126,12 +2162,12 @@ > grep '-- foobar --' $WORK/out/github.com_gobin-testrepos_simple-main_v1.0.0.txtar PASS ---- PASS: TestScripts (0.14s) - --- PASS: TestScripts/encode (0.14s) - --- PASS: TestScripts/to_stdout (0.18s) - --- PASS: TestScripts/txtar-addmod-self (0.32s) +--- PASS: TestScripts (0.06s) + --- PASS: TestScripts/encode (0.05s) + --- PASS: TestScripts/to_stdout (0.09s) + --- PASS: TestScripts/txtar-addmod-self (0.16s) PASS -ok github.com/rogpeppe/go-internal/cmd/txtar-addmod 0.503s +ok github.com/rogpeppe/go-internal/cmd/txtar-addmod 0.236s === RUN TestScripts === RUN TestScripts/all === PAUSE TestScripts/all @@ -2142,12 +2178,11 @@ === RUN TestScripts/txtar-savedir-self === PAUSE TestScripts/txtar-savedir-self === CONT TestScripts/all -=== CONT TestScripts/txtar-savedir-self === CONT TestScripts/quote +=== CONT TestScripts/txtar-savedir-self === CONT TestScripts/needquote -=== NAME TestScripts/txtar-savedir-self testscript.go:558: WORK=$WORK - PATH=/tmp/testscript-main4232141112/bin:/usr/lib/go-1.22/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games + PATH=/tmp/testscript-main1704604696/bin:/usr/lib/go-1.22/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path GOTRACEBACK=system HOME=/no-home TMPDIR=$WORK/.tmp @@ -2157,29 +2192,21 @@ $=$ exe= + > unquote blah/withsep > 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 .+ + -- 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 -=== NAME TestScripts/needquote +=== NAME TestScripts/txtar-savedir-self testscript.go:558: WORK=$WORK - PATH=/tmp/testscript-main4232141112/bin:/usr/lib/go-1.22/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games + PATH=/tmp/testscript-main1704604696/bin:/usr/lib/go-1.22/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path GOTRACEBACK=system HOME=/no-home TMPDIR=$WORK/.tmp @@ -2189,21 +2216,29 @@ $=$ 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' + -- 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 === NAME TestScripts/quote testscript.go:558: WORK=$WORK - PATH=/tmp/testscript-main4232141112/bin:/usr/lib/go-1.22/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games + PATH=/tmp/testscript-main1704604696/bin:/usr/lib/go-1.22/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path GOTRACEBACK=system HOME=/no-home TMPDIR=$WORK/.tmp @@ -2227,7 +2262,7 @@ === NAME TestScripts/all testscript.go:558: WORK=$WORK - PATH=/tmp/testscript-main4232141112/bin:/usr/lib/go-1.22/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games + PATH=/tmp/testscript-main1704604696/bin:/usr/lib/go-1.22/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path GOTRACEBACK=system HOME=/no-home TMPDIR=$WORK/.tmp @@ -2239,7 +2274,7 @@ > unquote expect-all > unquote expect-no-all - # Without the -a flag, it should ignore . files. (0.035s) + # Without the -a flag, it should ignore . files. (0.003s) > txtar-c blah [stdout] -- go.mod -- @@ -2255,7 +2290,7 @@ } > ! stderr .+ > cmp stdout expect-no-all - # With the -a flag, it should include them. (0.047s) + # With the -a flag, it should include them. (0.004s) > txtar-c -a blah [stdout] -- .foo/foo -- @@ -2278,12 +2313,12 @@ PASS --- PASS: TestScripts (0.00s) - --- PASS: TestScripts/txtar-savedir-self (0.04s) - --- PASS: TestScripts/needquote (0.04s) - --- PASS: TestScripts/quote (0.05s) - --- PASS: TestScripts/all (0.08s) + --- PASS: TestScripts/needquote (0.00s) + --- PASS: TestScripts/txtar-savedir-self (0.00s) + --- PASS: TestScripts/quote (0.00s) + --- PASS: TestScripts/all (0.01s) PASS -ok github.com/rogpeppe/go-internal/cmd/txtar-c 0.120s +ok github.com/rogpeppe/go-internal/cmd/txtar-c 0.014s === RUN TestScripts === RUN TestScripts/extract-dir === PAUSE TestScripts/extract-dir @@ -2294,12 +2329,12 @@ === RUN TestScripts/extract === PAUSE TestScripts/extract === CONT TestScripts/extract-dir -=== CONT TestScripts/extract === CONT TestScripts/extract-stdin === CONT TestScripts/extract-out-of-bounds +=== CONT TestScripts/extract === NAME TestScripts/extract-dir testscript.go:558: WORK=$WORK - PATH=/tmp/testscript-main3245878788/bin:/usr/lib/go-1.22/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games + PATH=/tmp/testscript-main2704146015/bin:/usr/lib/go-1.22/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path GOTRACEBACK=system HOME=/no-home TMPDIR=$WORK/.tmp @@ -2317,7 +2352,7 @@ === NAME TestScripts/extract testscript.go:558: WORK=$WORK - PATH=/tmp/testscript-main3245878788/bin:/usr/lib/go-1.22/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games + PATH=/tmp/testscript-main2704146015/bin:/usr/lib/go-1.22/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path GOTRACEBACK=system HOME=/no-home TMPDIR=$WORK/.tmp @@ -2333,28 +2368,9 @@ > cmp a/b/bar expect/a/b/bar PASS -=== NAME TestScripts/extract-stdin - testscript.go:558: WORK=$WORK - PATH=/tmp/testscript-main3245878788/bin:/usr/lib/go-1.22/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games - GOTRACEBACK=system - 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 - === NAME TestScripts/extract-out-of-bounds testscript.go:558: WORK=$WORK - PATH=/tmp/testscript-main3245878788/bin:/usr/lib/go-1.22/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games + PATH=/tmp/testscript-main2704146015/bin:/usr/lib/go-1.22/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path GOTRACEBACK=system HOME=/no-home TMPDIR=$WORK/.tmp @@ -2377,13 +2393,32 @@ > stderr '"/foo": outside parent directory' PASS +=== NAME TestScripts/extract-stdin + testscript.go:558: WORK=$WORK + PATH=/tmp/testscript-main2704146015/bin:/usr/lib/go-1.22/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path + GOTRACEBACK=system + 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 + --- PASS: TestScripts (0.00s) - --- PASS: TestScripts/extract (0.03s) - --- PASS: TestScripts/extract-dir (0.03s) - --- PASS: TestScripts/extract-stdin (0.03s) - --- PASS: TestScripts/extract-out-of-bounds (0.06s) + --- PASS: TestScripts/extract-dir (0.01s) + --- PASS: TestScripts/extract (0.01s) + --- PASS: TestScripts/extract-out-of-bounds (0.01s) + --- PASS: TestScripts/extract-stdin (0.01s) PASS -ok github.com/rogpeppe/go-internal/cmd/txtar-x 0.091s +ok github.com/rogpeppe/go-internal/cmd/txtar-x 0.024s === RUN Test === RUN Test/allnew.txt === RUN Test/allold.txt @@ -2411,7 +2446,7 @@ --- PASS: Test/start.txt (0.00s) --- PASS: Test/triv.txt (0.00s) PASS -ok github.com/rogpeppe/go-internal/diff 0.024s +ok github.com/rogpeppe/go-internal/diff 0.007s === RUN TestHash1 --- PASS: TestHash1 (0.00s) === RUN TestHashDir @@ -2421,7 +2456,7 @@ === RUN TestDirFiles --- PASS: TestDirFiles (0.00s) PASS -ok github.com/rogpeppe/go-internal/dirhash 0.024s +ok github.com/rogpeppe/go-internal/dirhash 0.008s === RUN TestCompare --- PASS: TestCompare (0.00s) === RUN TestOrder @@ -2429,7 +2464,7 @@ === RUN TestInterface --- PASS: TestInterface (0.00s) PASS -ok github.com/rogpeppe/go-internal/fmtsort 0.024s +ok github.com/rogpeppe/go-internal/fmtsort 0.014s ? 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/sysdll [no test files] @@ -2438,7 +2473,7 @@ === PAUSE TestScripts/list === CONT TestScripts/list testscript.go:558: WORK=$WORK - PATH=/usr/lib/go-1.22/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games + PATH=/usr/lib/go-1.22/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path GOTRACEBACK=system HOME=/no-home TMPDIR=$WORK/.tmp @@ -2453,7 +2488,7 @@ GOOS=linux GOROOT=/usr/lib/go-1.22 GOCACHE=/build/reproducible-path/golang-github-rogpeppe-go-internal-1.12.0/_build/go-build - GOPROXY=http://127.0.0.1:45795/mod + GOPROXY=http://127.0.0.1:45333/mod goversion=1.22 GONOSUMDB=* @@ -2476,17 +2511,17 @@ # as that places GOMODCACHE inside the Go module and "mod tidy" walks it. # "mod tidy" then complains about invalid import paths such as # "mod/gopath/pkg/mod/fruit.com@v1.1.0/fruit". - # It's for that reason that we moved the default GOPATH to ${WORK}/.gopath. (0.039s) + # It's for that reason that we moved the default GOPATH to ${WORK}/.gopath. (0.013s) > go mod tidy [stderr] go: warning: "all" matched no packages PASS ---- PASS: TestScripts (0.12s) - --- PASS: TestScripts/list (0.14s) +--- PASS: TestScripts (0.07s) + --- PASS: TestScripts/list (0.05s) PASS -ok github.com/rogpeppe/go-internal/goproxytest 0.304s +ok github.com/rogpeppe/go-internal/goproxytest 0.145s ? github.com/rogpeppe/go-internal/modfile [no test files] ? github.com/rogpeppe/go-internal/module [no test files] ? github.com/rogpeppe/go-internal/renameio [no test files] @@ -2494,7 +2529,7 @@ ? github.com/rogpeppe/go-internal/semver [no test files] ? github.com/rogpeppe/go-internal/testenv [no test files] === RUN TestInitGoEnv ---- PASS: TestInitGoEnv (0.13s) +--- PASS: TestInitGoEnv (0.05s) === RUN TestSimple === RUN TestSimple/cover === PAUSE TestSimple/cover @@ -2506,7 +2541,7 @@ === CONT TestSimple/version === CONT TestSimple/env testscript.go:558: WORK=$WORK - PATH=/usr/lib/go-1.22/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games + PATH=/usr/lib/go-1.22/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path GOTRACEBACK=system HOME=/no-home TMPDIR=$WORK/.tmp @@ -2526,7 +2561,7 @@ GOINTERNAL_MODULE=/build/reproducible-path/golang-github-rogpeppe-go-internal-1.12.0/_build/src/github.com/rogpeppe/go-internal # GOPATH and GOMODCACHE are not shared with the host, - # but GOCACHE is. (0.055s) + # but GOCACHE is. (0.013s) > go env [stdout] GO111MODULE='' @@ -2567,7 +2602,7 @@ CGO_FFLAGS='-O2 -g' CGO_LDFLAGS='-O2 -g' PKG_CONFIG='pkg-config' - GOGCCFLAGS='-fPIC -pthread -Wl,--no-gc-sections -fmessage-length=0 -ffile-prefix-map=$WORK/.tmp/go-build2999332148=/tmp/go-build -gno-record-gcc-switches' + GOGCCFLAGS='-fPIC -pthread -Wl,--no-gc-sections -fmessage-length=0 -ffile-prefix-map=$WORK/.tmp/go-build3269601031=/tmp/go-build -gno-record-gcc-switches' > stdout GOPATH=.*${WORK@R} > stdout GOMODCACHE=.*${WORK@R} @@ -2576,7 +2611,7 @@ === NAME TestSimple/version testscript.go:558: WORK=$WORK - PATH=/usr/lib/go-1.22/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games + PATH=/usr/lib/go-1.22/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path GOTRACEBACK=system HOME=/no-home TMPDIR=$WORK/.tmp @@ -2607,7 +2642,7 @@ === NAME TestSimple/cover testscript.go:1163: testscript.go:558: WORK=$WORK - PATH=/usr/lib/go-1.22/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games + PATH=/usr/lib/go-1.22/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path GOTRACEBACK=system HOME=/no-home TMPDIR=$WORK/.tmp @@ -2628,25 +2663,25 @@ > unquote scripts/exec.txt # The module uses testscript itself. - # Use the checked out module, based on where the test binary ran. (0.403s) + # Use the checked out module, based on where the test binary ran. (0.167s) > go mod edit -replace=github.com/rogpeppe/go-internal=${GOINTERNAL_MODULE} > go mod tidy [stderr] go: found github.com/rogpeppe/go-internal/gotooltest in github.com/rogpeppe/go-internal v0.0.0-00010101000000-000000000000 go: found github.com/rogpeppe/go-internal/testscript in github.com/rogpeppe/go-internal v0.0.0-00010101000000-000000000000 go: github.com/rogpeppe/go-internal@v0.0.0-00010101000000-000000000000 requires - golang.org/x/mod@v0.9.0: Get "https://proxy.golang.org/golang.org/x/mod/@v/v0.9.0.mod": dial tcp: lookup proxy.golang.org on [::1]:53: read udp [::1]:46048->[::1]:53: read: connection refused + golang.org/x/mod@v0.9.0: Get "https://proxy.golang.org/golang.org/x/mod/@v/v0.9.0.mod": dial tcp: lookup proxy.golang.org on [::1]:53: read udp [::1]:60109->[::1]:53: read: connection refused [exit status 1] FAIL: testdata/cover.txt:6: unexpected go command failure SKIP: TestSimple/cover: Possible restricted network access ---- PASS: TestSimple (0.13s) - --- PASS: TestSimple/env (0.06s) - --- PASS: TestSimple/version (0.10s) - --- SKIP: TestSimple/cover (0.40s) +--- PASS: TestSimple (0.07s) + --- PASS: TestSimple/env (0.01s) + --- PASS: TestSimple/version (0.08s) + --- SKIP: TestSimple/cover (0.17s) PASS -ok github.com/rogpeppe/go-internal/gotooltest 0.700s +ok github.com/rogpeppe/go-internal/gotooltest 0.305s === RUN TestReadImports --- PASS: TestReadImports (0.00s) === RUN TestReadComments @@ -2660,7 +2695,7 @@ === RUN TestScanStar --- PASS: TestScanStar (0.00s) PASS -ok github.com/rogpeppe/go-internal/imports 0.030s +ok github.com/rogpeppe/go-internal/imports 0.008s === RUN TestAlmostEqual === PAUSE TestAlmostEqual === CONT TestAlmostEqual @@ -2692,8 +2727,7 @@ --- PASS: FuzzAlmostEqual/b323cef1fc26e507 (0.00s) --- PASS: FuzzAlmostEqual/c6edde4256d6f5eb (0.00s) PASS -ok github.com/rogpeppe/go-internal/internal/misspell 0.024s -? github.com/rogpeppe/go-internal/testscript/internal/pty [no test files] +ok github.com/rogpeppe/go-internal/internal/misspell 0.011s === RUN TestMutexExcludes === PAUSE TestMutexExcludes === RUN TestReadWaitsForLock @@ -2701,28 +2735,32 @@ === RUN TestCanLockExistingFile === PAUSE TestCanLockExistingFile === RUN TestSpuriousEDEADLK ---- PASS: TestSpuriousEDEADLK (0.05s) +--- PASS: TestSpuriousEDEADLK (0.02s) === RUN TestTransform ---- PASS: TestTransform (0.86s) +--- PASS: TestTransform (0.37s) === CONT TestMutexExcludes +=== CONT TestCanLockExistingFile +=== CONT TestReadWaitsForLock +=== NAME TestMutexExcludes lockedfile_test.go:85: mu := MutexAt(_) lockedfile_test.go:91: unlock, _ := mu.Lock() lockedfile_test.go:94: mu2 := MutexAt(mu.Path) -=== CONT TestCanLockExistingFile -=== CONT TestReadWaitsForLock +=== NAME TestReadWaitsForLock lockedfile_test.go:134: WriteString("part 1\n") = - lockedfile_test.go:156: WriteString("part 2\n") = - lockedfile_test.go:146: Read(_) = "part 1\npart 2\n" ---- PASS: TestReadWaitsForLock (0.01s) === NAME TestMutexExcludes lockedfile_test.go:107: unlock() ---- PASS: TestCanLockExistingFile (0.01s) +=== NAME TestReadWaitsForLock + lockedfile_test.go:156: WriteString("part 2\n") = === NAME TestMutexExcludes lockedfile_test.go:102: unlock2, _ := mu2.Lock() lockedfile_test.go:103: unlock2() +=== NAME TestReadWaitsForLock + lockedfile_test.go:146: Read(_) = "part 1\npart 2\n" +--- PASS: TestCanLockExistingFile (0.01s) --- PASS: TestMutexExcludes (0.01s) +--- PASS: TestReadWaitsForLock (0.01s) PASS -ok github.com/rogpeppe/go-internal/lockedfile 0.959s +ok github.com/rogpeppe/go-internal/lockedfile 0.412s === RUN TestLockExcludesLock === PAUSE TestLockExcludesLock === RUN TestLockExcludesRLock @@ -2730,48 +2768,59 @@ === RUN TestRLockExcludesOnlyLock === PAUSE TestRLockExcludesOnlyLock === RUN TestLockNotDroppedByExecCommand - filelock_test.go:188: fd 7 = /tmp/TestLockNotDroppedByExecCommand2489220680 + filelock_test.go:188: fd 7 = /tmp/TestLockNotDroppedByExecCommand2316219032 filelock_test.go:191: Lock(fd 7) = - filelock_test.go:193: fd 8 = os.Open("/tmp/TestLockNotDroppedByExecCommand2489220680") + filelock_test.go:193: fd 8 = os.Open("/tmp/TestLockNotDroppedByExecCommand2316219032") filelock_test.go:204: Lock(fd 8) is blocked (as expected) filelock_test.go:205: Unlock(fd 7) = asm_arm64.s:1222: Lock(fd 8) = filelock_test.go:207: Unlock(fd 8) = ---- PASS: TestLockNotDroppedByExecCommand (0.06s) +--- PASS: TestLockNotDroppedByExecCommand (0.02s) === CONT TestLockExcludesLock - filelock_test.go:121: fd 7 = /tmp/TestLockExcludesLock385788917 - filelock_test.go:124: fd 8 = os.Open("/tmp/TestLockExcludesLock385788917") - filelock_test.go:127: Lock(fd 7) = === CONT TestRLockExcludesOnlyLock - filelock_test.go:153: fd 9 = /tmp/TestRLockExcludesOnlyLock3270000105 - filelock_test.go:155: RLock(fd 9) = - filelock_test.go:157: fd 10 = os.Open("/tmp/TestRLockExcludesOnlyLock3270000105") - filelock_test.go:171: RLock(fd 10) = - filelock_test.go:175: fd 11 = os.Open("/tmp/TestRLockExcludesOnlyLock3270000105") +=== NAME TestLockExcludesLock + filelock_test.go:121: fd 7 = /tmp/TestLockExcludesLock1161800865 + filelock_test.go:124: fd 9 = os.Open("/tmp/TestLockExcludesLock1161800865") + filelock_test.go:127: Lock(fd 7) = +=== NAME TestRLockExcludesOnlyLock + filelock_test.go:153: fd 8 = /tmp/TestRLockExcludesOnlyLock534677860 + filelock_test.go:155: RLock(fd 8) = === CONT TestLockExcludesRLock - filelock_test.go:137: fd 12 = /tmp/TestLockExcludesRLock548561381 - filelock_test.go:140: fd 13 = os.Open("/tmp/TestLockExcludesRLock548561381") - filelock_test.go:143: Lock(fd 12) = - filelock_test.go:144: RLock(fd 13) is blocked (as expected) - filelock_test.go:145: Unlock(fd 12) = - asm_arm64.s:1222: RLock(fd 13) = - filelock_test.go:147: Unlock(fd 13) = ---- PASS: TestLockExcludesRLock (0.01s) === NAME TestRLockExcludesOnlyLock - filelock_test.go:177: Lock(fd 11) is blocked (as expected) - filelock_test.go:179: Unlock(fd 10) = - filelock_test.go:181: Unlock(fd 9) = - asm_arm64.s:1222: Lock(fd 11) = - filelock_test.go:184: Unlock(fd 11) = ---- PASS: TestRLockExcludesOnlyLock (0.02s) + filelock_test.go:157: fd 10 = os.Open("/tmp/TestRLockExcludesOnlyLock534677860") +=== NAME TestLockExcludesRLock + filelock_test.go:137: fd 11 = /tmp/TestLockExcludesRLock1467065644 +=== NAME TestRLockExcludesOnlyLock + filelock_test.go:171: RLock(fd 10) = + filelock_test.go:175: fd 13 = os.Open("/tmp/TestRLockExcludesOnlyLock534677860") +=== NAME TestLockExcludesRLock + filelock_test.go:140: fd 12 = os.Open("/tmp/TestLockExcludesRLock1467065644") + filelock_test.go:143: Lock(fd 11) = + filelock_test.go:144: RLock(fd 12) is blocked (as expected) + filelock_test.go:145: Unlock(fd 11) = === NAME TestLockExcludesLock - filelock_test.go:128: Lock(fd 8) is blocked (as expected) + filelock_test.go:128: Lock(fd 9) is blocked (as expected) filelock_test.go:129: Unlock(fd 7) = - asm_arm64.s:1222: Lock(fd 8) = - filelock_test.go:131: Unlock(fd 8) = ---- PASS: TestLockExcludesLock (0.02s) +=== NAME TestRLockExcludesOnlyLock + filelock_test.go:177: Lock(fd 13) is blocked (as expected) + filelock_test.go:179: Unlock(fd 10) = + filelock_test.go:181: Unlock(fd 8) = +=== NAME TestLockExcludesRLock + asm_arm64.s:1222: RLock(fd 12) = + filelock_test.go:147: Unlock(fd 12) = +=== NAME TestRLockExcludesOnlyLock + asm_arm64.s:1222: Lock(fd 13) = +--- PASS: TestLockExcludesRLock (0.01s) +=== NAME TestRLockExcludesOnlyLock + filelock_test.go:184: Unlock(fd 13) = +=== NAME TestLockExcludesLock + asm_arm64.s:1222: Lock(fd 9) = +--- PASS: TestRLockExcludesOnlyLock (0.01s) +=== NAME TestLockExcludesLock + filelock_test.go:131: Unlock(fd 9) = +--- PASS: TestLockExcludesLock (0.01s) PASS -ok github.com/rogpeppe/go-internal/lockedfile/internal/filelock 0.096s +ok github.com/rogpeppe/go-internal/lockedfile/internal/filelock 0.048s === RUN TestWork --- PASS: TestWork (0.01s) === RUN TestWorkParallel @@ -2779,7 +2828,8 @@ === RUN TestCache --- PASS: TestCache (0.00s) PASS -ok github.com/rogpeppe/go-internal/par 0.020s +ok github.com/rogpeppe/go-internal/par 0.023s +? github.com/rogpeppe/go-internal/testscript/internal/pty [no test files] === RUN TestCRLFInput === RUN TestCRLFInput/_ === RUN TestCRLFInput/_/script @@ -2865,54 +2915,20 @@ === RUN TestScripts/wait === PAUSE TestScripts/wait === CONT TestScripts/big_diff -=== CONT TestScripts/regexpquote - testscript.go:558: > env XXX='hello)' - > grep ^${XXX@R}$ file.txt - PASS - -=== CONT TestScripts/exec_path_change -=== CONT TestScripts/long_diff - testscript.go:558: # Verify the behaviour of cmp in the case of a small diff between - # two large files (0.000s) - > unquote dir/script.txt - > ! testscript dir - [stdout] - > cmp a b - diff a b - --- a - +++ b - @@ -1,4 +1,4 @@ - -a - +b - a - a - a - - FAIL: $WORK/dir/script.txt:1: a and b differ - - > env - WORK=$WORK - PATH=/tmp/testscript-main2894247028/bin:/usr/lib/go-1.22/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games - GOTRACEBACK=system - HOME=/no-home - TMPDIR=$WORK/.tmp - devnull=/dev/null - /=/ - :=: - $=$ - exe= - GONOSUMDB=* - > cmpenv stdout stdout.golden - PASS - === CONT TestScripts/readfile -=== CONT TestScripts/interrupt -=== CONT TestScripts/wait -=== CONT TestScripts/values - testscript.go:558: > test-values +=== CONT TestScripts/testscript_notfound +=== CONT TestScripts/stdin +=== CONT TestScripts/testscript_logging +=== CONT TestScripts/setupfiles +=== CONT TestScripts/testscript_explicit_exec +=== CONT TestScripts/setenv + testscript.go:558: > setSpecialVal + > exists $SPECIALVAL.txt + > ensureSpecialVal PASS -=== CONT TestScripts/testscript_notfound +=== CONT TestScripts/testscript_update_script_stderr +=== NAME TestScripts/testscript_notfound testscript.go:558: # Check that unknown commands output a useful error message (0.000s) > ! testscript notfound [stdout] @@ -2934,52 +2950,43 @@ > stdout 'unknown command "exits" \(did you mean "exists"\?\)' PASS -=== CONT TestScripts/testscript_logging -=== CONT TestScripts/testscript_update_script_stderr -=== CONT TestScripts/testscript_update_script_quote -=== CONT TestScripts/testscript_update_script_expected_not_in_archive -=== NAME TestScripts/interrupt - testscript.go:558: > [windows] skip - > signalcatcher & - > waitfile catchsignal - > interrupt - > wait - [background] signalcatcher: exit status 0 - [stdout] - caught interrupt - > stdout 'caught interrupt' +=== CONT TestScripts/values + testscript.go:558: > test-values PASS -=== CONT TestScripts/testscript_explicit_exec -=== CONT TestScripts/testscript_update_script_actual_is_file - testscript.go:558: > unquote scripts/testscript.txt - > unquote testscript-new.txt - > testscript -update scripts - [stdout] +=== CONT TestScripts/testscript_update_script_quote +=== CONT TestScripts/cond +=== CONT TestScripts/regexpquote +=== NAME TestScripts/cond + testscript.go:558: # test that exactly one of gc and gccgo is set (0.000s) + > [gc] mkdir gc_true + > [gccgo] mkdir gccgo_true + > [gc] ! exists gccgo_true + > [!gc] exists gccgo_true + > [gccgo] ! exists gc_true + > [!gccgo] exists gc_true + # test that go version build tags are set (0.000s) + > [go1.1] mkdir go1.x + > [go2.1] mkdir go2.x + > exists go1.x + > ! exists go2.x + # unix should be true on Linux and MacOS, but not on Windows. + # Both platforms are tested on CI. (0.000s) + > [unix] mkdir unix_true + > [linux] exists unix_true + > [darwin] exists unix_true + > [windows] ! exists unix_true PASS - $WORK/scripts/testscript.txt updated - > cmp scripts/testscript.txt testscript-new.txt +=== CONT TestScripts/wait +=== NAME TestScripts/regexpquote + testscript.go:558: > env XXX='hello)' + > grep ^${XXX@R}$ file.txt PASS +=== CONT TestScripts/exec_path_change +=== CONT TestScripts/evalsymlink === CONT TestScripts/testscript_duplicate_name - testscript.go:558: # Check that RequireUniqueNames works; - # it should reject txtar archives with duplicate names as defined by the host system. (0.000s) - > unquote scripts-normalized/testscript.txt - > testscript scripts-normalized - [stdout] - PASS - - > ! testscript -unique-names scripts-normalized - [stdout] - FAIL: $WORK/scripts-normalized/testscript.txt:0: dir/../file would overwrite $WORK/file (because RequireUniqueNames is enabled) - - > stdout '.* would overwrite .* \(because RequireUniqueNames is enabled\)' - PASS - -=== CONT TestScripts/stdin -=== CONT TestScripts/testscript_update_script -=== CONT TestScripts/testscript_stdout_stderr_error === NAME TestScripts/big_diff testscript.go:558: # Verify the behaviour of cmp in the case of a diff between two # large files (with a large diff) (0.000s) @@ -5048,7 +5055,7 @@ > env WORK=$WORK - PATH=/tmp/testscript-main2894247028/bin:/usr/lib/go-1.22/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games + PATH=/tmp/testscript-main2827082448/bin:/usr/lib/go-1.22/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path GOTRACEBACK=system HOME=/no-home TMPDIR=$WORK/.tmp @@ -5061,34 +5068,34 @@ > cmpenv stdout stdout.golden PASS -=== NAME TestScripts/readfile - testscript.go:558: > fprintargs stdout stdout +=== NAME TestScripts/testscript_duplicate_name + testscript.go:558: # Check that RequireUniqueNames works; + # it should reject txtar archives with duplicate names as defined by the host system. (0.000s) + > unquote scripts-normalized/testscript.txt + > testscript scripts-normalized [stdout] - stdout - > testreadfile stdout - > fprintargs stderr stderr - [stderr] - stderr - > testreadfile stderr - > testreadfile x/somefile PASS -=== CONT TestScripts/setupfiles -=== CONT TestScripts/setenv + > ! testscript -unique-names scripts-normalized + [stdout] + FAIL: $WORK/scripts-normalized/testscript.txt:0: dir/../file would overwrite $WORK/file (because RequireUniqueNames is enabled) + + > stdout '.* would overwrite .* \(because RequireUniqueNames is enabled\)' + PASS + +=== CONT TestScripts/pty === NAME TestScripts/setupfiles testscript.go:558: # check that the Setup function saw the unarchived files, # including the temp directory that's always created. (0.000s) > setup-filenames .tmp a b PASS -=== NAME TestScripts/setenv - testscript.go:558: > setSpecialVal - > exists $SPECIALVAL.txt - > ensureSpecialVal +=== CONT TestScripts/defer + testscript.go:558: > testdefer + > testdefer + > testdefer PASS -=== CONT TestScripts/execguard -=== CONT TestScripts/cond === NAME TestScripts/testscript_update_script_quote testscript.go:558: > unquote scripts/testscript.txt > unquote testscript-new.txt @@ -5100,58 +5107,51 @@ > cmp scripts/testscript.txt testscript-new.txt PASS -=== NAME TestScripts/cond - testscript.go:558: # test that exactly one of gc and gccgo is set (0.000s) - > [gc] mkdir gc_true - > [gccgo] mkdir gccgo_true - > [gc] ! exists gccgo_true - > [!gc] exists gccgo_true - > [gccgo] ! exists gc_true - > [!gccgo] exists gc_true - # test that go version build tags are set (0.000s) - > [go1.1] mkdir go1.x - > [go2.1] mkdir go2.x - > exists go1.x - > ! exists go2.x - # unix should be true on Linux and MacOS, but not on Windows. - # Both platforms are tested on CI. (0.000s) - > [unix] mkdir unix_true - > [linux] exists unix_true - > [darwin] exists unix_true - > [windows] ! exists unix_true +=== NAME TestScripts/readfile + testscript.go:558: > fprintargs stdout stdout + [stdout] + stdout + > testreadfile stdout + > fprintargs stderr stderr + [stderr] + stderr + > testreadfile stderr + > testreadfile x/somefile PASS -=== CONT TestScripts/evalsymlink -=== CONT TestScripts/defer - testscript.go:558: > testdefer - > testdefer - > testdefer +=== CONT TestScripts/interrupt +=== CONT TestScripts/nothing + testscript.go:558: # Intentionally blank file, used to test that -testwork doesn't remove the work directory (0.000s) PASS +=== CONT TestScripts/exists === CONT TestScripts/cpstdout -=== NAME TestScripts/testscript_update_script_expected_not_in_archive - testscript.go:558: # Verify that comparing stdout against a file not in the archive does nothing (0.000s) - > unquote scripts/testscript.txt - > cp scripts/testscript.txt unchanged - > ! testscript -update scripts +=== NAME TestScripts/evalsymlink + testscript.go:558: # 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). (0.000s) + > [windows] skip + > exec pwd [stdout] - > fprintargs stdout right + $WORK + > stdout ^$WORK$ + > exec pwd -P [stdout] - right - > cp file expect - > cmp stdout expect - diff stdout expect - --- stdout - +++ expect - @@ -1,1 +1,1 @@ - -right - +wrong - - FAIL: $WORK/scripts/testscript.txt:3: stdout and expect differ + $WORK + > stdout ^$WORK$ + PASS - > cmp scripts/testscript.txt unchanged +=== NAME TestScripts/exists + testscript.go:558: > 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/execguard === CONT TestScripts/hello === NAME TestScripts/testscript_update_script_stderr testscript.go:558: > unquote scripts/testscript.txt @@ -5164,26 +5164,6 @@ > cmp scripts/testscript.txt testscript-new.txt PASS -=== NAME TestScripts/testscript_stdout_stderr_error - testscript.go:558: # Verify that stdout and stderr get set event when a user-builtin - # command aborts. Note that we need to assert against stdout - # because our meta testscript command sees only a single log. (0.000s) - > unquote scripts/testscript.txt - > ! testscript -v scripts - [stdout] - > printargs hello world - [stdout] - ["printargs" "hello" "world"] - > echoandexit 1 'this is stdout' 'this is stderr' - [stdout] - this is stdout - [stderr] - this is stderr - FAIL: $WORK/scripts/testscript.txt:2: told to exit with code 1 - - > cmpenv stdout stdout.golden - PASS - === NAME TestScripts/hello testscript.go:558: > [!exec:cat] stop # hello world (0.000s) @@ -5194,23 +5174,19 @@ > ! stderr . PASS -=== CONT TestScripts/command -=== NAME TestScripts/cpstdout - testscript.go:558: > [!exec:cat] stop - # hello world (0.000s) - > exec cat hello.text - [stdout] - hello world - > cp stdout got - > cmp got hello.text - > ! cmp got different.text - > exists got - > mv got new - > ! exists got - > cmp new hello.text +=== NAME TestScripts/pty + testscript.go:558: > [!linux] [!darwin] skip + > [darwin] skip # https://go.dev/issue/61779 + > ttyin secretwords.txt + > terminalprompt + > ttyout 'magic words' + > ! stderr . + > ! stdout . PASS -=== CONT TestScripts/commandstatus +=== CONT TestScripts/long_diff +=== CONT TestScripts/testscript_update_script_actual_is_file +=== CONT TestScripts/testscript_update_script_expected_not_in_archive === NAME TestScripts/testscript_explicit_exec testscript.go:558: # Check that RequireExplicitExec works; # it should reject `fprintargs` in favor of `exec fprintargs`, @@ -5237,72 +5213,38 @@ PASS +=== CONT TestScripts/command === CONT TestScripts/cmpenv testscript.go:558: > env $=$ > cmpenv file1 file2 PASS -=== CONT TestScripts/cmd_stdout_stderr -=== NAME TestScripts/execguard - testscript.go:558: > [exec:nosuchcommand] exec nosuchcommand - > [!exec:cat] stop - > exec cat foo - [stdout] - foo - > stdout 'foo\n' - PASS - -=== CONT TestScripts/nothing - testscript.go:558: # Intentionally blank file, used to test that -testwork doesn't remove the work directory (0.000s) - PASS - -=== CONT TestScripts/exists - testscript.go:558: > 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/pty -=== NAME TestScripts/evalsymlink - testscript.go:558: # 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). (0.000s) - > [windows] skip - > exec pwd - [stdout] - $WORK - > stdout ^$WORK$ - > exec pwd -P - [stdout] - $WORK - > stdout ^$WORK$ - PASS - -=== NAME TestScripts/command - testscript.go:558: > printargs a b 'c d' - [stdout] - ["printargs" "a" "b" "c d"] - > stdout '\["printargs" "a" "b" "c d"\]\n' - PASS - -=== NAME TestScripts/testscript_update_script - testscript.go:558: # Check that we support both txt and txtar extensions. (0.000s) - > unquote scripts/testscript.txt +=== CONT TestScripts/commandstatus +=== NAME TestScripts/testscript_update_script_actual_is_file + testscript.go:558: > unquote scripts/testscript.txt > unquote testscript-new.txt - > cp scripts/testscript.txt scripts/testscript2.txtar > testscript -update scripts [stdout] PASS $WORK/scripts/testscript.txt updated - PASS - $WORK/scripts/testscript2.txtar updated > cmp scripts/testscript.txt testscript-new.txt - > cmp scripts/testscript2.txtar testscript-new.txt + PASS + +=== CONT TestScripts/testscript_update_script +=== NAME TestScripts/cpstdout + testscript.go:558: > [!exec:cat] stop + # hello world (0.000s) + > exec cat hello.text + [stdout] + hello world + > cp stdout got + > cmp got hello.text + > ! cmp got different.text + > exists got + > mv got new + > ! exists got + > cmp new hello.text PASS === NAME TestScripts/wait @@ -5360,6 +5302,121 @@ [background] sleep 86400: signal: interrupt PASS +=== CONT TestScripts/cmd_stdout_stderr +=== CONT TestScripts/testscript_stdout_stderr_error +=== NAME TestScripts/interrupt + testscript.go:558: > [windows] skip + > signalcatcher & + > waitfile catchsignal + > interrupt + > wait + [background] signalcatcher: exit status 0 + [stdout] + caught interrupt + > stdout 'caught interrupt' + PASS + +=== NAME TestScripts/execguard + testscript.go:558: > [exec:nosuchcommand] exec nosuchcommand + > [!exec:cat] stop + > exec cat foo + [stdout] + foo + > stdout 'foo\n' + PASS + +=== NAME TestScripts/command + testscript.go:558: > printargs a b 'c d' + [stdout] + ["printargs" "a" "b" "c d"] + > stdout '\["printargs" "a" "b" "c d"\]\n' + PASS + +=== NAME TestScripts/testscript_stdout_stderr_error + testscript.go:558: # Verify that stdout and stderr get set event when a user-builtin + # command aborts. Note that we need to assert against stdout + # because our meta testscript command sees only a single log. (0.000s) + > unquote scripts/testscript.txt + > ! testscript -v scripts + [stdout] + > printargs hello world + [stdout] + ["printargs" "hello" "world"] + > echoandexit 1 'this is stdout' 'this is stderr' + [stdout] + this is stdout + [stderr] + this is stderr + FAIL: $WORK/scripts/testscript.txt:2: told to exit with code 1 + + > cmpenv stdout stdout.golden + PASS + +=== NAME TestScripts/testscript_update_script_expected_not_in_archive + testscript.go:558: # Verify that comparing stdout against a file not in the archive does nothing (0.000s) + > unquote scripts/testscript.txt + > cp scripts/testscript.txt unchanged + > ! testscript -update scripts + [stdout] + > fprintargs stdout right + [stdout] + right + > cp file expect + > cmp stdout expect + diff stdout expect + --- stdout + +++ expect + @@ -1,1 +1,1 @@ + -right + +wrong + + FAIL: $WORK/scripts/testscript.txt:3: stdout and expect differ + + > cmp scripts/testscript.txt unchanged + PASS + +=== NAME TestScripts/long_diff + testscript.go:558: # Verify the behaviour of cmp in the case of a small diff between + # two large files (0.000s) + > unquote dir/script.txt + > ! testscript dir + [stdout] + > cmp a b + diff a b + --- a + +++ b + @@ -1,4 +1,4 @@ + -a + +b + a + a + a + + FAIL: $WORK/dir/script.txt:1: a and b differ + + > env + WORK=$WORK + PATH=/tmp/testscript-main2827082448/bin:/usr/lib/go-1.22/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path + GOTRACEBACK=system + HOME=/no-home + TMPDIR=$WORK/.tmp + devnull=/dev/null + /=/ + :=: + $=$ + exe= + GONOSUMDB=* + > cmpenv stdout stdout.golden + PASS + +=== NAME TestScripts/commandstatus + testscript.go:558: > ! status 1 + [exit status 1] + > ! status 2 + [exit status 2] + > status 0 + PASS + === NAME TestScripts/stdin testscript.go:558: > [!exec:cat] skip > stdin hello.txt @@ -5384,22 +5441,20 @@ > stdout hello PASS -=== NAME TestScripts/pty - testscript.go:558: > [!linux] [!darwin] skip - > [darwin] skip # https://go.dev/issue/61779 - > ttyin secretwords.txt - > terminalprompt - > ttyout 'magic words' - > ! stderr . - > ! stdout . +=== NAME TestScripts/testscript_update_script + testscript.go:558: # Check that we support both txt and txtar extensions. (0.000s) + > unquote scripts/testscript.txt + > unquote testscript-new.txt + > cp scripts/testscript.txt scripts/testscript2.txtar + > testscript -update scripts + [stdout] PASS + $WORK/scripts/testscript.txt updated + PASS + $WORK/scripts/testscript2.txtar updated -=== NAME TestScripts/commandstatus - testscript.go:558: > ! status 1 - [exit status 1] - > ! status 2 - [exit status 2] - > status 0 + > cmp scripts/testscript.txt testscript-new.txt + > cmp scripts/testscript2.txtar testscript-new.txt PASS === NAME TestScripts/cmd_stdout_stderr @@ -5576,48 +5631,48 @@ PASS --- PASS: TestScripts (0.00s) - --- PASS: TestScripts/regexpquote (0.00s) - --- PASS: TestScripts/long_diff (0.00s) - --- PASS: TestScripts/values (0.00s) - --- PASS: TestScripts/testscript_notfound (0.00s) - --- PASS: TestScripts/interrupt (0.11s) - --- PASS: TestScripts/testscript_update_script_actual_is_file (0.00s) - --- PASS: TestScripts/testscript_duplicate_name (0.00s) - --- PASS: TestScripts/readfile (0.18s) - --- PASS: TestScripts/big_diff (0.19s) - --- PASS: TestScripts/setupfiles (0.00s) --- PASS: TestScripts/setenv (0.00s) - --- PASS: TestScripts/testscript_update_script_quote (0.09s) + --- PASS: TestScripts/testscript_notfound (0.00s) + --- PASS: TestScripts/values (0.00s) + --- PASS: TestScripts/regexpquote (0.00s) --- PASS: TestScripts/cond (0.00s) + --- PASS: TestScripts/testscript_duplicate_name (0.00s) + --- PASS: TestScripts/setupfiles (0.01s) + --- PASS: TestScripts/big_diff (0.01s) --- PASS: TestScripts/defer (0.00s) - --- PASS: TestScripts/testscript_update_script_expected_not_in_archive (0.07s) - --- PASS: TestScripts/hello (0.03s) - --- PASS: TestScripts/testscript_update_script_stderr (0.12s) - --- PASS: TestScripts/cpstdout (0.05s) - --- PASS: TestScripts/testscript_explicit_exec (0.13s) - --- PASS: TestScripts/cmpenv (0.00s) - --- PASS: TestScripts/execguard (0.06s) + --- PASS: TestScripts/testscript_update_script_quote (0.01s) + --- PASS: TestScripts/readfile (0.02s) --- PASS: TestScripts/nothing (0.00s) --- PASS: TestScripts/exists (0.00s) - --- PASS: TestScripts/testscript_stdout_stderr_error (0.09s) - --- PASS: TestScripts/evalsymlink (0.10s) - --- PASS: TestScripts/command (0.07s) - --- PASS: TestScripts/testscript_update_script (0.14s) - --- PASS: TestScripts/wait (0.28s) - --- PASS: TestScripts/stdin (0.19s) - --- PASS: TestScripts/pty (0.10s) - --- PASS: TestScripts/commandstatus (0.14s) - --- PASS: TestScripts/cmd_stdout_stderr (0.27s) - --- PASS: TestScripts/testscript_logging (0.84s) - --- PASS: TestScripts/exec_path_change (9.31s) + --- PASS: TestScripts/evalsymlink (0.01s) + --- PASS: TestScripts/hello (0.03s) + --- PASS: TestScripts/testscript_update_script_stderr (0.04s) + --- PASS: TestScripts/pty (0.04s) + --- PASS: TestScripts/testscript_explicit_exec (0.04s) + --- PASS: TestScripts/cmpenv (0.00s) + --- PASS: TestScripts/testscript_update_script_actual_is_file (0.00s) + --- PASS: TestScripts/cpstdout (0.03s) + --- PASS: TestScripts/wait (0.04s) + --- PASS: TestScripts/execguard (0.03s) + --- PASS: TestScripts/interrupt (0.03s) + --- PASS: TestScripts/command (0.01s) + --- PASS: TestScripts/testscript_stdout_stderr_error (0.01s) + --- PASS: TestScripts/testscript_update_script_expected_not_in_archive (0.01s) + --- PASS: TestScripts/long_diff (0.00s) + --- PASS: TestScripts/commandstatus (0.01s) + --- PASS: TestScripts/stdin (0.06s) + --- PASS: TestScripts/testscript_update_script (0.02s) + --- PASS: TestScripts/cmd_stdout_stderr (0.02s) + --- PASS: TestScripts/testscript_logging (0.09s) + --- PASS: TestScripts/exec_path_change (5.19s) === RUN TestTestwork ---- PASS: TestTestwork (3.58s) +--- PASS: TestTestwork (1.60s) === RUN TestWorkdirRoot === RUN TestWorkdirRoot/run_tests === RUN TestWorkdirRoot/run_tests/nothing === PAUSE TestWorkdirRoot/run_tests/nothing === CONT TestWorkdirRoot/run_tests/nothing - testscript.go:558: WORK=/tmp/2801225085/script-nothing + testscript.go:558: WORK=/tmp/3525044413/script-nothing # Intentionally empty test script; used to test Params.WorkdirRoot (0.000s) PASS @@ -5629,7 +5684,7 @@ === RUN TestUNIX2DOS --- PASS: TestUNIX2DOS (0.00s) PASS -ok github.com/rogpeppe/go-internal/testscript 12.921s +ok github.com/rogpeppe/go-internal/testscript 6.801s === RUN Test === RUN Test/basic === RUN Test/basicCRLF @@ -5657,7 +5712,7 @@ --- PASS: TestQuote/bad_data (0.00s) --- PASS: TestQuote/no_final_newline (0.00s) PASS -ok github.com/rogpeppe/go-internal/txtar 0.035s +ok github.com/rogpeppe/go-internal/txtar 0.005s patch -R -p1 -i debian/0001-Allow-TestSimple-cover-to-PASS.patch patching file _build/src/github.com/rogpeppe/go-internal/testscript/testscript.go Hunk #1 succeeded at 1155 (offset 57 lines). @@ -5679,9 +5734,9 @@ dh_fixperms -O--builddirectory=_build -O--buildsystem=golang dh_missing -O--builddirectory=_build -O--buildsystem=golang dh_strip -a -O--builddirectory=_build -O--buildsystem=golang -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_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_makeshlibs -a -O--builddirectory=_build -O--buildsystem=golang dh_shlibdeps -a -O--builddirectory=_build -O--buildsystem=golang dh_installdeb -O--builddirectory=_build -O--buildsystem=golang @@ -5691,9 +5746,9 @@ dpkg-gencontrol: warning: package go-internal: substitution variable ${misc:Built-Using} unused, but is defined dh_md5sums -O--builddirectory=_build -O--buildsystem=golang dh_builddeb -O--builddirectory=_build -O--buildsystem=golang -dpkg-deb: building package 'go-internal-dbgsym' in '../go-internal-dbgsym_1.12.0-3_arm64.deb'. -dpkg-deb: building package 'go-internal' in '../go-internal_1.12.0-3_arm64.deb'. dpkg-deb: building package 'golang-github-rogpeppe-go-internal-dev' in '../golang-github-rogpeppe-go-internal-dev_1.12.0-3_all.deb'. +dpkg-deb: building package 'go-internal' in '../go-internal_1.12.0-3_arm64.deb'. +dpkg-deb: building package 'go-internal-dbgsym' in '../go-internal-dbgsym_1.12.0-3_arm64.deb'. dpkg-genbuildinfo --build=binary -O../golang-github-rogpeppe-go-internal_1.12.0-3_arm64.buildinfo dpkg-genchanges --build=binary -O../golang-github-rogpeppe-go-internal_1.12.0-3_arm64.changes dpkg-genchanges: info: binary-only upload (no source code included) @@ -5701,12 +5756,14 @@ dpkg-buildpackage: info: binary-only upload (no source included) dpkg-genchanges: info: not including original source code in upload I: copying local configuration +I: user script /srv/workspace/pbuilder/3569016/tmp/hooks/B01_cleanup starting +I: user script /srv/workspace/pbuilder/3569016/tmp/hooks/B01_cleanup finished I: unmounting dev/ptmx filesystem I: unmounting dev/pts filesystem I: unmounting dev/shm filesystem I: unmounting proc filesystem I: unmounting sys filesystem I: cleaning the build env -I: removing directory /srv/workspace/pbuilder/568903 and its subdirectories -I: Current time: Fri May 30 11:47:54 -12 2025 -I: pbuilder-time-stamp: 1748648874 +I: removing directory /srv/workspace/pbuilder/3569016 and its subdirectories +I: Current time: Sat May 31 13:49:19 +14 2025 +I: pbuilder-time-stamp: 1748648959