Diff of the two buildlogs: -- --- b1/build.log 2021-06-09 18:41:50.579609821 +0000 +++ b2/build.log 2021-06-09 18:42:50.377298373 +0000 @@ -1,6 +1,6 @@ I: pbuilder: network access will be disabled during build -I: Current time: Wed Jun 9 06:32:31 -12 2021 -I: pbuilder-time-stamp: 1623263551 +I: Current time: Wed Jul 13 15:04:51 +14 2022 +I: pbuilder-time-stamp: 1657674291 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/bullseye-reproducible-base.tgz] I: copying local configuration @@ -17,8 +17,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.FeVxSf0D/trustedkeys.kbx': General error -gpgv: Signature made Sun Mar 8 07:46:01 2020 -12 +gpgv: keyblock resource '/tmp/dpkg-verify-sig.S_eopDVo/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 @@ -27,137 +27,171 @@ 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/20932/tmp/hooks/D02_print_environment starting +I: user script /srv/workspace/pbuilder/39586/tmp/hooks/D01_modify_environment starting +debug: Running on ionos6-i386. +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/39586/tmp/hooks/D01_modify_environment finished +I: user script /srv/workspace/pbuilder/39586/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='i386' - DEBIAN_FRONTEND='noninteractive' - DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all,-fixfilepath parallel=10' - DISTRIBUTION='' - HOME='/root' - HOST_ARCH='i386' + 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]="i686-pc-linux-gnu") + 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=i386 + DEBIAN_FRONTEND=noninteractive + DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all,-fixfilepath parallel=18' + DIRSTACK=() + DISTRIBUTION= + EUID=0 + FUNCNAME=([0]="Echo" [1]="main") + GROUPS=() + HOME=/root + HOSTNAME=i-capture-the-hostname + HOSTTYPE=i686 + HOST_ARCH=i386 IFS=' ' - INVOCATION_ID='574817a67b9d4a1cbfdab490f32edd33' - LANG='C' - LANGUAGE='en_US:en' - LC_ALL='C' - LD_LIBRARY_PATH='/usr/lib/libeatmydata' - LD_PRELOAD='libeatmydata.so' - 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='20932' - PS1='# ' - PS2='> ' + INVOCATION_ID=2f5aa7dd12d34df5b26f86d9db43bbc7 + LANG=C + LANGUAGE=de_CH:de + LC_ALL=C + LD_LIBRARY_PATH=/usr/lib/libeatmydata + LD_PRELOAD=libeatmydata.so + MACHTYPE=i686-pc-linux-gnu + MAIL=/var/mail/root + OPTERR=1 + OPTIND=1 + OSTYPE=linux-gnu + PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path + PBCURRENTCOMMANDLINEOPERATION=build + PBUILDER_OPERATION=build + PBUILDER_PKGDATADIR=/usr/share/pbuilder + PBUILDER_PKGLIBDIR=/usr/lib/pbuilder + PBUILDER_SYSCONFDIR=/etc + PIPESTATUS=([0]="0") + POSIXLY_CORRECT=y + PPID=39586 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.0iKhXtnVxp/pbuilderrc_Y54O --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/bullseye-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/tmp.0iKhXtnVxp/b1 --logfile b1/build.log golang-github-google-wire_0.4.0-3.dsc' - SUDO_GID='112' - SUDO_UID='107' - SUDO_USER='jenkins' - TERM='unknown' - TZ='/usr/share/zoneinfo/Etc/GMT+12' - USER='root' - _='/usr/bin/systemd-run' - http_proxy='http://78.137.99.97:3128' + PWD=/ + SHELL=/bin/bash + SHELLOPTS=braceexpand:errexit:hashall:interactive-comments:posix + SHLVL=3 + SUDO_COMMAND='/usr/bin/timeout -k 24.1h 24h /usr/bin/ionice -c 3 /usr/bin/nice -n 11 /usr/bin/unshare --uts -- /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/tmp.0iKhXtnVxp/pbuilderrc_yTPi --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/bullseye-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/tmp.0iKhXtnVxp/b2 --logfile b2/build.log --extrapackages usrmerge golang-github-google-wire_0.4.0-3.dsc' + SUDO_GID=112 + SUDO_UID=107 + SUDO_USER=jenkins + TERM=unknown + TZ=/usr/share/zoneinfo/Etc/GMT-14 + UID=0 + USER=root + _='I: set' + http_proxy=http://85.184.249.68:3128 I: uname -a - Linux ionos12-i386 4.19.0-16-686-pae #1 SMP Debian 4.19.181-1 (2021-03-19) i686 GNU/Linux + Linux i-capture-the-hostname 4.19.0-16-amd64 #1 SMP Debian 4.19.181-1 (2021-03-19) x86_64 GNU/Linux I: ls -l /bin total 5776 - -rwxr-xr-x 1 root root 1367848 Feb 24 08:57 bash - -rwxr-xr-x 3 root root 38280 Jul 20 2020 bunzip2 - -rwxr-xr-x 3 root root 38280 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 38280 Jul 20 2020 bzip2 - -rwxr-xr-x 1 root root 17768 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 38824 Sep 22 2020 cat - -rwxr-xr-x 1 root root 71624 Sep 22 2020 chgrp - -rwxr-xr-x 1 root root 67528 Sep 22 2020 chmod - -rwxr-xr-x 1 root root 75752 Sep 22 2020 chown - -rwxr-xr-x 1 root root 157960 Sep 22 2020 cp - -rwxr-xr-x 1 root root 128724 Dec 10 01:23 dash - -rwxr-xr-x 1 root root 124904 Sep 22 2020 date - -rwxr-xr-x 1 root root 92172 Sep 22 2020 dd - -rwxr-xr-x 1 root root 100752 Sep 22 2020 df - -rwxr-xr-x 1 root root 153964 Sep 22 2020 dir - -rwxr-xr-x 1 root root 83644 Feb 7 02:38 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 34664 Sep 22 2020 echo - -rwxr-xr-x 1 root root 28 Nov 9 2020 egrep - -rwxr-xr-x 1 root root 34664 Sep 22 2020 false - -rwxr-xr-x 1 root root 28 Nov 9 2020 fgrep - -rwxr-xr-x 1 root root 71928 Feb 7 02:38 findmnt - -rwsr-xr-x 1 root root 30112 Feb 26 04:12 fusermount - -rwxr-xr-x 1 root root 210488 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 100952 Mar 2 11:30 gzip - -rwxr-xr-x 1 root root 21916 Nov 6 2019 hostname - -rwxr-xr-x 1 root root 83980 Sep 22 2020 ln - -rwxr-xr-x 1 root root 55572 Feb 7 2020 login - -rwxr-xr-x 1 root root 153964 Sep 22 2020 ls - -rwxr-xr-x 1 root root 153124 Feb 7 02:38 lsblk - -rwxr-xr-x 1 root root 96328 Sep 22 2020 mkdir - -rwxr-xr-x 1 root root 79912 Sep 22 2020 mknod - -rwxr-xr-x 1 root root 47048 Sep 22 2020 mktemp - -rwxr-xr-x 1 root root 58920 Feb 7 02:38 more - -rwsr-xr-x 1 root root 50720 Feb 7 02:38 mount - -rwxr-xr-x 1 root root 13856 Feb 7 02:38 mountpoint - -rwxr-xr-x 1 root root 157996 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 38824 Sep 22 2020 pwd - lrwxrwxrwx 1 root root 4 Feb 24 08:57 rbash -> bash - -rwxr-xr-x 1 root root 46984 Sep 22 2020 readlink - -rwxr-xr-x 1 root root 75720 Sep 22 2020 rm - -rwxr-xr-x 1 root root 46984 Sep 22 2020 rmdir - -rwxr-xr-x 1 root root 22292 Sep 27 2020 run-parts - -rwxr-xr-x 1 root root 125036 Dec 22 2018 sed - lrwxrwxrwx 1 root root 4 Jun 7 21:26 sh -> dash - -rwxr-xr-x 1 root root 34696 Sep 22 2020 sleep - -rwxr-xr-x 1 root root 83880 Sep 22 2020 stty - -rwsr-xr-x 1 root root 79396 Feb 7 02:38 su - -rwxr-xr-x 1 root root 34696 Sep 22 2020 sync - -rwxr-xr-x 1 root root 602584 Feb 16 21:55 tar - -rwxr-xr-x 1 root root 13860 Sep 27 2020 tempfile - -rwxr-xr-x 1 root root 108520 Sep 22 2020 touch - -rwxr-xr-x 1 root root 34664 Sep 22 2020 true - -rwxr-xr-x 1 root root 17768 Feb 26 04:12 ulockmgr_server - -rwsr-xr-x 1 root root 30236 Feb 7 02:38 umount - -rwxr-xr-x 1 root root 34664 Sep 22 2020 uname - -rwxr-xr-x 2 root root 2346 Mar 2 11:30 uncompress - -rwxr-xr-x 1 root root 153964 Sep 22 2020 vdir - -rwxr-xr-x 1 root root 63024 Feb 7 02:38 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/20932/tmp/hooks/D02_print_environment finished + -rwxr-xr-x 1 root root 1367848 Feb 25 2021 bash + -rwxr-xr-x 3 root root 38280 Jul 21 2020 bunzip2 + -rwxr-xr-x 3 root root 38280 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 38280 Jul 21 2020 bzip2 + -rwxr-xr-x 1 root root 17768 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 38824 Sep 23 2020 cat + -rwxr-xr-x 1 root root 71624 Sep 23 2020 chgrp + -rwxr-xr-x 1 root root 67528 Sep 23 2020 chmod + -rwxr-xr-x 1 root root 75752 Sep 23 2020 chown + -rwxr-xr-x 1 root root 157960 Sep 23 2020 cp + -rwxr-xr-x 1 root root 128724 Dec 11 2020 dash + -rwxr-xr-x 1 root root 124904 Sep 23 2020 date + -rwxr-xr-x 1 root root 92172 Sep 23 2020 dd + -rwxr-xr-x 1 root root 100752 Sep 23 2020 df + -rwxr-xr-x 1 root root 153964 Sep 23 2020 dir + -rwxr-xr-x 1 root root 83644 Feb 8 2021 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 34664 Sep 23 2020 echo + -rwxr-xr-x 1 root root 28 Nov 10 2020 egrep + -rwxr-xr-x 1 root root 34664 Sep 23 2020 false + -rwxr-xr-x 1 root root 28 Nov 10 2020 fgrep + -rwxr-xr-x 1 root root 71928 Feb 8 2021 findmnt + -rwsr-xr-x 1 root root 30112 Feb 27 2021 fusermount + -rwxr-xr-x 1 root root 210488 Nov 10 2020 grep + -rwxr-xr-x 2 root root 2346 Mar 3 2021 gunzip + -rwxr-xr-x 1 root root 6376 Mar 3 2021 gzexe + -rwxr-xr-x 1 root root 100952 Mar 3 2021 gzip + -rwxr-xr-x 1 root root 21916 Nov 8 2019 hostname + -rwxr-xr-x 1 root root 83980 Sep 23 2020 ln + -rwxr-xr-x 1 root root 55572 Feb 8 2020 login + -rwxr-xr-x 1 root root 153964 Sep 23 2020 ls + -rwxr-xr-x 1 root root 153124 Feb 8 2021 lsblk + -rwxr-xr-x 1 root root 96328 Sep 23 2020 mkdir + -rwxr-xr-x 1 root root 79912 Sep 23 2020 mknod + -rwxr-xr-x 1 root root 47048 Sep 23 2020 mktemp + -rwxr-xr-x 1 root root 58920 Feb 8 2021 more + -rwsr-xr-x 1 root root 50720 Feb 8 2021 mount + -rwxr-xr-x 1 root root 13856 Feb 8 2021 mountpoint + -rwxr-xr-x 1 root root 157996 Sep 23 2020 mv + lrwxrwxrwx 1 root root 8 Nov 8 2019 nisdomainname -> hostname + lrwxrwxrwx 1 root root 14 Apr 19 2021 pidof -> /sbin/killall5 + -rwxr-xr-x 1 root root 38824 Sep 23 2020 pwd + lrwxrwxrwx 1 root root 4 Feb 25 2021 rbash -> bash + -rwxr-xr-x 1 root root 46984 Sep 23 2020 readlink + -rwxr-xr-x 1 root root 75720 Sep 23 2020 rm + -rwxr-xr-x 1 root root 46984 Sep 23 2020 rmdir + -rwxr-xr-x 1 root root 22292 Sep 28 2020 run-parts + -rwxr-xr-x 1 root root 125036 Dec 23 2018 sed + lrwxrwxrwx 1 root root 4 Jul 13 15:04 sh -> bash + lrwxrwxrwx 1 root root 4 Jul 11 05:46 sh.distrib -> dash + -rwxr-xr-x 1 root root 34696 Sep 23 2020 sleep + -rwxr-xr-x 1 root root 83880 Sep 23 2020 stty + -rwsr-xr-x 1 root root 79396 Feb 8 2021 su + -rwxr-xr-x 1 root root 34696 Sep 23 2020 sync + -rwxr-xr-x 1 root root 602584 Feb 17 2021 tar + -rwxr-xr-x 1 root root 13860 Sep 28 2020 tempfile + -rwxr-xr-x 1 root root 108520 Sep 23 2020 touch + -rwxr-xr-x 1 root root 34664 Sep 23 2020 true + -rwxr-xr-x 1 root root 17768 Feb 27 2021 ulockmgr_server + -rwsr-xr-x 1 root root 30236 Feb 8 2021 umount + -rwxr-xr-x 1 root root 34664 Sep 23 2020 uname + -rwxr-xr-x 2 root root 2346 Mar 3 2021 uncompress + -rwxr-xr-x 1 root root 153964 Sep 23 2020 vdir + -rwxr-xr-x 1 root root 63024 Feb 8 2021 wdctl + lrwxrwxrwx 1 root root 8 Nov 8 2019 ypdomainname -> hostname + -rwxr-xr-x 1 root root 1984 Mar 3 2021 zcat + -rwxr-xr-x 1 root root 1678 Mar 3 2021 zcmp + -rwxr-xr-x 1 root root 5880 Mar 3 2021 zdiff + -rwxr-xr-x 1 root root 29 Mar 3 2021 zegrep + -rwxr-xr-x 1 root root 29 Mar 3 2021 zfgrep + -rwxr-xr-x 1 root root 2081 Mar 3 2021 zforce + -rwxr-xr-x 1 root root 7585 Mar 3 2021 zgrep + -rwxr-xr-x 1 root root 2206 Mar 3 2021 zless + -rwxr-xr-x 1 root root 1842 Mar 3 2021 zmore + -rwxr-xr-x 1 root root 4553 Mar 3 2021 znew +I: user script /srv/workspace/pbuilder/39586/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy @@ -258,7 +292,7 @@ Get: 49 http://deb.debian.org/debian bullseye/main i386 golang-golang-x-mod-dev all 0.4.1-1 [87.9 kB] Get: 50 http://deb.debian.org/debian bullseye/main i386 golang-golang-x-sync-dev all 0.0~git20210220.036812b-1 [19.1 kB] Get: 51 http://deb.debian.org/debian bullseye/main i386 golang-golang-x-tools-dev all 1:0.1.0+ds-1 [1626 kB] -Fetched 87.1 MB in 42s (2057 kB/s) +Fetched 87.1 MB in 3s (29.9 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 ... 19675 files and directories currently installed.) @@ -477,8 +511,44 @@ Writing extended state information... Building tag database... -> Finished parsing the build-deps +Reading package lists... +Building dependency tree... +Reading state information... +The following additional packages will be installed: + libfile-find-rule-perl libnumber-compare-perl libtext-glob-perl +The following NEW packages will be installed: + libfile-find-rule-perl libnumber-compare-perl libtext-glob-perl usrmerge +0 upgraded, 4 newly installed, 0 to remove and 0 not upgraded. +Need to get 59.5 kB of archives. +After this operation, 157 kB of additional disk space will be used. +Get:1 http://deb.debian.org/debian bullseye/main i386 libnumber-compare-perl all 0.03-1.1 [6956 B] +Get:2 http://deb.debian.org/debian bullseye/main i386 libtext-glob-perl all 0.11-1 [8888 B] +Get:3 http://deb.debian.org/debian bullseye/main i386 libfile-find-rule-perl all 0.34-1 [30.6 kB] +Get:4 http://deb.debian.org/debian bullseye/main i386 usrmerge all 25 [13.0 kB] +debconf: delaying package configuration, since apt-utils is not installed +Fetched 59.5 kB in 0s (5340 kB/s) +Selecting previously unselected package libnumber-compare-perl. +(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 ... 36669 files and directories currently installed.) +Preparing to unpack .../libnumber-compare-perl_0.03-1.1_all.deb ... +Unpacking libnumber-compare-perl (0.03-1.1) ... +Selecting previously unselected package libtext-glob-perl. +Preparing to unpack .../libtext-glob-perl_0.11-1_all.deb ... +Unpacking libtext-glob-perl (0.11-1) ... +Selecting previously unselected package libfile-find-rule-perl. +Preparing to unpack .../libfile-find-rule-perl_0.34-1_all.deb ... +Unpacking libfile-find-rule-perl (0.34-1) ... +Selecting previously unselected package usrmerge. +Preparing to unpack .../archives/usrmerge_25_all.deb ... +Unpacking usrmerge (25) ... +Setting up libtext-glob-perl (0.11-1) ... +Setting up libnumber-compare-perl (0.03-1.1) ... +Setting up libfile-find-rule-perl (0.34-1) ... +Setting up usrmerge (25) ... +The system has been successfully converted. +Processing triggers for man-db (2.9.4-2) ... +Not building database; man-db/auto-update is not 'true'. 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 +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 dpkg-buildpackage: info: source package golang-github-google-wire dpkg-buildpackage: info: source version 0.4.0-3 dpkg-buildpackage: info: source distribution unstable @@ -496,100 +566,100 @@ 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 10 github.com/google/wire github.com/google/wire/cmd/wire github.com/google/wire/internal/wire -unicode/utf8 + cd _build && go install -trimpath -v -p 18 github.com/google/wire github.com/google/wire/cmd/wire github.com/google/wire/internal/wire internal/unsafeheader +unicode/utf16 +golang.org/x/xerrors/internal +encoding +unicode github.com/google/wire internal/race +golang.org/x/mod/semver +internal/goversion +unicode/utf8 math/bits -unicode -encoding -sync/atomic runtime/internal/atomic -runtime/internal/sys +sync/atomic internal/cpu -unicode/utf16 -internal/goversion -golang.org/x/mod/semver -golang.org/x/xerrors/internal +runtime/internal/sys internal/testlog +runtime/internal/math math internal/bytealg -runtime/internal/math runtime -sync internal/reflectlite +sync math/rand -sort errors +sort internal/oserror io strconv syscall container/heap +text/tabwriter bytes strings -text/tabwriter reflect path bufio regexp/syntax -regexp internal/syscall/execenv internal/syscall/unix time -internal/fmtsort -encoding/binary -encoding/base64 +regexp context internal/poll +internal/fmtsort +encoding/binary os +encoding/base64 internal/lazyregexp path/filepath fmt io/ioutil os/exec +golang.org/x/sys/execabs flag -golang.org/x/tools/internal/event/label go/token -golang.org/x/xerrors net/url -encoding/json +golang.org/x/tools/internal/event/label text/scanner +github.com/pmezard/go-difflib/difflib +golang.org/x/xerrors text/template/parse -math/big -golang.org/x/sys/execabs -internal/execabs -golang.org/x/tools/internal/event/keys +encoding/json log +internal/execabs +math/big internal/goroot +golang.org/x/tools/internal/event/keys go/scanner -github.com/pmezard/go-difflib/difflib github.com/google/subcommands go/ast golang.org/x/tools/internal/event/core golang.org/x/tools/internal/event -text/template -go/constant golang.org/x/tools/internal/gocommand +text/template golang.org/x/tools/internal/packagesinternal -golang.org/x/tools/go/ast/astutil go/parser go/printer +golang.org/x/tools/go/ast/astutil +go/constant go/doc -go/build go/types go/format +go/build golang.org/x/tools/go/internal/packagesdriver -golang.org/x/tools/internal/typesinternal golang.org/x/tools/go/internal/gcimporter golang.org/x/tools/go/types/typeutil +golang.org/x/tools/internal/typesinternal 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 -O--builddirectory=_build -O--buildsystem=golang - cd _build && go test -vet=off -v -p 10 github.com/google/wire github.com/google/wire/cmd/wire github.com/google/wire/internal/wire + cd _build && go test -vet=off -v -p 18 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 @@ -732,16 +802,34 @@ === RUN TestWire/Varargs === PAUSE TestWire/Varargs === CONT TestWire/BindInjectorArg -=== CONT TestWire/InterfaceValueNotEnoughArgs -=== CONT TestWire/InvalidInjector -=== CONT TestWire/NiladicValue -=== CONT TestWire/ReturnArgumentAsInterface -=== CONT TestWire/Varargs -=== CONT TestWire/NiladicIdentity +=== CONT TestWire/ValueFromFunctionScope === CONT TestWire/VarValue +=== CONT TestWire/Varargs === CONT TestWire/ValueIsStruct +=== CONT TestWire/InterfaceValue +=== CONT TestWire/PkgImport +=== CONT TestWire/ValueIsInterfaceValue +=== CONT TestWire/InterfaceBindingReuse +=== CONT TestWire/FieldsOfStructDoNotProvidePtrToField +=== CONT TestWire/FieldsOfStruct +=== CONT TestWire/FieldsOfImportedStruct +=== CONT TestWire/Cycle +=== CONT TestWire/PartialCleanup +=== CONT TestWire/NoopBuild +=== CONT TestWire/NoInjectParamNames +=== CONT TestWire/FieldsOfStructPointer +=== CONT TestWire/InterfaceValueDoesntImplement +=== CONT TestWire/ValueFromFunctionScope + wire_test.go:108: /tmp/wire_test395231287/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/NoImplicitInterface -=== CONT TestWire/NiladicIdentity +=== CONT TestWire/Cycle + wire_test.go:108: /tmp/wire_test838456340/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/NiladicValue +=== CONT TestWire/FieldsOfStructPointer wire_test.go:164: wire_gen.go: // Code generated by Wire. DO NOT EDIT. @@ -753,18 +841,18 @@ // Injectors from wire.go: func injectedMessage() string { - string2 := provideMessage() + s := provideS() + string2 := s.Foo return string2 } -=== CONT TestWire/NamingWorstCaseAllInOne -=== 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/NamingWorstCase -=== CONT TestWire/NoImplicitInterface - wire_test.go:108: /tmp/wire_test788367864/src/example.com/foo/wire.go:23:1: inject injectFooer: no provider found for example.com/foo.Fooer, output of injector -=== CONT TestWire/MultipleSimilarPackages -=== CONT TestWire/NiladicValue + + func injectedMessagePtr() *string { + s := provideS() + string2 := &s.Foo + return string2 + } +=== CONT TestWire/NiladicIdentity +=== CONT TestWire/VarValue wire_test.go:164: wire_gen.go: // Code generated by Wire. DO NOT EDIT. @@ -781,9 +869,71 @@ } var ( - _wireStringValue = "Hello, World!" + _wireStringValue = msg + ) +=== CONT TestWire/NamingWorstCaseAllInOne +=== 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/NamingWorstCase +=== CONT TestWire/FieldsOfStructDoNotProvidePtrToField + wire_test.go:108: /tmp/wire_test654078143/src/example.com/foo/wire.go:23:1: inject injectedMessagePtr: no provider found for *string, output of injector +=== CONT TestWire/MultipleSimilarPackages +=== 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/MultipleMissingInputs +=== CONT TestWire/MultipleBindings === CONT TestWire/Varargs wire_test.go:164: wire_gen.go: // Code generated by Wire. DO NOT EDIT. @@ -799,11 +949,8 @@ string2 := provideMessage(lines...) return string2 } -=== CONT TestWire/MultipleBindings -=== CONT TestWire/InterfaceValueNotEnoughArgs - wire_test.go:108: /tmp/wire_test549216336/src/example.com/foo/wire.go:25:38: too few arguments in call to wire.InterfaceValue === CONT TestWire/MultipleArgsSameType -=== CONT TestWire/ReturnArgumentAsInterface +=== CONT TestWire/InterfaceValue wire_test.go:164: wire_gen.go: // Code generated by Wire. DO NOT EDIT. @@ -813,16 +960,22 @@ package main import ( - "fmt" + "io" + "strings" ) // Injectors from wire.go: - func injectStringer(s MyString) fmt.Stringer { - return s + func injectedReader() io.Reader { + reader := _wireReaderValue + return reader } -=== CONT TestWire/PkgImport -=== CONT TestWire/ValueIsStruct + + var ( + _wireReaderValue = strings.NewReader("hello world") + ) +=== CONT TestWire/InvalidInjector +=== CONT TestWire/NoInjectParamNames wire_test.go:164: wire_gen.go: // Code generated by Wire. DO NOT EDIT. @@ -831,18 +984,51 @@ package main + import ( + context2 "context" + ) + // Injectors from wire.go: - func injectFoo() Foo { - foo := _wireFooValue - return foo + func inject(contextContext context2.Context, arg struct{}) (context, error) { + mainContext, err := provide(contextContext) + if err != nil { + return context{}, err + } + return mainContext, nil } +=== CONT TestWire/InterfaceValueNotEnoughArgs +=== CONT TestWire/PkgImport + wire_test.go:164: wire_gen.go: + // Code generated by Wire. DO NOT EDIT. - var ( - _wireFooValue = Foo{X: 42} + //go:generate wire + //+build !wireinject + + package main + + import ( + "example.com/bar" ) -=== CONT TestWire/ReservedKeywords -=== CONT TestWire/VarValue + + 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/InterfaceValueInvalidArg0 +=== CONT TestWire/InterfaceValueDoesntImplement + wire_test.go:108: /tmp/wire_test603203655/src/example.com/foo/wire.go:26:13: string does not implement io.Reader +=== CONT TestWire/Chain +=== CONT TestWire/PartialCleanup wire_test.go:164: wire_gen.go: // Code generated by Wire. DO NOT EDIT. @@ -853,27 +1039,26 @@ // Injectors from wire.go: - func injectedMessage() string { - string2 := _wireStringValue - return string2 + 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 } - - var ( - _wireStringValue = msg - ) -=== CONT TestWire/RelativePkg -=== CONT TestWire/MultipleMissingInputs - wire_test.go:108: /tmp/wire_test106045612/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_test106045612/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_test106045612/src/example.com/foo/foo.go:29:6) - wire_test.go:108: /tmp/wire_test106045612/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_test106045612/src/example.com/foo/foo.go:29:6) - wire_test.go:108: /tmp/wire_test106045612/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_test106045612/src/example.com/foo/foo.go:37:6) - needed by example.com/foo.Zap in provider "provideZap" (/tmp/wire_test106045612/src/example.com/foo/foo.go:41:6) - needed by example.com/foo.Zop in provider "provideZop" (/tmp/wire_test106045612/src/example.com/foo/foo.go:45:6) -=== CONT TestWire/ProviderSetBindingMissingConcreteType -=== CONT TestWire/NamingWorstCase +=== CONT TestWire/CopyOtherDecls +=== CONT TestWire/InterfaceBindingReuse wire_test.go:164: wire_gen.go: // Code generated by Wire. DO NOT EDIT. @@ -882,20 +1067,37 @@ package main - import ( - context2 "context" - ) + // Injectors from wire.go: + + func injectFooBar() FooBar { + bar := provideBar() + fooBar := provideFooBar(bar, bar) + return fooBar + } +=== CONT TestWire/Cleanup +=== 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 inject(context3 context2.Context, err2 struct{}) (context, error) { - mainContext, err := provide(context3) - if err != nil { - return context{}, err - } - return mainContext, nil + func injectFoo() Foo { + foo := _wireFooValue + return foo } -=== CONT TestWire/NoopBuild + + var ( + _wireFooValue = Foo{X: 42} + ) +=== CONT TestWire/StructPointer +=== CONT TestWire/ValueIsInterfaceValue + wire_test.go:108: /tmp/wire_test417093701/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/ValueConversion === CONT TestWire/BindInjectorArg wire_test.go:164: wire_gen.go: // Code generated by Wire. DO NOT EDIT. @@ -911,45 +1113,45 @@ bar := NewBar(foo) return bar } -=== CONT TestWire/PartialCleanup +=== CONT TestWire/ValueChain === CONT TestWire/MultipleBindings - wire_test.go:108: /tmp/wire_test228822043/src/example.com/foo/wire.go:27:8: multiple bindings for example.com/foo.Foo + wire_test.go:108: /tmp/wire_test202376911/src/example.com/foo/wire.go:27:8: multiple bindings for example.com/foo.Foo current: - <- provider "provideFooAgain" (/tmp/wire_test228822043/src/example.com/foo/foo.go:39:6) + <- provider "provideFooAgain" (/tmp/wire_test202376911/src/example.com/foo/foo.go:39:6) previous: - <- provider "provideFoo" (/tmp/wire_test228822043/src/example.com/foo/foo.go:35:6) - wire_test.go:108: /tmp/wire_test228822043/src/example.com/foo/wire.go:32:8: multiple bindings for example.com/foo.Foo + <- provider "provideFoo" (/tmp/wire_test202376911/src/example.com/foo/foo.go:35:6) + wire_test.go:108: /tmp/wire_test202376911/src/example.com/foo/wire.go:32:8: multiple bindings for example.com/foo.Foo current: - <- provider "provideFoo" (/tmp/wire_test228822043/src/example.com/foo/foo.go:35:6) + <- provider "provideFoo" (/tmp/wire_test202376911/src/example.com/foo/foo.go:35:6) previous: - <- provider "provideFoo" (/tmp/wire_test228822043/src/example.com/foo/foo.go:35:6) - <- provider set "Set" (/tmp/wire_test228822043/src/example.com/foo/foo.go:31:11) - wire_test.go:108: /tmp/wire_test228822043/src/example.com/foo/wire.go:37:8: multiple bindings for example.com/foo.Foo + <- provider "provideFoo" (/tmp/wire_test202376911/src/example.com/foo/foo.go:35:6) + <- provider set "Set" (/tmp/wire_test202376911/src/example.com/foo/foo.go:31:11) + wire_test.go:108: /tmp/wire_test202376911/src/example.com/foo/wire.go:37:8: multiple bindings for example.com/foo.Foo current: - <- provider "provideFoo" (/tmp/wire_test228822043/src/example.com/foo/foo.go:35:6) + <- provider "provideFoo" (/tmp/wire_test202376911/src/example.com/foo/foo.go:35:6) previous: - <- provider "provideFoo" (/tmp/wire_test228822043/src/example.com/foo/foo.go:35:6) - <- provider set "Set" (/tmp/wire_test228822043/src/example.com/foo/foo.go:31:11) - <- provider set "SuperSet" (/tmp/wire_test228822043/src/example.com/foo/foo.go:32:16) - wire_test.go:108: /tmp/wire_test228822043/src/example.com/foo/foo.go:33:32: SetWithDuplicateBindings has multiple bindings for example.com/foo.Foo + <- provider "provideFoo" (/tmp/wire_test202376911/src/example.com/foo/foo.go:35:6) + <- provider set "Set" (/tmp/wire_test202376911/src/example.com/foo/foo.go:31:11) + <- provider set "SuperSet" (/tmp/wire_test202376911/src/example.com/foo/foo.go:32:16) + wire_test.go:108: /tmp/wire_test202376911/src/example.com/foo/foo.go:33:32: SetWithDuplicateBindings has multiple bindings for example.com/foo.Foo current: - <- provider "provideFoo" (/tmp/wire_test228822043/src/example.com/foo/foo.go:35:6) - <- provider set "Set" (/tmp/wire_test228822043/src/example.com/foo/foo.go:31:11) - <- provider set "SuperSet" (/tmp/wire_test228822043/src/example.com/foo/foo.go:32:16) + <- provider "provideFoo" (/tmp/wire_test202376911/src/example.com/foo/foo.go:35:6) + <- provider set "Set" (/tmp/wire_test202376911/src/example.com/foo/foo.go:31:11) + <- provider set "SuperSet" (/tmp/wire_test202376911/src/example.com/foo/foo.go:32:16) previous: - <- provider "provideFoo" (/tmp/wire_test228822043/src/example.com/foo/foo.go:35:6) - <- provider set "Set" (/tmp/wire_test228822043/src/example.com/foo/foo.go:31:11) - wire_test.go:108: /tmp/wire_test228822043/src/example.com/foo/wire.go:47:8: multiple bindings for example.com/foo.Foo + <- provider "provideFoo" (/tmp/wire_test202376911/src/example.com/foo/foo.go:35:6) + <- provider set "Set" (/tmp/wire_test202376911/src/example.com/foo/foo.go:31:11) + wire_test.go:108: /tmp/wire_test202376911/src/example.com/foo/wire.go:47:8: multiple bindings for example.com/foo.Foo current: - <- wire.Value (/tmp/wire_test228822043/src/example.com/foo/wire.go:47:42) + <- wire.Value (/tmp/wire_test202376911/src/example.com/foo/wire.go:47:42) previous: - <- provider "provideFoo" (/tmp/wire_test228822043/src/example.com/foo/foo.go:35:6) - wire_test.go:108: /tmp/wire_test228822043/src/example.com/foo/wire.go:52:8: multiple bindings for example.com/foo.Bar + <- provider "provideFoo" (/tmp/wire_test202376911/src/example.com/foo/foo.go:35:6) + wire_test.go:108: /tmp/wire_test202376911/src/example.com/foo/wire.go:52:8: multiple bindings for example.com/foo.Bar current: - <- wire.Bind (/tmp/wire_test228822043/src/example.com/foo/wire.go:52:31) + <- wire.Bind (/tmp/wire_test202376911/src/example.com/foo/wire.go:52:31) previous: - <- provider "provideBar" (/tmp/wire_test228822043/src/example.com/foo/foo.go:43:6) -=== CONT TestWire/UnexportedStruct + <- provider "provideBar" (/tmp/wire_test202376911/src/example.com/foo/foo.go:43:6) +=== CONT TestWire/UnusedProviders === CONT TestWire/MultipleSimilarPackages wire_test.go:164: wire_gen.go: // Code generated by Wire. DO NOT EDIT. @@ -1010,7 +1212,69 @@ svc := newMainService(cfg) fmt.Println(svc.String()) } -=== CONT TestWire/ValueIsInterfaceValue +=== CONT TestWire/UnexportedValue +=== 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/UnexportedStruct +=== CONT TestWire/NoImplicitInterface + wire_test.go:108: /tmp/wire_test022555898/src/example.com/foo/wire.go:23:1: inject injectFooer: no provider found for example.com/foo.Fooer, output of injector +=== CONT TestWire/TwoDeps +=== 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/StructWithPreventTag +=== 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/ExportedValue === CONT TestWire/NamingWorstCaseAllInOne wire_test.go:164: wire_gen.go: // Code generated by Wire. DO NOT EDIT. @@ -1063,8 +1327,33 @@ func (context) Provide() { } -=== CONT TestWire/ValueFromFunctionScope -=== CONT TestWire/ReservedKeywords +=== CONT TestWire/FieldsOfCycle +=== CONT TestWire/MultipleMissingInputs + wire_test.go:108: /tmp/wire_test005386544/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_test005386544/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_test005386544/src/example.com/foo/foo.go:29:6) + wire_test.go:108: /tmp/wire_test005386544/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_test005386544/src/example.com/foo/foo.go:29:6) + wire_test.go:108: /tmp/wire_test005386544/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_test005386544/src/example.com/foo/foo.go:37:6) + needed by example.com/foo.Zap in provider "provideZap" (/tmp/wire_test005386544/src/example.com/foo/foo.go:41:6) + needed by example.com/foo.Zop in provider "provideZop" (/tmp/wire_test005386544/src/example.com/foo/foo.go:45:6) +=== CONT TestWire/ExportedValueDifferentPackage +=== CONT TestWire/MultipleArgsSameType + wire_test.go:108: /tmp/wire_test235727842/src/example.com/foo/wire.go:25:8: multiple bindings for string + current: + <- argument b to injector function inject (/tmp/wire_test235727842/src/example.com/foo/wire.go:23:1) + previous: + <- argument a to injector function inject (/tmp/wire_test235727842/src/example.com/foo/wire.go:23:1) +=== CONT TestWire/InjectWithPanic +=== 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/InterfaceBindingNotEnoughArgs +=== CONT TestWire/InterfaceValueNotEnoughArgs + wire_test.go:108: /tmp/wire_test539857764/src/example.com/foo/wire.go:25:38: too few arguments in call to wire.InterfaceValue +=== CONT TestWire/InterfaceBindingInvalidArg0 +=== CONT TestWire/ValueConversion wire_test.go:164: wire_gen.go: // Code generated by Wire. DO NOT EDIT. @@ -1075,20 +1364,16 @@ // Injectors from wire.go: - func injectInterface() Interface { - select2 := provideSelect() - mainInterface := provideInterface(select2) - return mainInterface + func injectedMessage() Foo { + foo := _wireFooValue + return foo } - // 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/PkgImport + var ( + _wireFooValue = Foo("Hello, World!") + ) +=== CONT TestWire/InterfaceBindingDoesntImplement +=== CONT TestWire/StructPointer wire_test.go:164: wire_gen.go: // Code generated by Wire. DO NOT EDIT. @@ -1097,38 +1382,24 @@ package main - import ( - "example.com/bar" - ) - - import ( - _ "example.com/anon1" - _ "example.com/anon2" - ) - // Injectors from wire.go: - func injectFooBar() FooBar { + func injectFooBar() *FooBar { foo := provideFoo() - barBar := bar.ProvideBar() - fooBar := provideFooBar(foo, barBar) + bar := provideBar() + fooBar := &FooBar{ + Foo: foo, + Bar: bar, + } return fooBar } -=== CONT TestWire/ValueChain -=== CONT TestWire/UnexportedStruct - wire_test.go:108: /tmp/wire_test765641507/src/example.com/foo/wire.go:26:17: foo not exported by package bar -=== CONT TestWire/UnusedProviders -=== CONT TestWire/ProviderSetBindingMissingConcreteType - wire_test.go:108: /tmp/wire_test633437906/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/UnexportedValue -=== CONT TestWire/MultipleArgsSameType - wire_test.go:108: /tmp/wire_test238786750/src/example.com/foo/wire.go:25:8: multiple bindings for string - current: - <- argument b to injector function inject (/tmp/wire_test238786750/src/example.com/foo/wire.go:23:1) - previous: - <- argument a to injector function inject (/tmp/wire_test238786750/src/example.com/foo/wire.go:23:1) -=== CONT TestWire/FieldsOfValueStruct -=== CONT TestWire/PartialCleanup + + func injectEmptyStruct() *Empty { + empty := &Empty{} + return empty + } +=== CONT TestWire/InterfaceBinding +=== CONT TestWire/Chain wire_test.go:164: wire_gen.go: // Code generated by Wire. DO NOT EDIT. @@ -1139,26 +1410,23 @@ // 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 + func injectFooBar() FooBar { + foo := provideFoo() + fooBar := provideFooBar(foo) + return fooBar } +=== CONT TestWire/InjectorMissingError +=== CONT TestWire/UnusedProviders + wire_test.go:108: /tmp/wire_test753917836/src/example.com/foo/wire.go:23:1: inject injectFooBar: unused provider set "unusedSet" + wire_test.go:108: /tmp/wire_test753917836/src/example.com/foo/wire.go:23:1: inject injectFooBar: unused provider "main.provideUnused" + wire_test.go:108: /tmp/wire_test753917836/src/example.com/foo/wire.go:23:1: inject injectFooBar: unused value of type string + wire_test.go:108: /tmp/wire_test753917836/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_test753917836/src/example.com/foo/wire.go:23:1: inject injectFooBar: unused field "example.com/foo.S".Cfg +=== CONT TestWire/InjectorMissingCleanup === CONT TestWire/InterfaceValueInvalidArg0 -=== CONT TestWire/RelativePkg + wire_test.go:108: /tmp/wire_test189989235/src/example.com/foo/wire.go:25:13: first argument to InterfaceValue must be a pointer to an interface type; found string +=== CONT TestWire/ImportedInterfaceBinding +=== CONT TestWire/ValueChain wire_test.go:164: wire_gen.go: // Code generated by Wire. DO NOT EDIT. @@ -1169,13 +1437,17 @@ // Injectors from wire.go: - func injectedMessage() string { - string2 := provideMessage() - return string2 + func injectFooBar() FooBar { + foo := _wireFooValue + fooBar := provideFooBar(foo) + return fooBar } -=== CONT TestWire/InterfaceValueDoesntImplement -=== CONT TestWire/InterfaceValue -=== CONT TestWire/ValueConversion + + var ( + _wireFooValue = Foo(41) + ) +=== CONT TestWire/InjectInputConflict +=== CONT TestWire/Cleanup wire_test.go:164: wire_gen.go: // Code generated by Wire. DO NOT EDIT. @@ -1186,29 +1458,16 @@ // Injectors from wire.go: - func injectedMessage() Foo { - foo := _wireFooValue - return foo + func injectBar() (*Bar, func()) { + foo, cleanup := provideFoo() + bar, cleanup2 := provideBar(foo) + return bar, func() { + cleanup2() + cleanup() + } } - - var ( - _wireFooValue = Foo("Hello, World!") - ) -=== CONT TestWire/InterfaceBindingReuse -=== CONT TestWire/ValueIsInterfaceValue - wire_test.go:108: /tmp/wire_test811971110/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/InterfaceBindingNotEnoughArgs -=== CONT TestWire/ValueFromFunctionScope - wire_test.go:108: /tmp/wire_test830638925/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/InterfaceBindingInvalidArg0 -=== CONT TestWire/UnusedProviders - wire_test.go:108: /tmp/wire_test488686266/src/example.com/foo/wire.go:23:1: inject injectFooBar: unused provider set "unusedSet" - wire_test.go:108: /tmp/wire_test488686266/src/example.com/foo/wire.go:23:1: inject injectFooBar: unused provider "main.provideUnused" - wire_test.go:108: /tmp/wire_test488686266/src/example.com/foo/wire.go:23:1: inject injectFooBar: unused value of type string - wire_test.go:108: /tmp/wire_test488686266/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_test488686266/src/example.com/foo/wire.go:23:1: inject injectFooBar: unused field "example.com/foo.S".Cfg -=== CONT TestWire/InterfaceBindingDoesntImplement -=== CONT TestWire/ValueChain +=== CONT TestWire/InjectInput +=== CONT TestWire/CopyOtherDecls wire_test.go:164: wire_gen.go: // Code generated by Wire. DO NOT EDIT. @@ -1217,19 +1476,32 @@ package main - // Injectors from wire.go: + import ( + "fmt" + ) - func injectFooBar() FooBar { - foo := _wireFooValue - fooBar := provideFooBar(foo) - return fooBar + // Injectors from foo.go: + + func injectedMessage() string { + string2 := provideMessage() + return string2 } - var ( - _wireFooValue = Foo(41) - ) -=== CONT TestWire/InterfaceBinding -=== CONT TestWire/InterfaceBindingReuse + // foo.go: + + func main() { + fmt.Println(injectedMessage()) + } + + // provideMessage provides a friendly user greeting. + func provideMessage() string { + return "Hello, World!" + } +=== CONT TestWire/ExampleWithMocks +=== CONT TestWire/UnexportedStruct + wire_test.go:108: /tmp/wire_test096770206/src/example.com/foo/wire.go:26:17: foo not exported by package bar +=== CONT TestWire/ReturnArgumentAsInterface +=== CONT TestWire/TwoDeps wire_test.go:164: wire_gen.go: // Code generated by Wire. DO NOT EDIT. @@ -1241,15 +1513,26 @@ // Injectors from wire.go: func injectFooBar() FooBar { + foo := provideFoo() bar := provideBar() - fooBar := provideFooBar(bar, bar) + fooBar := provideFooBar(foo, bar) return fooBar } -=== CONT TestWire/InjectorMissingError +=== CONT TestWire/StructNotAStruct === CONT TestWire/UnexportedValue - wire_test.go:108: /tmp/wire_test369661137/src/example.com/foo/wire.go:24:1: inject injectedMessage: value string can't be used: uses unexported identifier privateMsg -=== CONT TestWire/InjectorMissingCleanup -=== CONT TestWire/FieldsOfValueStruct + wire_test.go:108: /tmp/wire_test339426171/src/example.com/foo/wire.go:24:1: inject injectedMessage: value string can't be used: uses unexported identifier privateMsg +=== CONT TestWire/Struct +=== CONT TestWire/FieldsOfCycle + wire_test.go:108: /tmp/wire_test843868850/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/ReturnError +=== CONT TestWire/InterfaceBindingInvalidArg0 + wire_test.go:108: /tmp/wire_test660185094/src/example.com/foo/wire.go:25:13: first argument to Bind must be a pointer to an interface type; found string +=== CONT TestWire/FuncArgProvider +=== CONT TestWire/ExportedValueDifferentPackage wire_test.go:164: wire_gen.go: // Code generated by Wire. DO NOT EDIT. @@ -1259,42 +1542,21 @@ package main import ( - "example.com/bar" - "example.com/baz" - "example.com/foo" - "fmt" + "os" ) // 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 + func injectedFile() *os.File { + file := _wireFileValue + return file } var ( - _wireConfigValue = &baz.Config{ - Foo: &foo.Config{1}, - Bar: &bar.Config{2}, - } + _wireFileValue = os.Stdout ) - - // wire.go: - - func main() { - svc := newBazService() - fmt.Println(svc.String()) - } -=== CONT TestWire/InjectWithPanic -=== CONT TestWire/InterfaceValue +=== CONT TestWire/Header +=== CONT TestWire/ExportedValue wire_test.go:164: wire_gen.go: // Code generated by Wire. DO NOT EDIT. @@ -1304,36 +1566,23 @@ package main import ( - "io" - "strings" + "example.com/bar" ) // Injectors from wire.go: - func injectedReader() io.Reader { - reader := _wireReaderValue - return reader + func injectedMessage() string { + string2 := _wireStringValue + return string2 } var ( - _wireReaderValue = strings.NewReader("hello world") + _wireStringValue = bar.PublicMsg ) -=== CONT TestWire/InjectInputConflict -=== CONT TestWire/InterfaceBindingNotEnoughArgs - wire_test.go:108: /tmp/wire_test667900303/src/example.com/foo/wire.go:25:33: too few arguments in call to wire.Bind -=== CONT TestWire/InjectInput -=== CONT TestWire/InterfaceValueInvalidArg0 - wire_test.go:108: /tmp/wire_test129184555/src/example.com/foo/wire.go:25:13: first argument to InterfaceValue must be a pointer to an interface type; found string -=== CONT TestWire/ImportedInterfaceBinding -=== CONT TestWire/InterfaceValueDoesntImplement - wire_test.go:108: /tmp/wire_test311208590/src/example.com/foo/wire.go:26:13: string does not implement io.Reader -=== CONT TestWire/Header -=== CONT TestWire/InterfaceBindingInvalidArg0 - wire_test.go:108: /tmp/wire_test661054882/src/example.com/foo/wire.go:25:13: first argument to Bind must be a pointer to an interface type; found string -=== CONT TestWire/FuncArgProvider -=== CONT TestWire/InterfaceBindingDoesntImplement - wire_test.go:108: /tmp/wire_test208935065/src/example.com/foo/wire.go:25:13: string does not implement example.com/foo.Fooer -=== CONT TestWire/ExampleWithMocks +=== CONT TestWire/FieldsOfValueStruct +=== CONT TestWire/StructWithPreventTag + wire_test.go:108: /tmp/wire_test171176320/src/example.com/foo/foo.go:45:2: "mu" is prevented from injecting by wire +=== CONT TestWire/EmptyVar === CONT TestWire/InjectWithPanic wire_test.go:164: wire_gen.go: // Code generated by Wire. DO NOT EDIT. @@ -1349,21 +1598,7 @@ string2 := provideMessage() return string2 } -=== CONT TestWire/FieldsOfStructPointer -=== CONT TestWire/InjectInputConflict - wire_test.go:108: /tmp/wire_test464290456/src/example.com/foo/wire.go:24:2: multiple bindings for example.com/foo.Foo - current: - <- provider "provideFoo" (/tmp/wire_test464290456/src/example.com/foo/foo.go:37:6) - <- provider set "Set" (/tmp/wire_test464290456/src/example.com/foo/foo.go:33:11) - previous: - <- argument foo to injector function injectBar (/tmp/wire_test464290456/src/example.com/foo/wire.go:23:1) -=== CONT TestWire/FieldsOfStructDoNotProvidePtrToField -=== CONT TestWire/InjectorMissingError - wire_test.go:108: /tmp/wire_test899449395/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/FieldsOfStruct -=== CONT TestWire/InjectorMissingCleanup - wire_test.go:108: /tmp/wire_test807208950/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/FieldsOfImportedStruct +=== CONT TestWire/RelativePkg === CONT TestWire/InterfaceBinding wire_test.go:164: wire_gen.go: // Code generated by Wire. DO NOT EDIT. @@ -1379,8 +1614,14 @@ bar := provideBar() return bar } -=== CONT TestWire/FieldsOfCycle -=== CONT TestWire/ExampleWithMocks +=== CONT TestWire/BindInterfaceWithValue +=== CONT TestWire/InjectorMissingCleanup + wire_test.go:108: /tmp/wire_test128426138/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/ReservedKeywords +=== CONT TestWire/InjectorMissingError + wire_test.go:108: /tmp/wire_test732882535/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/BuildTagsAllPackages +=== CONT TestWire/ImportedInterfaceBinding wire_test.go:164: wire_gen.go: // Code generated by Wire. DO NOT EDIT. @@ -1389,70 +1630,30 @@ package main - // Injectors from wire.go: - - func initApp() *app { - mainTimer := _wireRealTimeValue - mainGreeter := greeter{ - T: mainTimer, - } - mainApp := &app{ - g: mainGreeter, - } - return mainApp - } - - var ( - _wireRealTimeValue = realTime{} + import ( + "example.com/foo" ) - 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/ExportedValueDifferentPackage -=== CONT TestWire/FuncArgProvider - wire_test.go:108: /tmp/wire_test459625292/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/ExportedValue -=== 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 + func injectFooer() foo.Fooer { + bar := provideBar() + return bar } -=== CONT TestWire/Cleanup -=== CONT TestWire/ImportedInterfaceBinding +=== CONT TestWire/BindInjectorArgPointer +=== CONT TestWire/InterfaceBindingNotEnoughArgs + wire_test.go:108: /tmp/wire_test710593155/src/example.com/foo/wire.go:25:33: too few arguments in call to wire.Bind +=== CONT TestWire/ProviderSetBindingMissingConcreteType +=== CONT TestWire/InterfaceBindingDoesntImplement + wire_test.go:108: /tmp/wire_test829043117/src/example.com/foo/wire.go:25:13: string does not implement example.com/foo.Fooer +=== CONT TestWire/InjectInputConflict + wire_test.go:108: /tmp/wire_test723442908/src/example.com/foo/wire.go:24:2: multiple bindings for example.com/foo.Foo + current: + <- provider "provideFoo" (/tmp/wire_test723442908/src/example.com/foo/foo.go:37:6) + <- provider set "Set" (/tmp/wire_test723442908/src/example.com/foo/foo.go:33:11) + previous: + <- argument foo to injector function injectBar (/tmp/wire_test723442908/src/example.com/foo/wire.go:23:1) +=== CONT TestWire/ReturnArgumentAsInterface wire_test.go:164: wire_gen.go: // Code generated by Wire. DO NOT EDIT. @@ -1462,19 +1663,14 @@ package main import ( - "example.com/foo" + "fmt" ) // Injectors from wire.go: - func injectFooer() foo.Fooer { - bar := provideBar() - return bar + func injectStringer(s MyString) fmt.Stringer { + return s } -=== CONT TestWire/EmptyVar -=== CONT TestWire/FieldsOfStructDoNotProvidePtrToField - wire_test.go:108: /tmp/wire_test923489829/src/example.com/foo/wire.go:23:1: inject injectedMessagePtr: no provider found for *string, output of injector -=== CONT TestWire/Cycle === CONT TestWire/InjectInput wire_test.go:164: wire_gen.go: // Code generated by Wire. DO NOT EDIT. @@ -1491,15 +1687,7 @@ fooBar := provideFooBar(foo, bar) return fooBar } -=== CONT TestWire/CopyOtherDecls -=== CONT TestWire/FieldsOfCycle - wire_test.go:108: /tmp/wire_test135694962/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/NoInjectParamNames -=== CONT TestWire/FieldsOfImportedStruct +=== CONT TestWire/ExampleWithMocks wire_test.go:164: wire_gen.go: // Code generated by Wire. DO NOT EDIT. @@ -1508,63 +1696,48 @@ 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, + func initApp() *app { + mainTimer := _wireRealTimeValue + mainGreeter := greeter{ + T: mainTimer, } - return bazService - } - - // wire.go: - - func main() { - cfg := &baz.Config{ - Foo: &foo.Config{1}, - Bar: &bar.Config{2}, + mainApp := &app{ + g: mainGreeter, } - svc := newBazService(cfg) - fmt.Println(svc.String()) + return mainApp } -=== CONT TestWire/StructPointer -=== 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" + var ( + _wireRealTimeValue = realTime{} ) - // Injectors from wire.go: - - func injectedMessage() string { - string2 := _wireStringValue - return string2 + func initMockedAppFromArgs(mt timer) *app { + mainGreeter := greeter{ + T: mt, + } + mainApp := &app{ + g: mainGreeter, + } + return mainApp } - var ( - _wireStringValue = bar.PublicMsg - ) -=== CONT TestWire/TwoDeps -=== CONT TestWire/FieldsOfStructPointer + func initMockedApp() *appWithMocks { + mainMockTimer := newMockTimer() + mainGreeter := greeter{ + T: mainMockTimer, + } + mainApp := app{ + g: mainGreeter, + } + mainAppWithMocks := &appWithMocks{ + app: mainApp, + mt: mainMockTimer, + } + return mainAppWithMocks + } +=== CONT TestWire/Struct wire_test.go:164: wire_gen.go: // Code generated by Wire. DO NOT EDIT. @@ -1575,19 +1748,24 @@ // 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 injectPartFooBar() FooBar { + foo := provideFoo() + fooBar := FooBar{ + Foo: foo, + } + return fooBar } -=== CONT TestWire/StructWithPreventTag -=== CONT TestWire/Cleanup +=== CONT TestWire/ReturnError wire_test.go:164: wire_gen.go: // Code generated by Wire. DO NOT EDIT. @@ -1598,17 +1776,17 @@ // Injectors from wire.go: - func injectBar() (*Bar, func()) { - foo, cleanup := provideFoo() - bar, cleanup2 := provideBar(foo) - return bar, func() { - cleanup2() - cleanup() + func injectFoo() (Foo, error) { + foo, err := provideFoo() + if err != nil { + return 0, err } + return foo, nil } -=== CONT TestWire/Struct -=== CONT TestWire/FieldsOfStruct +=== 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 @@ -1618,13 +1796,11 @@ // Injectors from wire.go: - func injectedMessage() string { - s := provideS() - string2 := s.Foo - return string2 + func injectFoo() Foo { + foo := provideFoo() + return foo } -=== CONT TestWire/StructNotAStruct -=== CONT TestWire/ExportedValueDifferentPackage +=== CONT TestWire/BindInterfaceWithValue wire_test.go:164: wire_gen.go: // Code generated by Wire. DO NOT EDIT. @@ -1634,12 +1810,13 @@ package main import ( + "io" "os" ) // Injectors from wire.go: - func injectedFile() *os.File { + func inject() io.Writer { file := _wireFileValue return file } @@ -1647,8 +1824,7 @@ var ( _wireFileValue = os.Stdout ) -=== CONT TestWire/BuildTagsAllPackages -=== CONT TestWire/CopyOtherDecls +=== CONT TestWire/FieldsOfValueStruct wire_test.go:164: wire_gen.go: // Code generated by Wire. DO NOT EDIT. @@ -1658,61 +1834,45 @@ package main import ( + "example.com/bar" + "example.com/baz" + "example.com/foo" "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 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 } -=== CONT TestWire/Chain -=== CONT TestWire/Cycle - wire_test.go:108: /tmp/wire_test896907885/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/EmptyVar - wire_test.go:108: /tmp/wire_test664867270/src/example.com/foo/wire.go:24:13: var example.com/foo.myFakeSet struct{} is not a provider or a provider set -=== CONT TestWire/BindInjectorArgPointer -=== 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" + var ( + _wireConfigValue = &baz.Config{ + Foo: &foo.Config{1}, + Bar: &bar.Config{2}, + } ) - // Injectors from wire.go: + // wire.go: - func inject(contextContext context2.Context, arg struct{}) (context, error) { - mainContext, err := provide(contextContext) - if err != nil { - return context{}, err - } - return mainContext, nil + func main() { + svc := newBazService() + fmt.Println(svc.String()) } -=== CONT TestWire/ReturnError -=== CONT TestWire/StructPointer +=== CONT TestWire/FuncArgProvider + wire_test.go:108: /tmp/wire_test140572409/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/StructNotAStruct + wire_test.go:108: /tmp/wire_test415354832/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 wire_test.go:164: wire_gen.go: // Code generated by Wire. DO NOT EDIT. @@ -1723,23 +1883,23 @@ // Injectors from wire.go: - func injectFooBar() *FooBar { - foo := provideFoo() - bar := provideBar() - fooBar := &FooBar{ - Foo: foo, - Bar: bar, - } - return fooBar + func injectInterface() Interface { + select2 := provideSelect() + mainInterface := provideInterface(select2) + return mainInterface } - func injectEmptyStruct() *Empty { - empty := &Empty{} - return empty - } -=== CONT TestWire/StructNotAStruct - wire_test.go:108: /tmp/wire_test574174254/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/Chain + // 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/ProviderSetBindingMissingConcreteType + wire_test.go:108: /tmp/wire_test102217772/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/EmptyVar + wire_test.go:108: /tmp/wire_test994326486/src/example.com/foo/wire.go:24:13: var example.com/foo.myFakeSet struct{} is not a provider or a provider set +=== CONT TestWire/RelativePkg wire_test.go:164: wire_gen.go: // Code generated by Wire. DO NOT EDIT. @@ -1750,10 +1910,9 @@ // Injectors from wire.go: - func injectFooBar() FooBar { - foo := provideFoo() - fooBar := provideFooBar(foo) - return fooBar + func injectedMessage() string { + string2 := provideMessage() + return string2 } === CONT TestWire/BindInjectorArgPointer wire_test.go:164: wire_gen.go: @@ -1770,95 +1929,6 @@ bar := NewBar(foo) return bar } -=== CONT TestWire/StructWithPreventTag - wire_test.go:108: /tmp/wire_test565545628/src/example.com/foo/foo.go:45:2: "mu" is prevented from injecting by wire -=== 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/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/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/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/BuildTagsAllPackages wire_test.go:164: wire_gen.go: // Code generated by Wire. DO NOT EDIT. @@ -1878,76 +1948,76 @@ var ( _wireStringValue = "Hello, World!" ) ---- PASS: TestWire (0.93s) - --- PASS: TestWire/NiladicIdentity (7.37s) - --- PASS: TestWire/InvalidInjector (8.07s) - --- PASS: TestWire/NoImplicitInterface (8.35s) - --- PASS: TestWire/NiladicValue (9.98s) - --- PASS: TestWire/Varargs (10.10s) - --- PASS: TestWire/InterfaceValueNotEnoughArgs (10.29s) - --- PASS: TestWire/ReturnArgumentAsInterface (10.63s) - --- PASS: TestWire/ValueIsStruct (13.32s) - --- PASS: TestWire/VarValue (14.35s) - --- PASS: TestWire/MultipleMissingInputs (5.46s) - --- PASS: TestWire/NamingWorstCase (8.72s) - --- PASS: TestWire/BindInjectorArg (18.32s) - --- PASS: TestWire/MultipleBindings (8.22s) - --- PASS: TestWire/MultipleSimilarPackages (10.27s) - --- PASS: TestWire/NamingWorstCaseAllInOne (11.75s) - --- PASS: TestWire/ReservedKeywords (6.17s) - --- PASS: TestWire/PkgImport (12.03s) - --- PASS: TestWire/UnexportedStruct (6.17s) - --- PASS: TestWire/ProviderSetBindingMissingConcreteType (9.58s) - --- PASS: TestWire/MultipleArgsSameType (15.24s) - --- PASS: TestWire/PartialCleanup (9.05s) - --- PASS: TestWire/RelativePkg (13.03s) - --- PASS: TestWire/NoopBuild (10.61s) - --- PASS: TestWire/ValueConversion (7.94s) - --- PASS: TestWire/ValueIsInterfaceValue (8.70s) - --- PASS: TestWire/ValueFromFunctionScope (9.64s) - --- PASS: TestWire/UnusedProviders (7.87s) - --- PASS: TestWire/ValueChain (9.80s) - --- PASS: TestWire/InterfaceBindingReuse (6.32s) - --- PASS: TestWire/UnexportedValue (9.09s) - --- PASS: TestWire/FieldsOfValueStruct (8.92s) - --- PASS: TestWire/InterfaceValue (9.06s) - --- PASS: TestWire/InterfaceBindingNotEnoughArgs (9.23s) - --- PASS: TestWire/InterfaceValueInvalidArg0 (9.62s) - --- PASS: TestWire/InterfaceValueDoesntImplement (10.27s) - --- PASS: TestWire/InterfaceBindingInvalidArg0 (10.53s) - --- PASS: TestWire/InterfaceBindingDoesntImplement (9.13s) - --- PASS: TestWire/InjectWithPanic (7.39s) - --- PASS: TestWire/InjectInputConflict (6.81s) - --- PASS: TestWire/InjectorMissingError (10.64s) - --- PASS: TestWire/InjectorMissingCleanup (10.96s) - --- PASS: TestWire/InterfaceBinding (12.84s) - --- PASS: TestWire/ExampleWithMocks (5.44s) - --- PASS: TestWire/FuncArgProvider (8.08s) - --- PASS: TestWire/Header (10.59s) - --- PASS: TestWire/ImportedInterfaceBinding (13.41s) - --- PASS: TestWire/FieldsOfStructDoNotProvidePtrToField (9.17s) - --- PASS: TestWire/InjectInput (16.09s) - --- PASS: TestWire/FieldsOfCycle (9.13s) - --- PASS: TestWire/FieldsOfImportedStruct (10.90s) - --- PASS: TestWire/ExportedValue (8.98s) - --- PASS: TestWire/FieldsOfStructPointer (15.47s) - --- PASS: TestWire/Cleanup (10.63s) - --- PASS: TestWire/FieldsOfStruct (14.86s) - --- PASS: TestWire/ExportedValueDifferentPackage (13.67s) - --- PASS: TestWire/CopyOtherDecls (8.47s) - --- PASS: TestWire/Cycle (10.99s) - --- PASS: TestWire/EmptyVar (13.17s) - --- PASS: TestWire/NoInjectParamNames (9.79s) - --- PASS: TestWire/StructPointer (8.55s) - --- PASS: TestWire/StructNotAStruct (8.14s) - --- PASS: TestWire/Chain (6.98s) - --- PASS: TestWire/BindInjectorArgPointer (5.83s) - --- PASS: TestWire/StructWithPreventTag (12.20s) - --- PASS: TestWire/Struct (10.72s) - --- PASS: TestWire/BindInterfaceWithValue (6.32s) - --- PASS: TestWire/ReturnError (5.68s) - --- PASS: TestWire/TwoDeps (13.65s) - --- PASS: TestWire/BuildTagsAllPackages (10.77s) +--- PASS: TestWire (0.01s) + --- PASS: TestWire/ValueFromFunctionScope (2.23s) + --- PASS: TestWire/Cycle (2.69s) + --- PASS: TestWire/FieldsOfStructPointer (2.75s) + --- PASS: TestWire/VarValue (2.81s) + --- PASS: TestWire/FieldsOfImportedStruct (2.88s) + --- PASS: TestWire/FieldsOfStructDoNotProvidePtrToField (3.00s) + --- PASS: TestWire/FieldsOfStruct (3.26s) + --- PASS: TestWire/NoopBuild (3.45s) + --- PASS: TestWire/Varargs (3.79s) + --- PASS: TestWire/InterfaceValue (3.90s) + --- PASS: TestWire/NoInjectParamNames (4.02s) + --- PASS: TestWire/PkgImport (4.16s) + --- PASS: TestWire/InterfaceValueDoesntImplement (4.27s) + --- PASS: TestWire/PartialCleanup (4.78s) + --- PASS: TestWire/InterfaceBindingReuse (4.88s) + --- PASS: TestWire/ValueIsStruct (4.97s) + --- PASS: TestWire/ValueIsInterfaceValue (5.14s) + --- PASS: TestWire/BindInjectorArg (5.33s) + --- PASS: TestWire/MultipleBindings (2.61s) + --- PASS: TestWire/MultipleSimilarPackages (3.22s) + --- PASS: TestWire/NamingWorstCase (3.45s) + --- PASS: TestWire/NoImplicitInterface (4.22s) + --- PASS: TestWire/NiladicValue (3.88s) + --- PASS: TestWire/NiladicIdentity (3.92s) + --- PASS: TestWire/NamingWorstCaseAllInOne (4.48s) + --- PASS: TestWire/MultipleMissingInputs (4.40s) + --- PASS: TestWire/MultipleArgsSameType (4.00s) + --- PASS: TestWire/InvalidInjector (4.09s) + --- PASS: TestWire/InterfaceValueNotEnoughArgs (4.12s) + --- PASS: TestWire/ValueConversion (3.19s) + --- PASS: TestWire/StructPointer (3.46s) + --- PASS: TestWire/Chain (4.85s) + --- PASS: TestWire/UnusedProviders (3.13s) + --- PASS: TestWire/InterfaceValueInvalidArg0 (5.12s) + --- PASS: TestWire/ValueChain (4.21s) + --- PASS: TestWire/Cleanup (4.79s) + --- PASS: TestWire/CopyOtherDecls (4.91s) + --- PASS: TestWire/UnexportedStruct (3.92s) + --- PASS: TestWire/TwoDeps (4.24s) + --- PASS: TestWire/UnexportedValue (4.67s) + --- PASS: TestWire/FieldsOfCycle (4.50s) + --- PASS: TestWire/InterfaceBindingInvalidArg0 (3.74s) + --- PASS: TestWire/ExportedValueDifferentPackage (4.33s) + --- PASS: TestWire/ExportedValue (5.35s) + --- PASS: TestWire/StructWithPreventTag (5.70s) + --- PASS: TestWire/InjectWithPanic (4.61s) + --- PASS: TestWire/InterfaceBinding (4.13s) + --- PASS: TestWire/InjectorMissingCleanup (3.56s) + --- PASS: TestWire/InjectorMissingError (3.63s) + --- PASS: TestWire/ImportedInterfaceBinding (4.15s) + --- PASS: TestWire/InterfaceBindingNotEnoughArgs (5.53s) + --- PASS: TestWire/InterfaceBindingDoesntImplement (5.29s) + --- PASS: TestWire/InjectInputConflict (4.09s) + --- PASS: TestWire/ReturnArgumentAsInterface (3.48s) + --- PASS: TestWire/InjectInput (4.19s) + --- PASS: TestWire/ExampleWithMocks (4.57s) + --- PASS: TestWire/Struct (3.59s) + --- PASS: TestWire/ReturnError (2.77s) + --- PASS: TestWire/Header (2.60s) + --- PASS: TestWire/BindInterfaceWithValue (2.03s) + --- PASS: TestWire/FieldsOfValueStruct (2.69s) + --- PASS: TestWire/FuncArgProvider (2.88s) + --- PASS: TestWire/StructNotAStruct (4.40s) + --- PASS: TestWire/ReservedKeywords (2.45s) + --- PASS: TestWire/ProviderSetBindingMissingConcreteType (1.81s) + --- PASS: TestWire/EmptyVar (3.18s) + --- PASS: TestWire/RelativePkg (3.31s) + --- PASS: TestWire/BindInjectorArgPointer (2.28s) + --- PASS: TestWire/BuildTagsAllPackages (3.37s) === RUN TestUnexport --- PASS: TestUnexport (0.00s) === RUN TestExport @@ -2003,7 +2073,7 @@ --- PASS: TestDisambiguate/disambiguate("select",_map[]) (0.00s) --- PASS: TestDisambiguate/disambiguate("var",_map[]) (0.00s) PASS -ok github.com/google/wire/internal/wire 72.418s +ok github.com/google/wire/internal/wire 16.179s create-stamp debian/debhelper-build-stamp dh_testroot -O--builddirectory=_build -O--buildsystem=golang dh_prep -O--builddirectory=_build -O--buildsystem=golang @@ -2044,20 +2114,22 @@ 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 'google-wire' in '../google-wire_0.4.0-3_i386.deb'. 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_i386.deb'. dpkg-genbuildinfo --build=binary dpkg-genchanges --build=binary >../golang-github-google-wire_0.4.0-3_i386.changes dpkg-genchanges: info: binary-only upload (no source code included) dpkg-source --after-build . dpkg-buildpackage: info: binary-only upload (no source included) I: copying local configuration +I: user script /srv/workspace/pbuilder/39586/tmp/hooks/B01_cleanup starting +I: user script /srv/workspace/pbuilder/39586/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/20932 and its subdirectories -I: Current time: Wed Jun 9 06:41:50 -12 2021 -I: pbuilder-time-stamp: 1623264110 +I: removing directory /srv/workspace/pbuilder/39586 and its subdirectories +I: Current time: Wed Jul 13 15:05:49 +14 2022 +I: pbuilder-time-stamp: 1657674349