0s autopkgtest [10:54:45]: starting date and time: 2024-03-20 10:54:45+0000 0s autopkgtest [10:54:45]: git checkout: 4a1cd702 l/adt_testbed: don't blame the testbed for unsolvable build deps 0s autopkgtest [10:54:45]: host juju-7f2275-prod-proposed-migration-environment-2; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.pfdrw3fk/out --timeout-copy=6000 --setup-commands /home/ubuntu/autopkgtest-cloud/worker-config-production/setup-canonical.sh --apt-pocket=proposed=src:jruby --apt-upgrade ruby-concurrent --timeout-short=300 --timeout-copy=20000 --timeout-build=20000 --env=ADT_TEST_TRIGGERS=jruby/9.4.6.0+ds-1ubuntu3 -- ssh -s /home/ubuntu/autopkgtest/ssh-setup/nova -- --flavor autopkgtest --security-groups autopkgtest-juju-7f2275-prod-proposed-migration-environment-2@bos03-arm64-4.secgroup --name adt-noble-arm64-ruby-concurrent-20240320-105444-juju-7f2275-prod-proposed-migration-environment-2 --image adt/ubuntu-noble-arm64-server --keyname testbed-juju-7f2275-prod-proposed-migration-environment-2 --net-id=net_prod-proposed-migration -e TERM=linux -e ''"'"'http_proxy=http://squid.internal:3128'"'"'' -e ''"'"'https_proxy=http://squid.internal:3128'"'"'' -e ''"'"'no_proxy=127.0.0.1,127.0.1.1,login.ubuntu.com,localhost,localdomain,novalocal,internal,archive.ubuntu.com,ports.ubuntu.com,security.ubuntu.com,ddebs.ubuntu.com,changelogs.ubuntu.com,launchpadlibrarian.net,launchpadcontent.net,launchpad.net,10.24.0.0/24,keystone.ps5.canonical.com,objectstorage.prodstack5.canonical.com'"'"'' --mirror=http://ftpmaster.internal/ubuntu/ 112s autopkgtest [10:56:37]: testbed dpkg architecture: arm64 112s autopkgtest [10:56:37]: testbed apt version: 2.7.12 112s autopkgtest [10:56:37]: @@@@@@@@@@@@@@@@@@@@ test bed setup 112s Get:1 http://ftpmaster.internal/ubuntu noble-proposed InRelease [117 kB] 112s Get:2 http://ftpmaster.internal/ubuntu noble-proposed/multiverse Sources [52.7 kB] 113s Get:3 http://ftpmaster.internal/ubuntu noble-proposed/universe Sources [3766 kB] 113s Get:4 http://ftpmaster.internal/ubuntu noble-proposed/main Sources [496 kB] 113s Get:5 http://ftpmaster.internal/ubuntu noble-proposed/restricted Sources [6540 B] 113s Get:6 http://ftpmaster.internal/ubuntu noble-proposed/main arm64 Packages [670 kB] 113s Get:7 http://ftpmaster.internal/ubuntu noble-proposed/main arm64 c-n-f Metadata [3144 B] 113s Get:8 http://ftpmaster.internal/ubuntu noble-proposed/restricted arm64 Packages [41.7 kB] 113s Get:9 http://ftpmaster.internal/ubuntu noble-proposed/restricted arm64 c-n-f Metadata [116 B] 113s Get:10 http://ftpmaster.internal/ubuntu noble-proposed/universe arm64 Packages [4234 kB] 113s Get:11 http://ftpmaster.internal/ubuntu noble-proposed/universe arm64 c-n-f Metadata [8528 B] 113s Get:12 http://ftpmaster.internal/ubuntu noble-proposed/multiverse arm64 Packages [56.7 kB] 113s Get:13 http://ftpmaster.internal/ubuntu noble-proposed/multiverse arm64 c-n-f Metadata [116 B] 115s Fetched 9452 kB in 2s (4718 kB/s) 116s Reading package lists... 118s Reading package lists... 119s Building dependency tree... 119s Reading state information... 119s Calculating upgrade... 120s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 120s Reading package lists... 120s Building dependency tree... 120s Reading state information... 121s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 121s Hit:1 http://ftpmaster.internal/ubuntu noble InRelease 121s Hit:2 http://ftpmaster.internal/ubuntu noble-updates InRelease 121s Hit:3 http://ftpmaster.internal/ubuntu noble-security InRelease 121s Hit:4 http://ftpmaster.internal/ubuntu noble-proposed InRelease 123s Reading package lists... 123s Reading package lists... 124s Building dependency tree... 124s Reading state information... 124s Calculating upgrade... 124s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 124s Reading package lists... 125s Building dependency tree... 125s Reading state information... 125s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 128s autopkgtest [10:56:53]: testbed running kernel: Linux 6.8.0-11-generic #11-Ubuntu SMP PREEMPT_DYNAMIC Wed Feb 14 02:53:31 UTC 2024 128s autopkgtest [10:56:53]: @@@@@@@@@@@@@@@@@@@@ apt-source ruby-concurrent 131s Get:1 http://ftpmaster.internal/ubuntu noble/universe ruby-concurrent 1.1.6+dfsg-5build3 (dsc) [2351 B] 131s Get:2 http://ftpmaster.internal/ubuntu noble/universe ruby-concurrent 1.1.6+dfsg-5build3 (tar) [1390 kB] 131s Get:3 http://ftpmaster.internal/ubuntu noble/universe ruby-concurrent 1.1.6+dfsg-5build3 (diff) [5964 B] 132s gpgv: Signature made Fri Feb 2 03:19:32 2024 UTC 132s gpgv: using RSA key 8ED6C3F8BAC9DB7FC130A870F823A2729883C97C 132s gpgv: issuer "kanashiro@ubuntu.com" 132s gpgv: Can't check signature: No public key 132s dpkg-source: warning: cannot verify inline signature for ./ruby-concurrent_1.1.6+dfsg-5build3.dsc: no acceptable signature found 132s autopkgtest [10:56:57]: testing package ruby-concurrent version 1.1.6+dfsg-5build3 132s autopkgtest [10:56:57]: build not needed 134s autopkgtest [10:56:59]: test command1: preparing testbed 138s Reading package lists... 138s Building dependency tree... 139s Reading state information... 139s Starting pkgProblemResolver with broken count: 0 139s Starting 2 pkgProblemResolver with broken count: 0 139s Done 140s The following additional packages will be installed: 140s autoconf automake autopoint autotools-dev build-essential cpp cpp-13 140s cpp-13-aarch64-linux-gnu cpp-aarch64-linux-gnu debhelper debugedit 140s devscripts dh-autoreconf dh-strip-nondeterminism dwz g++ g++-13 140s g++-13-aarch64-linux-gnu g++-aarch64-linux-gnu gcc gcc-13 140s gcc-13-aarch64-linux-gnu gcc-aarch64-linux-gnu gem2deb gem2deb-test-runner 140s gettext intltool-debian libarchive-zip-perl libasan8 libatomic1 140s libb-hooks-op-check-perl libc-dev-bin libc6-dev libcc1-0 140s libclass-method-modifiers-perl libclass-xsaccessor-perl libclone-perl 140s libcrypt-dev libdebhelper-perl libdevel-callchecker-perl libdw1 140s libdynaloader-functions-perl libencode-locale-perl libfile-dirlist-perl 140s libfile-homedir-perl libfile-listing-perl libfile-stripnondeterminism-perl 140s libfile-touch-perl libfile-which-perl libgcc-13-dev libgmp-dev libgmpxx4ldbl 140s libgomp1 libhtml-parser-perl libhtml-tagset-perl libhtml-tree-perl 140s libhttp-cookies-perl libhttp-date-perl libhttp-message-perl 140s libhttp-negotiate-perl libhwasan0 libimport-into-perl libio-html-perl 140s libio-pty-perl libio-socket-ssl-perl libipc-run-perl libisl23 libitm1 140s liblsan0 liblwp-mediatypes-perl liblwp-protocol-https-perl 140s libmodule-runtime-perl libmoo-perl libmpc3 libnet-http-perl 140s libnet-ssleay-perl libnsl-dev libparams-classify-perl librole-tiny-perl 140s libruby libruby3.1 libruby3.2 libstdc++-13-dev libsub-override-perl 140s libsub-quote-perl libtimedate-perl libtirpc-dev libtool libtry-tiny-perl 140s libtsan2 libubsan1 liburi-perl libwww-perl libwww-robotrules-perl 140s linux-libc-dev m4 patchutils perl-openssl-defaults po-debconf rake 140s rake-compiler rpcsvc-proto ruby ruby-all-dev ruby-concurrent 140s ruby-concurrent-ext ruby-diff-lcs ruby-net-telnet ruby-rspec ruby-rspec-core 140s ruby-rspec-expectations ruby-rspec-mocks ruby-rspec-support ruby-rubygems 140s ruby-sdbm ruby-timecop ruby-webrick ruby-xmlrpc ruby3.1 ruby3.1-dev ruby3.2 140s ruby3.2-dev rubygems-integration wdiff 140s Suggested packages: 140s autoconf-archive gnu-standards autoconf-doc cpp-doc gcc-13-locales 140s cpp-13-doc dh-make adequate at autopkgtest bls-standalone bsd-mailx | mailx 140s check-all-the-things cvs-buildpackage diffoscope disorderfs dose-extra duck 140s elpa-devscripts faketime gnuplot how-can-i-help libauthen-sasl-perl 140s libdbd-pg-perl libfile-desktopentry-perl libterm-size-perl libyaml-syck-perl 140s mmdebstrap mutt piuparts postgresql-client pristine-lfs quilt ratt reprotest 140s svn-buildpackage w3m debian-keyring equivs libgitlab-api-v4-perl 140s libsoap-lite-perl pristine-tar gcc-13-doc gcc-multilib manpages-dev flex 140s bison gdb gcc-doc gdb-aarch64-linux-gnu git-buildpackage gettext-doc 140s libasprintf-dev libgettextpo-dev glibc-doc gmp-doc libgmp10-doc libmpfr-dev 140s libdata-dump-perl libio-compress-brotli-perl libcrypt-ssleay-perl 140s libscalar-number-perl libstdc++-13-doc libxstring-perl libtool-doc gfortran 140s | fortran95-compiler gcj-jdk libsub-name-perl libbusiness-isbn-perl 140s libregexp-ipv6-perl libauthen-ntlm-perl m4-doc libmail-box-perl ri ruby-dev 140s bundler wdiff-doc 140s Recommended packages: 140s dctrl-tools dput | dupload libdistro-info-perl libgit-wrapper-perl 140s libjson-perl liblist-compare-perl libstring-shellquote-perl licensecheck 140s lintian python3-debian python3-magic python3-unidiff python3-xdg unzip 140s apt-file manpages manpages-dev libc-devtools libarchive-cpio-perl 140s libhtml-format-perl libnamespace-clean-perl libltdl-dev libdata-dump-perl 140s libhtml-form-perl libhttp-daemon-perl libmailtools-perl 140s libmail-sendmail-perl zip fonts-lato libjs-jquery ruby3.1-doc ruby3.2-doc 140s The following NEW packages will be installed: 140s autoconf automake autopkgtest-satdep autopoint autotools-dev build-essential 140s cpp cpp-13 cpp-13-aarch64-linux-gnu cpp-aarch64-linux-gnu debhelper 140s debugedit devscripts dh-autoreconf dh-strip-nondeterminism dwz g++ g++-13 140s g++-13-aarch64-linux-gnu g++-aarch64-linux-gnu gcc gcc-13 140s gcc-13-aarch64-linux-gnu gcc-aarch64-linux-gnu gem2deb gem2deb-test-runner 140s gettext intltool-debian libarchive-zip-perl libasan8 libatomic1 140s libb-hooks-op-check-perl libc-dev-bin libc6-dev libcc1-0 140s libclass-method-modifiers-perl libclass-xsaccessor-perl libclone-perl 140s libcrypt-dev libdebhelper-perl libdevel-callchecker-perl libdw1 140s libdynaloader-functions-perl libencode-locale-perl libfile-dirlist-perl 140s libfile-homedir-perl libfile-listing-perl libfile-stripnondeterminism-perl 140s libfile-touch-perl libfile-which-perl libgcc-13-dev libgmp-dev libgmpxx4ldbl 140s libgomp1 libhtml-parser-perl libhtml-tagset-perl libhtml-tree-perl 140s libhttp-cookies-perl libhttp-date-perl libhttp-message-perl 140s libhttp-negotiate-perl libhwasan0 libimport-into-perl libio-html-perl 140s libio-pty-perl libio-socket-ssl-perl libipc-run-perl libisl23 libitm1 140s liblsan0 liblwp-mediatypes-perl liblwp-protocol-https-perl 140s libmodule-runtime-perl libmoo-perl libmpc3 libnet-http-perl 140s libnet-ssleay-perl libnsl-dev libparams-classify-perl librole-tiny-perl 140s libruby libruby3.1 libruby3.2 libstdc++-13-dev libsub-override-perl 140s libsub-quote-perl libtimedate-perl libtirpc-dev libtool libtry-tiny-perl 140s libtsan2 libubsan1 liburi-perl libwww-perl libwww-robotrules-perl 140s linux-libc-dev m4 patchutils perl-openssl-defaults po-debconf rake 140s rake-compiler rpcsvc-proto ruby ruby-all-dev ruby-concurrent 140s ruby-concurrent-ext ruby-diff-lcs ruby-net-telnet ruby-rspec ruby-rspec-core 140s ruby-rspec-expectations ruby-rspec-mocks ruby-rspec-support ruby-rubygems 140s ruby-sdbm ruby-timecop ruby-webrick ruby-xmlrpc ruby3.1 ruby3.1-dev ruby3.2 140s ruby3.2-dev rubygems-integration wdiff 140s 0 upgraded, 125 newly installed, 0 to remove and 0 not upgraded. 140s Need to get 81.8 MB/81.8 MB of archives. 140s After this operation, 317 MB of additional disk space will be used. 140s Get:1 /tmp/autopkgtest.HBN5lV/1-autopkgtest-satdep.deb autopkgtest-satdep arm64 0 [800 B] 140s Get:2 http://ftpmaster.internal/ubuntu noble/main arm64 m4 arm64 1.4.19-4 [240 kB] 140s Get:3 http://ftpmaster.internal/ubuntu noble/main arm64 autoconf all 2.71-3 [339 kB] 140s Get:4 http://ftpmaster.internal/ubuntu noble/main arm64 autotools-dev all 20220109.1 [44.9 kB] 140s Get:5 http://ftpmaster.internal/ubuntu noble/main arm64 automake all 1:1.16.5-1.3ubuntu1 [558 kB] 140s Get:6 http://ftpmaster.internal/ubuntu noble/main arm64 autopoint all 0.21-14ubuntu1 [422 kB] 140s Get:7 http://ftpmaster.internal/ubuntu noble/main arm64 libc-dev-bin arm64 2.39-0ubuntu2 [19.7 kB] 140s Get:8 http://ftpmaster.internal/ubuntu noble/main arm64 linux-libc-dev arm64 6.8.0-11.11 [1569 kB] 140s Get:9 http://ftpmaster.internal/ubuntu noble/main arm64 libcrypt-dev arm64 1:4.4.36-4 [136 kB] 140s Get:10 http://ftpmaster.internal/ubuntu noble/main arm64 libtirpc-dev arm64 1.3.4+ds-1build1 [232 kB] 140s Get:11 http://ftpmaster.internal/ubuntu noble/main arm64 libnsl-dev arm64 1.3.0-3 [71.9 kB] 140s Get:12 http://ftpmaster.internal/ubuntu noble/main arm64 rpcsvc-proto arm64 1.4.2-0ubuntu6 [65.4 kB] 140s Get:13 http://ftpmaster.internal/ubuntu noble/main arm64 libc6-dev arm64 2.39-0ubuntu2 [1596 kB] 141s Get:14 http://ftpmaster.internal/ubuntu noble/main arm64 libisl23 arm64 0.26-3 [713 kB] 141s Get:15 http://ftpmaster.internal/ubuntu noble/main arm64 libmpc3 arm64 1.3.1-1 [55.3 kB] 141s Get:16 http://ftpmaster.internal/ubuntu noble/main arm64 cpp-13-aarch64-linux-gnu arm64 13.2.0-17ubuntu2 [10.3 MB] 141s Get:17 http://ftpmaster.internal/ubuntu noble/main arm64 cpp-13 arm64 13.2.0-17ubuntu2 [1028 B] 141s Get:18 http://ftpmaster.internal/ubuntu noble/main arm64 cpp-aarch64-linux-gnu arm64 4:13.2.0-7ubuntu1 [5316 B] 141s Get:19 http://ftpmaster.internal/ubuntu noble/main arm64 cpp arm64 4:13.2.0-7ubuntu1 [22.4 kB] 141s Get:20 http://ftpmaster.internal/ubuntu noble/main arm64 libcc1-0 arm64 14-20240303-1ubuntu1 [44.7 kB] 141s Get:21 http://ftpmaster.internal/ubuntu noble/main arm64 libgomp1 arm64 14-20240303-1ubuntu1 [144 kB] 141s Get:22 http://ftpmaster.internal/ubuntu noble/main arm64 libitm1 arm64 14-20240303-1ubuntu1 [27.7 kB] 141s Get:23 http://ftpmaster.internal/ubuntu noble/main arm64 libatomic1 arm64 14-20240303-1ubuntu1 [11.4 kB] 141s Get:24 http://ftpmaster.internal/ubuntu noble/main arm64 libasan8 arm64 14-20240303-1ubuntu1 [2919 kB] 141s Get:25 http://ftpmaster.internal/ubuntu noble/main arm64 liblsan0 arm64 14-20240303-1ubuntu1 [1282 kB] 141s Get:26 http://ftpmaster.internal/ubuntu noble/main arm64 libtsan2 arm64 14-20240303-1ubuntu1 [2687 kB] 141s Get:27 http://ftpmaster.internal/ubuntu noble/main arm64 libubsan1 arm64 14-20240303-1ubuntu1 [1151 kB] 141s Get:28 http://ftpmaster.internal/ubuntu noble/main arm64 libhwasan0 arm64 14-20240303-1ubuntu1 [1597 kB] 141s Get:29 http://ftpmaster.internal/ubuntu noble/main arm64 libgcc-13-dev arm64 13.2.0-17ubuntu2 [2464 kB] 141s Get:30 http://ftpmaster.internal/ubuntu noble/main arm64 gcc-13-aarch64-linux-gnu arm64 13.2.0-17ubuntu2 [20.1 MB] 142s Get:31 http://ftpmaster.internal/ubuntu noble/main arm64 gcc-13 arm64 13.2.0-17ubuntu2 [467 kB] 142s Get:32 http://ftpmaster.internal/ubuntu noble/main arm64 gcc-aarch64-linux-gnu arm64 4:13.2.0-7ubuntu1 [1198 B] 142s Get:33 http://ftpmaster.internal/ubuntu noble/main arm64 gcc arm64 4:13.2.0-7ubuntu1 [5018 B] 142s Get:34 http://ftpmaster.internal/ubuntu noble/main arm64 libstdc++-13-dev arm64 13.2.0-17ubuntu2 [2322 kB] 142s Get:35 http://ftpmaster.internal/ubuntu noble/main arm64 g++-13-aarch64-linux-gnu arm64 13.2.0-17ubuntu2 [11.7 MB] 142s Get:36 http://ftpmaster.internal/ubuntu noble/main arm64 g++-13 arm64 13.2.0-17ubuntu2 [14.4 kB] 142s Get:37 http://ftpmaster.internal/ubuntu noble/main arm64 g++-aarch64-linux-gnu arm64 4:13.2.0-7ubuntu1 [962 B] 142s Get:38 http://ftpmaster.internal/ubuntu noble/main arm64 g++ arm64 4:13.2.0-7ubuntu1 [1082 B] 142s Get:39 http://ftpmaster.internal/ubuntu noble/main arm64 build-essential arm64 12.10ubuntu1 [4932 B] 142s Get:40 http://ftpmaster.internal/ubuntu noble/main arm64 libdebhelper-perl all 13.14.1ubuntu1 [89.5 kB] 142s Get:41 http://ftpmaster.internal/ubuntu noble/main arm64 libtool all 2.4.7-7 [166 kB] 142s Get:42 http://ftpmaster.internal/ubuntu noble/main arm64 dh-autoreconf all 20 [16.1 kB] 142s Get:43 http://ftpmaster.internal/ubuntu noble/main arm64 libarchive-zip-perl all 1.68-1 [90.2 kB] 142s Get:44 http://ftpmaster.internal/ubuntu noble/main arm64 libsub-override-perl all 0.10-1 [10.0 kB] 142s Get:45 http://ftpmaster.internal/ubuntu noble/main arm64 libfile-stripnondeterminism-perl all 1.13.1-1 [18.1 kB] 142s Get:46 http://ftpmaster.internal/ubuntu noble/main arm64 dh-strip-nondeterminism all 1.13.1-1 [5362 B] 142s Get:47 http://ftpmaster.internal/ubuntu noble/main arm64 libdw1 arm64 0.190-1 [254 kB] 142s Get:48 http://ftpmaster.internal/ubuntu noble/main arm64 debugedit arm64 1:5.0-5 [45.9 kB] 142s Get:49 http://ftpmaster.internal/ubuntu noble/main arm64 dwz arm64 0.15-1 [110 kB] 142s Get:50 http://ftpmaster.internal/ubuntu noble/main arm64 gettext arm64 0.21-14ubuntu1 [846 kB] 142s Get:51 http://ftpmaster.internal/ubuntu noble/main arm64 intltool-debian all 0.35.0+20060710.6 [23.2 kB] 142s Get:52 http://ftpmaster.internal/ubuntu noble/main arm64 po-debconf all 1.0.21+nmu1 [233 kB] 142s Get:53 http://ftpmaster.internal/ubuntu noble/main arm64 debhelper all 13.14.1ubuntu1 [869 kB] 142s Get:54 http://ftpmaster.internal/ubuntu noble/main arm64 libfile-dirlist-perl all 0.05-3 [7286 B] 142s Get:55 http://ftpmaster.internal/ubuntu noble/main arm64 libfile-which-perl all 1.27-2 [12.5 kB] 142s Get:56 http://ftpmaster.internal/ubuntu noble/main arm64 libfile-homedir-perl all 1.006-2 [37.0 kB] 142s Get:57 http://ftpmaster.internal/ubuntu noble/main arm64 libfile-touch-perl all 0.12-2 [7498 B] 142s Get:58 http://ftpmaster.internal/ubuntu noble/main arm64 libio-pty-perl arm64 1:1.20-1 [31.0 kB] 142s Get:59 http://ftpmaster.internal/ubuntu noble/main arm64 libipc-run-perl all 20231003.0-1 [92.1 kB] 142s Get:60 http://ftpmaster.internal/ubuntu noble/main arm64 libclass-method-modifiers-perl all 2.15-1 [16.1 kB] 142s Get:61 http://ftpmaster.internal/ubuntu noble/main arm64 libclass-xsaccessor-perl arm64 1.19-4build2 [33.1 kB] 142s Get:62 http://ftpmaster.internal/ubuntu noble/main arm64 libb-hooks-op-check-perl arm64 0.22-2build2 [9220 B] 142s Get:63 http://ftpmaster.internal/ubuntu noble/main arm64 libdynaloader-functions-perl all 0.003-3 [12.1 kB] 142s Get:64 http://ftpmaster.internal/ubuntu noble/main arm64 libdevel-callchecker-perl arm64 0.008-2build1 [13.7 kB] 142s Get:65 http://ftpmaster.internal/ubuntu noble/main arm64 libparams-classify-perl arm64 0.015-2build3 [19.6 kB] 142s Get:66 http://ftpmaster.internal/ubuntu noble/main arm64 libmodule-runtime-perl all 0.016-2 [16.4 kB] 142s Get:67 http://ftpmaster.internal/ubuntu noble/main arm64 libimport-into-perl all 1.002005-2 [10.7 kB] 142s Get:68 http://ftpmaster.internal/ubuntu noble/main arm64 librole-tiny-perl all 2.002004-1 [16.3 kB] 142s Get:69 http://ftpmaster.internal/ubuntu noble/main arm64 libsub-quote-perl all 2.006008-1ubuntu1 [20.7 kB] 142s Get:70 http://ftpmaster.internal/ubuntu noble/main arm64 libmoo-perl all 2.005005-1 [47.4 kB] 142s Get:71 http://ftpmaster.internal/ubuntu noble/main arm64 libencode-locale-perl all 1.05-3 [11.6 kB] 143s Get:72 http://ftpmaster.internal/ubuntu noble/main arm64 libtimedate-perl all 2.3300-2 [34.0 kB] 143s Get:73 http://ftpmaster.internal/ubuntu noble/main arm64 libhttp-date-perl all 6.06-1 [10.2 kB] 143s Get:74 http://ftpmaster.internal/ubuntu noble/main arm64 libfile-listing-perl all 6.16-1 [11.3 kB] 143s Get:75 http://ftpmaster.internal/ubuntu noble/main arm64 libhtml-tagset-perl all 3.20-6 [11.3 kB] 143s Get:76 http://ftpmaster.internal/ubuntu noble/main arm64 liburi-perl all 5.27-1 [88.0 kB] 143s Get:77 http://ftpmaster.internal/ubuntu noble/main arm64 libhtml-parser-perl arm64 3.81-1build1 [84.8 kB] 143s Get:78 http://ftpmaster.internal/ubuntu noble/main arm64 libhtml-tree-perl all 5.07-3 [200 kB] 143s Get:79 http://ftpmaster.internal/ubuntu noble/main arm64 libclone-perl arm64 0.46-1build1 [10.4 kB] 143s Get:80 http://ftpmaster.internal/ubuntu noble/main arm64 libio-html-perl all 1.004-3 [15.9 kB] 143s Get:81 http://ftpmaster.internal/ubuntu noble/main arm64 liblwp-mediatypes-perl all 6.04-2 [20.1 kB] 143s Get:82 http://ftpmaster.internal/ubuntu noble/main arm64 libhttp-message-perl all 6.45-1ubuntu1 [78.2 kB] 143s Get:83 http://ftpmaster.internal/ubuntu noble/main arm64 libhttp-cookies-perl all 6.11-1 [18.2 kB] 143s Get:84 http://ftpmaster.internal/ubuntu noble/main arm64 libhttp-negotiate-perl all 6.01-2 [12.4 kB] 143s Get:85 http://ftpmaster.internal/ubuntu noble/main arm64 perl-openssl-defaults arm64 7 [7536 B] 143s Get:86 http://ftpmaster.internal/ubuntu noble/main arm64 libnet-ssleay-perl arm64 1.94-1 [311 kB] 143s Get:87 http://ftpmaster.internal/ubuntu noble/main arm64 libio-socket-ssl-perl all 2.085-1 [195 kB] 143s Get:88 http://ftpmaster.internal/ubuntu noble/main arm64 libnet-http-perl all 6.23-1 [22.3 kB] 143s Get:89 http://ftpmaster.internal/ubuntu noble/main arm64 liblwp-protocol-https-perl all 6.13-1 [9006 B] 143s Get:90 http://ftpmaster.internal/ubuntu noble/main arm64 libtry-tiny-perl all 0.31-2 [20.8 kB] 143s Get:91 http://ftpmaster.internal/ubuntu noble/main arm64 libwww-robotrules-perl all 6.02-1 [12.6 kB] 143s Get:92 http://ftpmaster.internal/ubuntu noble/main arm64 libwww-perl all 6.76-1 [138 kB] 143s Get:93 http://ftpmaster.internal/ubuntu noble/main arm64 patchutils arm64 0.4.2-1build2 [75.8 kB] 143s Get:94 http://ftpmaster.internal/ubuntu noble/main arm64 wdiff arm64 1.2.2-6 [28.5 kB] 143s Get:95 http://ftpmaster.internal/ubuntu noble/main arm64 devscripts all 2.23.7 [1069 kB] 143s Get:96 http://ftpmaster.internal/ubuntu noble/main arm64 rubygems-integration all 1.18 [5336 B] 143s Get:97 http://ftpmaster.internal/ubuntu noble/main arm64 ruby-net-telnet all 0.2.0-1 [13.3 kB] 143s Get:98 http://ftpmaster.internal/ubuntu noble/main arm64 ruby-webrick all 1.8.1-1 [52.3 kB] 143s Get:99 http://ftpmaster.internal/ubuntu noble/main arm64 ruby-xmlrpc all 0.3.2-2 [24.8 kB] 143s Get:100 http://ftpmaster.internal/ubuntu noble/main arm64 libruby3.2 arm64 3.2.3-1 [5345 kB] 143s Get:101 http://ftpmaster.internal/ubuntu noble/main arm64 libruby arm64 1:3.1+1 [4640 B] 143s Get:102 http://ftpmaster.internal/ubuntu noble/main arm64 ruby-sdbm arm64 1.0.0-5build3 [17.9 kB] 143s Get:103 http://ftpmaster.internal/ubuntu noble/main arm64 libruby3.1 arm64 3.1.2-7ubuntu4 [5115 kB] 144s Get:104 http://ftpmaster.internal/ubuntu noble/main arm64 ruby3.1 arm64 3.1.2-7ubuntu4 [49.0 kB] 144s Get:105 http://ftpmaster.internal/ubuntu noble/main arm64 ruby-rubygems all 3.4.20-1 [238 kB] 144s Get:106 http://ftpmaster.internal/ubuntu noble/main arm64 ruby arm64 1:3.1+1 [3464 B] 144s Get:107 http://ftpmaster.internal/ubuntu noble/main arm64 rake all 13.0.6-3 [61.6 kB] 144s Get:108 http://ftpmaster.internal/ubuntu noble/universe arm64 gem2deb-test-runner arm64 2.2.2 [18.2 kB] 144s Get:109 http://ftpmaster.internal/ubuntu noble/main arm64 libgmpxx4ldbl arm64 2:6.3.0+dfsg-2ubuntu4 [9950 B] 144s Get:110 http://ftpmaster.internal/ubuntu noble/main arm64 libgmp-dev arm64 2:6.3.0+dfsg-2ubuntu4 [330 kB] 144s Get:111 http://ftpmaster.internal/ubuntu noble/main arm64 ruby3.1-dev arm64 3.1.2-7ubuntu4 [398 kB] 144s Get:112 http://ftpmaster.internal/ubuntu noble/main arm64 ruby3.2 arm64 3.2.3-1 [50.8 kB] 144s Get:113 http://ftpmaster.internal/ubuntu noble/main arm64 ruby3.2-dev arm64 3.2.3-1 [403 kB] 144s Get:114 http://ftpmaster.internal/ubuntu noble/main arm64 ruby-all-dev arm64 1:3.1+1 [5726 B] 144s Get:115 http://ftpmaster.internal/ubuntu noble/universe arm64 gem2deb arm64 2.2.2 [42.9 kB] 144s Get:116 http://ftpmaster.internal/ubuntu noble/universe arm64 rake-compiler all 1.2.5-1 [24.4 kB] 144s Get:117 http://ftpmaster.internal/ubuntu noble/universe arm64 ruby-concurrent all 1.1.6+dfsg-5build3 [212 kB] 144s Get:118 http://ftpmaster.internal/ubuntu noble/universe arm64 ruby-concurrent-ext arm64 1.1.6+dfsg-5build3 [8960 B] 144s Get:119 http://ftpmaster.internal/ubuntu noble/universe arm64 ruby-diff-lcs all 1.5.0-1 [23.9 kB] 144s Get:120 http://ftpmaster.internal/ubuntu noble/universe arm64 ruby-rspec-support all 3.12.0c0e1m1s0-1 [28.8 kB] 144s Get:121 http://ftpmaster.internal/ubuntu noble/universe arm64 ruby-rspec-core all 3.12.0c0e1m1s0-1 [163 kB] 144s Get:122 http://ftpmaster.internal/ubuntu noble/universe arm64 ruby-rspec-expectations all 3.12.0c0e1m1s0-1 [89.2 kB] 144s Get:123 http://ftpmaster.internal/ubuntu noble/universe arm64 ruby-rspec-mocks all 3.12.0c0e1m1s0-1 [79.4 kB] 144s Get:124 http://ftpmaster.internal/ubuntu noble/universe arm64 ruby-rspec all 3.12.0c0e1m1s0-1 [3506 B] 144s Get:125 http://ftpmaster.internal/ubuntu noble/universe arm64 ruby-timecop all 0.9.8-1 [10.6 kB] 145s Fetched 81.8 MB in 4s (19.8 MB/s) 145s Selecting previously unselected package m4. 145s (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 ... 74758 files and directories currently installed.) 145s Preparing to unpack .../000-m4_1.4.19-4_arm64.deb ... 145s Unpacking m4 (1.4.19-4) ... 145s Selecting previously unselected package autoconf. 145s Preparing to unpack .../001-autoconf_2.71-3_all.deb ... 145s Unpacking autoconf (2.71-3) ... 145s Selecting previously unselected package autotools-dev. 146s Preparing to unpack .../002-autotools-dev_20220109.1_all.deb ... 146s Unpacking autotools-dev (20220109.1) ... 146s Selecting previously unselected package automake. 146s Preparing to unpack .../003-automake_1%3a1.16.5-1.3ubuntu1_all.deb ... 146s Unpacking automake (1:1.16.5-1.3ubuntu1) ... 146s Selecting previously unselected package autopoint. 146s Preparing to unpack .../004-autopoint_0.21-14ubuntu1_all.deb ... 146s Unpacking autopoint (0.21-14ubuntu1) ... 146s Selecting previously unselected package libc-dev-bin. 146s Preparing to unpack .../005-libc-dev-bin_2.39-0ubuntu2_arm64.deb ... 146s Unpacking libc-dev-bin (2.39-0ubuntu2) ... 146s Selecting previously unselected package linux-libc-dev:arm64. 146s Preparing to unpack .../006-linux-libc-dev_6.8.0-11.11_arm64.deb ... 146s Unpacking linux-libc-dev:arm64 (6.8.0-11.11) ... 146s Selecting previously unselected package libcrypt-dev:arm64. 146s Preparing to unpack .../007-libcrypt-dev_1%3a4.4.36-4_arm64.deb ... 146s Unpacking libcrypt-dev:arm64 (1:4.4.36-4) ... 146s Selecting previously unselected package libtirpc-dev:arm64. 146s Preparing to unpack .../008-libtirpc-dev_1.3.4+ds-1build1_arm64.deb ... 146s Unpacking libtirpc-dev:arm64 (1.3.4+ds-1build1) ... 146s Selecting previously unselected package libnsl-dev:arm64. 146s Preparing to unpack .../009-libnsl-dev_1.3.0-3_arm64.deb ... 146s Unpacking libnsl-dev:arm64 (1.3.0-3) ... 146s Selecting previously unselected package rpcsvc-proto. 146s Preparing to unpack .../010-rpcsvc-proto_1.4.2-0ubuntu6_arm64.deb ... 146s Unpacking rpcsvc-proto (1.4.2-0ubuntu6) ... 146s Selecting previously unselected package libc6-dev:arm64. 146s Preparing to unpack .../011-libc6-dev_2.39-0ubuntu2_arm64.deb ... 146s Unpacking libc6-dev:arm64 (2.39-0ubuntu2) ... 146s Selecting previously unselected package libisl23:arm64. 146s Preparing to unpack .../012-libisl23_0.26-3_arm64.deb ... 146s Unpacking libisl23:arm64 (0.26-3) ... 146s Selecting previously unselected package libmpc3:arm64. 146s Preparing to unpack .../013-libmpc3_1.3.1-1_arm64.deb ... 146s Unpacking libmpc3:arm64 (1.3.1-1) ... 146s Selecting previously unselected package cpp-13-aarch64-linux-gnu. 146s Preparing to unpack .../014-cpp-13-aarch64-linux-gnu_13.2.0-17ubuntu2_arm64.deb ... 146s Unpacking cpp-13-aarch64-linux-gnu (13.2.0-17ubuntu2) ... 146s Selecting previously unselected package cpp-13. 146s Preparing to unpack .../015-cpp-13_13.2.0-17ubuntu2_arm64.deb ... 146s Unpacking cpp-13 (13.2.0-17ubuntu2) ... 146s Selecting previously unselected package cpp-aarch64-linux-gnu. 146s Preparing to unpack .../016-cpp-aarch64-linux-gnu_4%3a13.2.0-7ubuntu1_arm64.deb ... 146s Unpacking cpp-aarch64-linux-gnu (4:13.2.0-7ubuntu1) ... 147s Selecting previously unselected package cpp. 147s Preparing to unpack .../017-cpp_4%3a13.2.0-7ubuntu1_arm64.deb ... 147s Unpacking cpp (4:13.2.0-7ubuntu1) ... 147s Selecting previously unselected package libcc1-0:arm64. 147s Preparing to unpack .../018-libcc1-0_14-20240303-1ubuntu1_arm64.deb ... 147s Unpacking libcc1-0:arm64 (14-20240303-1ubuntu1) ... 147s Selecting previously unselected package libgomp1:arm64. 147s Preparing to unpack .../019-libgomp1_14-20240303-1ubuntu1_arm64.deb ... 147s Unpacking libgomp1:arm64 (14-20240303-1ubuntu1) ... 147s Selecting previously unselected package libitm1:arm64. 147s Preparing to unpack .../020-libitm1_14-20240303-1ubuntu1_arm64.deb ... 147s Unpacking libitm1:arm64 (14-20240303-1ubuntu1) ... 147s Selecting previously unselected package libatomic1:arm64. 147s Preparing to unpack .../021-libatomic1_14-20240303-1ubuntu1_arm64.deb ... 147s Unpacking libatomic1:arm64 (14-20240303-1ubuntu1) ... 147s Selecting previously unselected package libasan8:arm64. 147s Preparing to unpack .../022-libasan8_14-20240303-1ubuntu1_arm64.deb ... 147s Unpacking libasan8:arm64 (14-20240303-1ubuntu1) ... 147s Selecting previously unselected package liblsan0:arm64. 147s Preparing to unpack .../023-liblsan0_14-20240303-1ubuntu1_arm64.deb ... 147s Unpacking liblsan0:arm64 (14-20240303-1ubuntu1) ... 147s Selecting previously unselected package libtsan2:arm64. 147s Preparing to unpack .../024-libtsan2_14-20240303-1ubuntu1_arm64.deb ... 147s Unpacking libtsan2:arm64 (14-20240303-1ubuntu1) ... 147s Selecting previously unselected package libubsan1:arm64. 147s Preparing to unpack .../025-libubsan1_14-20240303-1ubuntu1_arm64.deb ... 147s Unpacking libubsan1:arm64 (14-20240303-1ubuntu1) ... 147s Selecting previously unselected package libhwasan0:arm64. 147s Preparing to unpack .../026-libhwasan0_14-20240303-1ubuntu1_arm64.deb ... 147s Unpacking libhwasan0:arm64 (14-20240303-1ubuntu1) ... 147s Selecting previously unselected package libgcc-13-dev:arm64. 147s Preparing to unpack .../027-libgcc-13-dev_13.2.0-17ubuntu2_arm64.deb ... 147s Unpacking libgcc-13-dev:arm64 (13.2.0-17ubuntu2) ... 147s Selecting previously unselected package gcc-13-aarch64-linux-gnu. 147s Preparing to unpack .../028-gcc-13-aarch64-linux-gnu_13.2.0-17ubuntu2_arm64.deb ... 147s Unpacking gcc-13-aarch64-linux-gnu (13.2.0-17ubuntu2) ... 148s Selecting previously unselected package gcc-13. 148s Preparing to unpack .../029-gcc-13_13.2.0-17ubuntu2_arm64.deb ... 148s Unpacking gcc-13 (13.2.0-17ubuntu2) ... 148s Selecting previously unselected package gcc-aarch64-linux-gnu. 148s Preparing to unpack .../030-gcc-aarch64-linux-gnu_4%3a13.2.0-7ubuntu1_arm64.deb ... 148s Unpacking gcc-aarch64-linux-gnu (4:13.2.0-7ubuntu1) ... 148s Selecting previously unselected package gcc. 148s Preparing to unpack .../031-gcc_4%3a13.2.0-7ubuntu1_arm64.deb ... 148s Unpacking gcc (4:13.2.0-7ubuntu1) ... 148s Selecting previously unselected package libstdc++-13-dev:arm64. 148s Preparing to unpack .../032-libstdc++-13-dev_13.2.0-17ubuntu2_arm64.deb ... 148s Unpacking libstdc++-13-dev:arm64 (13.2.0-17ubuntu2) ... 148s Selecting previously unselected package g++-13-aarch64-linux-gnu. 148s Preparing to unpack .../033-g++-13-aarch64-linux-gnu_13.2.0-17ubuntu2_arm64.deb ... 148s Unpacking g++-13-aarch64-linux-gnu (13.2.0-17ubuntu2) ... 148s Selecting previously unselected package g++-13. 148s Preparing to unpack .../034-g++-13_13.2.0-17ubuntu2_arm64.deb ... 148s Unpacking g++-13 (13.2.0-17ubuntu2) ... 148s Selecting previously unselected package g++-aarch64-linux-gnu. 148s Preparing to unpack .../035-g++-aarch64-linux-gnu_4%3a13.2.0-7ubuntu1_arm64.deb ... 148s Unpacking g++-aarch64-linux-gnu (4:13.2.0-7ubuntu1) ... 148s Selecting previously unselected package g++. 148s Preparing to unpack .../036-g++_4%3a13.2.0-7ubuntu1_arm64.deb ... 148s Unpacking g++ (4:13.2.0-7ubuntu1) ... 148s Selecting previously unselected package build-essential. 148s Preparing to unpack .../037-build-essential_12.10ubuntu1_arm64.deb ... 148s Unpacking build-essential (12.10ubuntu1) ... 148s Selecting previously unselected package libdebhelper-perl. 148s Preparing to unpack .../038-libdebhelper-perl_13.14.1ubuntu1_all.deb ... 148s Unpacking libdebhelper-perl (13.14.1ubuntu1) ... 148s Selecting previously unselected package libtool. 148s Preparing to unpack .../039-libtool_2.4.7-7_all.deb ... 148s Unpacking libtool (2.4.7-7) ... 148s Selecting previously unselected package dh-autoreconf. 148s Preparing to unpack .../040-dh-autoreconf_20_all.deb ... 148s Unpacking dh-autoreconf (20) ... 148s Selecting previously unselected package libarchive-zip-perl. 148s Preparing to unpack .../041-libarchive-zip-perl_1.68-1_all.deb ... 148s Unpacking libarchive-zip-perl (1.68-1) ... 148s Selecting previously unselected package libsub-override-perl. 148s Preparing to unpack .../042-libsub-override-perl_0.10-1_all.deb ... 148s Unpacking libsub-override-perl (0.10-1) ... 148s Selecting previously unselected package libfile-stripnondeterminism-perl. 148s Preparing to unpack .../043-libfile-stripnondeterminism-perl_1.13.1-1_all.deb ... 148s Unpacking libfile-stripnondeterminism-perl (1.13.1-1) ... 148s Selecting previously unselected package dh-strip-nondeterminism. 148s Preparing to unpack .../044-dh-strip-nondeterminism_1.13.1-1_all.deb ... 148s Unpacking dh-strip-nondeterminism (1.13.1-1) ... 148s Selecting previously unselected package libdw1:arm64. 148s Preparing to unpack .../045-libdw1_0.190-1_arm64.deb ... 148s Unpacking libdw1:arm64 (0.190-1) ... 148s Selecting previously unselected package debugedit. 149s Preparing to unpack .../046-debugedit_1%3a5.0-5_arm64.deb ... 149s Unpacking debugedit (1:5.0-5) ... 149s Selecting previously unselected package dwz. 149s Preparing to unpack .../047-dwz_0.15-1_arm64.deb ... 149s Unpacking dwz (0.15-1) ... 149s Selecting previously unselected package gettext. 149s Preparing to unpack .../048-gettext_0.21-14ubuntu1_arm64.deb ... 149s Unpacking gettext (0.21-14ubuntu1) ... 149s Selecting previously unselected package intltool-debian. 149s Preparing to unpack .../049-intltool-debian_0.35.0+20060710.6_all.deb ... 149s Unpacking intltool-debian (0.35.0+20060710.6) ... 149s Selecting previously unselected package po-debconf. 149s Preparing to unpack .../050-po-debconf_1.0.21+nmu1_all.deb ... 149s Unpacking po-debconf (1.0.21+nmu1) ... 149s Selecting previously unselected package debhelper. 149s Preparing to unpack .../051-debhelper_13.14.1ubuntu1_all.deb ... 149s Unpacking debhelper (13.14.1ubuntu1) ... 149s Selecting previously unselected package libfile-dirlist-perl. 149s Preparing to unpack .../052-libfile-dirlist-perl_0.05-3_all.deb ... 149s Unpacking libfile-dirlist-perl (0.05-3) ... 149s Selecting previously unselected package libfile-which-perl. 149s Preparing to unpack .../053-libfile-which-perl_1.27-2_all.deb ... 149s Unpacking libfile-which-perl (1.27-2) ... 149s Selecting previously unselected package libfile-homedir-perl. 149s Preparing to unpack .../054-libfile-homedir-perl_1.006-2_all.deb ... 149s Unpacking libfile-homedir-perl (1.006-2) ... 149s Selecting previously unselected package libfile-touch-perl. 149s Preparing to unpack .../055-libfile-touch-perl_0.12-2_all.deb ... 149s Unpacking libfile-touch-perl (0.12-2) ... 149s Selecting previously unselected package libio-pty-perl. 149s Preparing to unpack .../056-libio-pty-perl_1%3a1.20-1_arm64.deb ... 149s Unpacking libio-pty-perl (1:1.20-1) ... 149s Selecting previously unselected package libipc-run-perl. 149s Preparing to unpack .../057-libipc-run-perl_20231003.0-1_all.deb ... 149s Unpacking libipc-run-perl (20231003.0-1) ... 149s Selecting previously unselected package libclass-method-modifiers-perl. 149s Preparing to unpack .../058-libclass-method-modifiers-perl_2.15-1_all.deb ... 149s Unpacking libclass-method-modifiers-perl (2.15-1) ... 149s Selecting previously unselected package libclass-xsaccessor-perl. 149s Preparing to unpack .../059-libclass-xsaccessor-perl_1.19-4build2_arm64.deb ... 149s Unpacking libclass-xsaccessor-perl (1.19-4build2) ... 149s Selecting previously unselected package libb-hooks-op-check-perl:arm64. 150s Preparing to unpack .../060-libb-hooks-op-check-perl_0.22-2build2_arm64.deb ... 150s Unpacking libb-hooks-op-check-perl:arm64 (0.22-2build2) ... 150s Selecting previously unselected package libdynaloader-functions-perl. 150s Preparing to unpack .../061-libdynaloader-functions-perl_0.003-3_all.deb ... 150s Unpacking libdynaloader-functions-perl (0.003-3) ... 150s Selecting previously unselected package libdevel-callchecker-perl:arm64. 150s Preparing to unpack .../062-libdevel-callchecker-perl_0.008-2build1_arm64.deb ... 150s Unpacking libdevel-callchecker-perl:arm64 (0.008-2build1) ... 150s Selecting previously unselected package libparams-classify-perl:arm64. 150s Preparing to unpack .../063-libparams-classify-perl_0.015-2build3_arm64.deb ... 150s Unpacking libparams-classify-perl:arm64 (0.015-2build3) ... 150s Selecting previously unselected package libmodule-runtime-perl. 150s Preparing to unpack .../064-libmodule-runtime-perl_0.016-2_all.deb ... 150s Unpacking libmodule-runtime-perl (0.016-2) ... 150s Selecting previously unselected package libimport-into-perl. 150s Preparing to unpack .../065-libimport-into-perl_1.002005-2_all.deb ... 150s Unpacking libimport-into-perl (1.002005-2) ... 150s Selecting previously unselected package librole-tiny-perl. 150s Preparing to unpack .../066-librole-tiny-perl_2.002004-1_all.deb ... 150s Unpacking librole-tiny-perl (2.002004-1) ... 150s Selecting previously unselected package libsub-quote-perl. 150s Preparing to unpack .../067-libsub-quote-perl_2.006008-1ubuntu1_all.deb ... 150s Unpacking libsub-quote-perl (2.006008-1ubuntu1) ... 150s Selecting previously unselected package libmoo-perl. 150s Preparing to unpack .../068-libmoo-perl_2.005005-1_all.deb ... 150s Unpacking libmoo-perl (2.005005-1) ... 150s Selecting previously unselected package libencode-locale-perl. 150s Preparing to unpack .../069-libencode-locale-perl_1.05-3_all.deb ... 150s Unpacking libencode-locale-perl (1.05-3) ... 150s Selecting previously unselected package libtimedate-perl. 150s Preparing to unpack .../070-libtimedate-perl_2.3300-2_all.deb ... 150s Unpacking libtimedate-perl (2.3300-2) ... 150s Selecting previously unselected package libhttp-date-perl. 150s Preparing to unpack .../071-libhttp-date-perl_6.06-1_all.deb ... 150s Unpacking libhttp-date-perl (6.06-1) ... 150s Selecting previously unselected package libfile-listing-perl. 150s Preparing to unpack .../072-libfile-listing-perl_6.16-1_all.deb ... 150s Unpacking libfile-listing-perl (6.16-1) ... 150s Selecting previously unselected package libhtml-tagset-perl. 150s Preparing to unpack .../073-libhtml-tagset-perl_3.20-6_all.deb ... 150s Unpacking libhtml-tagset-perl (3.20-6) ... 150s Selecting previously unselected package liburi-perl. 150s Preparing to unpack .../074-liburi-perl_5.27-1_all.deb ... 150s Unpacking liburi-perl (5.27-1) ... 150s Selecting previously unselected package libhtml-parser-perl:arm64. 151s Preparing to unpack .../075-libhtml-parser-perl_3.81-1build1_arm64.deb ... 151s Unpacking libhtml-parser-perl:arm64 (3.81-1build1) ... 151s Selecting previously unselected package libhtml-tree-perl. 151s Preparing to unpack .../076-libhtml-tree-perl_5.07-3_all.deb ... 151s Unpacking libhtml-tree-perl (5.07-3) ... 151s Selecting previously unselected package libclone-perl:arm64. 151s Preparing to unpack .../077-libclone-perl_0.46-1build1_arm64.deb ... 151s Unpacking libclone-perl:arm64 (0.46-1build1) ... 151s Selecting previously unselected package libio-html-perl. 151s Preparing to unpack .../078-libio-html-perl_1.004-3_all.deb ... 151s Unpacking libio-html-perl (1.004-3) ... 151s Selecting previously unselected package liblwp-mediatypes-perl. 151s Preparing to unpack .../079-liblwp-mediatypes-perl_6.04-2_all.deb ... 151s Unpacking liblwp-mediatypes-perl (6.04-2) ... 151s Selecting previously unselected package libhttp-message-perl. 151s Preparing to unpack .../080-libhttp-message-perl_6.45-1ubuntu1_all.deb ... 151s Unpacking libhttp-message-perl (6.45-1ubuntu1) ... 151s Selecting previously unselected package libhttp-cookies-perl. 151s Preparing to unpack .../081-libhttp-cookies-perl_6.11-1_all.deb ... 151s Unpacking libhttp-cookies-perl (6.11-1) ... 151s Selecting previously unselected package libhttp-negotiate-perl. 151s Preparing to unpack .../082-libhttp-negotiate-perl_6.01-2_all.deb ... 151s Unpacking libhttp-negotiate-perl (6.01-2) ... 151s Selecting previously unselected package perl-openssl-defaults:arm64. 151s Preparing to unpack .../083-perl-openssl-defaults_7_arm64.deb ... 151s Unpacking perl-openssl-defaults:arm64 (7) ... 151s Selecting previously unselected package libnet-ssleay-perl:arm64. 151s Preparing to unpack .../084-libnet-ssleay-perl_1.94-1_arm64.deb ... 151s Unpacking libnet-ssleay-perl:arm64 (1.94-1) ... 151s Selecting previously unselected package libio-socket-ssl-perl. 151s Preparing to unpack .../085-libio-socket-ssl-perl_2.085-1_all.deb ... 151s Unpacking libio-socket-ssl-perl (2.085-1) ... 151s Selecting previously unselected package libnet-http-perl. 151s Preparing to unpack .../086-libnet-http-perl_6.23-1_all.deb ... 151s Unpacking libnet-http-perl (6.23-1) ... 151s Selecting previously unselected package liblwp-protocol-https-perl. 151s Preparing to unpack .../087-liblwp-protocol-https-perl_6.13-1_all.deb ... 151s Unpacking liblwp-protocol-https-perl (6.13-1) ... 151s Selecting previously unselected package libtry-tiny-perl. 151s Preparing to unpack .../088-libtry-tiny-perl_0.31-2_all.deb ... 151s Unpacking libtry-tiny-perl (0.31-2) ... 151s Selecting previously unselected package libwww-robotrules-perl. 151s Preparing to unpack .../089-libwww-robotrules-perl_6.02-1_all.deb ... 151s Unpacking libwww-robotrules-perl (6.02-1) ... 151s Selecting previously unselected package libwww-perl. 151s Preparing to unpack .../090-libwww-perl_6.76-1_all.deb ... 151s Unpacking libwww-perl (6.76-1) ... 151s Selecting previously unselected package patchutils. 151s Preparing to unpack .../091-patchutils_0.4.2-1build2_arm64.deb ... 151s Unpacking patchutils (0.4.2-1build2) ... 151s Selecting previously unselected package wdiff. 151s Preparing to unpack .../092-wdiff_1.2.2-6_arm64.deb ... 151s Unpacking wdiff (1.2.2-6) ... 151s Selecting previously unselected package devscripts. 151s Preparing to unpack .../093-devscripts_2.23.7_all.deb ... 151s Unpacking devscripts (2.23.7) ... 151s Selecting previously unselected package rubygems-integration. 151s Preparing to unpack .../094-rubygems-integration_1.18_all.deb ... 151s Unpacking rubygems-integration (1.18) ... 151s Selecting previously unselected package ruby-net-telnet. 151s Preparing to unpack .../095-ruby-net-telnet_0.2.0-1_all.deb ... 151s Unpacking ruby-net-telnet (0.2.0-1) ... 151s Selecting previously unselected package ruby-webrick. 151s Preparing to unpack .../096-ruby-webrick_1.8.1-1_all.deb ... 151s Unpacking ruby-webrick (1.8.1-1) ... 151s Selecting previously unselected package ruby-xmlrpc. 151s Preparing to unpack .../097-ruby-xmlrpc_0.3.2-2_all.deb ... 151s Unpacking ruby-xmlrpc (0.3.2-2) ... 152s Selecting previously unselected package libruby3.2:arm64. 152s Preparing to unpack .../098-libruby3.2_3.2.3-1_arm64.deb ... 152s Unpacking libruby3.2:arm64 (3.2.3-1) ... 152s Selecting previously unselected package libruby:arm64. 152s Preparing to unpack .../099-libruby_1%3a3.1+1_arm64.deb ... 152s Unpacking libruby:arm64 (1:3.1+1) ... 152s Selecting previously unselected package ruby-sdbm:arm64. 152s Preparing to unpack .../100-ruby-sdbm_1.0.0-5build3_arm64.deb ... 152s Unpacking ruby-sdbm:arm64 (1.0.0-5build3) ... 152s Selecting previously unselected package libruby3.1:arm64. 152s Preparing to unpack .../101-libruby3.1_3.1.2-7ubuntu4_arm64.deb ... 152s Unpacking libruby3.1:arm64 (3.1.2-7ubuntu4) ... 152s Selecting previously unselected package ruby3.1. 152s Preparing to unpack .../102-ruby3.1_3.1.2-7ubuntu4_arm64.deb ... 152s Unpacking ruby3.1 (3.1.2-7ubuntu4) ... 152s Selecting previously unselected package ruby-rubygems. 153s Preparing to unpack .../103-ruby-rubygems_3.4.20-1_all.deb ... 153s Unpacking ruby-rubygems (3.4.20-1) ... 153s Selecting previously unselected package ruby. 153s Preparing to unpack .../104-ruby_1%3a3.1+1_arm64.deb ... 153s Unpacking ruby (1:3.1+1) ... 153s Selecting previously unselected package rake. 153s Preparing to unpack .../105-rake_13.0.6-3_all.deb ... 153s Unpacking rake (13.0.6-3) ... 153s Selecting previously unselected package gem2deb-test-runner. 153s Preparing to unpack .../106-gem2deb-test-runner_2.2.2_arm64.deb ... 153s Unpacking gem2deb-test-runner (2.2.2) ... 153s Selecting previously unselected package libgmpxx4ldbl:arm64. 153s Preparing to unpack .../107-libgmpxx4ldbl_2%3a6.3.0+dfsg-2ubuntu4_arm64.deb ... 153s Unpacking libgmpxx4ldbl:arm64 (2:6.3.0+dfsg-2ubuntu4) ... 153s Selecting previously unselected package libgmp-dev:arm64. 153s Preparing to unpack .../108-libgmp-dev_2%3a6.3.0+dfsg-2ubuntu4_arm64.deb ... 153s Unpacking libgmp-dev:arm64 (2:6.3.0+dfsg-2ubuntu4) ... 153s Selecting previously unselected package ruby3.1-dev:arm64. 153s Preparing to unpack .../109-ruby3.1-dev_3.1.2-7ubuntu4_arm64.deb ... 153s Unpacking ruby3.1-dev:arm64 (3.1.2-7ubuntu4) ... 153s Selecting previously unselected package ruby3.2. 153s Preparing to unpack .../110-ruby3.2_3.2.3-1_arm64.deb ... 153s Unpacking ruby3.2 (3.2.3-1) ... 153s Selecting previously unselected package ruby3.2-dev:arm64. 153s Preparing to unpack .../111-ruby3.2-dev_3.2.3-1_arm64.deb ... 153s Unpacking ruby3.2-dev:arm64 (3.2.3-1) ... 153s Selecting previously unselected package ruby-all-dev:arm64. 153s Preparing to unpack .../112-ruby-all-dev_1%3a3.1+1_arm64.deb ... 153s Unpacking ruby-all-dev:arm64 (1:3.1+1) ... 153s Selecting previously unselected package gem2deb. 153s Preparing to unpack .../113-gem2deb_2.2.2_arm64.deb ... 153s Unpacking gem2deb (2.2.2) ... 153s Selecting previously unselected package rake-compiler. 153s Preparing to unpack .../114-rake-compiler_1.2.5-1_all.deb ... 153s Unpacking rake-compiler (1.2.5-1) ... 153s Selecting previously unselected package ruby-concurrent. 153s Preparing to unpack .../115-ruby-concurrent_1.1.6+dfsg-5build3_all.deb ... 153s Unpacking ruby-concurrent (1.1.6+dfsg-5build3) ... 153s Selecting previously unselected package ruby-concurrent-ext. 153s Preparing to unpack .../116-ruby-concurrent-ext_1.1.6+dfsg-5build3_arm64.deb ... 153s Unpacking ruby-concurrent-ext (1.1.6+dfsg-5build3) ... 153s Selecting previously unselected package ruby-diff-lcs. 153s Preparing to unpack .../117-ruby-diff-lcs_1.5.0-1_all.deb ... 153s Unpacking ruby-diff-lcs (1.5.0-1) ... 153s Selecting previously unselected package ruby-rspec-support. 153s Preparing to unpack .../118-ruby-rspec-support_3.12.0c0e1m1s0-1_all.deb ... 153s Unpacking ruby-rspec-support (3.12.0c0e1m1s0-1) ... 153s Selecting previously unselected package ruby-rspec-core. 153s Preparing to unpack .../119-ruby-rspec-core_3.12.0c0e1m1s0-1_all.deb ... 153s Unpacking ruby-rspec-core (3.12.0c0e1m1s0-1) ... 153s Selecting previously unselected package ruby-rspec-expectations. 153s Preparing to unpack .../120-ruby-rspec-expectations_3.12.0c0e1m1s0-1_all.deb ... 153s Unpacking ruby-rspec-expectations (3.12.0c0e1m1s0-1) ... 153s Selecting previously unselected package ruby-rspec-mocks. 153s Preparing to unpack .../121-ruby-rspec-mocks_3.12.0c0e1m1s0-1_all.deb ... 153s Unpacking ruby-rspec-mocks (3.12.0c0e1m1s0-1) ... 153s Selecting previously unselected package ruby-rspec. 153s Preparing to unpack .../122-ruby-rspec_3.12.0c0e1m1s0-1_all.deb ... 153s Unpacking ruby-rspec (3.12.0c0e1m1s0-1) ... 153s Selecting previously unselected package ruby-timecop. 154s Preparing to unpack .../123-ruby-timecop_0.9.8-1_all.deb ... 154s Unpacking ruby-timecop (0.9.8-1) ... 154s Selecting previously unselected package autopkgtest-satdep. 154s Preparing to unpack .../124-1-autopkgtest-satdep.deb ... 154s Unpacking autopkgtest-satdep (0) ... 154s Setting up wdiff (1.2.2-6) ... 154s Setting up libfile-which-perl (1.27-2) ... 154s Setting up libdw1:arm64 (0.190-1) ... 154s Setting up libdynaloader-functions-perl (0.003-3) ... 154s Setting up libclass-method-modifiers-perl (2.15-1) ... 154s Setting up libio-pty-perl (1:1.20-1) ... 154s Setting up libclone-perl:arm64 (0.46-1build1) ... 154s Setting up libarchive-zip-perl (1.68-1) ... 154s Setting up libhtml-tagset-perl (3.20-6) ... 154s Setting up libdebhelper-perl (13.14.1ubuntu1) ... 154s Setting up liblwp-mediatypes-perl (6.04-2) ... 154s Setting up libtry-tiny-perl (0.31-2) ... 154s Setting up perl-openssl-defaults:arm64 (7) ... 154s Setting up linux-libc-dev:arm64 (6.8.0-11.11) ... 154s Setting up m4 (1.4.19-4) ... 154s Setting up libencode-locale-perl (1.05-3) ... 154s Setting up rubygems-integration (1.18) ... 154s Setting up libgomp1:arm64 (14-20240303-1ubuntu1) ... 154s Setting up ruby-concurrent (1.1.6+dfsg-5build3) ... 154s Setting up ruby-timecop (0.9.8-1) ... 154s Setting up patchutils (0.4.2-1build2) ... 154s Setting up autotools-dev (20220109.1) ... 154s Setting up libtirpc-dev:arm64 (1.3.4+ds-1build1) ... 154s Setting up libgmpxx4ldbl:arm64 (2:6.3.0+dfsg-2ubuntu4) ... 154s Setting up rpcsvc-proto (1.4.2-0ubuntu6) ... 154s Setting up ruby-net-telnet (0.2.0-1) ... 154s Setting up libmpc3:arm64 (1.3.1-1) ... 154s Setting up libatomic1:arm64 (14-20240303-1ubuntu1) ... 154s Setting up libio-html-perl (1.004-3) ... 154s Setting up autopoint (0.21-14ubuntu1) ... 154s Setting up libb-hooks-op-check-perl:arm64 (0.22-2build2) ... 154s Setting up libipc-run-perl (20231003.0-1) ... 154s Setting up autoconf (2.71-3) ... 154s Setting up ruby-rspec-support (3.12.0c0e1m1s0-1) ... 154s Setting up libtimedate-perl (2.3300-2) ... 154s Setting up ruby-webrick (1.8.1-1) ... 154s Setting up libubsan1:arm64 (14-20240303-1ubuntu1) ... 154s Setting up dwz (0.15-1) ... 154s Setting up libnsl-dev:arm64 (1.3.0-3) ... 154s Setting up libhwasan0:arm64 (14-20240303-1ubuntu1) ... 154s Setting up libcrypt-dev:arm64 (1:4.4.36-4) ... 154s Setting up libasan8:arm64 (14-20240303-1ubuntu1) ... 154s Setting up librole-tiny-perl (2.002004-1) ... 154s Setting up debugedit (1:5.0-5) ... 154s Setting up libsub-override-perl (0.10-1) ... 154s Setting up libsub-quote-perl (2.006008-1ubuntu1) ... 154s Setting up libclass-xsaccessor-perl (1.19-4build2) ... 154s Setting up libtsan2:arm64 (14-20240303-1ubuntu1) ... 154s Setting up libfile-dirlist-perl (0.05-3) ... 154s Setting up libisl23:arm64 (0.26-3) ... 154s Setting up libc-dev-bin (2.39-0ubuntu2) ... 154s Setting up libfile-homedir-perl (1.006-2) ... 154s Setting up ruby-xmlrpc (0.3.2-2) ... 154s Setting up libcc1-0:arm64 (14-20240303-1ubuntu1) ... 154s Setting up liburi-perl (5.27-1) ... 154s Setting up libfile-touch-perl (0.12-2) ... 154s Setting up liblsan0:arm64 (14-20240303-1ubuntu1) ... 154s Setting up libitm1:arm64 (14-20240303-1ubuntu1) ... 154s Setting up libnet-ssleay-perl:arm64 (1.94-1) ... 154s Setting up automake (1:1.16.5-1.3ubuntu1) ... 154s update-alternatives: using /usr/bin/automake-1.16 to provide /usr/bin/automake (automake) in auto mode 154s Setting up libfile-stripnondeterminism-perl (1.13.1-1) ... 154s Setting up libhttp-date-perl (6.06-1) ... 154s Setting up gettext (0.21-14ubuntu1) ... 154s Setting up libgmp-dev:arm64 (2:6.3.0+dfsg-2ubuntu4) ... 154s Setting up libfile-listing-perl (6.16-1) ... 154s Setting up cpp-13-aarch64-linux-gnu (13.2.0-17ubuntu2) ... 154s Setting up libnet-http-perl (6.23-1) ... 154s Setting up libdevel-callchecker-perl:arm64 (0.008-2build1) ... 154s Setting up intltool-debian (0.35.0+20060710.6) ... 154s Setting up cpp-aarch64-linux-gnu (4:13.2.0-7ubuntu1) ... 154s Setting up dh-strip-nondeterminism (1.13.1-1) ... 154s Setting up libwww-robotrules-perl (6.02-1) ... 154s Setting up libgcc-13-dev:arm64 (13.2.0-17ubuntu2) ... 154s Setting up libhtml-parser-perl:arm64 (3.81-1build1) ... 154s Setting up libc6-dev:arm64 (2.39-0ubuntu2) ... 154s Setting up libio-socket-ssl-perl (2.085-1) ... 154s Setting up libstdc++-13-dev:arm64 (13.2.0-17ubuntu2) ... 154s Setting up libhttp-message-perl (6.45-1ubuntu1) ... 154s Setting up libhttp-negotiate-perl (6.01-2) ... 154s Setting up cpp-13 (13.2.0-17ubuntu2) ... 154s Setting up libhttp-cookies-perl (6.11-1) ... 154s Setting up po-debconf (1.0.21+nmu1) ... 154s Setting up libhtml-tree-perl (5.07-3) ... 154s Setting up libparams-classify-perl:arm64 (0.015-2build3) ... 154s Setting up gcc-13-aarch64-linux-gnu (13.2.0-17ubuntu2) ... 154s Setting up libmodule-runtime-perl (0.016-2) ... 154s Setting up gcc-13 (13.2.0-17ubuntu2) ... 154s Setting up cpp (4:13.2.0-7ubuntu1) ... 154s Setting up g++-13-aarch64-linux-gnu (13.2.0-17ubuntu2) ... 154s Setting up gcc-aarch64-linux-gnu (4:13.2.0-7ubuntu1) ... 154s Setting up g++-13 (13.2.0-17ubuntu2) ... 154s Setting up libtool (2.4.7-7) ... 154s Setting up libimport-into-perl (1.002005-2) ... 154s Setting up libmoo-perl (2.005005-1) ... 154s Setting up gcc (4:13.2.0-7ubuntu1) ... 154s Setting up dh-autoreconf (20) ... 154s Setting up g++-aarch64-linux-gnu (4:13.2.0-7ubuntu1) ... 154s Setting up debhelper (13.14.1ubuntu1) ... 154s Setting up g++ (4:13.2.0-7ubuntu1) ... 154s update-alternatives: using /usr/bin/g++ to provide /usr/bin/c++ (c++) in auto mode 154s Setting up build-essential (12.10ubuntu1) ... 154s Setting up libruby3.1:arm64 (3.1.2-7ubuntu4) ... 154s Setting up libruby:arm64 (1:3.1+1) ... 154s Setting up libwww-perl (6.76-1) ... 154s Setting up ruby-rubygems (3.4.20-1) ... 154s Setting up devscripts (2.23.7) ... 154s Setting up ruby3.1 (3.1.2-7ubuntu4) ... 154s Setting up ruby3.1-dev:arm64 (3.1.2-7ubuntu4) ... 154s Setting up ruby-sdbm:arm64 (1.0.0-5build3) ... 154s Setting up liblwp-protocol-https-perl (6.13-1) ... 154s Setting up ruby (1:3.1+1) ... 154s Setting up rake (13.0.6-3) ... 154s Setting up ruby-rspec-core (3.12.0c0e1m1s0-1) ... 154s Setting up ruby-diff-lcs (1.5.0-1) ... 154s Setting up libruby3.2:arm64 (3.2.3-1) ... 154s Setting up gem2deb-test-runner (2.2.2) ... 154s Setting up ruby-concurrent-ext (1.1.6+dfsg-5build3) ... 154s Setting up rake-compiler (1.2.5-1) ... 154s Setting up ruby-rspec-expectations (3.12.0c0e1m1s0-1) ... 154s Setting up ruby-rspec-mocks (3.12.0c0e1m1s0-1) ... 154s Setting up ruby3.2 (3.2.3-1) ... 154s Setting up ruby3.2-dev:arm64 (3.2.3-1) ... 154s Setting up ruby-rspec (3.12.0c0e1m1s0-1) ... 154s Setting up ruby-all-dev:arm64 (1:3.1+1) ... 154s Setting up gem2deb (2.2.2) ... 154s Setting up autopkgtest-satdep (0) ... 154s Processing triggers for libc-bin (2.39-0ubuntu2) ... 154s Processing triggers for man-db (2.12.0-3) ... 155s Processing triggers for install-info (7.1-3) ... 162s (Reading database ... 86733 files and directories currently installed.) 162s Removing autopkgtest-satdep (0) ... 163s autopkgtest [10:57:28]: test command1: ruby -e "gem 'concurrent-ruby'" \ && ruby -e "gem 'concurrent-ruby-ext'" \ && ruby -e "gem 'concurrent-ruby-edge'" \ && DH_RUBY_GEMSPEC=concurrent-ruby.gemspec gem2deb-test-runner --autopkgtest 2>&1 163s autopkgtest [10:57:28]: test command1: [----------------------- 163s 163s ┌──────────────────────────────────────────────────────────────────────────────┐ 163s │ Run tests for ruby3.1 from debian/ruby-tests.rake │ 163s └──────────────────────────────────────────────────────────────────────────────┘ 163s 163s RUBYLIB=. GEM_PATH= ruby3.1 -S rake --rakelibdir /gem2deb-nonexistent -f debian/ruby-tests.rake 163s mv lib ./.gem2deb.lib 163s mv ext ./.gem2deb.ext 163s /usr/bin/ruby3.1 -I/usr/share/rubygems-integration/all/gems/rspec-support-3.12.0/lib:/usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/exe/rspec --pattern ./spec/concurrent/\*_spec.rb --color --backtrace --format documentation --seed 1 164s Run options: exclude {:stress=>true} 164s 164s Randomized with seed 1 164s 164s Concurrent::IVar 164s #initialize 164s can set an initial value 164s does not have to set an initial value 164s can set an initial value with a block 164s does not set an initial value if you pass NULL 164s raises an exception if given both a value and a block 164s observation 164s notifies all observers on #set 164s deadlock avoidance 164s should notify observers outside mutex lock 164s should notify a new observer added after fulfillment outside lock 164s it should behave like ivar 164s initialization 164s sets the state to incomplete 164s it should behave like dereferenceable 164s does not call #freeze when #freeze_on_deref is set and the value is nil 164s defaults :copy_on_deref to nil 164s defaults :dup_on_deref to false 164s supports dereference flags with observers 164s calls #freeze when the :freeze_on_deref option is true 164s defaults :freeze_on_deref to false 164s does not call #dup when #dup_on_deref is set and the value is nil 164s calls #dup when the :dup_on_deref option is true 164s calls the block when the :copy_on_deref option is passed a proc 164s does not call the #copy_on_deref block when the value is nil 164s calls the :copy block first followed by #dup followed by #freeze 164s it should behave like obligation 164s #value 164s returns nil when reaching the optional timeout value 164s is nil when :pending 164s blocks the caller when :pending and timeout is nil 164s returns the value when fulfilled before timeout 164s is set to the return value of the block when :fulfilled 164s is nil when :rejected 164s returns nil when timeout reached 164s returns immediately when timeout is zero 164s #state 164s is :pending when first created 164s is :fulfilled when the handler completes 164s is :rejected when the handler raises an exception 164s #reason 164s is nil when :fulfilled 164s is set to error object of the exception when :rejected 164s is nil when :pending 164s it should behave like observable 164s #delete_observer 164s deletes the given observer if called before first notification 164s returns the given observer even when not found in the observer set 164s returns the removed observer if found in the observer set 164s #add_observer 164s raises an exception if not given an observer or a block 164s adds an observer if called before first notification 164s raises an exception when given both an observer and a block 164s creates an observer from a block if called before first notification 164s adds an observer with :func if called before first notification 164s first notification 165s does not notify any observers after #delete_observers called 165s calls the appropriate function on all observers which specified a :func 166s does not notify any observers removed with #delete_observer 166s calls the proc for all observers added as a block 166s calls the #update method on all observers without a specified :func 166s #count_observers 166s returns zero for a new observable object 166s returns a count of registered observers if called before first notification 166s returns zero after #delete_observers has been called 166s #delete_observers 166s deletes all observers when called before first notification 166s returns self 166s #set 166s raises an exception when given neither a value nor a block 166s raises an exception if set more than once 166s rejects when given a block which raises an exception 166s returns self 166s sets the state to be fulfilled 166s fulfils when given a block which executes successfully 166s raises an exception when given a value and a block 166s sets the value 166s #fail 166s sets the reason to the given exception 166s raises an exception if set more than once 166s sets the value to be nil 166s returns self 166s defaults the reason to a StandardError 166s sets the state to be rejected 166s #try_set 166s when unset 166s assigns the value 166s assigns the block result 166s returns true 166s when rejected 166s does not assign the block result 166s returns false 166s has a nil value 166s does not assign the value 166s when fulfilled 166s does not assign the value 166s returns false 166s does not assign the block result 166s 166s Concurrent::LazyRegister 166s example at ./spec/concurrent/lazy_register_spec.rb:4 (PENDING: Not yet implemented) 166s 166s dataflow 166s #dataflow uses the global fast executor 166s #dataflow_with raises an exception when no executor given 166s raises an exception when no block given 166s accepts completed dependencies 166s doesn't raise exceptions from dependencies, unless called with ! 166s returns a Future 166s accepts zero or more dependencies 166s accepts uncompleted dependencies 166s #dataflow_with uses the given executor 166s raises an exception if any dependencies are not IVars 166s passes the values of dependencies into the block 166s if there is more than one 166s if there is just one 166s does not schedule the Future 166s if no dependencies are completed 166s if one dependency of two is completed 166s module function 166s can be called as Concurrent.dataflow and Concurrent.dataflow_with 166s counts already executed dependencies 166s if there is more than one 166s if there is just one 166s schedules the Future when all dependencies are available 166s if there is more than one 166s if there is just one 166s 166s Concurrent::MutableStruct 166s #[member]= 166s sets the value when given a valid string member 166s sets the value when given a valid symbol member 166s raises an exception when given a non-existent symbol member 166s raises an exception when given a non-existent string member 166s synchronization 166s protects #[member] 166s protects #values 166s protects #to_h 166s protects getter methods 166s protects #each_pair 166s protects getter methods 166s protects #inspect 166s protects #[member]= 166s protects #to_s 166s protects #values_at 166s protects #merge 166s protects #initialize_copy 166s protects #[index]= 166s protects #== 166s protects #each 166s protects #[index] 166s protects #select 166s definition 166s defines a setter for each member 166s copy 166s #clone 166s mutates only the copy 166s #dup 166s mutates only the copy 166s #[index]= 166s sets the value when given a valid index 166s raises an exception when given an out-of-bound index 166s it should behave like struct 166s properties 166s #members 166s returns a different object than the array passed at definition 166s returns the struct members as an array of symbols 166s #size 166s returns the number of struct members 166s #values 166s returns the values of the struct as an array in order 166s #values_at 166s returns values for ranges and offsets 166s returns the values at multiple given offsets 166s returns values at offsets in a given range 166s returns the value at the given offset 166s returns values for multiple ranges 166s #length 166s returns the number of struct members 166s comparison 166s #!= 166s returns false if other has same struct subclass and equal values 166s returns true if other has different values 166s returns true if other has different struct subclass 166s #== 166s returns true if other has same struct subclass and equal values 166s returns false if other has different struct subclass 166s returns false if other has different values 166s definition 166s registers the class when given a class name which is defined in the ancestors 166s raises an exception when given an invalid class name 166s raises an exception when given no members 166s raise an exception when given an invalid member 166s defines a getter for each member 166s registers the class when given a class name 166s evalues a given block against the new class 166s creates an anonymous class when given at least one member 166s conversion 166s #to_a 166s returns the to_a for this struct as an array 166s #to_s 166s returns the same string as #inspect 166s includes the name of the class when registered 166s includes the names of all members 166s includes all values 166s #to_h 166s returns a Hash containing the names and values in order 166s accessors 166s #[index] 166s retrieves the value when given a valid index 166s raises an exception when given an out-of-bound index 166s #[member] 166s retrieves the value when given a valid string member 166s raises an exception when given a non-existent string member 166s raises an exception when given a non-existent symbol member 166s retrieves the value when given a valid symbol member 166s enumeration 166s #select 166s yields each value 166s returns an enumerator when no block is given 166s returns an Array with the values from for which the block returns true 166s #each 166s returns an enumerator when no block is given 166s yields the value of each struct member in order 166s #each_pair 166s returns an enumerator when no block is given 166s yields the name and value of each struct member in order 166s construction 166s raises an exception when extra members are given 166s sets all absent members to nil 166s sets all given members in order 166s copy 166s #dup 166s discards singleton class 166s shallowly duplicates all members along with the struct 166s discards frozen state of the struct 166s retains frozen state of members 166s copies the singleton class of members 166s #clone 166s retains frozen state 166s copies the singleton class 166s copies the singleton class of members 166s shallowly clones all members along with the struct 166s it should behave like mergeable_struct 166s #merge 166s calls the given block for each key in `other` 166s raises an exception when given a hash with members not in the struct 166s returns a new object 166s retains the value for all members not without values in the given hash 166s updates all members with the new values from a given hash 166s 166s Concurrent 166s Cancellation 166s basic 166s is expected to be falsey 166s is expected to be truthy 166s #join 166s is expected to eq 2 166s is expected to be falsey 166s 166s #atomically 166s provides atomicity 166s raises an exception when no block given 166s is implemented with lazy writes 166s undoes writes if the transaction is aborted 166s commits writes if the transaction succeeds 166s retries on abort 166s provides weak isolation 166s nests 166s raises the same exception that was raised in Concurrent::atomically 166s reflects transactional writes from within the same transaction 166s 166s Concurrent::Set 166s .[] 166s when initializing with arguments 166s creates a set with the given objects 166s when initializing with no arguments 166s is expected to be empty 166s .new 166s when initializing with no arguments 166s is expected to be empty 166s when initializing with an enumerable object 166s creates a set with the contents of the enumerable object 166s when initializing with a block argument 166s creates a set with the contents of the enumerable object 166s concurrency 167s is expected to be empty 167s 167s Concurrent::Delay 167s #reconfigure 167s returns value of block used in reconfiguration 167s returns false when process completed? 167s #value 167s can be called twice 167s calls the block when #value is called 167s raises when called recursively 167s does not call the block before #value is called 167s only calls the block once no matter how often #value is called 167s behavior 167s it should behave like dereferenceable 167s calls the block when the :copy_on_deref option is passed a proc 167s defaults :copy_on_deref to nil 167s does not call #freeze when #freeze_on_deref is set and the value is nil 167s calls #dup when the :dup_on_deref option is true 167s does not call #dup when #dup_on_deref is set and the value is nil 167s defaults :dup_on_deref to false 167s supports dereference flags with observers 167s does not call the #copy_on_deref block when the value is nil 167s calls the :copy block first followed by #dup followed by #freeze 167s defaults :freeze_on_deref to false 167s calls #freeze when the :freeze_on_deref option is true 167s it should behave like obligation 167s #reason 167s is nil when :pending 167s is nil when :fulfilled 167s is set to error object of the exception when :rejected 167s #value 167s is nil when :rejected 167s is set to the return value of the block when :fulfilled 167s returns immediately when timeout is zero 167s blocks the caller when :pending and timeout is nil 167s returns nil when reaching the optional timeout value 167s returns nil when timeout reached 167s returns the value when fulfilled before timeout 167s is nil when :pending 167s #state 167s is :pending when first created 167s is :rejected when the handler raises an exception 167s is :fulfilled when the handler completes 167s #initialize 167s raises an exception when no block given 167s sets the state to :pending 167s 167s Concurrent::Promise 167s #rescue 167s returns a new promise 167s it should behave like thread_arguments 167s passes a one-element array when the :args key has a non-array value 167s passes an empty array when opts is not given 167s passes an empty array when the :args key has a nil value 167s passes an empty array when opts is an empty hash 167s allows the given arguments array to be dereferenced 167s passes the given array when the :args key has a complex array value 167s passes an array when when the :args key has an array value 167s passes an empty array when there is no :args key 167s aliases 167s aliases #realized? for #fulfilled? 167s aliases #catch for #rescue 167s aliases #deref for #value 167s aliases #on_error for #rescue 167s fulfillment 167s can manage long chain 167s sets the promise state to :fulfilled if the block completes 167s passes the result of each block to all its children 167s sets the promise value to the result if its block 167s uses result as fulfillment value when a promise has no block 167s passes the last result through when a promise has no block 167s #fail 167s can only be called on the root promise 167s rejects children 167s #set 167s triggers children 167s can be called with a block 167s #can only be called on the root promise 167s rejection 167s sets the promise value to the result if its block 167s passes the reason to all its children 167s rejects on Exception 167s sets the promise state to :rejected if the block completes 167s uses reason as rejection reason when a promise has no rescue callable 167s .zip 167s does not execute the returned Promise when execute is false 168s preserves ordering of the executed promises 168s executes the returned Promise by default 168s allows setting executor for Promise chain 168s fails if one component fails 168s executes the returned Promise when execute is true 168s yields the results as an array 168s aggregators 168s .any? 168s executes the #then condition when any components succeed 168s executes the #rescue handler if all componenst fail 168s does not execute the returned Promise 168s returns a new Promise 168s executes the #then condition when no promises are given 168s .all? 168s executes the #then condition when all components succeed 168s executes the #rescue handler if even one component fails 168s returns a new Promise 168s does not execute the returned Promise 168s executes the #then condition when no promises are given 168s initializers 168s .execute 168s passes the block to the new Promise 168s calls #execute on the new Promise 168s creates a new Promise 168s .fulfill 168s should return a Promise with set value 168s should return a fulfilled Promise 168s should return a Promise 168s .reject 168s should return a Promise with set reason 168s should return a Promise 168s should return a rejected Promise 168s .new 168s should return an unscheduled Promise 168s #then 168s should have block or rescuers 168s returns a new promise when a block and rescuer are passed 168s returns a new promise when a block is passed 168s returns a new promise when a rescuer is passed 168s can be called more than once 168s supports setting the executor using a named parameter 168s returns a new promise when a block, rescuer and executor are passed 168s fulfilled 168s returns a new Promise 168s notifies fulfillment to new child 168s rejected 168s returns a new Promise when :rejected 168s notifies rejection to new child 168s pending 168s returns a new promise 168s returns a pending promise 168s unscheduled 168s returns a new promise 168s returns an unscheduled promise 168s on_success 168s returns a new promise 168s should have a block 168s #execute 168s with children 168s when called on a child 169s should set all promises to :pending 169s when called on the root 170s should set all promises to :pending 170s pending 170s does not post again 170s sets the promise to :pending 170s unscheduled 170s posts the block given in construction 171s sets the promise to :pending 171s #flat_map 171s returns a promise 171s fails if the left promise fails 171s fails if the right promise fails 171s fails if the generating block fails 171s succeeds if both promises succeed 171s #zip 171s allows setting executor for Promise chain 171s fails if one component fails 171s executes the returned Promise when execute is true 171s does not execute the returned Promise when execute is false 171s executes the returned Promise by default 171s preserves ordering of the executed promises 171s yields the results as an array 171s it should behave like ivar 171s #set 171s raises an exception if set more than once 171s returns self 171s raises an exception when given neither a value nor a block 171s raises an exception when given a value and a block 171s rejects when given a block which raises an exception 171s sets the state to be fulfilled 171s sets the value 171s fulfils when given a block which executes successfully 171s #try_set 171s when fulfilled 171s returns false 171s does not assign the value 171s does not assign the block result 171s when rejected 171s returns false 171s does not assign the block result 171s has a nil value 171s does not assign the value 171s when unset 171s returns true 171s assigns the value 171s assigns the block result 171s it should behave like observable 171s #add_observer 171s adds an observer with :func if called before first notification 171s raises an exception if not given an observer or a block 171s creates an observer from a block if called before first notification 171s adds an observer if called before first notification 171s raises an exception when given both an observer and a block 171s #count_observers 171s returns zero for a new observable object 171s returns a count of registered observers if called before first notification 171s returns zero after #delete_observers has been called 171s first notification 172s does not notify any observers removed with #delete_observer 173s does not notify any observers after #delete_observers called 173s calls the proc for all observers added as a block 173s calls the appropriate function on all observers which specified a :func 173s calls the #update method on all observers without a specified :func 173s #delete_observer 173s returns the given observer even when not found in the observer set 173s returns the removed observer if found in the observer set 173s deletes the given observer if called before first notification 173s #delete_observers 173s returns self 173s deletes all observers when called before first notification 173s initialization 173s sets the state to incomplete 173s #fail 173s sets the state to be rejected 173s sets the value to be nil 173s raises an exception if set more than once 173s defaults the reason to a StandardError 173s sets the reason to the given exception 173s returns self 173s it should behave like dereferenceable 173s calls the block when the :copy_on_deref option is passed a proc 174s defaults :copy_on_deref to nil 174s does not call #freeze when #freeze_on_deref is set and the value is nil 174s calls #dup when the :dup_on_deref option is true 174s supports dereference flags with observers 174s calls #freeze when the :freeze_on_deref option is true 175s calls the :copy block first followed by #dup followed by #freeze 175s defaults :dup_on_deref to false 175s defaults :freeze_on_deref to false 175s does not call #dup when #dup_on_deref is set and the value is nil 175s does not call the #copy_on_deref block when the value is nil 175s it should behave like obligation 175s #value 180s blocks the caller when :pending and timeout is nil 180s returns nil when reaching the optional timeout value 180s is set to the return value of the block when :fulfilled 180s is nil when :pending 180s returns nil when timeout reached 180s returns immediately when timeout is zero 180s is nil when :rejected 185s returns the value when fulfilled before timeout 185s #reason 185s is nil when :fulfilled 185s is nil when :pending 185s is set to error object of the exception when :rejected 185s #state 185s is :pending when first created 185s is :fulfilled when the handler completes 185s is :rejected when the handler raises an exception 185s 185s Concurrent::TVar 185s #value 185s gets the value 185s #initialize 185s accepts an initial value 185s #value= 185s sets the value 185s 185s Concurrent::Async 185s object creation 185s initializes synchronization 185s passes all args to the original constructor 185s delegates to the original constructor 185s passes a given block to the original constructor 185s #await 185s raises an error when calling a method that does not exist 185s raises an error when passing too few arguments 185s sets the reason when giving too many optional arguments 185s supports methods with blocks 185s sets the value on success 185s supports attribute accessors 185s returns a :fulfilled IVar 185s runs the future on the global executor 185s returns the existence of the method 185s raises an error when pasing too many arguments (arity >= 0) 185s sets the reason on failure 185s #validate_argc 185s raises an exception for too many args on a method with positive arity 185s raises an exception for too many args on a zero arity method 185s does not raise an exception for correct negative arity 185s raises an exception for too few args on a method with negative arity 185s raises an exception when the method is not defined 185s raises an exception for too few args on a method with positive arity 185s does not raise an exception for correct positive arity 185s does not raise an exception for correct zero arity 185s locking 186s uses the same lock for both #async and #await 186s #async 186s sets the reason on failure 186s raises an error when calling a method that does not exist 186s supports methods with blocks 186s returns the existence of the method 186s raises an error when passing too few arguments 186s raises an error when pasing too many arguments (arity >= 0) 186s supports attribute accessors 186s runs the future on the global executor 186s returns a :pending IVar 186s sets the value on success 186s sets the reason when giving too many optional arguments 186s 186s Concurrent::MVar 186s #take 186s returns TIMEOUT on timeout on an empty MVar 186s waits for another thread to #put 186s returns the value on a full MVar 186s sets the MVar to empty 186s spurious wake ups 186s #put 186s returns TIMEOUT on timeout on a full MVar 187s waits for another thread to #take 187s #modify 187s waits for another thread to #put 188s returns TIMEOUT on timeout on an empty MVar 188s #take 188s waits for another thread to #put 189s returns TIMEOUT on timeout on an empty MVar 189s #empty? 189s returns false on a full MVar 189s returns true on an empty MVar 189s #set! 189s sets a full MVar to be full 189s returns EMPTY on an empty MVar 189s sets an empty MVar to be full 189s returns the original value on a full MVar 189s #modify! 189s raises an exception when no block given 189s modifies an empty MVar 189s returns the unmodified value 189s can be used to set an empty MVar to empty 189s can be used to set a full MVar to empty 189s modifies a full MVar 189s #initialize 189s accepts an initial value 189s accepts a nil initial value 189s accepts no initial value 189s accepts an empty initial value 189s #try_take! 189s returns EMPTY an empty MVar 189s returns the value on a full MVar 189s sets a full MVar to be empty 189s #borrow 189s returns TIMEOUT on timeout on an empty MVar 189s yields current value to the block and puts back value 189s returns the returned value of the block 189s puts back value even if an exception is raised 189s #put 189s returns the value 189s sets a new value on an empty MVar 189s waits for another thread to #take 189s sets the MVar to be empty 189s returns TIMEOUT on timeout on a full MVar 189s #full? 189s returns true on a full MVar 189s returns false on an empty MVar 189s #try_put! 189s returns false on a full MVar 189s returns true an empty MVar 189s sets an empty MVar to be full 189s #modify 189s waits for another thread to #put 189s returns TIMEOUT on timeout on an empty MVar 190s is atomic 190s raises an exception when no block given 190s modifies a full MVar 190s returns the unmodified value 190s behavior 190s it should behave like dereferenceable 190s calls the block when the :copy_on_deref option is passed a proc 190s defaults :copy_on_deref to nil 190s supports dereference flags with observers 190s does not call #freeze when #freeze_on_deref is set and the value is nil 190s defaults :dup_on_deref to false 190s does not call #dup when #dup_on_deref is set and the value is nil 190s calls the :copy block first followed by #dup followed by #freeze 190s defaults :freeze_on_deref to false 190s calls #freeze when the :freeze_on_deref option is true 190s does not call the #copy_on_deref block when the value is nil 190s calls #dup when the :dup_on_deref option is true 190s 190s configuration 190s global executors 190s creates a global fast executor 190s creates a global timer set 190s creates a global io executor 190s 190s Concurrent::ProcessingActor 190s is expected to eq "ab" 190s 190s Concurrent::TimerTask 190s execution 190s waits for :execution_interval seconds when the :run_now option is not given 190s passes a "self" reference to the block as the sole argument 191s waits for :execution_interval seconds when the :run_now option is false 191s runs the block immediately when the :run_now option is true 191s arguments 191s #execution_interval is writeable 191s raises an exception if no block given 191s #timeout_interval is writeable 191s observation 191s notifies all observers on error 191s notifies all observers on timeout 191s notifies all observers on success 191s dereferenceable 191s it should behave like dereferenceable 191s defaults :freeze_on_deref to false 192s defaults :copy_on_deref to nil 192s calls #freeze when the :freeze_on_deref option is true 192s does not call the #copy_on_deref block when the value is nil 192s does not call #freeze when #freeze_on_deref is set and the value is nil 192s does not call #dup when #dup_on_deref is set and the value is nil 192s calls the block when the :copy_on_deref option is passed a proc 193s defaults :dup_on_deref to false 193s calls the :copy block first followed by #dup followed by #freeze 193s calls #dup when the :dup_on_deref option is true 193s supports dereference flags with observers 193s created with #new 193s #kill 193s returns true on success 193s #shutdown 193s returns true on success 193s #initialize 193s uses the given timeout interval 193s raises an exception if :timeout_interval is not greater than zero 193s raises an exception if :timeout_interval is not an integer 193s raises an exception if :execution_interval is not greater than zero 193s uses the default timeout interval when no interval is given 193s raises an exception if :execution_interval is not an integer 193s uses the default execution interval when no interval is given 193s uses the given execution interval 193s raises an exception if no block given 193s observable 193s it should behave like observable 193s #delete_observer 193s deletes the given observer if called before first notification 193s returns the given observer even when not found in the observer set 193s returns the removed observer if found in the observer set 193s #count_observers 193s returns zero after #delete_observers has been called 193s returns a count of registered observers if called before first notification 193s returns zero for a new observable object 193s #delete_observers 193s returns self 193s deletes all observers when called before first notification 193s first notification 193s calls the #update method on all observers without a specified :func 194s calls the appropriate function on all observers which specified a :func 194s calls the proc for all observers added as a block 195s does not notify any observers removed with #delete_observer 196s does not notify any observers after #delete_observers called 196s #add_observer 196s creates an observer from a block if called before first notification 196s raises an exception if not given an observer or a block 196s raises an exception when given both an observer and a block 196s adds an observer with :func if called before first notification 196s adds an observer if called before first notification 196s 196s Concurrent::Hash 196s .[] 196s when initializing with another hash as an argument 196s creates a hash with the results of calling #to_hash on the other array 196s creates a new hash 196s creates a hash with the same contents as the other hash 196s when initializing with an array of pairs 196s creates a hash using each pair as a (key, value) pair 196s when initializing with no arguments 196s is expected to be empty 196s when initializing with an even number of arguments 196s creates a hash using the odd position arguments as keys and even position arguments as values 196s .new 196s when initialized with a block 196s calls the block for non-existing keys 196s returns the results of calling the block for non-existing key 196s when initializing with no arguments 196s is expected to be empty 196s when initialized with a default object 196s uses the default object for non-existing keys 196s concurrency 197s is expected to be empty 197s 197s Concurrent::SettableStruct 197s it should behave like mergeable_struct 197s #merge 197s raises an exception when given a hash with members not in the struct 197s calls the given block for each key in `other` 197s retains the value for all members not without values in the given hash 197s updates all members with the new values from a given hash 197s returns a new object 197s definition 197s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/settable_struct.rb:121: warning: method redefined; discarding old baz 197s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/synchronization/abstract_struct.rb:161: warning: previous definition of baz was here 197s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/settable_struct.rb:121: warning: method redefined; discarding old baz 197s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/synchronization/abstract_struct.rb:161: warning: previous definition of baz was here 197s defines a setter for each member 197s #[index]= 197s raises an exception when given an out-of-bound index 197s raises an exception when given an index that has already been set 197s sets the value when given a valid index 197s it should behave like struct 197s construction 197s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/settable_struct.rb:121: warning: method redefined; discarding old baz 197s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/synchronization/abstract_struct.rb:161: warning: previous definition of baz was here 197s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/settable_struct.rb:121: warning: method redefined; discarding old baz 197s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/synchronization/abstract_struct.rb:161: warning: previous definition of baz was here 197s sets all absent members to nil 197s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/settable_struct.rb:121: warning: method redefined; discarding old baz 197s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/synchronization/abstract_struct.rb:161: warning: previous definition of baz was here 197s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/settable_struct.rb:121: warning: method redefined; discarding old baz 197s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/synchronization/abstract_struct.rb:161: warning: previous definition of baz was here 197s raises an exception when extra members are given 197s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/settable_struct.rb:121: warning: method redefined; discarding old baz 197s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/synchronization/abstract_struct.rb:161: warning: previous definition of baz was here 197s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/settable_struct.rb:121: warning: method redefined; discarding old baz 197s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/synchronization/abstract_struct.rb:161: warning: previous definition of baz was here 197s sets all given members in order 197s accessors 197s #[member] 197s raises an exception when given a non-existent string member 197s retrieves the value when given a valid string member 197s raises an exception when given a non-existent symbol member 197s retrieves the value when given a valid symbol member 197s #[index] 197s retrieves the value when given a valid index 197s raises an exception when given an out-of-bound index 197s definition 197s evalues a given block against the new class 197s raises an exception when given an invalid class name 197s raises an exception when given no members 197s creates an anonymous class when given at least one member 197s raise an exception when given an invalid member 197s registers the class when given a class name 197s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/settable_struct.rb:121: warning: method redefined; discarding old baz 197s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/synchronization/abstract_struct.rb:161: warning: previous definition of baz was here 197s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/settable_struct.rb:121: warning: method redefined; discarding old baz 197s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/synchronization/abstract_struct.rb:161: warning: previous definition of baz was here 197s defines a getter for each member 197s /tmp/autopkgtest.HBN5lV/build.tZE/src/spec/concurrent/struct_shared.rb:15: warning: already initialized constant ValidClassName2 197s /tmp/autopkgtest.HBN5lV/build.tZE/src/spec/concurrent/struct_shared.rb:15: warning: previous definition of ValidClassName2 was here 197s registers the class when given a class name which is defined in the ancestors 197s conversion 197s #to_h 197s returns a Hash containing the names and values in order 197s #to_a 197s returns the to_a for this struct as an array 197s #to_s 197s includes all values 197s returns the same string as #inspect 197s includes the name of the class when registered 197s includes the names of all members 197s copy 197s #clone 197s shallowly clones all members along with the struct 197s copies the singleton class 197s copies the singleton class of members 197s retains frozen state 197s #dup 197s shallowly duplicates all members along with the struct 197s retains frozen state of members 197s discards singleton class 197s discards frozen state of the struct 197s copies the singleton class of members 197s properties 197s #values_at 197s returns values at offsets in a given range 197s returns values for multiple ranges 197s returns the values at multiple given offsets 197s returns the value at the given offset 197s returns values for ranges and offsets 197s #size 197s returns the number of struct members 197s #members 197s returns the struct members as an array of symbols 197s returns a different object than the array passed at definition 197s #values 197s returns the values of the struct as an array in order 197s #length 197s returns the number of struct members 197s enumeration 197s #each_pair 197s returns an enumerator when no block is given 197s yields the name and value of each struct member in order 197s #select 197s yields each value 197s returns an Array with the values from for which the block returns true 197s returns an enumerator when no block is given 197s #each 197s yields the value of each struct member in order 197s returns an enumerator when no block is given 197s comparison 197s #!= 197s returns true if other has different values 197s returns true if other has different struct subclass 197s returns false if other has same struct subclass and equal values 197s #== 197s returns true if other has same struct subclass and equal values 197s returns false if other has different values 197s returns false if other has different struct subclass 197s #[member]= 197s raises an exception when given a string member that has already been set 197s sets the value when given a valid string member 197s raises an exception when given a non-existent string member 197s raises an exception when given a symbol member that has already been set 197s raises an exception when given a non-existent symbol member 197s sets the value when given a valid symbol member 197s synchronization 197s protects getter methods 197s protects #select 197s protects #each_pair 197s protects #inspect 197s protects #[index] 197s protects getter methods 197s protects #to_h 197s protects #initialize_copy 197s protects #[member]= 197s protects #each 197s protects #[index]= 197s protects #values 197s protects #== 197s protects #[member] 197s protects #values_at 197s protects #to_s 197s protects #merge 197s copy 197s #clone 197s retains settability of members 197s #dup 197s retains settability of members 197s 197s Concurrent::ImmutableStruct 197s it should behave like struct 197s accessors 197s #[member] 197s retrieves the value when given a valid string member 197s retrieves the value when given a valid symbol member 197s raises an exception when given a non-existent string member 197s raises an exception when given a non-existent symbol member 197s #[index] 197s retrieves the value when given a valid index 197s raises an exception when given an out-of-bound index 197s definition 197s evalues a given block against the new class 197s raise an exception when given an invalid member 197s defines a getter for each member 197s creates an anonymous class when given at least one member 197s /tmp/autopkgtest.HBN5lV/build.tZE/src/spec/concurrent/struct_shared.rb:15: warning: already initialized constant ValidClassName2 197s /tmp/autopkgtest.HBN5lV/build.tZE/src/spec/concurrent/struct_shared.rb:15: warning: previous definition of ValidClassName2 was here 197s registers the class when given a class name which is defined in the ancestors 197s raises an exception when given an invalid class name 197s raises an exception when given no members 197s registers the class when given a class name 197s conversion 197s #to_s 197s returns the same string as #inspect 197s includes the names of all members 197s includes the name of the class when registered 197s includes all values 197s #to_a 197s returns the to_a for this struct as an array 197s #to_h 197s returns a Hash containing the names and values in order 197s properties 197s #values_at 197s returns values for multiple ranges 197s returns the values at multiple given offsets 197s returns values for ranges and offsets 197s returns values at offsets in a given range 197s returns the value at the given offset 197s #members 197s returns the struct members as an array of symbols 197s returns a different object than the array passed at definition 197s #size 197s returns the number of struct members 197s #length 197s returns the number of struct members 197s #values 197s returns the values of the struct as an array in order 197s comparison 197s #!= 197s returns false if other has same struct subclass and equal values 197s returns true if other has different struct subclass 197s returns true if other has different values 197s #== 197s returns true if other has same struct subclass and equal values 197s returns false if other has different struct subclass 197s returns false if other has different values 197s copy 197s #dup 197s shallowly duplicates all members along with the struct 197s discards frozen state of the struct 197s retains frozen state of members 197s discards singleton class 197s copies the singleton class of members 197s #clone 197s copies the singleton class 197s retains frozen state 197s copies the singleton class of members 197s shallowly clones all members along with the struct 197s construction 197s raises an exception when extra members are given 197s sets all given members in order 197s sets all absent members to nil 197s enumeration 197s #each_pair 197s yields the name and value of each struct member in order 197s returns an enumerator when no block is given 197s #each 197s returns an enumerator when no block is given 197s yields the value of each struct member in order 197s #select 197s returns an enumerator when no block is given 197s yields each value 197s returns an Array with the values from for which the block returns true 197s it should behave like mergeable_struct 197s #merge 197s raises an exception when given a hash with members not in the struct 197s returns a new object 197s updates all members with the new values from a given hash 197s retains the value for all members not without values in the given hash 197s calls the given block for each key in `other` 197s 197s Concurrent::Array 197s concurrency 197s is expected to be empty 197s .new 197s when initializing with a size argument 197s creates an array with size elements set to nil 197s when initializing with a block argument 197s creates an array with size elements set to the default value 197s when initializing with a default value argument 197s creates an array with size elements set to the default value 197s when initializing with no arguments 197s is expected to be empty 197s when initializing with another array as an argument 197s creates an array with the results of calling #to_ary on the other array 197s creates an array with the same contents as the other array 197s creates a new array 197s .[] 197s when initializing with no arguments 197s is expected to be empty 197s when initializing with arguments 197s creates an array with the given objects 197s #slice 197s correctly initializes the monitor 197s 197s Concurrent::Channel 197s #next? 197s returns a just Maybe, true when there are multiple items 197s returns a nothing Maybe and false on failure 197s returns a just Maybe and true when there is one item 197s #take! 197s raises an exception on failure 197s takes the next item when not empty 197s #take? 197s returns a nothing Maybe on failure 197s returns a just Maybe on success 197s #next 197s returns , true when closed and last item 197s returns nil, false when closed and no items remain 197s returns , true when there are multiple items 197s returns nil, false when empty and closed 197s returns , true when there is one item 197s #take 197s returns nil on failure 197s takes the next item when not empty 197s #offer 197s returns true on success 197s rejects nil 197s rejects when the validator raises an exception 197s returns false on failure 197s rejects when the validator returns false 197s put? 197s returns a nothing Maybe on failure 197s rejects when the validator raises an exception 197s accepts nil 197s rejects when the validator returns false 197s returns a just Maybe on success 197s #poll? 197s returns a nothing Maybe immediately if no item is available 197s returns a just Maybe immediately if available 197s returns a nothing Maybe on failure 197s offer? 197s returns a just Maybe on success 197s accepts nil 197s rejects when the validator raises an exception 197s rejects when the validator returns false 197s returns a nothing Maybe on failure 197s offer! 197s returns true on success 197s rejects when the validator raises an exception 197s raises an exception on failure 197s rejects nil 197s rejects when the validator returns false 197s #poll! 197s raises an exception on failure 197s returns the next item immediately if available 197s raises an exception immediately if no item is available 197s #poll 197s returns nil on failure 197s returns nil immediately if no item is available 197s returns the next item immediately if available 197s .each 197s iterates until the channel is closed 197s raises and exception when no block is given 197s put! 197s raises an exception on failure 197s returns true on success 197s rejects when the validator raises an exception 197s rejects nil 197s rejects when the validator returns false 197s factories 197s is expected to receive new(10) 1 time 197s is expected to receive new(10) 1 time 197s goroutines 197s .go_via 197s raises an exception when no block is given 197s is expected to receive post(1, 2, 3) 1 time 197s .go 197s raises an exception when no block is given 197s is expected to receive post(1, 2, 3) 1 time 197s .go_loop 197s raises an exception when no block is given 197s .go_loop_via 197s raises an exception when no block is given 197s loops until the block returns false 197s select 197s is expected to be truthy 197s raises an exception when no block is given 197s passes a selector to the block 197s #put 197s rejects when the validator returns false 197s rejects nil 197s rejects when the validator raises an exception 197s returns false on failure 197s returns true on success 197s initialization 197s raises an exception when the :buffer is invalid 197s raises an exception when :dropping given without :capacity 197s is :buffered when :capacity > 0 and no :buffer given 197s is :unbuffered when neither :buffer nore :capacity is given 197s raises an exception when :buffered given without :capacity 197s is :sliding when :sliding and :capacity > 0 197s raises an exception when :buffered and :capacity < 0 197s is :buffered when :buffered given 197s is :dropping when :dropping and :capacity > 0 197s raises an exception when :sliding given without :capacity 197s is :unbuffered when :buffered and capacity: 0 197s raises an exception when :sliding and :capacity < 1 197s raises an exception when both :unbuffered and :capacity are given 197s is :unbuffered when :unbuffered is given 197s uses the given buffer 197s raises an exception when :dropping and :capacity < 1 197s 197s Concurrent::Exchanger 197s class hierarchy 197s inherits from RubyExchanger 197s 197s Concurrent::Promises 197s zip_futures_over 197s .event 197s is expected to equal true 197s .zip_events 197s waits for all and returns event 197s Future 197s can be risen when rejected 197s has sync and async callbacks 197s chains with correct arguments 197s runs 197s value! supports setting timeout 197s result supports setting timeout 197s wait! supports setting timeout 197s chains 197s wait supports setting timeout 197s value supports setting timeout 197s constructs promise like tree 197s resolves future when Exception raised 197s allows graphs 197s reason supports setting timeout 197s #flat 197s it propagates rejection of the future which was suppose to provide inner future 197s propagates requests for values to delayed futures 197s rejects if inner value is not a future 197s accepts inner event 197s returns value of inner future 197s propagates rejection of inner future 197s has shortcuts 197s ResolvableEvent 197s reservation 197s #wait 197s .any_fulfilled 197s continues on first result 197s .rejected_future 197s raises the correct error when passed an unraised error 197s chain_resolvable 197s future 197s event 197s .future without block 197s is expected to eq 0 197s .zip 197s waits for all results 197s when a future raises an error 197s raises a concurrent error 197s when deeply nested 197s raises the original error 197s .future 197s executes 197s executes with args 197s .any_resolved 197s continues on first result 197s .delay 197s is expected to eq 2 197s ResolvableFuture 197s #wait! 197s result 197s #wait 197s atomic_resolution 197s #value! 197s #value 197s reservation 197s #reason 197s interoperability 197s with erlang actor 197s with channel 197s with processing actor 197s .schedule 198s scheduled execution in graph 198s scheduled execution 198s 198s Concurrent::Atom 198s #compare_and_set 198s returns true if the current value matches 198s returns false if the current value does not match 198s rejects the new value if the current value does not match 198s returns false if the validator returns false 198s sets the new value if the current value matches 198s returns false if the validator raises an exception 198s rejects the new value if the validator returns false 198s rejects the new value if the validator raises an exception 198s #reset 198s returns the new value on success 198s returns the new value on success 198s returns the old value if the validator returns false 198s returns the old value if the validator raises an exception 198s sets the new value 198s #swap 198s rejects the new value if the validator returns false 198s rejects the new value if the validator raises an exception 198s reraises the exception from block 198s returns the new value on success 198s calls the block more than once if the value changes underneath 198s sets the new value to the result of the block 198s returns the old value if the validator returns false 198s raises an exception when no block is given 198s passes all arguments to the block 198s returns the old value if the validator raises an exception 198s passes the current value to the block 198s observable 198s behaves like observable 198s first notification 199s does not notify any observers removed with #delete_observer 199s calls the appropriate function on all observers which specified a :func 200s does not notify any observers after #delete_observers called 200s calls the proc for all observers added as a block 200s calls the #update method on all observers without a specified :func 200s #add_observer 200s creates an observer from a block if called before first notification 200s adds an observer with :func if called before first notification 200s adds an observer if called before first notification 200s raises an exception if not given an observer or a block 200s raises an exception when given both an observer and a block 200s #delete_observer 200s returns the given observer even when not found in the observer set 200s returns the removed observer if found in the observer set 200s deletes the given observer if called before first notification 200s #count_observers 200s returns a count of registered observers if called before first notification 200s returns zero after #delete_observers has been called 200s returns zero for a new observable object 200s #delete_observers 200s deletes all observers when called before first notification 200s returns self 200s construction 200s sets the initial value to the given value 200s 200s Concurrent::Future 200s it should behave like thread_arguments 200s passes an empty array when there is no :args key 200s allows the given arguments array to be dereferenced 200s passes an array when when the :args key has an array value 200s passes the given array when the :args key has a complex array value 200s passes an empty array when opts is not given 200s passes a one-element array when the :args key has a non-array value 200s passes an empty array when opts is an empty hash 200s passes an empty array when the :args key has a nil value 200s class #execute 200s calls #execute on the new Future 200s creates a new Future 200s passes the block to the new Future 200s #initialize 200s raises an exception when no block given 200s sets the state to :unscheduled 200s uses the executor given with the :executor option 200s uses the global io executor by default 200s cancellation 200s #wait_or_cancel 200s returns true if the operation completes before timeout 200s cancels the task on timeout 200s #cancel 200s fails to cancel the task once processing has begun 200s fails to cancel the task once processing is complete 200s cancels a pending task 200s instance #execute 200s posts the block given on construction 200s returns self 200s does nothing unless the state is :unscheduled 200s sets the state to :pending 200s fulfillment 200s sets the state to :rejected when the handler raises an exception 200s sets the value to nil when the handler raises Exception 200s sets the value to nil when the handler raises an exception 200s sets the reason to the Exception instance when the handler raises Exception 200s sets the value to the result of the handler 200s passes all arguments to handler 200s sets the state to :processing while the task is executing 200s sets the state to :fulfilled when the block completes 200s aliases 200s aliases #deref for #value 200s aliases #realized? for #fulfilled? 200s it should behave like ivar 200s #try_set 200s when unset 200s assigns the value 200s returns true 200s assigns the block result 200s when fulfilled 200s does not assign the block result 200s does not assign the value 200s returns false 200s when rejected 200s does not assign the value 200s has a nil value 200s does not assign the block result 200s returns false 200s #fail 200s sets the state to be rejected 200s defaults the reason to a StandardError 200s sets the value to be nil 200s sets the reason to the given exception 200s raises an exception if set more than once 200s returns self 200s it should behave like obligation 200s #reason 200s is nil when :fulfilled 200s is set to error object of the exception when :rejected 200s is nil when :pending 200s #value 200s returns nil when timeout reached 200s is nil when :pending 200s is nil when :rejected 200s returns nil when reaching the optional timeout value 205s returns the value when fulfilled before timeout 210s blocks the caller when :pending and timeout is nil 210s is set to the return value of the block when :fulfilled 210s returns immediately when timeout is zero 210s #state 210s is :fulfilled when the handler completes 210s is :pending when first created 210s is :rejected when the handler raises an exception 210s it should behave like dereferenceable 211s calls #dup when the :dup_on_deref option is true 211s supports dereference flags with observers 211s defaults :copy_on_deref to nil 211s does not call the #copy_on_deref block when the value is nil 211s calls the :copy block first followed by #dup followed by #freeze 211s does not call #freeze when #freeze_on_deref is set and the value is nil 212s calls #freeze when the :freeze_on_deref option is true 212s calls the block when the :copy_on_deref option is passed a proc 212s defaults :freeze_on_deref to false 212s does not call #dup when #dup_on_deref is set and the value is nil 212s defaults :dup_on_deref to false 212s it should behave like observable 212s #delete_observers 212s returns self 212s deletes all observers when called before first notification 212s #add_observer 212s adds an observer with :func if called before first notification 212s raises an exception if not given an observer or a block 212s creates an observer from a block if called before first notification 212s raises an exception when given both an observer and a block 212s adds an observer if called before first notification 212s #count_observers 212s returns zero after #delete_observers has been called 212s returns zero for a new observable object 212s returns a count of registered observers if called before first notification 212s first notification 213s calls the appropriate function on all observers which specified a :func 214s does not notify any observers removed with #delete_observer 214s calls the proc for all observers added as a block 215s does not notify any observers after #delete_observers called 215s calls the #update method on all observers without a specified :func 215s #delete_observer 215s returns the removed observer if found in the observer set 215s deletes the given observer if called before first notification 215s returns the given observer even when not found in the observer set 215s #set 215s fulfils when given a block which executes successfully 215s raises an exception when given neither a value nor a block 215s sets the state to be fulfilled 215s raises an exception if set more than once 215s raises an exception when given a value and a block 215s sets the value 215s returns self 215s rejects when given a block which raises an exception 215s initialization 215s sets the state to incomplete 215s observation 215s notifies an observer added after fulfillment 215s does not notify existing observers when a new observer added after fulfillment 215s notifies all observers on fulfillment 215s does not notify existing observers when a new observer added after rejection 215s notifies an observer added after rejection 215s notifies all observers on rejection 215s deadlock avoidance 215s should notify observers outside mutex lock 215s should notify a new observer added after fulfillment outside lock 215s 215s #leave_transaction 215s neither commits nor aborts a transaction 215s raises an exception outside an #atomically block 215s 215s Concurrent::Actor 215s forbids Immediate executor 215s links atomically 215s links 215s dead letter routing 215s logs by deafault 215s messaging 215s is expected to eq 4 215s termination 215s terminates with all its children 215s spawning 215s terminates on failed initialization and raises with spawn! 215s terminates on failed initialization 215s terminates on failed message processing 215s Actor#spawn! 215s spawn 215s executor should be global 215s returns arg 215s #name 215s is expected to eq "ping" 215s #path 215s is expected to eq "/ping" 215s #reference 215s is expected to eq # 215s #parent 215s is expected to eq # 215s context_spawn_by_hash 215s executor should be global 215s returns arg 215s #reference 215s is expected to eq # 215s #path 215s is expected to eq "/ping" 215s #parent 215s is expected to eq # 215s #name 215s is expected to eq "ping" 215s context_spawn 215s executor should be global 215s returns arg 215s #reference 215s is expected to eq # 215s #parent 215s is expected to eq # 215s #path 215s is expected to eq "/ping" 215s #name 215s is expected to eq "ping" 215s spawn_by_hash 215s returns arg 215s executor should be global 215s #name 215s is expected to eq "ping" 215s #parent 215s is expected to eq # 215s #path 215s is expected to eq "/ping" 215s #reference 215s is expected to eq # 215s pausing 215s pauses on error and resets 215s pauses on error and resumes 215s pauses on error and restarts 215s envelope 215s is expected to eq # 215s pool 215s supports asks 215s message redirecting 215s is evaluated by child 215s children 215s has children set after a child is created 215s 215s #abort_transaction 215s raises an exception outside an #atomically block 215s 215s Concurrent 215s Throttle 216s capacity limited 216s acquiring 216s #to_s 216s #on 216s 216s Concurrent::Maybe 216s comparison 216s something is less than a bigger value 216s nothing is not greater than nothing 216s something is not equal to nothing 216s something is not equal to a different value 216s something is greater than a smaller value 216s nothing is equal to nothing 216s something is equal to the same value 216s nothing is not less than nothing 216s construction 216s hides Maybe.new 216s Maybe.nothing 216s creates a new Nothing Maybe 216s creates a new error object when given nothing 216s creates a new error object with the given string 216s uses the given Error object 216s Maybe.just 216s creates a new Just Maybe 216s Maybe.from 216s creates a Just Maybe on success 216s passes all arguments to the block 216s sets the reason to the error object on exception 216s creates a Nothing Maybe on exception 216s sets the value to the block result on success 216s raises an exception when no block is given 216s when just 216s #nothing returns NONE 216s #fulfilled? returns true 216s #nothing? returns false 216s #reason returns NONE 216s #rejected? returns false 216s #just? returns true 216s #value returns the value 216s #just returns the value 216s when nothing 216s #nothing returns the raised error 216s #rejected? returns true 216s #just returns NONE 216s #value returns NONE 216s #nothing? returns true 216s #reason returns the raised error 216s #just? returns false 216s #fulfilled? returns false 216s #or 216s returns the other when nothing 216s returns the value when something 216s 216s Concurrent::Options 216s .executor_from_options 216s raises an exception when :executor is an unrecognized symbol 216s returns the global io executor when :executor is :io 216s returns an immediate executor when :executor is :immediate 216s returns the global fast executor when :executor is :fast 216s returns the given :executor 216s 216s Concurrent::RubyExchanger 216s Good: 10000, Bad (timeout): 0, Ugly: 0 216s stress test 216s behaves like exchanger 216s #try_exchange 216s behaves like exchanger method with indefinite timeout 216s blocks indefinitely 216s receives the other value 216s can be reused 216s behaves like exchanger method with finite timeout 216s can be reused 216s receives the other value 216s blocks until timeout 216s behaves like exchanger method cross-thread interactions 216s allows multiple firsts to cancel if necessary 216s when first, waits for a second 216s #exchange 216s behaves like exchanger method with finite timeout 216s blocks until timeout 216s can be reused 216s receives the other value 216s behaves like exchanger method cross-thread interactions 217s allows multiple firsts to cancel if necessary 217s when first, waits for a second 217s behaves like exchanger method with indefinite timeout 217s receives the other value 217s can be reused 217s blocks indefinitely 217s #exchange! 217s behaves like exchanger method with indefinite timeout 217s blocks indefinitely 217s receives the other value 217s can be reused 217s behaves like exchanger method cross-thread interactions 217s allows multiple firsts to cancel if necessary 217s when first, waits for a second 217s behaves like exchanger method with finite timeout 217s blocks until timeout 217s receives the other value 217s can be reused 217s 217s Concurrent::ScheduledTask 217s #initialize 217s raises an exception when no block given 217s sets the initial state to :unscheduled 217s raises an exception when seconds is less than zero 217s accepts a number of seconds (from now) as the schedule time 217s behavior 217s it should behave like obligation 217s #reason 217s is set to error object of the exception when :rejected 217s is nil when :pending 217s is nil when :fulfilled 217s #value 217s is set to the return value of the block when :fulfilled 217s returns nil when timeout reached 217s returns nil when reaching the optional timeout value 218s blocks the caller when :pending and timeout is nil 218s returns immediately when timeout is zero 219s returns the value when fulfilled before timeout 219s is nil when :pending 219s is nil when :rejected 219s #state 219s is :fulfilled when the handler completes 219s is :pending when first created 219s is :rejected when the handler raises an exception 219s it should behave like dereferenceable 219s calls #dup when the :dup_on_deref option is true 219s calls #freeze when the :freeze_on_deref option is true 219s defaults :freeze_on_deref to false 219s defaults :dup_on_deref to false 219s calls the :copy block first followed by #dup followed by #freeze 219s calls the block when the :copy_on_deref option is passed a proc 219s supports dereference flags with observers 219s does not call the #copy_on_deref block when the value is nil 219s does not call #freeze when #freeze_on_deref is set and the value is nil 219s does not call #dup when #dup_on_deref is set and the value is nil 219s defaults :copy_on_deref to nil 219s it should behave like observable 219s first notification 220s does not notify any observers after #delete_observers called 221s calls the appropriate function on all observers which specified a :func 221s calls the proc for all observers added as a block 222s does not notify any observers removed with #delete_observer 222s calls the #update method on all observers without a specified :func 222s #count_observers 222s returns zero after #delete_observers has been called 222s returns a count of registered observers if called before first notification 222s returns zero for a new observable object 222s #add_observer 222s creates an observer from a block if called before first notification 222s raises an exception if not given an observer or a block 222s adds an observer with :func if called before first notification 222s adds an observer if called before first notification 222s raises an exception when given both an observer and a block 222s #delete_observers 222s deletes all observers when called before first notification 222s returns self 222s #delete_observer 222s returns the removed observer if found in the observer set 222s deletes the given observer if called before first notification 222s returns the given observer even when not found in the observer set 222s class #execute 222s passes the block to the new ScheduledTask 222s creates a new ScheduledTask 222s calls #execute on the new ScheduledTask 222s instance #execute 222s returns self 222s sets the sate to :pending 222s does nothing unless the state is :unscheduled 222s execution 222s passes :args from the options to the block 222s uses the :executor from the options 222s uses the :timer_set from the options 222s sets the state to :processing when the task is running 222s observation 223s notifies all observers on rejection 223s notifies all observers on fulfillment 223s returns true for an observer added while :pending 223s returns true for an observer added while :unscheduled 223s returns true for an observer added while :processing 223s #cancel 223s returns true on success 223s returns false if the task has already been performed 223s cancels the task if it has not yet scheduled 223s sets the reason to CancelledOperationError when cancelled 224s cancels the task if it has not yet started 224s returns false if the task is already in progress 224s 224s Concurrent::Synchronization 224s Concurrent::Synchronization::Object 224s does not ensure visibility when not needed 224s does ensure visibility when specified in a parent 224s does ensure visibility once when specified in child again 224s does ensure visibility when specified 224s it should behave like attr_volatile 225s older writes are always visible 225s Concurrent::Synchronization::Volatile module 225s it should behave like attr_volatile 226s older writes are always visible 226s Concurrent::Synchronization::LockableObject 226s final field always visible 226s #synchronize 226s allows only one thread to execute count 226s #wait 226s allows the sleeping thread to be killed 226s releases the lock on the current object 226s can be called from within a #synchronize block 226s puts the current thread to sleep 226s it should behave like attr_volatile 227s older writes are always visible 227s signaling 227s for now pending, tested pretty well by Event (PENDING: Not yet implemented) 227s attr_atomic 227s is expected to be == b 227s 227s Concurrent::Map 227s #delete 227s marshal dump does not work with default proc 227s retrieval 227s load factor options validation 227s falsy default proc 227s updates dont block reads 227s #replace_pair 227s #put_if_absent 227s #each_value 227s concurrency 227s #clear 227s #key? 228s collision resistance 228s #dup,#clone 228s #key 228s #values 228s #size 228s is unfreezable 228s #empty 228s #replace_if_exists 228s #delete_pair 228s default proc 228s #keys 228s initial capacity options validation 228s #each_key 228s #inspect 228s #get_or_default 228s collision resistance with arrays 228s options validation 228s #value? 228s #get_and_set 228s marshal dump load 228s #merge_pair 228s common 228s exception 228s with return 228s #compute_if_present 228s exception 228s with return 228s common 228s #each 228s it should behave like collection_each 228s pair iterator 228s common 228s allows modification 228s when no block is given 228s returns an object which is enumerable 228s returns an enumerator 228s #compute_if_absent 228s exception 228s common 228s with return 229s atomicity 229s #fetch 229s common 229s with return 229s falsy 229s #fetch_or_store 229s common 229s with return 229s falsy 229s #compute 229s common 229s with return 229s exception 229s #each_pair 229s it should behave like collection_each 229s common 229s allows modification 229s pair iterator 229s when no block is given 229s returns an enumerator 229s returns an object which is enumerable 229s 229s Concurrent::Agent 229s nested actions 229s occur in the order they ar post 229s work with immediate execution 229s initialization 229s sets #failed? to false 229s sets the initial error to nil 229s defaults the error mode to :continue when an error handler is given 229s defaults the error mode to :fail when no error handler is given 229s sets the error mode when given a valid value 229s sets the initial value 229s raises an error when given an invalid error mode 229s action processing 229s when validation raises an error the handler will be called 229s upon validation the new value will be set to the block return value 229s the given block will be passed any provided arguments 229s when validation raises an error the value will not change 229s the return value will be passed to the validator function 229s any recursive action dispatches will run after the value has been updated 229s when validation fails the handler will be called 229s when the action raises an error the validator will not be called 229s when the action raises an error the handler will be called 229s when validation returns false the value will not change 229s on success all observers will be notified 229s the given block will be passed the current value 229s when the action raises an error the value will not change 229s posting 229s with #send 229s returns false when #failed? 229s returns true when the job is post 229s posts to the global fast executor 229s does not wait for the action to process 229s with #send_off 229s does not wait for the action to process 229s returns true when the job is post 229s returns false when #failed? 229s posts to the global io executor 229s with #send! 229s returns true when the job is post 229s raises an error when #failed? 229s posts to the global fast executor 229s does not wait for the action to process 229s with #send_off! 229s does not wait for the action to process 229s posts to the global io executor 229s returns true when the job is post 229s raises an error when #failed? 229s with #send_via 229s returns true when the job is post 229s posts to the given executor 229s returns false when #failed? 229s with #<< 229s posts to the global io executor 229s returns self when #failed? 229s returns self when the job is post 229s does not wait for the action to process 229s with #send_via! 229s posts to the given executor 229s raises an error when #failed? 229s returns true when the job is post 229s with #post 229s posts to the global io executor 229s returns true when the job is post 229s does not wait for the action to process 229s returns false when #failed? 229s error handling 229s the agent will be passed to the handler 229s the exception will be passed to the handler 229s does not trigger observation 229s #restart 229s when #failed? 229s raises an error if the new value is not valid 229s does not trigger observation 229s sets #failed? to true 229s clears the error 229s does not clear the action queue when :clear_actions is false 229s resumes action processing if actions are enqueued 229s sets the new value 229s does not clear the action queue when :clear_actions is not given 229s removes all actions from the queue when :clear_actions is true 229s when not #failed? 229s raises an error 229s observable 229s behaves like observable 229s #delete_observer 229s deletes the given observer if called before first notification 229s returns the given observer even when not found in the observer set 229s returns the removed observer if found in the observer set 229s #count_observers 229s returns zero after #delete_observers has been called 229s returns zero for a new observable object 229s returns a count of registered observers if called before first notification 229s first notification 229s calls the appropriate function on all observers which specified a :func 230s does not notify any observers after #delete_observers called 230s calls the proc for all observers added as a block 231s does not notify any observers removed with #delete_observer 231s calls the #update method on all observers without a specified :func 231s #add_observer 231s raises an exception if not given an observer or a block 231s raises an exception when given both an observer and a block 231s adds an observer if called before first notification 231s adds an observer with :func if called before first notification 231s creates an observer from a block if called before first notification 231s #delete_observers 231s deletes all observers when called before first notification 231s returns self 231s waiting 231s with .await_for 231s returns true when all prior actions for all agents have processed 232s returns false on timeout 232s returns true when there are no pending actions 232s with #await_for 232s does not block on actions from other threads 232s returns true when there are no pending actions 233s returns false on timeout 233s returns false if restarted with :clear_actions true (PENDING: the timing is nearly impossible) 234s returns true when all prior actions have processed 234s with #await_for! 234s raises an error if restarted with :clear_actions true (PENDING: the timing is nearly impossible) 234s does not block on actions from other threads 235s raises an error on timeout 235s returns true when there are no pending actions 236s returns true when all prior actions have processed 236s with #await 237s blocks indefinitely 238s returns true when all prior actions have processed 238s returns self when there are no pending actions 238s does not block on actions from other threads 238s blocks forever if restarted with :clear_actions true (PENDING: the timing is nearly impossible) 238s with await_for! 239s raises an exception on timeout 239s returns true when all prior actions for all agents have processed 239s returns true when there are no pending actions 239s with .await 239s returns true when all prior actions on all agents have processed 239s with #wait 240s returns true when all prior actions have processed 241s blocks indefinitely when timeout is nil 241s does not block on actions from other threads 241s returns false when timeout is given and restarted with :clear_actions true (PENDING: the timing is nearly impossible) 241s returns true when there are no pending actions and a timeout is given 242s returns false on timeout 242s blocks forever when timeout is nil and restarted with :clear_actions true (PENDING: the timing is nearly impossible) 242s returns true when there are no pending actions and timeout is nil 242s the await job 242s does not trigger the error mode 242s does not change the value 242s waits for nested actions 243s does not trigger observers 243s validation 243s rejects the new value when the validator returns false 243s sets the error when the error mode is :fail and the validator raises an error 243s sets the error when the error mode is :fail and the validator returns false 243s does not set an error when the error mode is :continue and the validator returns false 243s does not trigger observation when validation fails 243s does not set an error when the error mode is :continue and the validator raises an error 243s sets the new value when the validator returns true 243s rejects the new value when the validator raises an error 243s error mode 243s :continue 243s does not block further action processing 243s does not set an error when the action raises an error 243s sets #failed? to false 243s does not set an error when the validator raises an error 243s does not set an error when the validator returns false 243s :fail 243s blocks all further action processing until a restart 243s sets the error when the validator raises an error 243s sets #failed? to true 243s sets the error when the action raises an error 243s sets the error when the validator returns false 243s 243s Pending: (Failures listed here are expected and do not affect your suite's status) 243s 243s 1) Concurrent::LazyRegister 243s # Not yet implemented 243s # ./spec/concurrent/lazy_register_spec.rb:4 243s 243s 2) Concurrent::Synchronization Concurrent::Synchronization::LockableObject signaling for now pending, tested pretty well by Event 243s # Not yet implemented 243s # ./spec/concurrent/synchronization_spec.rb:179 243s 243s 3) Concurrent::Agent waiting with #await_for returns false if restarted with :clear_actions true 243s # the timing is nearly impossible 243s Failure/Error: 243s pending('the timing is nearly impossible'); fail 243s subject = Agent.new(0, error_mode: :fail) 243s 243s subject.send_via(executor) { sleep(0.1) } 243s subject.send_via(executor) { raise StandardError } 243s subject.send_via(executor) { nil } 243s 243s in_thread { subject.restart(42, clear_actions: true) } 243s ok = subject.await_for(0.2) 243s 243s 243s RuntimeError: 243s # ./spec/concurrent/agent_spec.rb:984:in `block (4 levels) in ' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/example.rb:263:in `instance_exec' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/example.rb:263:in `block in run' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/example.rb:511:in `block in with_around_and_singleton_context_hooks' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/example.rb:468:in `block in with_around_example_hooks' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/hooks.rb:486:in `block in run' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/hooks.rb:624:in `run_around_example_hooks_for' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/hooks.rb:486:in `run' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/example.rb:468:in `with_around_example_hooks' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/example.rb:511:in `with_around_and_singleton_context_hooks' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/example.rb:259:in `run' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/example_group.rb:646:in `block in run_examples' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/example_group.rb:642:in `map' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/example_group.rb:642:in `run_examples' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/example_group.rb:607:in `run' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/example_group.rb:608:in `block in run' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/example_group.rb:608:in `map' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/example_group.rb:608:in `run' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/example_group.rb:608:in `block in run' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/example_group.rb:608:in `map' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/example_group.rb:608:in `run' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/runner.rb:121:in `block (3 levels) in run_specs' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/runner.rb:121:in `map' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/runner.rb:121:in `block (2 levels) in run_specs' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/configuration.rb:2070:in `with_suite_hooks' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/runner.rb:116:in `block in run_specs' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/reporter.rb:74:in `report' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/runner.rb:115:in `run_specs' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/runner.rb:89:in `run' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/runner.rb:71:in `run' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/runner.rb:45:in `invoke' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/exe/rspec:4:in `
' 243s 243s 4) Concurrent::Agent waiting with #await_for! raises an error if restarted with :clear_actions true 243s # the timing is nearly impossible 243s Failure/Error: 243s pending('the timing is nearly impossible'); fail 243s subject = Agent.new(0, error_mode: :fail) 243s 243s subject.send_via(executor) { sleep(0.1) } 243s subject.send_via(executor) { raise StandardError } 243s subject.send_via(executor) { nil } 243s 243s in_thread { subject.restart(42, clear_actions: true) } 243s 243s expect { 243s 243s RuntimeError: 243s # ./spec/concurrent/agent_spec.rb:1037:in `block (4 levels) in ' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/example.rb:263:in `instance_exec' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/example.rb:263:in `block in run' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/example.rb:511:in `block in with_around_and_singleton_context_hooks' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/example.rb:468:in `block in with_around_example_hooks' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/hooks.rb:486:in `block in run' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/hooks.rb:624:in `run_around_example_hooks_for' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/hooks.rb:486:in `run' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/example.rb:468:in `with_around_example_hooks' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/example.rb:511:in `with_around_and_singleton_context_hooks' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/example.rb:259:in `run' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/example_group.rb:646:in `block in run_examples' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/example_group.rb:642:in `map' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/example_group.rb:642:in `run_examples' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/example_group.rb:607:in `run' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/example_group.rb:608:in `block in run' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/example_group.rb:608:in `map' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/example_group.rb:608:in `run' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/example_group.rb:608:in `block in run' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/example_group.rb:608:in `map' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/example_group.rb:608:in `run' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/runner.rb:121:in `block (3 levels) in run_specs' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/runner.rb:121:in `map' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/runner.rb:121:in `block (2 levels) in run_specs' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/configuration.rb:2070:in `with_suite_hooks' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/runner.rb:116:in `block in run_specs' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/reporter.rb:74:in `report' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/runner.rb:115:in `run_specs' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/runner.rb:89:in `run' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/runner.rb:71:in `run' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/runner.rb:45:in `invoke' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/exe/rspec:4:in `
' 243s 243s 5) Concurrent::Agent waiting with #await blocks forever if restarted with :clear_actions true 243s # the timing is nearly impossible 243s Failure/Error: 243s pending('the timing is nearly impossible'); fail 243s subject = Agent.new(0, error_mode: :fail) 243s 243s t = in_thread do 243s subject.send_via(executor) { sleep(0.1) } 243s subject.send_via(executor) { raise StandardError } 243s subject.send_via(executor) { nil } 243s in_thread { subject.restart(42, clear_actions: true) } 243s subject.await 243s end 243s 243s RuntimeError: 243s # ./spec/concurrent/agent_spec.rb:931:in `block (4 levels) in ' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/example.rb:263:in `instance_exec' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/example.rb:263:in `block in run' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/example.rb:511:in `block in with_around_and_singleton_context_hooks' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/example.rb:468:in `block in with_around_example_hooks' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/hooks.rb:486:in `block in run' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/hooks.rb:624:in `run_around_example_hooks_for' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/hooks.rb:486:in `run' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/example.rb:468:in `with_around_example_hooks' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/example.rb:511:in `with_around_and_singleton_context_hooks' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/example.rb:259:in `run' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/example_group.rb:646:in `block in run_examples' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/example_group.rb:642:in `map' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/example_group.rb:642:in `run_examples' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/example_group.rb:607:in `run' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/example_group.rb:608:in `block in run' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/example_group.rb:608:in `map' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/example_group.rb:608:in `run' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/example_group.rb:608:in `block in run' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/example_group.rb:608:in `map' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/example_group.rb:608:in `run' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/runner.rb:121:in `block (3 levels) in run_specs' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/runner.rb:121:in `map' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/runner.rb:121:in `block (2 levels) in run_specs' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/configuration.rb:2070:in `with_suite_hooks' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/runner.rb:116:in `block in run_specs' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/reporter.rb:74:in `report' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/runner.rb:115:in `run_specs' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/runner.rb:89:in `run' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/runner.rb:71:in `run' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/runner.rb:45:in `invoke' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/exe/rspec:4:in `
' 243s 243s 6) Concurrent::Agent waiting with #wait returns false when timeout is given and restarted with :clear_actions true 243s # the timing is nearly impossible 243s Failure/Error: 243s pending('the timing is nearly impossible'); fail 243s subject = Agent.new(0, error_mode: :fail) 243s 243s subject.send_via(executor) { sleep(0.1) } 243s subject.send_via(executor) { raise StandardError } 243s subject.send_via(executor) { nil } 243s 243s in_thread { subject.restart(42, clear_actions: true) } 243s ok = subject.wait(0.2) 243s 243s 243s RuntimeError: 243s # ./spec/concurrent/agent_spec.rb:1120:in `block (4 levels) in ' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/example.rb:263:in `instance_exec' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/example.rb:263:in `block in run' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/example.rb:511:in `block in with_around_and_singleton_context_hooks' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/example.rb:468:in `block in with_around_example_hooks' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/hooks.rb:486:in `block in run' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/hooks.rb:624:in `run_around_example_hooks_for' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/hooks.rb:486:in `run' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/example.rb:468:in `with_around_example_hooks' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/example.rb:511:in `with_around_and_singleton_context_hooks' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/example.rb:259:in `run' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/example_group.rb:646:in `block in run_examples' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/example_group.rb:642:in `map' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/example_group.rb:642:in `run_examples' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/example_group.rb:607:in `run' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/example_group.rb:608:in `block in run' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/example_group.rb:608:in `map' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/example_group.rb:608:in `run' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/example_group.rb:608:in `block in run' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/example_group.rb:608:in `map' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/example_group.rb:608:in `run' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/runner.rb:121:in `block (3 levels) in run_specs' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/runner.rb:121:in `map' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/runner.rb:121:in `block (2 levels) in run_specs' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/configuration.rb:2070:in `with_suite_hooks' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/runner.rb:116:in `block in run_specs' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/reporter.rb:74:in `report' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/runner.rb:115:in `run_specs' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/runner.rb:89:in `run' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/runner.rb:71:in `run' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/runner.rb:45:in `invoke' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/exe/rspec:4:in `
' 243s 243s 7) Concurrent::Agent waiting with #wait blocks forever when timeout is nil and restarted with :clear_actions true 243s # the timing is nearly impossible 243s Failure/Error: 243s pending('the timing is nearly impossible'); fail 243s subject = Agent.new(0, error_mode: :fail) 243s 243s t = in_thread do 243s subject.send_via(executor) { sleep(0.1) } 243s subject.send_via(executor) { raise StandardError } 243s subject.send_via(executor) { nil } 243s in_thread { subject.restart(42, clear_actions: true) } 243s subject.wait(nil) 243s end 243s 243s RuntimeError: 243s # ./spec/concurrent/agent_spec.rb:1087:in `block (4 levels) in ' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/example.rb:263:in `instance_exec' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/example.rb:263:in `block in run' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/example.rb:511:in `block in with_around_and_singleton_context_hooks' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/example.rb:468:in `block in with_around_example_hooks' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/hooks.rb:486:in `block in run' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/hooks.rb:624:in `run_around_example_hooks_for' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/hooks.rb:486:in `run' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/example.rb:468:in `with_around_example_hooks' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/example.rb:511:in `with_around_and_singleton_context_hooks' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/example.rb:259:in `run' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/example_group.rb:646:in `block in run_examples' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/example_group.rb:642:in `map' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/example_group.rb:642:in `run_examples' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/example_group.rb:607:in `run' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/example_group.rb:608:in `block in run' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/example_group.rb:608:in `map' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/example_group.rb:608:in `run' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/example_group.rb:608:in `block in run' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/example_group.rb:608:in `map' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/example_group.rb:608:in `run' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/runner.rb:121:in `block (3 levels) in run_specs' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/runner.rb:121:in `map' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/runner.rb:121:in `block (2 levels) in run_specs' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/configuration.rb:2070:in `with_suite_hooks' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/runner.rb:116:in `block in run_specs' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/reporter.rb:74:in `report' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/runner.rb:115:in `run_specs' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/runner.rb:89:in `run' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/runner.rb:71:in `run' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib/rspec/core/runner.rb:45:in `invoke' 243s # /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/exe/rspec:4:in `
' 243s 243s Finished in 1 minute 18.81 seconds (files took 0.45846 seconds to load) 243s 1402 examples, 0 failures, 7 pending 243s 243s Randomized with seed 1 243s 243s mv ./.gem2deb.lib lib 243s mv ./.gem2deb.ext ext 243s autopkgtest [10:58:48]: test command1: -----------------------] 244s command1 PASS 244s autopkgtest [10:58:49]: test command1: - - - - - - - - - - results - - - - - - - - - - 244s autopkgtest [10:58:49]: @@@@@@@@@@@@@@@@@@@@ summary 244s command1 PASS 249s Creating nova instance adt-noble-arm64-ruby-concurrent-20240320-105444-juju-7f2275-prod-proposed-migration-environment-2 from image adt/ubuntu-noble-arm64-server-20240320.img (UUID e0f61a12-2f1c-4e49-a68b-f68d2ad5dd10)...