Diff of the two buildlogs: -- --- b1/build.log 2021-07-04 13:03:41.803536426 +0000 +++ b2/build.log 2021-07-04 13:04:31.145675567 +0000 @@ -1,6 +1,6 @@ I: pbuilder: network access will be disabled during build -I: Current time: Sun Jul 4 01:02:38 -12 2021 -I: pbuilder-time-stamp: 1625403758 +I: Current time: Sun Aug 7 09:26:47 +14 2022 +I: pbuilder-time-stamp: 1659814007 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/buster-reproducible-base.tgz] I: copying local configuration @@ -17,7 +17,7 @@ I: Extracting source gpgv: unknown type of key resource 'trustedkeys.kbx' gpgv: keyblock resource '/root/.gnupg/trustedkeys.kbx': General error -gpgv: Signature made Mon Jul 31 01:11:25 2017 -12 +gpgv: Signature made Tue Aug 1 03:11:25 2017 +14 gpgv: using RSA key 2A7974AE2FC152D77867DA4ACE1F9C674512C22A gpgv: Can't check signature: No public key dpkg-source: warning: failed to verify signature on ./ruby-representable_3.0.4-1.dsc @@ -26,136 +26,170 @@ dpkg-source: info: unpacking ruby-representable_3.0.4-1.debian.tar.xz I: using fakeroot in build. I: Installing the build-deps -I: user script /srv/workspace/pbuilder/30063/tmp/hooks/D02_print_environment starting +I: user script /srv/workspace/pbuilder/31021/tmp/hooks/D01_modify_environment starting +debug: Running on ionos15-amd64. +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/31021/tmp/hooks/D01_modify_environment finished +I: user script /srv/workspace/pbuilder/31021/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='amd64' - DEBIAN_FRONTEND='noninteractive' - DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=15' - DISTRIBUTION='' - HOME='/root' - HOST_ARCH='amd64' + 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]="0" [2]="3" [3]="1" [4]="release" [5]="x86_64-pc-linux-gnu") + BASH_VERSION='5.0.3(1)-release' + BUILDDIR=/build + BUILDUSERGECOS='second user,second room,second work-phone,second home-phone,second other' + BUILDUSERNAME=pbuilder2 + BUILD_ARCH=amd64 + DEBIAN_FRONTEND=noninteractive + DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=16' + DIRSTACK=() + DISTRIBUTION= + EUID=0 + FUNCNAME=([0]="Echo" [1]="main") + GROUPS=() + HOME=/root + HOSTNAME=i-capture-the-hostname + HOSTTYPE=x86_64 + HOST_ARCH=amd64 IFS=' ' - INVOCATION_ID='ae1cef4e60034f418ca7768a062c4d5e' - 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='30063' - PS1='# ' - PS2='> ' + INVOCATION_ID=1add7a6f8d08463da02bba7aeeb4557b + LANG=C + LANGUAGE=et_EE:et + LC_ALL=C + MACHTYPE=x86_64-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=31021 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.0NbRmVxkL2/pbuilderrc_do32 --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/buster-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/tmp.0NbRmVxkL2/b1 --logfile b1/build.log ruby-representable_3.0.4-1.dsc' - SUDO_GID='110' - SUDO_UID='105' - 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.0NbRmVxkL2/pbuilderrc_PJCR --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/buster-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/tmp.0NbRmVxkL2/b2 --logfile b2/build.log ruby-representable_3.0.4-1.dsc' + SUDO_GID=111 + SUDO_UID=106 + 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 ionos1-amd64 4.19.0-17-amd64 #1 SMP Debian 4.19.194-2 (2021-06-21) x86_64 GNU/Linux + Linux i-capture-the-hostname 5.10.0-0.bpo.7-amd64 #1 SMP Debian 5.10.40-1~bpo10+1 (2021-06-04) x86_64 GNU/Linux I: ls -l /bin total 5116 - -rwxr-xr-x 1 root root 1168776 Apr 17 2019 bash - -rwxr-xr-x 3 root root 38984 Jul 10 2019 bunzip2 - -rwxr-xr-x 3 root root 38984 Jul 10 2019 bzcat - lrwxrwxrwx 1 root root 6 Jul 10 2019 bzcmp -> bzdiff - -rwxr-xr-x 1 root root 2227 Jul 10 2019 bzdiff - lrwxrwxrwx 1 root root 6 Jul 10 2019 bzegrep -> bzgrep - -rwxr-xr-x 1 root root 4877 Jun 24 2019 bzexe - lrwxrwxrwx 1 root root 6 Jul 10 2019 bzfgrep -> bzgrep - -rwxr-xr-x 1 root root 3641 Jul 10 2019 bzgrep - -rwxr-xr-x 3 root root 38984 Jul 10 2019 bzip2 - -rwxr-xr-x 1 root root 14328 Jul 10 2019 bzip2recover - lrwxrwxrwx 1 root root 6 Jul 10 2019 bzless -> bzmore - -rwxr-xr-x 1 root root 1297 Jul 10 2019 bzmore - -rwxr-xr-x 1 root root 43744 Feb 28 2019 cat - -rwxr-xr-x 1 root root 64320 Feb 28 2019 chgrp - -rwxr-xr-x 1 root root 64288 Feb 28 2019 chmod - -rwxr-xr-x 1 root root 72512 Feb 28 2019 chown - -rwxr-xr-x 1 root root 146880 Feb 28 2019 cp - -rwxr-xr-x 1 root root 121464 Jan 17 2019 dash - -rwxr-xr-x 1 root root 109408 Feb 28 2019 date - -rwxr-xr-x 1 root root 76712 Feb 28 2019 dd - -rwxr-xr-x 1 root root 93744 Feb 28 2019 df - -rwxr-xr-x 1 root root 138856 Feb 28 2019 dir - -rwxr-xr-x 1 root root 84288 Jan 9 2019 dmesg - lrwxrwxrwx 1 root root 8 Sep 26 2018 dnsdomainname -> hostname - lrwxrwxrwx 1 root root 8 Sep 26 2018 domainname -> hostname - -rwxr-xr-x 1 root root 39520 Feb 28 2019 echo - -rwxr-xr-x 1 root root 28 Jan 7 2019 egrep - -rwxr-xr-x 1 root root 35424 Feb 28 2019 false - -rwxr-xr-x 1 root root 28 Jan 7 2019 fgrep - -rwxr-xr-x 1 root root 68880 Jan 9 2019 findmnt - -rwsr-xr-x 1 root root 34896 Apr 22 2020 fusermount - -rwxr-xr-x 1 root root 198976 Jan 7 2019 grep - -rwxr-xr-x 2 root root 2345 Jan 5 2019 gunzip - -rwxr-xr-x 1 root root 6375 Jan 5 2019 gzexe - -rwxr-xr-x 1 root root 98048 Jan 5 2019 gzip - -rwxr-xr-x 1 root root 26696 Sep 26 2018 hostname - -rwxr-xr-x 1 root root 68552 Feb 28 2019 ln - -rwxr-xr-x 1 root root 56760 Jul 26 2018 login - -rwxr-xr-x 1 root root 138856 Feb 28 2019 ls - -rwxr-xr-x 1 root root 108624 Jan 9 2019 lsblk - -rwxr-xr-x 1 root root 89088 Feb 28 2019 mkdir - -rwxr-xr-x 1 root root 68544 Feb 28 2019 mknod - -rwxr-xr-x 1 root root 43808 Feb 28 2019 mktemp - -rwxr-xr-x 1 root root 43008 Jan 9 2019 more - -rwsr-xr-x 1 root root 51280 Jan 9 2019 mount - -rwxr-xr-x 1 root root 14408 Jan 9 2019 mountpoint - -rwxr-xr-x 1 root root 138728 Feb 28 2019 mv - lrwxrwxrwx 1 root root 8 Sep 26 2018 nisdomainname -> hostname - lrwxrwxrwx 1 root root 14 Feb 14 2019 pidof -> /sbin/killall5 - -rwxr-xr-x 1 root root 39616 Feb 28 2019 pwd - lrwxrwxrwx 1 root root 4 Apr 17 2019 rbash -> bash - -rwxr-xr-x 1 root root 47776 Feb 28 2019 readlink - -rwxr-xr-x 1 root root 68416 Feb 28 2019 rm - -rwxr-xr-x 1 root root 47776 Feb 28 2019 rmdir - -rwxr-xr-x 1 root root 23312 Jan 21 2019 run-parts - -rwxr-xr-x 1 root root 122224 Dec 22 2018 sed - lrwxrwxrwx 1 root root 4 Jun 20 20:24 sh -> dash - -rwxr-xr-x 1 root root 39552 Feb 28 2019 sleep - -rwxr-xr-x 1 root root 80672 Feb 28 2019 stty - -rwsr-xr-x 1 root root 63568 Jan 9 2019 su - -rwxr-xr-x 1 root root 35488 Feb 28 2019 sync - -rwxr-xr-x 1 root root 445560 Apr 23 2019 tar - -rwxr-xr-x 1 root root 14440 Jan 21 2019 tempfile - -rwxr-xr-x 1 root root 97152 Feb 28 2019 touch - -rwxr-xr-x 1 root root 35424 Feb 28 2019 true - -rwxr-xr-x 1 root root 14328 Apr 22 2020 ulockmgr_server - -rwsr-xr-x 1 root root 34888 Jan 9 2019 umount - -rwxr-xr-x 1 root root 39584 Feb 28 2019 uname - -rwxr-xr-x 2 root root 2345 Jan 5 2019 uncompress - -rwxr-xr-x 1 root root 138856 Feb 28 2019 vdir - -rwxr-xr-x 1 root root 34896 Jan 9 2019 wdctl - -rwxr-xr-x 1 root root 946 Jan 21 2019 which - lrwxrwxrwx 1 root root 8 Sep 26 2018 ypdomainname -> hostname - -rwxr-xr-x 1 root root 1983 Jan 5 2019 zcat - -rwxr-xr-x 1 root root 1677 Jan 5 2019 zcmp - -rwxr-xr-x 1 root root 5879 Jan 5 2019 zdiff - -rwxr-xr-x 1 root root 29 Jan 5 2019 zegrep - -rwxr-xr-x 1 root root 29 Jan 5 2019 zfgrep - -rwxr-xr-x 1 root root 2080 Jan 5 2019 zforce - -rwxr-xr-x 1 root root 7584 Jan 5 2019 zgrep - -rwxr-xr-x 1 root root 2205 Jan 5 2019 zless - -rwxr-xr-x 1 root root 1841 Jan 5 2019 zmore - -rwxr-xr-x 1 root root 4552 Jan 5 2019 znew -I: user script /srv/workspace/pbuilder/30063/tmp/hooks/D02_print_environment finished + -rwxr-xr-x 1 root root 1168776 Apr 18 2019 bash + -rwxr-xr-x 3 root root 38984 Jul 11 2019 bunzip2 + -rwxr-xr-x 3 root root 38984 Jul 11 2019 bzcat + lrwxrwxrwx 1 root root 6 Jul 11 2019 bzcmp -> bzdiff + -rwxr-xr-x 1 root root 2227 Jul 11 2019 bzdiff + lrwxrwxrwx 1 root root 6 Jul 11 2019 bzegrep -> bzgrep + -rwxr-xr-x 1 root root 4877 Jun 25 2019 bzexe + lrwxrwxrwx 1 root root 6 Jul 11 2019 bzfgrep -> bzgrep + -rwxr-xr-x 1 root root 3641 Jul 11 2019 bzgrep + -rwxr-xr-x 3 root root 38984 Jul 11 2019 bzip2 + -rwxr-xr-x 1 root root 14328 Jul 11 2019 bzip2recover + lrwxrwxrwx 1 root root 6 Jul 11 2019 bzless -> bzmore + -rwxr-xr-x 1 root root 1297 Jul 11 2019 bzmore + -rwxr-xr-x 1 root root 43744 Mar 1 2019 cat + -rwxr-xr-x 1 root root 64320 Mar 1 2019 chgrp + -rwxr-xr-x 1 root root 64288 Mar 1 2019 chmod + -rwxr-xr-x 1 root root 72512 Mar 1 2019 chown + -rwxr-xr-x 1 root root 146880 Mar 1 2019 cp + -rwxr-xr-x 1 root root 121464 Jan 18 2019 dash + -rwxr-xr-x 1 root root 109408 Mar 1 2019 date + -rwxr-xr-x 1 root root 76712 Mar 1 2019 dd + -rwxr-xr-x 1 root root 93744 Mar 1 2019 df + -rwxr-xr-x 1 root root 138856 Mar 1 2019 dir + -rwxr-xr-x 1 root root 84288 Jan 10 2019 dmesg + lrwxrwxrwx 1 root root 8 Sep 27 2018 dnsdomainname -> hostname + lrwxrwxrwx 1 root root 8 Sep 27 2018 domainname -> hostname + -rwxr-xr-x 1 root root 39520 Mar 1 2019 echo + -rwxr-xr-x 1 root root 28 Jan 8 2019 egrep + -rwxr-xr-x 1 root root 35424 Mar 1 2019 false + -rwxr-xr-x 1 root root 28 Jan 8 2019 fgrep + -rwxr-xr-x 1 root root 68880 Jan 10 2019 findmnt + -rwsr-xr-x 1 root root 34896 Apr 23 2020 fusermount + -rwxr-xr-x 1 root root 198976 Jan 8 2019 grep + -rwxr-xr-x 2 root root 2345 Jan 6 2019 gunzip + -rwxr-xr-x 1 root root 6375 Jan 6 2019 gzexe + -rwxr-xr-x 1 root root 98048 Jan 6 2019 gzip + -rwxr-xr-x 1 root root 26696 Sep 27 2018 hostname + -rwxr-xr-x 1 root root 68552 Mar 1 2019 ln + -rwxr-xr-x 1 root root 56760 Jul 27 2018 login + -rwxr-xr-x 1 root root 138856 Mar 1 2019 ls + -rwxr-xr-x 1 root root 108624 Jan 10 2019 lsblk + -rwxr-xr-x 1 root root 89088 Mar 1 2019 mkdir + -rwxr-xr-x 1 root root 68544 Mar 1 2019 mknod + -rwxr-xr-x 1 root root 43808 Mar 1 2019 mktemp + -rwxr-xr-x 1 root root 43008 Jan 10 2019 more + -rwsr-xr-x 1 root root 51280 Jan 10 2019 mount + -rwxr-xr-x 1 root root 14408 Jan 10 2019 mountpoint + -rwxr-xr-x 1 root root 138728 Mar 1 2019 mv + lrwxrwxrwx 1 root root 8 Sep 27 2018 nisdomainname -> hostname + lrwxrwxrwx 1 root root 14 Feb 15 2019 pidof -> /sbin/killall5 + -rwxr-xr-x 1 root root 39616 Mar 1 2019 pwd + lrwxrwxrwx 1 root root 4 Apr 18 2019 rbash -> bash + -rwxr-xr-x 1 root root 47776 Mar 1 2019 readlink + -rwxr-xr-x 1 root root 68416 Mar 1 2019 rm + -rwxr-xr-x 1 root root 47776 Mar 1 2019 rmdir + -rwxr-xr-x 1 root root 23312 Jan 22 2019 run-parts + -rwxr-xr-x 1 root root 122224 Dec 23 2018 sed + lrwxrwxrwx 1 root root 4 Aug 7 09:26 sh -> bash + lrwxrwxrwx 1 root root 4 Jul 25 04:47 sh.distrib -> dash + -rwxr-xr-x 1 root root 39552 Mar 1 2019 sleep + -rwxr-xr-x 1 root root 80672 Mar 1 2019 stty + -rwsr-xr-x 1 root root 63568 Jan 10 2019 su + -rwxr-xr-x 1 root root 35488 Mar 1 2019 sync + -rwxr-xr-x 1 root root 445560 Apr 24 2019 tar + -rwxr-xr-x 1 root root 14440 Jan 22 2019 tempfile + -rwxr-xr-x 1 root root 97152 Mar 1 2019 touch + -rwxr-xr-x 1 root root 35424 Mar 1 2019 true + -rwxr-xr-x 1 root root 14328 Apr 23 2020 ulockmgr_server + -rwsr-xr-x 1 root root 34888 Jan 10 2019 umount + -rwxr-xr-x 1 root root 39584 Mar 1 2019 uname + -rwxr-xr-x 2 root root 2345 Jan 6 2019 uncompress + -rwxr-xr-x 1 root root 138856 Mar 1 2019 vdir + -rwxr-xr-x 1 root root 34896 Jan 10 2019 wdctl + -rwxr-xr-x 1 root root 946 Jan 22 2019 which + lrwxrwxrwx 1 root root 8 Sep 27 2018 ypdomainname -> hostname + -rwxr-xr-x 1 root root 1983 Jan 6 2019 zcat + -rwxr-xr-x 1 root root 1677 Jan 6 2019 zcmp + -rwxr-xr-x 1 root root 5879 Jan 6 2019 zdiff + -rwxr-xr-x 1 root root 29 Jan 6 2019 zegrep + -rwxr-xr-x 1 root root 29 Jan 6 2019 zfgrep + -rwxr-xr-x 1 root root 2080 Jan 6 2019 zforce + -rwxr-xr-x 1 root root 7584 Jan 6 2019 zgrep + -rwxr-xr-x 1 root root 2205 Jan 6 2019 zless + -rwxr-xr-x 1 root root 1841 Jan 6 2019 zmore + -rwxr-xr-x 1 root root 4552 Jan 6 2019 znew +I: user script /srv/workspace/pbuilder/31021/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy @@ -357,7 +391,7 @@ Get: 146 http://deb.debian.org/debian buster/main amd64 ruby-test-xml all 0.1.8-1 [6734 B] Get: 147 http://deb.debian.org/debian buster/main amd64 ruby-uber all 0.1.0-1 [9616 B] Get: 148 http://deb.debian.org/debian buster/main amd64 ruby-virtus all 1.0.5-3 [27.4 kB] -Fetched 46.3 MB in 1s (52.1 MB/s) +Fetched 46.3 MB in 1s (64.3 MB/s) debconf: delaying package configuration, since apt-utils is not installed Selecting previously unselected package libbsd0:amd64. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 19195 files and directories currently installed.) @@ -981,7 +1015,7 @@ fakeroot is already the newest version (1.23-1). 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. I: Building the package -I: Running cd /build/ruby-representable-3.0.4/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-buildpackage -us -uc -b +I: Running cd /build/ruby-representable-3.0.4/ && 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 ruby-representable dpkg-buildpackage: info: source version 3.0.4-1 dpkg-buildpackage: info: source distribution unstable @@ -1105,204 +1139,138 @@ /build/ruby-representable-3.0.4/test/populator_test.rb:42: warning: method redefined; discarding old song= /build/ruby-representable-3.0.4/test/populator_test.rb:40: warning: previous definition of song= was here /build/ruby-representable-3.0.4/test/populator_test.rb:47: warning: method redefined; discarding old song -Run options: -v --seed 44195 +Run options: -v --seed 43637 # Running: -#from_hash#test_0001_parses collection of typed property = 0.00 s = . -:extend and :class:::decorator#test_0001_is aliased to :extend = 0.00 s = . -::collection::nil collections#test_0001_doesn't render collection in yaml = 0.00 s = . -#merge!::with :parse_filter#test_0001_anonymous = 0.00 s = . -#merge!::with :parse_filter#test_0002_anonymous = 0.00 s = . -:class => Item:::different_name, :class => Label#test_0001_#to_xml respects the different name = 0.00 s = . -generic API::#clone#test_0003_clones @options = 0.00 s = . -generic API::#clone#test_0001_anonymous = 0.00 s = . -generic API::#clone#test_0002_anonymous = 0.00 s = . -:class => Band, :as => :band, :collection => true::#from_xml#test_0001_pushes collection items to array = 0.00 s = . -Module#test_0001_anonymous = 0.00 s = . -Module::for_collection without configuration [hash]#test_0001_anonymous = 0.00 s = . -#to_json#test_0003_uses value from represented object when emtpy string = 0.00 s = . -#to_json#test_0001_uses :default when not available from object = 0.00 s = . -#to_json#test_0002_uses value from represented object when present = 0.00 s = . -object pollution#test_0001_uses an inline decorator and doesn't alter represented = 0.00 s = . -IncludeExcludeTest#test_0001_xdoes not propagate private options to nested objects = 0.00 s = . -ConfigInheritTest#test_0007_anonymous = 0.00 s = . -ConfigInheritTest#test_0018_anonymous = 0.00 s = . -ConfigInheritTest#test_0005_anonymous = 0.00 s = . -ConfigInheritTest#test_0008_anonymous = 0.00 s = . -ConfigInheritTest#test_0010_anonymous = 0.00 s = . -ConfigInheritTest#test_0002_anonymous = 0.00 s = . -ConfigInheritTest#test_0009_anonymous = 0.00 s = . -ConfigInheritTest#test_0015_anonymous = 0.00 s = . -ConfigInheritTest#test_0006_anonymous = 0.00 s = . -ConfigInheritTest#test_0016_anonymous = 0.00 s = . -ConfigInheritTest#test_0014_anonymous = 0.00 s = . -ConfigInheritTest#test_0003_anonymous = 0.00 s = . -ConfigInheritTest#test_0001_anonymous = 0.00 s = . -ConfigInheritTest#test_0012_anonymous = 0.00 s = . -ConfigInheritTest#test_0017_anonymous = 0.00 s = . -ConfigInheritTest#test_0004_anonymous = 0.00 s = . -ConfigInheritTest#test_0011_anonymous = 0.00 s = . -ConfigInheritTest#test_0013_anonymous = 0.00 s = . -ConfigInheritTest#test_0019_anonymous = 0.00 s = . -generic API::#representable?#test_0003_anonymous = 0.00 s = . -generic API::#representable?#test_0005_anonymous = 0.00 s = . -generic API::#representable?#test_0001_anonymous = 0.00 s = . -generic API::#representable?#test_0002_anonymous = 0.00 s = . -generic API::#representable?#test_0004_anonymous = 0.00 s = . +HashDisableWrapTest#test_0004_parses = 0.00 s = . +HashDisableWrapTest#test_0003_renders = 0.00 s = . +HashDisableWrapTest#test_0001_anonymous = 0.00 s = . +HashDisableWrapTest#test_0002_anonymous = 0.00 s = . +JsonTest::JSONPublicMethodsTest#test_0003_anonymous = 0.00 s = . +JsonTest::JSONPublicMethodsTest#test_0004_anonymous = 0.00 s = . +JsonTest::JSONPublicMethodsTest#test_0002_anonymous = 0.00 s = . +JsonTest::JSONPublicMethodsTest#test_0001_anonymous = 0.00 s = . +JSON::Collection::with contained text#test_0001_renders contained items #to_json = 0.00 s = . +JSON::Collection::with contained text#test_0002_returns objects array from #from_json = 0.00 s = . +Xml module::XML::Binding#build_for#test_0001_returns AttributeBinding = 0.00 s = . +Xml module::XML::Binding#build_for#test_0002_returns Binding = 0.00 s = . +Xml module::XML::Binding#build_for#test_0003_returns CollectionBinding = 0.00 s = . +Xml module::XML::Binding#build_for#test_0004_returns HashBinding = 0.00 s = . +JSON module::#to_json#test_0001_delegates to #to_hash and returns string = 0.00 s = . +parsing [hash] with wrap where wrap is missing#test_0001_doesn't change represented object = 0.00 s = . +SkipParseTest#test_0001_anonymous = 0.00 s = . +SkipParseTest#test_0002_anonymous = 0.00 s = . +Module#to_/from_json#test_0001_anonymous = 0.00 s = . +Module#to_/from_json#test_0002_anonymous = 0.00 s = . include module in inline representers#test_0001_anonymous = 0.00 s = . -#to_hash#test_0001_renders embedded typed property = 0.00 s = . -#to_hash#test_0001_renders plain property = 0.00 s = . -::nested with (inline representer|decorator): true#test_0001_renders nested Album-properties in separate section = 0.00 s = . -::nested with (inline representer|decorator): true#test_0002_parses nested properties to Album instance = 0.00 s = . -collection: lambda receiving fragment and args#test_0001_anonymous = 0.00 s = . -parsing [hash] where nested property missing#test_0001_doesn't change represented object = 0.00 s = . -property::with :class and :extend::#to_yaml#test_0001_renders embedded typed property = 0.00 s = . -:binding => Object#test_0001_responds to #binding = 0.00 s = . -Xml module::#to_xml#test_0001_delegates to #to_node and returns string = 0.02 s = . +HashBinding::with objects#test_0001_doesn't change the represented hash in #write = 0.00 s = . +[xml] collection with :class#test_0001_anonymous = 0.01 s = . +[xml] collection with :class#test_0002_anonymous = 0.00 s = . +NamespaceXMLTest#test_0001_what = 0.00 s = . +with only dynamic property options#test_0001_anonymous = 0.00 s = . +as: with :symbol#test_0001_anonymous = 0.00 s = . +as: with :symbol#test_0002_anonymous = 0.00 s = . +YamlPublicMethodsTest#test_0003_anonymous = 0.00 s = . +YamlPublicMethodsTest#test_0004_anonymous = 0.00 s = . +YamlPublicMethodsTest#test_0001_anonymous = 0.00 s = . +YamlPublicMethodsTest#test_0002_anonymous = 0.00 s = . +lambda { fragment } (new way of class: lambda { nil })#test_0001_skips creating new instance = 0.00 s = . Decorator#to_/from_hash#test_0001_anonymous = 0.00 s = . Decorator#to_/from_hash#test_0002_ficken = 0.00 s = . -Xml module::XML::Binding#build_for#test_0004_returns HashBinding = 0.00 s = . -Xml module::XML::Binding#build_for#test_0001_returns AttributeBinding = 0.00 s = . -Xml module::XML::Binding#build_for#test_0003_returns CollectionBinding = 0.00 s = . -Xml module::XML::Binding#build_for#test_0002_returns Binding = 0.00 s = . -JSON module::#build_for#test_0001_returns TextBinding = 0.00 s = . -JSON module::#build_for#test_0002_returns CollectionBinding = 0.00 s = . -property::with :class and :extend::#from_yaml#test_0001_parses embedded typed property = 0.00 s = . -JSON::Hash::with contained objects::#to_json#test_0002_renders hash with decorator = 0.00 s = . -JSON::Hash::with contained objects::#to_json#test_0003_respects :exclude = /build/ruby-representable-3.0.4/debian/ruby-representable/usr/lib/ruby/vendor_ruby/representable/hash_methods.rb:24: warning: extra states are no longer copied: {:one=>#, :two=>#} -0.00 s = . -JSON::Hash::with contained objects::#to_json#test_0001_renders hash = 0.00 s = . -JSON::Hash::with contained objects::#to_json#test_0004_respects :include = /build/ruby-representable-3.0.4/debian/ruby-representable/usr/lib/ruby/vendor_ruby/representable/hash_methods.rb:24: warning: extra states are no longer copied: {:one=>#, :two=>#} -0.00 s = . -JSON::Hash::with scalar::#from_json#test_0001_anonymous = 0.00 s = . -#initialize#test_0001_anonymous = 0.00 s = . -exec_context: :decorator#test_0001_anonymous = 0.00 s = . -exec_context: :decorator#test_0002_anonymous = 0.00 s = . representable: true, no extend:#test_0001_doesn't extend but calls #to_hash = 0.00 s = . -hash :songs#test_0001_renders with #to_json = 0.00 s = . -hash :songs#test_0002_parses with #from_json = 0.00 s = . -JSON module::#to_json#test_0001_delegates to #to_hash and returns string = 0.00 s = . -:extend and :class::::prepare::Decorator subclass#test_0001_uses :decorate strategy = 0.00 s = . -PropertyBinding::#read#test_0001_returns fragment if present = 0.00 s = . -PropertyBinding::#read#test_0002_returns FRAGMENT_NOT_FOUND if not in document = 0.00 s = . -JSON::Collection::with contained objects#test_0001_renders array = 0.00 s = . -JSON::Collection::with contained objects#test_0002_renders array with decorator = 0.00 s = . -JSON::Collection::with contained objects#test_0003_parses array = 0.00 s = . -JSON::Collection::with contained objects#test_0004_parses array with decorator = 0.00 s = . -#[]=#test_0001_raises exception since it's deprecated = 0.00 s = . -without :class#test_0001_anonymous = 0.00 s = . -collection :name#test_0001_#from_json creates correct accessors = 0.00 s = . -collection :name#test_0002_zzz#to_json serializes correctly = 0.00 s = . -IfTest#test_0002_ignores property when condition false = 0.00 s = . -IfTest#test_0001_respects property when condition true = 0.00 s = . -IfTest#test_0003_ignores property when :exclude'ed even when condition is true = 0.00 s = . -IfTest#test_0004_executes block in instance context = 0.00 s = . CollectionWithIncludeTest#test_0001_anonymous = 0.00 s = . CollectionWithIncludeTest#test_0002_anonymous = 0.00 s = . -CollectionBinding::with plain text items#test_0002_inserts with #write = 0.00 s = . -CollectionBinding::with plain text items#test_0001_extracts with #read = 0.00 s = . -InheritanceWithDecoratorTest#test_0001_anonymous = 0.00 s = . -JSON::Hash::with contained text#test_0001_renders contained items #to_json = 0.00 s = . -JSON::Hash::with contained text#test_0002_returns objects array from #from_json = 0.00 s = . -direct defaults hash with dynamic options#test_0001_anonymous = 0.00 s = . -#to_hash#test_0001_renders collection of typed property = 0.00 s = . -FeatureInclusionOrderTest#test_0001_anonymous = 0.00 s = . -ObjectTest#test_0002_anonymous = 0.00 s = . -ObjectTest#test_0001_anonymous = 0.00 s = . -#from_hash#test_0001_parses a block style list = 0.00 s = . -property with :instance#test_0001_xxx = 0.00 s = . -property with :instance#test_0002_anonymous = 0.00 s = . -XMLDisableWrapTest#test_0002_rendersxx = 0.00 s = S -XMLDisableWrapTest#test_0001_anonymous = 0.03 s = . -#from_hash#test_0001_parses symbols, too = 0.02 s = . -#from_hash#test_0002_still parses strings = 0.00 s = . -SchemaTest#test_0001_anonymous = 0.00 s = . -SchemaTest#test_0003_anonymous = 0.00 s = . -SchemaTest#test_0002_anonymous = 0.00 s = . -[yaml] with :class#test_0001_anonymous = 0.00 s = . -[yaml] with :class#test_0002_anonymous = 0.00 s = . -#decorated#test_0001_is aliased to #represented = 0.00 s = . -generic API#test_0001_responds to #representer_module = 0.00 s = . -generic API#test_0002_responds to #getter and returns string = 0.00 s = . -generic API#test_0003_responds to #name = 0.00 s = . -generic API#test_0004_responds to #setter = 0.00 s = . -#representable_attrs::in module#test_0001_allows including the concrete representer module later = 0.00 s = . -PipelineTest#test_0001_linear = 0.00 s = . -PipelineTest#test_0003_rendering scalar property = 0.00 s = . -PipelineTest#test_0008_render typed collection = Pipeline#call: Pipeline[GetValue, StopOnSkipable, Collect[#, Serialize], AssignName, WriteFragment] +Namespace2XMLTest#test_0001_renders = 0.00 s = . +Namespace2XMLTest#test_0002_parses = 0.00 s = . +#to_hash#test_0001_renders embedded typed property = 0.00 s = . +#add::inherit: true#test_0001_anonymous = 0.00 s = . +#add::inherit: true#test_0002_anonymous = 0.00 s = . +#binding#test_0001_returns true when :binding is set = 0.00 s = . +#binding#test_0002_returns false when :binding is not set = 0.00 s = . +::collection::render_empty [yaml]#test_0001_anonymous = 0.00 s = . +:inherit with decorator#test_0001_anonymous = 0.00 s = . +:inherit with decorator#test_0002_anonymous = +[Serialize]......... +[Serialize] +Pipeline#call: Pipeline[StopOnExcluded, GetValue, StopOnSkipable, AssignName, #, Serialize, WriteFragment] input: nil + Pipeline : -> StopOnExcluded + Pipeline : result: nil Pipeline : -> GetValue - Pipeline : result: [#, #] + Pipeline : result: # Pipeline : -> StopOnSkipable - Pipeline : result: [#, #] - Pipeline : -> Collect[#, Serialize] -Pipeline#call: Collect[#, Serialize] - input: [#, #] - Pipeline : -> # - Pipeline : result: # - Pipeline : -> Serialize - Pipeline : result: {"name"=>"Diesel Boy"} - Pipeline : -> # - Pipeline : result: # + Pipeline : result: # + Pipeline : -> AssignName + Pipeline : result: # + Pipeline : -> # + #evaluate_option [extend]: eval!!! + #evaluate_option [extend]: --> # + Pipeline : result: #<#:0x0000563666d76c50 @represented=#> Pipeline : -> Serialize - Pipeline : result: {"name"=>"Van Halen"} - Pipeline : result: [{"name"=>"Diesel Boy"}, {"name"=>"Van Halen"}] + +[Serialize]......... +[Serialize] +Pipeline#call: Pipeline[StopOnExcluded, GetValue, StopOnSkipable, AssignName, WriteFragment] + input: nil + Pipeline : -> StopOnExcluded + Pipeline : result: nil + Pipeline : -> GetValue + Pipeline : result: "Cheap Transistor Radio" + Pipeline : -> StopOnSkipable + Pipeline : result: "Cheap Transistor Radio" Pipeline : -> AssignName - Pipeline : result: [{"name"=>"Diesel Boy"}, {"name"=>"Van Halen"}] + Pipeline : result: "Cheap Transistor Radio" Pipeline : -> WriteFragment - Pipeline : result: [{"name"=>"Diesel Boy"}, {"name"=>"Van Halen"}] -0.00 s = . -PipelineTest#test_0005_rendering typed property = Pipeline#call: Pipeline[GetValue, StopOnSkipable, StopOnNil, #, Serialize, AssignName, WriteFragment] + Pipeline : result: "Cheap Transistor Radio" +Pipeline#call: Pipeline[StopOnExcluded, GetValue, StopOnSkipable, AssignName, WriteFragment] input: nil + Pipeline : -> StopOnExcluded + Pipeline : result: nil Pipeline : -> GetValue - Pipeline : result: # + Pipeline : result: "2:59" Pipeline : -> StopOnSkipable - Pipeline : result: # - Pipeline : -> StopOnNil - Pipeline : result: # - Pipeline : -> # - Pipeline : result: # - Pipeline : -> Serialize - Pipeline : result: {"name"=>"Diesel Boy"} + Pipeline : result: "2:59" Pipeline : -> AssignName - Pipeline : result: {"name"=>"Diesel Boy"} + Pipeline : result: "2:59" Pipeline : -> WriteFragment - Pipeline : result: {"name"=>"Diesel Boy"} -0.00 s = . -PipelineTest#test_0009_parse typed collection = Pipeline#call: Pipeline[AssignName, ReadFragment, StopOnNotFound, OverwriteOnNil, Collect[AssignFragment, Class, #, Deserialize], SetValue] - input: {"artists"=>[{"name"=>"Diesel Boy"}, {"name"=>"Van Halen"}]} + Pipeline : result: "2:59" + Pipeline : result: {"title"=>"Cheap Transistor Radio", "length"=>"2:59"} + Pipeline : -> WriteFragment + Pipeline : result: {"title"=>"Cheap Transistor Radio", "length"=>"2:59"} +0.01 s = . +replace collection#test_0001_anonymous = 0.00 s = . +#merge!::with :parse_filter#test_0001_anonymous = 0.00 s = . +#merge!::with :parse_filter#test_0002_anonymous = 0.00 s = . +Decorator ::nested with extend:#test_0002_parses nested properties to Album instance = 0.00 s = . +Decorator ::nested with extend:#test_0001_renders nested Album-properties in separate section = 0.00 s = . +[hash] lonely collection, render-only#test_0001_calls #to_hash on song instances, nothing else = 0.00 s = . +PrivateOptionsTest#test_0001_render: doesn't modify options = 0.00 s = . +PrivateOptionsTest#test_0002_parse: doesn't modify options = 0.00 s = . +#update_properties_from::passing options#test_0001_#to_hash propagates to nested objects = +[Serialize]......... +[Serialize] +Pipeline#call: Pipeline[StopOnExcluded, GetValue, StopOnSkipable, AssignName, #, Serialize, WriteFragment] + input: nil + Pipeline : -> StopOnExcluded + Pipeline : result: nil + Pipeline : -> GetValue + Pipeline : result: #> + Pipeline : -> StopOnSkipable + Pipeline : result: #> Pipeline : -> AssignName - Pipeline : result: {"artists"=>[{"name"=>"Diesel Boy"}, {"name"=>"Van Halen"}]} - Pipeline : -> ReadFragment - Pipeline : result: [{"name"=>"Diesel Boy"}, {"name"=>"Van Halen"}] - Pipeline : -> StopOnNotFound - Pipeline : result: [{"name"=>"Diesel Boy"}, {"name"=>"Van Halen"}] - Pipeline : -> OverwriteOnNil - Pipeline : result: [{"name"=>"Diesel Boy"}, {"name"=>"Van Halen"}] - Pipeline : -> Collect[AssignFragment, Class, #, Deserialize] -Pipeline#call: Collect[AssignFragment, Class, #, Deserialize] - input: [{"name"=>"Diesel Boy"}, {"name"=>"Van Halen"}] - Pipeline : -> AssignFragment - Pipeline : result: {"name"=>"Diesel Boy"} - Pipeline : -> Class - Pipeline : result: # - Pipeline : -> # - Pipeline : result: # - Pipeline : -> Deserialize - Pipeline : result: # - Pipeline : -> AssignFragment - Pipeline : result: {"name"=>"Van Halen"} - Pipeline : -> Class - Pipeline : result: # - Pipeline : -> # - Pipeline : result: # - Pipeline : -> Deserialize - Pipeline : result: # - Pipeline : result: [#, #] - Pipeline : -> SetValue - Pipeline : result: [#, #] + Pipeline : result: #> + Pipeline : -> # + #evaluate_option [extend]: eval!!! + #evaluate_option [extend]: --> # + Pipeline : result: #> + Pipeline : -> Serialize + Pipeline : result: {"nr"=>9, "length"=>{:seconds=>9}} + Pipeline : -> WriteFragment + Pipeline : result: {"nr"=>9, "length"=>{:seconds=>9}} 0.00 s = . +#update_properties_from::passing options#test_0002_#from_hash propagates to nested objects = 0.00 s = . +collection :name, :class => Band::#from_json#test_0001_pushes collection items to array = 0.00 s = . PipelineTest#test_0004_parsing scalar property = Pipeline#call: Pipeline[AssignName, ReadFragment, StopOnNotFound, OverwriteOnNil, SetValue] input: {"title"=>"Eruption"} Pipeline : -> AssignName @@ -1316,27 +1284,49 @@ Pipeline : -> SetValue Pipeline : result: "Eruption" 0.00 s = . -PipelineTest#test_0006_parsing typed property = Pipeline#call: Pipeline[AssignName, ReadFragment, StopOnNotFound, OverwriteOnNil, AssignFragment, Class, #, Deserialize, SetValue] - input: {"artist"=>{"name"=>"Doobie Brothers"}} +PipelineTest#test_0005_rendering typed property = Pipeline#call: Pipeline[GetValue, StopOnSkipable, StopOnNil, #, Serialize, AssignName, WriteFragment] + input: nil + Pipeline : -> GetValue + Pipeline : result: # + Pipeline : -> StopOnSkipable + Pipeline : result: # + Pipeline : -> StopOnNil + Pipeline : result: # + Pipeline : -> # + Pipeline : result: # + Pipeline : -> Serialize + Pipeline : result: {"name"=>"Diesel Boy"} Pipeline : -> AssignName - Pipeline : result: {"artist"=>{"name"=>"Doobie Brothers"}} - Pipeline : -> ReadFragment - Pipeline : result: {"name"=>"Doobie Brothers"} - Pipeline : -> StopOnNotFound - Pipeline : result: {"name"=>"Doobie Brothers"} - Pipeline : -> OverwriteOnNil - Pipeline : result: {"name"=>"Doobie Brothers"} - Pipeline : -> AssignFragment - Pipeline : result: {"name"=>"Doobie Brothers"} - Pipeline : -> Class - Pipeline : result: # - Pipeline : -> # - Pipeline : result: # - Pipeline : -> Deserialize - Pipeline : result: # - Pipeline : -> SetValue - Pipeline : result: # + Pipeline : result: {"name"=>"Diesel Boy"} + Pipeline : -> WriteFragment + Pipeline : result: {"name"=>"Diesel Boy"} +0.00 s = . +PipelineTest#test_0003_rendering scalar property = 0.00 s = . +PipelineTest#test_0008_render typed collection = Pipeline#call: Pipeline[GetValue, StopOnSkipable, Collect[#, Serialize], AssignName, WriteFragment] + input: nil + Pipeline : -> GetValue + Pipeline : result: [#, #] + Pipeline : -> StopOnSkipable + Pipeline : result: [#, #] + Pipeline : -> Collect[#, Serialize] +Pipeline#call: Collect[#, Serialize] + input: [#, #] + Pipeline : -> # + Pipeline : result: # + Pipeline : -> Serialize + Pipeline : result: {"name"=>"Diesel Boy"} + Pipeline : -> # + Pipeline : result: # + Pipeline : -> Serialize + Pipeline : result: {"name"=>"Van Halen"} + Pipeline : result: [{"name"=>"Diesel Boy"}, {"name"=>"Van Halen"}] + Pipeline : -> AssignName + Pipeline : result: [{"name"=>"Diesel Boy"}, {"name"=>"Van Halen"}] + Pipeline : -> WriteFragment + Pipeline : result: [{"name"=>"Diesel Boy"}, {"name"=>"Van Halen"}] 0.00 s = . +PipelineTest#test_0001_linear = 0.00 s = . +PipelineTest#test_0002_stopping = 0.00 s = . PipelineTest#test_0007_render scalar collection = Pipeline#call: Pipeline[GetValue, StopOnSkipable, Collect[SkipRender], AssignName, WriteFragment] input: nil Pipeline : -> GetValue @@ -1358,522 +1348,200 @@ Pipeline : -> WriteFragment Pipeline : result: [1, 2, 3] 0.00 s = . -PipelineTest#test_0002_stopping = 0.00 s = . -helper method within inline representer [hash]#test_0001_anonymous = 0.00 s = . -representable: true, without extend: but class:#test_0001_doesn't extend but calls #from_hash = 0.00 s = . -replace collection#test_0001_anonymous = 0.00 s = . -Module#to_/from_hash#test_0002_anonymous = 0.01 s = . -Module#to_/from_hash#test_0001_anonymous = 0.00 s = . -generic API::nested: FIXME#test_0001_anonymous = 0.00 s = . -::nested without block but with inherit:#test_0001_renders nested Album-properties in separate section = 0.00 s = . -#hash#test_0001_also responds to the original method = 0.00 s = . -sync#test_0001_anonymous = 0.00 s = . -:class => Item#test_0002_#to_json serializes = 0.00 s = . -:class => Item#test_0001_#from_json creates one Item instance = 0.00 s = . -transforming nil to [] when parsing#test_0001_anonymous = 0.00 s = . -transforming nil to [] when parsing#test_0002_anonymous = 0.00 s = . -collection::#from_yaml#test_0001_parses a block style list = 0.00 s = . -collection::#from_yaml#test_0002_parses a flow style list = 0.00 s = . -JSON module::#from_hash#test_0001_receives hash and assigns properties = 0.00 s = . -JSON module::#from_hash#test_0002_respects :wrap option = 0.00 s = . -JSON module::#from_hash#test_0003_respects :wrap option over representation_wrap = 0.00 s = . -#each#test_0001_what = 0.00 s = . -Module::for_collection [json]#test_0001_anonymous = 0.00 s = . -Module::for_collection [json]#test_0002_anonymous = 0.00 s = . -Module::for_collection [json]#test_0003_anonymous = 0.00 s = . -XML::Collection::with contained objects#test_0001_renders array = 0.03 s = . -XML::Collection::with contained objects#test_0004_parses array with decorator = 0.00 s = . -XML::Collection::with contained objects#test_0002_renders array with decorator = 0.02 s = . -XML::Collection::with contained objects#test_0003_parses array = 0.00 s = . -::collection#test_0001_doesn't initialize property = 0.00 s = . -::collection#test_0002_leaves properties untouched = 0.00 s = . -:as#test_0001_collects untyped items = 0.00 s = . -executing :if lambda in represented instance context#test_0001_skips when false = 0.00 s = . -executing :if lambda in represented instance context#test_0002_represents when true = 0.00 s = . -executing :if lambda in represented instance context#test_0003_works with decorator = 0.00 s = . -::collection::render_empty [yaml]#test_0001_anonymous = 0.00 s = . -define method inline with Decorator#test_0001_anonymous = 0.00 s = . -JSON::Hash::with scalar::#to_json#test_0001_anonymous = 0.00 s = . -update existing elements, only#test_0001_hooray = 0.00 s = . -render_nil: true#test_0001_anonymous = 0.00 s = . -[yaml] collection with :class#test_0001_anonymous = 0.00 s = . -[yaml] collection with :class#test_0002_anonymous = 0.00 s = . -Module#to_/from_hash#test_0002_anonymous = 0.00 s = . -Module#to_/from_hash#test_0001_anonymous = 0.00 s = . -as: with :symbol#test_0001_anonymous = 0.00 s = . -as: with :symbol#test_0002_anonymous = 0.00 s = . -[json] dynamic wrap#test_0001_anonymous = 0.00 s = . -[json] dynamic wrap#test_0002_anonymous = 0.00 s = . -#from_hash#test_0001_returns represented = 0.00 s = . -#from_hash#test_0002_parses = 0.00 s = . -Hash::Collection with dynamic options#test_0001_anonymous = 0.00 s = . -collection :name, :class => Band#test_0001_responds to #to_json = 0.00 s = . -[hash] with :class#test_0001_anonymous = 0.00 s = . -[hash] with :class#test_0002_anonymous = 0.00 s = . -inheritance#test_0003_allows extending with different representers subsequentially = 0.02 s = . -inheritance#test_0005_anonymous = 0.00 s = . -inheritance#test_0001_merges properties from all ancestors = 0.00 s = . -inheritance#test_0004_anonymous = 0.00 s = . -inheritance#test_0002_allows mixing in multiple representers = 0.01 s = . -:wrap::#to_xml#test_0001_wraps items = 0.02 s = . -XML::AttributeHash::#to_xml#test_0003_respects :include = /build/ruby-representable-3.0.4/debian/ruby-representable/usr/lib/ruby/vendor_ruby/representable/hash_methods.rb:24: warning: extra states are no longer copied: {"one"=>"Graveyards", "two"=>"Can't Take Them All"} -0.02 s = . -XML::AttributeHash::#to_xml#test_0002_respects :exclude = /build/ruby-representable-3.0.4/debian/ruby-representable/usr/lib/ruby/vendor_ruby/representable/hash_methods.rb:24: warning: extra states are no longer copied: {"one"=>"Graveyards", "two"=>"Can't Take Them All"} -0.01 s = . -XML::AttributeHash::#to_xml#test_0001_renders hash = 0.01 s = . -XML::AttributeHash::#to_xml#test_0004_renders hash with decorator = 0.02 s = . -:inherit plain property#test_0001_anonymous = 0.00 s = . -:inherit plain property#test_0002_anonymous = 0.00 s = . -define method in inline representer#test_0001_anonymous = 0.00 s = . -Decorator::for_collection [json]#test_0001_anonymous = 0.00 s = . -Decorator::for_collection [json]#test_0002_anonymous = 0.00 s = . -[xml] dynamic wrap#test_0002_anonymous = 0.00 s = . -[xml] dynamic wrap#test_0001_anonymous = 0.01 s = . -#from_hash#test_0002_accepts :include option = 0.00 s = . -#from_hash#test_0001_accepts :exclude option = 0.00 s = . -#from_hash#test_0003_accepts nested :exclude/:include option = 0.00 s = . -prioritizes specific options#test_0001_anonymous = 0.00 s = . -#binding#test_0001_returns true when :binding is set = 0.00 s = . -#binding#test_0002_returns false when :binding is not set = 0.00 s = . -JSON module::#to_hash#test_0003_respects :wrap option over representation_wrap = 0.00 s = . -JSON module::#to_hash#test_0001_returns unwrapped hash = 0.00 s = . -JSON module::#to_hash#test_0002_respects :wrap option = 0.00 s = . -FindOrInstantiate with collection#test_0001_finds by :id and creates new without :id = 0.00 s = . -:default => value#test_0002_accepts a default value = 0.00 s = . -:default => value#test_0001_responds to #default = 0.00 s = . -:class => Item::#to_xml with CDATA#test_0001_wraps Band name in CDATA#to_xml = 0.02 s = . -deserialization#test_0002_xxx = 0.15 s = . -deserialization#test_0001_anonymous = 0.00 s = . -Xml module::#from_xml#test_0001_parses XML and assigns properties = 0.00 s = . -collection::with :class and :extend::#to_yaml#test_0001_renders collection of typed property = 0.00 s = . -[hash] dynamic wrap#test_0001_anonymous = 0.00 s = . -[hash] dynamic wrap#test_0002_anonymous = 0.00 s = . -HashPublicMethodsTest#test_0002_anonymous = 0.00 s = . -HashPublicMethodsTest#test_0003_anonymous = 0.00 s = . -HashPublicMethodsTest#test_0004_anonymous = 0.00 s = . -HashPublicMethodsTest#test_0001_anonymous = 0.00 s = . -DecoratorScopeTest#test_0002_executes method in represented context = 0.00 s = . -DecoratorScopeTest#test_0001_executes lambdas in represented context = 0.00 s = . -:extend and :class::collection with :extend#test_0001_uses lambda for each item when rendering = 0.00 s = . -:extend and :class::collection with :extend#test_0002_uses lambda for each item when parsing = 0.00 s = . -DecoratorTest#test_0001_renders = 0.00 s = . -:extend and :class::property with :extend#test_0002_uses lambda when parsing = 0.00 s = . -:extend and :class::property with :extend#test_0001_uses lambda when rendering = 0.00 s = . -inheritance#test_0001_anonymous = 0.00 s = . -JsonTest::JSONPublicMethodsTest#test_0001_anonymous = 0.00 s = . -JsonTest::JSONPublicMethodsTest#test_0004_anonymous = 0.00 s = . -JsonTest::JSONPublicMethodsTest#test_0002_anonymous = 0.00 s = . -JsonTest::JSONPublicMethodsTest#test_0003_anonymous = 0.00 s = . -HashDisableWrapTest#test_0004_parses = 0.00 s = . -HashDisableWrapTest#test_0001_anonymous = 0.00 s = . -HashDisableWrapTest#test_0002_anonymous = 0.00 s = . -HashDisableWrapTest#test_0003_renders = 0.00 s = . -#[]#test_0001_anonymous = 0.00 s = . -#remove#test_0001_anonymous = 0.00 s = . -helper method within inline representer [xml]#test_0001_anonymous = 0.01 s = . -::collection::render_empty [hash]#test_0001_anonymous = 0.00 s = . -#add::inherit: true#test_0001_anonymous = 0.00 s = . -#add::inherit: true#test_0002_anonymous = 0.00 s = . -Module#to_/from_json#test_0001_anonymous = 0.00 s = . -Module#to_/from_json#test_0002_anonymous = 0.00 s = . -Decorator::exec_context: :decorator#test_0001_anonymous = 0.00 s = . -Decorator::exec_context: :decorator#test_0002_anonymous = 0.00 s = . -::collection::nil collections#test_0001_doesn't render collection in xml = 0.01 s = . -serialization#test_0001_anonymous = 0.00 s = . -serialization#test_0002_anonymous = 0.01 s = . -property :name#test_0001_#from_json creates correct accessors = 0.00 s = . -property :name#test_0002_#to_json serializes correctly = 0.00 s = . -deserialize#test_0001_anonymous = 0.00 s = . -HashWithTypedPropertyAndAs#test_0002_anonymous = 0.00 s = . -HashWithTypedPropertyAndAs#test_0001_anonymous = 0.00 s = . -NamespaceXMLTest#test_0001_what = 0.00 s = . -Decorator#to_/from_json#test_0002_anonymous = 0.00 s = . -Decorator#to_/from_json#test_0001_anonymous = 0.00 s = . -FilterPipelineTest#test_0001_anonymous = 0.00 s = . -DCI#test_0003_extends contained models when deserializing = 0.00 s = . -DCI#test_0002_extends contained models when serializing = 0.00 s = . -DCI#test_0001_allows adding the representer by using #extend = 0.00 s = . -Xml module::#from_xml with remove_namespaces! and xmlns present#test_0001_parses with xmlns present = 0.00 s = . -Decorator::exec_context: nil#test_0001_anonymous = 0.00 s = . -Decorator::exec_context: nil#test_0002_anonymous = 0.00 s = . -property::#to_yaml#test_0001_renders plain property = 0.00 s = . -property::#to_yaml#test_0002_always renders values into strings = 0.00 s = . -SkipParseTest#test_0001_anonymous = 0.00 s = . -SkipParseTest#test_0002_anonymous = 0.00 s = . -with only dynamic property options#test_0001_anonymous = 0.00 s = . -:getter with :decorator#test_0001_renders nested Album-properties in separate section = 0.00 s = . -as: with lambda#test_0001_anonymous = 0.00 s = . -as: with lambda#test_0002_anonymous = 0.00 s = . -::collection::empty collections#test_0001_renders empty collection in hash = 0.00 s = . -#property#test_0001_doesn't modify options hash = 0.00 s = . -#property#test_0002_returns the Definition instance = 0.00 s = . -XML::AttributeHash::#from_json#test_0004_parses hash with decorator = 0.00 s = . -XML::AttributeHash::#from_json#test_0003_respects :include = 0.00 s = . -XML::AttributeHash::#from_json#test_0001_returns hash = 0.00 s = . -XML::AttributeHash::#from_json#test_0002_respects :exclude = 0.00 s = . -JSON::Collection::with inline representer#test_0002_anonymous = 0.00 s = . -JSON::Collection::with inline representer#test_0001_anonymous = 0.00 s = . -exec_context: :binding#test_0001_anonymous = 0.00 s = . -exec_context: :binding#test_0002_anonymous = 0.00 s = . -HashBinding::with objects#test_0001_doesn't change the represented hash in #write = 0.00 s = . -#inspect#test_0001_anonymous = 0.00 s = . -collection::with :class and :extend::#from_yaml#test_0001_parses collection of typed property = 0.00 s = . -Collect#test_0001_anonymous = 0.00 s = . -#collection#test_0001_creates correct Definition = 0.00 s = . -lambda { nil }#test_0001_anonymous = 0.00 s = . -#add::returns#test_0001_anonymous = 0.00 s = . -VirtusCoercionTest#test_0002_anonymous = 0.00 s = . -VirtusCoercionTest#test_0001_anonymous = 0.01 s = . -Insert.(delete: true)#test_0001_anonymous = 0.00 s = . -serialize#test_0001_anonymous = 0.00 s = . -FindOrInstantiate with property#test_0001_finds by :id and creates new without :id = -[Deserialize]......... -[Deserialize] document {"song"=>{"id"=>1, "title"=>"Resist Stance"}} -Pipeline#call: Pipeline[StopOnExcluded, AssignName, ReadFragment, StopOnNotFound, OverwriteOnNil, AssignFragment, FindOrInstantiate, #, Deserialize] - input: {"song"=>{"id"=>1, "title"=>"Resist Stance"}} - Pipeline : -> StopOnExcluded - Pipeline : result: {"song"=>{"id"=>1, "title"=>"Resist Stance"}} +PipelineTest#test_0006_parsing typed property = Pipeline#call: Pipeline[AssignName, ReadFragment, StopOnNotFound, OverwriteOnNil, AssignFragment, Class, #, Deserialize, SetValue] + input: {"artist"=>{"name"=>"Doobie Brothers"}} Pipeline : -> AssignName - Pipeline : result: {"song"=>{"id"=>1, "title"=>"Resist Stance"}} + Pipeline : result: {"artist"=>{"name"=>"Doobie Brothers"}} Pipeline : -> ReadFragment - Pipeline : result: {"id"=>1, "title"=>"Resist Stance"} + Pipeline : result: {"name"=>"Doobie Brothers"} Pipeline : -> StopOnNotFound - Pipeline : result: {"id"=>1, "title"=>"Resist Stance"} + Pipeline : result: {"name"=>"Doobie Brothers"} Pipeline : -> OverwriteOnNil - Pipeline : result: {"id"=>1, "title"=>"Resist Stance"} + Pipeline : result: {"name"=>"Doobie Brothers"} Pipeline : -> AssignFragment - Pipeline : result: {"id"=>1, "title"=>"Resist Stance"} - Pipeline : -> FindOrInstantiate - Pipeline : result: # - Pipeline : -> # - #evaluate_option [extend]: eval!!! - #evaluate_option [extend]: --> # - Pipeline : result: # + Pipeline : result: {"name"=>"Doobie Brothers"} + Pipeline : -> Class + Pipeline : result: # + Pipeline : -> # + Pipeline : result: # Pipeline : -> Deserialize - Pipeline : result: # + Pipeline : result: # + Pipeline : -> SetValue + Pipeline : result: # 0.00 s = . -FindOrInstantiate with property#test_0002_creates new without :id = -[Deserialize]......... -[Deserialize] document {"song"=>{"title"=>"Lower"}} -Pipeline#call: Pipeline[StopOnExcluded, AssignName, ReadFragment, StopOnNotFound, OverwriteOnNil, AssignFragment, FindOrInstantiate, #, Deserialize] - input: {"song"=>{"title"=>"Lower"}} - Pipeline : -> StopOnExcluded - Pipeline : result: {"song"=>{"title"=>"Lower"}} +PipelineTest#test_0009_parse typed collection = Pipeline#call: Pipeline[AssignName, ReadFragment, StopOnNotFound, OverwriteOnNil, Collect[AssignFragment, Class, #, Deserialize], SetValue] + input: {"artists"=>[{"name"=>"Diesel Boy"}, {"name"=>"Van Halen"}]} Pipeline : -> AssignName - Pipeline : result: {"song"=>{"title"=>"Lower"}} + Pipeline : result: {"artists"=>[{"name"=>"Diesel Boy"}, {"name"=>"Van Halen"}]} Pipeline : -> ReadFragment - Pipeline : result: {"title"=>"Lower"} + Pipeline : result: [{"name"=>"Diesel Boy"}, {"name"=>"Van Halen"}] Pipeline : -> StopOnNotFound - Pipeline : result: {"title"=>"Lower"} + Pipeline : result: [{"name"=>"Diesel Boy"}, {"name"=>"Van Halen"}] Pipeline : -> OverwriteOnNil - Pipeline : result: {"title"=>"Lower"} + Pipeline : result: [{"name"=>"Diesel Boy"}, {"name"=>"Van Halen"}] + Pipeline : -> Collect[AssignFragment, Class, #, Deserialize] +Pipeline#call: Collect[AssignFragment, Class, #, Deserialize] + input: [{"name"=>"Diesel Boy"}, {"name"=>"Van Halen"}] Pipeline : -> AssignFragment - Pipeline : result: {"title"=>"Lower"} - Pipeline : -> FindOrInstantiate - Pipeline : result: # - Pipeline : -> # - #evaluate_option [extend]: eval!!! - #evaluate_option [extend]: --> # - Pipeline : result: # + Pipeline : result: {"name"=>"Diesel Boy"} + Pipeline : -> Class + Pipeline : result: # + Pipeline : -> # + Pipeline : result: # Pipeline : -> Deserialize - Pipeline : result: # + Pipeline : result: # + Pipeline : -> AssignFragment + Pipeline : result: {"name"=>"Van Halen"} + Pipeline : -> Class + Pipeline : result: # + Pipeline : -> # + Pipeline : result: # + Pipeline : -> Deserialize + Pipeline : result: # + Pipeline : result: [#, #] + Pipeline : -> SetValue + Pipeline : result: [#, #] 0.00 s = . -propagating user options to the block#test_0002_passes user options to block = 0.00 s = . -propagating user options to the block#test_0001_works without specifying options = 0.00 s = . -Decorator ::nested with extend:#test_0001_renders nested Album-properties in separate section = 0.00 s = . -Decorator ::nested with extend:#test_0002_parses nested properties to Album instance = 0.00 s = . -::nested with (inline representer|decorator): false#test_0001_renders nested Album-properties in separate section = 0.00 s = . -::nested with (inline representer|decorator): false#test_0002_parses nested properties to Album instance = 0.00 s = . -[hash] collection with :class#test_0002_anonymous = 0.00 s = . -[hash] collection with :class#test_0001_anonymous = 0.00 s = . -Decorator::for_collection [hash]#test_0001_anonymous = 0.00 s = . +JSON::Hash::with scalar::#from_json#test_0001_anonymous = 0.00 s = . +#create_representation_with#test_0001_compiles document from properties in object = 0.00 s = . +#create_representation_with#test_0003_does not write nil attributes = 0.00 s = . +#create_representation_with#test_0002_ignores non-readable properties = 0.00 s = . +#create_representation_with#test_0004_writes false attributes = 0.00 s = . +#property#test_0001_doesn't modify options hash = 0.00 s = . +#property#test_0002_returns the Definition instance = 0.00 s = . +#initialize#test_0001_anonymous = 0.00 s = . +#to_hash#test_0001_accepts :exclude option = 0.00 s = . +#to_hash#test_0002_accepts :include option = 0.00 s = . +#to_hash#test_0003_accepts nested :exclude/:include option = 0.00 s = . +JSON::Collection::with inline representer#test_0001_anonymous = 0.00 s = . +JSON::Collection::with inline representer#test_0002_anonymous = 0.00 s = . Decorator::for_collection [hash]#test_0002_anonymous = 0.00 s = . +Decorator::for_collection [hash]#test_0001_anonymous = 0.00 s = . +without :class#test_0001_anonymous = 0.00 s = . +representable: true, without extend: but class:#test_0001_doesn't extend but calls #from_hash = 0.00 s = . +:extend and :class::property with :extend::with :class lambda#test_0001_creates instance from :class lambda when parsing = 0.00 s = . +#from_hash#test_0001_anonymous = 0.00 s = . +#from_hash#test_0002_anonymous = 0.00 s = . +#from_hash#test_0003_anonymous = 0.00 s = . +#from_hash#test_0004_anonymous = 0.00 s = . +#from_hash#test_0001_parses a block style list = 0.00 s = . SkipRenderTest#test_0001_anonymous = 0.00 s = . SkipRenderTest#test_0004_anonymous = 0.00 s = . -SkipRenderTest#test_0003_anonymous = 0.00 s = . SkipRenderTest#test_0002_anonymous = 0.00 s = . -JSON::Hash::with contained objects::with inline representer#test_0001_anonymous = 0.00 s = . -JSON::Hash::with contained objects::with inline representer#test_0002_anonymous = 0.00 s = . -StopWhenIncomingObjectFragmentIsNilTest#test_0001_anonymous = 0.00 s = . -StopWhenIncomingObjectFragmentIsNilTest#test_0002_anonymous = 0.00 s = . -:class => Band, :as => :band, :collection => true#test_0001_responds to #to_xml = 0.01 s = . -WrapTest#test_0002_infers a printable class name if set to true = 0.00 s = . -WrapTest#test_0001_returns false per default = 0.00 s = . -WrapTest#test_0003_can be set explicitely = 0.00 s = . -#get#test_0001_anonymous = 0.00 s = . -with objects#test_0001_anonymous = 0.02 s = . -collection::#to_yaml#test_0002_renders a flow style list when :style => :flow set = 0.00 s = . -collection::#to_yaml#test_0001_renders a block style list per default = 0.00 s = . -#assert_json#test_0003_complains when expected hash is subset = 0.04 s = . -#assert_json#test_0004_complains when source hash is subset = 0.01 s = . -#assert_json#test_0001_tests for equality = 0.00 s = . -#assert_json#test_0002_allows different key orders = 0.00 s = . -property::#from_yaml#test_0001_parses plain property = 0.00 s = . -#default_for#test_0002_anonymous = 0.00 s = . -#default_for#test_0004_anonymous = 0.00 s = . -#default_for#test_0005_anonymous = 0.00 s = . -#default_for#test_0006_anonymous = 0.00 s = . -#default_for#test_0001_anonymous = 0.00 s = . -#default_for#test_0003_anonymous = 0.00 s = . -::nested with (inline representer|decorator): true#test_0001_renders nested Album-properties in separate section = 0.00 s = . -::nested with (inline representer|decorator): true#test_0002_parses nested properties to Album instance = 0.00 s = . -::nested with (inline representer|decorator): false#test_0001_renders nested Album-properties in separate section = 0.00 s = . -::nested with (inline representer|decorator): false#test_0002_parses nested properties to Album instance = 0.00 s = . -:inherit with empty inline representer#test_0001_anonymous = 0.00 s = . -:inherit with empty inline representer#test_0002_anonymous = 0.00 s = . -wrapping#test_0001_returns false per default = 0.00 s = . -XMLPropertyTest#test_0001_anonymous = 0.01 s = . -XMLPropertyTest#test_0002_anonymous = 0.01 s = . -#options#test_0002_anonymous = 0.00 s = . -#options#test_0001_anonymous = 0.00 s = . -[xml] lonely collection, render-only#test_0001_calls #to_hash on song instances, nothing else = 0.02 s = . +SkipRenderTest#test_0003_anonymous = 0.00 s = . +JSON module::#to_hash#test_0001_returns unwrapped hash = 0.00 s = . +JSON module::#to_hash#test_0002_respects :wrap option = 0.00 s = . +JSON module::#to_hash#test_0003_respects :wrap option over representation_wrap = 0.00 s = . +replace existing element#test_0001_anonymous = 0.00 s = . +Xml module::#from_xml with remove_namespaces! and xmlns present#test_0001_parses with xmlns present = 0.00 s = . Decorator#test_0001_anonymous = 0.00 s = . -AttributeBinding::with plain text items#test_0001_extracts with #read = 0.00 s = . -AttributeBinding::with plain text items#test_0002_inserts with #write = 0.01 s = . -helper method within inline representer [yaml]#test_0001_anonymous = 0.00 s = . +:inherit without inheritable property#test_0001_anonymous = 0.00 s = . +#add::returns#test_0001_anonymous = 0.00 s = . +FindOrInstantiate with collection#test_0001_finds by :id and creates new without :id = 0.00 s = . +exec_context: nil#test_0002_anonymous = 0.00 s = . +exec_context: nil#test_0001_anonymous = 0.00 s = . +#from_hash#test_0001_parses embedded typed property = 0.00 s = . #from_hash#test_0002_anonymous = 0.00 s = . -#from_hash#test_0004_anonymous = 0.00 s = . -#from_hash#test_0001_anonymous = 0.00 s = . #from_hash#test_0003_anonymous = 0.00 s = . -:collection => true#test_0001_responds to #array? = 0.00 s = . -#to_hash#test_0001_accepts :exclude option = 0.00 s = . -#to_hash#test_0002_accepts :include option = 0.00 s = . -#to_hash#test_0003_accepts nested :exclude/:include option = 0.00 s = . -#create_representation_with#test_0001_compiles document from properties in object = 0.00 s = . -#create_representation_with#test_0004_writes false attributes = 0.00 s = . -#create_representation_with#test_0002_ignores non-readable properties = 0.00 s = . -#create_representation_with#test_0003_does not write nil attributes = 0.00 s = . -hash :songs, :class => Song::parsing#test_0002_doesn't modify the incoming hash = 0.00 s = . -hash :songs, :class => Song::parsing#test_0001_parses incoming hash = 0.00 s = . -YamlPublicMethodsTest#test_0001_anonymous = 0.00 s = . -YamlPublicMethodsTest#test_0004_anonymous = 0.00 s = . -YamlPublicMethodsTest#test_0003_anonymous = 0.00 s = . -YamlPublicMethodsTest#test_0002_anonymous = 0.00 s = . -:wrap::#from_xml#test_0001_finds items in wrapped collection = 0.00 s = . -HashBinding::with plain text items#test_0001_extracts with #read = 0.00 s = . -HashBinding::with plain text items#test_0002_inserts with #write = 0.00 s = . -ContentBinding#test_0001_extracts with #read = 0.00 s = . -ContentBinding#test_0002_inserts with #write = 0.02 s = . -Module::for_collection without configuration [json]#test_0001_anonymous = 0.00 s = . -#Insert Pipeline[], Function, replace: OldFunction#test_0001_returns Pipeline instance when passing in Pipeline instance = 0.00 s = . -#Insert Pipeline[], Function, replace: OldFunction#test_0006_applies on nested Collect with Function::CreateObject = 0.00 s = . -#Insert Pipeline[], Function, replace: OldFunction#test_0003_replaces Function instance = 0.00 s = . -#Insert Pipeline[], Function, replace: OldFunction#test_0004_does not replace when not existing = 0.00 s = . -#Insert Pipeline[], Function, replace: OldFunction#test_0002_replaces if exists = 0.00 s = . -#Insert Pipeline[], Function, replace: OldFunction#test_0005_applies on nested Collect = 0.00 s = . -#update_properties_from#test_0004_includes false attributes = 0.00 s = . -#update_properties_from#test_0003_always returns the represented = 0.00 s = . -#update_properties_from#test_0002_ignores non-writeable properties = 0.00 s = . -#update_properties_from#test_0005_ignores properties not present in the incoming document = 0.00 s = . -#update_properties_from#test_0001_copies values from document to object = 0.00 s = . -#update_properties_from#test_0006_ignores (no-default) properties not present in the incoming document = 0.00 s = . -JSON::Hash::with contained objects::#from_json#test_0001_returns objects array = 0.00 s = . -JSON::Hash::with contained objects::#from_json#test_0004_respects :include = 0.00 s = . -JSON::Hash::with contained objects::#from_json#test_0002_parses hash with decorator = 0.00 s = . -JSON::Hash::with contained objects::#from_json#test_0003_respects :exclude = 0.00 s = . -exec_context: nil#test_0001_anonymous = 0.00 s = . -exec_context: nil#test_0002_anonymous = 0.00 s = . -overwriting without :inherit#test_0001_replaces inherited property = 0.00 s = . -#[]#test_0001_anonymous = 0.00 s = . -RenderPipelineOptionTest#test_0003_is cached = 0.00 s = . -RenderPipelineOptionTest#test_0002_anonymous = 0.00 s = . -RenderPipelineOptionTest#test_0001_anonymous = 0.00 s = . -Xml module::#from_node#test_0001_receives Nokogiri node and assigns properties = 0.00 s = . -#skipable_empty_value?#test_0001_anonymous = 0.00 s = . -#skipable_empty_value?#test_0002_anonymous = 0.00 s = . -#skipable_empty_value?#test_0003_anonymous = 0.00 s = . -#skipable_empty_value?#test_0004_anonymous = 0.00 s = . -Decorator::exec_context: :binding#test_0001_anonymous = 0.00 s = . -Decorator::exec_context: :binding#test_0002_xxx = 0.00 s = . -:class => Item#test_0001_#from_xml creates one Item instance = 0.00 s = . -HeritageTest#test_0002_B must have Ciao from module (feauture) Ciao = 0.00 s = . +#from_hash#test_0004_allows nil value in the incoming document and corresponding nil value for the represented = 0.00 s = . HeritageTest#test_0004_obj should inherit from N, and N from M = 0.00 s = . HeritageTest#test_0001_B must inherit Hello! feature from A = 0.00 s = . +HeritageTest#test_0002_B must have Ciao from module (feauture) Ciao = 0.00 s = . HeritageTest#test_0003_C must inherit Hello! feature from A = 0.00 s = . -add incoming elements, only#test_0001_anonymous = 0.00 s = . -Module::for_collection [hash]#test_0001_anonymous = 0.00 s = . -Module::for_collection [hash]#test_0003_anonymous = 0.00 s = . -Module::for_collection [hash]#test_0002_anonymous = 0.00 s = . -class: ClassName, only#test_0001_creates fresh instance and doesn't extend = 0.00 s = . -FilterTest#test_0001_anonymous = 0.00 s = . -FilterTest#test_0002_anonymous = 0.00 s = . -:inherit with overriding inline representer#test_0001_anonymous = 0.00 s = . -#from_hash#test_0002_anonymous = 0.00 s = . -#from_hash#test_0003_anonymous = 0.00 s = . -#from_hash#test_0004_allows nil value in the incoming document and corresponding nil value for the represented = 0.00 s = . -#from_hash#test_0001_parses embedded typed property = 0.00 s = . -Namespace2XMLTest#test_0002_parses = 0.00 s = . -Namespace2XMLTest#test_0001_renders = 0.00 s = . -inline decorators#test_0001_does not pollute represented = 0.00 s = . -replace existing element#test_0001_anonymous = 0.00 s = . -#from_hash#test_0001_calls prepare:, nothing else = 0.00 s = . -:extend and :class::lambda blocks#test_0001_executes lambda in represented instance context = 0.00 s = . -#add#test_0004_overrides former definition = 0.00 s = . -#add#test_0002_anonymous = 0.00 s = . +helper method within inline representer [hash]#test_0001_anonymous = 0.00 s = . +property :name#test_0002_#to_json serializes correctly = 0.00 s = . +property :name#test_0001_#from_json creates correct accessors = 0.00 s = . +class: lambda, only#test_0001_creates fresh instance and doesn't extend = 0.00 s = . +#from_hash#test_0001_accepts :exclude option = 0.00 s = . +#from_hash#test_0002_accepts :include option = 0.00 s = . +#from_hash#test_0003_accepts nested :exclude/:include option = 0.00 s = . #add#test_0001_anonymous = 0.00 s = . +#add#test_0002_anonymous = 0.00 s = . #add#test_0003_anonymous = 0.00 s = . -lambda receiving fragment and args#test_0001_anonymous = 0.00 s = . -:extend and :class::collection with :extend::with :class lambda#test_0001_creates instance from :class lambda for each item when parsing = 0.00 s = . -#update_properties_from::passing options#test_0001_#to_hash propagates to nested objects = -[Serialize]......... -[Serialize] -Pipeline#call: Pipeline[StopOnExcluded, GetValue, StopOnSkipable, AssignName, #, Serialize, WriteFragment] - input: nil - Pipeline : -> StopOnExcluded - Pipeline : result: nil - Pipeline : -> GetValue - Pipeline : result: #> - Pipeline : -> StopOnSkipable - Pipeline : result: #> - Pipeline : -> AssignName - Pipeline : result: #> - Pipeline : -> # - #evaluate_option [extend]: eval!!! - #evaluate_option [extend]: --> # - Pipeline : result: #> - Pipeline : -> Serialize - Pipeline : result: {"nr"=>9, "length"=>{:seconds=>9}} - Pipeline : -> WriteFragment - Pipeline : result: {"nr"=>9, "length"=>{:seconds=>9}} -0.00 s = . -#update_properties_from::passing options#test_0002_#from_hash propagates to nested objects = 0.00 s = . -property with lambda receiving fragment and args#test_0001_anonymous = 0.00 s = . -PrivateOptionsTest#test_0002_parse: doesn't modify options = 0.00 s = . -PrivateOptionsTest#test_0001_render: doesn't modify options = 0.00 s = . -populator: ->{}#test_0001_anonymous = 0.00 s = . -hash :songs, :class => Song#test_0001_renders = 0.00 s = . +#add#test_0004_overrides former definition = 0.00 s = . +::collection::empty collections#test_0001_renders empty collection in yaml = 0.00 s = . +with only hashes#test_0001_anonymous = 0.00 s = . +::collection::nil collections#test_0001_doesn't render collection in xml = 0.01 s = . +#from_hash#test_0001_calls prepare:, nothing else = 0.00 s = . +#remove#test_0001_anonymous = 0.00 s = . +:inherit plain property#test_0002_anonymous = 0.00 s = . +:inherit plain property#test_0001_anonymous = 0.00 s = . +CollectionBinding::with plain text items#test_0001_extracts with #read = 0.00 s = . +CollectionBinding::with plain text items#test_0002_inserts with #write = 0.00 s = . +class: ClassName, only#test_0001_creates fresh instance and doesn't extend = 0.00 s = . +::collection::nil collections#test_0001_doesn't render collection in hash = 0.00 s = . :extend and :class:::instance#test_0001_uses object from :instance but still extends it = 0.00 s = . -generic API::#typed?#test_0002_is true when :class is present = 0.00 s = . -generic API::#typed?#test_0003_is true when :extend is present, only = 0.00 s = . -generic API::#typed?#test_0004_is true when :instance is present, only = 0.00 s = . -generic API::#typed?#test_0001_is false per default = 0.00 s = . -JSON module::#from_json#test_0001_parses JSON and assigns properties = 0.00 s = . +Xml module::#to_xml#test_0001_delegates to #to_node and returns string = 0.01 s = . +#default_for#test_0006_anonymous = 0.00 s = . +#default_for#test_0004_anonymous = 0.00 s = . +#default_for#test_0001_anonymous = 0.00 s = . +#default_for#test_0002_anonymous = 0.00 s = . +#default_for#test_0003_anonymous = 0.00 s = . +#default_for#test_0005_anonymous = 0.00 s = . +:class => Item::#to_xml with CDATA#test_0001_wraps Band name in CDATA#to_xml = 0.01 s = . +FeatureInclusionOrderTest#test_0001_anonymous = 0.00 s = . :inherit with inline without block but options#test_0001_anonymous = 0.00 s = . :inherit with inline without block but options#test_0002_anonymous = 0.00 s = . -JSON::Collection::with contained text#test_0002_returns objects array from #from_json = 0.00 s = . -JSON::Collection::with contained text#test_0001_renders contained items #to_json = 0.00 s = . -#parse_filter#test_0001_anonymous = [Declarative] Defaults#merge! and #call still accept arrays and automatically prepend those. This is now deprecated, you should replace `ary` with `Declarative::Variables::Append(ary)`. -0.00 s = . -#parse_filter#test_0002_anonymous = [Declarative] Defaults#merge! and #call still accept arrays and automatically prepend those. This is now deprecated, you should replace `ary` with `Declarative::Variables::Append(ary)`. -0.00 s = . -[json] with :class#test_0001_anonymous = 0.00 s = . -[json] with :class#test_0002_anonymous = 0.00 s = . -[json] lonely collection, render-only#test_0001_calls #to_hash on song instances, nothing else = 0.00 s = . -::collection::nil collections#test_0001_doesn't render collection in hash = 0.00 s = . -#merge!#test_0002_anonymous = 0.00 s = . -#merge!#test_0001_anonymous = 0.00 s = . -#merge!#test_0004_anonymous = 0.00 s = . -#merge!#test_0003_anonymous = 0.00 s = . -#merge!#test_0005_anonymous = 0.00 s = . -Xml module::#to_node#test_0001_returns Nokogiri node = 0.00 s = . -Xml module::#to_node#test_0002_wraps with infered class name per default = 0.01 s = . -Xml module::#to_node#test_0003_respects #representation_wrap= = 0.04 s = . -hash options combined with dynamic options#test_0001_anonymous = 0.00 s = . -class: implementing #from_hash#test_0001_allows returning arbitrary objects in #from_hash = 0.00 s = . -[json] collection with :class#test_0001_anonymous = 0.00 s = . -[json] collection with :class#test_0002_anonymous = 0.00 s = . -[hash] lonely collection, render-only#test_0001_calls #to_hash on song instances, nothing else = 0.00 s = . -:extend and :class::::prepare::module including Representable#test_0001_uses :extend strategy = 0.00 s = . -lambda { fragment } (new way of class: lambda { nil })#test_0001_skips creating new instance = 0.00 s = . -parsing [hash] with wrap where wrap is missing#test_0001_doesn't change represented object = 0.00 s = . -#delete!#test_0001_anonymous = 0.00 s = . -#to_hash#test_0001_calls prepare:, nothing else = 0.00 s = . -[xml] collection with :class#test_0001_anonymous = 0.01 s = . -[xml] collection with :class#test_0002_anonymous = 0.00 s = . -representable: false, with class:#test_0001_does extend but doesn't call #from_hash = 0.00 s = . +#update_properties_from#test_0003_always returns the represented = 0.00 s = . +#update_properties_from#test_0004_includes false attributes = 0.00 s = . +#update_properties_from#test_0002_ignores non-writeable properties = 0.00 s = . +#update_properties_from#test_0001_copies values from document to object = 0.00 s = . +#update_properties_from#test_0005_ignores properties not present in the incoming document = 0.00 s = . +#update_properties_from#test_0006_ignores (no-default) properties not present in the incoming document = 0.00 s = . +exec_context: :binding#test_0001_anonymous = 0.00 s = . +exec_context: :binding#test_0002_anonymous = 0.00 s = . +[xml] dynamic wrap#test_0001_anonymous = 0.01 s = . +[xml] dynamic wrap#test_0002_anonymous = 0.00 s = . +define method in inline representer#test_0001_anonymous = 0.00 s = . +PropertyBinding::#read#test_0002_returns FRAGMENT_NOT_FOUND if not in document = 0.00 s = . +PropertyBinding::#read#test_0001_returns fragment if present = 0.00 s = . +:inherit with empty inline representer#test_0001_anonymous = 0.00 s = . +:inherit with empty inline representer#test_0002_anonymous = 0.00 s = . +FilterPipelineTest#test_0001_anonymous = 0.00 s = . +:extend and :class::::prepare::Decorator subclass#test_0001_uses :decorate strategy = 0.00 s = . +DecoratorTest#test_0001_renders = 0.00 s = . +:class => Item#test_0001_#from_xml creates one Item instance = 0.00 s = . +Module::for_collection [json]#test_0001_anonymous = 0.00 s = . +Module::for_collection [json]#test_0002_anonymous = 0.00 s = . +Module::for_collection [json]#test_0003_anonymous = 0.00 s = . +exec_context: :decorator#test_0001_anonymous = 0.00 s = . +exec_context: :decorator#test_0002_anonymous = 0.00 s = . +:hash => true#test_0001_responds to #hash? = 0.00 s = . +generic API#test_0003_responds to #name = 0.00 s = . +generic API#test_0004_responds to #setter = 0.00 s = . +generic API#test_0001_responds to #representer_module = 0.00 s = . +generic API#test_0002_responds to #getter and returns string = 0.00 s = . +XML::AttributeHash::#from_json#test_0001_returns hash = 0.00 s = . +XML::AttributeHash::#from_json#test_0002_respects :exclude = 0.00 s = . +XML::AttributeHash::#from_json#test_0003_respects :include = 0.00 s = . +XML::AttributeHash::#from_json#test_0004_parses hash with decorator = 0.00 s = . +#decorated#test_0001_is aliased to #represented = 0.00 s = . +:class => Band, :as => :band, :collection => true::#from_xml#test_0001_pushes collection items to array = 0.00 s = . +AttributeBinding::with plain text items#test_0001_extracts with #read = 0.00 s = . +AttributeBinding::with plain text items#test_0002_inserts with #write = 0.01 s = . +property::with :class and :extend::#to_yaml#test_0001_renders embedded typed property = 0.00 s = . +StopWhenIncomingObjectFragmentIsNilTest#test_0001_anonymous = 0.00 s = . +StopWhenIncomingObjectFragmentIsNilTest#test_0002_anonymous = 0.00 s = . +::nested with (inline representer|decorator): true#test_0001_renders nested Album-properties in separate section = 0.00 s = . +::nested with (inline representer|decorator): true#test_0002_parses nested properties to Album instance = 0.00 s = . +:binding => Object#test_0001_responds to #binding = 0.00 s = . +#from_hash#test_0001_parses collection of typed property = 0.00 s = . +:inherit with overriding inline representer#test_0001_anonymous = 0.00 s = . +executing :if lambda in represented instance context#test_0001_skips when false = 0.00 s = . +executing :if lambda in represented instance context#test_0003_works with decorator = 0.00 s = . +executing :if lambda in represented instance context#test_0002_represents when true = 0.00 s = . +sync#test_0001_anonymous = 0.00 s = . +UserOptionsTest#test_0003_anonymous = 0.00 s = . UserOptionsTest#test_0001_anonymous = 0.00 s = . UserOptionsTest#test_0002_anonymous = 0.00 s = . UserOptionsTest#test_0004_anonymous = 0.00 s = . -UserOptionsTest#test_0003_anonymous = 0.00 s = . -:inherit with decorator#test_0002_anonymous = -[Serialize]......... -[Serialize] -Pipeline#call: Pipeline[StopOnExcluded, GetValue, StopOnSkipable, AssignName, #, Serialize, WriteFragment] - input: nil - Pipeline : -> StopOnExcluded - Pipeline : result: nil - Pipeline : -> GetValue - Pipeline : result: # - Pipeline : -> StopOnSkipable - Pipeline : result: # - Pipeline : -> AssignName - Pipeline : result: # - Pipeline : -> # - #evaluate_option [extend]: eval!!! - #evaluate_option [extend]: --> # - Pipeline : result: #<#:0x0000560ee351e300 @represented=#> - Pipeline : -> Serialize - -[Serialize]......... -[Serialize] -Pipeline#call: Pipeline[StopOnExcluded, GetValue, StopOnSkipable, AssignName, WriteFragment] - input: nil - Pipeline : -> StopOnExcluded - Pipeline : result: nil - Pipeline : -> GetValue - Pipeline : result: "Cheap Transistor Radio" - Pipeline : -> StopOnSkipable - Pipeline : result: "Cheap Transistor Radio" - Pipeline : -> AssignName - Pipeline : result: "Cheap Transistor Radio" - Pipeline : -> WriteFragment - Pipeline : result: "Cheap Transistor Radio" -Pipeline#call: Pipeline[StopOnExcluded, GetValue, StopOnSkipable, AssignName, WriteFragment] - input: nil - Pipeline : -> StopOnExcluded - Pipeline : result: nil - Pipeline : -> GetValue - Pipeline : result: "2:59" - Pipeline : -> StopOnSkipable - Pipeline : result: "2:59" - Pipeline : -> AssignName - Pipeline : result: "2:59" - Pipeline : -> WriteFragment - Pipeline : result: "2:59" - Pipeline : result: {"title"=>"Cheap Transistor Radio", "length"=>"2:59"} - Pipeline : -> WriteFragment - Pipeline : result: {"title"=>"Cheap Transistor Radio", "length"=>"2:59"} -0.01 s = . -:inherit with decorator#test_0001_anonymous = 0.00 s = . -#has_default?#test_0001_returns false if no :default set = 0.00 s = . -#has_default?#test_0002_returns true if :default set = 0.00 s = . -Decorator ::nested with extend:#test_0001_renders nested Album-properties in separate section = 0.00 s = . -Decorator ::nested with extend:#test_0002_parses nested properties to Album instance = 0.00 s = . -:as => rel, :attribute => true#test_0002_#to_xml serializes correctly = 0.01 s = . -:as => rel, :attribute => true#test_0001_#from_xml creates correct accessors = 0.00 s = . -plain text#test_0001_anonymous = 0.02 s = . -collection :name, :class => Band::#from_json#test_0001_pushes collection items to array = 0.00 s = . -lambda arguments#test_0001_anonymous = 0.00 s = . -lambda arguments#test_0002_anonymous = 0.00 s = . -#create_binding#test_0001_executes the block (without special context) = 0.00 s = . -representable: false, extend:#test_0001_does extend but doesn't call #to_hash = 0.00 s = . -:inherit without inheritable property#test_0001_anonymous = 0.00 s = . -3-level deep with features#test_0001_anonymous = 0.00 s = . -3-level deep with features#test_0002_anonymous = 0.00 s = . -class: lambda, only#test_0001_creates fresh instance and doesn't extend = 0.00 s = . -direct defaults hash#test_0001_anonymous = 0.00 s = . -:hash => true#test_0001_responds to #hash? = 0.00 s = . -Collect::Pipeline with Collect#test_0001_anonymous = 0.00 s = . -#from_hash#test_0001_parses plain property = 0.00 s = . -#from_hash#test_0002_allows nil value in the incoming document and corresponding nil value for the represented = 0.00 s = . -inheriting from outer representer#test_0003_anonymous = 0.00 s = . -inheriting from outer representer#test_0001_anonymous = 0.00 s = . -inheriting from outer representer#test_0002_anonymous = 0.00 s = . -inheriting from outer representer#test_0004_anonymous = 0.00 s = . -:as => :songName#test_0001_respects :as in #from_json = 0.00 s = . -:as => :songName#test_0002_respects :as in #to_json = 0.00 s = . -with :extend it shouldn't extend nil#test_0001_anonymous = 0.00 s = . -:as => :songList#test_0001_respects :as in #from_json = 0.00 s = . -:as => :songList#test_0002_respects option in #to_json = 0.00 s = . -Decorator#to_/from_hash#test_0001_anonymous = 0.00 s = . -Decorator#to_/from_hash#test_0002_anonymous = 0.00 s = . -AsXmlTest#test_0001_anonymous = 0.00 s = S -:class => Item::#to_xml#test_0001_doesn't escape xml from Band#to_xml = 0.02 s = . -:class => Item::#to_xml#test_0002_doesn't escape and wrap string from Band#to_node = 0.01 s = . -#from_hash::with :wrap#test_0001_parses symbols, too = 0.00 s = . -Insert.(delete: true) with Collect#test_0001_anonymous = 0.00 s = . -GetterSetterTest#test_0001_uses :getter when rendering = 0.00 s = . -GetterSetterTest#test_0002_uses :setter when parsing = 0.00 s = . +#collection#test_0001_creates correct Definition = 0.00 s = . +#representable_attrs::in module#test_0001_allows including the concrete representer module later = 0.00 s = . +collection::#to_yaml#test_0001_renders a block style list per default = 0.00 s = . +collection::#to_yaml#test_0002_renders a flow style list when :style => :flow set = 0.00 s = . +:inherit with empty inline and options#test_0002_anonymous = 0.00 s = . +:inherit with empty inline and options#test_0001_anonymous = 0.00 s = . +collection :name, :class => Band#test_0001_responds to #to_json = 0.00 s = . ParsePipelineOptionTest#test_0002_anonymous = 0.00 s = . ParsePipelineOptionTest#test_0001_anonymous = Pipeline#call: Pipeline[StopOnExcluded, AssignName, ReadFragment, NilToNA, StopOnNotFound, OverwriteOnNil, AssignFragment, SetValue] input: {"id"=>nil} @@ -1931,44 +1599,394 @@ Pipeline : -> SetValue Pipeline : result: "n/a" 0.00 s = . -#to_object#test_0001_anonymous = 0.00 s = . -ParsePipelineTest#test_0001_anonymous = 0.00 s = S -::collection::empty collections#test_0001_renders empty collection in yaml = 0.00 s = . -XmlPublicMethodsTest#test_0004_anonymous = 0.02 s = . -XmlPublicMethodsTest#test_0003_anonymous = 0.02 s = . +hash :songs, :class => Song::parsing#test_0002_doesn't modify the incoming hash = 0.00 s = . +hash :songs, :class => Song::parsing#test_0001_parses incoming hash = 0.00 s = . +::collection::nil collections#test_0001_doesn't render collection in yaml = 0.00 s = . +#each#test_0001_what = 0.00 s = . XmlPublicMethodsTest#test_0001_anonymous = 0.00 s = . XmlPublicMethodsTest#test_0002_anonymous = 0.00 s = . -with user :parse_filter and :render_filter#test_0001_anonymous = 0.00 s = . +XmlPublicMethodsTest#test_0004_anonymous = 0.02 s = . +XmlPublicMethodsTest#test_0003_anonymous = 0.01 s = . +:as#test_0001_collects untyped items = 0.00 s = . +#merge!#test_0001_anonymous = 0.00 s = . +#merge!#test_0004_anonymous = 0.00 s = . +#merge!#test_0003_anonymous = 0.00 s = . +#merge!#test_0005_anonymous = 0.00 s = . +#merge!#test_0002_anonymous = 0.00 s = . +helper method within inline representer [xml]#test_0001_anonymous = 0.01 s = . +XMLPropertyTest#test_0001_anonymous = 0.01 s = . +XMLPropertyTest#test_0002_anonymous = 0.01 s = . +HashBinding::with plain text items#test_0002_inserts with #write = 0.00 s = . +HashBinding::with plain text items#test_0001_extracts with #read = 0.00 s = . +GetterSetterTest#test_0001_uses :getter when rendering = 0.00 s = . +GetterSetterTest#test_0002_uses :setter when parsing = 0.00 s = . +[json] collection with :class#test_0001_anonymous = 0.00 s = . +[json] collection with :class#test_0002_anonymous = 0.00 s = . +XML::AttributeHash::#to_xml#test_0002_respects :exclude = /build/ruby-representable-3.0.4/debian/ruby-representable/usr/lib/ruby/vendor_ruby/representable/hash_methods.rb:24: warning: extra states are no longer copied: {"one"=>"Graveyards", "two"=>"Can't Take Them All"} +0.01 s = . +XML::AttributeHash::#to_xml#test_0003_respects :include = /build/ruby-representable-3.0.4/debian/ruby-representable/usr/lib/ruby/vendor_ruby/representable/hash_methods.rb:24: warning: extra states are no longer copied: {"one"=>"Graveyards", "two"=>"Can't Take Them All"} +0.01 s = . +XML::AttributeHash::#to_xml#test_0004_renders hash with decorator = 0.01 s = . +XML::AttributeHash::#to_xml#test_0001_renders hash = 0.01 s = . +parsing [hash] where nested property missing#test_0001_doesn't change represented object = 0.00 s = . +JSON::Hash::with contained objects::#from_json#test_0001_returns objects array = 0.00 s = . +JSON::Hash::with contained objects::#from_json#test_0002_parses hash with decorator = 0.00 s = . +JSON::Hash::with contained objects::#from_json#test_0003_respects :exclude = 0.00 s = . +JSON::Hash::with contained objects::#from_json#test_0004_respects :include = 0.00 s = . +collection :name#test_0001_#from_json creates correct accessors = 0.00 s = . +collection :name#test_0002_zzz#to_json serializes correctly = 0.00 s = . +serialize#test_0001_anonymous = 0.00 s = . +Xml module::#from_xml#test_0001_parses XML and assigns properties = 0.00 s = . +#Insert Pipeline[], Function, replace: OldFunction#test_0003_replaces Function instance = 0.00 s = . +#Insert Pipeline[], Function, replace: OldFunction#test_0005_applies on nested Collect = 0.00 s = . +#Insert Pipeline[], Function, replace: OldFunction#test_0001_returns Pipeline instance when passing in Pipeline instance = 0.00 s = . +#Insert Pipeline[], Function, replace: OldFunction#test_0006_applies on nested Collect with Function::CreateObject = 0.00 s = . +#Insert Pipeline[], Function, replace: OldFunction#test_0002_replaces if exists = 0.00 s = . +#Insert Pipeline[], Function, replace: OldFunction#test_0004_does not replace when not existing = 0.00 s = . +collection::with :class and :extend::#from_yaml#test_0001_parses collection of typed property = 0.00 s = . +[yaml] collection with :class#test_0002_anonymous = 0.00 s = . +[yaml] collection with :class#test_0001_anonymous = 0.00 s = . +inheritance#test_0004_anonymous = 0.00 s = . +inheritance#test_0002_allows mixing in multiple representers = 0.01 s = . +inheritance#test_0003_allows extending with different representers subsequentially = 0.01 s = . +inheritance#test_0001_merges properties from all ancestors = 0.00 s = . +inheritance#test_0005_anonymous = 0.00 s = . +#[]#test_0001_anonymous = 0.00 s = . +::nested with (inline representer|decorator): true#test_0002_parses nested properties to Album instance = 0.00 s = . +::nested with (inline representer|decorator): true#test_0001_renders nested Album-properties in separate section = 0.00 s = . +collection with :instance#test_0001_anonymous = 0.00 s = . +#options#test_0001_anonymous = 0.00 s = . +#options#test_0002_anonymous = 0.00 s = . +propagating user options to the block#test_0002_passes user options to block = 0.00 s = . +propagating user options to the block#test_0001_works without specifying options = 0.00 s = . +#[]=#test_0001_raises exception since it's deprecated = 0.00 s = . +representable: false, with class:#test_0001_does extend but doesn't call #from_hash = 0.00 s = . +::nested with (inline representer|decorator): false#test_0002_parses nested properties to Album instance = 0.00 s = . +::nested with (inline representer|decorator): false#test_0001_renders nested Album-properties in separate section = 0.00 s = . +as: with lambda#test_0001_anonymous = 0.00 s = . +as: with lambda#test_0002_anonymous = 0.00 s = . +:extend and :class::::prepare::module including Representable#test_0001_uses :extend strategy = 0.00 s = . +XML::Collection::with contained objects#test_0002_renders array with decorator = 0.01 s = . +XML::Collection::with contained objects#test_0001_renders array = 0.02 s = . +XML::Collection::with contained objects#test_0003_parses array = 0.00 s = . +XML::Collection::with contained objects#test_0004_parses array with decorator = 0.00 s = . +class: implementing #from_hash#test_0001_allows returning arbitrary objects in #from_hash = 0.00 s = . +wrapping#test_0001_returns false per default = 0.00 s = . +JSON::Hash::with scalar::#to_json#test_0001_anonymous = 0.00 s = . +generic API::#clone#test_0002_anonymous = 0.00 s = . +generic API::#clone#test_0001_anonymous = 0.00 s = . +generic API::#clone#test_0003_clones @options = 0.00 s = . +:wrap::#from_xml#test_0001_finds items in wrapped collection = 0.00 s = . +Module#to_/from_hash#test_0001_anonymous = 0.00 s = . +Module#to_/from_hash#test_0002_anonymous = 0.00 s = . +direct defaults hash#test_0001_anonymous = 0.00 s = . +ReaderWriterTest#test_0001_uses :writer when rendering = 0.00 s = . +ReaderWriterTest#test_0002_uses :reader when parsing = 0.00 s = . +[yaml] with :class#test_0001_anonymous = 0.00 s = . +[yaml] with :class#test_0002_anonymous = 0.00 s = . +Insert.(delete: true)#test_0001_anonymous = 0.00 s = . +#to_hash#test_0001_renders collection of typed property = 0.00 s = . +::nested without block but with inherit:#test_0001_renders nested Album-properties in separate section = 0.00 s = . +#skipable_empty_value?#test_0001_anonymous = 0.00 s = . +#skipable_empty_value?#test_0002_anonymous = 0.00 s = . +#skipable_empty_value?#test_0003_anonymous = 0.00 s = . +#skipable_empty_value?#test_0004_anonymous = 0.00 s = . +#to_hash#test_0001_calls prepare:, nothing else = 0.00 s = . +::collection::render_empty [hash]#test_0001_anonymous = 0.00 s = . +property::#from_yaml#test_0001_parses plain property = 0.00 s = . +:collection => true#test_0001_responds to #array? = 0.00 s = . +#has_default?#test_0001_returns false if no :default set = 0.00 s = . +#has_default?#test_0002_returns true if :default set = 0.00 s = . +[hash] with :class#test_0001_anonymous = 0.00 s = . +[hash] with :class#test_0002_anonymous = 0.00 s = . +#delete!#test_0001_anonymous = 0.00 s = . +ConfigInheritTest#test_0011_anonymous = 0.00 s = . +ConfigInheritTest#test_0008_anonymous = 0.00 s = . +ConfigInheritTest#test_0002_anonymous = 0.00 s = . +ConfigInheritTest#test_0016_anonymous = 0.00 s = . +ConfigInheritTest#test_0019_anonymous = 0.00 s = . +ConfigInheritTest#test_0018_anonymous = 0.00 s = . +ConfigInheritTest#test_0006_anonymous = 0.00 s = . +ConfigInheritTest#test_0013_anonymous = 0.00 s = . +ConfigInheritTest#test_0015_anonymous = 0.00 s = . +ConfigInheritTest#test_0001_anonymous = 0.00 s = . +ConfigInheritTest#test_0007_anonymous = 0.00 s = . +ConfigInheritTest#test_0009_anonymous = 0.00 s = . +ConfigInheritTest#test_0003_anonymous = 0.00 s = . +ConfigInheritTest#test_0005_anonymous = 0.00 s = . +ConfigInheritTest#test_0012_anonymous = 0.00 s = . +ConfigInheritTest#test_0004_anonymous = 0.00 s = . +ConfigInheritTest#test_0014_anonymous = 0.00 s = . +ConfigInheritTest#test_0010_anonymous = 0.00 s = . +ConfigInheritTest#test_0017_anonymous = 0.00 s = . +:extend and :class::collection with :extend#test_0001_uses lambda for each item when rendering = 0.00 s = . +:extend and :class::collection with :extend#test_0002_uses lambda for each item when parsing = 0.00 s = . +lambda { nil }#test_0001_anonymous = 0.00 s = . +:class => Item:::different_name, :class => Label#test_0001_#to_xml respects the different name = 0.00 s = . +:extend and :class:::decorator#test_0001_is aliased to :extend = 0.00 s = . +generic API::#representable?#test_0004_anonymous = 0.00 s = . +generic API::#representable?#test_0003_anonymous = 0.00 s = . +generic API::#representable?#test_0001_anonymous = 0.00 s = . +generic API::#representable?#test_0002_anonymous = 0.00 s = . +generic API::#representable?#test_0005_anonymous = 0.00 s = . +inline decorators#test_0001_does not pollute represented = 0.00 s = . +::collection#test_0001_doesn't initialize property = 0.00 s = . +::collection#test_0002_leaves properties untouched = 0.00 s = . +collection::#from_yaml#test_0001_parses a block style list = 0.00 s = . +collection::#from_yaml#test_0002_parses a flow style list = 0.00 s = . +#hash#test_0001_also responds to the original method = 0.00 s = . +HashPublicMethodsTest#test_0004_anonymous = 0.00 s = . +HashPublicMethodsTest#test_0003_anonymous = 0.00 s = . +HashPublicMethodsTest#test_0001_anonymous = 0.00 s = . +HashPublicMethodsTest#test_0002_anonymous = 0.00 s = . +overwriting without :inherit#test_0001_replaces inherited property = 0.00 s = . +inheritance#test_0001_anonymous = 0.00 s = . with user :parse_filter and :render_filter#test_0002_anonymous = 0.00 s = . +with user :parse_filter and :render_filter#test_0001_anonymous = 0.00 s = . +lambda receiving fragment and args#test_0001_anonymous = 0.00 s = . +#from_hash::with :wrap#test_0001_parses symbols, too = 0.01 s = . +IncludeExcludeTest#test_0001_xdoes not propagate private options to nested objects = 0.00 s = . +JSON::Hash::with contained objects::with inline representer#test_0001_anonymous = 0.00 s = . +JSON::Hash::with contained objects::with inline representer#test_0002_anonymous = 0.00 s = . +Xml module::#to_node#test_0001_returns Nokogiri node = 0.00 s = . +Xml module::#to_node#test_0002_wraps with infered class name per default = 0.02 s = . +Xml module::#to_node#test_0003_respects #representation_wrap= = 0.01 s = . +AsXmlTest#test_0001_anonymous = 0.00 s = S +deserialization#test_0001_anonymous = 0.00 s = . +deserialization#test_0002_xxx = 0.08 s = . +InheritanceWithDecoratorTest#test_0001_anonymous = 0.00 s = . +:class => Item::#to_xml#test_0001_doesn't escape xml from Band#to_xml = 0.01 s = . +:class => Item::#to_xml#test_0002_doesn't escape and wrap string from Band#to_node = 0.01 s = . +#inspect#test_0001_anonymous = 0.00 s = . +Module::for_collection without configuration [json]#test_0001_anonymous = 0.00 s = . +Module::for_collection without configuration [hash]#test_0001_anonymous = 0.00 s = . +:getter with :decorator#test_0001_renders nested Album-properties in separate section = 0.00 s = . +JSON module::#from_hash#test_0001_receives hash and assigns properties = 0.00 s = . +JSON module::#from_hash#test_0002_respects :wrap option = 0.00 s = . +JSON module::#from_hash#test_0003_respects :wrap option over representation_wrap = 0.00 s = . +#create_binding#test_0001_executes the block (without special context) = 0.00 s = . +#get#test_0001_anonymous = 0.00 s = . +plain text#test_0001_anonymous = 0.01 s = . +:default => value#test_0001_responds to #default = 0.00 s = . +:default => value#test_0002_accepts a default value = 0.00 s = . +render_nil: true#test_0001_anonymous = 0.00 s = . +collection::with :class and :extend::#to_yaml#test_0001_renders collection of typed property = 0.00 s = . +hash :songs, :class => Song#test_0001_renders = 0.00 s = . +Decorator::exec_context: :binding#test_0001_anonymous = 0.00 s = . +Decorator::exec_context: :binding#test_0002_xxx = 0.00 s = . +JSON::Hash::with contained text#test_0002_returns objects array from #from_json = 0.00 s = . +JSON::Hash::with contained text#test_0001_renders contained items #to_json = 0.00 s = . +ContentBinding#test_0001_extracts with #read = 0.00 s = . +ContentBinding#test_0002_inserts with #write = 0.01 s = . +[json] dynamic wrap#test_0001_anonymous = 0.00 s = . +[json] dynamic wrap#test_0002_anonymous = 0.00 s = . +Collect::Pipeline with Collect#test_0001_anonymous = 0.00 s = . +with objects#test_0001_anonymous = 0.01 s = . +inheriting from outer representer#test_0003_anonymous = 0.00 s = . +inheriting from outer representer#test_0001_anonymous = 0.00 s = . +inheriting from outer representer#test_0004_anonymous = 0.00 s = . +inheriting from outer representer#test_0002_anonymous = 0.00 s = . +Decorator::for_collection [json]#test_0001_anonymous = 0.00 s = . +Decorator::for_collection [json]#test_0002_anonymous = 0.00 s = . +WrapTest#test_0001_returns false per default = 0.00 s = . +WrapTest#test_0002_infers a printable class name if set to true = 0.00 s = . +WrapTest#test_0003_can be set explicitely = 0.00 s = . +Decorator#to_/from_json#test_0001_anonymous = 0.00 s = . +Decorator#to_/from_json#test_0002_anonymous = 0.00 s = . +DCI#test_0002_extends contained models when serializing = 0.00 s = . +DCI#test_0001_allows adding the representer by using #extend = 0.00 s = . +DCI#test_0003_extends contained models when deserializing = 0.00 s = . +property::with :class and :extend::#from_yaml#test_0001_parses embedded typed property = 0.00 s = . +with :extend it shouldn't extend nil#test_0001_anonymous = 0.00 s = . +XMLDisableWrapTest#test_0001_anonymous = 0.02 s = . +XMLDisableWrapTest#test_0002_rendersxx = 0.00 s = S +RenderPipelineOptionTest#test_0001_anonymous = 0.00 s = . +RenderPipelineOptionTest#test_0002_anonymous = 0.00 s = . +RenderPipelineOptionTest#test_0003_is cached = 0.00 s = . +update existing elements, only#test_0001_hooray = 0.00 s = . +#from_hash#test_0001_parses symbols, too = 0.00 s = . +#from_hash#test_0002_still parses strings = 0.00 s = . +:extend and :class::lambda blocks#test_0001_executes lambda in represented instance context = 0.00 s = . +::nested with (inline representer|decorator): false#test_0001_renders nested Album-properties in separate section = 0.00 s = . +::nested with (inline representer|decorator): false#test_0002_parses nested properties to Album instance = 0.00 s = . +property with :instance#test_0002_anonymous = 0.00 s = . +property with :instance#test_0001_xxx = 0.00 s = . +populator: ->{}#test_0001_anonymous = 0.00 s = . +Module#to_/from_hash#test_0001_anonymous = 0.00 s = . +Module#to_/from_hash#test_0002_anonymous = 0.00 s = . +:as => rel, :attribute => true#test_0001_#from_xml creates correct accessors = 0.00 s = . +:as => rel, :attribute => true#test_0002_#to_xml serializes correctly = 0.01 s = . +DecoratorScopeTest#test_0002_executes method in represented context = 0.00 s = . +DecoratorScopeTest#test_0001_executes lambdas in represented context = 0.00 s = . +JSON module::#build_for#test_0001_returns TextBinding = 0.00 s = . +JSON module::#build_for#test_0002_returns CollectionBinding = 0.00 s = . #to_hash#test_0001_renders a block style list per default = 0.00 s = . -Xml module::DCI#test_0002_extends contained models when serializing = 0.03 s = . +HashWithTypedPropertyAndAs#test_0001_anonymous = 0.00 s = . +HashWithTypedPropertyAndAs#test_0002_anonymous = 0.00 s = . +generic API::nested: FIXME#test_0001_anonymous = 0.00 s = . +VirtusCoercionTest#test_0001_anonymous = 0.00 s = . +VirtusCoercionTest#test_0002_anonymous = 0.00 s = . +#to_hash#test_0001_renders plain property = 0.00 s = . +property with lambda receiving fragment and args#test_0001_anonymous = 0.00 s = . +JSON::Collection::with contained objects#test_0002_renders array with decorator = 0.00 s = . +JSON::Collection::with contained objects#test_0004_parses array with decorator = 0.00 s = . +JSON::Collection::with contained objects#test_0001_renders array = 0.00 s = . +JSON::Collection::with contained objects#test_0003_parses array = 0.00 s = . +[hash] collection with :class#test_0001_anonymous = 0.00 s = . +[hash] collection with :class#test_0002_anonymous = 0.00 s = . +#to_json#test_0001_uses :default when not available from object = 0.00 s = . +#to_json#test_0002_uses value from represented object when present = 0.00 s = . +#to_json#test_0003_uses value from represented object when emtpy string = 0.00 s = . +collection: lambda receiving fragment and args#test_0001_anonymous = 0.00 s = . +#from_hash#test_0001_returns represented = 0.00 s = . +#from_hash#test_0002_parses = 0.00 s = . +[json] lonely collection, render-only#test_0001_calls #to_hash on song instances, nothing else = 0.00 s = . +#parse_filter#test_0001_anonymous = [Declarative] Defaults#merge! and #call still accept arrays and automatically prepend those. This is now deprecated, you should replace `ary` with `Declarative::Variables::Append(ary)`. +0.00 s = . +#parse_filter#test_0002_anonymous = [Declarative] Defaults#merge! and #call still accept arrays and automatically prepend those. This is now deprecated, you should replace `ary` with `Declarative::Variables::Append(ary)`. +0.00 s = . +deserialize#test_0001_anonymous = 0.00 s = . +:class => Band, :as => :band, :collection => true#test_0001_responds to #to_xml = 0.01 s = . +:wrap::#to_xml#test_0001_wraps items = 0.01 s = . +transforming nil to [] when parsing#test_0001_anonymous = 0.00 s = . +transforming nil to [] when parsing#test_0002_anonymous = 0.00 s = . +Module#test_0001_anonymous = 0.00 s = . +[hash] dynamic wrap#test_0002_anonymous = 0.00 s = . +[hash] dynamic wrap#test_0001_anonymous = 0.00 s = . +generic API::#typed?#test_0001_is false per default = 0.00 s = . +generic API::#typed?#test_0003_is true when :extend is present, only = 0.00 s = . +generic API::#typed?#test_0004_is true when :instance is present, only = 0.00 s = . +generic API::#typed?#test_0002_is true when :class is present = 0.00 s = . +:class => Item#test_0001_#from_json creates one Item instance = 0.00 s = . +:class => Item#test_0002_#to_json serializes = 0.00 s = . +::collection::empty collections#test_0001_renders empty collection in hash = 0.00 s = . +#from_hash#test_0001_parses plain property = 0.00 s = . +#from_hash#test_0002_allows nil value in the incoming document and corresponding nil value for the represented = 0.00 s = . +helper method within inline representer [yaml]#test_0001_anonymous = 0.00 s = . +:extend and :class::property with :extend#test_0001_uses lambda when rendering = 0.00 s = . +:extend and :class::property with :extend#test_0002_uses lambda when parsing = 0.00 s = . +Xml module::DCI#test_0002_extends contained models when serializing = 0.01 s = . Xml module::DCI#test_0003_extends contained models when deserializing = 0.00 s = . -Xml module::DCI#test_0001_allows adding the representer by using #extend = 0.02 s = . -:inherit with empty inline and options#test_0002_anonymous = 0.00 s = . -:inherit with empty inline and options#test_0001_anonymous = 0.00 s = . +Xml module::DCI#test_0001_allows adding the representer by using #extend = 0.01 s = . +FindOrInstantiate with property#test_0001_finds by :id and creates new without :id = +[Deserialize]......... +[Deserialize] document {"song"=>{"id"=>1, "title"=>"Resist Stance"}} +Pipeline#call: Pipeline[StopOnExcluded, AssignName, ReadFragment, StopOnNotFound, OverwriteOnNil, AssignFragment, FindOrInstantiate, #, Deserialize] + input: {"song"=>{"id"=>1, "title"=>"Resist Stance"}} + Pipeline : -> StopOnExcluded + Pipeline : result: {"song"=>{"id"=>1, "title"=>"Resist Stance"}} + Pipeline : -> AssignName + Pipeline : result: {"song"=>{"id"=>1, "title"=>"Resist Stance"}} + Pipeline : -> ReadFragment + Pipeline : result: {"id"=>1, "title"=>"Resist Stance"} + Pipeline : -> StopOnNotFound + Pipeline : result: {"id"=>1, "title"=>"Resist Stance"} + Pipeline : -> OverwriteOnNil + Pipeline : result: {"id"=>1, "title"=>"Resist Stance"} + Pipeline : -> AssignFragment + Pipeline : result: {"id"=>1, "title"=>"Resist Stance"} + Pipeline : -> FindOrInstantiate + Pipeline : result: # + Pipeline : -> # + #evaluate_option [extend]: eval!!! + #evaluate_option [extend]: --> # + Pipeline : result: # + Pipeline : -> Deserialize + Pipeline : result: # +0.00 s = . +FindOrInstantiate with property#test_0002_creates new without :id = +[Deserialize]......... +[Deserialize] document {"song"=>{"title"=>"Lower"}} +Pipeline#call: Pipeline[StopOnExcluded, AssignName, ReadFragment, StopOnNotFound, OverwriteOnNil, AssignFragment, FindOrInstantiate, #, Deserialize] + input: {"song"=>{"title"=>"Lower"}} + Pipeline : -> StopOnExcluded + Pipeline : result: {"song"=>{"title"=>"Lower"}} + Pipeline : -> AssignName + Pipeline : result: {"song"=>{"title"=>"Lower"}} + Pipeline : -> ReadFragment + Pipeline : result: {"title"=>"Lower"} + Pipeline : -> StopOnNotFound + Pipeline : result: {"title"=>"Lower"} + Pipeline : -> OverwriteOnNil + Pipeline : result: {"title"=>"Lower"} + Pipeline : -> AssignFragment + Pipeline : result: {"title"=>"Lower"} + Pipeline : -> FindOrInstantiate + Pipeline : result: # + Pipeline : -> # + #evaluate_option [extend]: eval!!! + #evaluate_option [extend]: --> # + Pipeline : result: # + Pipeline : -> Deserialize + Pipeline : result: # +0.00 s = . +Insert.(delete: true) with Collect#test_0001_anonymous = 0.00 s = . +JSON module::#from_json#test_0001_parses JSON and assigns properties = 0.00 s = . +3-level deep with features#test_0001_anonymous = 0.00 s = . +3-level deep with features#test_0002_anonymous = 0.00 s = . +direct defaults hash with dynamic options#test_0001_anonymous = 0.00 s = . +#to_object#test_0001_anonymous = 0.00 s = . +property::#to_yaml#test_0001_renders plain property = 0.00 s = . +property::#to_yaml#test_0002_always renders values into strings = 0.00 s = . +Collect#test_0001_anonymous = 0.00 s = . +Decorator ::nested with extend:#test_0001_renders nested Album-properties in separate section = 0.00 s = . +Decorator ::nested with extend:#test_0002_parses nested properties to Album instance = 0.00 s = . +representable: false, extend:#test_0001_does extend but doesn't call #to_hash = 0.00 s = . +[xml] lonely collection, render-only#test_0001_calls #to_hash on song instances, nothing else = 0.01 s = . +Module::for_collection [hash]#test_0003_anonymous = 0.00 s = . +Module::for_collection [hash]#test_0001_anonymous = 0.00 s = . +Module::for_collection [hash]#test_0002_anonymous = 0.00 s = . +ParsePipelineTest#test_0001_anonymous = 0.00 s = S +hash :songs#test_0001_renders with #to_json = 0.00 s = . +hash :songs#test_0002_parses with #from_json = 0.00 s = . +IfTest#test_0001_respects property when condition true = 0.00 s = . +IfTest#test_0002_ignores property when condition false = 0.00 s = . +IfTest#test_0003_ignores property when :exclude'ed even when condition is true = 0.00 s = . +IfTest#test_0004_executes block in instance context = 0.00 s = . +[json] with :class#test_0002_anonymous = 0.00 s = . +[json] with :class#test_0001_anonymous = 0.00 s = . +#[]#test_0001_anonymous = 0.00 s = . +Decorator::exec_context: :decorator#test_0002_anonymous = 0.00 s = . +Decorator::exec_context: :decorator#test_0001_anonymous = 0.00 s = . +:as => :songList#test_0001_respects :as in #from_json = 0.00 s = . +:as => :songList#test_0002_respects option in #to_json = 0.00 s = . +Xml module::#from_node#test_0001_receives Nokogiri node and assigns properties = 0.00 s = . +lambda arguments#test_0001_anonymous = 0.00 s = . +lambda arguments#test_0002_anonymous = 0.00 s = . +serialization#test_0001_anonymous = 0.00 s = . +serialization#test_0002_anonymous = 0.00 s = . +#assert_json#test_0001_tests for equality = 0.00 s = . +#assert_json#test_0002_allows different key orders = 0.00 s = . +#assert_json#test_0003_complains when expected hash is subset = 0.02 s = . +#assert_json#test_0004_complains when source hash is subset = 0.01 s = . +Decorator#to_/from_hash#test_0002_anonymous = 0.00 s = . +Decorator#to_/from_hash#test_0001_anonymous = 0.00 s = . +FilterTest#test_0002_anonymous = 0.00 s = . +FilterTest#test_0001_anonymous = 0.00 s = . +add incoming elements, only#test_0001_anonymous = 0.00 s = . +Decorator::exec_context: nil#test_0001_anonymous = 0.00 s = . +Decorator::exec_context: nil#test_0002_anonymous = 0.00 s = . +:as => :songName#test_0002_respects :as in #to_json = 0.00 s = . +:as => :songName#test_0001_respects :as in #from_json = 0.00 s = . +SchemaTest#test_0001_anonymous = 0.00 s = . +SchemaTest#test_0002_anonymous = 0.00 s = . +SchemaTest#test_0003_anonymous = 0.00 s = . +JSON::Hash::with contained objects::#to_json#test_0002_renders hash with decorator = 0.00 s = . +JSON::Hash::with contained objects::#to_json#test_0003_respects :exclude = /build/ruby-representable-3.0.4/debian/ruby-representable/usr/lib/ruby/vendor_ruby/representable/hash_methods.rb:24: warning: extra states are no longer copied: {:one=>#, :two=>#} +0.00 s = . +JSON::Hash::with contained objects::#to_json#test_0001_renders hash = 0.00 s = . +JSON::Hash::with contained objects::#to_json#test_0004_respects :include = /build/ruby-representable-3.0.4/debian/ruby-representable/usr/lib/ruby/vendor_ruby/representable/hash_methods.rb:24: warning: extra states are no longer copied: {:one=>#, :two=>#} +0.00 s = . +prioritizes specific options#test_0001_anonymous = 0.00 s = . +ObjectTest#test_0001_anonymous = 0.00 s = . +ObjectTest#test_0002_anonymous = 0.00 s = . +hash options combined with dynamic options#test_0001_anonymous = 0.00 s = . +:extend and :class::collection with :extend::with :class lambda#test_0001_creates instance from :class lambda for each item when parsing = 0.00 s = . +Hash::Collection with dynamic options#test_0001_anonymous = 0.00 s = . +[xml] with :class#test_0001_anonymous = 0.01 s = . [xml] with :class#test_0002_anonymous = 0.00 s = . -[xml] with :class#test_0001_anonymous = 0.02 s = . -with only hashes#test_0001_anonymous = 0.00 s = . -collection with :instance#test_0001_anonymous = 0.00 s = . -ReaderWriterTest#test_0001_uses :writer when rendering = 0.00 s = . -ReaderWriterTest#test_0002_uses :reader when parsing = 0.00 s = . -:extend and :class::property with :extend::with :class lambda#test_0001_creates instance from :class lambda when parsing = 0.00 s = . - -Finished in 1.333632s, 407.1589 runs/s, 524.1328 assertions/s. - - 1) Skipped: -XMLDisableWrapTest#test_0002_rendersxx [/build/ruby-representable-3.0.4/test/wrap_test.rb:144]: -Skipped, no message given - - 2) Skipped: -AsXmlTest#test_0001_anonymous [/build/ruby-representable-3.0.4/test/as_test.rb:62]: -Skipped, no message given - - 3) Skipped: -ParsePipelineTest#test_0001_anonymous [/build/ruby-representable-3.0.4/test/parse_pipeline_test.rb:57]: -TODO: implement :parse_pipeline and :render_pipeline, and before/after/replace semantics - -543 runs, 699 assertions, 0 failures, 0 errors, 3 skips +object pollution#test_0001_uses an inline decorator and doesn't alter represented = 0.00 s = . +define method inline with Decorator#test_0001_anonymous = 0.00 s = . ┌──────────────────────────────────────────────────────────────────────────────┐ │ dh_ruby --install finished │ @@ -1996,12 +2014,14 @@ dpkg-source --after-build . dpkg-buildpackage: info: binary-only upload (no source included) I: copying local configuration +I: user script /srv/workspace/pbuilder/31021/tmp/hooks/B01_cleanup starting +I: user script /srv/workspace/pbuilder/31021/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/30063 and its subdirectories -I: Current time: Sun Jul 4 01:03:41 -12 2021 -I: pbuilder-time-stamp: 1625403821 +I: removing directory /srv/workspace/pbuilder/31021 and its subdirectories +I: Current time: Sun Aug 7 09:27:33 +14 2022 +I: pbuilder-time-stamp: 1659814053