Input buildinfo: https://buildinfos.debian.net/buildinfo-pool/g/golang-github-google-wire/golang-github-google-wire_0.4.0-3+b6_amd64.buildinfo Use metasnap for getting required timestamps New buildinfo file: /tmp/golang-github-google-wire-0.4.0-3+b6_ps3m9fn/golang-github-google-wire_0.4.0-3+b6_amd64.buildinfo Get source package info: golang-github-google-wire=0.4.0-3 Source URL: http://snapshot.notset.fr/mr/package/golang-github-google-wire/0.4.0-3/srcfiles?fileinfo=1 env -i PATH=/usr/sbin:/usr/bin:/sbin:/bin TMPDIR=/tmp mmdebstrap --arch=amd64 --include=autoconf=2.69-14 automake=1:1.16.3-2 autopoint=0.21-4 autotools-dev=20180224.1+nmu1 base-files=11.1 base-passwd=3.5.51 bash=5.1-3 binutils=2.35.2-2 binutils-common=2.35.2-2 binutils-x86-64-linux-gnu=2.35.2-2 bsdextrautils=2.36.1-7 bsdutils=1:2.36.1-7 build-essential=12.9 bzip2=1.0.8-4 coreutils=8.32-4+b1 cpp=4:10.2.1-1 cpp-10=10.2.1-6 dash=0.5.11+git20210120+802ebd4-1 debconf=1.5.77 debhelper=13.3.4 debianutils=4.11.2 dh-autoreconf=20 dh-exec=0.23.4 dh-golang=1.51 dh-strip-nondeterminism=1.12.0-1 diffutils=1:3.7-5 dpkg=1.20.9 dpkg-dev=1.20.9 dwz=0.14-1 file=1:5.39-3 findutils=4.8.0-1 g++=4:10.2.1-1 g++-10=10.2.1-6 gcc=4:10.2.1-1 gcc-10=10.2.1-6 gcc-10-base=10.2.1-6 gettext=0.21-4 gettext-base=0.21-4 golang-1.15-go=1.15.9-6 golang-1.15-src=1.15.9-6 golang-any=2:1.15~1 golang-github-google-go-cmp-dev=0.5.4-1 golang-github-google-subcommands-dev=1.2.0-1 golang-github-pmezard-go-difflib-dev=1.0.0-3 golang-github-yuin-goldmark-dev=1.3.2-1 golang-go=2:1.15~1 golang-golang-x-crypto-dev=1:0.0~git20201221.eec23a3-1 golang-golang-x-mod-dev=0.4.1-1 golang-golang-x-net-dev=1:0.0+git20210119.5f4716e+dfsg-4 golang-golang-x-sync-dev=0.0~git20210220.036812b-1 golang-golang-x-sys-dev=0.0~git20210124.22da62e-1 golang-golang-x-term-dev=0.0~git20201210.2321bbc-1 golang-golang-x-text-dev=0.3.6-1 golang-golang-x-tools-dev=1:0.1.0+ds-1 golang-golang-x-xerrors-dev=0.0~git20191204.9bdfabe-1 golang-src=2:1.15~1 grep=3.6-1 groff-base=1.22.4-6 gzip=1.10-4 hostname=3.23 init-system-helpers=1.60 intltool-debian=0.35.0+20060710.5 libacl1=2.2.53-10 libarchive-zip-perl=1.68-1 libasan6=10.2.1-6 libatomic1=10.2.1-6 libattr1=1:2.4.48-6 libaudit-common=1:3.0-2 libaudit1=1:3.0-2 libbinutils=2.35.2-2 libblkid1=2.36.1-7 libbz2-1.0=1.0.8-4 libc-bin=2.31-13 libc-dev-bin=2.31-13 libc6=2.31-13 libc6-dev=2.31-13 libcap-ng0=0.7.9-2.2+b1 libcc1-0=10.2.1-6 libcom-err2=1.46.2-2 libcrypt-dev=1:4.4.18-4 libcrypt1=1:4.4.18-4 libctf-nobfd0=2.35.2-2 libctf0=2.35.2-2 libdb5.3=5.3.28+dfsg1-0.8 libdebconfclient0=0.260 libdebhelper-perl=13.3.4 libdpkg-perl=1.20.9 libelf1=0.183-3 libfile-stripnondeterminism-perl=1.12.0-1 libgcc-10-dev=10.2.1-6 libgcc-s1=10.2.1-6 libgcrypt20=1.8.7-6 libgdbm-compat4=1.19-2 libgdbm6=1.19-2 libgmp10=2:6.2.1+dfsg-1 libgomp1=10.2.1-6 libgpg-error0=1.38-2 libgssapi-krb5-2=1.18.3-5 libicu67=67.1-7 libisl23=0.23-1 libitm1=10.2.1-6 libk5crypto3=1.18.3-5 libkeyutils1=1.6.1-2 libkrb5-3=1.18.3-5 libkrb5support0=1.18.3-5 liblsan0=10.2.1-6 liblz4-1=1.9.3-2 liblzma5=5.2.5-2 libmagic-mgc=1:5.39-3 libmagic1=1:5.39-3 libmount1=2.36.1-7 libmpc3=1.2.0-1 libmpfr6=4.1.0-3 libnsl-dev=1.3.0-2 libnsl2=1.3.0-2 libpam-modules=1.4.0-9 libpam-modules-bin=1.4.0-9 libpam-runtime=1.4.0-9 libpam0g=1.4.0-9 libpcre2-8-0=10.36-2 libpcre3=2:8.39-13 libperl5.32=5.32.1-4 libpipeline1=1.5.3-1 libquadmath0=10.2.1-6 libseccomp2=2.5.1-1 libselinux1=3.1-3 libsigsegv2=2.13-1 libsmartcols1=2.36.1-7 libssl1.1=1.1.1k-1 libstdc++-10-dev=10.2.1-6 libstdc++6=10.2.1-6 libsub-override-perl=0.09-2 libsystemd0=247.3-5 libtinfo6=6.2+20201114-2 libtirpc-common=1.3.1-1 libtirpc-dev=1.3.1-1 libtirpc3=1.3.1-1 libtool=2.4.6-15 libtsan0=10.2.1-6 libubsan1=10.2.1-6 libuchardet0=0.0.7-1 libudev1=247.3-5 libunistring2=0.9.10-4 libuuid1=2.36.1-7 libxml2=2.9.10+dfsg-6.7 libzstd1=1.4.8+dfsg-2.1 linux-libc-dev=5.10.46-1 login=1:4.8.1-1 lsb-base=11.1.0 m4=1.4.18-5 make=4.3-4.1 man-db=2.9.4-2 mawk=1.3.4.20200120-2 ncurses-base=6.2+20201114-2 ncurses-bin=6.2+20201114-2 patch=2.7.6-7 perl=5.32.1-4 perl-base=5.32.1-4 perl-modules-5.32=5.32.1-4 po-debconf=1.0.21+nmu1 sed=4.7-1 sensible-utils=0.0.14 sysvinit-utils=2.96-7 tar=1.34+dfsg-1 util-linux=2.36.1-7 xz-utils=5.2.5-2 zlib1g=1:1.2.11.dfsg-2 --variant=apt --aptopt=Acquire::Check-Valid-Until "false" --aptopt=Acquire::http::Dl-Limit "1000"; --aptopt=Acquire::https::Dl-Limit "1000"; --aptopt=Acquire::Retries "5"; --aptopt=APT::Get::allow-downgrades "true"; --keyring=/usr/share/keyrings/ --essential-hook=chroot "$1" sh -c "apt-get --yes install fakeroot util-linux" --essential-hook=copy-in /usr/share/keyrings/debian-archive-bullseye-automatic.gpg /usr/share/keyrings/debian-archive-bullseye-security-automatic.gpg /usr/share/keyrings/debian-archive-bullseye-stable.gpg /usr/share/keyrings/debian-archive-buster-automatic.gpg /usr/share/keyrings/debian-archive-buster-security-automatic.gpg /usr/share/keyrings/debian-archive-buster-stable.gpg /usr/share/keyrings/debian-archive-keyring.gpg /usr/share/keyrings/debian-archive-removed-keys.gpg /usr/share/keyrings/debian-archive-stretch-automatic.gpg /usr/share/keyrings/debian-archive-stretch-security-automatic.gpg /usr/share/keyrings/debian-archive-stretch-stable.gpg /usr/share/keyrings/debian-ports-archive-keyring-removed.gpg /usr/share/keyrings/debian-ports-archive-keyring.gpg /usr/share/keyrings/debian-keyring.gpg /etc/apt/trusted.gpg.d/ --essential-hook=chroot "$1" sh -c "rm /etc/apt/sources.list && echo 'deb http://snapshot.notset.fr/archive/debian/20210814T212851Z/ bookworm main deb-src http://snapshot.notset.fr/archive/debian/20210814T212851Z/ bookworm main deb http://snapshot.notset.fr/archive/debian/20210720T154042Z/ unstable main' >> /etc/apt/sources.list && apt-get update" --customize-hook=chroot "$1" useradd --no-create-home -d /nonexistent -p "" builduser -s /bin/bash --customize-hook=chroot "$1" env sh -c "apt-get source --only-source -d golang-github-google-wire=0.4.0-3 && mkdir -p /build/golang-github-google-wire-w7Q20i && dpkg-source --no-check -x /*.dsc /build/golang-github-google-wire-w7Q20i/golang-github-google-wire-0.4.0 && cd /build/golang-github-google-wire-w7Q20i/golang-github-google-wire-0.4.0 && { printf '%s' 'golang-github-google-wire (0.4.0-3+b6) sid; urgency=low, binary-only=yes * Binary-only non-maintainer upload for amd64; no source changes. * Rebuild against golang-1.15 1.15.9-6 -- all / amd64 / i386 Build Daemon (x86-conova-01) Sun, 18 Jul 2021 10:35:38 +0000 '; cat debian/changelog; } > debian/changelog.debrebuild && mv debian/changelog.debrebuild debian/changelog && chown -R builduser:builduser /build/golang-github-google-wire-w7Q20i" --customize-hook=chroot "$1" env --unset=TMPDIR runuser builduser -c "cd /build/golang-github-google-wire-w7Q20i/golang-github-google-wire-0.4.0 && env DEB_BUILD_OPTIONS="parallel=4" LC_ALL="C.UTF-8" SOURCE_DATE_EPOCH="1626604538" dpkg-buildpackage -uc -a amd64 --build=any" --customize-hook=sync-out /build/golang-github-google-wire-w7Q20i /tmp/golang-github-google-wire-0.4.0-3+b6_ps3m9fn bullseye /dev/null deb http://snapshot.notset.fr/archive/debian/20210720T154042Z unstable main I: automatically chosen mode: root I: chroot architecture amd64 is equal to the host's architecture I: automatically chosen format: tar I: using /tmp/mmdebstrap.Ji4mFXoo1U as tempdir I: running apt-get update... I: downloading packages with apt... I: extracting archives... I: installing essential packages... I: running --essential-hook in shell: sh -c 'chroot "$1" sh -c "apt-get --yes install fakeroot util-linux"' exec /tmp/mmdebstrap.Ji4mFXoo1U Reading package lists... Building dependency tree... util-linux is already the newest version (2.36.1-7). The following NEW packages will be installed: fakeroot libfakeroot 0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. Need to get 134 kB of archives. After this operation, 397 kB of additional disk space will be used. Get:1 http://snapshot.notset.fr/archive/debian/20210720T154042Z unstable/main amd64 libfakeroot amd64 1.25.3-1.1 [47.0 kB] Get:2 http://snapshot.notset.fr/archive/debian/20210720T154042Z unstable/main amd64 fakeroot amd64 1.25.3-1.1 [87.0 kB] debconf: delaying package configuration, since apt-utils is not installed Fetched 134 kB in 0s (824 kB/s) Selecting previously unselected package libfakeroot:amd64. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 4667 files and directories currently installed.) Preparing to unpack .../libfakeroot_1.25.3-1.1_amd64.deb ... Unpacking libfakeroot:amd64 (1.25.3-1.1) ... Selecting previously unselected package fakeroot. Preparing to unpack .../fakeroot_1.25.3-1.1_amd64.deb ... Unpacking fakeroot (1.25.3-1.1) ... Setting up libfakeroot:amd64 (1.25.3-1.1) ... Setting up fakeroot (1.25.3-1.1) ... update-alternatives: using /usr/bin/fakeroot-sysv to provide /usr/bin/fakeroot (fakeroot) in auto mode Processing triggers for libc-bin (2.31-13) ... I: running special hook: copy-in /usr/share/keyrings/debian-archive-bullseye-automatic.gpg /usr/share/keyrings/debian-archive-bullseye-security-automatic.gpg /usr/share/keyrings/debian-archive-bullseye-stable.gpg /usr/share/keyrings/debian-archive-buster-automatic.gpg /usr/share/keyrings/debian-archive-buster-security-automatic.gpg /usr/share/keyrings/debian-archive-buster-stable.gpg /usr/share/keyrings/debian-archive-keyring.gpg /usr/share/keyrings/debian-archive-removed-keys.gpg /usr/share/keyrings/debian-archive-stretch-automatic.gpg /usr/share/keyrings/debian-archive-stretch-security-automatic.gpg /usr/share/keyrings/debian-archive-stretch-stable.gpg /usr/share/keyrings/debian-ports-archive-keyring-removed.gpg /usr/share/keyrings/debian-ports-archive-keyring.gpg /usr/share/keyrings/debian-keyring.gpg /etc/apt/trusted.gpg.d/ I: running --essential-hook in shell: sh -c 'chroot "$1" sh -c "rm /etc/apt/sources.list && echo 'deb http://snapshot.notset.fr/archive/debian/20210814T212851Z/ bookworm main deb-src http://snapshot.notset.fr/archive/debian/20210814T212851Z/ bookworm main deb http://snapshot.notset.fr/archive/debian/20210720T154042Z/ unstable main' >> /etc/apt/sources.list && apt-get update"' exec /tmp/mmdebstrap.Ji4mFXoo1U Get:1 http://snapshot.notset.fr/archive/debian/20210814T212851Z bookworm InRelease [81.6 kB] Hit:2 http://snapshot.notset.fr/archive/debian/20210720T154042Z unstable InRelease Ign:3 http://snapshot.notset.fr/archive/debian/20210814T212851Z bookworm/main Sources Ign:4 http://snapshot.notset.fr/archive/debian/20210814T212851Z bookworm/main amd64 Packages Ign:3 http://snapshot.notset.fr/archive/debian/20210814T212851Z bookworm/main Sources Ign:4 http://snapshot.notset.fr/archive/debian/20210814T212851Z bookworm/main amd64 Packages Ign:3 http://snapshot.notset.fr/archive/debian/20210814T212851Z bookworm/main Sources Ign:4 http://snapshot.notset.fr/archive/debian/20210814T212851Z bookworm/main amd64 Packages Get:3 http://snapshot.notset.fr/archive/debian/20210814T212851Z bookworm/main Sources [11.4 MB] Get:4 http://snapshot.notset.fr/archive/debian/20210814T212851Z bookworm/main amd64 Packages [11.1 MB] Fetched 22.6 MB in 23s (970 kB/s) Reading package lists... I: installing remaining packages inside the chroot... I: running --customize-hook in shell: sh -c 'chroot "$1" useradd --no-create-home -d /nonexistent -p "" builduser -s /bin/bash' exec /tmp/mmdebstrap.Ji4mFXoo1U I: running --customize-hook in shell: sh -c 'chroot "$1" env sh -c "apt-get source --only-source -d golang-github-google-wire=0.4.0-3 && mkdir -p /build/golang-github-google-wire-w7Q20i && dpkg-source --no-check -x /*.dsc /build/golang-github-google-wire-w7Q20i/golang-github-google-wire-0.4.0 && cd /build/golang-github-google-wire-w7Q20i/golang-github-google-wire-0.4.0 && { printf '%s' 'golang-github-google-wire (0.4.0-3+b6) sid; urgency=low, binary-only=yes * Binary-only non-maintainer upload for amd64; no source changes. * Rebuild against golang-1.15 1.15.9-6 -- all / amd64 / i386 Build Daemon (x86-conova-01) Sun, 18 Jul 2021 10:35:38 +0000 '; cat debian/changelog; } > debian/changelog.debrebuild && mv debian/changelog.debrebuild debian/changelog && chown -R builduser:builduser /build/golang-github-google-wire-w7Q20i"' exec /tmp/mmdebstrap.Ji4mFXoo1U Reading package lists... NOTICE: 'golang-github-google-wire' packaging is maintained in the 'Git' version control system at: https://salsa.debian.org/go-team/packages/golang-github-google-wire.git Please use: git clone https://salsa.debian.org/go-team/packages/golang-github-google-wire.git to retrieve the latest (possibly unreleased) updates to the package. Need to get 92.5 kB of source archives. Get:1 http://snapshot.notset.fr/archive/debian/20210814T212851Z bookworm/main golang-github-google-wire 0.4.0-3 (dsc) [2458 B] Get:2 http://snapshot.notset.fr/archive/debian/20210814T212851Z bookworm/main golang-github-google-wire 0.4.0-3 (tar) [87.1 kB] Get:3 http://snapshot.notset.fr/archive/debian/20210814T212851Z bookworm/main golang-github-google-wire 0.4.0-3 (diff) [2896 B] Fetched 92.5 kB in 0s (471 kB/s) Download complete and in download only mode W: Download is performed unsandboxed as root as file 'golang-github-google-wire_0.4.0-3.dsc' couldn't be accessed by user '_apt'. - pkgAcquire::Run (13: Permission denied) dpkg-source: info: extracting golang-github-google-wire in /build/golang-github-google-wire-w7Q20i/golang-github-google-wire-0.4.0 dpkg-source: info: unpacking golang-github-google-wire_0.4.0.orig.tar.gz dpkg-source: info: unpacking golang-github-google-wire_0.4.0-3.debian.tar.xz I: running --customize-hook in shell: sh -c 'chroot "$1" env --unset=TMPDIR runuser builduser -c "cd /build/golang-github-google-wire-w7Q20i/golang-github-google-wire-0.4.0 && env DEB_BUILD_OPTIONS="parallel=4" LC_ALL="C.UTF-8" SOURCE_DATE_EPOCH="1626604538" dpkg-buildpackage -uc -a amd64 --build=any"' exec /tmp/mmdebstrap.Ji4mFXoo1U dpkg-buildpackage: info: source package golang-github-google-wire dpkg-buildpackage: info: source version 0.4.0-3+b6 dpkg-buildpackage: info: source distribution sid dpkg-buildpackage: info: source changed by all / amd64 / i386 Build Daemon (x86-conova-01) dpkg-source --before-build . dpkg-buildpackage: info: host architecture amd64 debian/rules clean dh clean --builddirectory=_build --buildsystem=golang --with golang dh_auto_clean -O--builddirectory=_build -O--buildsystem=golang dh_autoreconf_clean -O--builddirectory=_build -O--buildsystem=golang dh_clean -O--builddirectory=_build -O--buildsystem=golang debian/rules binary-arch dh binary-arch --builddirectory=_build --buildsystem=golang --with golang dh_update_autotools_config -a -O--builddirectory=_build -O--buildsystem=golang dh_autoreconf -a -O--builddirectory=_build -O--buildsystem=golang dh_auto_configure -a -O--builddirectory=_build -O--buildsystem=golang dh_auto_build -a -O--builddirectory=_build -O--buildsystem=golang cd _build && go install -trimpath -v -p 4 github.com/google/wire github.com/google/wire/cmd/wire github.com/google/wire/internal/wire github.com/google/wire internal/unsafeheader internal/cpu runtime/internal/atomic runtime/internal/sys internal/race sync/atomic runtime/internal/math math/bits internal/bytealg unicode/utf8 unicode math internal/testlog encoding unicode/utf16 internal/goversion runtime golang.org/x/mod/semver golang.org/x/xerrors/internal internal/reflectlite sync math/rand errors sort io strconv internal/oserror syscall container/heap bytes strings text/tabwriter path reflect bufio regexp/syntax time internal/syscall/unix internal/syscall/execenv regexp internal/poll context encoding/binary internal/fmtsort os encoding/base64 internal/lazyregexp path/filepath fmt os/exec io/ioutil flag go/token encoding/json math/big go/scanner github.com/google/subcommands golang.org/x/sys/execabs net/url go/ast text/template/parse internal/execabs internal/goroot text/scanner go/constant golang.org/x/tools/internal/event/label go/parser go/printer golang.org/x/tools/go/ast/astutil text/template go/types go/format golang.org/x/tools/internal/event/keys golang.org/x/xerrors go/doc golang.org/x/tools/internal/event/core log golang.org/x/tools/internal/event github.com/pmezard/go-difflib/difflib golang.org/x/tools/internal/gocommand golang.org/x/tools/internal/packagesinternal go/build golang.org/x/tools/go/internal/packagesdriver golang.org/x/tools/internal/typesinternal golang.org/x/tools/go/types/typeutil golang.org/x/tools/go/internal/gcimporter golang.org/x/tools/go/gcexportdata golang.org/x/tools/go/packages github.com/google/wire/internal/wire github.com/google/wire/cmd/wire dh_auto_test -a -O--builddirectory=_build -O--buildsystem=golang cd _build && go test -vet=off -v -p 4 github.com/google/wire github.com/google/wire/cmd/wire github.com/google/wire/internal/wire ? github.com/google/wire [no test files] ? github.com/google/wire/cmd/wire [no test files] === RUN TestWire === RUN TestWire/BindInjectorArg === PAUSE TestWire/BindInjectorArg === RUN TestWire/BindInjectorArgPointer === PAUSE TestWire/BindInjectorArgPointer === RUN TestWire/BindInterfaceWithValue === PAUSE TestWire/BindInterfaceWithValue === RUN TestWire/BuildTagsAllPackages === PAUSE TestWire/BuildTagsAllPackages === RUN TestWire/Chain === PAUSE TestWire/Chain === RUN TestWire/Cleanup === PAUSE TestWire/Cleanup === RUN TestWire/CopyOtherDecls === PAUSE TestWire/CopyOtherDecls === RUN TestWire/Cycle === PAUSE TestWire/Cycle === RUN TestWire/EmptyVar === PAUSE TestWire/EmptyVar === RUN TestWire/ExampleWithMocks === PAUSE TestWire/ExampleWithMocks === RUN TestWire/ExportedValue === PAUSE TestWire/ExportedValue === RUN TestWire/ExportedValueDifferentPackage === PAUSE TestWire/ExportedValueDifferentPackage === RUN TestWire/FieldsOfCycle === PAUSE TestWire/FieldsOfCycle === RUN TestWire/FieldsOfImportedStruct === PAUSE TestWire/FieldsOfImportedStruct === RUN TestWire/FieldsOfStruct === PAUSE TestWire/FieldsOfStruct === RUN TestWire/FieldsOfStructDoNotProvidePtrToField === PAUSE TestWire/FieldsOfStructDoNotProvidePtrToField === RUN TestWire/FieldsOfStructPointer === PAUSE TestWire/FieldsOfStructPointer === RUN TestWire/FieldsOfValueStruct === PAUSE TestWire/FieldsOfValueStruct === RUN TestWire/FuncArgProvider === PAUSE TestWire/FuncArgProvider === RUN TestWire/Header === PAUSE TestWire/Header === RUN TestWire/ImportedInterfaceBinding === PAUSE TestWire/ImportedInterfaceBinding === RUN TestWire/InjectInput === PAUSE TestWire/InjectInput === RUN TestWire/InjectInputConflict === PAUSE TestWire/InjectInputConflict === RUN TestWire/InjectWithPanic === PAUSE TestWire/InjectWithPanic === RUN TestWire/InjectorMissingCleanup === PAUSE TestWire/InjectorMissingCleanup === RUN TestWire/InjectorMissingError === PAUSE TestWire/InjectorMissingError === RUN TestWire/InterfaceBinding === PAUSE TestWire/InterfaceBinding === RUN TestWire/InterfaceBindingDoesntImplement === PAUSE TestWire/InterfaceBindingDoesntImplement === RUN TestWire/InterfaceBindingInvalidArg0 === PAUSE TestWire/InterfaceBindingInvalidArg0 === RUN TestWire/InterfaceBindingNotEnoughArgs === PAUSE TestWire/InterfaceBindingNotEnoughArgs === RUN TestWire/InterfaceBindingReuse === PAUSE TestWire/InterfaceBindingReuse === RUN TestWire/InterfaceValue === PAUSE TestWire/InterfaceValue === RUN TestWire/InterfaceValueDoesntImplement === PAUSE TestWire/InterfaceValueDoesntImplement === RUN TestWire/InterfaceValueInvalidArg0 === PAUSE TestWire/InterfaceValueInvalidArg0 === RUN TestWire/InterfaceValueNotEnoughArgs === PAUSE TestWire/InterfaceValueNotEnoughArgs === RUN TestWire/InvalidInjector === PAUSE TestWire/InvalidInjector === RUN TestWire/MultipleArgsSameType === PAUSE TestWire/MultipleArgsSameType === RUN TestWire/MultipleBindings === PAUSE TestWire/MultipleBindings === RUN TestWire/MultipleMissingInputs === PAUSE TestWire/MultipleMissingInputs === RUN TestWire/MultipleSimilarPackages === PAUSE TestWire/MultipleSimilarPackages === RUN TestWire/NamingWorstCase === PAUSE TestWire/NamingWorstCase === RUN TestWire/NamingWorstCaseAllInOne === PAUSE TestWire/NamingWorstCaseAllInOne === RUN TestWire/NiladicIdentity === PAUSE TestWire/NiladicIdentity === RUN TestWire/NiladicValue === PAUSE TestWire/NiladicValue === RUN TestWire/NoImplicitInterface === PAUSE TestWire/NoImplicitInterface === RUN TestWire/NoInjectParamNames === PAUSE TestWire/NoInjectParamNames === RUN TestWire/NoopBuild === PAUSE TestWire/NoopBuild === RUN TestWire/PartialCleanup === PAUSE TestWire/PartialCleanup === RUN TestWire/PkgImport === PAUSE TestWire/PkgImport === RUN TestWire/ProviderSetBindingMissingConcreteType === PAUSE TestWire/ProviderSetBindingMissingConcreteType === RUN TestWire/RelativePkg === PAUSE TestWire/RelativePkg === RUN TestWire/ReservedKeywords === PAUSE TestWire/ReservedKeywords === RUN TestWire/ReturnArgumentAsInterface === PAUSE TestWire/ReturnArgumentAsInterface === RUN TestWire/ReturnError === PAUSE TestWire/ReturnError === RUN TestWire/Struct === PAUSE TestWire/Struct === RUN TestWire/StructNotAStruct === PAUSE TestWire/StructNotAStruct === RUN TestWire/StructPointer === PAUSE TestWire/StructPointer === RUN TestWire/StructWithPreventTag === PAUSE TestWire/StructWithPreventTag === RUN TestWire/TwoDeps === PAUSE TestWire/TwoDeps === RUN TestWire/UnexportedStruct === PAUSE TestWire/UnexportedStruct === RUN TestWire/UnexportedValue === PAUSE TestWire/UnexportedValue === RUN TestWire/UnusedProviders === PAUSE TestWire/UnusedProviders === RUN TestWire/ValueChain === PAUSE TestWire/ValueChain === RUN TestWire/ValueConversion === PAUSE TestWire/ValueConversion === RUN TestWire/ValueFromFunctionScope === PAUSE TestWire/ValueFromFunctionScope === RUN TestWire/ValueIsInterfaceValue === PAUSE TestWire/ValueIsInterfaceValue === RUN TestWire/ValueIsStruct === PAUSE TestWire/ValueIsStruct === RUN TestWire/VarValue === PAUSE TestWire/VarValue === RUN TestWire/Varargs === PAUSE TestWire/Varargs === CONT TestWire/BindInjectorArg === CONT TestWire/InterfaceValueNotEnoughArgs === CONT TestWire/FieldsOfValueStruct === CONT TestWire/ReservedKeywords === CONT TestWire/FieldsOfImportedStruct === CONT TestWire/FieldsOfCycle === CONT TestWire/ValueIsStruct === CONT TestWire/ExportedValue === CONT TestWire/FieldsOfStructPointer === CONT TestWire/InterfaceBinding === CONT TestWire/FieldsOfStruct === CONT TestWire/InterfaceValueInvalidArg0 === CONT TestWire/FieldsOfStructDoNotProvidePtrToField === CONT TestWire/InterfaceValueDoesntImplement === CONT TestWire/Varargs === CONT TestWire/InterfaceBindingReuse === CONT TestWire/ExampleWithMocks === CONT TestWire/InterfaceBindingInvalidArg0 === CONT TestWire/InterfaceBindingNotEnoughArgs === CONT TestWire/StructPointer === CONT TestWire/InterfaceBindingDoesntImplement === CONT TestWire/UnexportedStruct === CONT TestWire/TwoDeps === CONT TestWire/ExportedValueDifferentPackage === CONT TestWire/UnexportedValue === CONT TestWire/VarValue === CONT TestWire/StructWithPreventTag === CONT TestWire/ValueConversion === CONT TestWire/ValueFromFunctionScope === CONT TestWire/ValueChain === CONT TestWire/InterfaceValue === CONT TestWire/ValueIsInterfaceValue === CONT TestWire/ExportedValue wire_test.go:164: wire_gen.go: // Code generated by Wire. DO NOT EDIT. //go:generate wire //+build !wireinject package main import ( "example.com/bar" ) // Injectors from wire.go: func injectedMessage() string { string2 := _wireStringValue return string2 } var ( _wireStringValue = bar.PublicMsg ) === CONT TestWire/Cycle === CONT TestWire/FieldsOfStruct wire_test.go:164: wire_gen.go: // Code generated by Wire. DO NOT EDIT. //go:generate wire //+build !wireinject package main // Injectors from wire.go: func injectedMessage() string { s := provideS() string2 := s.Foo return string2 } === CONT TestWire/EmptyVar === CONT TestWire/InterfaceValueNotEnoughArgs wire_test.go:108: /tmp/wire_test168921123/src/example.com/foo/wire.go:25:38: too few arguments in call to wire.InterfaceValue === CONT TestWire/NiladicValue === CONT TestWire/BindInjectorArg wire_test.go:164: wire_gen.go: // Code generated by Wire. DO NOT EDIT. //go:generate wire //+build !wireinject package main // Injectors from wire.go: func inject(foo Foo) *Bar { bar := NewBar(foo) return bar } === CONT TestWire/RelativePkg === CONT TestWire/FieldsOfStructDoNotProvidePtrToField wire_test.go:108: /tmp/wire_test835644400/src/example.com/foo/wire.go:23:1: inject injectedMessagePtr: no provider found for *string, output of injector === CONT TestWire/ProviderSetBindingMissingConcreteType === CONT TestWire/InterfaceBinding wire_test.go:164: wire_gen.go: // Code generated by Wire. DO NOT EDIT. //go:generate wire //+build !wireinject package main // Injectors from wire.go: func injectFooer() Fooer { bar := provideBar() return bar } === CONT TestWire/PkgImport === CONT TestWire/InterfaceBindingReuse wire_test.go:164: wire_gen.go: // Code generated by Wire. DO NOT EDIT. //go:generate wire //+build !wireinject package main // Injectors from wire.go: func injectFooBar() FooBar { bar := provideBar() fooBar := provideFooBar(bar, bar) return fooBar } === CONT TestWire/PartialCleanup === CONT TestWire/Varargs wire_test.go:164: wire_gen.go: // Code generated by Wire. DO NOT EDIT. //go:generate wire //+build !wireinject package main // Injectors from wire.go: func injectedMessage(t title, lines ...string) string { string2 := provideMessage(lines...) return string2 } === CONT TestWire/NoopBuild === CONT TestWire/StructWithPreventTag wire_test.go:108: /tmp/wire_test285467998/src/example.com/foo/foo.go:45:2: "mu" is prevented from injecting by wire === CONT TestWire/NoInjectParamNames === CONT TestWire/ReservedKeywords wire_test.go:164: wire_gen.go: // Code generated by Wire. DO NOT EDIT. //go:generate wire //+build !wireinject package main // Injectors from wire.go: func injectInterface() Interface { select2 := provideSelect() mainInterface := provideInterface(select2) return mainInterface } // wire.go: // Wire tries to disambiguate the variable "select" by prepending // the package name; this package-scoped variable conflicts with that // and forces a different name. var mainSelect = 0 === CONT TestWire/NoImplicitInterface === CONT TestWire/InterfaceBindingNotEnoughArgs wire_test.go:108: /tmp/wire_test240784118/src/example.com/foo/wire.go:25:33: too few arguments in call to wire.Bind === CONT TestWire/BuildTagsAllPackages === CONT TestWire/FieldsOfCycle wire_test.go:108: /tmp/wire_test906418695/src/example.com/foo/wire.go:23:1: cycle for example.com/foo.Bar: example.com/foo.Bar (example.com/foo.provideBar) -> example.com/foo.Foo (example.com/foo.provideFoo) -> example.com/foo.Baz (example.com/foo.Bar.Bz) -> example.com/foo.Bar === CONT TestWire/Chain === CONT TestWire/UnexportedValue wire_test.go:108: /tmp/wire_test911597644/src/example.com/foo/wire.go:24:1: inject injectedMessage: value string can't be used: uses unexported identifier privateMsg === CONT TestWire/BindInterfaceWithValue === CONT TestWire/ValueConversion wire_test.go:164: wire_gen.go: // Code generated by Wire. DO NOT EDIT. //go:generate wire //+build !wireinject package main // Injectors from wire.go: func injectedMessage() Foo { foo := _wireFooValue return foo } var ( _wireFooValue = Foo("Hello, World!") ) === CONT TestWire/BindInjectorArgPointer === CONT TestWire/ValueFromFunctionScope wire_test.go:108: /tmp/wire_test279627840/src/example.com/foo/wire.go:23:1: inject injectBar: value int can't be used: f is not declared in package scope === CONT TestWire/InjectInputConflict === CONT TestWire/InterfaceBindingDoesntImplement wire_test.go:108: /tmp/wire_test002452376/src/example.com/foo/wire.go:25:13: string does not implement example.com/foo.Fooer === CONT TestWire/InjectorMissingError === CONT TestWire/InterfaceValue wire_test.go:164: wire_gen.go: // Code generated by Wire. DO NOT EDIT. //go:generate wire //+build !wireinject package main import ( "io" "strings" ) // Injectors from wire.go: func injectedReader() io.Reader { reader := _wireReaderValue return reader } var ( _wireReaderValue = strings.NewReader("hello world") ) === CONT TestWire/InjectorMissingCleanup === CONT TestWire/ExportedValueDifferentPackage wire_test.go:164: wire_gen.go: // Code generated by Wire. DO NOT EDIT. //go:generate wire //+build !wireinject package main import ( "os" ) // Injectors from wire.go: func injectedFile() *os.File { file := _wireFileValue return file } var ( _wireFileValue = os.Stdout ) === CONT TestWire/InjectWithPanic === CONT TestWire/FieldsOfImportedStruct wire_test.go:164: wire_gen.go: // Code generated by Wire. DO NOT EDIT. //go:generate wire //+build !wireinject package main import ( "example.com/bar" "example.com/baz" "example.com/foo" "fmt" ) // Injectors from wire.go: func newBazService(config *baz.Config) *baz.Service { fooConfig := config.Foo service := foo.New(fooConfig) barConfig := config.Bar barService := bar.New(barConfig, service) bazService := &baz.Service{ Foo: service, Bar: barService, } return bazService } // wire.go: func main() { cfg := &baz.Config{ Foo: &foo.Config{1}, Bar: &bar.Config{2}, } svc := newBazService(cfg) fmt.Println(svc.String()) } === CONT TestWire/Struct === CONT TestWire/VarValue wire_test.go:164: wire_gen.go: // Code generated by Wire. DO NOT EDIT. //go:generate wire //+build !wireinject package main // Injectors from wire.go: func injectedMessage() string { string2 := _wireStringValue return string2 } var ( _wireStringValue = msg ) === CONT TestWire/StructNotAStruct === CONT TestWire/InterfaceValueInvalidArg0 wire_test.go:108: /tmp/wire_test757866389/src/example.com/foo/wire.go:25:13: first argument to InterfaceValue must be a pointer to an interface type; found string === CONT TestWire/CopyOtherDecls === CONT TestWire/TwoDeps wire_test.go:164: wire_gen.go: // Code generated by Wire. DO NOT EDIT. //go:generate wire //+build !wireinject package main // Injectors from wire.go: func injectFooBar() FooBar { foo := provideFoo() bar := provideBar() fooBar := provideFooBar(foo, bar) return fooBar } === CONT TestWire/MultipleSimilarPackages === CONT TestWire/UnexportedStruct wire_test.go:108: /tmp/wire_test044668951/src/example.com/foo/wire.go:26:17: foo not exported by package bar === CONT TestWire/NiladicIdentity === CONT TestWire/FieldsOfStructPointer wire_test.go:164: wire_gen.go: // Code generated by Wire. DO NOT EDIT. //go:generate wire //+build !wireinject package main // Injectors from wire.go: func injectedMessage() string { s := provideS() string2 := s.Foo return string2 } func injectedMessagePtr() *string { s := provideS() string2 := &s.Foo return string2 } === CONT TestWire/NamingWorstCaseAllInOne === CONT TestWire/ValueIsInterfaceValue wire_test.go:108: /tmp/wire_test107792937/src/example.com/foo/wire.go:27:13: argument to Value may not be an interface value (found io.Reader); use InterfaceValue instead === CONT TestWire/NamingWorstCase === CONT TestWire/ValueChain wire_test.go:164: wire_gen.go: // Code generated by Wire. DO NOT EDIT. //go:generate wire //+build !wireinject package main // Injectors from wire.go: func injectFooBar() FooBar { foo := _wireFooValue fooBar := provideFooBar(foo) return fooBar } var ( _wireFooValue = Foo(41) ) === CONT TestWire/ReturnError === CONT TestWire/RelativePkg wire_test.go:164: wire_gen.go: // Code generated by Wire. DO NOT EDIT. //go:generate wire //+build !wireinject package main // Injectors from wire.go: func injectedMessage() string { string2 := provideMessage() return string2 } === CONT TestWire/MultipleBindings === CONT TestWire/InterfaceValueDoesntImplement wire_test.go:108: /tmp/wire_test080200847/src/example.com/foo/wire.go:26:13: string does not implement io.Reader === CONT TestWire/MultipleMissingInputs === CONT TestWire/StructPointer wire_test.go:164: wire_gen.go: // Code generated by Wire. DO NOT EDIT. //go:generate wire //+build !wireinject package main // Injectors from wire.go: func injectFooBar() *FooBar { foo := provideFoo() bar := provideBar() fooBar := &FooBar{ Foo: foo, Bar: bar, } return fooBar } func injectEmptyStruct() *Empty { empty := &Empty{} return empty } === CONT TestWire/ImportedInterfaceBinding === CONT TestWire/InterfaceBindingInvalidArg0 wire_test.go:108: /tmp/wire_test047220531/src/example.com/foo/wire.go:25:13: first argument to Bind must be a pointer to an interface type; found string === CONT TestWire/InjectInput === CONT TestWire/ExampleWithMocks wire_test.go:164: wire_gen.go: // Code generated by Wire. DO NOT EDIT. //go:generate wire //+build !wireinject package main // Injectors from wire.go: func initApp() *app { mainTimer := _wireRealTimeValue mainGreeter := greeter{ T: mainTimer, } mainApp := &app{ g: mainGreeter, } return mainApp } var ( _wireRealTimeValue = realTime{} ) func initMockedAppFromArgs(mt timer) *app { mainGreeter := greeter{ T: mt, } mainApp := &app{ g: mainGreeter, } return mainApp } func initMockedApp() *appWithMocks { mainMockTimer := newMockTimer() mainGreeter := greeter{ T: mainMockTimer, } mainApp := app{ g: mainGreeter, } mainAppWithMocks := &appWithMocks{ app: mainApp, mt: mainMockTimer, } return mainAppWithMocks } === CONT TestWire/MultipleArgsSameType === CONT TestWire/FieldsOfValueStruct wire_test.go:164: wire_gen.go: // Code generated by Wire. DO NOT EDIT. //go:generate wire //+build !wireinject package main import ( "example.com/bar" "example.com/baz" "example.com/foo" "fmt" ) // Injectors from wire.go: func newBazService() *baz.Service { config := _wireConfigValue fooConfig := config.Foo service := foo.New(fooConfig) barConfig := config.Bar barService := bar.New(barConfig, service) bazService := &baz.Service{ Foo: service, Bar: barService, } return bazService } var ( _wireConfigValue = &baz.Config{ Foo: &foo.Config{1}, Bar: &bar.Config{2}, } ) // wire.go: func main() { svc := newBazService() fmt.Println(svc.String()) } === CONT TestWire/InvalidInjector === CONT TestWire/ValueIsStruct wire_test.go:164: wire_gen.go: // Code generated by Wire. DO NOT EDIT. //go:generate wire //+build !wireinject package main // Injectors from wire.go: func injectFoo() Foo { foo := _wireFooValue return foo } var ( _wireFooValue = Foo{X: 42} ) === CONT TestWire/Header === CONT TestWire/UnusedProviders === CONT TestWire/PkgImport wire_test.go:164: wire_gen.go: // Code generated by Wire. DO NOT EDIT. //go:generate wire //+build !wireinject package main import ( "example.com/bar" ) import ( _ "example.com/anon1" _ "example.com/anon2" ) // Injectors from wire.go: func injectFooBar() FooBar { foo := provideFoo() barBar := bar.ProvideBar() fooBar := provideFooBar(foo, barBar) return fooBar } === CONT TestWire/FuncArgProvider === CONT TestWire/BindInjectorArgPointer wire_test.go:164: wire_gen.go: // Code generated by Wire. DO NOT EDIT. //go:generate wire //+build !wireinject package main // Injectors from wire.go: func inject(foo *Foo) *Bar { bar := NewBar(foo) return bar } === CONT TestWire/ReturnArgumentAsInterface === CONT TestWire/EmptyVar wire_test.go:108: /tmp/wire_test051800131/src/example.com/foo/wire.go:24:13: var example.com/foo.myFakeSet struct{} is not a provider or a provider set === CONT TestWire/Cleanup === CONT TestWire/PartialCleanup wire_test.go:164: wire_gen.go: // Code generated by Wire. DO NOT EDIT. //go:generate wire //+build !wireinject package main // Injectors from wire.go: func injectBaz() (Baz, func(), error) { foo, cleanup := provideFoo() bar, cleanup2, err := provideBar(foo) if err != nil { cleanup() return 0, nil, err } baz, err := provideBaz(bar) if err != nil { cleanup2() cleanup() return 0, nil, err } return baz, func() { cleanup2() cleanup() }, nil } === CONT TestWire/NiladicValue wire_test.go:164: wire_gen.go: // Code generated by Wire. DO NOT EDIT. //go:generate wire //+build !wireinject package main // Injectors from wire.go: func injectedMessage() string { string2 := _wireStringValue return string2 } var ( _wireStringValue = "Hello, World!" ) === CONT TestWire/Cycle wire_test.go:108: /tmp/wire_test002108276/src/example.com/foo/wire.go:23:1: cycle for example.com/foo.Bar: example.com/foo.Bar (example.com/foo.provideBar) -> example.com/foo.Foo (example.com/foo.provideFoo) -> example.com/foo.Baz (example.com/foo.provideBaz) -> example.com/foo.Bar === CONT TestWire/BindInterfaceWithValue wire_test.go:164: wire_gen.go: // Code generated by Wire. DO NOT EDIT. //go:generate wire //+build !wireinject package main import ( "io" "os" ) // Injectors from wire.go: func inject() io.Writer { file := _wireFileValue return file } var ( _wireFileValue = os.Stdout ) === CONT TestWire/NoInjectParamNames wire_test.go:164: wire_gen.go: // Code generated by Wire. DO NOT EDIT. //go:generate wire //+build !wireinject package main import ( context2 "context" ) // Injectors from wire.go: func inject(contextContext context2.Context, arg struct{}) (context, error) { mainContext, err := provide(contextContext) if err != nil { return context{}, err } return mainContext, nil } === CONT TestWire/NoImplicitInterface wire_test.go:108: /tmp/wire_test328716363/src/example.com/foo/wire.go:23:1: inject injectFooer: no provider found for example.com/foo.Fooer, output of injector === CONT TestWire/BuildTagsAllPackages wire_test.go:164: wire_gen.go: // Code generated by Wire. DO NOT EDIT. //go:generate wire //+build !wireinject package main // Injectors from wire.go: func injectedMessage() string { string2 := _wireStringValue return string2 } var ( _wireStringValue = "Hello, World!" ) === CONT TestWire/MultipleSimilarPackages wire_test.go:164: wire_gen.go: // Code generated by Wire. DO NOT EDIT. //go:generate wire //+build !wireinject package main import ( "example.com/bar" "example.com/baz" "example.com/foo" "fmt" ) // Injectors from wire.go: func newMainService(mainConfig MainConfig) *MainService { config := mainConfig.Foo service := foo.New(config) barConfig := mainConfig.Bar barService := bar.New(barConfig, service) bazConfig := mainConfig.baz bazService := baz.New(bazConfig, barService) mainService := &MainService{ Foo: service, Bar: barService, baz: bazService, } return mainService } // wire.go: type MainConfig struct { Foo *foo.Config Bar *bar.Config baz *baz.Config } type MainService struct { Foo *foo.Service Bar *bar.Service baz *baz.Service } func (m *MainService) String() string { return fmt.Sprintf("%d %d %d", m.Foo.Cfg.V, m.Bar.Cfg.V, m.baz.Cfg.V) } func main() { cfg := MainConfig{ Foo: &foo.Config{1}, Bar: &bar.Config{2}, baz: &baz.Config{3}, } svc := newMainService(cfg) fmt.Println(svc.String()) } === CONT TestWire/CopyOtherDecls wire_test.go:164: wire_gen.go: // Code generated by Wire. DO NOT EDIT. //go:generate wire //+build !wireinject package main import ( "fmt" ) // Injectors from foo.go: func injectedMessage() string { string2 := provideMessage() return string2 } // foo.go: func main() { fmt.Println(injectedMessage()) } // provideMessage provides a friendly user greeting. func provideMessage() string { return "Hello, World!" } === CONT TestWire/NiladicIdentity wire_test.go:164: wire_gen.go: // Code generated by Wire. DO NOT EDIT. //go:generate wire //+build !wireinject package main // Injectors from wire.go: func injectedMessage() string { string2 := provideMessage() return string2 } === CONT TestWire/InjectWithPanic wire_test.go:164: wire_gen.go: // Code generated by Wire. DO NOT EDIT. //go:generate wire //+build !wireinject package main // Injectors from wire.go: func injectedMessage() string { string2 := provideMessage() return string2 } === CONT TestWire/Struct wire_test.go:164: wire_gen.go: // Code generated by Wire. DO NOT EDIT. //go:generate wire //+build !wireinject package main // Injectors from wire.go: func injectFooBar() FooBar { foo := provideFoo() bar := provideBar() fooBar := FooBar{ Foo: foo, Bar: bar, } return fooBar } func injectPartFooBar() FooBar { foo := provideFoo() fooBar := FooBar{ Foo: foo, } return fooBar } === CONT TestWire/InjectorMissingError wire_test.go:108: /tmp/wire_test829800633/src/example.com/foo/wire.go:23:1: inject injectFoo: provider for example.com/foo.Foo returns error but injection not allowed to fail === CONT TestWire/MultipleBindings wire_test.go:108: /tmp/wire_test492590846/src/example.com/foo/wire.go:27:8: multiple bindings for example.com/foo.Foo current: <- provider "provideFooAgain" (/tmp/wire_test492590846/src/example.com/foo/foo.go:39:6) previous: <- provider "provideFoo" (/tmp/wire_test492590846/src/example.com/foo/foo.go:35:6) wire_test.go:108: /tmp/wire_test492590846/src/example.com/foo/wire.go:32:8: multiple bindings for example.com/foo.Foo current: <- provider "provideFoo" (/tmp/wire_test492590846/src/example.com/foo/foo.go:35:6) previous: <- provider "provideFoo" (/tmp/wire_test492590846/src/example.com/foo/foo.go:35:6) <- provider set "Set" (/tmp/wire_test492590846/src/example.com/foo/foo.go:31:11) wire_test.go:108: /tmp/wire_test492590846/src/example.com/foo/wire.go:37:8: multiple bindings for example.com/foo.Foo current: <- provider "provideFoo" (/tmp/wire_test492590846/src/example.com/foo/foo.go:35:6) previous: <- provider "provideFoo" (/tmp/wire_test492590846/src/example.com/foo/foo.go:35:6) <- provider set "Set" (/tmp/wire_test492590846/src/example.com/foo/foo.go:31:11) <- provider set "SuperSet" (/tmp/wire_test492590846/src/example.com/foo/foo.go:32:16) wire_test.go:108: /tmp/wire_test492590846/src/example.com/foo/foo.go:33:32: SetWithDuplicateBindings has multiple bindings for example.com/foo.Foo current: <- provider "provideFoo" (/tmp/wire_test492590846/src/example.com/foo/foo.go:35:6) <- provider set "Set" (/tmp/wire_test492590846/src/example.com/foo/foo.go:31:11) <- provider set "SuperSet" (/tmp/wire_test492590846/src/example.com/foo/foo.go:32:16) previous: <- provider "provideFoo" (/tmp/wire_test492590846/src/example.com/foo/foo.go:35:6) <- provider set "Set" (/tmp/wire_test492590846/src/example.com/foo/foo.go:31:11) wire_test.go:108: /tmp/wire_test492590846/src/example.com/foo/wire.go:47:8: multiple bindings for example.com/foo.Foo current: <- wire.Value (/tmp/wire_test492590846/src/example.com/foo/wire.go:47:42) previous: <- provider "provideFoo" (/tmp/wire_test492590846/src/example.com/foo/foo.go:35:6) wire_test.go:108: /tmp/wire_test492590846/src/example.com/foo/wire.go:52:8: multiple bindings for example.com/foo.Bar current: <- wire.Bind (/tmp/wire_test492590846/src/example.com/foo/wire.go:52:31) previous: <- provider "provideBar" (/tmp/wire_test492590846/src/example.com/foo/foo.go:43:6) === CONT TestWire/StructNotAStruct wire_test.go:108: /tmp/wire_test895159037/src/example.com/foo/wire.go:24:13: first argument to Struct must be a pointer to a named struct; found **example.com/foo.A === CONT TestWire/InjectInputConflict wire_test.go:108: /tmp/wire_test005245506/src/example.com/foo/wire.go:24:2: multiple bindings for example.com/foo.Foo current: <- provider "provideFoo" (/tmp/wire_test005245506/src/example.com/foo/foo.go:37:6) <- provider set "Set" (/tmp/wire_test005245506/src/example.com/foo/foo.go:33:11) previous: <- argument foo to injector function injectBar (/tmp/wire_test005245506/src/example.com/foo/wire.go:23:1) === CONT TestWire/InvalidInjector wire_test.go:108: a call to wire.Build indicates that this function is an injector, but injectors must consist of only the wire.Build call and an optional return wire_test.go:108: a call to wire.Build indicates that this function is an injector, but injectors must consist of only the wire.Build call and an optional return === CONT TestWire/ProviderSetBindingMissingConcreteType wire_test.go:108: /tmp/wire_test101008360/src/example.com/foo/foo.go:47:21: wire.Bind of concrete type "*example.com/foo.foo" to interface "example.com/foo.fooer", but setB does not include a provider for "*example.com/foo.foo" === CONT TestWire/NamingWorstCaseAllInOne wire_test.go:164: wire_gen.go: // Code generated by Wire. DO NOT EDIT. //go:generate wire //+build !wireinject package main import ( context2 "context" "fmt" "os" "reflect" ) // Injectors from foo.go: func inject(context3 context2.Context, err2 struct{}) (context, error) { mainContext, err := Provide(context3) if err != nil { return context{}, err } return mainContext, nil } // foo.go: type context struct{} func main() { if _, ok := reflect.TypeOf(context{}).MethodByName("Provide"); !ok { fmt.Println("ERROR: context.Provide renamed") os.Exit(1) } c, err := inject(context2.Background(), struct{}{}) if err != nil { fmt.Println("ERROR:", err) os.Exit(1) } fmt.Println(c) } func Provide(context2_2 context2.Context) (context, error) { var context3 = context2.Background() _ = context2_2 _ = context3 return context{}, nil } func (context) Provide() { } === CONT TestWire/Chain wire_test.go:164: wire_gen.go: // Code generated by Wire. DO NOT EDIT. //go:generate wire //+build !wireinject package main // Injectors from wire.go: func injectFooBar() FooBar { foo := provideFoo() fooBar := provideFooBar(foo) return fooBar } === CONT TestWire/InjectorMissingCleanup wire_test.go:108: /tmp/wire_test919361220/src/example.com/foo/wire.go:23:1: inject injectFoo: provider for example.com/foo.Foo returns cleanup but injection does not return cleanup function === CONT TestWire/MultipleArgsSameType wire_test.go:108: /tmp/wire_test479240466/src/example.com/foo/wire.go:25:8: multiple bindings for string current: <- argument b to injector function inject (/tmp/wire_test479240466/src/example.com/foo/wire.go:23:1) previous: <- argument a to injector function inject (/tmp/wire_test479240466/src/example.com/foo/wire.go:23:1) === CONT TestWire/ReturnError wire_test.go:164: wire_gen.go: // Code generated by Wire. DO NOT EDIT. //go:generate wire //+build !wireinject package main // Injectors from wire.go: func injectFoo() (Foo, error) { foo, err := provideFoo() if err != nil { return 0, err } return foo, nil } === CONT TestWire/MultipleMissingInputs wire_test.go:108: /tmp/wire_test894700101/src/example.com/foo/wire.go:23:1: inject injectMissingOutputType: no provider found for example.com/foo.Foo, output of injector wire_test.go:108: /tmp/wire_test894700101/src/example.com/foo/wire.go:29:1: inject injectMultipleMissingTypes: no provider found for example.com/foo.Foo needed by example.com/foo.Baz in provider "provideBaz" (/tmp/wire_test894700101/src/example.com/foo/foo.go:29:6) wire_test.go:108: /tmp/wire_test894700101/src/example.com/foo/wire.go:29:1: inject injectMultipleMissingTypes: no provider found for example.com/foo.Bar needed by example.com/foo.Baz in provider "provideBaz" (/tmp/wire_test894700101/src/example.com/foo/foo.go:29:6) wire_test.go:108: /tmp/wire_test894700101/src/example.com/foo/wire.go:35:1: inject injectMissingRecursiveType: no provider found for example.com/foo.Foo needed by example.com/foo.Zip in provider "provideZip" (/tmp/wire_test894700101/src/example.com/foo/foo.go:37:6) needed by example.com/foo.Zap in provider "provideZap" (/tmp/wire_test894700101/src/example.com/foo/foo.go:41:6) needed by example.com/foo.Zop in provider "provideZop" (/tmp/wire_test894700101/src/example.com/foo/foo.go:45:6) === CONT TestWire/UnusedProviders wire_test.go:108: /tmp/wire_test039751267/src/example.com/foo/wire.go:23:1: inject injectFooBar: unused provider set "unusedSet" wire_test.go:108: /tmp/wire_test039751267/src/example.com/foo/wire.go:23:1: inject injectFooBar: unused provider "main.provideUnused" wire_test.go:108: /tmp/wire_test039751267/src/example.com/foo/wire.go:23:1: inject injectFooBar: unused value of type string wire_test.go:108: /tmp/wire_test039751267/src/example.com/foo/wire.go:23:1: inject injectFooBar: unused interface binding to type example.com/foo.Fooer wire_test.go:108: /tmp/wire_test039751267/src/example.com/foo/wire.go:23:1: inject injectFooBar: unused field "example.com/foo.S".Cfg === CONT TestWire/NamingWorstCase wire_test.go:164: wire_gen.go: // Code generated by Wire. DO NOT EDIT. //go:generate wire //+build !wireinject package main import ( context2 "context" ) // Injectors from wire.go: func inject(context3 context2.Context, err2 struct{}) (context, error) { mainContext, err := provide(context3) if err != nil { return context{}, err } return mainContext, nil } === CONT TestWire/InjectInput wire_test.go:164: wire_gen.go: // Code generated by Wire. DO NOT EDIT. //go:generate wire //+build !wireinject package main // Injectors from wire.go: func injectFooBar(foo Foo) FooBar { bar := provideBar() fooBar := provideFooBar(foo, bar) return fooBar } === CONT TestWire/FuncArgProvider wire_test.go:108: /tmp/wire_test020412518/src/example.com/foo/wire.go:25:19: var fn func() *example.com/foo.Foo is not a provider or a provider set === CONT TestWire/ImportedInterfaceBinding wire_test.go:164: wire_gen.go: // Code generated by Wire. DO NOT EDIT. //go:generate wire //+build !wireinject package main import ( "example.com/foo" ) // Injectors from wire.go: func injectFooer() foo.Fooer { bar := provideBar() return bar } === CONT TestWire/ReturnArgumentAsInterface wire_test.go:164: wire_gen.go: // Code generated by Wire. DO NOT EDIT. //go:generate wire //+build !wireinject package main import ( "fmt" ) // Injectors from wire.go: func injectStringer(s MyString) fmt.Stringer { return s } === CONT TestWire/Cleanup wire_test.go:164: wire_gen.go: // Code generated by Wire. DO NOT EDIT. //go:generate wire //+build !wireinject package main // Injectors from wire.go: func injectBar() (*Bar, func()) { foo, cleanup := provideFoo() bar, cleanup2 := provideBar(foo) return bar, func() { cleanup2() cleanup() } } === CONT TestWire/Header wire_test.go:164: wire_gen.go: // This is a sample header file. // // Code generated by Wire. DO NOT EDIT. //go:generate wire //+build !wireinject package main // Injectors from wire.go: func injectFoo() Foo { foo := provideFoo() return foo } --- PASS: TestWire (0.05s) --- PASS: TestWire/ExportedValue (196.54s) --- PASS: TestWire/FieldsOfStruct (197.97s) --- PASS: TestWire/InterfaceValueNotEnoughArgs (228.24s) --- PASS: TestWire/BindInjectorArg (229.97s) --- PASS: TestWire/FieldsOfStructDoNotProvidePtrToField (233.14s) --- PASS: TestWire/InterfaceBinding (237.55s) --- PASS: TestWire/InterfaceBindingReuse (242.07s) --- PASS: TestWire/Varargs (245.44s) --- PASS: TestWire/StructWithPreventTag (246.49s) --- PASS: TestWire/ReservedKeywords (271.35s) --- PASS: TestWire/InterfaceBindingNotEnoughArgs (273.55s) --- PASS: TestWire/FieldsOfCycle (289.98s) --- PASS: TestWire/UnexportedValue (290.84s) --- PASS: TestWire/ValueConversion (304.90s) --- PASS: TestWire/ValueFromFunctionScope (316.11s) --- PASS: TestWire/InterfaceBindingDoesntImplement (317.86s) --- PASS: TestWire/InterfaceValue (317.89s) --- PASS: TestWire/ExportedValueDifferentPackage (319.09s) --- PASS: TestWire/FieldsOfImportedStruct (323.58s) --- PASS: TestWire/VarValue (329.01s) --- PASS: TestWire/InterfaceValueInvalidArg0 (330.93s) --- PASS: TestWire/TwoDeps (338.00s) --- PASS: TestWire/UnexportedStruct (339.11s) --- PASS: TestWire/FieldsOfStructPointer (364.94s) --- PASS: TestWire/ValueIsInterfaceValue (374.29s) --- PASS: TestWire/ValueChain (392.00s) --- PASS: TestWire/RelativePkg (171.17s) --- PASS: TestWire/InterfaceValueDoesntImplement (401.87s) --- PASS: TestWire/StructPointer (402.87s) --- PASS: TestWire/InterfaceBindingInvalidArg0 (408.14s) --- PASS: TestWire/ExampleWithMocks (409.34s) --- PASS: TestWire/FieldsOfValueStruct (434.07s) --- PASS: TestWire/ValueIsStruct (440.94s) --- PASS: TestWire/NoopBuild (203.60s) --- PASS: TestWire/PkgImport (229.28s) --- PASS: TestWire/BindInjectorArgPointer (168.19s) --- PASS: TestWire/EmptyVar (276.57s) --- PASS: TestWire/PartialCleanup (240.69s) --- PASS: TestWire/NiladicValue (254.81s) --- PASS: TestWire/Cycle (301.49s) --- PASS: TestWire/BindInterfaceWithValue (210.00s) --- PASS: TestWire/NoInjectParamNames (254.80s) --- PASS: TestWire/NoImplicitInterface (238.58s) --- PASS: TestWire/BuildTagsAllPackages (237.99s) --- PASS: TestWire/MultipleSimilarPackages (178.28s) --- PASS: TestWire/CopyOtherDecls (187.03s) --- PASS: TestWire/NiladicIdentity (179.02s) --- PASS: TestWire/InjectWithPanic (207.11s) --- PASS: TestWire/Struct (206.16s) --- PASS: TestWire/InjectorMissingError (223.87s) --- PASS: TestWire/MultipleBindings (148.71s) --- PASS: TestWire/StructNotAStruct (226.62s) --- PASS: TestWire/InjectInputConflict (240.49s) --- PASS: TestWire/InvalidInjector (123.29s) --- PASS: TestWire/ProviderSetBindingMissingConcreteType (325.60s) --- PASS: TestWire/NamingWorstCaseAllInOne (194.12s) --- PASS: TestWire/Chain (270.39s) --- PASS: TestWire/InjectorMissingCleanup (244.40s) --- PASS: TestWire/MultipleArgsSameType (155.12s) --- PASS: TestWire/ReturnError (175.30s) --- PASS: TestWire/MultipleMissingInputs (169.37s) --- PASS: TestWire/UnusedProviders (122.90s) --- PASS: TestWire/NamingWorstCase (197.80s) --- PASS: TestWire/InjectInput (164.41s) --- PASS: TestWire/FuncArgProvider (107.12s) --- PASS: TestWire/ImportedInterfaceBinding (173.37s) --- PASS: TestWire/ReturnArgumentAsInterface (103.23s) --- PASS: TestWire/Cleanup (102.92s) --- PASS: TestWire/Header (137.65s) === RUN TestUnexport --- PASS: TestUnexport (0.00s) === RUN TestExport --- PASS: TestExport (0.00s) === RUN TestTypeVariableName === RUN TestTypeVariableName/basic_type:_typeVariableName(bool,_"",_"",_map[]) === RUN TestTypeVariableName/basic_type_with_transform:_typeVariableName(bool,_"",_"suffix",_map[]) === RUN TestTypeVariableName/basic_type_with_collision:_typeVariableName(bool,_"",_"",_map[bool:true]) === RUN TestTypeVariableName/basic_type_with_transform_and_collision:_typeVariableName(bool,_"",_"suffix",_map[boolsuffix:true]) === RUN TestTypeVariableName/a_different_basic_type:_typeVariableName(string,_"",_"",_map[]) === RUN TestTypeVariableName/named_type:_typeVariableName(foo,_"",_"",_map[]) === RUN TestTypeVariableName/named_type_with_transform:_typeVariableName(foo,_"",_"suffix",_map[]) === RUN TestTypeVariableName/named_type_with_collision:_typeVariableName(foo,_"",_"",_map[foo:true]) === RUN TestTypeVariableName/named_type_with_transform_and_collision:_typeVariableName(foo,_"",_"suffix",_map[foosuffix:true]) === RUN TestTypeVariableName/noname_type:_typeVariableName(,_"bar",_"",_map[]) === RUN TestTypeVariableName/noname_type_with_transform:_typeVariableName(,_"bar",_"s",_map[]) === RUN TestTypeVariableName/noname_type_with_transform_and_collision:_typeVariableName(,_"bar",_"s",_map[bars:true]) === RUN TestTypeVariableName/var_in_pkg_type:_typeVariableName(my.example/foo.bar,_"",_"",_map[]) === RUN TestTypeVariableName/var_in_pkg_type_with_collision:_typeVariableName(my.example/foo.bar,_"",_"",_map[bar:true]) === RUN TestTypeVariableName/var_in_pkg_type_with_double_collision:_typeVariableName(my.example/foo.bar,_"",_"",_map[bar:true_fooBar:true]) --- PASS: TestTypeVariableName (0.00s) --- PASS: TestTypeVariableName/basic_type:_typeVariableName(bool,_"",_"",_map[]) (0.00s) --- PASS: TestTypeVariableName/basic_type_with_transform:_typeVariableName(bool,_"",_"suffix",_map[]) (0.00s) --- PASS: TestTypeVariableName/basic_type_with_collision:_typeVariableName(bool,_"",_"",_map[bool:true]) (0.00s) --- PASS: TestTypeVariableName/basic_type_with_transform_and_collision:_typeVariableName(bool,_"",_"suffix",_map[boolsuffix:true]) (0.00s) --- PASS: TestTypeVariableName/a_different_basic_type:_typeVariableName(string,_"",_"",_map[]) (0.00s) --- PASS: TestTypeVariableName/named_type:_typeVariableName(foo,_"",_"",_map[]) (0.00s) --- PASS: TestTypeVariableName/named_type_with_transform:_typeVariableName(foo,_"",_"suffix",_map[]) (0.00s) --- PASS: TestTypeVariableName/named_type_with_collision:_typeVariableName(foo,_"",_"",_map[foo:true]) (0.00s) --- PASS: TestTypeVariableName/named_type_with_transform_and_collision:_typeVariableName(foo,_"",_"suffix",_map[foosuffix:true]) (0.00s) --- PASS: TestTypeVariableName/noname_type:_typeVariableName(,_"bar",_"",_map[]) (0.00s) --- PASS: TestTypeVariableName/noname_type_with_transform:_typeVariableName(,_"bar",_"s",_map[]) (0.00s) --- PASS: TestTypeVariableName/noname_type_with_transform_and_collision:_typeVariableName(,_"bar",_"s",_map[bars:true]) (0.00s) --- PASS: TestTypeVariableName/var_in_pkg_type:_typeVariableName(my.example/foo.bar,_"",_"",_map[]) (0.00s) --- PASS: TestTypeVariableName/var_in_pkg_type_with_collision:_typeVariableName(my.example/foo.bar,_"",_"",_map[bar:true]) (0.00s) --- PASS: TestTypeVariableName/var_in_pkg_type_with_double_collision:_typeVariableName(my.example/foo.bar,_"",_"",_map[bar:true_fooBar:true]) (0.00s) === RUN TestDisambiguate === RUN TestDisambiguate/disambiguate("foo",_map[]) === RUN TestDisambiguate/disambiguate("foo",_map[foo:true]) === RUN TestDisambiguate/disambiguate("foo",_map[foo:true_foo1:true_foo2:true]) === RUN TestDisambiguate/disambiguate("foo1",_map[foo:true_foo1:true_foo2:true]) === RUN TestDisambiguate/disambiguate("foo١",_map[foo:true_foo1:true_foo2:true]) === RUN TestDisambiguate/disambiguate("foo١",_map[foo:true_foo1:true_foo2:true_foo١:true]) === RUN TestDisambiguate/disambiguate("select",_map[]) === RUN TestDisambiguate/disambiguate("var",_map[]) --- PASS: TestDisambiguate (0.00s) --- PASS: TestDisambiguate/disambiguate("foo",_map[]) (0.00s) --- PASS: TestDisambiguate/disambiguate("foo",_map[foo:true]) (0.00s) --- PASS: TestDisambiguate/disambiguate("foo",_map[foo:true_foo1:true_foo2:true]) (0.00s) --- PASS: TestDisambiguate/disambiguate("foo1",_map[foo:true_foo1:true_foo2:true]) (0.00s) --- PASS: TestDisambiguate/disambiguate("foo١",_map[foo:true_foo1:true_foo2:true]) (0.00s) --- PASS: TestDisambiguate/disambiguate("foo١",_map[foo:true_foo1:true_foo2:true_foo١:true]) (0.00s) --- PASS: TestDisambiguate/disambiguate("select",_map[]) (0.00s) --- PASS: TestDisambiguate/disambiguate("var",_map[]) (0.00s) PASS ok github.com/google/wire/internal/wire 579.240s create-stamp debian/debhelper-build-stamp dh_testroot -a -O--builddirectory=_build -O--buildsystem=golang dh_prep -a -O--builddirectory=_build -O--buildsystem=golang dh_auto_install -a -O--builddirectory=_build -O--buildsystem=golang cd _build && mkdir -p /build/golang-github-google-wire-w7Q20i/golang-github-google-wire-0.4.0/debian/tmp/usr cd _build && cp -r bin /build/golang-github-google-wire-w7Q20i/golang-github-google-wire-0.4.0/debian/tmp/usr dh_install -a -O--builddirectory=_build -O--buildsystem=golang dh_installdocs -a -O--builddirectory=_build -O--buildsystem=golang dh_installchangelogs -a -O--builddirectory=_build -O--buildsystem=golang dh_installinit -a -O--builddirectory=_build -O--buildsystem=golang dh_installsystemduser -a -O--builddirectory=_build -O--buildsystem=golang dh_perl -a -O--builddirectory=_build -O--buildsystem=golang dh_link -a -O--builddirectory=_build -O--buildsystem=golang dh_strip_nondeterminism -a -O--builddirectory=_build -O--buildsystem=golang dh_compress -a -O--builddirectory=_build -O--buildsystem=golang dh_fixperms -a -O--builddirectory=_build -O--buildsystem=golang dh_missing -a -O--builddirectory=_build -O--buildsystem=golang dh_missing: warning: usr/bin/wire exists in debian/tmp but is not installed to anywhere The following debhelper tools have reported what they installed (with files per package) * dh_install: golang-github-google-wire-dev (1), google-wire (1) * dh_installdocs: golang-github-google-wire-dev (0), google-wire (0) If the missing files are installed by another tool, please file a bug against it. When filing the report, if the tool is not part of debhelper itself, please reference the "Logging helpers and dh_missing" section from the "PROGRAMMING" guide for debhelper (10.6.3+). (in the debhelper package: /usr/share/doc/debhelper/PROGRAMMING.gz) Be sure to test with dpkg-buildpackage -A/-B as the results may vary when only a subset is built If the omission is intentional or no other helper can take care of this consider adding the paths to debian/not-installed. dh_dwz -a -O--builddirectory=_build -O--buildsystem=golang dwz: debian/google-wire/usr/bin/google-wire: .debug_info section not present dh_strip -a -O--builddirectory=_build -O--buildsystem=golang dh_strip: warning: Could not find the BuildID in debian/google-wire/usr/bin/google-wire dh_makeshlibs -a -O--builddirectory=_build -O--buildsystem=golang dh_shlibdeps -a -O--builddirectory=_build -O--buildsystem=golang dh_installdeb -a -O--builddirectory=_build -O--buildsystem=golang dh_golang -a -O--builddirectory=_build -O--buildsystem=golang dh_gencontrol -a -O--builddirectory=_build -O--buildsystem=golang dpkg-gencontrol: warning: Depends field of package google-wire: substitution variable ${shlibs:Depends} used, but is not defined dh_md5sums -a -O--builddirectory=_build -O--buildsystem=golang dh_builddeb -a -O--builddirectory=_build -O--buildsystem=golang dpkg-deb: building package 'google-wire' in '../google-wire_0.4.0-3+b6_amd64.deb'. dpkg-genbuildinfo --build=any dpkg-genchanges --build=any >../golang-github-google-wire_0.4.0-3+b6_amd64.changes dpkg-genchanges: info: binary-only arch-specific upload (source code and arch-indep packages not included) dpkg-source --after-build . dpkg-buildpackage: info: binary-only upload (no source included) I: running special hook: sync-out /build/golang-github-google-wire-w7Q20i /tmp/golang-github-google-wire-0.4.0-3+b6_ps3m9fn I: cleaning package lists and apt cache... I: creating tarball... I: done I: removing tempdir /tmp/mmdebstrap.Ji4mFXoo1U... I: success in 1140.2749 seconds md5: google-wire_0.4.0-3+b6_amd64.deb: OK sha1: google-wire_0.4.0-3+b6_amd64.deb: OK sha256: google-wire_0.4.0-3+b6_amd64.deb: OK Checksums: OK