Diff of the two buildlogs: -- --- b1/build.log 2021-08-17 13:24:58.609420283 +0000 +++ b2/build.log 2021-08-17 13:34:10.260762836 +0000 @@ -1,6 +1,6 @@ I: pbuilder: network access will be disabled during build -I: Current time: Tue Aug 17 01:20:08 -12 2021 -I: pbuilder-time-stamp: 1629206408 +I: Current time: Wed Aug 18 03:25:21 +14 2021 +I: pbuilder-time-stamp: 1629206721 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/bullseye-reproducible-base.tgz] I: copying local configuration @@ -16,8 +16,8 @@ I: copying [./golang-github-google-wire_0.4.0-3.debian.tar.xz] I: Extracting source gpgv: unknown type of key resource 'trustedkeys.kbx' -gpgv: keyblock resource '/tmp/dpkg-verify-sig.wT_7OpXP/trustedkeys.kbx': General error -gpgv: Signature made Sun Mar 8 07:46:01 2020 -12 +gpgv: keyblock resource '/tmp/dpkg-verify-sig.Rl1XnbdL/trustedkeys.kbx': General error +gpgv: Signature made Mon Mar 9 09:46:01 2020 +14 gpgv: using RSA key 142421B19AD4A95996F95072EA2500B412C59ACF gpgv: Can't check signature: No public key dpkg-source: warning: failed to verify signature on ./golang-github-google-wire_0.4.0-3.dsc @@ -26,135 +26,169 @@ dpkg-source: info: unpacking golang-github-google-wire_0.4.0-3.debian.tar.xz I: Not using root during the build. I: Installing the build-deps -I: user script /srv/workspace/pbuilder/5645/tmp/hooks/D02_print_environment starting +I: user script /srv/workspace/pbuilder/27165/tmp/hooks/D01_modify_environment starting +debug: Running on jtx1c. +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 +Removing 'diversion of /bin/sh to /bin/sh.distrib by dash' +Adding 'diversion of /bin/sh to /bin/sh.distrib by bash' +Removing 'diversion of /usr/share/man/man1/sh.1.gz to /usr/share/man/man1/sh.distrib.1.gz by dash' +Adding 'diversion of /usr/share/man/man1/sh.1.gz to /usr/share/man/man1/sh.distrib.1.gz by 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/27165/tmp/hooks/D01_modify_environment finished +I: user script /srv/workspace/pbuilder/27165/tmp/hooks/D02_print_environment starting I: set - BUILDDIR='/build' - BUILDUSERGECOS='first user,first room,first work-phone,first home-phone,first other' - BUILDUSERNAME='pbuilder1' - BUILD_ARCH='armhf' - DEBIAN_FRONTEND='noninteractive' - DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all,-fixfilepath parallel=3' - DISTRIBUTION='' - HOME='/root' - HOST_ARCH='armhf' + BASH=/bin/sh + BASHOPTS=checkwinsize:cmdhist:complete_fullquote:extquote:force_fignore:globasciiranges:hostcomplete:interactive_comments:progcomp:promptvars:sourcepath + BASH_ALIASES=() + BASH_ARGC=() + BASH_ARGV=() + BASH_CMDS=() + BASH_LINENO=([0]="12" [1]="0") + BASH_SOURCE=([0]="/tmp/hooks/D02_print_environment" [1]="/tmp/hooks/D02_print_environment") + BASH_VERSINFO=([0]="5" [1]="1" [2]="4" [3]="1" [4]="release" [5]="arm-unknown-linux-gnueabihf") + BASH_VERSION='5.1.4(1)-release' + BUILDDIR=/build + BUILDUSERGECOS='second user,second room,second work-phone,second home-phone,second other' + BUILDUSERNAME=pbuilder2 + BUILD_ARCH=armhf + DEBIAN_FRONTEND=noninteractive + DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all,-fixfilepath parallel=4' + DIRSTACK=() + DISTRIBUTION= + EUID=0 + FUNCNAME=([0]="Echo" [1]="main") + GROUPS=() + HOME=/root + HOSTNAME=i-capture-the-hostname + HOSTTYPE=arm + HOST_ARCH=armhf IFS=' ' - INVOCATION_ID='4b44723e2899403ea75c5eeedcb9af47' - 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='5645' - PS1='# ' - PS2='> ' + INVOCATION_ID=2e1fa94719524eb7b783912eb3ad9a67 + LANG=C + LANGUAGE=it_CH:it + LC_ALL=C + MACHTYPE=arm-unknown-linux-gnueabihf + MAIL=/var/mail/root + OPTERR=1 + OPTIND=1 + OSTYPE=linux-gnueabihf + 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=27165 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/tmp.ZYaOCuBwbg/pbuilderrc_LyOt --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/bullseye-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/tmp.ZYaOCuBwbg/b1 --logfile b1/build.log golang-github-google-wire_0.4.0-3.dsc' - SUDO_GID='112' - SUDO_UID='106' - SUDO_USER='jenkins' - TERM='unknown' - TZ='/usr/share/zoneinfo/Etc/GMT+12' - USER='root' - _='/usr/bin/systemd-run' - http_proxy='http://10.0.0.15:8000/' + 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/tmp.ZYaOCuBwbg/pbuilderrc_1Aah --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/bullseye-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/tmp.ZYaOCuBwbg/b2 --logfile b2/build.log golang-github-google-wire_0.4.0-3.dsc' + SUDO_GID=114 + SUDO_UID=108 + SUDO_USER=jenkins + TERM=unknown + TZ=/usr/share/zoneinfo/Etc/GMT-14 + UID=0 + USER=root + _='I: set' + http_proxy=http://10.0.0.15:8000/ I: uname -a - Linux virt32b 5.10.0-8-armmp-lpae #1 SMP Debian 5.10.46-4 (2021-08-03) armv7l GNU/Linux + Linux i-capture-the-hostname 5.10.0-8-arm64 #1 SMP Debian 5.10.46-4 (2021-08-03) aarch64 GNU/Linux I: ls -l /bin total 3580 - -rwxr-xr-x 1 root root 816764 Aug 4 08:25 bash - -rwxr-xr-x 3 root root 26052 Jul 20 2020 bunzip2 - -rwxr-xr-x 3 root root 26052 Jul 20 2020 bzcat - lrwxrwxrwx 1 root root 6 Jul 20 2020 bzcmp -> bzdiff - -rwxr-xr-x 1 root root 2225 Jul 20 2020 bzdiff - lrwxrwxrwx 1 root root 6 Jul 20 2020 bzegrep -> bzgrep - -rwxr-xr-x 1 root root 4877 Sep 4 2019 bzexe - lrwxrwxrwx 1 root root 6 Jul 20 2020 bzfgrep -> bzgrep - -rwxr-xr-x 1 root root 3775 Jul 20 2020 bzgrep - -rwxr-xr-x 3 root root 26052 Jul 20 2020 bzip2 - -rwxr-xr-x 1 root root 9636 Jul 20 2020 bzip2recover - lrwxrwxrwx 1 root root 6 Jul 20 2020 bzless -> bzmore - -rwxr-xr-x 1 root root 1297 Jul 20 2020 bzmore - -rwxr-xr-x 1 root root 26668 Sep 22 2020 cat - -rwxr-xr-x 1 root root 43104 Sep 22 2020 chgrp - -rwxr-xr-x 1 root root 38984 Sep 22 2020 chmod - -rwxr-xr-x 1 root root 43112 Sep 22 2020 chown - -rwxr-xr-x 1 root root 92616 Sep 22 2020 cp - -rwxr-xr-x 1 root root 75524 Dec 10 2020 dash - -rwxr-xr-x 1 root root 75880 Sep 22 2020 date - -rwxr-xr-x 1 root root 55436 Sep 22 2020 dd - -rwxr-xr-x 1 root root 59912 Sep 22 2020 df - -rwxr-xr-x 1 root root 96764 Sep 22 2020 dir - -rwxr-xr-x 1 root root 55012 Jul 28 07:09 dmesg - lrwxrwxrwx 1 root root 8 Nov 6 2019 dnsdomainname -> hostname - lrwxrwxrwx 1 root root 8 Nov 6 2019 domainname -> hostname - -rwxr-xr-x 1 root root 22508 Sep 22 2020 echo - -rwxr-xr-x 1 root root 28 Nov 9 2020 egrep - -rwxr-xr-x 1 root root 22496 Sep 22 2020 false - -rwxr-xr-x 1 root root 28 Nov 9 2020 fgrep - -rwxr-xr-x 1 root root 47492 Jul 28 07:09 findmnt - -rwsr-xr-x 1 root root 26076 Feb 26 04:12 fusermount - -rwxr-xr-x 1 root root 124508 Nov 9 2020 grep - -rwxr-xr-x 2 root root 2346 Mar 2 11:30 gunzip - -rwxr-xr-x 1 root root 6376 Mar 2 11:30 gzexe - -rwxr-xr-x 1 root root 64212 Mar 2 11:30 gzip - -rwxr-xr-x 1 root root 13784 Nov 6 2019 hostname - -rwxr-xr-x 1 root root 43180 Sep 22 2020 ln - -rwxr-xr-x 1 root root 35068 Feb 7 2020 login - -rwxr-xr-x 1 root root 96764 Sep 22 2020 ls - -rwxr-xr-x 1 root root 99940 Jul 28 07:09 lsblk - -rwxr-xr-x 1 root root 51408 Sep 22 2020 mkdir - -rwxr-xr-x 1 root root 43184 Sep 22 2020 mknod - -rwxr-xr-x 1 root root 30780 Sep 22 2020 mktemp - -rwxr-xr-x 1 root root 34408 Jul 28 07:09 more - -rwsr-xr-x 1 root root 34400 Jul 28 07:09 mount - -rwxr-xr-x 1 root root 9824 Jul 28 07:09 mountpoint - -rwxr-xr-x 1 root root 88524 Sep 22 2020 mv - lrwxrwxrwx 1 root root 8 Nov 6 2019 nisdomainname -> hostname - lrwxrwxrwx 1 root root 14 Apr 18 03:38 pidof -> /sbin/killall5 - -rwxr-xr-x 1 root root 26652 Sep 22 2020 pwd - lrwxrwxrwx 1 root root 4 Aug 4 08:25 rbash -> bash - -rwxr-xr-x 1 root root 30740 Sep 22 2020 readlink - -rwxr-xr-x 1 root root 43104 Sep 22 2020 rm - -rwxr-xr-x 1 root root 30732 Sep 22 2020 rmdir - -rwxr-xr-x 1 root root 14144 Sep 27 2020 run-parts - -rwxr-xr-x 1 root root 76012 Dec 22 2018 sed - lrwxrwxrwx 1 root root 4 Aug 14 21:27 sh -> dash - -rwxr-xr-x 1 root root 22532 Sep 22 2020 sleep - -rwxr-xr-x 1 root root 55360 Sep 22 2020 stty - -rwsr-xr-x 1 root root 46704 Jul 28 07:09 su - -rwxr-xr-x 1 root root 22532 Sep 22 2020 sync - -rwxr-xr-x 1 root root 340872 Feb 16 21:55 tar - -rwxr-xr-x 1 root root 9808 Sep 27 2020 tempfile - -rwxr-xr-x 1 root root 67696 Sep 22 2020 touch - -rwxr-xr-x 1 root root 22496 Sep 22 2020 true - -rwxr-xr-x 1 root root 9636 Feb 26 04:12 ulockmgr_server - -rwsr-xr-x 1 root root 22108 Jul 28 07:09 umount - -rwxr-xr-x 1 root root 22520 Sep 22 2020 uname - -rwxr-xr-x 2 root root 2346 Mar 2 11:30 uncompress - -rwxr-xr-x 1 root root 96764 Sep 22 2020 vdir - -rwxr-xr-x 1 root root 38512 Jul 28 07:09 wdctl - lrwxrwxrwx 1 root root 8 Nov 6 2019 ypdomainname -> hostname - -rwxr-xr-x 1 root root 1984 Mar 2 11:30 zcat - -rwxr-xr-x 1 root root 1678 Mar 2 11:30 zcmp - -rwxr-xr-x 1 root root 5880 Mar 2 11:30 zdiff - -rwxr-xr-x 1 root root 29 Mar 2 11:30 zegrep - -rwxr-xr-x 1 root root 29 Mar 2 11:30 zfgrep - -rwxr-xr-x 1 root root 2081 Mar 2 11:30 zforce - -rwxr-xr-x 1 root root 7585 Mar 2 11:30 zgrep - -rwxr-xr-x 1 root root 2206 Mar 2 11:30 zless - -rwxr-xr-x 1 root root 1842 Mar 2 11:30 zmore - -rwxr-xr-x 1 root root 4553 Mar 2 11:30 znew -I: user script /srv/workspace/pbuilder/5645/tmp/hooks/D02_print_environment finished + -rwxr-xr-x 1 root root 816764 Aug 5 10:25 bash + -rwxr-xr-x 3 root root 26052 Jul 21 2020 bunzip2 + -rwxr-xr-x 3 root root 26052 Jul 21 2020 bzcat + lrwxrwxrwx 1 root root 6 Jul 21 2020 bzcmp -> bzdiff + -rwxr-xr-x 1 root root 2225 Jul 21 2020 bzdiff + lrwxrwxrwx 1 root root 6 Jul 21 2020 bzegrep -> bzgrep + -rwxr-xr-x 1 root root 4877 Sep 5 2019 bzexe + lrwxrwxrwx 1 root root 6 Jul 21 2020 bzfgrep -> bzgrep + -rwxr-xr-x 1 root root 3775 Jul 21 2020 bzgrep + -rwxr-xr-x 3 root root 26052 Jul 21 2020 bzip2 + -rwxr-xr-x 1 root root 9636 Jul 21 2020 bzip2recover + lrwxrwxrwx 1 root root 6 Jul 21 2020 bzless -> bzmore + -rwxr-xr-x 1 root root 1297 Jul 21 2020 bzmore + -rwxr-xr-x 1 root root 26668 Sep 23 2020 cat + -rwxr-xr-x 1 root root 43104 Sep 23 2020 chgrp + -rwxr-xr-x 1 root root 38984 Sep 23 2020 chmod + -rwxr-xr-x 1 root root 43112 Sep 23 2020 chown + -rwxr-xr-x 1 root root 92616 Sep 23 2020 cp + -rwxr-xr-x 1 root root 75524 Dec 11 2020 dash + -rwxr-xr-x 1 root root 75880 Sep 23 2020 date + -rwxr-xr-x 1 root root 55436 Sep 23 2020 dd + -rwxr-xr-x 1 root root 59912 Sep 23 2020 df + -rwxr-xr-x 1 root root 96764 Sep 23 2020 dir + -rwxr-xr-x 1 root root 55012 Jul 29 09:09 dmesg + lrwxrwxrwx 1 root root 8 Nov 8 2019 dnsdomainname -> hostname + lrwxrwxrwx 1 root root 8 Nov 8 2019 domainname -> hostname + -rwxr-xr-x 1 root root 22508 Sep 23 2020 echo + -rwxr-xr-x 1 root root 28 Nov 10 2020 egrep + -rwxr-xr-x 1 root root 22496 Sep 23 2020 false + -rwxr-xr-x 1 root root 28 Nov 10 2020 fgrep + -rwxr-xr-x 1 root root 47492 Jul 29 09:09 findmnt + -rwsr-xr-x 1 root root 26076 Feb 27 06:12 fusermount + -rwxr-xr-x 1 root root 124508 Nov 10 2020 grep + -rwxr-xr-x 2 root root 2346 Mar 3 13:30 gunzip + -rwxr-xr-x 1 root root 6376 Mar 3 13:30 gzexe + -rwxr-xr-x 1 root root 64212 Mar 3 13:30 gzip + -rwxr-xr-x 1 root root 13784 Nov 8 2019 hostname + -rwxr-xr-x 1 root root 43180 Sep 23 2020 ln + -rwxr-xr-x 1 root root 35068 Feb 8 2020 login + -rwxr-xr-x 1 root root 96764 Sep 23 2020 ls + -rwxr-xr-x 1 root root 99940 Jul 29 09:09 lsblk + -rwxr-xr-x 1 root root 51408 Sep 23 2020 mkdir + -rwxr-xr-x 1 root root 43184 Sep 23 2020 mknod + -rwxr-xr-x 1 root root 30780 Sep 23 2020 mktemp + -rwxr-xr-x 1 root root 34408 Jul 29 09:09 more + -rwsr-xr-x 1 root root 34400 Jul 29 09:09 mount + -rwxr-xr-x 1 root root 9824 Jul 29 09:09 mountpoint + -rwxr-xr-x 1 root root 88524 Sep 23 2020 mv + lrwxrwxrwx 1 root root 8 Nov 8 2019 nisdomainname -> hostname + lrwxrwxrwx 1 root root 14 Apr 19 05:38 pidof -> /sbin/killall5 + -rwxr-xr-x 1 root root 26652 Sep 23 2020 pwd + lrwxrwxrwx 1 root root 4 Aug 5 10:25 rbash -> bash + -rwxr-xr-x 1 root root 30740 Sep 23 2020 readlink + -rwxr-xr-x 1 root root 43104 Sep 23 2020 rm + -rwxr-xr-x 1 root root 30732 Sep 23 2020 rmdir + -rwxr-xr-x 1 root root 14144 Sep 28 2020 run-parts + -rwxr-xr-x 1 root root 76012 Dec 23 2018 sed + lrwxrwxrwx 1 root root 4 Aug 18 03:26 sh -> bash + lrwxrwxrwx 1 root root 4 Aug 16 23:26 sh.distrib -> dash + -rwxr-xr-x 1 root root 22532 Sep 23 2020 sleep + -rwxr-xr-x 1 root root 55360 Sep 23 2020 stty + -rwsr-xr-x 1 root root 46704 Jul 29 09:09 su + -rwxr-xr-x 1 root root 22532 Sep 23 2020 sync + -rwxr-xr-x 1 root root 340872 Feb 17 23:55 tar + -rwxr-xr-x 1 root root 9808 Sep 28 2020 tempfile + -rwxr-xr-x 1 root root 67696 Sep 23 2020 touch + -rwxr-xr-x 1 root root 22496 Sep 23 2020 true + -rwxr-xr-x 1 root root 9636 Feb 27 06:12 ulockmgr_server + -rwsr-xr-x 1 root root 22108 Jul 29 09:09 umount + -rwxr-xr-x 1 root root 22520 Sep 23 2020 uname + -rwxr-xr-x 2 root root 2346 Mar 3 13:30 uncompress + -rwxr-xr-x 1 root root 96764 Sep 23 2020 vdir + -rwxr-xr-x 1 root root 38512 Jul 29 09:09 wdctl + lrwxrwxrwx 1 root root 8 Nov 8 2019 ypdomainname -> hostname + -rwxr-xr-x 1 root root 1984 Mar 3 13:30 zcat + -rwxr-xr-x 1 root root 1678 Mar 3 13:30 zcmp + -rwxr-xr-x 1 root root 5880 Mar 3 13:30 zdiff + -rwxr-xr-x 1 root root 29 Mar 3 13:30 zegrep + -rwxr-xr-x 1 root root 29 Mar 3 13:30 zfgrep + -rwxr-xr-x 1 root root 2081 Mar 3 13:30 zforce + -rwxr-xr-x 1 root root 7585 Mar 3 13:30 zgrep + -rwxr-xr-x 1 root root 2206 Mar 3 13:30 zless + -rwxr-xr-x 1 root root 1842 Mar 3 13:30 zmore + -rwxr-xr-x 1 root root 4553 Mar 3 13:30 znew +I: user script /srv/workspace/pbuilder/27165/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy @@ -255,7 +289,7 @@ Get: 49 http://deb.debian.org/debian bullseye/main armhf golang-golang-x-mod-dev all 0.4.1-1 [87.9 kB] Get: 50 http://deb.debian.org/debian bullseye/main armhf golang-golang-x-sync-dev all 0.0~git20210220.036812b-1 [19.1 kB] Get: 51 http://deb.debian.org/debian bullseye/main armhf golang-golang-x-tools-dev all 1:0.1.0+ds-1 [1626 kB] -Fetched 83.1 MB in 10s (8740 kB/s) +Fetched 83.1 MB in 8s (10.1 MB/s) debconf: delaying package configuration, since apt-utils is not installed Selecting previously unselected package bsdextrautils. (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 ... 19398 files and directories currently installed.) @@ -475,7 +509,8 @@ Building tag database... -> Finished parsing the build-deps I: Building the package -I: Running cd /build/golang-github-google-wire-0.4.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-google-wire_0.4.0-3_source.changes +hostname: Name or service not known +I: Running cd /build/golang-github-google-wire-0.4.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-google-wire_0.4.0-3_source.changes dpkg-buildpackage: info: source package golang-github-google-wire dpkg-buildpackage: info: source version 0.4.0-3 dpkg-buildpackage: info: source distribution unstable @@ -493,23 +528,23 @@ dh_autoreconf -O--builddirectory=_build -O--buildsystem=golang 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 3 github.com/google/wire github.com/google/wire/cmd/wire github.com/google/wire/internal/wire -github.com/google/wire -internal/unsafeheader + cd _build && go install -trimpath -v -p 4 github.com/google/wire github.com/google/wire/cmd/wire github.com/google/wire/internal/wire internal/cpu +internal/unsafeheader +github.com/google/wire runtime/internal/sys internal/race sync/atomic -internal/bytealg runtime/internal/atomic +internal/bytealg runtime/internal/math math/bits unicode/utf8 -math -runtime unicode internal/testlog +math encoding +runtime unicode/utf16 internal/goversion golang.org/x/mod/semver @@ -520,64 +555,64 @@ errors sort internal/oserror +io strconv syscall -io +container/heap strings +bytes reflect +text/tabwriter path -bytes +bufio +regexp/syntax time internal/syscall/unix internal/syscall/execenv -text/tabwriter -container/heap -bufio -context +regexp internal/poll -regexp/syntax +context internal/fmtsort -os encoding/binary +os encoding/base64 -regexp +internal/lazyregexp path/filepath fmt io/ioutil os/exec -internal/lazyregexp -flag go/token +flag +encoding/json math/big go/scanner github.com/google/subcommands go/ast -encoding/json -go/parser -go/printer -go/constant -golang.org/x/tools/go/ast/astutil -go/types -go/format golang.org/x/sys/execabs net/url text/template/parse internal/execabs internal/goroot text/scanner +go/constant +go/parser +go/printer +golang.org/x/tools/go/ast/astutil +text/template +go/types +go/format golang.org/x/tools/internal/event/label +golang.org/x/xerrors golang.org/x/tools/internal/event/keys -text/template +go/doc +log golang.org/x/tools/internal/event/core +github.com/pmezard/go-difflib/difflib golang.org/x/tools/internal/event golang.org/x/tools/internal/gocommand +go/build golang.org/x/tools/internal/packagesinternal -go/doc -golang.org/x/xerrors -log -github.com/pmezard/go-difflib/difflib golang.org/x/tools/go/internal/packagesdriver -go/build golang.org/x/tools/internal/typesinternal golang.org/x/tools/go/types/typeutil golang.org/x/tools/go/internal/gcimporter @@ -586,7 +621,7 @@ github.com/google/wire/internal/wire github.com/google/wire/cmd/wire dh_auto_test -O--builddirectory=_build -O--buildsystem=golang - cd _build && go test -vet=off -v -p 3 github.com/google/wire github.com/google/wire/cmd/wire github.com/google/wire/internal/wire + 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 @@ -730,13 +765,16 @@ === PAUSE TestWire/Varargs === CONT TestWire/BindInjectorArg === CONT TestWire/InvalidInjector -=== CONT TestWire/FuncArgProvider -=== CONT TestWire/ExampleWithMocks +=== CONT TestWire/InterfaceValueNotEnoughArgs +=== CONT TestWire/Varargs === 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/InterfaceValueInvalidArg0 === CONT TestWire/InterfaceValueNotEnoughArgs -=== CONT TestWire/BindInjectorArg + wire_test.go:108: /tmp/wire_test002672440/src/example.com/foo/wire.go:25:38: too few arguments in call to wire.InterfaceValue +=== CONT TestWire/InterfaceValueDoesntImplement +=== CONT TestWire/Varargs wire_test.go:164: wire_gen.go: // Code generated by Wire. DO NOT EDIT. @@ -747,15 +785,12 @@ // Injectors from wire.go: - func inject(foo Foo) *Bar { - bar := NewBar(foo) - return bar + func injectedMessage(t title, lines ...string) string { + string2 := provideMessage(lines...) + return string2 } -=== CONT TestWire/InterfaceValueInvalidArg0 -=== CONT TestWire/FuncArgProvider - wire_test.go:108: /tmp/wire_test312357221/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/InterfaceValueDoesntImplement -=== CONT TestWire/ExampleWithMocks +=== CONT TestWire/InterfaceValue +=== CONT TestWire/BindInjectorArg wire_test.go:164: wire_gen.go: // Code generated by Wire. DO NOT EDIT. @@ -766,48 +801,10 @@ // 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 + func inject(foo Foo) *Bar { + bar := NewBar(foo) + return bar } -=== CONT TestWire/InterfaceValue -=== CONT TestWire/InterfaceValueNotEnoughArgs - wire_test.go:108: /tmp/wire_test284968671/src/example.com/foo/wire.go:25:38: too few arguments in call to wire.InterfaceValue === CONT TestWire/InterfaceBindingReuse === CONT TestWire/InterfaceValue wire_test.go:164: wire_gen.go: @@ -834,15 +831,12 @@ _wireReaderValue = strings.NewReader("hello world") ) === CONT TestWire/InterfaceBindingNotEnoughArgs -=== CONT TestWire/InterfaceValueInvalidArg0 - wire_test.go:108: /tmp/wire_test137330866/src/example.com/foo/wire.go:25:13: first argument to InterfaceValue must be a pointer to an interface type; found string -=== CONT TestWire/InterfaceBindingInvalidArg0 === CONT TestWire/InterfaceValueDoesntImplement - wire_test.go:108: /tmp/wire_test672273001/src/example.com/foo/wire.go:26:13: string does not implement io.Reader + wire_test.go:108: /tmp/wire_test554927745/src/example.com/foo/wire.go:26:13: string does not implement io.Reader +=== CONT TestWire/InterfaceBindingInvalidArg0 +=== CONT TestWire/InterfaceValueInvalidArg0 + wire_test.go:108: /tmp/wire_test786315562/src/example.com/foo/wire.go:25:13: first argument to InterfaceValue must be a pointer to an interface type; found string === CONT TestWire/InterfaceBindingDoesntImplement -=== CONT TestWire/InterfaceBindingNotEnoughArgs - wire_test.go:108: /tmp/wire_test840769542/src/example.com/foo/wire.go:25:33: too few arguments in call to wire.Bind -=== CONT TestWire/InterfaceBinding === CONT TestWire/InterfaceBindingReuse wire_test.go:164: wire_gen.go: // Code generated by Wire. DO NOT EDIT. @@ -859,12 +853,15 @@ fooBar := provideFooBar(bar, bar) return fooBar } +=== CONT TestWire/InterfaceBinding +=== CONT TestWire/InterfaceBindingNotEnoughArgs + wire_test.go:108: /tmp/wire_test220950014/src/example.com/foo/wire.go:25:33: too few arguments in call to wire.Bind === CONT TestWire/InjectorMissingError === CONT TestWire/InterfaceBindingDoesntImplement - wire_test.go:108: /tmp/wire_test702686504/src/example.com/foo/wire.go:25:13: string does not implement example.com/foo.Fooer + wire_test.go:108: /tmp/wire_test980960224/src/example.com/foo/wire.go:25:13: string does not implement example.com/foo.Fooer === CONT TestWire/InjectorMissingCleanup === CONT TestWire/InterfaceBindingInvalidArg0 - wire_test.go:108: /tmp/wire_test410673069/src/example.com/foo/wire.go:25:13: first argument to Bind must be a pointer to an interface type; found string + wire_test.go:108: /tmp/wire_test081368389/src/example.com/foo/wire.go:25:13: first argument to Bind must be a pointer to an interface type; found string === CONT TestWire/InjectWithPanic === CONT TestWire/InterfaceBinding wire_test.go:164: wire_gen.go: @@ -882,6 +879,20 @@ return bar } === CONT TestWire/InjectInputConflict +=== CONT TestWire/InjectorMissingError + wire_test.go:108: /tmp/wire_test004589586/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/InjectInput +=== CONT TestWire/InjectorMissingCleanup + wire_test.go:108: /tmp/wire_test582221897/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/ImportedInterfaceBinding +=== CONT TestWire/InjectInputConflict + wire_test.go:108: /tmp/wire_test835214179/src/example.com/foo/wire.go:24:2: multiple bindings for example.com/foo.Foo + current: + <- provider "provideFoo" (/tmp/wire_test835214179/src/example.com/foo/foo.go:37:6) + <- provider set "Set" (/tmp/wire_test835214179/src/example.com/foo/foo.go:33:11) + previous: + <- argument foo to injector function injectBar (/tmp/wire_test835214179/src/example.com/foo/wire.go:23:1) +=== CONT TestWire/Header === CONT TestWire/InjectWithPanic wire_test.go:164: wire_gen.go: // Code generated by Wire. DO NOT EDIT. @@ -897,21 +908,7 @@ string2 := provideMessage() return string2 } -=== CONT TestWire/InjectInput -=== CONT TestWire/InjectorMissingCleanup - wire_test.go:108: /tmp/wire_test248493361/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/ImportedInterfaceBinding -=== CONT TestWire/InjectorMissingError - wire_test.go:108: /tmp/wire_test762336410/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/Header -=== CONT TestWire/InjectInputConflict - wire_test.go:108: /tmp/wire_test684130443/src/example.com/foo/wire.go:24:2: multiple bindings for example.com/foo.Foo - current: - <- provider "provideFoo" (/tmp/wire_test684130443/src/example.com/foo/foo.go:37:6) - <- provider set "Set" (/tmp/wire_test684130443/src/example.com/foo/foo.go:33:11) - previous: - <- argument foo to injector function injectBar (/tmp/wire_test684130443/src/example.com/foo/wire.go:23:1) -=== CONT TestWire/ReservedKeywords +=== CONT TestWire/FuncArgProvider === CONT TestWire/InjectInput wire_test.go:164: wire_gen.go: // Code generated by Wire. DO NOT EDIT. @@ -928,7 +925,7 @@ fooBar := provideFooBar(foo, bar) return fooBar } -=== CONT TestWire/Varargs +=== CONT TestWire/FieldsOfValueStruct === CONT TestWire/ImportedInterfaceBinding wire_test.go:164: wire_gen.go: // Code generated by Wire. DO NOT EDIT. @@ -948,7 +945,7 @@ bar := provideBar() return bar } -=== CONT TestWire/VarValue +=== CONT TestWire/FieldsOfStructPointer === CONT TestWire/Header wire_test.go:164: wire_gen.go: // This is a sample header file. @@ -966,8 +963,11 @@ foo := provideFoo() return foo } -=== CONT TestWire/ValueIsStruct -=== CONT TestWire/VarValue +=== CONT TestWire/FieldsOfStructDoNotProvidePtrToField +=== CONT TestWire/FuncArgProvider + wire_test.go:108: /tmp/wire_test647708487/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/FieldsOfStruct +=== CONT TestWire/FieldsOfValueStruct wire_test.go:164: wire_gen.go: // Code generated by Wire. DO NOT EDIT. @@ -976,18 +976,43 @@ package main + import ( + "example.com/bar" + "example.com/baz" + "example.com/foo" + "fmt" + ) + // Injectors from wire.go: - func injectedMessage() string { - string2 := _wireStringValue - return string2 + 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 ( - _wireStringValue = msg + _wireConfigValue = &baz.Config{ + Foo: &foo.Config{1}, + Bar: &bar.Config{2}, + } ) -=== CONT TestWire/ValueIsInterfaceValue -=== CONT TestWire/Varargs + + // wire.go: + + func main() { + svc := newBazService() + fmt.Println(svc.String()) + } +=== CONT TestWire/FieldsOfImportedStruct +=== CONT TestWire/FieldsOfStructPointer wire_test.go:164: wire_gen.go: // Code generated by Wire. DO NOT EDIT. @@ -998,12 +1023,19 @@ // Injectors from wire.go: - func injectedMessage(t title, lines ...string) string { - string2 := provideMessage(lines...) + func injectedMessage() string { + s := provideS() + string2 := s.Foo return string2 } -=== CONT TestWire/ValueFromFunctionScope -=== CONT TestWire/ReservedKeywords + + func injectedMessagePtr() *string { + s := provideS() + string2 := &s.Foo + return string2 + } +=== CONT TestWire/FieldsOfCycle +=== CONT TestWire/FieldsOfStruct wire_test.go:164: wire_gen.go: // Code generated by Wire. DO NOT EDIT. @@ -1014,23 +1046,13 @@ // Injectors from wire.go: - func injectInterface() Interface { - select2 := provideSelect() - mainInterface := provideInterface(select2) - return mainInterface + func injectedMessage() string { + s := provideS() + string2 := s.Foo + return string2 } - - // 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/ValueConversion -=== CONT TestWire/ValueIsInterfaceValue - wire_test.go:108: /tmp/wire_test114785171/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/ValueChain -=== CONT TestWire/ValueConversion +=== CONT TestWire/ExportedValueDifferentPackage +=== CONT TestWire/FieldsOfImportedStruct wire_test.go:164: wire_gen.go: // Code generated by Wire. DO NOT EDIT. @@ -1039,21 +1061,49 @@ package main + import ( + "example.com/bar" + "example.com/baz" + "example.com/foo" + "fmt" + ) + // Injectors from wire.go: - func injectedMessage() Foo { - foo := _wireFooValue - return foo + 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 } - var ( - _wireFooValue = Foo("Hello, World!") - ) -=== CONT TestWire/UnusedProviders -=== CONT TestWire/ValueFromFunctionScope - wire_test.go:108: /tmp/wire_test180500438/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/UnexportedValue -=== CONT TestWire/ValueIsStruct + // wire.go: + + func main() { + cfg := &baz.Config{ + Foo: &foo.Config{1}, + Bar: &bar.Config{2}, + } + svc := newBazService(cfg) + fmt.Println(svc.String()) + } +=== CONT TestWire/ExportedValue +=== CONT TestWire/FieldsOfStructDoNotProvidePtrToField + wire_test.go:108: /tmp/wire_test007694652/src/example.com/foo/wire.go:23:1: inject injectedMessagePtr: no provider found for *string, output of injector +=== CONT TestWire/ExampleWithMocks +=== CONT TestWire/FieldsOfCycle + wire_test.go:108: /tmp/wire_test239720149/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/EmptyVar +=== CONT TestWire/ExportedValueDifferentPackage wire_test.go:164: wire_gen.go: // Code generated by Wire. DO NOT EDIT. @@ -1062,21 +1112,22 @@ package main + import ( + "os" + ) + // Injectors from wire.go: - func injectFoo() Foo { - foo := _wireFooValue - return foo + func injectedFile() *os.File { + file := _wireFileValue + return file } var ( - _wireFooValue = Foo{X: 42} + _wireFileValue = os.Stdout ) -=== CONT TestWire/UnexportedStruct -=== CONT TestWire/UnexportedValue - wire_test.go:108: /tmp/wire_test211256170/src/example.com/foo/wire.go:24:1: inject injectedMessage: value string can't be used: uses unexported identifier privateMsg -=== CONT TestWire/TwoDeps -=== CONT TestWire/ValueChain +=== CONT TestWire/Cycle +=== CONT TestWire/ExportedValue wire_test.go:164: wire_gen.go: // Code generated by Wire. DO NOT EDIT. @@ -1085,29 +1136,25 @@ package main + import ( + "example.com/bar" + ) + // Injectors from wire.go: - func injectFooBar() FooBar { - foo := _wireFooValue - fooBar := provideFooBar(foo) - return fooBar + func injectedMessage() string { + string2 := _wireStringValue + return string2 } var ( - _wireFooValue = Foo(41) + _wireStringValue = bar.PublicMsg ) -=== CONT TestWire/StructWithPreventTag -=== CONT TestWire/UnexportedStruct - wire_test.go:108: /tmp/wire_test541382593/src/example.com/foo/wire.go:26:17: foo not exported by package bar -=== CONT TestWire/StructPointer -=== CONT TestWire/UnusedProviders - wire_test.go:108: /tmp/wire_test399336055/src/example.com/foo/wire.go:23:1: inject injectFooBar: unused provider set "unusedSet" - wire_test.go:108: /tmp/wire_test399336055/src/example.com/foo/wire.go:23:1: inject injectFooBar: unused provider "main.provideUnused" - wire_test.go:108: /tmp/wire_test399336055/src/example.com/foo/wire.go:23:1: inject injectFooBar: unused value of type string - wire_test.go:108: /tmp/wire_test399336055/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_test399336055/src/example.com/foo/wire.go:23:1: inject injectFooBar: unused field "example.com/foo.S".Cfg -=== CONT TestWire/StructNotAStruct -=== CONT TestWire/TwoDeps +=== CONT TestWire/CopyOtherDecls +=== CONT TestWire/EmptyVar + wire_test.go:108: /tmp/wire_test800615129/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/ExampleWithMocks wire_test.go:164: wire_gen.go: // Code generated by Wire. DO NOT EDIT. @@ -1118,14 +1165,47 @@ // Injectors from wire.go: - func injectFooBar() FooBar { - foo := provideFoo() - bar := provideBar() - fooBar := provideFooBar(foo, bar) - return fooBar + func initApp() *app { + mainTimer := _wireRealTimeValue + mainGreeter := greeter{ + T: mainTimer, + } + mainApp := &app{ + g: mainGreeter, + } + return mainApp } -=== CONT TestWire/Struct -=== CONT TestWire/StructPointer + + 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/Chain +=== CONT TestWire/CopyOtherDecls wire_test.go:164: wire_gen.go: // Code generated by Wire. DO NOT EDIT. @@ -1134,30 +1214,29 @@ package main - // Injectors from wire.go: + import ( + "fmt" + ) - func injectFooBar() *FooBar { - foo := provideFoo() - bar := provideBar() - fooBar := &FooBar{ - Foo: foo, - Bar: bar, - } - return fooBar + // Injectors from foo.go: + + func injectedMessage() string { + string2 := provideMessage() + return string2 } - func injectEmptyStruct() *Empty { - empty := &Empty{} - return empty + // foo.go: + + func main() { + fmt.Println(injectedMessage()) } -=== CONT TestWire/ReturnError -=== CONT TestWire/StructWithPreventTag - wire_test.go:108: /tmp/wire_test088821147/src/example.com/foo/foo.go:45:2: "mu" is prevented from injecting by wire -=== CONT TestWire/ReturnArgumentAsInterface -=== CONT TestWire/StructNotAStruct - wire_test.go:108: /tmp/wire_test167885445/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 + + // provideMessage provides a friendly user greeting. + func provideMessage() string { + return "Hello, World!" + } +=== CONT TestWire/BuildTagsAllPackages === CONT TestWire/Cleanup -=== CONT TestWire/ReturnError wire_test.go:164: wire_gen.go: // Code generated by Wire. DO NOT EDIT. @@ -1168,15 +1247,23 @@ // Injectors from wire.go: - func injectFoo() (Foo, error) { - foo, err := provideFoo() - if err != nil { - return 0, err + func injectBar() (*Bar, func()) { + foo, cleanup := provideFoo() + bar, cleanup2 := provideBar(foo) + return bar, func() { + cleanup2() + cleanup() } - return foo, nil } -=== CONT TestWire/EmptyVar -=== CONT TestWire/Struct +=== CONT TestWire/BindInterfaceWithValue +=== CONT TestWire/Cycle + wire_test.go:108: /tmp/wire_test293400676/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/BindInjectorArgPointer +=== CONT TestWire/Chain wire_test.go:164: wire_gen.go: // Code generated by Wire. DO NOT EDIT. @@ -1189,23 +1276,11 @@ func injectFooBar() FooBar { foo := provideFoo() - bar := provideBar() - fooBar := FooBar{ - Foo: foo, - Bar: bar, - } - return fooBar - } - - func injectPartFooBar() FooBar { - foo := provideFoo() - fooBar := FooBar{ - Foo: foo, - } + fooBar := provideFooBar(foo) return fooBar } -=== CONT TestWire/Cycle -=== CONT TestWire/ReturnArgumentAsInterface +=== CONT TestWire/VarValue +=== CONT TestWire/BuildTagsAllPackages wire_test.go:164: wire_gen.go: // Code generated by Wire. DO NOT EDIT. @@ -1214,20 +1289,18 @@ package main - import ( - "fmt" - ) - // Injectors from wire.go: - func injectStringer(s MyString) fmt.Stringer { - return s + func injectedMessage() string { + string2 := _wireStringValue + return string2 } -=== CONT TestWire/CopyOtherDecls -=== CONT TestWire/EmptyVar - wire_test.go:108: /tmp/wire_test080891220/src/example.com/foo/wire.go:24:13: var example.com/foo.myFakeSet struct{} is not a provider or a provider set -=== CONT TestWire/BuildTagsAllPackages -=== CONT TestWire/Cleanup + + var ( + _wireStringValue = "Hello, World!" + ) +=== CONT TestWire/ValueIsStruct +=== CONT TestWire/BindInterfaceWithValue wire_test.go:164: wire_gen.go: // Code generated by Wire. DO NOT EDIT. @@ -1236,25 +1309,23 @@ package main + import ( + "io" + "os" + ) + // Injectors from wire.go: - func injectBar() (*Bar, func()) { - foo, cleanup := provideFoo() - bar, cleanup2 := provideBar(foo) - return bar, func() { - cleanup2() - cleanup() - } + func inject() io.Writer { + file := _wireFileValue + return file } -=== CONT TestWire/Chain -=== CONT TestWire/Cycle - wire_test.go:108: /tmp/wire_test290180259/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 -=== CONT TestWire/CopyOtherDecls + + var ( + _wireFileValue = os.Stdout + ) +=== CONT TestWire/ValueIsInterfaceValue +=== CONT TestWire/BindInjectorArgPointer wire_test.go:164: wire_gen.go: // Code generated by Wire. DO NOT EDIT. @@ -1263,29 +1334,14 @@ package main - import ( - "fmt" - ) - - // Injectors from foo.go: - - func injectedMessage() string { - string2 := provideMessage() - return string2 - } - - // foo.go: - - func main() { - fmt.Println(injectedMessage()) - } + // Injectors from wire.go: - // provideMessage provides a friendly user greeting. - func provideMessage() string { - return "Hello, World!" + func inject(foo *Foo) *Bar { + bar := NewBar(foo) + return bar } -=== CONT TestWire/BindInjectorArgPointer -=== CONT TestWire/BuildTagsAllPackages +=== CONT TestWire/ValueFromFunctionScope +=== CONT TestWire/VarValue wire_test.go:164: wire_gen.go: // Code generated by Wire. DO NOT EDIT. @@ -1302,10 +1358,10 @@ } var ( - _wireStringValue = "Hello, World!" + _wireStringValue = msg ) -=== CONT TestWire/FieldsOfImportedStruct -=== CONT TestWire/Chain +=== CONT TestWire/ValueConversion +=== CONT TestWire/ValueIsStruct wire_test.go:164: wire_gen.go: // Code generated by Wire. DO NOT EDIT. @@ -1316,13 +1372,19 @@ // Injectors from wire.go: - func injectFooBar() FooBar { - foo := provideFoo() - fooBar := provideFooBar(foo) - return fooBar + func injectFoo() Foo { + foo := _wireFooValue + return foo } -=== CONT TestWire/FieldsOfValueStruct -=== CONT TestWire/BindInterfaceWithValue + + var ( + _wireFooValue = Foo{X: 42} + ) +=== CONT TestWire/ValueChain +=== CONT TestWire/ValueIsInterfaceValue + wire_test.go:108: /tmp/wire_test882472571/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/UnusedProviders +=== CONT TestWire/ValueChain wire_test.go:164: wire_gen.go: // Code generated by Wire. DO NOT EDIT. @@ -1331,23 +1393,19 @@ package main - import ( - "io" - "os" - ) - // Injectors from wire.go: - func inject() io.Writer { - file := _wireFileValue - return file + func injectFooBar() FooBar { + foo := _wireFooValue + fooBar := provideFooBar(foo) + return fooBar } var ( - _wireFileValue = os.Stdout + _wireFooValue = Foo(41) ) -=== CONT TestWire/FieldsOfStructPointer -=== CONT TestWire/FieldsOfImportedStruct +=== CONT TestWire/UnexportedValue +=== CONT TestWire/ValueConversion wire_test.go:164: wire_gen.go: // Code generated by Wire. DO NOT EDIT. @@ -1356,39 +1414,34 @@ 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 + func injectedMessage() Foo { + foo := _wireFooValue + return foo } - // wire.go: - - func main() { - cfg := &baz.Config{ - Foo: &foo.Config{1}, - Bar: &bar.Config{2}, - } - svc := newBazService(cfg) - fmt.Println(svc.String()) - } -=== CONT TestWire/FieldsOfStructDoNotProvidePtrToField -=== CONT TestWire/BindInjectorArgPointer + var ( + _wireFooValue = Foo("Hello, World!") + ) +=== CONT TestWire/UnexportedStruct +=== CONT TestWire/ValueFromFunctionScope + wire_test.go:108: /tmp/wire_test675046814/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/TwoDeps +=== CONT TestWire/UnusedProviders + wire_test.go:108: /tmp/wire_test123118047/src/example.com/foo/wire.go:23:1: inject injectFooBar: unused provider set "unusedSet" + wire_test.go:108: /tmp/wire_test123118047/src/example.com/foo/wire.go:23:1: inject injectFooBar: unused provider "main.provideUnused" + wire_test.go:108: /tmp/wire_test123118047/src/example.com/foo/wire.go:23:1: inject injectFooBar: unused value of type string + wire_test.go:108: /tmp/wire_test123118047/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_test123118047/src/example.com/foo/wire.go:23:1: inject injectFooBar: unused field "example.com/foo.S".Cfg +=== CONT TestWire/StructWithPreventTag +=== CONT TestWire/UnexportedStruct + wire_test.go:108: /tmp/wire_test711730537/src/example.com/foo/wire.go:26:17: foo not exported by package bar +=== CONT TestWire/StructPointer +=== CONT TestWire/UnexportedValue + wire_test.go:108: /tmp/wire_test551058866/src/example.com/foo/wire.go:24:1: inject injectedMessage: value string can't be used: uses unexported identifier privateMsg +=== CONT TestWire/StructNotAStruct +=== CONT TestWire/TwoDeps wire_test.go:164: wire_gen.go: // Code generated by Wire. DO NOT EDIT. @@ -1399,12 +1452,17 @@ // Injectors from wire.go: - func inject(foo *Foo) *Bar { - bar := NewBar(foo) - return bar + func injectFooBar() FooBar { + foo := provideFoo() + bar := provideBar() + fooBar := provideFooBar(foo, bar) + return fooBar } -=== CONT TestWire/FieldsOfStruct -=== CONT TestWire/FieldsOfStructPointer +=== CONT TestWire/Struct +=== CONT TestWire/StructWithPreventTag + wire_test.go:108: /tmp/wire_test098163587/src/example.com/foo/foo.go:45:2: "mu" is prevented from injecting by wire +=== CONT TestWire/ReturnError +=== CONT TestWire/StructPointer wire_test.go:164: wire_gen.go: // Code generated by Wire. DO NOT EDIT. @@ -1415,19 +1473,25 @@ // Injectors from wire.go: - func injectedMessage() string { - s := provideS() - string2 := s.Foo - return string2 + func injectFooBar() *FooBar { + foo := provideFoo() + bar := provideBar() + fooBar := &FooBar{ + Foo: foo, + Bar: bar, + } + return fooBar } - func injectedMessagePtr() *string { - s := provideS() - string2 := &s.Foo - return string2 + func injectEmptyStruct() *Empty { + empty := &Empty{} + return empty } -=== CONT TestWire/ExportedValueDifferentPackage -=== CONT TestWire/FieldsOfValueStruct +=== CONT TestWire/ReturnArgumentAsInterface +=== CONT TestWire/StructNotAStruct + wire_test.go:108: /tmp/wire_test651802285/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/ReservedKeywords +=== CONT TestWire/ReturnError wire_test.go:164: wire_gen.go: // Code generated by Wire. DO NOT EDIT. @@ -1436,46 +1500,17 @@ 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}, + func injectFoo() (Foo, error) { + foo, err := provideFoo() + if err != nil { + return 0, err } - ) - - // wire.go: - - func main() { - svc := newBazService() - fmt.Println(svc.String()) + return foo, nil } -=== CONT TestWire/FieldsOfCycle -=== CONT TestWire/FieldsOfStructDoNotProvidePtrToField - wire_test.go:108: /tmp/wire_test192957966/src/example.com/foo/wire.go:23:1: inject injectedMessagePtr: no provider found for *string, output of injector -=== CONT TestWire/NiladicIdentity -=== CONT TestWire/ExportedValueDifferentPackage +=== CONT TestWire/RelativePkg +=== CONT TestWire/Struct wire_test.go:164: wire_gen.go: // Code generated by Wire. DO NOT EDIT. @@ -1484,22 +1519,27 @@ package main - import ( - "os" - ) - // Injectors from wire.go: - func injectedFile() *os.File { - file := _wireFileValue - return file + func injectFooBar() FooBar { + foo := provideFoo() + bar := provideBar() + fooBar := FooBar{ + Foo: foo, + Bar: bar, + } + return fooBar } - var ( - _wireFileValue = os.Stdout - ) + func injectPartFooBar() FooBar { + foo := provideFoo() + fooBar := FooBar{ + Foo: foo, + } + return fooBar + } +=== CONT TestWire/ProviderSetBindingMissingConcreteType === CONT TestWire/RelativePkg -=== CONT TestWire/FieldsOfStruct wire_test.go:164: wire_gen.go: // Code generated by Wire. DO NOT EDIT. @@ -1511,19 +1551,11 @@ // Injectors from wire.go: func injectedMessage() string { - s := provideS() - string2 := s.Foo + string2 := provideMessage() return string2 } -=== CONT TestWire/ProviderSetBindingMissingConcreteType -=== CONT TestWire/FieldsOfCycle - wire_test.go:108: /tmp/wire_test142349583/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/PkgImport -=== CONT TestWire/NiladicIdentity +=== CONT TestWire/ReturnArgumentAsInterface wire_test.go:164: wire_gen.go: // Code generated by Wire. DO NOT EDIT. @@ -1532,14 +1564,17 @@ package main + import ( + "fmt" + ) + // Injectors from wire.go: - func injectedMessage() string { - string2 := provideMessage() - return string2 + func injectStringer(s MyString) fmt.Stringer { + return s } === CONT TestWire/PartialCleanup -=== CONT TestWire/RelativePkg +=== CONT TestWire/ReservedKeywords wire_test.go:164: wire_gen.go: // Code generated by Wire. DO NOT EDIT. @@ -1550,14 +1585,19 @@ // Injectors from wire.go: - func injectedMessage() string { - string2 := provideMessage() - return string2 + 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/NoopBuild -=== CONT TestWire/ProviderSetBindingMissingConcreteType - wire_test.go:108: /tmp/wire_test709783716/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/NoInjectParamNames === CONT TestWire/PkgImport wire_test.go:164: wire_gen.go: // Code generated by Wire. DO NOT EDIT. @@ -1584,6 +1624,9 @@ fooBar := provideFooBar(foo, barBar) return fooBar } +=== CONT TestWire/NoInjectParamNames +=== CONT TestWire/ProviderSetBindingMissingConcreteType + wire_test.go:108: /tmp/wire_test694348683/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/NoImplicitInterface === CONT TestWire/PartialCleanup wire_test.go:164: wire_gen.go: @@ -1615,30 +1658,7 @@ }, nil } === CONT TestWire/NiladicValue -=== CONT TestWire/ExportedValue -=== CONT TestWire/NoImplicitInterface - wire_test.go:108: /tmp/wire_test068073623/src/example.com/foo/wire.go:23:1: inject injectFooer: no provider found for example.com/foo.Fooer, output of injector -=== CONT TestWire/MultipleMissingInputs -=== 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/NamingWorstCaseAllInOne +=== CONT TestWire/NiladicIdentity === CONT TestWire/NoInjectParamNames wire_test.go:164: wire_gen.go: // Code generated by Wire. DO NOT EDIT. @@ -1661,19 +1681,11 @@ } return mainContext, nil } +=== CONT TestWire/NamingWorstCaseAllInOne +=== CONT TestWire/NoImplicitInterface + wire_test.go:108: /tmp/wire_test133766274/src/example.com/foo/wire.go:23:1: inject injectFooer: no provider found for example.com/foo.Fooer, output of injector === CONT TestWire/NamingWorstCase -=== CONT TestWire/MultipleMissingInputs - wire_test.go:108: /tmp/wire_test727740108/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_test727740108/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_test727740108/src/example.com/foo/foo.go:29:6) - wire_test.go:108: /tmp/wire_test727740108/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_test727740108/src/example.com/foo/foo.go:29:6) - wire_test.go:108: /tmp/wire_test727740108/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_test727740108/src/example.com/foo/foo.go:37:6) - needed by example.com/foo.Zap in provider "provideZap" (/tmp/wire_test727740108/src/example.com/foo/foo.go:41:6) - needed by example.com/foo.Zop in provider "provideZop" (/tmp/wire_test727740108/src/example.com/foo/foo.go:45:6) -=== CONT TestWire/MultipleSimilarPackages -=== CONT TestWire/ExportedValue +=== CONT TestWire/NiladicValue wire_test.go:164: wire_gen.go: // Code generated by Wire. DO NOT EDIT. @@ -1682,10 +1694,6 @@ package main - import ( - "example.com/bar" - ) - // Injectors from wire.go: func injectedMessage() string { @@ -1694,32 +1702,9 @@ } var ( - _wireStringValue = bar.PublicMsg - ) -=== CONT TestWire/MultipleArgsSameType -=== 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" + _wireStringValue = "Hello, World!" ) - - // 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/MultipleBindings +=== CONT TestWire/MultipleSimilarPackages === CONT TestWire/NamingWorstCaseAllInOne wire_test.go:164: wire_gen.go: // Code generated by Wire. DO NOT EDIT. @@ -1772,6 +1757,46 @@ func (context) Provide() { } +=== CONT TestWire/MultipleMissingInputs +=== 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/MultipleBindings +=== 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/MultipleArgsSameType === CONT TestWire/MultipleSimilarPackages wire_test.go:164: wire_gen.go: // Code generated by Wire. DO NOT EDIT. @@ -1832,119 +1857,129 @@ svc := newMainService(cfg) fmt.Println(svc.String()) } -=== CONT TestWire/MultipleBindings - wire_test.go:108: /tmp/wire_test399474463/src/example.com/foo/wire.go:27:8: multiple bindings for example.com/foo.Foo +=== CONT TestWire/MultipleMissingInputs + wire_test.go:108: /tmp/wire_test208123000/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_test208123000/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_test208123000/src/example.com/foo/foo.go:29:6) + wire_test.go:108: /tmp/wire_test208123000/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_test208123000/src/example.com/foo/foo.go:29:6) + wire_test.go:108: /tmp/wire_test208123000/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_test208123000/src/example.com/foo/foo.go:37:6) + needed by example.com/foo.Zap in provider "provideZap" (/tmp/wire_test208123000/src/example.com/foo/foo.go:41:6) + needed by example.com/foo.Zop in provider "provideZop" (/tmp/wire_test208123000/src/example.com/foo/foo.go:45:6) +=== CONT TestWire/MultipleArgsSameType + wire_test.go:108: /tmp/wire_test383080042/src/example.com/foo/wire.go:25:8: multiple bindings for string current: - <- provider "provideFooAgain" (/tmp/wire_test399474463/src/example.com/foo/foo.go:39:6) + <- argument b to injector function inject (/tmp/wire_test383080042/src/example.com/foo/wire.go:23:1) previous: - <- provider "provideFoo" (/tmp/wire_test399474463/src/example.com/foo/foo.go:35:6) - wire_test.go:108: /tmp/wire_test399474463/src/example.com/foo/wire.go:32:8: multiple bindings for example.com/foo.Foo + <- argument a to injector function inject (/tmp/wire_test383080042/src/example.com/foo/wire.go:23:1) +=== CONT TestWire/MultipleBindings + wire_test.go:108: /tmp/wire_test852352375/src/example.com/foo/wire.go:27:8: multiple bindings for example.com/foo.Foo current: - <- provider "provideFoo" (/tmp/wire_test399474463/src/example.com/foo/foo.go:35:6) + <- provider "provideFooAgain" (/tmp/wire_test852352375/src/example.com/foo/foo.go:39:6) previous: - <- provider "provideFoo" (/tmp/wire_test399474463/src/example.com/foo/foo.go:35:6) - <- provider set "Set" (/tmp/wire_test399474463/src/example.com/foo/foo.go:31:11) - wire_test.go:108: /tmp/wire_test399474463/src/example.com/foo/wire.go:37:8: multiple bindings for example.com/foo.Foo + <- provider "provideFoo" (/tmp/wire_test852352375/src/example.com/foo/foo.go:35:6) + wire_test.go:108: /tmp/wire_test852352375/src/example.com/foo/wire.go:32:8: multiple bindings for example.com/foo.Foo current: - <- provider "provideFoo" (/tmp/wire_test399474463/src/example.com/foo/foo.go:35:6) + <- provider "provideFoo" (/tmp/wire_test852352375/src/example.com/foo/foo.go:35:6) previous: - <- provider "provideFoo" (/tmp/wire_test399474463/src/example.com/foo/foo.go:35:6) - <- provider set "Set" (/tmp/wire_test399474463/src/example.com/foo/foo.go:31:11) - <- provider set "SuperSet" (/tmp/wire_test399474463/src/example.com/foo/foo.go:32:16) - wire_test.go:108: /tmp/wire_test399474463/src/example.com/foo/foo.go:33:32: SetWithDuplicateBindings has multiple bindings for example.com/foo.Foo + <- provider "provideFoo" (/tmp/wire_test852352375/src/example.com/foo/foo.go:35:6) + <- provider set "Set" (/tmp/wire_test852352375/src/example.com/foo/foo.go:31:11) + wire_test.go:108: /tmp/wire_test852352375/src/example.com/foo/wire.go:37:8: multiple bindings for example.com/foo.Foo current: - <- provider "provideFoo" (/tmp/wire_test399474463/src/example.com/foo/foo.go:35:6) - <- provider set "Set" (/tmp/wire_test399474463/src/example.com/foo/foo.go:31:11) - <- provider set "SuperSet" (/tmp/wire_test399474463/src/example.com/foo/foo.go:32:16) + <- provider "provideFoo" (/tmp/wire_test852352375/src/example.com/foo/foo.go:35:6) previous: - <- provider "provideFoo" (/tmp/wire_test399474463/src/example.com/foo/foo.go:35:6) - <- provider set "Set" (/tmp/wire_test399474463/src/example.com/foo/foo.go:31:11) - wire_test.go:108: /tmp/wire_test399474463/src/example.com/foo/wire.go:47:8: multiple bindings for example.com/foo.Foo + <- provider "provideFoo" (/tmp/wire_test852352375/src/example.com/foo/foo.go:35:6) + <- provider set "Set" (/tmp/wire_test852352375/src/example.com/foo/foo.go:31:11) + <- provider set "SuperSet" (/tmp/wire_test852352375/src/example.com/foo/foo.go:32:16) + wire_test.go:108: /tmp/wire_test852352375/src/example.com/foo/foo.go:33:32: SetWithDuplicateBindings has multiple bindings for example.com/foo.Foo current: - <- wire.Value (/tmp/wire_test399474463/src/example.com/foo/wire.go:47:42) + <- provider "provideFoo" (/tmp/wire_test852352375/src/example.com/foo/foo.go:35:6) + <- provider set "Set" (/tmp/wire_test852352375/src/example.com/foo/foo.go:31:11) + <- provider set "SuperSet" (/tmp/wire_test852352375/src/example.com/foo/foo.go:32:16) previous: - <- provider "provideFoo" (/tmp/wire_test399474463/src/example.com/foo/foo.go:35:6) - wire_test.go:108: /tmp/wire_test399474463/src/example.com/foo/wire.go:52:8: multiple bindings for example.com/foo.Bar + <- provider "provideFoo" (/tmp/wire_test852352375/src/example.com/foo/foo.go:35:6) + <- provider set "Set" (/tmp/wire_test852352375/src/example.com/foo/foo.go:31:11) + wire_test.go:108: /tmp/wire_test852352375/src/example.com/foo/wire.go:47:8: multiple bindings for example.com/foo.Foo current: - <- wire.Bind (/tmp/wire_test399474463/src/example.com/foo/wire.go:52:31) + <- wire.Value (/tmp/wire_test852352375/src/example.com/foo/wire.go:47:42) previous: - <- provider "provideBar" (/tmp/wire_test399474463/src/example.com/foo/foo.go:43:6) -=== CONT TestWire/MultipleArgsSameType - wire_test.go:108: /tmp/wire_test632121536/src/example.com/foo/wire.go:25:8: multiple bindings for string + <- provider "provideFoo" (/tmp/wire_test852352375/src/example.com/foo/foo.go:35:6) + wire_test.go:108: /tmp/wire_test852352375/src/example.com/foo/wire.go:52:8: multiple bindings for example.com/foo.Bar current: - <- argument b to injector function inject (/tmp/wire_test632121536/src/example.com/foo/wire.go:23:1) + <- wire.Bind (/tmp/wire_test852352375/src/example.com/foo/wire.go:52:31) previous: - <- argument a to injector function inject (/tmp/wire_test632121536/src/example.com/foo/wire.go:23:1) ---- PASS: TestWire (0.04s) - --- PASS: TestWire/InvalidInjector (6.84s) - --- PASS: TestWire/BindInjectorArg (7.33s) - --- PASS: TestWire/FuncArgProvider (9.89s) - --- PASS: TestWire/ExampleWithMocks (10.00s) - --- PASS: TestWire/InterfaceValueNotEnoughArgs (8.64s) - --- PASS: TestWire/InterfaceValue (5.86s) - --- PASS: TestWire/InterfaceValueInvalidArg0 (9.17s) - --- PASS: TestWire/InterfaceValueDoesntImplement (9.00s) - --- PASS: TestWire/InterfaceBindingNotEnoughArgs (8.27s) - --- PASS: TestWire/InterfaceBindingReuse (9.00s) - --- PASS: TestWire/InterfaceBindingDoesntImplement (7.30s) - --- PASS: TestWire/InterfaceBindingInvalidArg0 (11.36s) - --- PASS: TestWire/InterfaceBinding (8.50s) - --- PASS: TestWire/InjectWithPanic (6.20s) - --- PASS: TestWire/InjectorMissingCleanup (9.49s) - --- PASS: TestWire/InjectorMissingError (14.59s) - --- PASS: TestWire/InjectInputConflict (7.86s) - --- PASS: TestWire/InjectInput (8.99s) - --- PASS: TestWire/ImportedInterfaceBinding (9.14s) - --- PASS: TestWire/Header (7.92s) - --- PASS: TestWire/VarValue (5.41s) - --- PASS: TestWire/Varargs (8.15s) - --- PASS: TestWire/ReservedKeywords (11.98s) - --- PASS: TestWire/ValueIsInterfaceValue (6.09s) - --- PASS: TestWire/ValueConversion (6.96s) - --- PASS: TestWire/ValueFromFunctionScope (9.20s) - --- PASS: TestWire/ValueIsStruct (14.75s) - --- PASS: TestWire/UnexportedValue (8.42s) - --- PASS: TestWire/ValueChain (13.12s) - --- PASS: TestWire/UnexportedStruct (8.68s) - --- PASS: TestWire/UnusedProviders (12.01s) - --- PASS: TestWire/TwoDeps (7.09s) - --- PASS: TestWire/StructPointer (7.82s) - --- PASS: TestWire/StructWithPreventTag (11.76s) - --- PASS: TestWire/StructNotAStruct (12.19s) - --- PASS: TestWire/ReturnError (5.65s) - --- PASS: TestWire/Struct (8.37s) - --- PASS: TestWire/ReturnArgumentAsInterface (7.55s) - --- PASS: TestWire/EmptyVar (8.41s) - --- PASS: TestWire/Cleanup (11.63s) - --- PASS: TestWire/Cycle (11.18s) - --- PASS: TestWire/CopyOtherDecls (8.60s) - --- PASS: TestWire/BuildTagsAllPackages (7.40s) - --- PASS: TestWire/Chain (7.25s) - --- PASS: TestWire/BindInterfaceWithValue (7.43s) - --- PASS: TestWire/FieldsOfImportedStruct (8.27s) - --- PASS: TestWire/BindInjectorArgPointer (12.67s) - --- PASS: TestWire/FieldsOfStructPointer (7.26s) - --- PASS: TestWire/FieldsOfValueStruct (9.24s) - --- PASS: TestWire/FieldsOfStructDoNotProvidePtrToField (9.57s) - --- PASS: TestWire/ExportedValueDifferentPackage (9.27s) - --- PASS: TestWire/FieldsOfStruct (11.12s) - --- PASS: TestWire/FieldsOfCycle (9.95s) - --- PASS: TestWire/NiladicIdentity (7.52s) - --- PASS: TestWire/RelativePkg (7.57s) - --- PASS: TestWire/ProviderSetBindingMissingConcreteType (8.21s) - --- PASS: TestWire/PkgImport (9.30s) - --- PASS: TestWire/PartialCleanup (7.45s) - --- PASS: TestWire/NoopBuild (7.19s) - --- PASS: TestWire/NoImplicitInterface (6.26s) - --- PASS: TestWire/NiladicValue (7.28s) - --- PASS: TestWire/NoInjectParamNames (10.72s) - --- PASS: TestWire/MultipleMissingInputs (6.46s) - --- PASS: TestWire/ExportedValue (11.38s) - --- PASS: TestWire/NamingWorstCase (7.87s) - --- PASS: TestWire/NamingWorstCaseAllInOne (8.80s) - --- PASS: TestWire/MultipleSimilarPackages (6.71s) - --- PASS: TestWire/MultipleBindings (4.44s) - --- PASS: TestWire/MultipleArgsSameType (7.54s) + <- provider "provideBar" (/tmp/wire_test852352375/src/example.com/foo/foo.go:43:6) +--- PASS: TestWire (0.23s) + --- PASS: TestWire/InvalidInjector (12.94s) + --- PASS: TestWire/InterfaceValueNotEnoughArgs (13.61s) + --- PASS: TestWire/Varargs (13.82s) + --- PASS: TestWire/BindInjectorArg (19.59s) + --- PASS: TestWire/InterfaceValue (8.93s) + --- PASS: TestWire/InterfaceValueDoesntImplement (9.91s) + --- PASS: TestWire/InterfaceValueInvalidArg0 (11.93s) + --- PASS: TestWire/InterfaceBindingReuse (10.22s) + --- PASS: TestWire/InterfaceBindingNotEnoughArgs (10.85s) + --- PASS: TestWire/InterfaceBindingDoesntImplement (11.92s) + --- PASS: TestWire/InterfaceBindingInvalidArg0 (17.33s) + --- PASS: TestWire/InterfaceBinding (11.98s) + --- PASS: TestWire/InjectorMissingError (11.97s) + --- PASS: TestWire/InjectorMissingCleanup (11.11s) + --- PASS: TestWire/InjectInputConflict (8.39s) + --- PASS: TestWire/InjectWithPanic (11.18s) + --- PASS: TestWire/InjectInput (10.10s) + --- PASS: TestWire/ImportedInterfaceBinding (11.29s) + --- PASS: TestWire/Header (10.73s) + --- PASS: TestWire/FuncArgProvider (10.63s) + --- PASS: TestWire/FieldsOfValueStruct (12.42s) + --- PASS: TestWire/FieldsOfStructPointer (12.35s) + --- PASS: TestWire/FieldsOfStruct (9.29s) + --- PASS: TestWire/FieldsOfImportedStruct (10.91s) + --- PASS: TestWire/FieldsOfStructDoNotProvidePtrToField (21.54s) + --- PASS: TestWire/FieldsOfCycle (13.61s) + --- PASS: TestWire/ExportedValueDifferentPackage (18.67s) + --- PASS: TestWire/ExportedValue (12.21s) + --- PASS: TestWire/EmptyVar (8.39s) + --- PASS: TestWire/ExampleWithMocks (18.94s) + --- PASS: TestWire/CopyOtherDecls (11.95s) + --- PASS: TestWire/Cleanup (14.35s) + --- PASS: TestWire/Cycle (20.28s) + --- PASS: TestWire/Chain (19.61s) + --- PASS: TestWire/BuildTagsAllPackages (23.39s) + --- PASS: TestWire/BindInterfaceWithValue (22.50s) + --- PASS: TestWire/BindInjectorArgPointer (25.85s) + --- PASS: TestWire/VarValue (18.73s) + --- PASS: TestWire/ValueIsStruct (13.94s) + --- PASS: TestWire/ValueIsInterfaceValue (23.33s) + --- PASS: TestWire/ValueChain (16.48s) + --- PASS: TestWire/ValueConversion (20.44s) + --- PASS: TestWire/ValueFromFunctionScope (27.92s) + --- PASS: TestWire/UnusedProviders (18.32s) + --- PASS: TestWire/UnexportedStruct (19.10s) + --- PASS: TestWire/UnexportedValue (23.10s) + --- PASS: TestWire/TwoDeps (19.60s) + --- PASS: TestWire/StructWithPreventTag (15.54s) + --- PASS: TestWire/StructPointer (14.99s) + --- PASS: TestWire/StructNotAStruct (16.51s) + --- PASS: TestWire/ReturnError (9.49s) + --- PASS: TestWire/Struct (17.67s) + --- PASS: TestWire/RelativePkg (10.81s) + --- PASS: TestWire/ReturnArgumentAsInterface (19.47s) + --- PASS: TestWire/ReservedKeywords (26.34s) + --- PASS: TestWire/PkgImport (16.96s) + --- PASS: TestWire/ProviderSetBindingMissingConcreteType (31.83s) + --- PASS: TestWire/PartialCleanup (21.74s) + --- PASS: TestWire/NoopBuild (21.90s) + --- PASS: TestWire/NoInjectParamNames (21.21s) + --- PASS: TestWire/NoImplicitInterface (21.63s) + --- PASS: TestWire/NiladicValue (28.08s) + --- PASS: TestWire/NamingWorstCaseAllInOne (19.03s) + --- PASS: TestWire/NiladicIdentity (28.44s) + --- PASS: TestWire/NamingWorstCase (20.37s) + --- PASS: TestWire/MultipleSimilarPackages (18.78s) + --- PASS: TestWire/MultipleMissingInputs (21.35s) + --- PASS: TestWire/MultipleArgsSameType (13.38s) + --- PASS: TestWire/MultipleBindings (20.36s) === RUN TestUnexport --- PASS: TestUnexport (0.00s) === RUN TestExport @@ -2000,7 +2035,7 @@ --- PASS: TestDisambiguate/disambiguate("select",_map[]) (0.00s) --- PASS: TestDisambiguate/disambiguate("var",_map[]) (0.00s) PASS -ok github.com/google/wire/internal/wire 153.275s +ok github.com/google/wire/internal/wire 294.093s create-stamp debian/debhelper-build-stamp dh_testroot -O--builddirectory=_build -O--buildsystem=golang dh_prep -O--builddirectory=_build -O--buildsystem=golang @@ -2041,8 +2076,8 @@ dpkg-gencontrol: warning: Depends field of package google-wire: substitution variable ${shlibs:Depends} used, but is not defined dh_md5sums -O--builddirectory=_build -O--buildsystem=golang dh_builddeb -O--builddirectory=_build -O--buildsystem=golang -dpkg-deb: building package 'golang-github-google-wire-dev' in '../golang-github-google-wire-dev_0.4.0-3_all.deb'. dpkg-deb: building package 'google-wire' in '../google-wire_0.4.0-3_armhf.deb'. +dpkg-deb: building package 'golang-github-google-wire-dev' in '../golang-github-google-wire-dev_0.4.0-3_all.deb'. dpkg-genbuildinfo --build=binary dpkg-genchanges --build=binary >../golang-github-google-wire_0.4.0-3_armhf.changes dpkg-genchanges: info: binary-only upload (no source code included) @@ -2050,12 +2085,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/27165/tmp/hooks/B01_cleanup starting +I: user script /srv/workspace/pbuilder/27165/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/5645 and its subdirectories -I: Current time: Tue Aug 17 01:24:52 -12 2021 -I: pbuilder-time-stamp: 1629206692 +I: removing directory /srv/workspace/pbuilder/27165 and its subdirectories +I: Current time: Wed Aug 18 03:34:06 +14 2021 +I: pbuilder-time-stamp: 1629207246