0s autopkgtest [02:33:56]: starting date and time: 2024-04-17 02:33:56+0000 0s autopkgtest [02:33:56]: git checkout: 43bc6cdf gitlab-ci: do not include the salsa pipeline 0s autopkgtest [02:33:56]: host juju-7f2275-prod-proposed-migration-environment-3; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.ilmaqtlw/out --timeout-copy=6000 --setup-commands /home/ubuntu/autopkgtest-cloud/worker-config-production/setup-canonical.sh --apt-pocket=proposed=src:gem2deb --apt-upgrade ruby-concurrent --timeout-short=300 --timeout-copy=20000 --timeout-build=20000 --env=ADT_TEST_TRIGGERS=gem2deb/2.2.3 -- ssh -s /home/ubuntu/autopkgtest/ssh-setup/nova -- --flavor autopkgtest --security-groups autopkgtest-juju-7f2275-prod-proposed-migration-environment-3@lcy02-71.secgroup --name adt-noble-amd64-ruby-concurrent-20240417-023356-juju-7f2275-prod-proposed-migration-environment-3-53f55824-6588-4cce-a16c-91fca7df25f3 --image adt/ubuntu-noble-amd64-server --keyname testbed-juju-7f2275-prod-proposed-migration-environment-3 --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/ 1022s autopkgtest [02:50:58]: testbed dpkg architecture: amd64 1022s autopkgtest [02:50:58]: testbed apt version: 2.7.14build2 1022s autopkgtest [02:50:58]: @@@@@@@@@@@@@@@@@@@@ test bed setup 1022s Get:1 http://ftpmaster.internal/ubuntu noble-proposed InRelease [117 kB] 1022s Get:2 http://ftpmaster.internal/ubuntu noble-proposed/multiverse Sources [2340 B] 1022s Get:3 http://ftpmaster.internal/ubuntu noble-proposed/universe Sources [301 kB] 1022s Get:4 http://ftpmaster.internal/ubuntu noble-proposed/restricted Sources [10.0 kB] 1022s Get:5 http://ftpmaster.internal/ubuntu noble-proposed/main Sources [191 kB] 1022s Get:6 http://ftpmaster.internal/ubuntu noble-proposed/main amd64 Packages [251 kB] 1022s Get:7 http://ftpmaster.internal/ubuntu noble-proposed/main i386 Packages [190 kB] 1022s Get:8 http://ftpmaster.internal/ubuntu noble-proposed/main amd64 c-n-f Metadata [3508 B] 1022s Get:9 http://ftpmaster.internal/ubuntu noble-proposed/restricted i386 Packages [6232 B] 1022s Get:10 http://ftpmaster.internal/ubuntu noble-proposed/restricted amd64 Packages [49.4 kB] 1022s Get:11 http://ftpmaster.internal/ubuntu noble-proposed/restricted amd64 c-n-f Metadata [116 B] 1022s Get:12 http://ftpmaster.internal/ubuntu noble-proposed/universe i386 Packages [426 kB] 1022s Get:13 http://ftpmaster.internal/ubuntu noble-proposed/universe amd64 Packages [560 kB] 1022s Get:14 http://ftpmaster.internal/ubuntu noble-proposed/universe amd64 c-n-f Metadata [9396 B] 1022s Get:15 http://ftpmaster.internal/ubuntu noble-proposed/multiverse amd64 Packages [1004 B] 1022s Get:16 http://ftpmaster.internal/ubuntu noble-proposed/multiverse amd64 c-n-f Metadata [196 B] 1024s Fetched 2120 kB in 0s (6181 kB/s) 1024s Reading package lists... 1025s Reading package lists... 1026s Building dependency tree... 1026s Reading state information... 1026s Calculating upgrade... 1026s The following packages will be upgraded: 1026s bzip2 dracut-install findutils ftp hdparm libassuan0 libatasmart4 libbz2-1.0 1026s libdeflate0 libedit2 libestr0 libevdev2 libfastjson4 libgpg-error-l10n 1026s libgpg-error0 liblerc4 libpython3-stdlib libpython3.12-minimal 1026s libpython3.12-stdlib python3 python3-cffi-backend python3-gdbm 1026s python3-minimal python3.12 python3.12-minimal tcpdump tnftp 1026s 27 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 1026s Need to get 7661 kB of archives. 1026s After this operation, 196 kB disk space will be freed. 1026s Get:1 http://ftpmaster.internal/ubuntu noble/main amd64 findutils amd64 4.9.0-5build1 [298 kB] 1026s Get:2 http://ftpmaster.internal/ubuntu noble/main amd64 python3.12 amd64 3.12.3-1 [651 kB] 1026s Get:3 http://ftpmaster.internal/ubuntu noble/main amd64 bzip2 amd64 1.0.8-5.1 [34.5 kB] 1026s Get:4 http://ftpmaster.internal/ubuntu noble/main amd64 libbz2-1.0 amd64 1.0.8-5.1 [34.3 kB] 1026s Get:5 http://ftpmaster.internal/ubuntu noble/main amd64 libpython3.12-stdlib amd64 3.12.3-1 [2067 kB] 1026s Get:6 http://ftpmaster.internal/ubuntu noble/main amd64 python3.12-minimal amd64 3.12.3-1 [2343 kB] 1026s Get:7 http://ftpmaster.internal/ubuntu noble/main amd64 libpython3.12-minimal amd64 3.12.3-1 [833 kB] 1026s Get:8 http://ftpmaster.internal/ubuntu noble/main amd64 python3-minimal amd64 3.12.3-0ubuntu1 [27.2 kB] 1026s Get:9 http://ftpmaster.internal/ubuntu noble/main amd64 python3 amd64 3.12.3-0ubuntu1 [24.1 kB] 1026s Get:10 http://ftpmaster.internal/ubuntu noble/main amd64 libpython3-stdlib amd64 3.12.3-0ubuntu1 [9890 B] 1026s Get:11 http://ftpmaster.internal/ubuntu noble/main amd64 libgpg-error-l10n all 1.47-3build2 [8064 B] 1026s Get:12 http://ftpmaster.internal/ubuntu noble/main amd64 libgpg-error0 amd64 1.47-3build2 [70.0 kB] 1026s Get:13 http://ftpmaster.internal/ubuntu noble/main amd64 libassuan0 amd64 2.5.6-1build1 [37.3 kB] 1026s Get:14 http://ftpmaster.internal/ubuntu noble/main amd64 libestr0 amd64 0.1.11-1build1 [7802 B] 1026s Get:15 http://ftpmaster.internal/ubuntu noble/main amd64 libfastjson4 amd64 1.2304.0-1build1 [23.1 kB] 1026s Get:16 http://ftpmaster.internal/ubuntu noble/main amd64 python3-cffi-backend amd64 1.16.0-2build1 [77.3 kB] 1026s Get:17 http://ftpmaster.internal/ubuntu noble/main amd64 libedit2 amd64 3.1-20230828-1build1 [97.6 kB] 1026s Get:18 http://ftpmaster.internal/ubuntu noble/main amd64 tnftp amd64 20230507-2build3 [103 kB] 1026s Get:19 http://ftpmaster.internal/ubuntu noble/main amd64 ftp all 20230507-2build3 [4728 B] 1026s Get:20 http://ftpmaster.internal/ubuntu noble/main amd64 hdparm amd64 9.65+ds-1build1 [98.2 kB] 1026s Get:21 http://ftpmaster.internal/ubuntu noble/main amd64 python3-gdbm amd64 3.12.3-0ubuntu1 [16.5 kB] 1026s Get:22 http://ftpmaster.internal/ubuntu noble/main amd64 tcpdump amd64 4.99.4-3ubuntu4 [479 kB] 1026s Get:23 http://ftpmaster.internal/ubuntu noble/main amd64 dracut-install amd64 060+5-1ubuntu3 [31.7 kB] 1026s Get:24 http://ftpmaster.internal/ubuntu noble/main amd64 libatasmart4 amd64 0.19-5build3 [24.2 kB] 1026s Get:25 http://ftpmaster.internal/ubuntu noble/main amd64 libdeflate0 amd64 1.19-1build1 [43.8 kB] 1026s Get:26 http://ftpmaster.internal/ubuntu noble/main amd64 liblerc4 amd64 4.0.0+ds-4ubuntu2 [179 kB] 1026s Get:27 http://ftpmaster.internal/ubuntu noble/main amd64 libevdev2 amd64 1.13.1+dfsg-1build1 [37.8 kB] 1027s Fetched 7661 kB in 0s (82.8 MB/s) 1027s (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 ... 73742 files and directories currently installed.) 1027s Preparing to unpack .../findutils_4.9.0-5build1_amd64.deb ... 1027s Unpacking findutils (4.9.0-5build1) over (4.9.0-5) ... 1027s Setting up findutils (4.9.0-5build1) ... 1027s (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 ... 73741 files and directories currently installed.) 1027s Preparing to unpack .../python3.12_3.12.3-1_amd64.deb ... 1027s Unpacking python3.12 (3.12.3-1) over (3.12.2-5ubuntu3) ... 1027s Preparing to unpack .../bzip2_1.0.8-5.1_amd64.deb ... 1027s Unpacking bzip2 (1.0.8-5.1) over (1.0.8-5ubuntu1) ... 1027s Preparing to unpack .../libbz2-1.0_1.0.8-5.1_amd64.deb ... 1027s Unpacking libbz2-1.0:amd64 (1.0.8-5.1) over (1.0.8-5ubuntu1) ... 1027s Setting up libbz2-1.0:amd64 (1.0.8-5.1) ... 1027s (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 ... 73741 files and directories currently installed.) 1027s Preparing to unpack .../libpython3.12-stdlib_3.12.3-1_amd64.deb ... 1027s Unpacking libpython3.12-stdlib:amd64 (3.12.3-1) over (3.12.2-5ubuntu3) ... 1027s Preparing to unpack .../python3.12-minimal_3.12.3-1_amd64.deb ... 1027s Unpacking python3.12-minimal (3.12.3-1) over (3.12.2-5ubuntu3) ... 1027s Preparing to unpack .../libpython3.12-minimal_3.12.3-1_amd64.deb ... 1027s Unpacking libpython3.12-minimal:amd64 (3.12.3-1) over (3.12.2-5ubuntu3) ... 1028s Setting up libpython3.12-minimal:amd64 (3.12.3-1) ... 1028s Setting up python3.12-minimal (3.12.3-1) ... 1028s (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 ... 73741 files and directories currently installed.) 1028s Preparing to unpack .../python3-minimal_3.12.3-0ubuntu1_amd64.deb ... 1028s Unpacking python3-minimal (3.12.3-0ubuntu1) over (3.12.2-0ubuntu2) ... 1028s Setting up python3-minimal (3.12.3-0ubuntu1) ... 1029s (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 ... 73741 files and directories currently installed.) 1029s Preparing to unpack .../python3_3.12.3-0ubuntu1_amd64.deb ... 1029s Unpacking python3 (3.12.3-0ubuntu1) over (3.12.2-0ubuntu2) ... 1029s Preparing to unpack .../libpython3-stdlib_3.12.3-0ubuntu1_amd64.deb ... 1029s Unpacking libpython3-stdlib:amd64 (3.12.3-0ubuntu1) over (3.12.2-0ubuntu2) ... 1029s Preparing to unpack .../libgpg-error-l10n_1.47-3build2_all.deb ... 1029s Unpacking libgpg-error-l10n (1.47-3build2) over (1.47-3build1) ... 1029s Preparing to unpack .../libgpg-error0_1.47-3build2_amd64.deb ... 1029s Unpacking libgpg-error0:amd64 (1.47-3build2) over (1.47-3build1) ... 1029s Setting up libgpg-error0:amd64 (1.47-3build2) ... 1029s (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 ... 73741 files and directories currently installed.) 1029s Preparing to unpack .../libassuan0_2.5.6-1build1_amd64.deb ... 1029s Unpacking libassuan0:amd64 (2.5.6-1build1) over (2.5.6-1) ... 1029s Setting up libassuan0:amd64 (2.5.6-1build1) ... 1029s (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 ... 73741 files and directories currently installed.) 1029s Preparing to unpack .../00-libestr0_0.1.11-1build1_amd64.deb ... 1029s Unpacking libestr0:amd64 (0.1.11-1build1) over (0.1.11-1) ... 1029s Preparing to unpack .../01-libfastjson4_1.2304.0-1build1_amd64.deb ... 1029s Unpacking libfastjson4:amd64 (1.2304.0-1build1) over (1.2304.0-1) ... 1029s Preparing to unpack .../02-python3-cffi-backend_1.16.0-2build1_amd64.deb ... 1029s Unpacking python3-cffi-backend:amd64 (1.16.0-2build1) over (1.16.0-2) ... 1029s Preparing to unpack .../03-libedit2_3.1-20230828-1build1_amd64.deb ... 1029s Unpacking libedit2:amd64 (3.1-20230828-1build1) over (3.1-20230828-1) ... 1029s Preparing to unpack .../04-tnftp_20230507-2build3_amd64.deb ... 1029s Unpacking tnftp (20230507-2build3) over (20230507-2build2) ... 1029s Preparing to unpack .../05-ftp_20230507-2build3_all.deb ... 1029s Unpacking ftp (20230507-2build3) over (20230507-2build2) ... 1029s Preparing to unpack .../06-hdparm_9.65+ds-1build1_amd64.deb ... 1029s Unpacking hdparm (9.65+ds-1build1) over (9.65+ds-1) ... 1029s Preparing to unpack .../07-python3-gdbm_3.12.3-0ubuntu1_amd64.deb ... 1029s Unpacking python3-gdbm:amd64 (3.12.3-0ubuntu1) over (3.12.2-3ubuntu4) ... 1029s Preparing to unpack .../08-tcpdump_4.99.4-3ubuntu4_amd64.deb ... 1029s Unpacking tcpdump (4.99.4-3ubuntu4) over (4.99.4-3ubuntu3) ... 1029s Preparing to unpack .../09-dracut-install_060+5-1ubuntu3_amd64.deb ... 1029s Unpacking dracut-install (060+5-1ubuntu3) over (060+5-1ubuntu2) ... 1029s Preparing to unpack .../10-libatasmart4_0.19-5build3_amd64.deb ... 1029s Unpacking libatasmart4:amd64 (0.19-5build3) over (0.19-5build2) ... 1029s Preparing to unpack .../11-libdeflate0_1.19-1build1_amd64.deb ... 1029s Unpacking libdeflate0:amd64 (1.19-1build1) over (1.19-1) ... 1029s Preparing to unpack .../12-liblerc4_4.0.0+ds-4ubuntu2_amd64.deb ... 1029s Unpacking liblerc4:amd64 (4.0.0+ds-4ubuntu2) over (4.0.0+ds-4ubuntu1) ... 1030s Preparing to unpack .../13-libevdev2_1.13.1+dfsg-1build1_amd64.deb ... 1030s Unpacking libevdev2:amd64 (1.13.1+dfsg-1build1) over (1.13.1+dfsg-1) ... 1030s Setting up tcpdump (4.99.4-3ubuntu4) ... 1030s Setting up liblerc4:amd64 (4.0.0+ds-4ubuntu2) ... 1030s Setting up libpython3.12-stdlib:amd64 (3.12.3-1) ... 1030s Setting up libestr0:amd64 (0.1.11-1build1) ... 1030s Setting up libfastjson4:amd64 (1.2304.0-1build1) ... 1030s Setting up python3.12 (3.12.3-1) ... 1031s Setting up libedit2:amd64 (3.1-20230828-1build1) ... 1031s Setting up libdeflate0:amd64 (1.19-1build1) ... 1031s Setting up hdparm (9.65+ds-1build1) ... 1031s Setting up bzip2 (1.0.8-5.1) ... 1031s Setting up libatasmart4:amd64 (0.19-5build3) ... 1031s Setting up dracut-install (060+5-1ubuntu3) ... 1031s Setting up tnftp (20230507-2build3) ... 1031s Setting up libgpg-error-l10n (1.47-3build2) ... 1031s Setting up libevdev2:amd64 (1.13.1+dfsg-1build1) ... 1031s Setting up libpython3-stdlib:amd64 (3.12.3-0ubuntu1) ... 1031s Setting up python3 (3.12.3-0ubuntu1) ... 1031s Setting up ftp (20230507-2build3) ... 1031s Setting up python3-cffi-backend:amd64 (1.16.0-2build1) ... 1031s Setting up python3-gdbm:amd64 (3.12.3-0ubuntu1) ... 1031s Processing triggers for systemd (255.4-1ubuntu7) ... 1031s Processing triggers for man-db (2.12.0-4build1) ... 1032s Processing triggers for install-info (7.1-3build2) ... 1032s Processing triggers for libc-bin (2.39-0ubuntu8) ... 1032s Reading package lists... 1033s Building dependency tree... 1033s Reading state information... 1033s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 1033s Hit:1 http://ftpmaster.internal/ubuntu noble-proposed InRelease 1033s Hit:2 http://ftpmaster.internal/ubuntu noble InRelease 1033s Hit:3 http://ftpmaster.internal/ubuntu noble-updates InRelease 1033s Hit:4 http://ftpmaster.internal/ubuntu noble-security InRelease 1034s Reading package lists... 1034s Reading package lists... 1034s Building dependency tree... 1034s Reading state information... 1035s Calculating upgrade... 1035s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 1035s Reading package lists... 1035s Building dependency tree... 1035s Reading state information... 1035s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 1036s autopkgtest [02:51:12]: testbed running kernel: Linux 6.8.0-22-generic #22-Ubuntu SMP PREEMPT_DYNAMIC Thu Apr 4 22:30:32 UTC 2024 1036s autopkgtest [02:51:12]: @@@@@@@@@@@@@@@@@@@@ apt-source ruby-concurrent 1037s Get:1 http://ftpmaster.internal/ubuntu noble/universe ruby-concurrent 1.2.3-2build1 (dsc) [2342 B] 1037s Get:2 http://ftpmaster.internal/ubuntu noble/universe ruby-concurrent 1.2.3-2build1 (tar) [1004 kB] 1037s Get:3 http://ftpmaster.internal/ubuntu noble/universe ruby-concurrent 1.2.3-2build1 (diff) [5784 B] 1037s gpgv: Signature made Tue Feb 20 05:25:39 2024 UTC 1037s gpgv: using RSA key 8ED6C3F8BAC9DB7FC130A870F823A2729883C97C 1037s gpgv: issuer "kanashiro@ubuntu.com" 1037s gpgv: Can't check signature: No public key 1037s dpkg-source: warning: cannot verify inline signature for ./ruby-concurrent_1.2.3-2build1.dsc: no acceptable signature found 1037s autopkgtest [02:51:13]: testing package ruby-concurrent version 1.2.3-2build1 1037s autopkgtest [02:51:13]: build not needed 1037s autopkgtest [02:51:13]: test ruby: preparing testbed 1038s Reading package lists... 1038s Building dependency tree... 1038s Reading state information... 1038s Starting pkgProblemResolver with broken count: 0 1038s Starting 2 pkgProblemResolver with broken count: 0 1038s Done 1038s The following additional packages will be installed: 1038s gem2deb-test-runner libruby libruby3.2 rake ruby ruby-concurrent 1038s ruby-concurrent-ext ruby-diff-lcs ruby-net-telnet ruby-rspec ruby-rspec-core 1038s ruby-rspec-expectations ruby-rspec-mocks ruby-rspec-support ruby-rubygems 1038s ruby-sdbm ruby-timecop ruby-webrick ruby-xmlrpc ruby3.2 rubygems-integration 1038s Suggested packages: 1038s ri ruby-dev bundler 1038s Recommended packages: 1038s zip fonts-lato libjs-jquery 1039s The following NEW packages will be installed: 1039s autopkgtest-satdep gem2deb-test-runner libruby libruby3.2 rake ruby 1039s ruby-concurrent ruby-concurrent-ext ruby-diff-lcs ruby-net-telnet ruby-rspec 1039s ruby-rspec-core ruby-rspec-expectations ruby-rspec-mocks ruby-rspec-support 1039s ruby-rubygems ruby-sdbm ruby-timecop ruby-webrick ruby-xmlrpc ruby3.2 1039s rubygems-integration 1039s 0 upgraded, 22 newly installed, 0 to remove and 0 not upgraded. 1039s Need to get 6520 kB/6520 kB of archives. 1039s After this operation, 31.6 MB of additional disk space will be used. 1039s Get:1 /tmp/autopkgtest.EPK8tO/1-autopkgtest-satdep.deb autopkgtest-satdep amd64 0 [748 B] 1039s Get:2 http://ftpmaster.internal/ubuntu noble/main amd64 rubygems-integration all 1.18 [5336 B] 1039s Get:3 http://ftpmaster.internal/ubuntu noble/main amd64 ruby-net-telnet all 0.2.0-1 [13.3 kB] 1039s Get:4 http://ftpmaster.internal/ubuntu noble/main amd64 ruby-webrick all 1.8.1-1 [52.3 kB] 1039s Get:5 http://ftpmaster.internal/ubuntu noble/main amd64 ruby-xmlrpc all 0.3.2-2 [24.8 kB] 1039s Get:6 http://ftpmaster.internal/ubuntu noble/main amd64 libruby amd64 1:3.2~ubuntu1 [4694 B] 1039s Get:7 http://ftpmaster.internal/ubuntu noble/main amd64 ruby-sdbm amd64 1.0.0-5build4 [16.2 kB] 1039s Get:8 http://ftpmaster.internal/ubuntu noble/main amd64 libruby3.2 amd64 3.2.3-1build3 [5339 kB] 1039s Get:9 http://ftpmaster.internal/ubuntu noble/main amd64 ruby3.2 amd64 3.2.3-1build3 [50.7 kB] 1039s Get:10 http://ftpmaster.internal/ubuntu noble/main amd64 ruby-rubygems all 3.4.20-1 [238 kB] 1039s Get:11 http://ftpmaster.internal/ubuntu noble/main amd64 ruby amd64 1:3.2~ubuntu1 [3466 B] 1039s Get:12 http://ftpmaster.internal/ubuntu noble/main amd64 rake all 13.0.6-3 [61.6 kB] 1039s Get:13 http://ftpmaster.internal/ubuntu noble-proposed/universe amd64 gem2deb-test-runner amd64 2.2.3 [18.2 kB] 1039s Get:14 http://ftpmaster.internal/ubuntu noble/universe amd64 ruby-concurrent all 1.2.3-2build1 [282 kB] 1039s Get:15 http://ftpmaster.internal/ubuntu noble/universe amd64 ruby-concurrent-ext amd64 1.2.3-2build1 [8834 B] 1039s Get:16 http://ftpmaster.internal/ubuntu noble/universe amd64 ruby-diff-lcs all 1.5.1-1 [22.8 kB] 1039s Get:17 http://ftpmaster.internal/ubuntu noble/universe amd64 ruby-rspec-support all 3.13.0c0e0m0s1-2 [29.2 kB] 1039s Get:18 http://ftpmaster.internal/ubuntu noble/universe amd64 ruby-rspec-core all 3.13.0c0e0m0s1-2 [164 kB] 1039s Get:19 http://ftpmaster.internal/ubuntu noble/universe amd64 ruby-rspec-expectations all 3.13.0c0e0m0s1-2 [89.8 kB] 1039s Get:20 http://ftpmaster.internal/ubuntu noble/universe amd64 ruby-rspec-mocks all 3.13.0c0e0m0s1-2 [81.0 kB] 1039s Get:21 http://ftpmaster.internal/ubuntu noble/universe amd64 ruby-rspec all 3.13.0c0e0m0s1-2 [3500 B] 1039s Get:22 http://ftpmaster.internal/ubuntu noble/universe amd64 ruby-timecop all 0.9.8-1 [10.6 kB] 1039s Fetched 6520 kB in 0s (58.6 MB/s) 1039s Selecting previously unselected package rubygems-integration. 1039s (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 ... 73740 files and directories currently installed.) 1039s Preparing to unpack .../00-rubygems-integration_1.18_all.deb ... 1039s Unpacking rubygems-integration (1.18) ... 1039s Selecting previously unselected package ruby-net-telnet. 1039s Preparing to unpack .../01-ruby-net-telnet_0.2.0-1_all.deb ... 1039s Unpacking ruby-net-telnet (0.2.0-1) ... 1039s Selecting previously unselected package ruby-webrick. 1039s Preparing to unpack .../02-ruby-webrick_1.8.1-1_all.deb ... 1039s Unpacking ruby-webrick (1.8.1-1) ... 1039s Selecting previously unselected package ruby-xmlrpc. 1039s Preparing to unpack .../03-ruby-xmlrpc_0.3.2-2_all.deb ... 1039s Unpacking ruby-xmlrpc (0.3.2-2) ... 1039s Selecting previously unselected package libruby:amd64. 1039s Preparing to unpack .../04-libruby_1%3a3.2~ubuntu1_amd64.deb ... 1039s Unpacking libruby:amd64 (1:3.2~ubuntu1) ... 1039s Selecting previously unselected package ruby-sdbm:amd64. 1039s Preparing to unpack .../05-ruby-sdbm_1.0.0-5build4_amd64.deb ... 1039s Unpacking ruby-sdbm:amd64 (1.0.0-5build4) ... 1039s Selecting previously unselected package libruby3.2:amd64. 1039s Preparing to unpack .../06-libruby3.2_3.2.3-1build3_amd64.deb ... 1039s Unpacking libruby3.2:amd64 (3.2.3-1build3) ... 1040s Selecting previously unselected package ruby3.2. 1040s Preparing to unpack .../07-ruby3.2_3.2.3-1build3_amd64.deb ... 1040s Unpacking ruby3.2 (3.2.3-1build3) ... 1040s Selecting previously unselected package ruby-rubygems. 1040s Preparing to unpack .../08-ruby-rubygems_3.4.20-1_all.deb ... 1040s Unpacking ruby-rubygems (3.4.20-1) ... 1040s Selecting previously unselected package ruby. 1040s Preparing to unpack .../09-ruby_1%3a3.2~ubuntu1_amd64.deb ... 1040s Unpacking ruby (1:3.2~ubuntu1) ... 1040s Selecting previously unselected package rake. 1040s Preparing to unpack .../10-rake_13.0.6-3_all.deb ... 1040s Unpacking rake (13.0.6-3) ... 1040s Selecting previously unselected package gem2deb-test-runner. 1040s Preparing to unpack .../11-gem2deb-test-runner_2.2.3_amd64.deb ... 1040s Unpacking gem2deb-test-runner (2.2.3) ... 1040s Selecting previously unselected package ruby-concurrent. 1040s Preparing to unpack .../12-ruby-concurrent_1.2.3-2build1_all.deb ... 1040s Unpacking ruby-concurrent (1.2.3-2build1) ... 1040s Selecting previously unselected package ruby-concurrent-ext. 1040s Preparing to unpack .../13-ruby-concurrent-ext_1.2.3-2build1_amd64.deb ... 1040s Unpacking ruby-concurrent-ext (1.2.3-2build1) ... 1040s Selecting previously unselected package ruby-diff-lcs. 1040s Preparing to unpack .../14-ruby-diff-lcs_1.5.1-1_all.deb ... 1040s Unpacking ruby-diff-lcs (1.5.1-1) ... 1040s Selecting previously unselected package ruby-rspec-support. 1040s Preparing to unpack .../15-ruby-rspec-support_3.13.0c0e0m0s1-2_all.deb ... 1040s Unpacking ruby-rspec-support (3.13.0c0e0m0s1-2) ... 1040s Selecting previously unselected package ruby-rspec-core. 1040s Preparing to unpack .../16-ruby-rspec-core_3.13.0c0e0m0s1-2_all.deb ... 1040s Unpacking ruby-rspec-core (3.13.0c0e0m0s1-2) ... 1040s Selecting previously unselected package ruby-rspec-expectations. 1040s Preparing to unpack .../17-ruby-rspec-expectations_3.13.0c0e0m0s1-2_all.deb ... 1040s Unpacking ruby-rspec-expectations (3.13.0c0e0m0s1-2) ... 1040s Selecting previously unselected package ruby-rspec-mocks. 1040s Preparing to unpack .../18-ruby-rspec-mocks_3.13.0c0e0m0s1-2_all.deb ... 1040s Unpacking ruby-rspec-mocks (3.13.0c0e0m0s1-2) ... 1040s Selecting previously unselected package ruby-rspec. 1040s Preparing to unpack .../19-ruby-rspec_3.13.0c0e0m0s1-2_all.deb ... 1040s Unpacking ruby-rspec (3.13.0c0e0m0s1-2) ... 1040s Selecting previously unselected package ruby-timecop. 1040s Preparing to unpack .../20-ruby-timecop_0.9.8-1_all.deb ... 1040s Unpacking ruby-timecop (0.9.8-1) ... 1040s Selecting previously unselected package autopkgtest-satdep. 1040s Preparing to unpack .../21-1-autopkgtest-satdep.deb ... 1040s Unpacking autopkgtest-satdep (0) ... 1040s Setting up rubygems-integration (1.18) ... 1040s Setting up ruby-concurrent (1.2.3-2build1) ... 1040s Setting up ruby-timecop (0.9.8-1) ... 1040s Setting up ruby-net-telnet (0.2.0-1) ... 1040s Setting up ruby-rspec-support (3.13.0c0e0m0s1-2) ... 1040s Setting up ruby-webrick (1.8.1-1) ... 1040s Setting up ruby-xmlrpc (0.3.2-2) ... 1040s Setting up ruby-rubygems (3.4.20-1) ... 1040s Setting up rake (13.0.6-3) ... 1040s Setting up libruby:amd64 (1:3.2~ubuntu1) ... 1040s Setting up ruby-sdbm:amd64 (1.0.0-5build4) ... 1040s Setting up libruby3.2:amd64 (3.2.3-1build3) ... 1040s Setting up ruby3.2 (3.2.3-1build3) ... 1040s Setting up ruby (1:3.2~ubuntu1) ... 1040s Setting up ruby-rspec-core (3.13.0c0e0m0s1-2) ... 1040s Setting up ruby-diff-lcs (1.5.1-1) ... 1040s Setting up gem2deb-test-runner (2.2.3) ... 1040s Setting up ruby-concurrent-ext (1.2.3-2build1) ... 1040s Setting up ruby-rspec-expectations (3.13.0c0e0m0s1-2) ... 1040s Setting up ruby-rspec-mocks (3.13.0c0e0m0s1-2) ... 1040s Setting up ruby-rspec (3.13.0c0e0m0s1-2) ... 1040s Setting up autopkgtest-satdep (0) ... 1040s Processing triggers for libc-bin (2.39-0ubuntu8) ... 1040s Processing triggers for man-db (2.12.0-4build1) ... 1043s (Reading database ... 77569 files and directories currently installed.) 1043s Removing autopkgtest-satdep (0) ... 1043s autopkgtest [02:51:19]: test ruby: 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 1043s autopkgtest [02:51:19]: test ruby: [----------------------- 1043s 1043s ┌──────────────────────────────────────────────────────────────────────────────┐ 1043s │ Run tests for ruby3.2 from debian/ruby-tests.rake │ 1043s └──────────────────────────────────────────────────────────────────────────────┘ 1043s 1043s RUBYLIB=. GEM_PATH= ruby3.2 -S rake --rakelibdir /gem2deb-nonexistent -f debian/ruby-tests.rake 1043s mv lib ./.gem2deb.lib 1043s mv ext ./.gem2deb.ext 1043s /usr/bin/ruby3.2 -I/usr/share/rubygems-integration/all/gems/rspec-support-3.13.1/lib:/usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/exe/rspec --pattern ./spec/concurrent/\*_spec.rb --color --backtrace --format documentation --seed 1 1044s Run options: exclude {:stress=>true} 1044s 1044s Randomized with seed 1 1044s 1044s Concurrent::IVar 1044s #initialize 1044s can set an initial value 1044s does not have to set an initial value 1044s can set an initial value with a block 1044s does not set an initial value if you pass NULL 1044s raises an exception if given both a value and a block 1044s observation 1044s notifies all observers on #set 1044s deadlock avoidance 1044s should notify observers outside mutex lock 1044s should notify a new observer added after fulfillment outside lock 1044s it should behave like ivar 1044s initialization 1044s sets the state to incomplete 1044s it should behave like dereferenceable 1044s does not call #freeze when #freeze_on_deref is set and the value is nil 1044s defaults :copy_on_deref to nil 1044s defaults :dup_on_deref to false 1044s supports dereference flags with observers 1044s calls #freeze when the :freeze_on_deref option is true 1044s defaults :freeze_on_deref to false 1044s does not call #dup when #dup_on_deref is set and the value is nil 1044s calls #dup when the :dup_on_deref option is true 1044s calls the block when the :copy_on_deref option is passed a proc 1044s does not call the #copy_on_deref block when the value is nil 1044s calls the :copy block first followed by #dup followed by #freeze 1044s it should behave like obligation 1044s #value 1044s returns nil when reaching the optional timeout value 1044s is nil when :pending 1044s blocks the caller when :pending and timeout is nil 1044s returns the value when fulfilled before timeout 1044s is set to the return value of the block when :fulfilled 1044s is nil when :rejected 1044s returns nil when timeout reached 1044s returns immediately when timeout is zero 1044s #state 1044s is :pending when first created 1044s is :fulfilled when the handler completes 1044s is :rejected when the handler raises an exception 1044s #reason 1044s is nil when :fulfilled 1044s is set to error object of the exception when :rejected 1044s is nil when :pending 1044s it should behave like observable 1044s #delete_observer 1044s deletes the given observer if called before first notification 1044s returns the given observer even when not found in the observer set 1044s returns the removed observer if found in the observer set 1044s #add_observer 1044s raises an exception if not given an observer or a block 1044s adds an observer if called before first notification 1044s raises an exception when given both an observer and a block 1044s creates an observer from a block if called before first notification 1044s adds an observer with :func if called before first notification 1044s first notification 1045s does not notify any observers after #delete_observers called 1045s calls the appropriate function on all observers which specified a :func 1046s does not notify any observers removed with #delete_observer 1046s calls the proc for all observers added as a block 1046s calls the #update method on all observers without a specified :func 1046s #count_observers 1046s returns zero for a new observable object 1046s returns a count of registered observers if called before first notification 1046s returns zero after #delete_observers has been called 1046s #delete_observers 1046s deletes all observers when called before first notification 1046s returns self 1046s #set 1046s raises an exception when given neither a value nor a block 1046s raises an exception if set more than once 1046s rejects when given a block which raises an exception 1046s returns self 1046s sets the state to be fulfilled 1046s fulfils when given a block which executes successfully 1046s raises an exception when given a value and a block 1046s sets the value 1046s #fail 1046s sets the reason to the given exception 1046s raises an exception if set more than once 1046s sets the value to be nil 1046s returns self 1046s defaults the reason to a StandardError 1046s sets the state to be rejected 1046s #try_set 1046s when unset 1046s assigns the value 1046s assigns the block result 1046s returns true 1046s when rejected 1046s does not assign the block result 1046s returns false 1046s has a nil value 1046s does not assign the value 1046s when fulfilled 1046s does not assign the value 1046s returns false 1046s does not assign the block result 1046s 1046s Concurrent::LazyRegister 1046s example at ./spec/concurrent/lazy_register_spec.rb:6 (PENDING: Not yet implemented) 1046s 1046s dataflow 1046s #dataflow uses the global fast executor 1046s #dataflow_with raises an exception when no executor given 1046s raises an exception when no block given 1046s accepts completed dependencies 1046s doesn't raise exceptions from dependencies, unless called with ! 1046s returns a Future 1046s accepts zero or more dependencies 1046s accepts uncompleted dependencies 1046s #dataflow_with uses the given executor 1046s raises an exception if any dependencies are not IVars 1046s passes the values of dependencies into the block 1046s if there is more than one 1046s if there is just one 1046s does not schedule the Future 1046s if no dependencies are completed 1046s if one dependency of two is completed 1046s module function 1046s can be called as Concurrent.dataflow and Concurrent.dataflow_with 1046s counts already executed dependencies 1046s if there is more than one 1046s if there is just one 1046s schedules the Future when all dependencies are available 1046s if there is more than one 1046s if there is just one 1046s 1046s Concurrent::MutableStruct 1046s #[member]= 1046s sets the value when given a valid string member 1046s sets the value when given a valid symbol member 1046s raises an exception when given a non-existent symbol member 1046s raises an exception when given a non-existent string member 1046s synchronization 1046s protects #[member] 1046s protects #values 1046s protects #to_h 1046s protects getter methods 1046s protects #each_pair 1046s protects getter methods 1046s protects #inspect 1046s protects #[member]= 1046s protects #to_s 1046s protects #values_at 1046s protects #merge 1046s protects #initialize_copy 1046s protects #[index]= 1046s protects #== 1046s protects #each 1046s protects #[index] 1046s protects #select 1046s definition 1046s defines a setter for each member 1046s copy 1046s #clone 1046s mutates only the copy 1046s #dup 1046s mutates only the copy 1046s #[index]= 1046s sets the value when given a valid index 1046s raises an exception when given an out-of-bound index 1046s it should behave like struct 1046s properties 1046s #members 1046s returns a different object than the array passed at definition 1046s returns the struct members as an array of symbols 1046s #size 1046s returns the number of struct members 1046s #values 1046s returns the values of the struct as an array in order 1046s #values_at 1046s returns values for ranges and offsets 1046s returns the values at multiple given offsets 1046s returns values at offsets in a given range 1046s returns the value at the given offset 1046s returns values for multiple ranges 1046s #length 1046s returns the number of struct members 1046s comparison 1046s #!= 1046s returns false if other has same struct subclass and equal values 1046s returns true if other has different values 1046s returns true if other has different struct subclass 1046s #== 1046s returns true if other has same struct subclass and equal values 1046s returns false if other has different struct subclass 1046s returns false if other has different values 1046s definition 1046s registers the class when given a class name which is defined in the ancestors 1046s raises an exception when given an invalid class name 1046s raises an exception when given no members 1046s raise an exception when given an invalid member 1046s defines a getter for each member 1046s registers the class when given a class name 1046s evalues a given block against the new class 1046s creates an anonymous class when given at least one member 1046s conversion 1046s #to_a 1046s returns the to_a for this struct as an array 1046s #to_s 1046s returns the same string as #inspect 1046s includes the name of the class when registered 1046s includes the names of all members 1046s includes all values 1046s #to_h 1046s returns a Hash containing the names and values in order 1046s accessors 1046s #[index] 1046s retrieves the value when given a valid index 1046s raises an exception when given an out-of-bound index 1046s #[member] 1046s retrieves the value when given a valid string member 1046s raises an exception when given a non-existent string member 1046s raises an exception when given a non-existent symbol member 1046s retrieves the value when given a valid symbol member 1046s enumeration 1046s #select 1046s yields each value 1046s returns an enumerator when no block is given 1046s returns an Array with the values from for which the block returns true 1046s #each 1046s returns an enumerator when no block is given 1046s yields the value of each struct member in order 1046s #each_pair 1046s returns an enumerator when no block is given 1046s yields the name and value of each struct member in order 1046s construction 1046s raises an exception when extra members are given 1046s sets all absent members to nil 1046s sets all given members in order 1046s copy 1046s #dup 1046s discards singleton class 1046s shallowly duplicates all members along with the struct 1046s discards frozen state of the struct 1046s retains frozen state of members 1046s copies the singleton class of members 1046s #clone 1046s retains frozen state 1046s copies the singleton class 1046s copies the singleton class of members 1046s shallowly clones all members along with the struct 1046s it should behave like mergeable_struct 1046s #merge 1046s calls the given block for each key in `other` 1046s raises an exception when given a hash with members not in the struct 1046s returns a new object 1046s retains the value for all members not without values in the given hash 1046s updates all members with the new values from a given hash 1046s 1046s Concurrent 1046s Cancellation 1046s basic 1046s is expected to be falsey 1046s is expected to be truthy 1046s #join 1046s is expected to eq 2 1046s is expected to be falsey 1046s 1046s #atomically 1046s provides atomicity 1046s raises an exception when no block given 1046s reflects transactional writes from within the same transaction 1046s undoes writes if the transaction is aborted 1046s commits writes if the transaction succeeds 1046s retries on abort 1046s nests 1046s raises the same exception that was raised in Concurrent::atomically 1046s 1046s Concurrent::Set 1046s .[] 1046s when initializing with arguments 1046s creates a set with the given objects 1046s when initializing with no arguments 1046s is expected to be empty 1046s .new 1046s when initializing with no arguments 1046s is expected to be empty 1046s when initializing with an enumerable object 1046s creates a set with the contents of the enumerable object 1046s when initializing with a block argument 1046s creates a set with the contents of the enumerable object 1046s concurrency 1046s #each 1046s force context switch 1047s #add and #delete 1047s 1047s Concurrent::Delay 1047s #reconfigure 1047s returns value of block used in reconfiguration 1047s returns false when process completed? 1047s #value 1047s can be called twice 1047s calls the block when #value is called 1047s raises when called recursively 1047s does not call the block before #value is called 1047s only calls the block once no matter how often #value is called 1047s behavior 1047s it should behave like dereferenceable 1047s calls the block when the :copy_on_deref option is passed a proc 1047s defaults :copy_on_deref to nil 1047s does not call #freeze when #freeze_on_deref is set and the value is nil 1047s calls #dup when the :dup_on_deref option is true 1047s does not call #dup when #dup_on_deref is set and the value is nil 1047s defaults :dup_on_deref to false 1047s supports dereference flags with observers 1047s does not call the #copy_on_deref block when the value is nil 1047s calls the :copy block first followed by #dup followed by #freeze 1047s defaults :freeze_on_deref to false 1047s calls #freeze when the :freeze_on_deref option is true 1047s it should behave like obligation 1047s #reason 1047s is nil when :pending 1047s is nil when :fulfilled 1047s is set to error object of the exception when :rejected 1047s #value 1047s is nil when :rejected 1047s is set to the return value of the block when :fulfilled 1047s returns immediately when timeout is zero 1048s blocks the caller when :pending and timeout is nil 1048s returns nil when reaching the optional timeout value 1048s returns nil when timeout reached 1048s returns the value when fulfilled before timeout 1048s is nil when :pending 1048s #state 1048s is :pending when first created 1048s is :rejected when the handler raises an exception 1048s is :fulfilled when the handler completes 1048s #initialize 1048s raises an exception when no block given 1048s sets the state to :pending 1048s 1048s Concurrent::Promise 1048s #rescue 1048s returns a new promise 1048s it should behave like thread_arguments 1048s passes a one-element array when the :args key has a non-array value 1048s passes an empty array when opts is not given 1048s passes an empty array when the :args key has a nil value 1048s passes an empty array when opts is an empty hash 1048s allows the given arguments array to be dereferenced 1048s passes the given array when the :args key has a complex array value 1048s passes an array when when the :args key has an array value 1048s passes an empty array when there is no :args key 1048s aliases 1048s aliases #realized? for #fulfilled? 1048s aliases #catch for #rescue 1048s aliases #deref for #value 1048s aliases #on_error for #rescue 1048s fulfillment 1048s can manage long chain 1048s sets the promise state to :fulfilled if the block completes 1048s passes the result of each block to all its children 1048s sets the promise value to the result if its block 1048s uses result as fulfillment value when a promise has no block 1048s passes the last result through when a promise has no block 1048s #fail 1048s can only be called on the root promise 1048s rejects children 1048s #set 1048s triggers children 1048s can be called with a block 1048s #can only be called on the root promise 1048s rejection 1048s sets the promise value to the result if its block 1048s passes the reason to all its children 1048s rejects on Exception 1048s sets the promise state to :rejected if the block completes 1048s uses reason as rejection reason when a promise has no rescue callable 1048s .zip 1048s does not execute the returned Promise when execute is false 1048s preserves ordering of the executed promises 1048s executes the returned Promise by default 1048s allows setting executor for Promise chain 1048s fails if one component fails 1048s executes the returned Promise when execute is true 1048s yields the results as an array 1048s aggregators 1048s .any? 1048s executes the #then condition when any components succeed 1048s executes the #rescue handler if all componenst fail 1048s does not execute the returned Promise 1048s returns a new Promise 1048s executes the #then condition when no promises are given 1048s .all? 1048s executes the #then condition when all components succeed 1048s executes the #rescue handler if even one component fails 1048s returns a new Promise 1048s does not execute the returned Promise 1048s executes the #then condition when no promises are given 1048s initializers 1048s .execute 1048s passes the block to the new Promise 1048s calls #execute on the new Promise 1048s creates a new Promise 1048s .fulfill 1048s should return a Promise with set value 1048s should return a fulfilled Promise 1048s should return a Promise 1048s .reject 1048s should return a Promise with set reason 1048s should return a Promise 1048s should return a rejected Promise 1048s .new 1048s should return an unscheduled Promise 1048s #then 1048s should have block or rescuers 1048s returns a new promise when a block and rescuer are passed 1048s returns a new promise when a block is passed 1048s returns a new promise when a rescuer is passed 1048s can be called more than once 1048s supports setting the executor using a named parameter 1048s returns a new promise when a block, rescuer and executor are passed 1048s fulfilled 1048s returns a new Promise 1048s notifies fulfillment to new child 1048s rejected 1048s returns a new Promise when :rejected 1048s notifies rejection to new child 1048s pending 1048s returns a new promise 1048s returns a pending promise 1048s unscheduled 1048s returns a new promise 1048s returns an unscheduled promise 1048s on_success 1048s returns a new promise 1048s should have a block 1048s #execute 1048s with children 1048s when called on a child 1049s should set all promises to :pending 1049s when called on child after parent completes 1049s sets state to :pending immediately 1049s when called on the root 1050s should set all promises to :pending 1050s pending 1050s does not post again 1050s sets the promise to :pending 1050s unscheduled 1050s posts the block given in construction 1051s sets the promise to :pending 1051s #flat_map 1051s returns a promise 1051s fails if the left promise fails 1051s fails if the right promise fails 1051s fails if the generating block fails 1051s succeeds if both promises succeed 1051s #zip 1051s allows setting executor for Promise chain 1051s fails if one component fails 1051s executes the returned Promise when execute is true 1051s does not execute the returned Promise when execute is false 1051s executes the returned Promise by default 1051s preserves ordering of the executed promises 1051s yields the results as an array 1051s it should behave like ivar 1051s #set 1051s raises an exception if set more than once 1051s returns self 1051s raises an exception when given neither a value nor a block 1051s raises an exception when given a value and a block 1051s rejects when given a block which raises an exception 1051s sets the state to be fulfilled 1051s sets the value 1051s fulfils when given a block which executes successfully 1051s #try_set 1051s when fulfilled 1051s returns false 1051s does not assign the value 1051s does not assign the block result 1051s when rejected 1051s returns false 1051s does not assign the block result 1051s has a nil value 1051s does not assign the value 1051s when unset 1051s returns true 1051s assigns the value 1051s assigns the block result 1051s it should behave like observable 1051s #add_observer 1051s adds an observer with :func if called before first notification 1051s raises an exception if not given an observer or a block 1051s creates an observer from a block if called before first notification 1051s adds an observer if called before first notification 1051s raises an exception when given both an observer and a block 1051s #count_observers 1051s returns zero for a new observable object 1051s returns a count of registered observers if called before first notification 1051s returns zero after #delete_observers has been called 1051s first notification 1052s does not notify any observers removed with #delete_observer 1053s does not notify any observers after #delete_observers called 1053s calls the proc for all observers added as a block 1053s calls the appropriate function on all observers which specified a :func 1054s calls the #update method on all observers without a specified :func 1054s #delete_observer 1054s returns the given observer even when not found in the observer set 1054s returns the removed observer if found in the observer set 1054s deletes the given observer if called before first notification 1054s #delete_observers 1054s returns self 1054s deletes all observers when called before first notification 1054s initialization 1054s sets the state to incomplete 1054s #fail 1054s sets the state to be rejected 1054s sets the value to be nil 1054s raises an exception if set more than once 1054s defaults the reason to a StandardError 1054s sets the reason to the given exception 1054s returns self 1054s it should behave like dereferenceable 1054s calls the block when the :copy_on_deref option is passed a proc 1054s defaults :copy_on_deref to nil 1054s does not call #freeze when #freeze_on_deref is set and the value is nil 1054s calls #dup when the :dup_on_deref option is true 1055s supports dereference flags with observers 1055s calls #freeze when the :freeze_on_deref option is true 1055s calls the :copy block first followed by #dup followed by #freeze 1055s defaults :dup_on_deref to false 1055s defaults :freeze_on_deref to false 1056s does not call #dup when #dup_on_deref is set and the value is nil 1056s does not call the #copy_on_deref block when the value is nil 1056s it should behave like obligation 1056s #value 1061s blocks the caller when :pending and timeout is nil 1061s returns nil when reaching the optional timeout value 1061s is set to the return value of the block when :fulfilled 1061s is nil when :pending 1061s returns nil when timeout reached 1061s returns immediately when timeout is zero 1061s is nil when :rejected 1066s returns the value when fulfilled before timeout 1066s #reason 1066s is nil when :fulfilled 1066s is nil when :pending 1066s is set to error object of the exception when :rejected 1066s #state 1066s is :pending when first created 1066s is :fulfilled when the handler completes 1066s is :rejected when the handler raises an exception 1066s 1066s Concurrent::TVar 1066s #value 1066s gets the value 1066s #initialize 1066s accepts an initial value 1066s #value= 1066s sets the value 1066s 1066s Concurrent::Async 1066s object creation 1066s initializes synchronization 1066s passes all args to the original constructor 1066s delegates to the original constructor 1066s passes a given block to the original constructor 1066s #await 1066s raises an error when calling a method that does not exist 1066s raises an error when passing too few arguments 1066s sets the reason when giving too many optional arguments 1066s supports methods with blocks 1066s sets the value on success 1066s supports attribute accessors 1066s returns a :fulfilled IVar 1066s runs the future on the global executor 1066s returns the existence of the method 1066s raises an error when pasing too many arguments (arity >= 0) 1066s sets the reason on failure 1066s #validate_argc 1066s raises an exception for too many args on a method with positive arity 1066s raises an exception for too many args on a zero arity method 1066s does not raise an exception for correct negative arity 1066s raises an exception for too few args on a method with negative arity 1066s raises an exception when the method is not defined 1066s raises an exception for too few args on a method with positive arity 1066s does not raise an exception for correct positive arity 1066s does not raise an exception for correct zero arity 1066s fork safety 1066s does not hang when forked 1066s locking 1066s uses the same lock for both #async and #await 1066s #async 1066s sets the reason on failure 1066s raises an error when calling a method that does not exist 1066s supports methods with blocks 1066s returns the existence of the method 1066s raises an error when passing too few arguments 1066s raises an error when pasing too many arguments (arity >= 0) 1066s supports attribute accessors 1066s runs the future on the global executor 1066s returns a :pending IVar 1066s sets the value on success 1066s sets the reason when giving too many optional arguments 1066s 1066s Concurrent::MVar 1066s #take 1066s returns TIMEOUT on timeout on an empty MVar 1066s waits for another thread to #put 1066s returns the value on a full MVar 1066s sets the MVar to empty 1066s spurious wake ups 1066s #put 1067s returns TIMEOUT on timeout on a full MVar 1067s waits for another thread to #take 1067s #modify 1068s waits for another thread to #put 1068s returns TIMEOUT on timeout on an empty MVar 1068s #take 1069s waits for another thread to #put 1069s returns TIMEOUT on timeout on an empty MVar 1069s #empty? 1069s returns false on a full MVar 1069s returns true on an empty MVar 1069s #set! 1069s sets a full MVar to be full 1069s returns EMPTY on an empty MVar 1069s sets an empty MVar to be full 1069s returns the original value on a full MVar 1069s #modify! 1069s raises an exception when no block given 1069s modifies an empty MVar 1069s returns the unmodified value 1069s can be used to set an empty MVar to empty 1069s can be used to set a full MVar to empty 1069s modifies a full MVar 1069s #initialize 1069s accepts an initial value 1069s accepts a nil initial value 1069s accepts no initial value 1069s accepts an empty initial value 1069s #try_take! 1069s returns EMPTY an empty MVar 1069s returns the value on a full MVar 1069s sets a full MVar to be empty 1069s #borrow 1069s returns TIMEOUT on timeout on an empty MVar 1069s yields current value to the block and puts back value 1069s returns the returned value of the block 1069s puts back value even if an exception is raised 1069s #put 1069s returns the value 1069s sets a new value on an empty MVar 1069s waits for another thread to #take 1069s sets the MVar to be empty 1069s returns TIMEOUT on timeout on a full MVar 1069s #full? 1069s returns true on a full MVar 1069s returns false on an empty MVar 1069s #try_put! 1069s returns false on a full MVar 1069s returns true an empty MVar 1069s sets an empty MVar to be full 1069s #modify 1070s waits for another thread to #put 1070s returns TIMEOUT on timeout on an empty MVar 1071s is atomic 1071s raises an exception when no block given 1071s modifies a full MVar 1071s returns the unmodified value 1071s behavior 1071s it should behave like dereferenceable 1071s calls the block when the :copy_on_deref option is passed a proc 1071s defaults :copy_on_deref to nil 1071s supports dereference flags with observers 1071s does not call #freeze when #freeze_on_deref is set and the value is nil 1071s defaults :dup_on_deref to false 1071s does not call #dup when #dup_on_deref is set and the value is nil 1071s calls the :copy block first followed by #dup followed by #freeze 1071s defaults :freeze_on_deref to false 1071s calls #freeze when the :freeze_on_deref option is true 1071s does not call the #copy_on_deref block when the value is nil 1071s calls #dup when the :dup_on_deref option is true 1071s 1071s configuration 1071s global executors 1071s creates a global fast executor 1071s creates a global timer set 1071s creates a global io executor 1071s 1071s Concurrent::TimerTask 1071s execution 1071s uses a custom executor when given 1071s waits for :execution_interval seconds when the :run_now option is not given 1071s uses a fixed rate when set 1072s uses a fixed delay when set 1072s passes a "self" reference to the block as the sole argument 1072s uses the global executor by default 1072s waits for :execution_interval seconds when the :run_now option is false 1072s runs the block immediately when the :run_now option is true 1072s arguments 1072s TimeTask timeouts are now ignored as these were not able to be implemented correctly 1072s #timeout_interval being written produces a warning 1072s TimeTask timeouts are now ignored as these were not able to be implemented correctly 1072s #execution_interval is writeable 1072s raises an exception if no block given 1072s raises on invalid interval_type 1072s observation 1072s notifies all observers on error 1072s notifies all observers on success 1072s dereferenceable 1072s it should behave like dereferenceable 1072s defaults :freeze_on_deref to false 1073s defaults :copy_on_deref to nil 1073s calls #freeze when the :freeze_on_deref option is true 1073s does not call the #copy_on_deref block when the value is nil 1073s does not call #freeze when #freeze_on_deref is set and the value is nil 1073s does not call #dup when #dup_on_deref is set and the value is nil 1073s calls the block when the :copy_on_deref option is passed a proc 1074s defaults :dup_on_deref to false 1074s calls the :copy block first followed by #dup followed by #freeze 1074s calls #dup when the :dup_on_deref option is true 1074s supports dereference flags with observers 1074s created with #new 1074s #kill 1074s returns true on success 1074s #shutdown 1074s returns true on success 1074s #initialize 1074s uses the default execution interval when no interval is given 1074s uses the given execution interval 1074s raises an exception if :execution_interval is not greater than zero 1074s uses the default :interval_type when no type is given 1074s raises an exception if :execution_interval is not an integer 1074s raises an exception if :interval_type is not a valid value 1074s uses the given interval type 1074s raises an exception if no block given 1074s observable 1074s it should behave like observable 1074s #delete_observer 1074s deletes the given observer if called before first notification 1074s returns the given observer even when not found in the observer set 1074s returns the removed observer if found in the observer set 1074s #count_observers 1074s returns zero after #delete_observers has been called 1074s returns a count of registered observers if called before first notification 1074s returns zero for a new observable object 1074s #delete_observers 1074s returns self 1074s deletes all observers when called before first notification 1074s first notification 1075s calls the #update method on all observers without a specified :func 1075s calls the appropriate function on all observers which specified a :func 1075s calls the proc for all observers added as a block 1076s does not notify any observers removed with #delete_observer 1077s does not notify any observers after #delete_observers called 1077s #add_observer 1077s creates an observer from a block if called before first notification 1077s raises an exception if not given an observer or a block 1077s raises an exception when given both an observer and a block 1077s adds an observer with :func if called before first notification 1077s adds an observer if called before first notification 1077s 1077s Concurrent::Hash 1077s .[] 1077s when initializing with another hash as an argument 1077s creates a hash with the results of calling #to_hash on the other array 1077s creates a new hash 1077s creates a hash with the same contents as the other hash 1077s when initializing with an array of pairs 1077s creates a hash using each pair as a (key, value) pair 1077s when initializing with no arguments 1077s is expected to be empty 1077s when initializing with an even number of arguments 1077s creates a hash using the odd position arguments as keys and even position arguments as values 1077s .new 1077s when initialized with a block 1077s calls the block for non-existing keys 1077s returns the results of calling the block for non-existing key 1077s when initializing with no arguments 1077s is expected to be empty 1077s when initialized with a default object 1077s uses the default object for non-existing keys 1077s concurrency 1078s is expected to be empty 1078s 1078s Concurrent::SettableStruct 1078s it should behave like mergeable_struct 1078s #merge 1078s raises an exception when given a hash with members not in the struct 1078s calls the given block for each key in `other` 1078s retains the value for all members not without values in the given hash 1078s updates all members with the new values from a given hash 1078s returns a new object 1078s definition 1078s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.2.3/lib/concurrent-ruby/concurrent/settable_struct.rb:121: warning: method redefined; discarding old baz 1078s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.2.3/lib/concurrent-ruby/concurrent/synchronization/abstract_struct.rb:161: warning: previous definition of baz was here 1078s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.2.3/lib/concurrent-ruby/concurrent/settable_struct.rb:121: warning: method redefined; discarding old baz 1078s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.2.3/lib/concurrent-ruby/concurrent/synchronization/abstract_struct.rb:161: warning: previous definition of baz was here 1078s defines a setter for each member 1078s #[index]= 1078s raises an exception when given an out-of-bound index 1078s raises an exception when given an index that has already been set 1078s sets the value when given a valid index 1078s it should behave like struct 1078s construction 1078s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.2.3/lib/concurrent-ruby/concurrent/settable_struct.rb:121: warning: method redefined; discarding old baz 1078s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.2.3/lib/concurrent-ruby/concurrent/synchronization/abstract_struct.rb:161: warning: previous definition of baz was here 1078s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.2.3/lib/concurrent-ruby/concurrent/settable_struct.rb:121: warning: method redefined; discarding old baz 1078s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.2.3/lib/concurrent-ruby/concurrent/synchronization/abstract_struct.rb:161: warning: previous definition of baz was here 1078s sets all absent members to nil 1078s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.2.3/lib/concurrent-ruby/concurrent/settable_struct.rb:121: warning: method redefined; discarding old baz 1078s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.2.3/lib/concurrent-ruby/concurrent/synchronization/abstract_struct.rb:161: warning: previous definition of baz was here 1078s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.2.3/lib/concurrent-ruby/concurrent/settable_struct.rb:121: warning: method redefined; discarding old baz 1078s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.2.3/lib/concurrent-ruby/concurrent/synchronization/abstract_struct.rb:161: warning: previous definition of baz was here 1078s raises an exception when extra members are given 1078s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.2.3/lib/concurrent-ruby/concurrent/settable_struct.rb:121: warning: method redefined; discarding old baz 1078s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.2.3/lib/concurrent-ruby/concurrent/synchronization/abstract_struct.rb:161: warning: previous definition of baz was here 1078s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.2.3/lib/concurrent-ruby/concurrent/settable_struct.rb:121: warning: method redefined; discarding old baz 1078s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.2.3/lib/concurrent-ruby/concurrent/synchronization/abstract_struct.rb:161: warning: previous definition of baz was here 1078s sets all given members in order 1078s accessors 1078s #[member] 1078s raises an exception when given a non-existent string member 1078s retrieves the value when given a valid string member 1078s raises an exception when given a non-existent symbol member 1078s retrieves the value when given a valid symbol member 1078s #[index] 1078s retrieves the value when given a valid index 1078s raises an exception when given an out-of-bound index 1078s definition 1078s evalues a given block against the new class 1078s raises an exception when given an invalid class name 1078s raises an exception when given no members 1078s creates an anonymous class when given at least one member 1078s raise an exception when given an invalid member 1078s registers the class when given a class name 1078s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.2.3/lib/concurrent-ruby/concurrent/settable_struct.rb:121: warning: method redefined; discarding old baz 1078s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.2.3/lib/concurrent-ruby/concurrent/synchronization/abstract_struct.rb:161: warning: previous definition of baz was here 1078s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.2.3/lib/concurrent-ruby/concurrent/settable_struct.rb:121: warning: method redefined; discarding old baz 1078s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.2.3/lib/concurrent-ruby/concurrent/synchronization/abstract_struct.rb:161: warning: previous definition of baz was here 1078s defines a getter for each member 1078s /tmp/autopkgtest.EPK8tO/build.yMJ/src/spec/concurrent/struct_shared.rb:15: warning: already initialized constant ValidClassName2 1078s /tmp/autopkgtest.EPK8tO/build.yMJ/src/spec/concurrent/struct_shared.rb:15: warning: previous definition of ValidClassName2 was here 1078s registers the class when given a class name which is defined in the ancestors 1078s conversion 1078s #to_h 1078s returns a Hash containing the names and values in order 1078s #to_a 1078s returns the to_a for this struct as an array 1078s #to_s 1078s includes all values 1078s returns the same string as #inspect 1078s includes the name of the class when registered 1078s includes the names of all members 1078s copy 1078s #clone 1078s shallowly clones all members along with the struct 1078s copies the singleton class 1078s copies the singleton class of members 1078s retains frozen state 1078s #dup 1078s shallowly duplicates all members along with the struct 1078s retains frozen state of members 1078s discards singleton class 1078s discards frozen state of the struct 1078s copies the singleton class of members 1078s properties 1078s #values_at 1078s returns values at offsets in a given range 1078s returns values for multiple ranges 1078s returns the values at multiple given offsets 1078s returns the value at the given offset 1078s returns values for ranges and offsets 1078s #size 1078s returns the number of struct members 1078s #members 1078s returns the struct members as an array of symbols 1078s returns a different object than the array passed at definition 1078s #values 1078s returns the values of the struct as an array in order 1078s #length 1078s returns the number of struct members 1078s enumeration 1078s #each_pair 1078s returns an enumerator when no block is given 1078s yields the name and value of each struct member in order 1078s #select 1078s yields each value 1078s returns an Array with the values from for which the block returns true 1078s returns an enumerator when no block is given 1078s #each 1078s yields the value of each struct member in order 1078s returns an enumerator when no block is given 1078s comparison 1078s #!= 1078s returns true if other has different values 1078s returns true if other has different struct subclass 1078s returns false if other has same struct subclass and equal values 1078s #== 1078s returns true if other has same struct subclass and equal values 1078s returns false if other has different values 1078s returns false if other has different struct subclass 1078s #[member]= 1078s raises an exception when given a string member that has already been set 1078s sets the value when given a valid string member 1078s raises an exception when given a non-existent string member 1078s raises an exception when given a symbol member that has already been set 1078s raises an exception when given a non-existent symbol member 1078s sets the value when given a valid symbol member 1078s synchronization 1078s protects getter methods 1078s protects #select 1078s protects #each_pair 1078s protects #inspect 1078s protects #[index] 1078s protects getter methods 1078s protects #to_h 1078s protects #initialize_copy 1078s protects #[member]= 1078s protects #each 1078s protects #[index]= 1078s protects #values 1078s protects #== 1078s protects #[member] 1078s protects #values_at 1078s protects #to_s 1078s protects #merge 1078s copy 1078s #clone 1078s retains settability of members 1078s #dup 1078s retains settability of members 1078s 1078s Concurrent::ImmutableStruct 1078s it should behave like struct 1078s accessors 1078s #[member] 1078s retrieves the value when given a valid string member 1078s retrieves the value when given a valid symbol member 1078s raises an exception when given a non-existent string member 1078s raises an exception when given a non-existent symbol member 1078s #[index] 1078s retrieves the value when given a valid index 1078s raises an exception when given an out-of-bound index 1078s definition 1078s evalues a given block against the new class 1078s raise an exception when given an invalid member 1078s defines a getter for each member 1078s creates an anonymous class when given at least one member 1078s /tmp/autopkgtest.EPK8tO/build.yMJ/src/spec/concurrent/struct_shared.rb:15: warning: already initialized constant ValidClassName2 1078s /tmp/autopkgtest.EPK8tO/build.yMJ/src/spec/concurrent/struct_shared.rb:15: warning: previous definition of ValidClassName2 was here 1078s registers the class when given a class name which is defined in the ancestors 1078s raises an exception when given an invalid class name 1078s raises an exception when given no members 1078s registers the class when given a class name 1078s conversion 1078s #to_s 1078s returns the same string as #inspect 1078s includes the names of all members 1078s includes the name of the class when registered 1078s includes all values 1078s #to_a 1078s returns the to_a for this struct as an array 1078s #to_h 1078s returns a Hash containing the names and values in order 1078s properties 1078s #values_at 1078s returns values for multiple ranges 1078s returns the values at multiple given offsets 1078s returns values for ranges and offsets 1078s returns values at offsets in a given range 1078s returns the value at the given offset 1078s #members 1078s returns the struct members as an array of symbols 1078s returns a different object than the array passed at definition 1078s #size 1078s returns the number of struct members 1078s #length 1078s returns the number of struct members 1078s #values 1078s returns the values of the struct as an array in order 1078s comparison 1078s #!= 1078s returns false if other has same struct subclass and equal values 1078s returns true if other has different struct subclass 1078s returns true if other has different values 1078s #== 1078s returns true if other has same struct subclass and equal values 1078s returns false if other has different struct subclass 1078s returns false if other has different values 1078s copy 1078s #dup 1078s shallowly duplicates all members along with the struct 1078s discards frozen state of the struct 1078s retains frozen state of members 1078s discards singleton class 1078s copies the singleton class of members 1078s #clone 1078s copies the singleton class 1078s retains frozen state 1078s copies the singleton class of members 1078s shallowly clones all members along with the struct 1078s construction 1078s raises an exception when extra members are given 1078s sets all given members in order 1078s sets all absent members to nil 1078s enumeration 1078s #each_pair 1078s yields the name and value of each struct member in order 1078s returns an enumerator when no block is given 1078s #each 1078s returns an enumerator when no block is given 1078s yields the value of each struct member in order 1078s #select 1078s returns an enumerator when no block is given 1078s yields each value 1078s returns an Array with the values from for which the block returns true 1078s it should behave like mergeable_struct 1078s #merge 1078s raises an exception when given a hash with members not in the struct 1078s returns a new object 1078s updates all members with the new values from a given hash 1078s retains the value for all members not without values in the given hash 1078s calls the given block for each key in `other` 1078s 1078s Concurrent::Array 1078s concurrency 1078s is expected to be empty 1078s .new 1078s when initializing with a size argument 1078s creates an array with size elements set to nil 1078s when initializing with a block argument 1078s creates an array with size elements set to the default value 1078s when initializing with a default value argument 1078s creates an array with size elements set to the default value 1078s when initializing with no arguments 1078s is expected to be empty 1078s when initializing with another array as an argument 1078s creates an array with the results of calling #to_ary on the other array 1078s creates an array with the same contents as the other array 1078s creates a new array 1078s .[] 1078s when initializing with no arguments 1078s is expected to be empty 1078s when initializing with arguments 1078s creates an array with the given objects 1078s #slice 1078s correctly initializes the monitor 1078s 1078s Concurrent::Channel 1078s #next? 1078s returns a just Maybe, true when there are multiple items 1078s returns a nothing Maybe and false on failure 1078s returns a just Maybe and true when there is one item 1078s #take! 1078s raises an exception on failure 1078s takes the next item when not empty 1078s #take? 1078s returns a nothing Maybe on failure 1078s returns a just Maybe on success 1078s #next 1078s returns , true when closed and last item 1078s returns nil, false when closed and no items remain 1078s returns , true when there are multiple items 1078s returns nil, false when empty and closed 1078s returns , true when there is one item 1078s #take 1078s returns nil on failure 1078s takes the next item when not empty 1078s #offer 1078s returns true on success 1078s rejects nil 1078s rejects when the validator raises an exception 1078s returns false on failure 1078s rejects when the validator returns false 1078s put? 1078s returns a nothing Maybe on failure 1078s rejects when the validator raises an exception 1078s accepts nil 1078s rejects when the validator returns false 1078s returns a just Maybe on success 1078s #poll? 1078s returns a nothing Maybe immediately if no item is available 1078s returns a just Maybe immediately if available 1078s returns a nothing Maybe on failure 1078s offer? 1078s returns a just Maybe on success 1078s accepts nil 1078s rejects when the validator raises an exception 1078s rejects when the validator returns false 1078s returns a nothing Maybe on failure 1078s offer! 1078s returns true on success 1078s rejects when the validator raises an exception 1078s raises an exception on failure 1078s rejects nil 1078s rejects when the validator returns false 1078s #poll! 1078s raises an exception on failure 1078s returns the next item immediately if available 1078s raises an exception immediately if no item is available 1078s #poll 1078s returns nil on failure 1078s returns nil immediately if no item is available 1078s returns the next item immediately if available 1078s .each 1078s iterates until the channel is closed 1078s raises and exception when no block is given 1078s put! 1078s raises an exception on failure 1078s returns true on success 1078s rejects when the validator raises an exception 1078s rejects nil 1078s rejects when the validator returns false 1078s factories 1078s is expected to receive new(10) 1 time 1078s is expected to receive new(10) 1 time 1078s goroutines 1078s .go_via 1078s raises an exception when no block is given 1078s is expected to receive post(1, 2, 3) 1 time 1078s .go 1078s raises an exception when no block is given 1078s is expected to receive post(1, 2, 3) 1 time 1078s .go_loop 1078s loops until the block returns false 1078s raises an exception when no block is given 1078s .go_loop_via 1078s raises an exception when no block is given 1078s loops until the block returns false 1078s select 1078s is expected to be truthy 1078s raises an exception when no block is given 1078s passes a selector to the block 1078s #put 1078s rejects when the validator returns false 1078s rejects nil 1078s rejects when the validator raises an exception 1078s returns false on failure 1078s returns true on success 1078s initialization 1078s raises an exception when the :buffer is invalid 1078s raises an exception when :dropping given without :capacity 1078s is :buffered when :capacity > 0 and no :buffer given 1078s is :unbuffered when neither :buffer nore :capacity is given 1078s raises an exception when :buffered given without :capacity 1078s is :sliding when :sliding and :capacity > 0 1078s raises an exception when :buffered and :capacity < 0 1078s is :buffered when :buffered given 1078s is :dropping when :dropping and :capacity > 0 1078s raises an exception when :sliding given without :capacity 1078s is :unbuffered when :buffered and capacity: 0 1078s raises an exception when :sliding and :capacity < 1 1078s raises an exception when both :unbuffered and :capacity are given 1078s is :unbuffered when :unbuffered is given 1078s uses the given buffer 1078s raises an exception when :dropping and :capacity < 1 1078s 1078s Concurrent::Exchanger 1078s class hierarchy 1078s inherits from RubyExchanger 1078s 1078s Concurrent::ProcessingActor 1078s is expected to eq "ab" 1078s 1078s Concurrent::Promises 1078s zip_futures_over 1078s .event 1078s is expected to equal true 1078s .zip_events 1078s waits for all and returns event 1078s Future 1078s can be risen when rejected 1078s has sync and async callbacks 1078s chains with correct arguments 1078s runs 1078s value! supports setting timeout 1078s result supports setting timeout 1078s wait! supports setting timeout 1078s chains 1078s wait supports setting timeout 1078s value supports setting timeout 1078s constructs promise like tree 1078s resolves future when Exception raised 1078s allows graphs 1078s reason supports setting timeout 1078s #flat 1078s it propagates rejection of the future which was suppose to provide inner future 1078s propagates requests for values to delayed futures 1078s rejects if inner value is not a future 1078s accepts inner event 1078s returns value of inner future 1078s propagates rejection of inner future 1078s has shortcuts 1078s ResolvableEvent 1078s #resolve(raise_on_reassign = true) 1078s #wait 1078s #resolve(raise_on_reassign = false) 1078s reservation 1078s .any_fulfilled 1078s continues on first result 1078s treats a resolved Event as a fulfilled Future 1078s treats a pending Event as a pending Future 1078s .rejected_future 1078s raises the correct error when passed an unraised error 1078s chain_resolvable 1078s future 1078s event 1078s .future without block 1078s is expected to eq 0 1078s .zip 1078s waits for all results 1078s when a future raises an error 1078s raises a concurrent error 1078s when deeply nested 1078s raises the original error 1078s value! 1079s does not return spuriously without timeout 1079s does not return spuriously with timeout 1079s .future 1079s executes 1079s executes with args 1079s .any_resolved 1079s continues on first result 1079s .delay 1079s is expected to eq 2 1079s ResolvableFuture 1079s #wait! 1079s result 1079s #wait 1079s atomic_resolution 1079s #value! 1079s #value 1079s reservation 1079s #reason 1079s interoperability 1079s with erlang actor 1079s with channel 1079s with processing actor 1079s .schedule 1079s scheduled execution in graph 1079s scheduled execution 1079s 1079s Concurrent::Atom 1079s #compare_and_set 1079s returns true if the current value matches 1079s returns false if the current value does not match 1079s rejects the new value if the current value does not match 1079s returns false if the validator returns false 1079s sets the new value if the current value matches 1079s returns false if the validator raises an exception 1079s rejects the new value if the validator returns false 1079s rejects the new value if the validator raises an exception 1079s #reset 1079s returns the new value on success 1079s returns the new value on success 1079s returns the old value if the validator returns false 1079s returns the old value if the validator raises an exception 1079s sets the new value 1079s #swap 1079s rejects the new value if the validator returns false 1079s rejects the new value if the validator raises an exception 1079s reraises the exception from block 1079s returns the new value on success 1079s calls the block more than once if the value changes underneath 1079s sets the new value to the result of the block 1079s returns the old value if the validator returns false 1079s raises an exception when no block is given 1079s passes all arguments to the block 1079s returns the old value if the validator raises an exception 1079s passes the current value to the block 1079s observable 1079s behaves like observable 1079s first notification 1080s does not notify any observers removed with #delete_observer 1080s calls the appropriate function on all observers which specified a :func 1081s does not notify any observers after #delete_observers called 1081s calls the proc for all observers added as a block 1081s calls the #update method on all observers without a specified :func 1081s #add_observer 1081s creates an observer from a block if called before first notification 1081s adds an observer with :func if called before first notification 1081s adds an observer if called before first notification 1081s raises an exception if not given an observer or a block 1081s raises an exception when given both an observer and a block 1081s #delete_observer 1081s returns the given observer even when not found in the observer set 1081s returns the removed observer if found in the observer set 1081s deletes the given observer if called before first notification 1081s #count_observers 1081s returns a count of registered observers if called before first notification 1081s returns zero after #delete_observers has been called 1081s returns zero for a new observable object 1081s #delete_observers 1081s deletes all observers when called before first notification 1081s returns self 1081s construction 1081s sets the initial value to the given value 1081s 1081s Concurrent::Future 1081s it should behave like thread_arguments 1081s passes an empty array when there is no :args key 1081s allows the given arguments array to be dereferenced 1081s passes an array when when the :args key has an array value 1081s passes the given array when the :args key has a complex array value 1081s passes an empty array when opts is not given 1081s passes a one-element array when the :args key has a non-array value 1081s passes an empty array when opts is an empty hash 1081s passes an empty array when the :args key has a nil value 1081s class #execute 1081s calls #execute on the new Future 1081s creates a new Future 1081s passes the block to the new Future 1081s #initialize 1081s raises an exception when no block given 1081s sets the state to :unscheduled 1081s uses the executor given with the :executor option 1081s uses the global io executor by default 1081s cancellation 1081s #wait_or_cancel 1081s returns true if the operation completes before timeout 1081s cancels the task on timeout 1081s #cancel 1081s fails to cancel the task once processing has begun 1081s fails to cancel the task once processing is complete 1081s cancels a pending task 1081s instance #execute 1081s posts the block given on construction 1081s returns self 1081s does nothing unless the state is :unscheduled 1081s sets the state to :pending 1081s fulfillment 1081s sets the state to :rejected when the handler raises an exception 1081s sets the value to nil when the handler raises Exception 1081s sets the value to nil when the handler raises an exception 1081s sets the reason to the Exception instance when the handler raises Exception 1081s sets the value to the result of the handler 1081s passes all arguments to handler 1081s sets the state to :processing while the task is executing 1081s sets the state to :fulfilled when the block completes 1081s aliases 1081s aliases #deref for #value 1082s aliases #realized? for #fulfilled? 1082s it should behave like ivar 1082s #try_set 1082s when unset 1082s assigns the value 1082s returns true 1082s assigns the block result 1082s when fulfilled 1082s does not assign the block result 1082s does not assign the value 1082s returns false 1082s when rejected 1082s does not assign the value 1082s has a nil value 1082s does not assign the block result 1082s returns false 1082s #fail 1082s sets the state to be rejected 1082s defaults the reason to a StandardError 1082s sets the value to be nil 1082s sets the reason to the given exception 1082s raises an exception if set more than once 1082s returns self 1082s it should behave like obligation 1082s #reason 1082s is nil when :fulfilled 1082s is set to error object of the exception when :rejected 1082s is nil when :pending 1082s #value 1082s returns nil when timeout reached 1082s is nil when :pending 1082s is nil when :rejected 1082s returns nil when reaching the optional timeout value 1087s returns the value when fulfilled before timeout 1092s blocks the caller when :pending and timeout is nil 1092s is set to the return value of the block when :fulfilled 1092s returns immediately when timeout is zero 1092s #state 1092s is :fulfilled when the handler completes 1092s is :pending when first created 1092s is :rejected when the handler raises an exception 1092s it should behave like dereferenceable 1092s calls #dup when the :dup_on_deref option is true 1092s supports dereference flags with observers 1092s defaults :copy_on_deref to nil 1092s does not call the #copy_on_deref block when the value is nil 1092s calls the :copy block first followed by #dup followed by #freeze 1093s does not call #freeze when #freeze_on_deref is set and the value is nil 1093s calls #freeze when the :freeze_on_deref option is true 1093s calls the block when the :copy_on_deref option is passed a proc 1093s defaults :freeze_on_deref to false 1093s does not call #dup when #dup_on_deref is set and the value is nil 1094s defaults :dup_on_deref to false 1094s it should behave like observable 1094s #delete_observers 1094s returns self 1094s deletes all observers when called before first notification 1094s #add_observer 1094s adds an observer with :func if called before first notification 1094s raises an exception if not given an observer or a block 1094s creates an observer from a block if called before first notification 1094s raises an exception when given both an observer and a block 1094s adds an observer if called before first notification 1094s #count_observers 1094s returns zero after #delete_observers has been called 1094s returns zero for a new observable object 1094s returns a count of registered observers if called before first notification 1094s first notification 1094s calls the appropriate function on all observers which specified a :func 1095s does not notify any observers removed with #delete_observer 1095s calls the proc for all observers added as a block 1096s does not notify any observers after #delete_observers called 1096s calls the #update method on all observers without a specified :func 1096s #delete_observer 1096s returns the removed observer if found in the observer set 1096s deletes the given observer if called before first notification 1096s returns the given observer even when not found in the observer set 1096s #set 1096s fulfils when given a block which executes successfully 1096s raises an exception when given neither a value nor a block 1096s sets the state to be fulfilled 1096s raises an exception if set more than once 1096s raises an exception when given a value and a block 1096s sets the value 1096s returns self 1096s rejects when given a block which raises an exception 1096s initialization 1096s sets the state to incomplete 1096s observation 1096s notifies an observer added after fulfillment 1096s does not notify existing observers when a new observer added after fulfillment 1096s notifies all observers on fulfillment 1096s does not notify existing observers when a new observer added after rejection 1096s notifies an observer added after rejection 1096s notifies all observers on rejection 1096s deadlock avoidance 1096s should notify observers outside mutex lock 1096s should notify a new observer added after fulfillment outside lock 1096s 1096s #leave_transaction 1096s neither commits nor aborts a transaction 1096s raises an exception outside an #atomically block 1096s 1096s Concurrent::Actor 1096s forbids Immediate executor 1096s links atomically 1096s links 1096s dead letter routing 1096s logs by deafault 1096s messaging 1096s is expected to eq 4 1096s termination 1096s terminates with all its children 1096s spawning 1096s terminates on failed initialization and raises with spawn! 1096s terminates on failed initialization 1096s terminates on failed message processing 1096s Actor#spawn! 1096s spawn 1096s executor should be global 1096s returns arg 1096s #name 1096s is expected to eq "ping" 1096s #path 1096s is expected to eq "/ping" 1096s #reference 1096s is expected to eq # 1096s #parent 1096s is expected to eq # 1096s context_spawn_by_hash 1096s executor should be global 1096s returns arg 1096s #reference 1096s is expected to eq # 1096s #path 1096s is expected to eq "/ping" 1096s #parent 1096s is expected to eq # 1096s #name 1096s is expected to eq "ping" 1096s context_spawn 1096s executor should be global 1096s returns arg 1096s #reference 1096s is expected to eq # 1096s #parent 1096s is expected to eq # 1096s #path 1096s is expected to eq "/ping" 1096s #name 1096s is expected to eq "ping" 1096s spawn_by_hash 1096s returns arg 1096s executor should be global 1096s #name 1096s is expected to eq "ping" 1096s #parent 1096s is expected to eq # 1096s #path 1096s is expected to eq "/ping" 1096s #reference 1096s is expected to eq # 1096s pausing 1096s pauses on error and resets 1096s pauses on error and resumes 1096s pauses on error and restarts 1096s envelope 1096s is expected to eq # 1096s pool 1096s supports asks 1096s message redirecting 1096s is evaluated by child 1096s children 1096s has children set after a child is created 1096s 1096s monotonic_time 1096s behavior 1096s returns a Float when unit = :float_second 1096s returns seconds as float 1096s returns an Integer when unit = :millisecond 1096s returns an Integer when unit = :nanosecond 1096s returns an Integer when unit = :microsecond 1096s raises ArgumentError on unknown units 1096s returns a Float when unit = :float_microsecond 1096s returns a Float when unit = :float_millisecond 1096s returns an Integer when unit = :second 1096s 1096s #abort_transaction 1096s raises an exception outside an #atomically block 1096s 1096s Concurrent 1096s Throttle 1097s capacity limited 1097s acquiring 1097s #to_s 1097s #on 1097s 1097s Concurrent::Maybe 1097s comparison 1097s something is less than a bigger value 1097s nothing is not greater than nothing 1097s something is not equal to nothing 1097s something is not equal to a different value 1097s something is greater than a smaller value 1097s nothing is equal to nothing 1097s something is equal to the same value 1097s nothing is not less than nothing 1097s construction 1097s hides Maybe.new 1097s Maybe.nothing 1097s creates a new Nothing Maybe 1097s creates a new error object when given nothing 1097s creates a new error object with the given string 1097s uses the given Error object 1097s Maybe.just 1097s creates a new Just Maybe 1097s Maybe.from 1097s creates a Just Maybe on success 1097s passes all arguments to the block 1097s sets the reason to the error object on exception 1097s creates a Nothing Maybe on exception 1097s sets the value to the block result on success 1097s raises an exception when no block is given 1097s when just 1097s #nothing returns NONE 1097s #fulfilled? returns true 1097s #nothing? returns false 1097s #reason returns NONE 1097s #rejected? returns false 1097s #just? returns true 1097s #value returns the value 1097s #just returns the value 1097s when nothing 1097s #nothing returns the raised error 1097s #rejected? returns true 1097s #just returns NONE 1097s #value returns NONE 1097s #nothing? returns true 1097s #reason returns the raised error 1097s #just? returns false 1097s #fulfilled? returns false 1097s #or 1097s returns the other when nothing 1097s returns the value when something 1097s 1097s Concurrent::Options 1097s .executor_from_options 1097s raises an exception when :executor is an unrecognized symbol 1097s returns the global io executor when :executor is :io 1097s returns an immediate executor when :executor is :immediate 1097s returns the global fast executor when :executor is :fast 1097s returns the given :executor 1097s 1097s Concurrent::RubyExchanger 1109s Good: 9988, Bad (timeout): 12, Ugly: 0 1109s stress test 1109s behaves like exchanger 1109s #try_exchange 1109s behaves like exchanger method with indefinite timeout 1109s blocks indefinitely 1109s receives the other value 1109s can be reused 1109s behaves like exchanger method with finite timeout 1109s can be reused 1109s receives the other value 1109s blocks until timeout 1109s behaves like exchanger method cross-thread interactions 1109s allows multiple firsts to cancel if necessary 1110s when first, waits for a second 1110s #exchange 1110s behaves like exchanger method with finite timeout 1110s blocks until timeout 1110s can be reused 1110s receives the other value 1110s behaves like exchanger method cross-thread interactions 1110s allows multiple firsts to cancel if necessary 1110s when first, waits for a second 1110s behaves like exchanger method with indefinite timeout 1110s receives the other value 1110s can be reused 1110s blocks indefinitely 1110s #exchange! 1110s behaves like exchanger method with indefinite timeout 1110s blocks indefinitely 1110s receives the other value 1110s can be reused 1110s behaves like exchanger method cross-thread interactions 1110s allows multiple firsts to cancel if necessary 1110s when first, waits for a second 1110s behaves like exchanger method with finite timeout 1110s blocks until timeout 1110s receives the other value 1110s can be reused 1110s 1110s Concurrent::ScheduledTask 1110s #initialize 1110s raises an exception when no block given 1110s sets the initial state to :unscheduled 1110s raises an exception when seconds is less than zero 1110s accepts a number of seconds (from now) as the schedule time 1110s behavior 1110s it should behave like obligation 1110s #reason 1110s is set to error object of the exception when :rejected 1110s is nil when :pending 1110s is nil when :fulfilled 1110s #value 1110s is set to the return value of the block when :fulfilled 1110s returns nil when timeout reached 1110s returns nil when reaching the optional timeout value 1111s blocks the caller when :pending and timeout is nil 1111s returns immediately when timeout is zero 1112s returns the value when fulfilled before timeout 1112s is nil when :pending 1112s is nil when :rejected 1112s #state 1112s is :fulfilled when the handler completes 1112s is :pending when first created 1112s is :rejected when the handler raises an exception 1112s it should behave like dereferenceable 1112s calls #dup when the :dup_on_deref option is true 1112s calls #freeze when the :freeze_on_deref option is true 1112s defaults :freeze_on_deref to false 1112s defaults :dup_on_deref to false 1112s calls the :copy block first followed by #dup followed by #freeze 1112s calls the block when the :copy_on_deref option is passed a proc 1112s supports dereference flags with observers 1112s does not call the #copy_on_deref block when the value is nil 1112s does not call #freeze when #freeze_on_deref is set and the value is nil 1112s does not call #dup when #dup_on_deref is set and the value is nil 1112s defaults :copy_on_deref to nil 1112s it should behave like observable 1112s first notification 1114s does not notify any observers after #delete_observers called 1114s calls the appropriate function on all observers which specified a :func 1114s calls the proc for all observers added as a block 1115s does not notify any observers removed with #delete_observer 1115s calls the #update method on all observers without a specified :func 1115s #count_observers 1115s returns zero after #delete_observers has been called 1115s returns a count of registered observers if called before first notification 1115s returns zero for a new observable object 1115s #add_observer 1115s creates an observer from a block if called before first notification 1115s raises an exception if not given an observer or a block 1115s adds an observer with :func if called before first notification 1115s adds an observer if called before first notification 1115s raises an exception when given both an observer and a block 1115s #delete_observers 1115s deletes all observers when called before first notification 1115s returns self 1115s #delete_observer 1115s returns the removed observer if found in the observer set 1115s deletes the given observer if called before first notification 1115s returns the given observer even when not found in the observer set 1115s class #execute 1116s passes the block to the new ScheduledTask 1116s creates a new ScheduledTask 1116s calls #execute on the new ScheduledTask 1116s instance #execute 1116s returns self 1116s sets the sate to :pending 1116s does nothing unless the state is :unscheduled 1116s execution 1116s passes :args from the options to the block 1116s uses the :executor from the options 1116s uses the :timer_set from the options 1116s sets the state to :processing when the task is running 1116s observation 1116s notifies all observers on rejection 1116s notifies all observers on fulfillment 1116s returns true for an observer added while :pending 1116s returns true for an observer added while :unscheduled 1116s returns true for an observer added while :processing 1116s #cancel 1116s returns true on success 1116s returns false if the task has already been performed 1117s cancels the task if it has not yet scheduled 1117s sets the reason to CancelledOperationError when cancelled 1117s cancels the task if it has not yet started 1117s returns false if the task is already in progress 1117s 1117s Concurrent::Synchronization 1117s Concurrent::Synchronization::Object 1117s does not ensure visibility when not needed 1117s does ensure visibility when specified in a parent 1117s does ensure visibility once when specified in child again 1117s does ensure visibility when specified 1117s it should behave like attr_volatile 1118s older writes are always visible 1118s Concurrent::Synchronization::Volatile module 1118s it should behave like attr_volatile 1119s older writes are always visible 1119s Concurrent::Synchronization::LockableObject 1119s final field always visible 1119s #synchronize 1119s allows only one thread to execute count 1119s #wait 1120s allows the sleeping thread to be killed 1120s releases the lock on the current object 1120s can be called from within a #synchronize block 1120s puts the current thread to sleep 1120s it should behave like attr_volatile 1121s older writes are always visible 1121s signaling 1121s for now pending, tested pretty well by Event (PENDING: Not yet implemented) 1121s attr_atomic 1121s is expected to be == b 1121s 1121s Concurrent::Map 1121s #key? 1121s is unfreezable 1121s default_proc is called with the Concurrent::Map and the key after #dup 1121s options validation 1121s #delete_pair 1121s #put_if_absent 1121s collision resistance 1122s concurrency 1122s #values 1122s default_proc is called with the Concurrent::Map and the key 1122s #get_and_set 1122s #size 1122s #replace_if_exists 1122s initial capacity options validation 1122s #get_or_default 1122s #each_key 1122s #clear 1122s retrieval 1122s collision resistance with arrays 1122s marshal dump does not work with default proc 1122s #value? 1122s #delete 1122s default proc 1122s #empty 1122s #keys 1122s marshal dump load 1122s load factor options validation 1122s updates dont block reads 1122s #each_value 1122s #inspect 1122s falsy default proc 1122s #key 1122s #replace_pair 1122s #dup,#clone 1122s #compute 1122s exception 1122s common 1122s with return 1122s #compute_if_present 1122s common 1122s exception 1122s with return 1122s #fetch 1122s common 1122s falsy 1122s with return 1122s #merge_pair 1122s exception 1122s common 1122s with return 1122s #each 1122s it should behave like collection_each 1122s common 1122s allows modification 1122s pair iterator 1122s when no block is given 1122s returns an object which is enumerable 1122s returns an enumerator 1122s #each_pair 1122s it should behave like collection_each 1122s common 1122s pair iterator 1122s allows modification 1122s when no block is given 1122s returns an enumerator 1122s returns an object which is enumerable 1122s #compute_if_absent 1122s atomicity 1122s exception 1122s works in default_proc 1122s common 1122s with return 1122s #fetch_or_store 1122s falsy 1122s common 1122s with return 1122s 1122s Concurrent::Agent 1122s nested actions 1122s occur in the order they ar post 1122s work with immediate execution 1122s initialization 1122s sets #failed? to false 1122s sets the initial error to nil 1122s defaults the error mode to :continue when an error handler is given 1122s defaults the error mode to :fail when no error handler is given 1122s sets the error mode when given a valid value 1122s sets the initial value 1122s raises an error when given an invalid error mode 1122s action processing 1122s when validation raises an error the handler will be called 1122s upon validation the new value will be set to the block return value 1122s the given block will be passed any provided arguments 1122s when validation raises an error the value will not change 1122s the return value will be passed to the validator function 1122s any recursive action dispatches will run after the value has been updated 1122s when validation fails the handler will be called 1122s when the action raises an error the validator will not be called 1122s when the action raises an error the handler will be called 1122s when validation returns false the value will not change 1122s on success all observers will be notified 1122s the given block will be passed the current value 1122s when the action raises an error the value will not change 1122s posting 1122s with #send 1122s returns false when #failed? 1122s returns true when the job is post 1122s posts to the global fast executor 1122s does not wait for the action to process 1122s with #send_off 1122s does not wait for the action to process 1122s returns true when the job is post 1122s returns false when #failed? 1122s posts to the global io executor 1122s with #send! 1122s returns true when the job is post 1122s raises an error when #failed? 1122s posts to the global fast executor 1122s does not wait for the action to process 1122s with #send_off! 1122s does not wait for the action to process 1122s posts to the global io executor 1122s returns true when the job is post 1122s raises an error when #failed? 1122s with #send_via 1122s returns true when the job is post 1122s posts to the given executor 1122s returns false when #failed? 1122s with #<< 1122s posts to the global io executor 1122s returns self when #failed? 1122s returns self when the job is post 1122s does not wait for the action to process 1122s with #send_via! 1122s posts to the given executor 1122s raises an error when #failed? 1122s returns true when the job is post 1122s with #post 1122s posts to the global io executor 1122s returns true when the job is post 1122s does not wait for the action to process 1122s returns false when #failed? 1122s error handling 1122s the agent will be passed to the handler 1122s the exception will be passed to the handler 1122s does not trigger observation 1122s #restart 1122s when #failed? 1122s raises an error if the new value is not valid 1122s does not trigger observation 1122s sets #failed? to true 1122s clears the error 1122s does not clear the action queue when :clear_actions is false 1122s resumes action processing if actions are enqueued 1122s sets the new value 1122s does not clear the action queue when :clear_actions is not given 1122s removes all actions from the queue when :clear_actions is true 1122s when not #failed? 1122s raises an error 1122s observable 1122s behaves like observable 1122s #delete_observer 1122s deletes the given observer if called before first notification 1122s returns the given observer even when not found in the observer set 1122s returns the removed observer if found in the observer set 1122s #count_observers 1122s returns zero after #delete_observers has been called 1122s returns zero for a new observable object 1122s returns a count of registered observers if called before first notification 1122s first notification 1122s calls the appropriate function on all observers which specified a :func 1123s does not notify any observers after #delete_observers called 1123s calls the proc for all observers added as a block 1124s does not notify any observers removed with #delete_observer 1124s calls the #update method on all observers without a specified :func 1124s #add_observer 1124s raises an exception if not given an observer or a block 1124s raises an exception when given both an observer and a block 1124s adds an observer if called before first notification 1124s adds an observer with :func if called before first notification 1124s creates an observer from a block if called before first notification 1124s #delete_observers 1124s deletes all observers when called before first notification 1124s returns self 1124s waiting 1124s with .await_for 1124s returns true when all prior actions for all agents have processed 1125s returns false on timeout 1125s returns true when there are no pending actions 1125s with #await_for 1125s does not block on actions from other threads 1125s returns true when there are no pending actions 1126s returns false on timeout 1126s returns false if restarted with :clear_actions true (PENDING: the timing is nearly impossible) 1127s returns true when all prior actions have processed 1127s with #await_for! 1127s raises an error if restarted with :clear_actions true (PENDING: the timing is nearly impossible) 1127s does not block on actions from other threads 1128s raises an error on timeout 1128s returns true when there are no pending actions 1129s returns true when all prior actions have processed 1129s with #await 1130s blocks indefinitely 1131s returns true when all prior actions have processed 1131s returns self when there are no pending actions 1131s does not block on actions from other threads 1131s blocks forever if restarted with :clear_actions true (PENDING: the timing is nearly impossible) 1131s with await_for! 1132s raises an exception on timeout 1132s returns true when all prior actions for all agents have processed 1132s returns true when there are no pending actions 1132s with .await 1132s returns true when all prior actions on all agents have processed 1132s with #wait 1133s returns true when all prior actions have processed 1134s blocks indefinitely when timeout is nil 1134s does not block on actions from other threads 1134s returns false when timeout is given and restarted with :clear_actions true (PENDING: the timing is nearly impossible) 1134s returns true when there are no pending actions and a timeout is given 1135s returns false on timeout 1135s blocks forever when timeout is nil and restarted with :clear_actions true (PENDING: the timing is nearly impossible) 1135s returns true when there are no pending actions and timeout is nil 1135s the await job 1135s does not trigger the error mode 1135s does not change the value 1136s waits for nested actions 1136s does not trigger observers 1136s validation 1136s rejects the new value when the validator returns false 1136s sets the error when the error mode is :fail and the validator raises an error 1136s sets the error when the error mode is :fail and the validator returns false 1136s does not set an error when the error mode is :continue and the validator returns false 1136s does not trigger observation when validation fails 1136s does not set an error when the error mode is :continue and the validator raises an error 1136s sets the new value when the validator returns true 1136s rejects the new value when the validator raises an error 1136s error mode 1136s :continue 1136s does not block further action processing 1136s does not set an error when the action raises an error 1136s sets #failed? to false 1136s does not set an error when the validator raises an error 1136s does not set an error when the validator returns false 1136s :fail 1136s blocks all further action processing until a restart 1136s sets the error when the validator raises an error 1136s sets #failed? to true 1136s sets the error when the action raises an error 1136s sets the error when the validator returns false 1136s 1136s Finished in 1 minute 31.98 seconds (files took 0.36406 seconds to load) 1136s 1426 examples, 0 failures, 7 pending 1136s 1136s Randomized with seed 1 1136s 1136s mv ./.gem2deb.lib lib 1136s mv ./.gem2deb.ext ext 1136s autopkgtest [02:52:52]: test ruby: -----------------------] 1136s ruby PASS 1136s autopkgtest [02:52:52]: test ruby: - - - - - - - - - - results - - - - - - - - - - 1136s autopkgtest [02:52:52]: test jruby: preparing testbed 2186s autopkgtest [03:10:22]: testbed dpkg architecture: amd64 2186s autopkgtest [03:10:22]: testbed apt version: 2.7.14build2 2186s autopkgtest [03:10:22]: @@@@@@@@@@@@@@@@@@@@ test bed setup 2186s Get:1 http://ftpmaster.internal/ubuntu noble-proposed InRelease [117 kB] 2186s Get:2 http://ftpmaster.internal/ubuntu noble-proposed/main Sources [191 kB] 2186s Get:3 http://ftpmaster.internal/ubuntu noble-proposed/universe Sources [300 kB] 2186s Get:4 http://ftpmaster.internal/ubuntu noble-proposed/multiverse Sources [2340 B] 2186s Get:5 http://ftpmaster.internal/ubuntu noble-proposed/restricted Sources [10.0 kB] 2186s Get:6 http://ftpmaster.internal/ubuntu noble-proposed/main i386 Packages [190 kB] 2186s Get:7 http://ftpmaster.internal/ubuntu noble-proposed/main amd64 Packages [251 kB] 2186s Get:8 http://ftpmaster.internal/ubuntu noble-proposed/main amd64 c-n-f Metadata [3508 B] 2186s Get:9 http://ftpmaster.internal/ubuntu noble-proposed/restricted i386 Packages [6232 B] 2186s Get:10 http://ftpmaster.internal/ubuntu noble-proposed/restricted amd64 Packages [49.4 kB] 2186s Get:11 http://ftpmaster.internal/ubuntu noble-proposed/restricted amd64 c-n-f Metadata [116 B] 2186s Get:12 http://ftpmaster.internal/ubuntu noble-proposed/universe amd64 Packages [573 kB] 2186s Get:13 http://ftpmaster.internal/ubuntu noble-proposed/universe i386 Packages [440 kB] 2186s Get:14 http://ftpmaster.internal/ubuntu noble-proposed/universe amd64 c-n-f Metadata [9396 B] 2186s Get:15 http://ftpmaster.internal/ubuntu noble-proposed/multiverse amd64 Packages [1004 B] 2186s Get:16 http://ftpmaster.internal/ubuntu noble-proposed/multiverse amd64 c-n-f Metadata [196 B] 2189s Fetched 2145 kB in 0s (6134 kB/s) 2189s Reading package lists... 2190s Reading package lists... 2190s Building dependency tree... 2190s Reading state information... 2191s Calculating upgrade... 2191s The following packages will be upgraded: 2191s bzip2 dracut-install findutils ftp hdparm libassuan0 libatasmart4 libbz2-1.0 2191s libdeflate0 libedit2 libestr0 libevdev2 libfastjson4 libgpg-error-l10n 2191s libgpg-error0 liblerc4 libpython3-stdlib libpython3.12-minimal 2191s libpython3.12-stdlib python3 python3-cffi-backend python3-gdbm 2191s python3-minimal python3.12 python3.12-minimal tcpdump tnftp 2191s 27 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 2191s Need to get 7661 kB of archives. 2191s After this operation, 196 kB disk space will be freed. 2191s Get:1 http://ftpmaster.internal/ubuntu noble/main amd64 findutils amd64 4.9.0-5build1 [298 kB] 2191s Get:2 http://ftpmaster.internal/ubuntu noble/main amd64 python3.12 amd64 3.12.3-1 [651 kB] 2191s Get:3 http://ftpmaster.internal/ubuntu noble/main amd64 bzip2 amd64 1.0.8-5.1 [34.5 kB] 2191s Get:4 http://ftpmaster.internal/ubuntu noble/main amd64 libbz2-1.0 amd64 1.0.8-5.1 [34.3 kB] 2191s Get:5 http://ftpmaster.internal/ubuntu noble/main amd64 libpython3.12-stdlib amd64 3.12.3-1 [2067 kB] 2191s Get:6 http://ftpmaster.internal/ubuntu noble/main amd64 python3.12-minimal amd64 3.12.3-1 [2343 kB] 2191s Get:7 http://ftpmaster.internal/ubuntu noble/main amd64 libpython3.12-minimal amd64 3.12.3-1 [833 kB] 2191s Get:8 http://ftpmaster.internal/ubuntu noble/main amd64 python3-minimal amd64 3.12.3-0ubuntu1 [27.2 kB] 2191s Get:9 http://ftpmaster.internal/ubuntu noble/main amd64 python3 amd64 3.12.3-0ubuntu1 [24.1 kB] 2191s Get:10 http://ftpmaster.internal/ubuntu noble/main amd64 libpython3-stdlib amd64 3.12.3-0ubuntu1 [9890 B] 2191s Get:11 http://ftpmaster.internal/ubuntu noble/main amd64 libgpg-error-l10n all 1.47-3build2 [8064 B] 2191s Get:12 http://ftpmaster.internal/ubuntu noble/main amd64 libgpg-error0 amd64 1.47-3build2 [70.0 kB] 2191s Get:13 http://ftpmaster.internal/ubuntu noble/main amd64 libassuan0 amd64 2.5.6-1build1 [37.3 kB] 2191s Get:14 http://ftpmaster.internal/ubuntu noble/main amd64 libestr0 amd64 0.1.11-1build1 [7802 B] 2191s Get:15 http://ftpmaster.internal/ubuntu noble/main amd64 libfastjson4 amd64 1.2304.0-1build1 [23.1 kB] 2191s Get:16 http://ftpmaster.internal/ubuntu noble/main amd64 python3-cffi-backend amd64 1.16.0-2build1 [77.3 kB] 2191s Get:17 http://ftpmaster.internal/ubuntu noble/main amd64 libedit2 amd64 3.1-20230828-1build1 [97.6 kB] 2191s Get:18 http://ftpmaster.internal/ubuntu noble/main amd64 tnftp amd64 20230507-2build3 [103 kB] 2191s Get:19 http://ftpmaster.internal/ubuntu noble/main amd64 ftp all 20230507-2build3 [4728 B] 2191s Get:20 http://ftpmaster.internal/ubuntu noble/main amd64 hdparm amd64 9.65+ds-1build1 [98.2 kB] 2191s Get:21 http://ftpmaster.internal/ubuntu noble/main amd64 python3-gdbm amd64 3.12.3-0ubuntu1 [16.5 kB] 2191s Get:22 http://ftpmaster.internal/ubuntu noble/main amd64 tcpdump amd64 4.99.4-3ubuntu4 [479 kB] 2191s Get:23 http://ftpmaster.internal/ubuntu noble/main amd64 dracut-install amd64 060+5-1ubuntu3 [31.7 kB] 2191s Get:24 http://ftpmaster.internal/ubuntu noble/main amd64 libatasmart4 amd64 0.19-5build3 [24.2 kB] 2191s Get:25 http://ftpmaster.internal/ubuntu noble/main amd64 libdeflate0 amd64 1.19-1build1 [43.8 kB] 2191s Get:26 http://ftpmaster.internal/ubuntu noble/main amd64 liblerc4 amd64 4.0.0+ds-4ubuntu2 [179 kB] 2191s Get:27 http://ftpmaster.internal/ubuntu noble/main amd64 libevdev2 amd64 1.13.1+dfsg-1build1 [37.8 kB] 2191s Fetched 7661 kB in 0s (69.1 MB/s) 2191s (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 ... 73742 files and directories currently installed.) 2191s Preparing to unpack .../findutils_4.9.0-5build1_amd64.deb ... 2191s Unpacking findutils (4.9.0-5build1) over (4.9.0-5) ... 2191s Setting up findutils (4.9.0-5build1) ... 2191s (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 ... 73741 files and directories currently installed.) 2191s Preparing to unpack .../python3.12_3.12.3-1_amd64.deb ... 2192s Unpacking python3.12 (3.12.3-1) over (3.12.2-5ubuntu3) ... 2192s Preparing to unpack .../bzip2_1.0.8-5.1_amd64.deb ... 2192s Unpacking bzip2 (1.0.8-5.1) over (1.0.8-5ubuntu1) ... 2192s Preparing to unpack .../libbz2-1.0_1.0.8-5.1_amd64.deb ... 2192s Unpacking libbz2-1.0:amd64 (1.0.8-5.1) over (1.0.8-5ubuntu1) ... 2192s Setting up libbz2-1.0:amd64 (1.0.8-5.1) ... 2192s (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 ... 73741 files and directories currently installed.) 2192s Preparing to unpack .../libpython3.12-stdlib_3.12.3-1_amd64.deb ... 2192s Unpacking libpython3.12-stdlib:amd64 (3.12.3-1) over (3.12.2-5ubuntu3) ... 2192s Preparing to unpack .../python3.12-minimal_3.12.3-1_amd64.deb ... 2192s Unpacking python3.12-minimal (3.12.3-1) over (3.12.2-5ubuntu3) ... 2192s Preparing to unpack .../libpython3.12-minimal_3.12.3-1_amd64.deb ... 2192s Unpacking libpython3.12-minimal:amd64 (3.12.3-1) over (3.12.2-5ubuntu3) ... 2192s Setting up libpython3.12-minimal:amd64 (3.12.3-1) ... 2192s Setting up python3.12-minimal (3.12.3-1) ... 2193s (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 ... 73741 files and directories currently installed.) 2193s Preparing to unpack .../python3-minimal_3.12.3-0ubuntu1_amd64.deb ... 2193s Unpacking python3-minimal (3.12.3-0ubuntu1) over (3.12.2-0ubuntu2) ... 2193s Setting up python3-minimal (3.12.3-0ubuntu1) ... 2193s (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 ... 73741 files and directories currently installed.) 2193s Preparing to unpack .../python3_3.12.3-0ubuntu1_amd64.deb ... 2193s Unpacking python3 (3.12.3-0ubuntu1) over (3.12.2-0ubuntu2) ... 2193s Preparing to unpack .../libpython3-stdlib_3.12.3-0ubuntu1_amd64.deb ... 2193s Unpacking libpython3-stdlib:amd64 (3.12.3-0ubuntu1) over (3.12.2-0ubuntu2) ... 2193s Preparing to unpack .../libgpg-error-l10n_1.47-3build2_all.deb ... 2193s Unpacking libgpg-error-l10n (1.47-3build2) over (1.47-3build1) ... 2193s Preparing to unpack .../libgpg-error0_1.47-3build2_amd64.deb ... 2193s Unpacking libgpg-error0:amd64 (1.47-3build2) over (1.47-3build1) ... 2193s Setting up libgpg-error0:amd64 (1.47-3build2) ... 2194s (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 ... 73741 files and directories currently installed.) 2194s Preparing to unpack .../libassuan0_2.5.6-1build1_amd64.deb ... 2194s Unpacking libassuan0:amd64 (2.5.6-1build1) over (2.5.6-1) ... 2194s Setting up libassuan0:amd64 (2.5.6-1build1) ... 2194s (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 ... 73741 files and directories currently installed.) 2194s Preparing to unpack .../00-libestr0_0.1.11-1build1_amd64.deb ... 2194s Unpacking libestr0:amd64 (0.1.11-1build1) over (0.1.11-1) ... 2194s Preparing to unpack .../01-libfastjson4_1.2304.0-1build1_amd64.deb ... 2194s Unpacking libfastjson4:amd64 (1.2304.0-1build1) over (1.2304.0-1) ... 2194s Preparing to unpack .../02-python3-cffi-backend_1.16.0-2build1_amd64.deb ... 2194s Unpacking python3-cffi-backend:amd64 (1.16.0-2build1) over (1.16.0-2) ... 2194s Preparing to unpack .../03-libedit2_3.1-20230828-1build1_amd64.deb ... 2194s Unpacking libedit2:amd64 (3.1-20230828-1build1) over (3.1-20230828-1) ... 2194s Preparing to unpack .../04-tnftp_20230507-2build3_amd64.deb ... 2194s Unpacking tnftp (20230507-2build3) over (20230507-2build2) ... 2194s Preparing to unpack .../05-ftp_20230507-2build3_all.deb ... 2194s Unpacking ftp (20230507-2build3) over (20230507-2build2) ... 2194s Preparing to unpack .../06-hdparm_9.65+ds-1build1_amd64.deb ... 2194s Unpacking hdparm (9.65+ds-1build1) over (9.65+ds-1) ... 2194s Preparing to unpack .../07-python3-gdbm_3.12.3-0ubuntu1_amd64.deb ... 2194s Unpacking python3-gdbm:amd64 (3.12.3-0ubuntu1) over (3.12.2-3ubuntu4) ... 2194s Preparing to unpack .../08-tcpdump_4.99.4-3ubuntu4_amd64.deb ... 2194s Unpacking tcpdump (4.99.4-3ubuntu4) over (4.99.4-3ubuntu3) ... 2194s Preparing to unpack .../09-dracut-install_060+5-1ubuntu3_amd64.deb ... 2194s Unpacking dracut-install (060+5-1ubuntu3) over (060+5-1ubuntu2) ... 2194s Preparing to unpack .../10-libatasmart4_0.19-5build3_amd64.deb ... 2194s Unpacking libatasmart4:amd64 (0.19-5build3) over (0.19-5build2) ... 2194s Preparing to unpack .../11-libdeflate0_1.19-1build1_amd64.deb ... 2194s Unpacking libdeflate0:amd64 (1.19-1build1) over (1.19-1) ... 2194s Preparing to unpack .../12-liblerc4_4.0.0+ds-4ubuntu2_amd64.deb ... 2194s Unpacking liblerc4:amd64 (4.0.0+ds-4ubuntu2) over (4.0.0+ds-4ubuntu1) ... 2194s Preparing to unpack .../13-libevdev2_1.13.1+dfsg-1build1_amd64.deb ... 2194s Unpacking libevdev2:amd64 (1.13.1+dfsg-1build1) over (1.13.1+dfsg-1) ... 2194s Setting up tcpdump (4.99.4-3ubuntu4) ... 2194s Setting up liblerc4:amd64 (4.0.0+ds-4ubuntu2) ... 2194s Setting up libpython3.12-stdlib:amd64 (3.12.3-1) ... 2194s Setting up libestr0:amd64 (0.1.11-1build1) ... 2194s Setting up libfastjson4:amd64 (1.2304.0-1build1) ... 2194s Setting up python3.12 (3.12.3-1) ... 2195s Setting up libedit2:amd64 (3.1-20230828-1build1) ... 2195s Setting up libdeflate0:amd64 (1.19-1build1) ... 2195s Setting up hdparm (9.65+ds-1build1) ... 2195s Setting up bzip2 (1.0.8-5.1) ... 2195s Setting up libatasmart4:amd64 (0.19-5build3) ... 2195s Setting up dracut-install (060+5-1ubuntu3) ... 2195s Setting up tnftp (20230507-2build3) ... 2195s Setting up libgpg-error-l10n (1.47-3build2) ... 2195s Setting up libevdev2:amd64 (1.13.1+dfsg-1build1) ... 2195s Setting up libpython3-stdlib:amd64 (3.12.3-0ubuntu1) ... 2195s Setting up python3 (3.12.3-0ubuntu1) ... 2195s Setting up ftp (20230507-2build3) ... 2195s Setting up python3-cffi-backend:amd64 (1.16.0-2build1) ... 2195s Setting up python3-gdbm:amd64 (3.12.3-0ubuntu1) ... 2195s Processing triggers for systemd (255.4-1ubuntu7) ... 2195s Processing triggers for man-db (2.12.0-4build1) ... 2197s Processing triggers for install-info (7.1-3build2) ... 2197s Processing triggers for libc-bin (2.39-0ubuntu8) ... 2197s Reading package lists... 2197s Building dependency tree... 2197s Reading state information... 2197s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 2198s Hit:1 http://ftpmaster.internal/ubuntu noble-proposed InRelease 2198s Hit:2 http://ftpmaster.internal/ubuntu noble InRelease 2198s Hit:3 http://ftpmaster.internal/ubuntu noble-updates InRelease 2198s Hit:4 http://ftpmaster.internal/ubuntu noble-security InRelease 2199s Reading package lists... 2199s Reading package lists... 2199s Building dependency tree... 2199s Reading state information... 2199s Calculating upgrade... 2200s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 2200s Reading package lists... 2200s Building dependency tree... 2200s Reading state information... 2200s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 2201s Reading package lists... 2201s Building dependency tree... 2201s Reading state information... 2202s Starting pkgProblemResolver with broken count: 0 2202s Starting 2 pkgProblemResolver with broken count: 0 2202s Done 2202s The following additional packages will be installed: 2202s ca-certificates-java default-jre-headless java-common jruby libasm-java 2202s libbackport9-java libdirgra-java libfixposix4t64 libhawtjni-runtime-java 2202s libheadius-options-java libinvokebinder-java libjansi-native-java 2202s libjansi1-java libjcodings-java libjffi-java libjffi-jni libjitescript-java 2202s libjline2-java libjnr-constants-java libjnr-enxio-java libjnr-ffi-java 2202s libjnr-netdb-java libjnr-posix-java libjnr-unixsocket-java 2202s libjnr-x86asm-java libjoda-time-java libjruby-joni-java libjzlib-java 2202s liblcms2-2 libpcsclite1 libruby libruby3.2 libsnakeyaml-engine-java 2202s openjdk-21-jre-headless rake ruby ruby-concurrent ruby-concurrent-ext 2202s ruby-diff-lcs ruby-net-telnet ruby-rspec ruby-rspec-core 2202s ruby-rspec-expectations ruby-rspec-mocks ruby-rspec-support ruby-rubygems 2202s ruby-sdbm ruby-timecop ruby-webrick ruby-xmlrpc ruby3.2 rubygems-integration 2202s Suggested packages: 2202s default-jre libheadius-options-java-doc libinvokebinder-java-doc 2202s libjnr-ffi-java-doc libjnr-netdb-java-doc libjnr-posix-java-doc 2202s libjoda-convert-java liblcms2-utils pcscd libnss-mdns fonts-dejavu-extra 2202s fonts-ipafont-gothic fonts-ipafont-mincho fonts-wqy-microhei 2202s | fonts-wqy-zenhei fonts-indic ri ruby-dev bundler 2202s Recommended packages: 2202s fonts-lato libcups2t64 libharfbuzz0b libasound2t64 zip libjs-jquery 2202s The following NEW packages will be installed: 2202s autopkgtest-satdep ca-certificates-java default-jre-headless java-common 2202s jruby libasm-java libbackport9-java libdirgra-java libfixposix4t64 2202s libhawtjni-runtime-java libheadius-options-java libinvokebinder-java 2202s libjansi-native-java libjansi1-java libjcodings-java libjffi-java 2202s libjffi-jni libjitescript-java libjline2-java libjnr-constants-java 2202s libjnr-enxio-java libjnr-ffi-java libjnr-netdb-java libjnr-posix-java 2202s libjnr-unixsocket-java libjnr-x86asm-java libjoda-time-java 2202s libjruby-joni-java libjzlib-java liblcms2-2 libpcsclite1 libruby libruby3.2 2202s libsnakeyaml-engine-java openjdk-21-jre-headless rake ruby ruby-concurrent 2202s ruby-concurrent-ext ruby-diff-lcs ruby-net-telnet ruby-rspec ruby-rspec-core 2202s ruby-rspec-expectations ruby-rspec-mocks ruby-rspec-support ruby-rubygems 2202s ruby-sdbm ruby-timecop ruby-webrick ruby-xmlrpc ruby3.2 rubygems-integration 2202s 0 upgraded, 53 newly installed, 0 to remove and 0 not upgraded. 2202s Need to get 92.7 MB/92.7 MB of archives. 2202s After this operation, 291 MB of additional disk space will be used. 2202s Get:1 /tmp/autopkgtest.EPK8tO/2-autopkgtest-satdep.deb autopkgtest-satdep amd64 0 [732 B] 2202s Get:2 http://ftpmaster.internal/ubuntu noble/main amd64 ca-certificates-java all 20240118 [11.6 kB] 2202s Get:3 http://ftpmaster.internal/ubuntu noble/main amd64 java-common all 0.75+exp1 [6798 B] 2202s Get:4 http://ftpmaster.internal/ubuntu noble/main amd64 liblcms2-2 amd64 2.14-2build1 [161 kB] 2202s Get:5 http://ftpmaster.internal/ubuntu noble/main amd64 libpcsclite1 amd64 2.0.3-1build1 [21.4 kB] 2202s Get:6 http://ftpmaster.internal/ubuntu noble/main amd64 openjdk-21-jre-headless amd64 21.0.3~7ea-1build2 [46.6 MB] 2202s Get:7 http://ftpmaster.internal/ubuntu noble/main amd64 default-jre-headless amd64 2:1.21-75+exp1 [3094 B] 2202s Get:8 http://ftpmaster.internal/ubuntu noble/universe amd64 libasm-java all 9.6~us1-0ubuntu1 [386 kB] 2202s Get:9 http://ftpmaster.internal/ubuntu noble/universe amd64 libbackport9-java all 1.10-2 [13.2 kB] 2202s Get:10 http://ftpmaster.internal/ubuntu noble/universe amd64 libdirgra-java all 0.4-2 [21.6 kB] 2202s Get:11 http://ftpmaster.internal/ubuntu noble/universe amd64 libfixposix4t64 amd64 1:0.5.1-1+nmu1.1build1 [17.1 kB] 2202s Get:12 http://ftpmaster.internal/ubuntu noble/universe amd64 libheadius-options-java all 1.7-1 [18.2 kB] 2202s Get:13 http://ftpmaster.internal/ubuntu noble/universe amd64 libinvokebinder-java all 1.13-1 [51.7 kB] 2202s Get:14 http://ftpmaster.internal/ubuntu noble/universe amd64 libhawtjni-runtime-java all 1.18-1 [28.9 kB] 2202s Get:15 http://ftpmaster.internal/ubuntu noble/universe amd64 libjansi-native-java all 1.8-2 [24.1 kB] 2202s Get:16 http://ftpmaster.internal/ubuntu noble/universe amd64 libjansi1-java all 1.18-3ubuntu1 [56.0 kB] 2202s Get:17 http://ftpmaster.internal/ubuntu noble/universe amd64 libjcodings-java all 1.0.58-1 [1474 kB] 2202s Get:18 http://ftpmaster.internal/ubuntu noble/universe amd64 libjffi-jni amd64 1.3.13+ds-1 [27.3 kB] 2202s Get:19 http://ftpmaster.internal/ubuntu noble/universe amd64 libjffi-java all 1.3.13+ds-1 [112 kB] 2202s Get:20 http://ftpmaster.internal/ubuntu noble/universe amd64 libjitescript-java all 0.4.3-1 [24.4 kB] 2202s Get:21 http://ftpmaster.internal/ubuntu noble/universe amd64 libjline2-java all 2.14.6-5 [150 kB] 2202s Get:22 http://ftpmaster.internal/ubuntu noble/universe amd64 libjnr-constants-java all 0.10.4-2 [1397 kB] 2203s Get:23 http://ftpmaster.internal/ubuntu noble/universe amd64 libjnr-x86asm-java all 1.0.2-5.1 [207 kB] 2203s Get:24 http://ftpmaster.internal/ubuntu noble/universe amd64 libjnr-ffi-java all 2.2.15-2 [627 kB] 2203s Get:25 http://ftpmaster.internal/ubuntu noble/universe amd64 libjnr-enxio-java all 0.32.16-1 [33.7 kB] 2203s Get:26 http://ftpmaster.internal/ubuntu noble/universe amd64 libjnr-netdb-java all 1.1.6-1.1 [58.8 kB] 2203s Get:27 http://ftpmaster.internal/ubuntu noble/universe amd64 libjnr-posix-java all 3.1.18-1 [267 kB] 2203s Get:28 http://ftpmaster.internal/ubuntu noble/universe amd64 libjnr-unixsocket-java all 0.38.21-2 [46.9 kB] 2203s Get:29 http://ftpmaster.internal/ubuntu noble/universe amd64 libjoda-time-java all 2.10.14-1 [535 kB] 2203s Get:30 http://ftpmaster.internal/ubuntu noble/universe amd64 libjruby-joni-java all 2.2.1-1 [222 kB] 2203s Get:31 http://ftpmaster.internal/ubuntu noble/universe amd64 libjzlib-java all 1.1.3-3 [76.8 kB] 2203s Get:32 http://ftpmaster.internal/ubuntu noble/universe amd64 libsnakeyaml-engine-java all 2.7+ds-3 [258 kB] 2203s Get:33 http://ftpmaster.internal/ubuntu noble/universe amd64 jruby all 9.4.6.0+ds-1ubuntu3 [33.3 MB] 2203s Get:34 http://ftpmaster.internal/ubuntu noble/main amd64 rubygems-integration all 1.18 [5336 B] 2203s Get:35 http://ftpmaster.internal/ubuntu noble/main amd64 ruby3.2 amd64 3.2.3-1build3 [50.7 kB] 2203s Get:36 http://ftpmaster.internal/ubuntu noble/main amd64 ruby-rubygems all 3.4.20-1 [238 kB] 2203s Get:37 http://ftpmaster.internal/ubuntu noble/main amd64 ruby amd64 1:3.2~ubuntu1 [3466 B] 2203s Get:38 http://ftpmaster.internal/ubuntu noble/main amd64 rake all 13.0.6-3 [61.6 kB] 2203s Get:39 http://ftpmaster.internal/ubuntu noble/main amd64 ruby-net-telnet all 0.2.0-1 [13.3 kB] 2203s Get:40 http://ftpmaster.internal/ubuntu noble/main amd64 ruby-webrick all 1.8.1-1 [52.3 kB] 2203s Get:41 http://ftpmaster.internal/ubuntu noble/main amd64 ruby-xmlrpc all 0.3.2-2 [24.8 kB] 2203s Get:42 http://ftpmaster.internal/ubuntu noble/main amd64 ruby-sdbm amd64 1.0.0-5build4 [16.2 kB] 2203s Get:43 http://ftpmaster.internal/ubuntu noble/main amd64 libruby3.2 amd64 3.2.3-1build3 [5339 kB] 2203s Get:44 http://ftpmaster.internal/ubuntu noble/main amd64 libruby amd64 1:3.2~ubuntu1 [4694 B] 2203s Get:45 http://ftpmaster.internal/ubuntu noble/universe amd64 ruby-concurrent all 1.2.3-2build1 [282 kB] 2203s Get:46 http://ftpmaster.internal/ubuntu noble/universe amd64 ruby-concurrent-ext amd64 1.2.3-2build1 [8834 B] 2203s Get:47 http://ftpmaster.internal/ubuntu noble/universe amd64 ruby-diff-lcs all 1.5.1-1 [22.8 kB] 2203s Get:48 http://ftpmaster.internal/ubuntu noble/universe amd64 ruby-rspec-support all 3.13.0c0e0m0s1-2 [29.2 kB] 2203s Get:49 http://ftpmaster.internal/ubuntu noble/universe amd64 ruby-rspec-core all 3.13.0c0e0m0s1-2 [164 kB] 2203s Get:50 http://ftpmaster.internal/ubuntu noble/universe amd64 ruby-rspec-expectations all 3.13.0c0e0m0s1-2 [89.8 kB] 2203s Get:51 http://ftpmaster.internal/ubuntu noble/universe amd64 ruby-rspec-mocks all 3.13.0c0e0m0s1-2 [81.0 kB] 2203s Get:52 http://ftpmaster.internal/ubuntu noble/universe amd64 ruby-rspec all 3.13.0c0e0m0s1-2 [3500 B] 2203s Get:53 http://ftpmaster.internal/ubuntu noble/universe amd64 ruby-timecop all 0.9.8-1 [10.6 kB] 2203s Fetched 92.7 MB in 1s (115 MB/s) 2203s Selecting previously unselected package ca-certificates-java. 2203s (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 ... 73740 files and directories currently installed.) 2203s Preparing to unpack .../00-ca-certificates-java_20240118_all.deb ... 2203s Unpacking ca-certificates-java (20240118) ... 2203s Selecting previously unselected package java-common. 2203s Preparing to unpack .../01-java-common_0.75+exp1_all.deb ... 2203s Unpacking java-common (0.75+exp1) ... 2203s Selecting previously unselected package liblcms2-2:amd64. 2203s Preparing to unpack .../02-liblcms2-2_2.14-2build1_amd64.deb ... 2203s Unpacking liblcms2-2:amd64 (2.14-2build1) ... 2203s Selecting previously unselected package libpcsclite1:amd64. 2203s Preparing to unpack .../03-libpcsclite1_2.0.3-1build1_amd64.deb ... 2203s Unpacking libpcsclite1:amd64 (2.0.3-1build1) ... 2203s Selecting previously unselected package openjdk-21-jre-headless:amd64. 2203s Preparing to unpack .../04-openjdk-21-jre-headless_21.0.3~7ea-1build2_amd64.deb ... 2203s Unpacking openjdk-21-jre-headless:amd64 (21.0.3~7ea-1build2) ... 2204s Selecting previously unselected package default-jre-headless. 2204s Preparing to unpack .../05-default-jre-headless_2%3a1.21-75+exp1_amd64.deb ... 2204s Unpacking default-jre-headless (2:1.21-75+exp1) ... 2204s Selecting previously unselected package libasm-java. 2204s Preparing to unpack .../06-libasm-java_9.6~us1-0ubuntu1_all.deb ... 2204s Unpacking libasm-java (9.6~us1-0ubuntu1) ... 2204s Selecting previously unselected package libbackport9-java. 2204s Preparing to unpack .../07-libbackport9-java_1.10-2_all.deb ... 2204s Unpacking libbackport9-java (1.10-2) ... 2204s Selecting previously unselected package libdirgra-java. 2204s Preparing to unpack .../08-libdirgra-java_0.4-2_all.deb ... 2204s Unpacking libdirgra-java (0.4-2) ... 2204s Selecting previously unselected package libfixposix4t64:amd64. 2204s Preparing to unpack .../09-libfixposix4t64_1%3a0.5.1-1+nmu1.1build1_amd64.deb ... 2204s Unpacking libfixposix4t64:amd64 (1:0.5.1-1+nmu1.1build1) ... 2204s Selecting previously unselected package libheadius-options-java. 2204s Preparing to unpack .../10-libheadius-options-java_1.7-1_all.deb ... 2204s Unpacking libheadius-options-java (1.7-1) ... 2204s Selecting previously unselected package libinvokebinder-java. 2204s Preparing to unpack .../11-libinvokebinder-java_1.13-1_all.deb ... 2204s Unpacking libinvokebinder-java (1.13-1) ... 2204s Selecting previously unselected package libhawtjni-runtime-java. 2204s Preparing to unpack .../12-libhawtjni-runtime-java_1.18-1_all.deb ... 2204s Unpacking libhawtjni-runtime-java (1.18-1) ... 2204s Selecting previously unselected package libjansi-native-java. 2204s Preparing to unpack .../13-libjansi-native-java_1.8-2_all.deb ... 2204s Unpacking libjansi-native-java (1.8-2) ... 2204s Selecting previously unselected package libjansi1-java. 2204s Preparing to unpack .../14-libjansi1-java_1.18-3ubuntu1_all.deb ... 2204s Unpacking libjansi1-java (1.18-3ubuntu1) ... 2205s Selecting previously unselected package libjcodings-java. 2205s Preparing to unpack .../15-libjcodings-java_1.0.58-1_all.deb ... 2205s Unpacking libjcodings-java (1.0.58-1) ... 2205s Selecting previously unselected package libjffi-jni:amd64. 2205s Preparing to unpack .../16-libjffi-jni_1.3.13+ds-1_amd64.deb ... 2205s Unpacking libjffi-jni:amd64 (1.3.13+ds-1) ... 2205s Selecting previously unselected package libjffi-java. 2205s Preparing to unpack .../17-libjffi-java_1.3.13+ds-1_all.deb ... 2205s Unpacking libjffi-java (1.3.13+ds-1) ... 2205s Selecting previously unselected package libjitescript-java. 2205s Preparing to unpack .../18-libjitescript-java_0.4.3-1_all.deb ... 2205s Unpacking libjitescript-java (0.4.3-1) ... 2205s Selecting previously unselected package libjline2-java. 2205s Preparing to unpack .../19-libjline2-java_2.14.6-5_all.deb ... 2205s Unpacking libjline2-java (2.14.6-5) ... 2205s Selecting previously unselected package libjnr-constants-java. 2205s Preparing to unpack .../20-libjnr-constants-java_0.10.4-2_all.deb ... 2205s Unpacking libjnr-constants-java (0.10.4-2) ... 2205s Selecting previously unselected package libjnr-x86asm-java. 2205s Preparing to unpack .../21-libjnr-x86asm-java_1.0.2-5.1_all.deb ... 2205s Unpacking libjnr-x86asm-java (1.0.2-5.1) ... 2205s Selecting previously unselected package libjnr-ffi-java. 2205s Preparing to unpack .../22-libjnr-ffi-java_2.2.15-2_all.deb ... 2205s Unpacking libjnr-ffi-java (2.2.15-2) ... 2205s Selecting previously unselected package libjnr-enxio-java. 2205s Preparing to unpack .../23-libjnr-enxio-java_0.32.16-1_all.deb ... 2205s Unpacking libjnr-enxio-java (0.32.16-1) ... 2205s Selecting previously unselected package libjnr-netdb-java. 2205s Preparing to unpack .../24-libjnr-netdb-java_1.1.6-1.1_all.deb ... 2205s Unpacking libjnr-netdb-java (1.1.6-1.1) ... 2205s Selecting previously unselected package libjnr-posix-java. 2205s Preparing to unpack .../25-libjnr-posix-java_3.1.18-1_all.deb ... 2205s Unpacking libjnr-posix-java (3.1.18-1) ... 2205s Selecting previously unselected package libjnr-unixsocket-java. 2205s Preparing to unpack .../26-libjnr-unixsocket-java_0.38.21-2_all.deb ... 2205s Unpacking libjnr-unixsocket-java (0.38.21-2) ... 2205s Selecting previously unselected package libjoda-time-java. 2205s Preparing to unpack .../27-libjoda-time-java_2.10.14-1_all.deb ... 2205s Unpacking libjoda-time-java (2.10.14-1) ... 2205s Selecting previously unselected package libjruby-joni-java. 2205s Preparing to unpack .../28-libjruby-joni-java_2.2.1-1_all.deb ... 2205s Unpacking libjruby-joni-java (2.2.1-1) ... 2205s Selecting previously unselected package libjzlib-java. 2205s Preparing to unpack .../29-libjzlib-java_1.1.3-3_all.deb ... 2205s Unpacking libjzlib-java (1.1.3-3) ... 2205s Selecting previously unselected package libsnakeyaml-engine-java. 2205s Preparing to unpack .../30-libsnakeyaml-engine-java_2.7+ds-3_all.deb ... 2205s Unpacking libsnakeyaml-engine-java (2.7+ds-3) ... 2205s Selecting previously unselected package jruby. 2205s Preparing to unpack .../31-jruby_9.4.6.0+ds-1ubuntu3_all.deb ... 2205s Unpacking jruby (9.4.6.0+ds-1ubuntu3) ... 2205s Selecting previously unselected package rubygems-integration. 2205s Preparing to unpack .../32-rubygems-integration_1.18_all.deb ... 2205s Unpacking rubygems-integration (1.18) ... 2205s Selecting previously unselected package ruby3.2. 2205s Preparing to unpack .../33-ruby3.2_3.2.3-1build3_amd64.deb ... 2205s Unpacking ruby3.2 (3.2.3-1build3) ... 2205s Selecting previously unselected package ruby-rubygems. 2205s Preparing to unpack .../34-ruby-rubygems_3.4.20-1_all.deb ... 2205s Unpacking ruby-rubygems (3.4.20-1) ... 2206s Selecting previously unselected package ruby. 2206s Preparing to unpack .../35-ruby_1%3a3.2~ubuntu1_amd64.deb ... 2206s Unpacking ruby (1:3.2~ubuntu1) ... 2206s Selecting previously unselected package rake. 2206s Preparing to unpack .../36-rake_13.0.6-3_all.deb ... 2206s Unpacking rake (13.0.6-3) ... 2206s Selecting previously unselected package ruby-net-telnet. 2206s Preparing to unpack .../37-ruby-net-telnet_0.2.0-1_all.deb ... 2206s Unpacking ruby-net-telnet (0.2.0-1) ... 2206s Selecting previously unselected package ruby-webrick. 2206s Preparing to unpack .../38-ruby-webrick_1.8.1-1_all.deb ... 2206s Unpacking ruby-webrick (1.8.1-1) ... 2206s Selecting previously unselected package ruby-xmlrpc. 2206s Preparing to unpack .../39-ruby-xmlrpc_0.3.2-2_all.deb ... 2206s Unpacking ruby-xmlrpc (0.3.2-2) ... 2206s Selecting previously unselected package ruby-sdbm:amd64. 2206s Preparing to unpack .../40-ruby-sdbm_1.0.0-5build4_amd64.deb ... 2206s Unpacking ruby-sdbm:amd64 (1.0.0-5build4) ... 2206s Selecting previously unselected package libruby3.2:amd64. 2206s Preparing to unpack .../41-libruby3.2_3.2.3-1build3_amd64.deb ... 2206s Unpacking libruby3.2:amd64 (3.2.3-1build3) ... 2206s Selecting previously unselected package libruby:amd64. 2206s Preparing to unpack .../42-libruby_1%3a3.2~ubuntu1_amd64.deb ... 2206s Unpacking libruby:amd64 (1:3.2~ubuntu1) ... 2206s Selecting previously unselected package ruby-concurrent. 2206s Preparing to unpack .../43-ruby-concurrent_1.2.3-2build1_all.deb ... 2206s Unpacking ruby-concurrent (1.2.3-2build1) ... 2206s Selecting previously unselected package ruby-concurrent-ext. 2206s Preparing to unpack .../44-ruby-concurrent-ext_1.2.3-2build1_amd64.deb ... 2206s Unpacking ruby-concurrent-ext (1.2.3-2build1) ... 2206s Selecting previously unselected package ruby-diff-lcs. 2206s Preparing to unpack .../45-ruby-diff-lcs_1.5.1-1_all.deb ... 2206s Unpacking ruby-diff-lcs (1.5.1-1) ... 2206s Selecting previously unselected package ruby-rspec-support. 2206s Preparing to unpack .../46-ruby-rspec-support_3.13.0c0e0m0s1-2_all.deb ... 2206s Unpacking ruby-rspec-support (3.13.0c0e0m0s1-2) ... 2206s Selecting previously unselected package ruby-rspec-core. 2206s Preparing to unpack .../47-ruby-rspec-core_3.13.0c0e0m0s1-2_all.deb ... 2206s Unpacking ruby-rspec-core (3.13.0c0e0m0s1-2) ... 2206s Selecting previously unselected package ruby-rspec-expectations. 2206s Preparing to unpack .../48-ruby-rspec-expectations_3.13.0c0e0m0s1-2_all.deb ... 2206s Unpacking ruby-rspec-expectations (3.13.0c0e0m0s1-2) ... 2206s Selecting previously unselected package ruby-rspec-mocks. 2206s Preparing to unpack .../49-ruby-rspec-mocks_3.13.0c0e0m0s1-2_all.deb ... 2206s Unpacking ruby-rspec-mocks (3.13.0c0e0m0s1-2) ... 2206s Selecting previously unselected package ruby-rspec. 2206s Preparing to unpack .../50-ruby-rspec_3.13.0c0e0m0s1-2_all.deb ... 2206s Unpacking ruby-rspec (3.13.0c0e0m0s1-2) ... 2206s Selecting previously unselected package ruby-timecop. 2206s Preparing to unpack .../51-ruby-timecop_0.9.8-1_all.deb ... 2206s Unpacking ruby-timecop (0.9.8-1) ... 2206s Selecting previously unselected package autopkgtest-satdep. 2206s Preparing to unpack .../52-2-autopkgtest-satdep.deb ... 2206s Unpacking autopkgtest-satdep (0) ... 2206s Setting up liblcms2-2:amd64 (2.14-2build1) ... 2206s Setting up libfixposix4t64:amd64 (1:0.5.1-1+nmu1.1build1) ... 2206s Setting up java-common (0.75+exp1) ... 2206s Setting up libasm-java (9.6~us1-0ubuntu1) ... 2206s Setting up rubygems-integration (1.18) ... 2206s Setting up libheadius-options-java (1.7-1) ... 2206s Setting up ruby-concurrent (1.2.3-2build1) ... 2206s Setting up libjnr-x86asm-java (1.0.2-5.1) ... 2206s Setting up ruby-timecop (0.9.8-1) ... 2206s Setting up libjzlib-java (1.1.3-3) ... 2206s Setting up libbackport9-java (1.10-2) ... 2207s Setting up libjitescript-java (0.4.3-1) ... 2207s Setting up libsnakeyaml-engine-java (2.7+ds-3) ... 2207s Setting up ruby-net-telnet (0.2.0-1) ... 2207s Setting up libpcsclite1:amd64 (2.0.3-1build1) ... 2207s Setting up ruby-rspec-support (3.13.0c0e0m0s1-2) ... 2207s Setting up libjoda-time-java (2.10.14-1) ... 2207s Setting up libjcodings-java (1.0.58-1) ... 2207s Setting up ruby-webrick (1.8.1-1) ... 2207s Setting up libinvokebinder-java (1.13-1) ... 2207s Setting up libjffi-jni:amd64 (1.3.13+ds-1) ... 2207s Setting up ca-certificates-java (20240118) ... 2207s No JRE found. Skipping Java certificates setup. 2207s Setting up ruby-xmlrpc (0.3.2-2) ... 2207s Setting up libhawtjni-runtime-java (1.18-1) ... 2207s Setting up libdirgra-java (0.4-2) ... 2207s Setting up libjnr-constants-java (0.10.4-2) ... 2207s Setting up libjffi-java (1.3.13+ds-1) ... 2207s Setting up openjdk-21-jre-headless:amd64 (21.0.3~7ea-1build2) ... 2207s update-alternatives: using /usr/lib/jvm/java-21-openjdk-amd64/bin/java to provide /usr/bin/java (java) in auto mode 2207s update-alternatives: using /usr/lib/jvm/java-21-openjdk-amd64/bin/jpackage to provide /usr/bin/jpackage (jpackage) in auto mode 2207s update-alternatives: using /usr/lib/jvm/java-21-openjdk-amd64/bin/keytool to provide /usr/bin/keytool (keytool) in auto mode 2207s update-alternatives: using /usr/lib/jvm/java-21-openjdk-amd64/bin/rmiregistry to provide /usr/bin/rmiregistry (rmiregistry) in auto mode 2207s update-alternatives: using /usr/lib/jvm/java-21-openjdk-amd64/lib/jexec to provide /usr/bin/jexec (jexec) in auto mode 2207s Setting up libjruby-joni-java (2.2.1-1) ... 2207s Setting up libjansi-native-java (1.8-2) ... 2207s Setting up libjansi1-java (1.18-3ubuntu1) ... 2207s Setting up libjline2-java (2.14.6-5) ... 2207s Setting up libjnr-ffi-java (2.2.15-2) ... 2207s Setting up libjnr-enxio-java (0.32.16-1) ... 2207s Setting up libjnr-netdb-java (1.1.6-1.1) ... 2207s Setting up libjnr-posix-java (3.1.18-1) ... 2207s Setting up libjnr-unixsocket-java (0.38.21-2) ... 2207s Setting up ruby-rubygems (3.4.20-1) ... 2207s Setting up rake (13.0.6-3) ... 2207s Setting up libruby:amd64 (1:3.2~ubuntu1) ... 2207s Setting up ruby-sdbm:amd64 (1.0.0-5build4) ... 2207s Setting up libruby3.2:amd64 (3.2.3-1build3) ... 2207s Setting up ruby3.2 (3.2.3-1build3) ... 2207s Setting up ruby (1:3.2~ubuntu1) ... 2207s Setting up ruby-rspec-core (3.13.0c0e0m0s1-2) ... 2207s Setting up ruby-diff-lcs (1.5.1-1) ... 2207s Setting up ruby-concurrent-ext (1.2.3-2build1) ... 2207s Setting up ruby-rspec-expectations (3.13.0c0e0m0s1-2) ... 2207s Setting up ruby-rspec-mocks (3.13.0c0e0m0s1-2) ... 2207s Setting up ruby-rspec (3.13.0c0e0m0s1-2) ... 2207s Processing triggers for libc-bin (2.39-0ubuntu8) ... 2207s Processing triggers for man-db (2.12.0-4build1) ... 2207s Processing triggers for ca-certificates-java (20240118) ... 2207s Adding debian:ACCVRAIZ1.pem 2207s Adding debian:AC_RAIZ_FNMT-RCM.pem 2207s Adding debian:AC_RAIZ_FNMT-RCM_SERVIDORES_SEGUROS.pem 2207s Adding debian:ANF_Secure_Server_Root_CA.pem 2207s Adding debian:Actalis_Authentication_Root_CA.pem 2207s Adding debian:AffirmTrust_Commercial.pem 2207s Adding debian:AffirmTrust_Networking.pem 2207s Adding debian:AffirmTrust_Premium.pem 2207s Adding debian:AffirmTrust_Premium_ECC.pem 2207s Adding debian:Amazon_Root_CA_1.pem 2207s Adding debian:Amazon_Root_CA_2.pem 2207s Adding debian:Amazon_Root_CA_3.pem 2207s Adding debian:Amazon_Root_CA_4.pem 2208s Adding debian:Atos_TrustedRoot_2011.pem 2208s Adding debian:Atos_TrustedRoot_Root_CA_ECC_TLS_2021.pem 2208s Adding debian:Atos_TrustedRoot_Root_CA_RSA_TLS_2021.pem 2208s Adding debian:Autoridad_de_Certificacion_Firmaprofesional_CIF_A62634068.pem 2208s Adding debian:BJCA_Global_Root_CA1.pem 2208s Adding debian:BJCA_Global_Root_CA2.pem 2208s Adding debian:Baltimore_CyberTrust_Root.pem 2208s Adding debian:Buypass_Class_2_Root_CA.pem 2208s Adding debian:Buypass_Class_3_Root_CA.pem 2208s Adding debian:CA_Disig_Root_R2.pem 2208s Adding debian:CFCA_EV_ROOT.pem 2208s Adding debian:COMODO_Certification_Authority.pem 2208s Adding debian:COMODO_ECC_Certification_Authority.pem 2208s Adding debian:COMODO_RSA_Certification_Authority.pem 2208s Adding debian:Certainly_Root_E1.pem 2208s Adding debian:Certainly_Root_R1.pem 2208s Adding debian:Certigna.pem 2208s Adding debian:Certigna_Root_CA.pem 2208s Adding debian:Certum_EC-384_CA.pem 2208s Adding debian:Certum_Trusted_Network_CA.pem 2208s Adding debian:Certum_Trusted_Network_CA_2.pem 2208s Adding debian:Certum_Trusted_Root_CA.pem 2208s Adding debian:CommScope_Public_Trust_ECC_Root-01.pem 2208s Adding debian:CommScope_Public_Trust_ECC_Root-02.pem 2208s Adding debian:CommScope_Public_Trust_RSA_Root-01.pem 2208s Adding debian:CommScope_Public_Trust_RSA_Root-02.pem 2208s Adding debian:Comodo_AAA_Services_root.pem 2208s Adding debian:D-TRUST_BR_Root_CA_1_2020.pem 2208s Adding debian:D-TRUST_EV_Root_CA_1_2020.pem 2208s Adding debian:D-TRUST_Root_Class_3_CA_2_2009.pem 2208s Adding debian:D-TRUST_Root_Class_3_CA_2_EV_2009.pem 2208s Adding debian:DigiCert_Assured_ID_Root_CA.pem 2208s Adding debian:DigiCert_Assured_ID_Root_G2.pem 2208s Adding debian:DigiCert_Assured_ID_Root_G3.pem 2208s Adding debian:DigiCert_Global_Root_CA.pem 2208s Adding debian:DigiCert_Global_Root_G2.pem 2208s Adding debian:DigiCert_Global_Root_G3.pem 2208s Adding debian:DigiCert_High_Assurance_EV_Root_CA.pem 2208s Adding debian:DigiCert_TLS_ECC_P384_Root_G5.pem 2208s Adding debian:DigiCert_TLS_RSA4096_Root_G5.pem 2208s Adding debian:DigiCert_Trusted_Root_G4.pem 2208s Adding debian:Entrust.net_Premium_2048_Secure_Server_CA.pem 2208s Adding debian:Entrust_Root_Certification_Authority.pem 2208s Adding debian:Entrust_Root_Certification_Authority_-_EC1.pem 2208s Adding debian:Entrust_Root_Certification_Authority_-_G2.pem 2208s Adding debian:Entrust_Root_Certification_Authority_-_G4.pem 2208s Adding debian:GDCA_TrustAUTH_R5_ROOT.pem 2208s Adding debian:GLOBALTRUST_2020.pem 2208s Adding debian:GTS_Root_R1.pem 2208s Adding debian:GTS_Root_R2.pem 2208s Adding debian:GTS_Root_R3.pem 2208s Adding debian:GTS_Root_R4.pem 2208s Adding debian:GlobalSign_ECC_Root_CA_-_R4.pem 2208s Adding debian:GlobalSign_ECC_Root_CA_-_R5.pem 2208s Adding debian:GlobalSign_Root_CA.pem 2208s Adding debian:GlobalSign_Root_CA_-_R3.pem 2208s Adding debian:GlobalSign_Root_CA_-_R6.pem 2208s Adding debian:GlobalSign_Root_E46.pem 2208s Adding debian:GlobalSign_Root_R46.pem 2208s Adding debian:Go_Daddy_Class_2_CA.pem 2208s Adding debian:Go_Daddy_Root_Certificate_Authority_-_G2.pem 2208s Adding debian:HARICA_TLS_ECC_Root_CA_2021.pem 2208s Adding debian:HARICA_TLS_RSA_Root_CA_2021.pem 2208s Adding debian:Hellenic_Academic_and_Research_Institutions_ECC_RootCA_2015.pem 2208s Adding debian:Hellenic_Academic_and_Research_Institutions_RootCA_2015.pem 2208s Adding debian:HiPKI_Root_CA_-_G1.pem 2208s Adding debian:Hongkong_Post_Root_CA_3.pem 2208s Adding debian:ISRG_Root_X1.pem 2208s Adding debian:ISRG_Root_X2.pem 2208s Adding debian:IdenTrust_Commercial_Root_CA_1.pem 2208s Adding debian:IdenTrust_Public_Sector_Root_CA_1.pem 2208s Adding debian:Izenpe.com.pem 2208s Adding debian:Microsec_e-Szigno_Root_CA_2009.pem 2208s Adding debian:Microsoft_ECC_Root_Certificate_Authority_2017.pem 2208s Adding debian:Microsoft_RSA_Root_Certificate_Authority_2017.pem 2208s Adding debian:NAVER_Global_Root_Certification_Authority.pem 2208s Adding debian:NetLock_Arany_=Class_Gold=_Főtanúsítvány.pem 2208s Adding debian:OISTE_WISeKey_Global_Root_GB_CA.pem 2208s Adding debian:OISTE_WISeKey_Global_Root_GC_CA.pem 2208s Adding debian:QuoVadis_Root_CA_1_G3.pem 2208s Adding debian:QuoVadis_Root_CA_2.pem 2208s Adding debian:QuoVadis_Root_CA_2_G3.pem 2208s Adding debian:QuoVadis_Root_CA_3.pem 2208s Adding debian:QuoVadis_Root_CA_3_G3.pem 2208s Adding debian:SSL.com_EV_Root_Certification_Authority_ECC.pem 2208s Adding debian:SSL.com_EV_Root_Certification_Authority_RSA_R2.pem 2208s Adding debian:SSL.com_Root_Certification_Authority_ECC.pem 2208s Adding debian:SSL.com_Root_Certification_Authority_RSA.pem 2208s Adding debian:SSL.com_TLS_ECC_Root_CA_2022.pem 2208s Adding debian:SSL.com_TLS_RSA_Root_CA_2022.pem 2208s Adding debian:SZAFIR_ROOT_CA2.pem 2208s Adding debian:Sectigo_Public_Server_Authentication_Root_E46.pem 2208s Adding debian:Sectigo_Public_Server_Authentication_Root_R46.pem 2208s Adding debian:SecureSign_RootCA11.pem 2208s Adding debian:SecureTrust_CA.pem 2208s Adding debian:Secure_Global_CA.pem 2208s Adding debian:Security_Communication_ECC_RootCA1.pem 2208s Adding debian:Security_Communication_RootCA2.pem 2208s Adding debian:Security_Communication_RootCA3.pem 2208s Adding debian:Security_Communication_Root_CA.pem 2208s Adding debian:Starfield_Class_2_CA.pem 2208s Adding debian:Starfield_Root_Certificate_Authority_-_G2.pem 2208s Adding debian:Starfield_Services_Root_Certificate_Authority_-_G2.pem 2208s Adding debian:SwissSign_Gold_CA_-_G2.pem 2208s Adding debian:SwissSign_Silver_CA_-_G2.pem 2208s Adding debian:T-TeleSec_GlobalRoot_Class_2.pem 2208s Adding debian:T-TeleSec_GlobalRoot_Class_3.pem 2208s Adding debian:TUBITAK_Kamu_SM_SSL_Kok_Sertifikasi_-_Surum_1.pem 2208s Adding debian:TWCA_Global_Root_CA.pem 2208s Adding debian:TWCA_Root_Certification_Authority.pem 2208s Adding debian:TeliaSonera_Root_CA_v1.pem 2208s Adding debian:Telia_Root_CA_v2.pem 2208s Adding debian:TrustAsia_Global_Root_CA_G3.pem 2208s Adding debian:TrustAsia_Global_Root_CA_G4.pem 2208s Adding debian:Trustwave_Global_Certification_Authority.pem 2208s Adding debian:Trustwave_Global_ECC_P256_Certification_Authority.pem 2208s Adding debian:Trustwave_Global_ECC_P384_Certification_Authority.pem 2208s Adding debian:TunTrust_Root_CA.pem 2208s Adding debian:UCA_Extended_Validation_Root.pem 2208s Adding debian:UCA_Global_G2_Root.pem 2208s Adding debian:USERTrust_ECC_Certification_Authority.pem 2208s Adding debian:USERTrust_RSA_Certification_Authority.pem 2208s Adding debian:XRamp_Global_CA_Root.pem 2208s Adding debian:certSIGN_ROOT_CA.pem 2208s Adding debian:certSIGN_Root_CA_G2.pem 2208s Adding debian:e-Szigno_Root_CA_2017.pem 2208s Adding debian:ePKI_Root_Certification_Authority.pem 2208s Adding debian:emSign_ECC_Root_CA_-_C3.pem 2208s Adding debian:emSign_ECC_Root_CA_-_G3.pem 2208s Adding debian:emSign_Root_CA_-_C1.pem 2208s Adding debian:emSign_Root_CA_-_G1.pem 2208s Adding debian:vTrus_ECC_Root_CA.pem 2208s Adding debian:vTrus_Root_CA.pem 2208s done. 2208s Setting up default-jre-headless (2:1.21-75+exp1) ... 2208s Setting up jruby (9.4.6.0+ds-1ubuntu3) ... 2208s Setting up autopkgtest-satdep (0) ... 2210s (Reading database ... 80048 files and directories currently installed.) 2210s Removing autopkgtest-satdep (0) ... 2211s autopkgtest [03:10:47]: test jruby: [----------------------- 2211s installing concurrent-ruby-1.2.3 gem into temporary GEM_HOME for jruby ... 2211s installing concurrent-ruby-edge-0.7.0 gem into temporary GEM_HOME for jruby ... 2211s installing diff-lcs-1.5.1 gem into temporary GEM_HOME for jruby ... 2211s installing rspec-core-3.13.0 gem into temporary GEM_HOME for jruby ... 2211s installing rspec-expectations-3.13.0 gem into temporary GEM_HOME for jruby ... 2211s installing rspec-mocks-3.13.0 gem into temporary GEM_HOME for jruby ... 2211s installing rspec-support-3.13.1 gem into temporary GEM_HOME for jruby ... 2211s installing timecop-0.9.8 gem into temporary GEM_HOME for jruby ... 2215s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.2.3/lib/concurrent-ruby/concurrent/executor/java_thread_pool_executor.rb:13: warning: method redefined; discarding old to_int 2215s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.2.3/lib/concurrent-ruby/concurrent/executor/java_thread_pool_executor.rb:13: warning: method redefined; discarding old to_f 2215s /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85: warning: loading in progress, circular require considered harmful - /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.2.3/lib/concurrent-ruby/concurrent/options.rb require at org/jruby/RubyKernel.java:1175 2215s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 2215s at /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.2.3/lib/concurrent-ruby/concurrent/options.rb:6 2215s
at /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.2.3/lib/concurrent-ruby/concurrent/options.rb:3 2215s require at org/jruby/RubyKernel.java:1175 2215s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 2215s
at /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.2.3/lib/concurrent-ruby/concurrent/scheduled_task.rb:8 2215s require at org/jruby/RubyKernel.java:1175 2215s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 2215s
at /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.2.3/lib/concurrent-ruby/concurrent/executor/timer_set.rb:1 2215s require at org/jruby/RubyKernel.java:1175 2215s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 2215s
at /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.2.3/lib/concurrent-ruby/concurrent/executors.rb:20 2215s require at org/jruby/RubyKernel.java:1175 2215s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 2215s
at /usr/share/rubygems-integration/all/gems/concurrent-ruby-edge-0.7.0/lib/concurrent-ruby-edge/concurrent/actor/core.rb:4 2215s require at org/jruby/RubyKernel.java:1175 2215s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 2215s at /usr/share/rubygems-integration/all/gems/concurrent-ruby-edge-0.7.0/lib/concurrent-ruby-edge/concurrent/actor.rb:25 2215s at /usr/share/rubygems-integration/all/gems/concurrent-ruby-edge-0.7.0/lib/concurrent-ruby-edge/concurrent/actor.rb:17 2215s
at /usr/share/rubygems-integration/all/gems/concurrent-ruby-edge-0.7.0/lib/concurrent-ruby-edge/concurrent/actor.rb:7 2215s require at org/jruby/RubyKernel.java:1175 2215s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:160 2215s
at /tmp/autopkgtest.EPK8tO/build.yMJ/src/spec/concurrent/actor_spec.rb:1 2215s load at org/jruby/RubyKernel.java:1211 2215s load_file_handling_errors at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:2138 2215s load_spec_files at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:1638 2215s each at org/jruby/RubyArray.java:1983 2215s load_spec_files at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:1636 2215s setup at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:102 2215s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:86 2215s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:71 2215s invoke at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:45 2215s
at /usr/bin/rspec:4 2215s 2215s /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85: warning: loading in progress, circular require considered harmful - /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.2.3/lib/concurrent-ruby/concurrent/executor/timer_set.rb require at org/jruby/RubyKernel.java:1175 2215s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 2215s at /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.2.3/lib/concurrent-ruby/concurrent/executor/timer_set.rb:19 2215s
at /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.2.3/lib/concurrent-ruby/concurrent/executor/timer_set.rb:9 2215s require at org/jruby/RubyKernel.java:1175 2215s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 2215s
at /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.2.3/lib/concurrent-ruby/concurrent/executors.rb:20 2215s require at org/jruby/RubyKernel.java:1175 2215s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 2215s
at /usr/share/rubygems-integration/all/gems/concurrent-ruby-edge-0.7.0/lib/concurrent-ruby-edge/concurrent/actor/core.rb:4 2215s require at org/jruby/RubyKernel.java:1175 2215s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 2215s at /usr/share/rubygems-integration/all/gems/concurrent-ruby-edge-0.7.0/lib/concurrent-ruby-edge/concurrent/actor.rb:25 2215s at /usr/share/rubygems-integration/all/gems/concurrent-ruby-edge-0.7.0/lib/concurrent-ruby-edge/concurrent/actor.rb:17 2215s
at /usr/share/rubygems-integration/all/gems/concurrent-ruby-edge-0.7.0/lib/concurrent-ruby-edge/concurrent/actor.rb:7 2215s require at org/jruby/RubyKernel.java:1175 2215s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:160 2215s
at /tmp/autopkgtest.EPK8tO/build.yMJ/src/spec/concurrent/actor_spec.rb:1 2215s load at org/jruby/RubyKernel.java:1211 2215s load_file_handling_errors at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:2138 2215s load_spec_files at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:1638 2215s each at org/jruby/RubyArray.java:1983 2215s load_spec_files at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:1636 2215s setup at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:102 2215s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:86 2215s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:71 2215s invoke at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:45 2215s
at /usr/bin/rspec:4 2215s 2218s /usr/share/jruby/lib/ruby/stdlib/date.rb:471: warning: previous definition of strptime was here 2218s /usr/share/jruby/lib/ruby/stdlib/date.rb:490: warning: previous definition of parse was here 2218s /usr/share/jruby/lib/ruby/stdlib/date.rb:737: warning: previous definition of parse was here 2218s Run options: exclude {:stress=>true} 2219s 2219s Concurrent::Actor 2219s /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85: warning: loading in progress, circular require considered harmful - /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb require at org/jruby/RubyKernel.java:1175 2219s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 2219s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:30 2219s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:3 2219s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:2 2219s
at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:1 2219s require at org/jruby/RubyKernel.java:1175 2219s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 2219s be_truthy at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers.rb:311 2219s
at /tmp/autopkgtest.EPK8tO/build.yMJ/src/spec/spec_helper.rb:50 2219s instance_exec at org/jruby/RubyBasicObject.java:2620 2219s instance_exec at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:457 2219s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:365 2219s run_owned_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:529 2219s each at org/jruby/RubyArray.java:1983 2219s run_owned_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:528 2219s run_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:615 2219s reverse_each at org/jruby/RubyArray.java:2065 2219s run_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:614 2219s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:484 2219s run_before_example at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:505 2219s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:261 2219s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 2219s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 2219s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 2219s run_around_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:624 2219s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 2219s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 2219s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 2219s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:259 2219s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:646 2219s map at org/jruby/RubyArray.java:2805 2219s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:651 2219s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:607 2219s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121 2219s map at org/jruby/RubyArray.java:2805 2219s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121 2219s with_suite_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:2091 2219s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:116 2219s report at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/reporter.rb:74 2219s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:115 2219s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:89 2219s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:71 2219s invoke at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:45 2219s
at /usr/bin/rspec:4 2219s 2219s /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85: warning: loading in progress, circular require considered harmful - /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb require at org/jruby/RubyKernel.java:1175 2219s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 2219s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:53 2219s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:3 2219s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:2 2219s
at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:1 2219s require at org/jruby/RubyKernel.java:1175 2219s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 2219s be_truthy at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers.rb:311 2219s
at /tmp/autopkgtest.EPK8tO/build.yMJ/src/spec/spec_helper.rb:50 2219s instance_exec at org/jruby/RubyBasicObject.java:2620 2219s instance_exec at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:457 2219s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:365 2219s run_owned_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:529 2219s each at org/jruby/RubyArray.java:1983 2219s run_owned_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:528 2219s run_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:615 2219s reverse_each at org/jruby/RubyArray.java:2065 2219s run_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:614 2219s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:484 2219s run_before_example at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:505 2219s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:261 2219s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 2219s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 2219s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 2219s run_around_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:624 2219s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 2219s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 2219s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 2219s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:259 2219s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:646 2219s map at org/jruby/RubyArray.java:2805 2219s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:651 2219s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:607 2219s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121 2219s map at org/jruby/RubyArray.java:2805 2219s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121 2219s with_suite_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:2091 2219s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:116 2219s report at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/reporter.rb:74 2219s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:115 2219s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:89 2219s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:71 2219s invoke at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:45 2219s
at /usr/bin/rspec:4 2219s 2219s /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85: warning: loading in progress, circular require considered harmful - /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb require at org/jruby/RubyKernel.java:1175 2219s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 2219s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:74 2219s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:3 2219s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:2 2219s
at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:1 2219s require at org/jruby/RubyKernel.java:1175 2219s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 2219s be_truthy at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers.rb:311 2219s
at /tmp/autopkgtest.EPK8tO/build.yMJ/src/spec/spec_helper.rb:50 2219s instance_exec at org/jruby/RubyBasicObject.java:2620 2219s instance_exec at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:457 2219s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:365 2219s run_owned_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:529 2219s each at org/jruby/RubyArray.java:1983 2219s run_owned_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:528 2219s run_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:615 2219s reverse_each at org/jruby/RubyArray.java:2065 2219s run_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:614 2219s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:484 2219s run_before_example at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:505 2219s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:261 2219s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 2219s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 2219s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 2219s run_around_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:624 2219s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 2219s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 2219s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 2219s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:259 2219s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:646 2219s map at org/jruby/RubyArray.java:2805 2219s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:651 2219s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:607 2219s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121 2219s map at org/jruby/RubyArray.java:2805 2219s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121 2219s with_suite_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:2091 2219s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:116 2219s report at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/reporter.rb:74 2219s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:115 2219s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:89 2219s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:71 2219s invoke at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:45 2219s
at /usr/bin/rspec:4 2219s 2219s /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85: warning: loading in progress, circular require considered harmful - /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb require at org/jruby/RubyKernel.java:1175 2219s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 2219s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:101 2219s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:3 2219s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:2 2219s
at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:1 2219s require at org/jruby/RubyKernel.java:1175 2219s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 2219s be_truthy at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers.rb:311 2219s
at /tmp/autopkgtest.EPK8tO/build.yMJ/src/spec/spec_helper.rb:50 2219s instance_exec at org/jruby/RubyBasicObject.java:2620 2219s instance_exec at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:457 2219s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:365 2219s run_owned_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:529 2219s each at org/jruby/RubyArray.java:1983 2219s run_owned_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:528 2219s run_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:615 2219s reverse_each at org/jruby/RubyArray.java:2065 2219s run_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:614 2219s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:484 2219s run_before_example at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:505 2219s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:261 2219s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 2219s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 2219s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 2219s run_around_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:624 2219s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 2219s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 2219s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 2219s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:259 2219s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:646 2219s map at org/jruby/RubyArray.java:2805 2219s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:651 2219s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:607 2219s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121 2219s map at org/jruby/RubyArray.java:2805 2219s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121 2219s with_suite_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:2091 2219s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:116 2219s report at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/reporter.rb:74 2219s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:115 2219s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:89 2219s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:71 2219s invoke at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:45 2219s
at /usr/bin/rspec:4 2219s 2219s /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85: warning: loading in progress, circular require considered harmful - /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb require at org/jruby/RubyKernel.java:1175 2219s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 2219s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:136 2219s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:3 2219s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:2 2219s
at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:1 2219s require at org/jruby/RubyKernel.java:1175 2219s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 2219s be_truthy at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers.rb:311 2219s
at /tmp/autopkgtest.EPK8tO/build.yMJ/src/spec/spec_helper.rb:50 2219s instance_exec at org/jruby/RubyBasicObject.java:2620 2219s instance_exec at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:457 2219s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:365 2219s run_owned_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:529 2219s each at org/jruby/RubyArray.java:1983 2219s run_owned_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:528 2219s run_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:615 2219s reverse_each at org/jruby/RubyArray.java:2065 2219s run_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:614 2219s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:484 2219s run_before_example at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:505 2219s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:261 2219s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 2219s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 2219s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 2219s run_around_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:624 2219s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 2219s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 2219s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 2219s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:259 2219s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:646 2219s map at org/jruby/RubyArray.java:2805 2219s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:651 2219s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:607 2219s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121 2219s map at org/jruby/RubyArray.java:2805 2219s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121 2219s with_suite_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:2091 2219s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:116 2219s report at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/reporter.rb:74 2219s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:115 2219s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:89 2219s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:71 2219s invoke at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:45 2219s
at /usr/bin/rspec:4 2219s 2219s forbids Immediate executor 2219s links 2219s links atomically 2219s spawning 2219s terminates on failed initialization 2219s terminates on failed initialization and raises with spawn! 2219s terminates on failed message processing 2219s Actor#spawn! 2219s spawn 2219s executor should be global 2219s returns arg 2219s #path 2219s is expected to eq "/ping" 2219s #parent 2219s is expected to eq # 2219s #name 2219s is expected to eq "ping" 2219s #reference 2219s is expected to eq # 2219s context_spawn 2219s executor should be global 2219s returns arg 2219s #path 2219s is expected to eq "/ping" 2219s #parent 2219s is expected to eq # 2219s #name 2219s is expected to eq "ping" 2219s #reference 2219s is expected to eq # 2219s spawn_by_hash 2219s executor should be global 2219s returns arg 2219s #path 2219s is expected to eq "/ping" 2219s #parent 2219s is expected to eq # 2219s #name 2219s is expected to eq "ping" 2219s #reference 2219s is expected to eq # 2219s context_spawn_by_hash 2219s executor should be global 2219s returns arg 2219s #path 2219s is expected to eq "/ping" 2219s #parent 2219s is expected to eq # 2219s #name 2219s is expected to eq "ping" 2219s #reference 2219s is expected to eq # 2219s messaging 2219s is expected to eq 4 2219s children 2219s has children set after a child is created 2219s envelope 2219s /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85: warning: loading in progress, circular require considered harmful - /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/has.rb require at org/jruby/RubyKernel.java:1175 2219s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 2219s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/has.rb:125 2219s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/has.rb:3 2219s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/has.rb:2 2219s
at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/has.rb:1 2219s require at org/jruby/RubyKernel.java:1175 2219s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 2219s method_missing at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers.rb:964 2219s method_missing at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:767 2219s Actor at /tmp/autopkgtest.EPK8tO/build.yMJ/src/spec/concurrent/actor_spec.rb:136 2219s instance_exec at org/jruby/RubyBasicObject.java:2620 2219s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:263 2219s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 2219s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 2219s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 2219s run_around_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:624 2219s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 2219s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 2219s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 2219s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:259 2219s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:646 2219s map at org/jruby/RubyArray.java:2805 2219s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:651 2219s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:607 2219s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:608 2219s map at org/jruby/RubyArray.java:2805 2219s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:608 2219s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121 2219s map at org/jruby/RubyArray.java:2805 2219s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121 2219s with_suite_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:2091 2219s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:116 2219s report at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/reporter.rb:74 2219s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:115 2219s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:89 2219s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:71 2219s invoke at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:45 2219s
at /usr/bin/rspec:4 2219s 2219s is expected to eq # 2219s termination 2219s terminates with all its children 2219s dead letter routing 2220s logs by deafault 2220s message redirecting 2220s is evaluated by child 2220s pausing 2220s pauses on error and resumes 2220s pauses on error and resets 2220s pauses on error and restarts 2220s pool 2220s supports asks 2220s 2220s Concurrent::Agent 2220s initialization 2220s sets the initial value 2220s sets the initial error to nil 2220s sets the error mode when given a valid value 2220s defaults the error mode to :continue when an error handler is given 2220s defaults the error mode to :fail when no error handler is given 2220s raises an error when given an invalid error mode 2220s sets #failed? to false 2220s action processing 2220s the given block will be passed the current value 2220s the given block will be passed any provided arguments 2220s the return value will be passed to the validator function 2220s upon validation the new value will be set to the block return value 2220s on success all observers will be notified 2220s any recursive action dispatches will run after the value has been updated 2220s when the action raises an error the value will not change 2220s when the action raises an error the validator will not be called 2220s when validation returns false the value will not change 2220s when validation raises an error the value will not change 2220s when the action raises an error the handler will be called 2220s when validation fails the handler will be called 2220s when validation raises an error the handler will be called 2220s validation 2220s sets the new value when the validator returns true 2220s rejects the new value when the validator returns false 2220s rejects the new value when the validator raises an error 2220s sets the error when the error mode is :fail and the validator returns false 2220s sets the error when the error mode is :fail and the validator raises an error 2220s does not set an error when the error mode is :continue and the validator returns false 2220s does not set an error when the error mode is :continue and the validator raises an error 2220s does not trigger observation when validation fails 2220s error handling 2220s the agent will be passed to the handler 2220s the exception will be passed to the handler 2220s does not trigger observation 2220s error mode 2220s :continue 2220s does not set an error when the validator returns false 2220s does not set an error when the validator raises an error 2220s does not set an error when the action raises an error 2220s does not block further action processing 2220s sets #failed? to false 2220s :fail 2220s sets the error when the validator returns false 2220s sets the error when the validator raises an error 2220s sets the error when the action raises an error 2220s blocks all further action processing until a restart 2220s sets #failed? to true 2220s nested actions 2220s occur in the order they ar post 2220s work with immediate execution 2220s posting 2220s with #send 2220s returns true when the job is post 2220s returns false when #failed? 2220s posts to the global fast executor 2220s does not wait for the action to process 2220s with #send! 2220s returns true when the job is post 2220s raises an error when #failed? 2220s posts to the global fast executor 2220s does not wait for the action to process 2220s with #send_off 2220s returns true when the job is post 2220s returns false when #failed? 2220s posts to the global io executor 2220s does not wait for the action to process 2220s with #send_off! 2220s returns true when the job is post 2220s raises an error when #failed? 2220s posts to the global io executor 2220s does not wait for the action to process 2220s with #send_via 2220s returns true when the job is post 2220s returns false when #failed? 2220s posts to the given executor 2220s with #send_via! 2220s returns true when the job is post 2220s raises an error when #failed? 2220s posts to the given executor 2221s with #post 2221s returns true when the job is post 2221s returns false when #failed? 2221s posts to the global io executor 2221s does not wait for the action to process 2221s with #<< 2221s returns self when the job is post 2221s returns self when #failed? 2221s posts to the global io executor 2221s does not wait for the action to process 2221s #restart 2221s when #failed? 2221s raises an error if the new value is not valid 2221s sets the new value 2221s clears the error 2221s sets #failed? to true 2221s removes all actions from the queue when :clear_actions is true 2221s does not clear the action queue when :clear_actions is false 2221s does not clear the action queue when :clear_actions is not given 2221s resumes action processing if actions are enqueued 2221s does not trigger observation 2221s when not #failed? 2221s raises an error 2221s waiting 2221s the await job 2221s does not change the value 2221s does not trigger the error mode 2221s does not trigger observers 2222s waits for nested actions 2222s with #await 2222s returns self when there are no pending actions 2222s does not block on actions from other threads 2223s blocks indefinitely 2224s returns true when all prior actions have processed 2224s blocks forever if restarted with :clear_actions true (PENDING: the timing is nearly impossible) 2224s with #await_for 2224s returns true when there are no pending actions 2224s does not block on actions from other threads 2225s returns true when all prior actions have processed 2226s returns false on timeout 2226s returns false if restarted with :clear_actions true (PENDING: the timing is nearly impossible) 2226s with #await_for! 2226s returns true when there are no pending actions 2226s does not block on actions from other threads 2227s returns true when all prior actions have processed 2228s raises an error on timeout 2228s raises an error if restarted with :clear_actions true (PENDING: the timing is nearly impossible) 2228s with #wait 2228s returns true when there are no pending actions and timeout is nil 2228s returns true when there are no pending actions and a timeout is given 2228s does not block on actions from other threads 2229s blocks indefinitely when timeout is nil 2229s blocks forever when timeout is nil and restarted with :clear_actions true (PENDING: the timing is nearly impossible) 2230s returns true when all prior actions have processed 2231s returns false on timeout 2231s returns false when timeout is given and restarted with :clear_actions true (PENDING: the timing is nearly impossible) 2231s with .await 2231s returns true when all prior actions on all agents have processed 2231s with .await_for 2231s returns true when there are no pending actions 2231s returns true when all prior actions for all agents have processed 2232s returns false on timeout 2232s with await_for! 2232s returns true when there are no pending actions 2232s returns true when all prior actions for all agents have processed 2233s raises an exception on timeout 2233s observable 2233s behaves like observable 2233s #add_observer 2233s adds an observer if called before first notification 2233s adds an observer with :func if called before first notification 2233s creates an observer from a block if called before first notification 2233s raises an exception if not given an observer or a block 2233s raises an exception when given both an observer and a block 2233s #delete_observer 2233s deletes the given observer if called before first notification 2233s returns the removed observer if found in the observer set 2233s returns the given observer even when not found in the observer set 2233s #delete_observers 2233s deletes all observers when called before first notification 2233s returns self 2233s #count_observers 2233s returns zero for a new observable object 2233s returns a count of registered observers if called before first notification 2233s returns zero after #delete_observers has been called 2233s first notification 2233s calls the #update method on all observers without a specified :func 2233s calls the appropriate function on all observers which specified a :func 2233s calls the proc for all observers added as a block 2234s does not notify any observers removed with #delete_observer 2235s does not notify any observers after #delete_observers called 2235s 2235s Concurrent::Array 2235s .[] 2235s when initializing with no arguments 2235s is expected to be empty 2235s when initializing with arguments 2235s creates an array with the given objects 2235s .new 2235s when initializing with no arguments 2235s is expected to be empty 2235s when initializing with a size argument 2235s creates an array with size elements set to nil 2235s when initializing with a default value argument 2235s creates an array with size elements set to the default value 2235s when initializing with a block argument 2235s creates an array with size elements set to the default value 2235s when initializing with another array as an argument 2235s creates a new array 2235s creates an array with the same contents as the other array 2235s creates an array with the results of calling #to_ary on the other array 2235s concurrency 2235s is expected to be empty 2235s #slice 2235s correctly initializes the monitor 2235s 2235s Concurrent::Async 2235s object creation 2235s delegates to the original constructor 2235s passes all args to the original constructor 2235s passes a given block to the original constructor 2235s initializes synchronization 2235s #validate_argc 2235s raises an exception when the method is not defined 2235s raises an exception for too many args on a zero arity method 2235s does not raise an exception for correct zero arity 2235s raises an exception for too many args on a method with positive arity 2235s raises an exception for too few args on a method with positive arity 2235s does not raise an exception for correct positive arity 2235s raises an exception for too few args on a method with negative arity 2235s does not raise an exception for correct negative arity 2235s #async 2235s raises an error when calling a method that does not exist 2235s raises an error when passing too few arguments 2235s raises an error when pasing too many arguments (arity >= 0) 2235s returns the existence of the method 2235s returns a :pending IVar 2235s runs the future on the global executor 2235s sets the value on success 2235s sets the reason on failure 2235s sets the reason when giving too many optional arguments 2235s supports attribute accessors 2235s supports methods with blocks 2235s #await 2235s raises an error when calling a method that does not exist 2235s raises an error when passing too few arguments 2235s raises an error when pasing too many arguments (arity >= 0) 2235s returns the existence of the method 2235s returns a :fulfilled IVar 2235s runs the future on the global executor 2235s sets the value on success 2235s sets the reason on failure 2235s sets the reason when giving too many optional arguments 2235s supports attribute accessors 2235s supports methods with blocks 2235s locking 2235s uses the same lock for both #async and #await 2235s fork safety 2235s does not hang when forked (PENDING: Platform does not support fork) 2235s 2235s Concurrent::Atom 2235s construction 2235s sets the initial value to the given value 2235s #compare_and_set 2235s sets the new value if the current value matches 2235s returns true if the current value matches 2235s rejects the new value if the current value does not match 2235s returns false if the current value does not match 2235s rejects the new value if the validator returns false 2235s rejects the new value if the validator raises an exception 2235s returns false if the validator returns false 2235s returns false if the validator raises an exception 2235s #swap 2235s raises an exception when no block is given 2235s passes the current value to the block 2235s passes all arguments to the block 2235s sets the new value to the result of the block 2235s rejects the new value if the validator returns false 2235s rejects the new value if the validator raises an exception 2235s returns the new value on success 2235s returns the old value if the validator returns false 2235s returns the old value if the validator raises an exception 2235s calls the block more than once if the value changes underneath 2235s reraises the exception from block 2235s #reset 2235s sets the new value 2235s returns the new value on success 2235s returns the new value on success 2235s returns the old value if the validator returns false 2235s returns the old value if the validator raises an exception 2235s observable 2235s behaves like observable 2235s #add_observer 2235s adds an observer if called before first notification 2235s adds an observer with :func if called before first notification 2235s creates an observer from a block if called before first notification 2235s raises an exception if not given an observer or a block 2235s raises an exception when given both an observer and a block 2235s #delete_observer 2235s deletes the given observer if called before first notification 2235s returns the removed observer if found in the observer set 2235s returns the given observer even when not found in the observer set 2235s #delete_observers 2235s deletes all observers when called before first notification 2235s returns self 2235s #count_observers 2235s returns zero for a new observable object 2235s returns a count of registered observers if called before first notification 2235s returns zero after #delete_observers has been called 2235s first notification 2235s calls the #update method on all observers without a specified :func 2235s calls the appropriate function on all observers which specified a :func 2235s calls the proc for all observers added as a block 2236s does not notify any observers removed with #delete_observer 2237s does not notify any observers after #delete_observers called 2237s 2237s Concurrent::MutexAtomicBoolean 2237s it should behave like atomic_boolean 2237s construction 2237s sets the initial value 2237s defaults the initial value to false 2237s evaluates the truthiness of a true value 2237s evaluates the truthiness of a false value 2237s #value 2238s returns the current value 2238s #value= 2238s sets the #value to the given `Boolean` 2238s returns the new value 2238s evaluates the truthiness of a true value 2238s evaluates the truthiness of a false value 2238s #true? 2238s is expected to equal true 2238s is expected to equal false 2238s #false? 2238s is expected to equal false 2238s is expected to equal true 2238s #make_true 2238s makes a false value true and returns true 2238s keeps a true value true and returns false 2238s #make_false 2238s makes a true value false and returns true 2238s keeps a false value false and returns false 2238s instance methods 2238s value is synchronized 2238s value= is synchronized 2238s true? is synchronized 2238s false? is synchronized 2238s make_true is synchronized 2238s make_false is synchronized 2238s 2238s Concurrent::JavaAtomicBoolean 2238s it should behave like atomic_boolean 2238s construction 2238s sets the initial value 2238s defaults the initial value to false 2238s evaluates the truthiness of a true value 2238s evaluates the truthiness of a false value 2238s #value 2238s returns the current value 2238s #value= 2238s sets the #value to the given `Boolean` 2238s returns the new value 2238s evaluates the truthiness of a true value 2238s evaluates the truthiness of a false value 2238s #true? 2238s is expected to equal true 2238s is expected to equal false 2238s #false? 2238s is expected to equal false 2238s is expected to equal true 2238s #make_true 2238s makes a false value true and returns true 2238s keeps a true value true and returns false 2238s #make_false 2238s makes a true value false and returns true 2238s keeps a false value false and returns false 2238s 2238s Concurrent::AtomicBoolean 2238s does not load the C extension 2238s inherits from JavaAtomicBoolean 2238s #to_s and #inspect 2238s includes the value 2238s 2238s Concurrent::MutexAtomicFixnum 2238s it should behave like atomic_fixnum 2238s construction 2238s sets the initial value 2238s defaults the initial value to zero 2238s raises an exception if the initial value is not a Fixnum 2238s #value 2238s returns the current value 2238s #value= 2238s sets the #value to the given `Fixnum` 2238s returns the new value 2238s raises and exception if the value is not a `Fixnum` 2238s #increment 2238s increases the value by one when no argument is given 2238s returns the new value when no argument is given 2238s increases the value by the given argument 2238s returns the new value the given argument 2238s is aliased as #up 2238s #decrement 2238s decreases the value by one when no argument is given 2238s returns the new value when no argument is given 2238s decreases the value by the given argument 2238s returns the new value the given argument 2238s is aliased as #down 2238s #compare_and_set 2238s returns false if the value is not found 2238s returns true if the value is found 2238s sets if the value is found 2238s does not set if the value is not found 2238s #update 2238s passes the current value to the block 2238s atomically sets the value to the return value from the block 2238s returns the new value 2238s construction 2238s raises an exception if the initial value is too big 2238s raises an exception if the initial value is too small 2238s instance methods 2238s value is synchronized 2238s value= is synchronized 2238s increment is synchronized 2238s decrement is synchronized 2238s compare_and_set is synchronized 2238s 2238s Concurrent::JavaAtomicFixnum 2238s it should behave like atomic_fixnum 2238s construction 2238s sets the initial value 2238s defaults the initial value to zero 2238s raises an exception if the initial value is not a Fixnum 2238s #value 2238s returns the current value 2238s #value= 2238s sets the #value to the given `Fixnum` 2238s returns the new value 2238s raises and exception if the value is not a `Fixnum` 2238s #increment 2238s increases the value by one when no argument is given 2238s returns the new value when no argument is given 2238s increases the value by the given argument 2238s returns the new value the given argument 2238s is aliased as #up 2238s #decrement 2238s decreases the value by one when no argument is given 2238s returns the new value when no argument is given 2238s decreases the value by the given argument 2238s returns the new value the given argument 2238s is aliased as #down 2238s #compare_and_set 2238s returns false if the value is not found 2238s returns true if the value is found 2238s sets if the value is found 2238s does not set if the value is not found 2238s #update 2238s passes the current value to the block 2238s atomically sets the value to the return value from the block 2238s returns the new value 2238s 2238s Concurrent::AtomicFixnum 2238s does not load the C extension 2238s inherits from JavaAtomicFixnum 2238s #to_s and #inspect 2238s includes the value 2238s 2238s Concurrent::AtomicMarkableReference 2238s .initialize 2238s constructs the object 2238s has sane defaults 2238s #set 2238s sets the value and mark 2238s #try_update! 2238s updates the value and mark 2238s raises ConcurrentUpdateError when attempting to set inside of block 2238s #try_update 2238s updates the value and mark 2238s returns nil when attempting to set inside of block 2238s #update 2238s updates the value and mark 2238s retries until update succeeds 2238s #compare_and_set 2238s when objects have the same identity 2238s sets the value and mark 2238s when objects have the different identity 2238s it does not set the value or mark 2238s when comparing Numeric objects 2238s Non-idepotent Float 2238s sets the value and mark 2238s BigNum 2238s sets the value and mark 2238s Rational 2238s sets the value and mark 2238s Rational 2238s is successful 2238s 2238s Concurrent::AtomicReference 2238s it should behave like atomic_reference 2238s test_construct 2238s test_value 2238s test_update 2238s test_try_update 2238s test_try_update_bang 2238s test_swap 2238s test_try_update_fails 2238s test_try_update_bang_fails 2238s test_update_retries 2238s test_numeric_cas 2238s #to_s and #inspect 2238s includes the value 2238s 2238s Concurrent::MutexAtomicReference 2238s it should behave like atomic_reference 2238s test_construct 2238s test_value 2238s test_update 2238s test_try_update 2238s test_try_update_bang 2238s test_swap 2238s test_try_update_fails 2238s test_try_update_bang_fails 2238s test_update_retries 2238s test_numeric_cas 2238s 2238s Concurrent::JavaAtomicReference 2238s it should behave like atomic_reference 2238s test_construct 2238s test_value 2238s test_update 2238s test_try_update 2238s test_try_update_bang 2238s test_swap 2238s test_try_update_fails 2238s test_try_update_bang_fails 2238s test_update_retries 2238s test_numeric_cas 2238s 2238s Concurrent::AtomicReference 2238s does not load the C extension 2238s inherits from JavaAtomicReference 2238s 2238s Concurrent::MutexCountDownLatch 2238s it should behave like count_down_latch 2238s #initialize 2238s raises an exception if the initial count is less than zero 2238s raises an exception if the initial count is not an integer 2238s defaults the count to 1 2238s #count 2238s should be the value passed to the constructor 2238s should be decreased after every count down 2238s should not go below zero 2238s #wait 2238s blocks indefinitely, and is kill-able 2238s blocks indefinitely with timeout, and is kill-able 2238s count set to zero 2238s should return true immediately 2238s should return true immediately with timeout 2238s non zero count 2238s should block thread until counter is set to zero 2238s should block until counter is set to zero with timeout 2238s should block until timeout and return false when counter is not set to zero 2238s spurious wake ups 2239s should resist to spurious wake ups without timeout 2239s should resist to spurious wake ups with timeout 2239s 2239s Concurrent::JavaCountDownLatch 2239s it should behave like count_down_latch 2239s #initialize 2239s raises an exception if the initial count is less than zero 2239s raises an exception if the initial count is not an integer 2239s defaults the count to 1 2239s #count 2239s should be the value passed to the constructor 2239s should be decreased after every count down 2239s should not go below zero 2239s #wait 2239s blocks indefinitely, and is kill-able 2239s blocks indefinitely with timeout, and is kill-able 2239s count set to zero 2239s should return true immediately 2239s should return true immediately with timeout 2239s non zero count 2239s should block thread until counter is set to zero 2239s should block until counter is set to zero with timeout 2239s should block until timeout and return false when counter is not set to zero 2239s 2239s Concurrent::CountDownLatch 2239s inherits from JavaCountDownLatch 2239s 2239s Concurrent::CyclicBarrier 2239s #initialize 2239s raises an exception if the initial count is less than 1 2239s raises an exception if the initial count is not an integer 2239s #parties 2239s should be the value passed to the constructor 2239s #number_waiting 2240s without any waiting thread 2240s should be equal to zero 2240s with waiting threads 2240s should be equal to the waiting threads count 2240s #broken? 2240s should not be broken when created 2240s should not be broken when reset is called without waiting thread 2240s reset 2240s should release all waiting threads 2240s #wait 2240s without timeout 2240s should block the thread 2240s should release all threads when their number matches the desired one 2240s returns true when released 2240s executes the block once 2240s can be reused 2240s return false if barrier has been reset 2240s with timeout 2240s timeout not expiring 2240s should block the thread 2240s should release all threads when their number matches the desired one 2240s returns true when released 2240s timeout expiring 2240s returns false 2241s breaks the barrier and release all other threads 2241s breaks the barrier and release all other threads 2 2241s does not execute the block on timeout 2241s #broken barrier 2241s should not accept new threads 2241s can be reset 2241s spurious wake ups 2241s should resist to spurious wake ups without timeout 2242s should resist to spurious wake ups with timeout 2242s 2242s Concurrent::Event 2242s #initialize 2242s sets the state to unset 2242s #set? 2242s returns true when the event has been set 2242s returns false if the event is unset 2242s #set 2242s triggers the event 2242s sets the state to set 2242s #try? 2242s triggers the event if not already set 2242s returns true if not previously set 2242s returns false if previously set 2242s #reset 2242s does not change the state of an unset event 2242s does not trigger an unset event 2242s returns true when called on an unset event 2242s sets the state of a set event to unset 2242s returns true when called on a set event 2242s #wait 2242s returns immediately when the event has been set 2242s returns true once the event is set 2242s blocks indefinitely when the timer is nil 2242s blocks indefinitely 2242s stops waiting when the timer expires 2243s returns false when the timer expires 2243s triggers multiple waiting threads 2243s behaves appropriately if wait begins while #set is processing 2243s spurious wake ups 2244s should resist to spurious wake ups without timeout 2244s should resist spurious wake ups with timeout 2244s 2244s Concurrent::FiberLocalVar 2244s #initialize 2244s can set an initial value 2244s sets nil as a default initial value 2244s sets the same initial value for all fibers 2244s can set a block to be called to get the initial value 2244s when attempting to set both an initial value and a block 2244s is expected to raise ArgumentError 2244s #value 2244s returns the current value 2244s returns the value after modification 2244s when using a block to initialize the value 2244s calls the block to initialize the value 2244s sets the block return value as the current value 2244s calls the block to initialize the value for each fiber 2244s #value= 2244s sets a new value 2244s returns the new value 2244s does not modify the initial value for other fibers 2244s does not modify the value for other fibers 2244s 2244s Concurrent::FiberLocalVar 2244s uses FiberLocalVar if Mutex is per Fiber 2244s 2244s Concurrent::ReadWriteLock 2244s #write_locked? 2244s returns true when the write lock is held 2244s returns false when the write lock is not held 2244s returns false when the write lock is not held but there are readers 2244s #has_waiters? 2244s returns false when no locks are held 2244s returns false when there are readers but no writers 2244s returns true when the write lock is held and there are waiting readers 2244s returns true when the write lock is held and there are waiting writers 2244s #with_read_lock 2244s acquires the lock 2244s returns the value of the block operation 2244s releases the lock 2244s raises an exception if no block is given 2244s raises an exception if maximum lock limit is exceeded 2244s releases the lock when an exception is raised 2244s #with_write_lock 2244s acquires the lock 2244s returns the value of the block operation 2244s releases the lock 2244s raises an exception if no block is given 2244s raises an exception if maximum lock limit is exceeded 2244s releases the lock when an exception is raised 2244s #acquire_read_lock 2244s increments the lock count 2244s waits for a running writer to finish 2244s does not wait for any running readers 2244s raises an exception if maximum lock limit is exceeded 2244s returns true if the lock is acquired 2244s #release_read_lock 2244s decrements the counter 2244s unblocks waiting writers 2244s returns true if the lock is released 2244s returns true if the lock was never set 2244s #acquire_write_lock 2244s increments the lock count 2244s waits for a running writer to finish 2244s waits for a running reader to finish 2244s raises an exception if maximum lock limit is exceeded 2244s returns true if the lock is acquired 2244s #release_write_lock 2244s decrements the counter 2244s unblocks waiting readers 2244s unblocks waiting writers 2244s returns true if the lock is released 2244s returns true if the lock was never set 2244s 2244s Concurrent::ReentrantReadWriteLock 2245s can survive a torture test 2245s read lock 2245s allows other read locks to be acquired at the same time 2245s can be acquired more than once 2245s can be acquired while holding a write lock 2245s can be upgraded to a write lock 2245s can be upgraded to a write lock when read lock acquired more than once 2245s cannot be released when not held 2245s cannot be released more times than it was taken 2245s wakes up waiting writers when the last read lock is released 2245s write lock 2245s cannot be acquired when another thread holds a write lock 2245s cannot be acquired when another thread holds a read lock 2245s can be acquired more than once 2245s can be acquired while holding a read lock 2245s can be downgraded to a read lock 2245s cannot be released when not held 2245s cannot be released more times than it was taken 2245s wakes up waiting readers when the write lock is released 2245s wakes up waiting writers when the write lock is released 2245s #with_read_lock 2245s acquires read block before yielding, then releases it 2245s releases read lock if an exception is raised in block 2245s #with_write_lock 2245s acquires write block before yielding, then releases it 2245s releases write lock if an exception is raised in block 2245s #try_read_lock 2245s returns false immediately if read lock cannot be obtained 2245s acquires read lock and returns true if it can do so without blocking 2245s can acquire a read lock if a read lock is already held 2245s can acquire a read lock if a write lock is already held 2245s #try_write_lock 2245s returns false immediately if write lock cannot be obtained 2245s acquires write lock and returns true if it can do so without blocking 2245s can acquire a write lock if a read lock is already held 2245s can acquire a write lock if a write lock is already held 2245s 2245s Concurrent::ReentrantReadWriteLock 2245s can acquire locks in separate fibers 2245s 2245s Concurrent::MutexSemaphore 2245s it should behave like semaphore 2245s #initialize 2245s raises an exception if the initial count is not an integer 2245s when initializing with 0 2245s is expected not to equal nil 2245s when initializing with -1 2245s is expected to eq 0 2245s #acquire 2245s without block 2245s permits available 2245s should return nil immediately 2245s not enough permits available 2245s should block thread until permits are available 2245s when acquiring negative permits 2245s raises ArgumentError 2245s with block 2245s permits available 2245s should acquire permits, run the block, release permits, and return block return value 2245s if the block raises, the permit is still released 2245s not enough permits available 2246s should block thread until permits are available 2246s when acquiring negative permits 2246s raises ArgumentError 2246s #drain_permits 2246s drains all available permits 2246s drains nothing in no permits are available 2246s #try_acquire 2246s without block 2246s without timeout 2246s acquires immediately if permits are available 2246s returns false immediately in no permits are available 2246s when trying to acquire negative permits 2246s is expected to raise ArgumentError 2246s with timeout 2246s acquires immediately if permits are available 2246s acquires when permits are available within timeout 2246s returns false on timeout 2246s with block 2246s without timeout 2246s acquires immediately if permits are available and returns block return value 2246s releases permit if block raises 2246s returns false immediately in no permits are available 2246s when trying to acquire negative permits 2246s is expected not to change `semaphore.available_permits` 2246s with timeout 2246s acquires immediately if permits are available, and returns block return value 2246s releases permits if block raises 2246s acquires when permits are available within timeout, and returns block return value 2247s returns false on timeout 2247s #reduce_permits 2247s raises ArgumentError if reducing by negative number 2247s reduces permits below zero 2247s reduces permits 2247s reduces zero permits 2247s #release 2247s increases the number of available permits by one 2247s when a number of permits is specified 2247s increases the number of available permits by the specified value 2247s when permits is set to negative number 2247s is expected to raise ArgumentError 2247s 2247s Concurrent::JavaSemaphore 2247s it should behave like semaphore 2247s #initialize 2247s raises an exception if the initial count is not an integer 2247s when initializing with 0 2247s is expected not to equal nil 2247s when initializing with -1 2247s is expected to eq 0 2247s #acquire 2247s without block 2247s permits available 2247s should return nil immediately 2247s not enough permits available 2247s should block thread until permits are available 2247s when acquiring negative permits 2247s raises ArgumentError 2247s with block 2247s permits available 2247s should acquire permits, run the block, release permits, and return block return value 2247s if the block raises, the permit is still released 2247s not enough permits available 2247s should block thread until permits are available 2247s when acquiring negative permits 2247s raises ArgumentError 2247s #drain_permits 2247s drains all available permits 2247s drains nothing in no permits are available 2247s #try_acquire 2247s without block 2247s without timeout 2247s acquires immediately if permits are available 2247s returns false immediately in no permits are available 2247s when trying to acquire negative permits 2247s is expected to raise ArgumentError 2247s with timeout 2247s acquires immediately if permits are available 2247s acquires when permits are available within timeout 2247s returns false on timeout 2247s with block 2247s without timeout 2247s acquires immediately if permits are available and returns block return value 2247s releases permit if block raises 2247s returns false immediately in no permits are available 2247s when trying to acquire negative permits 2247s is expected not to change `semaphore.available_permits` 2247s with timeout 2247s acquires immediately if permits are available, and returns block return value 2247s releases permits if block raises 2247s acquires when permits are available within timeout, and returns block return value 2247s returns false on timeout 2247s #reduce_permits 2247s raises ArgumentError if reducing by negative number 2247s reduces permits below zero 2247s reduces permits 2247s reduces zero permits 2247s #release 2247s increases the number of available permits by one 2247s when a number of permits is specified 2247s increases the number of available permits by the specified value 2247s when permits is set to negative number 2247s is expected to raise ArgumentError 2247s 2247s Concurrent::Semaphore 2247s inherits from JavaSemaphore 2247s 2247s Concurrent::ThreadLocalVar 2247s #initialize 2247s can set an initial value 2247s sets nil as a default initial value 2247s sets the same initial value for all threads 2247s can set a block to be called to get the initial value 2247s when attempting to set both an initial value and a block 2247s is expected to raise ArgumentError 2247s #value 2247s returns the current value 2247s returns the value after modification 2247s when using a block to initialize the value 2247s calls the block to initialize the value 2247s sets the block return value as the current value 2247s calls the block to initialize the value for each thread 2247s #value= 2247s sets a new value 2247s returns the new value 2247s does not modify the initial value for other threads 2247s does not modify the value for other threads 2247s 2247s Concurrent 2247s Cancellation 2247s basic 2247s is expected to be falsey 2247s is expected to be truthy 2247s is expected to be falsey 2247s is expected to eq 2 2247s #join 2247s 2247s Concurrent::Channel::Buffer::Base 2247s is expected to eq 0 2247s is expected to be blocking 2247s is expected to raise NotImplementedError 2247s is expected to raise NotImplementedError 2247s is expected to raise NotImplementedError 2247s is expected to raise NotImplementedError 2247s is expected to raise NotImplementedError 2247s is expected to raise NotImplementedError 2247s is expected to raise NotImplementedError 2247s is expected to raise NotImplementedError 2247s is expected not to be closed 2248s is expected to be closed 2248s 2248s Concurrent::Channel::Buffer::Buffered 2248s is expected to be blocking 2248s behaves like channel_buffered_buffer 2248s behaves like channel_buffer 2248s is expected to respond to #blocking? 2248s #capacity 2248s is expected to be >= 0 2248s #size 2248s returns zero upon initialization 2248s #empty? 2248s returns true when empty 2248s #full? 2248s returns false when not full 2248s #put 2248s does not enqueue the item when closed 2248s returns false when closed 2248s #offer 2248s returns true on success 2248s does not enqueue the item when closed 2248s returns false immediately when closed 2248s #take 2248s returns Concurrent::NULL when closed 2248s #next 2248s returns Concurrent::NULL, false when closed 2248s #poll 2248s returns the next item immediately if available 2248s returns Concurrent::NULL immediately if no item is available 2248s returns Concurrent::NULL when closed 2248s #close 2248s sets #closed? to false 2248s returns true when not previously closed 2248s returns false when already closed 2248s #closed? 2248s returns true when new 2248s returns false after #close 2248s #initialize 2248s raises an exception if size <= 0 2248s #capacity 2248s returns the maximum capacity of the buffer 2248s #size 2248s is 0 when first created 2248s returns the number of items in the buffer 2248s is 0 when there are taking threads but no putting threads 2248s #empty? 2248s returns true when empty 2248s #put 2248s enqueues the item when size > 0, not full, and not closed 2248s returns true when the item is put 2248s #offer 2248s enqueues the item immediately when not full and not closed 2248s #take 2248s returns the first item when not empty 2248s blocks until not empty 2248s returns Concurrent::NULL when closed and empty 2248s #next 2248s blocks until not empty 2248s returns , true when there is only one item and not closed 2248s returns , true when there are multiple items 2248s returns , true when closed and last item 2248s returns Concurrent::NULL, false when closed and no items remain 2248s #full? 2248s returns true when at max capacity 2248s #put 2248s blocks when at capacity until a thread is ready to take 2248s #offer 2248s returns false immediately when full 2248s 2248s Concurrent::Channel::Buffer::Dropping 2248s is expected not to be blocking 2248s behaves like channel_buffered_buffer 2248s behaves like channel_buffer 2248s is expected to respond to #blocking? 2248s #capacity 2248s is expected to be >= 0 2248s #size 2248s returns zero upon initialization 2248s #empty? 2248s returns true when empty 2248s #full? 2248s returns false when not full 2248s #put 2248s does not enqueue the item when closed 2248s returns false when closed 2248s #offer 2249s returns true on success 2249s does not enqueue the item when closed 2249s returns false immediately when closed 2249s #take 2249s returns Concurrent::NULL when closed 2249s #next 2249s returns Concurrent::NULL, false when closed 2249s #poll 2249s returns the next item immediately if available 2249s returns Concurrent::NULL immediately if no item is available 2249s returns Concurrent::NULL when closed 2249s #close 2249s sets #closed? to false 2249s returns true when not previously closed 2249s returns false when already closed 2249s #closed? 2249s returns true when new 2249s returns false after #close 2249s #initialize 2249s raises an exception if size <= 0 2249s #capacity 2249s returns the maximum capacity of the buffer 2249s #size 2249s is 0 when first created 2249s returns the number of items in the buffer 2249s is 0 when there are taking threads but no putting threads 2249s #empty? 2249s returns true when empty 2249s #put 2249s enqueues the item when size > 0, not full, and not closed 2249s returns true when the item is put 2249s #offer 2249s enqueues the item immediately when not full and not closed 2249s #take 2249s returns the first item when not empty 2249s blocks until not empty 2249s returns Concurrent::NULL when closed and empty 2249s #next 2249s blocks until not empty 2249s returns , true when there is only one item and not closed 2249s returns , true when there are multiple items 2249s returns , true when closed and last item 2249s returns Concurrent::NULL, false when closed and no items remain 2249s #put 2249s does not block when full 2249s drops the last value when full 2249s #offer 2249s returns true immediately when full 2249s drops the last value when full 2249s 2249s Concurrent::Channel::Buffer::Sliding 2249s is expected not to be blocking 2249s behaves like channel_buffered_buffer 2249s behaves like channel_buffer 2249s is expected to respond to #blocking? 2249s #capacity 2249s is expected to be >= 0 2249s #size 2249s returns zero upon initialization 2249s #empty? 2249s returns true when empty 2249s #full? 2249s returns false when not full 2249s #put 2249s does not enqueue the item when closed 2249s returns false when closed 2249s #offer 2250s returns true on success 2250s does not enqueue the item when closed 2250s returns false immediately when closed 2250s #take 2250s returns Concurrent::NULL when closed 2250s #next 2250s returns Concurrent::NULL, false when closed 2250s #poll 2250s returns the next item immediately if available 2250s returns Concurrent::NULL immediately if no item is available 2250s returns Concurrent::NULL when closed 2250s #close 2250s sets #closed? to false 2250s returns true when not previously closed 2250s returns false when already closed 2250s #closed? 2250s returns true when new 2250s returns false after #close 2250s #initialize 2250s raises an exception if size <= 0 2250s #capacity 2250s returns the maximum capacity of the buffer 2250s #size 2250s is 0 when first created 2250s returns the number of items in the buffer 2250s is 0 when there are taking threads but no putting threads 2250s #empty? 2250s returns true when empty 2250s #put 2250s enqueues the item when size > 0, not full, and not closed 2250s returns true when the item is put 2250s #offer 2250s enqueues the item immediately when not full and not closed 2250s #take 2250s returns the first item when not empty 2250s blocks until not empty 2250s returns Concurrent::NULL when closed and empty 2250s #next 2250s blocks until not empty 2250s returns , true when there is only one item and not closed 2250s returns , true when there are multiple items 2250s returns , true when closed and last item 2250s returns Concurrent::NULL, false when closed and no items remain 2250s #put 2250s does not block when full 2250s drops the first value when full 2250s #offer 2250s returns true immediately when full 2250s drops the first value when full 2250s 2250s Concurrent::Channel::Buffer::Ticker 2250s behaves like channel_timing_buffer 2250s is expected to be blocking 2250s #capacity 2250s is expected to eq 1 2250s #size 2250s is expected to eq 0 2250s #empty? 2250s is expected not to be empty 2250s #full? 2250s is expected to be full 2250s #put 2250s is expected to equal false 2250s #offer 2250s is expected to equal false 2250s #take 2250s blocks when the timer is not ready 2250s returns a Tick 2250s triggers after the specified time interval 2250s returns Concurrent::NULL when closed 2250s #poll 2250s returns Concurrent::NULL when the timer is not ready 2251s returns a Tick 2251s returns Concurrent::NULL when closed 2251s triggers after the specified time interval 2251s #next 2251s blocks when the timer is not ready 2251s returns a Tick when open 2251s returns Concurrent::NULL, false when closed 2251s triggers after the specified time interval 2251s #close 2251s sets #closed? to false 2251s returns true when not previously closed 2251s returns false when already closed 2251s #closed? 2251s returns true when new 2251s returns false after #close 2251s #take 2252s triggers until closed 2252s returns Concurrent::NULL when closed after trigger 2252s #poll 2252s triggers until closed 2252s #next 2252s triggers until closed 2252s returns true for more while open 2252s returns false for more once closed 2252s 2252s Concurrent::Channel::Buffer::Timer 2252s behaves like channel_timing_buffer 2252s is expected to be blocking 2252s #capacity 2252s is expected to eq 1 2252s #size 2252s is expected to eq 0 2252s #empty? 2252s is expected not to be empty 2252s #full? 2252s is expected to be full 2252s #put 2252s is expected to equal false 2252s #offer 2252s is expected to equal false 2252s #take 2253s blocks when the timer is not ready 2253s returns a Tick 2253s triggers after the specified time interval 2253s returns Concurrent::NULL when closed 2253s #poll 2253s returns Concurrent::NULL when the timer is not ready 2253s returns a Tick 2253s returns Concurrent::NULL when closed 2253s triggers after the specified time interval 2253s #next 2253s blocks when the timer is not ready 2253s returns a Tick when open 2253s returns Concurrent::NULL, false when closed 2254s triggers after the specified time interval 2254s #close 2254s sets #closed? to false 2254s returns true when not previously closed 2254s returns false when already closed 2254s #closed? 2254s returns true when new 2254s returns false after #close 2254s #take 2254s closes automatically on first take 2254s #poll 2254s closes automatically on first take 2254s #next 2254s closes automatically on first take 2254s returns false for more 2254s 2254s Concurrent::Channel::Buffer::Unbuffered 2254s is expected to be blocking 2254s is expected to eq 1 2254s behaves like channel_buffer 2254s is expected to respond to #blocking? 2254s #capacity 2254s is expected to be >= 0 2254s #size 2254s returns zero upon initialization 2254s #empty? 2254s returns true when empty 2254s #full? 2254s returns false when not full 2254s #put 2254s does not enqueue the item when closed 2254s returns false when closed 2254s #offer 2254s returns true on success 2254s does not enqueue the item when closed 2254s returns false immediately when closed 2254s #take 2254s returns Concurrent::NULL when closed 2254s #next 2254s returns Concurrent::NULL, false when closed 2254s #poll 2254s returns the next item immediately if available 2254s returns Concurrent::NULL immediately if no item is available 2254s returns Concurrent::NULL when closed 2254s #close 2254s sets #closed? to false 2254s returns true when not previously closed 2254s returns false when already closed 2254s #closed? 2254s returns true when new 2254s returns false after #close 2254s #size 2254s is 0 when first created 2254s is 1 when a putting thread is waiting 2255s is 0 when there are taking threads but no putting threads 2255s #empty? 2255s is true when there are no putting threads 2255s is false when there are waiting putting threads 2255s #full? 2255s is false when there are no putting threads 2255s is false when there are waiting putting threads 2255s #put 2255s does not enqueue the item when closed 2255s returns false when closed 2255s blocks until a thread is ready to take 2255s delivers when closed after put starts 2255s #offer 2256s returns false immediately when a put in in progress 2256s gives the item to a waiting taker and returns true 2256s #take 2256s returns false immediately when a put in in progress 2256s gives the item to a waiting taker and returns true 2256s #next 2257s blocks when no putting and returns , true when one arrives 2257s returns , true when there are multiple putting 2257s returns , true when closed and last item 2257s returns Concurrent::NULL, false when closed and no items remain 2257s 2257s channel integration tests 2257s A Tour of Go 2257s channels.rb 2257s buffered-channels.rb 2258s range-and-close.rb 2258s select.rb 2258s default-selection.rb (PENDING: flaky) 2258s Go By Example 2258s channels.rb 2258s channel-buffering.rb 2259s channel-synchronization.rb 2259s channel-directions.rb 2262s select.rb 2265s timeouts.rb 2265s non-blocking-channel-operations.rb 2265s closing-channels.rb 2265s range-over-channels.rb 2267s timers.rb 2269s ticker.rb 2272s worker-pools.rb 2274s rate-limiting.rb 2274s 2274s Concurrent::Channel::Tick 2274s initializes to current time when no argument given 2274s initializes to the given monotonic time 2274s #utc returns a Time object in UTC 2274s #epoch returns the UTC time as epoch seconds 2274s #to_s formats as a time 2274s comparison 2274s correctly compares to a Numeric (monotonic) 2274s correctly compares to a Time 2274s correctly compares to a Tick 2274s 2274s Concurrent::Channel 2274s initialization 2274s raises an exception when the :buffer is invalid 2274s is :unbuffered when neither :buffer nore :capacity is given 2274s is :unbuffered when :unbuffered is given 2274s is :unbuffered when :buffered and capacity: 0 2274s raises an exception when both :unbuffered and :capacity are given 2274s is :buffered when :capacity > 0 and no :buffer given 2274s is :buffered when :buffered given 2274s raises an exception when :buffered given without :capacity 2274s raises an exception when :buffered and :capacity < 0 2274s is :dropping when :dropping and :capacity > 0 2274s raises an exception when :dropping given without :capacity 2274s raises an exception when :dropping and :capacity < 1 2274s is :sliding when :sliding and :capacity > 0 2274s raises an exception when :sliding given without :capacity 2274s raises an exception when :sliding and :capacity < 1 2274s uses the given buffer 2274s factories 2274s is expected to receive new(10) 1 time 2274s is expected to receive new(10) 1 time 2274s #put 2274s returns true on success 2274s returns false on failure 2274s rejects when the validator returns false 2274s rejects when the validator raises an exception 2274s rejects nil 2274s put! 2274s returns true on success 2274s raises an exception on failure 2274s rejects when the validator returns false 2274s rejects when the validator raises an exception 2274s rejects nil 2274s put? 2274s returns a just Maybe on success 2274s returns a nothing Maybe on failure 2274s rejects when the validator returns false 2274s rejects when the validator raises an exception 2274s accepts nil 2274s #offer 2274s returns true on success 2274s returns false on failure 2274s rejects when the validator returns false 2274s rejects when the validator raises an exception 2274s rejects nil 2274s offer! 2274s returns true on success 2274s raises an exception on failure 2274s rejects when the validator returns false 2274s rejects when the validator raises an exception 2274s rejects nil 2274s offer? 2274s returns a just Maybe on success 2274s returns a nothing Maybe on failure 2274s rejects when the validator returns false 2274s rejects when the validator raises an exception 2274s accepts nil 2274s #take 2274s takes the next item when not empty 2274s returns nil on failure 2274s #take! 2274s takes the next item when not empty 2274s raises an exception on failure 2274s #take? 2274s returns a just Maybe on success 2274s returns a nothing Maybe on failure 2274s #next 2274s returns , true when there is one item 2274s returns , true when there are multiple items 2274s returns nil, false when empty and closed 2274s returns , true when closed and last item 2274s returns nil, false when closed and no items remain 2274s #next? 2274s returns a just Maybe and true when there is one item 2274s returns a just Maybe, true when there are multiple items 2274s returns a nothing Maybe and false on failure 2274s #poll 2274s returns the next item immediately if available 2274s returns nil immediately if no item is available 2274s returns nil on failure 2274s #poll! 2274s returns the next item immediately if available 2274s raises an exception immediately if no item is available 2274s raises an exception on failure 2274s #poll? 2275s returns a just Maybe immediately if available 2275s returns a nothing Maybe immediately if no item is available 2275s returns a nothing Maybe on failure 2275s .each 2275s raises and exception when no block is given 2275s iterates until the channel is closed 2275s goroutines 2275s .go 2275s raises an exception when no block is given 2275s is expected to receive post(1, 2, 3) 1 time 2275s .go_via 2275s raises an exception when no block is given 2275s is expected to receive post(1, 2, 3) 1 time 2275s .go_loop 2275s raises an exception when no block is given 2275s loops until the block returns false 2275s .go_loop_via 2275s raises an exception when no block is given 2275s loops until the block returns false 2275s select 2275s raises an exception when no block is given 2275s passes a selector to the block 2275s is expected to be truthy 2275s 2275s Concurrent::Collection::CopyOnNotifyObserverSet 2275s behaves like an observer set 2275s #add_observer 2275s with arguments 2275s should return the observer 2275s with a block 2275s should return the observer based on a block 2275s #notify_observers 2275s should return the observer set 2275s with a single observer 2275s should update a registered observer without arguments 2275s should update a registered observer with arguments 2275s should notify an observer using the chosen method 2275s should notify an observer once using the last added method 2275s should notify an observer from a block 2275s can be called many times 2275s with many observers 2275s should notify all observer using the chosen method 2275s with a block 2275s calls the block once for every observer 2275s passes the block return value to the update method 2275s accepts blocks returning a single value 2275s accepts block return values that include arrays 2275s raises an exception if given both arguments and a block 2275s #count_observers 2275s should be zero after initialization 2275s should be 1 after the first observer is added 2275s should be 1 if the same observer is added many times 2275s should be equal to the number of unique observers 2275s #delete_observer 2275s should not notify a deleted observer 2275s can delete a non added observer 2275s should return the observer 2275s #delete_observers 2275s should remove all observers 2275s should return the observer set 2275s #notify_and_delete_observers 2275s should notify all observers 2275s should clear observers 2275s can be called many times without any other notification 2275s should return the observer set 2275s 2275s Concurrent::Collection::CopyOnWriteObserverSet 2275s behaves like an observer set 2275s #add_observer 2275s with arguments 2275s should return the observer 2275s with a block 2275s should return the observer based on a block 2275s #notify_observers 2275s should return the observer set 2275s with a single observer 2275s should update a registered observer without arguments 2275s should update a registered observer with arguments 2275s should notify an observer using the chosen method 2275s should notify an observer once using the last added method 2275s should notify an observer from a block 2275s can be called many times 2275s with many observers 2275s should notify all observer using the chosen method 2275s with a block 2275s calls the block once for every observer 2275s passes the block return value to the update method 2275s accepts blocks returning a single value 2275s accepts block return values that include arrays 2275s raises an exception if given both arguments and a block 2275s #count_observers 2275s should be zero after initialization 2275s should be 1 after the first observer is added 2275s should be 1 if the same observer is added many times 2275s should be equal to the number of unique observers 2275s #delete_observer 2275s should not notify a deleted observer 2275s can delete a non added observer 2275s should return the observer 2275s #delete_observers 2275s should remove all observers 2275s should return the observer set 2275s #notify_and_delete_observers 2275s should notify all observers 2275s should clear observers 2275s can be called many times without any other notification 2275s should return the observer set 2275s 2275s Concurrent::Collection::RubyNonConcurrentPriorityQueue 2275s it should behave like priority_queue 2275s #initialize 2275s sorts from high to low when :order is :max 2275s sorts from high to low when :order is :high 2275s sorts from low to high when :order is :min 2275s sorts from low to high when :order is :low 2275s sorts from high to low by default 2275s #clear 2275s removes all items from a populated queue 2275s has no effect on an empty queue 2275s is expected to be truthy 2275s #delete 2275s deletes the requested item when found 2275s deletes the requested item when it is the first element 2275s deletes the requested item when it is the last element 2275s deletes multiple matching items when present 2275s returns true when found 2275s returns false when not found 2275s returns false when called on an empty queue 2275s deletes the requested item when it is "smaller" than the last element 2275s #empty? 2275s returns true for an empty queue 2275s returns false for a populated queue 2275s #include? 2275s returns true if the item is found 2275s returns false if the item is not found 2275s returns false when the queue is empty 2275s is aliased as #has_priority? 2275s #length 2275s returns the length of a populated queue 2275s returns zero when the queue is empty 2275s is aliased as #size 2275s #peek 2275s returns the item at the head of the queue 2275s does not remove the item from the queue 2275s returns nil when the queue is empty 2275s #pop 2275s returns the item at the head of the queue 2275s removes the item from the queue 2275s returns nil when the queue is empty 2275s returns nil when called multiple times while empty 2275s is aliased as #deq 2275s is aliased as #shift 2275s #push 2275s raises an exception when attempting to enqueue nil 2275s adds the item to the queue 2275s sorts the new item in priority order 2275s arbitrarily orders equal items with respect to each other 2275s is expected to be truthy 2275s is aliased as << 2275s is aliased as enq 2275s .from_list 2275s creates an empty queue from an empty list 2275s creates a sorted, populated queue from an Array 2275s creates a sorted, populated queue from a Hash 2275s 2275s Concurrent::Collection::JavaNonConcurrentPriorityQueue 2275s it should behave like priority_queue 2275s #initialize 2275s sorts from high to low when :order is :max 2275s sorts from high to low when :order is :high 2275s sorts from low to high when :order is :min 2275s sorts from low to high when :order is :low 2275s sorts from high to low by default 2275s #clear 2275s removes all items from a populated queue 2275s has no effect on an empty queue 2275s is expected to be truthy 2275s #delete 2275s deletes the requested item when found 2275s deletes the requested item when it is the first element 2275s deletes the requested item when it is the last element 2275s deletes multiple matching items when present 2275s returns true when found 2275s returns false when not found 2275s returns false when called on an empty queue 2275s deletes the requested item when it is "smaller" than the last element 2275s #empty? 2275s returns true for an empty queue 2275s returns false for a populated queue 2275s #include? 2275s returns true if the item is found 2275s returns false if the item is not found 2275s returns false when the queue is empty 2275s is aliased as #has_priority? 2275s #length 2275s returns the length of a populated queue 2275s returns zero when the queue is empty 2275s is aliased as #size 2275s #peek 2275s returns the item at the head of the queue 2275s does not remove the item from the queue 2275s returns nil when the queue is empty 2275s #pop 2275s returns the item at the head of the queue 2275s removes the item from the queue 2275s returns nil when the queue is empty 2275s returns nil when called multiple times while empty 2275s is aliased as #deq 2275s is aliased as #shift 2275s #push 2275s raises an exception when attempting to enqueue nil 2275s adds the item to the queue 2275s sorts the new item in priority order 2275s arbitrarily orders equal items with respect to each other 2275s is expected to be truthy 2275s is aliased as << 2275s is aliased as enq 2275s .from_list 2275s creates an empty queue from an empty list 2275s creates a sorted, populated queue from an Array 2275s creates a sorted, populated queue from a Hash 2275s 2275s Concurrent::Collection::NonConcurrentPriorityQueue 2275s inherits from JavaNonConcurrentPriorityQueue 2275s 2275s Concurrent::Concern::Obligation 2275s unscheduled 2275s it should behave like incomplete 2275s should be not completed 2275s should be incomplete 2275s #value 2275s should return immediately if timeout is zero 2275s should block on the event if timeout is not set 2275s should block on the event if timeout is not zero 2275s #value! 2275s should return immediately if timeout is zero 2275s should block on the event if timeout is not set 2275s should block on the event if timeout is not zero 2275s #no_error! 2275s should return immediately if timeout is zero 2275s should block on the event if timeout is not set 2275s should block on the event if timeout is not zero 2275s pending 2275s it should behave like incomplete 2275s should be not completed 2275s should be incomplete 2275s #value 2275s should return immediately if timeout is zero 2275s should block on the event if timeout is not set 2275s should block on the event if timeout is not zero 2275s #value! 2275s should return immediately if timeout is zero 2275s should block on the event if timeout is not set 2275s should block on the event if timeout is not zero 2275s #no_error! 2275s should return immediately if timeout is zero 2275s should block on the event if timeout is not set 2275s should block on the event if timeout is not zero 2275s fulfilled 2275s should be completed 2275s should be not incomplete 2275s #value 2275s should return immediately if timeout is zero 2275s should return immediately if timeout is not set 2275s should return immediately if timeout is not zero 2275s #value! 2275s should return immediately if timeout is zero 2275s should return immediately if timeout is not set 2275s should return immediately if timeout is not zero 2275s #no_error! 2275s should return immediately if timeout is zero 2275s should return immediately if timeout is not set 2275s should return immediately if timeout is not zero 2275s rejected 2275s should be completed 2275s should be not incomplete 2275s #value 2275s should return immediately if timeout is zero 2275s should return immediately if timeout is not set 2275s should return immediately if timeout is not zero 2275s #value! 2275s should return immediately if timeout is zero 2275s should return immediately if timeout is not set 2275s should return immediately if timeout is not zero 2275s #no_error! 2275s should return immediately if timeout is zero 2275s should return immediately if timeout is not set 2275s should return immediately if timeout is not zero 2275s #compare_and_set_state 2275s unexpected state 2275s should return false if state is not the expected one 2275s should not change the state if current is not the expected one 2275s expected state 2275s should return true if state is the expected one 2275s should not change the state if current is not the expected one 2275s #if_state 2275s should raise without block 2275s should return false if state is not expected 2275s should the block value if state is expected 2275s should execute the block within the mutex 2275s #get_arguments_from 2275s returns an empty array when opts is not given 2275s returns an empty array when opts is an empty hash 2275s returns an empty array when there is no :args key 2275s returns an empty array when the :args key has a nil value 2275s returns a one-element array when the :args key has a non-array value 2275s returns an array when when the :args key has an array value 2275s returns the given array when the :args key has a complex array value 2275s 2275s Concurrent::Concern::Observable 2275s does not initialize set by by default 2275s uses the given observer set 2275s delegates #add_observer 2275s delegates #with_observer 2275s delegates #delete_observer 2275s delegates #delete_observers 2275s delegates #count_observers 2275s 2275s configuration 2275s global executors 2275s creates a global timer set 2275s creates a global fast executor 2275s creates a global io executor 2275s 2275s dataflow 2275s raises an exception when no block given 2275s #dataflow uses the global fast executor 2275s #dataflow_with uses the given executor 2275s #dataflow_with raises an exception when no executor given 2275s accepts zero or more dependencies 2275s accepts uncompleted dependencies 2275s accepts completed dependencies 2275s raises an exception if any dependencies are not IVars 2275s doesn't raise exceptions from dependencies, unless called with ! 2275s returns a Future 2275s does not schedule the Future 2275s if no dependencies are completed 2275s if one dependency of two is completed 2275s schedules the Future when all dependencies are available 2275s if there is just one 2275s if there is more than one 2275s counts already executed dependencies 2275s if there is just one 2275s if there is more than one 2275s passes the values of dependencies into the block 2275s if there is just one 2275s if there is more than one 2275s module function 2275s can be called as Concurrent.dataflow and Concurrent.dataflow_with 2275s 2275s Concurrent::Delay 2275s behavior 2275s it should behave like dereferenceable 2275s defaults :dup_on_deref to false 2275s calls #dup when the :dup_on_deref option is true 2275s defaults :freeze_on_deref to false 2275s calls #freeze when the :freeze_on_deref option is true 2275s defaults :copy_on_deref to nil 2275s calls the block when the :copy_on_deref option is passed a proc 2275s calls the :copy block first followed by #dup followed by #freeze 2275s does not call #dup when #dup_on_deref is set and the value is nil 2275s does not call #freeze when #freeze_on_deref is set and the value is nil 2275s does not call the #copy_on_deref block when the value is nil 2275s supports dereference flags with observers 2275s it should behave like obligation 2275s #state 2275s is :pending when first created 2275s is :fulfilled when the handler completes 2275s is :rejected when the handler raises an exception 2275s #value 2275s returns nil when reaching the optional timeout value 2275s returns immediately when timeout is zero 2276s returns the value when fulfilled before timeout 2276s returns nil when timeout reached 2276s is nil when :pending 2276s blocks the caller when :pending and timeout is nil 2276s is nil when :rejected 2276s is set to the return value of the block when :fulfilled 2276s #reason 2276s is nil when :pending 2276s is nil when :fulfilled 2276s is set to error object of the exception when :rejected 2276s #initialize 2276s sets the state to :pending 2276s raises an exception when no block given 2276s #reconfigure 2276s returns value of block used in reconfiguration 2276s returns false when process completed? 2276s #value 2276s does not call the block before #value is called 2276s calls the block when #value is called 2276s only calls the block once no matter how often #value is called 2276s raises when called recursively 2276s can be called twice 2276s 2276s Concurrent 2276s Promises::Channel 2276s #capacity 2276s #to_s 2276s #(try_)push(_op) 2276s #(try_)pop(_op) 2276s #(try_)pop(_op)_matching 2276s #(try_)select(_op) 2276s exchanging 2276s integration 2276s 2276s Concurrent 2276s ErlangActor 2276s on thread 2276s is expected to eq [:bad_message, -1] 2276s behaves like erlang actor 2276s run to termination 2276s run to termination with arguments 2276s #receive 2276s pid has name 2276s receives message 2276s receives message with matchers 2276s spawn(link: true) 2276s termination 2276s monitoring 2276s (de)monitor 2276s demonitor 2276s demonitor should leave the down message in the inbox if it's already there 2276s notifications 1 2276s notifications 2 2276s linking 2276s links 2276s unlinks 2276s link dead 2276s link dead when trapping 2276s exit/1 when linked 2276s 1 2276s 2 2276s 3 2276s 4 2276s 5 2276s 6 2276s 7 2276s 8 2276s 9 2276s exit/2 when linked 2276s 1 2276s 2 2276s 3 2276s 4 2276s 5 2276s 6 2276s 7 2276s 8 2276s 9 2276s 10 2277s 11 2277s 12 2277s 13 2277s asking 2277s replies 2277s timing out (PENDING: flaky on truffleruby and jruby) 2277s rejects on no reply 2277s on pool 2277s receives message repeatedly with keep 2277s class defined 2277s behaves like erlang actor 2277s run to termination 2277s run to termination with arguments 2277s #receive 2277s pid has name 2277s receives message 2277s receives message with matchers 2277s spawn(link: true) 2277s termination 2277s monitoring 2277s (de)monitor 2277s demonitor 2277s demonitor should leave the down message in the inbox if it's already there 2277s notifications 1 2277s notifications 2 2277s linking 2277s links 2277s unlinks 2277s link dead 2277s link dead when trapping 2277s exit/1 when linked 2277s 1 2277s 2 2277s 3 2277s 4 2277s 5 2277s 6 2277s 7 2277s 8 2277s 9 2277s exit/2 when linked 2277s 1 2277s 2 2277s 3 2277s 4 2277s 5 2277s 6 2277s 7 2277s 8 2277s 9 2277s 10 2277s 11 2277s 12 2277s 13 2277s asking 2277s replies 2277s timing out (PENDING: flaky on truffleruby and jruby) 2277s rejects on no reply 2277s 2277s Concurrent::Edge::LockFreeLinkedSet 2277s .new 2277s when passed default val 2277s uses the val arg as data for each node 2277s #add 2277s appends to the linked set 2277s in a multi-threaded environment 2277s adds the items to the set 2277s #<< 2277s appends to the linked set and returns self 2277s returns self regardless of whether it was logically added 2277s #contains? 2277s when checking if set includes a value 2277s returns true if a value exists 2277s compares object using Object#hash 2277s returns false for values not in the set 2277s when set is empty 2277s does not break 2277s when set is long 2278s does not break 2278s in a multi-threaded environment 2278s correctly check that the set contains the item 2278s #remove 2278s when item is inside of set 2278s the item is no longer visible to the user 2278s allows for the item to be added despite being physically present 2278s in a multi-threaded environment 2278s adds the items to the set 2278s does not recognize the existence of the item when removed 2278s when item is not inside of set 2278s does not remove to value 2278s the set remains intact 2278s when the set is empty 2278s remove does not break 2278s when the set is large 2279s remove successfully removes the node 2279s 2279s Concurrent::RubyExchanger 2279s behaves like exchanger 2279s #exchange 2279s behaves like exchanger method with indefinite timeout 2279s blocks indefinitely 2279s receives the other value 2279s can be reused 2279s behaves like exchanger method with finite timeout 2279s blocks until timeout 2279s receives the other value 2279s can be reused 2279s behaves like exchanger method cross-thread interactions 2279s when first, waits for a second 2279s allows multiple firsts to cancel if necessary 2279s #exchange! 2279s behaves like exchanger method with indefinite timeout 2279s blocks indefinitely 2279s receives the other value 2279s can be reused 2279s behaves like exchanger method with finite timeout 2279s blocks until timeout 2279s receives the other value 2279s can be reused 2279s behaves like exchanger method cross-thread interactions 2279s when first, waits for a second 2280s allows multiple firsts to cancel if necessary 2280s #try_exchange 2280s behaves like exchanger method with indefinite timeout 2280s blocks indefinitely 2280s receives the other value 2280s can be reused 2280s behaves like exchanger method with finite timeout 2280s blocks until timeout 2280s receives the other value 2280s can be reused 2280s behaves like exchanger method cross-thread interactions 2280s when first, waits for a second 2280s allows multiple firsts to cancel if necessary 2280s 2280s Concurrent::JavaExchanger 2280s behaves like exchanger 2280s #exchange 2280s behaves like exchanger method with indefinite timeout 2280s blocks indefinitely 2280s receives the other value 2280s can be reused 2280s behaves like exchanger method with finite timeout 2280s blocks until timeout 2280s receives the other value 2280s can be reused 2280s behaves like exchanger method cross-thread interactions 2281s when first, waits for a second 2281s allows multiple firsts to cancel if necessary 2281s #exchange! 2281s behaves like exchanger method with indefinite timeout 2281s blocks indefinitely 2281s receives the other value 2281s can be reused 2281s behaves like exchanger method with finite timeout 2281s blocks until timeout 2281s receives the other value 2281s can be reused 2281s behaves like exchanger method cross-thread interactions 2281s when first, waits for a second 2281s allows multiple firsts to cancel if necessary 2281s #try_exchange 2281s behaves like exchanger method with indefinite timeout 2281s blocks indefinitely 2281s receives the other value 2281s can be reused 2281s behaves like exchanger method with finite timeout 2281s blocks until timeout 2281s receives the other value 2282s can be reused 2282s behaves like exchanger method cross-thread interactions 2282s when first, waits for a second 2282s allows multiple firsts to cancel if necessary 2282s 2282s Concurrent::Exchanger 2282s class hierarchy 2282s inherits from JavaExchanger 2282s 2282s Concurrent::CachedThreadPool 2282s it should behave like thread_pool 2282s it should behave like executor_service 2282s it should behave like global_thread_pool 2282s #post 2282s raises an exception if no block is given 2282s returns true when the block is added to the queue 2282s calls the block with the given arguments 2282s aliases #<< 2282s #post 2283s rejects the block while shutting down 2283s rejects the block once shutdown 2283s auto terminate 2287s does not stop shutdown 2287s #running? 2287s returns true when the thread pool is running 2287s returns false when the thread pool is shutting down 2287s returns false when the thread pool is shutdown 2287s returns false when the thread pool is killed 2287s #shutdown 2287s stops accepting new tasks 2287s allows in-progress tasks to complete 2288s allows pending tasks to complete 2288s #shutdown followed by #wait_for_termination 2288s allows in-progress tasks to complete 2288s allows pending tasks to complete 2288s stops accepting/running new tasks 2288s #kill 2288s stops accepting new tasks 2288s rejects all pending tasks 2288s #wait_for_termination 2288s immediately returns true when no operations are pending 2289s returns true after shutdown has complete 2289s returns true when shutdown successfully completes before timeout 2289s returns false when shutdown fails to complete before timeout 2290s waits forever when no timeout value is given 2290s #auto_terminate? 2290s returns true by default 2290s returns true when :enable_at_exit_handler is true 2290s returns false when :enable_at_exit_handler is false 2290s #length 2290s returns zero on creation 2290s returns zero once shut down 2290s #scheduled_task_count 2290s returns zero on creation 2290s returns the approximate number of tasks that have been post thus far 2290s returns the approximate number of tasks that were post 2290s #completed_task_count 2290s returns zero on creation 2290s #shutdown 2291s allows threads to exit normally 2291s #initialize 2291s sets :max_length to DEFAULT_MAX_POOL_SIZE 2291s sets :min_length to DEFAULT_MIN_POOL_SIZE 2291s sets :idletime to DEFAULT_THREAD_IDLETIMEOUT 2291s sets :max_queue to DEFAULT_MAX_QUEUE_SIZE 2291s #min_length 2291s returns zero on creation 2291s returns zero while running 2291s returns zero once shutdown 2291s #max_length 2291s returns :max_length on creation 2291s returns :max_length while running 2291s returns :max_length once shutdown 2291s #largest_length 2291s returns zero on creation 2291s returns a non-zero number once tasks have been received 2291s returns a non-zero number after shutdown if tasks have been received 2291s #idletime 2291s returns the thread idletime 2291s runtime-specific implementation 2291s #initialize 2291s sets :fallback_policy correctly 2291s defaults :fallback_policy to :abort 2291s raises an exception if given an invalid :fallback_policy 2291s stress 2292s is expected to be <= 200 2292s is expected to be <= 4 2292s 2292s Concurrent::FixedThreadPool 2292s it should behave like thread_pool 2292s it should behave like executor_service 2292s it should behave like global_thread_pool 2292s #post 2292s raises an exception if no block is given 2292s returns true when the block is added to the queue 2292s calls the block with the given arguments 2292s aliases #<< 2292s #post 2293s rejects the block while shutting down 2293s rejects the block once shutdown 2293s auto terminate 2297s does not stop shutdown 2297s #running? 2297s returns true when the thread pool is running 2297s returns false when the thread pool is shutting down 2297s returns false when the thread pool is shutdown 2297s returns false when the thread pool is killed 2297s #shutdown 2297s stops accepting new tasks 2297s allows in-progress tasks to complete 2298s allows pending tasks to complete 2298s #shutdown followed by #wait_for_termination 2298s allows in-progress tasks to complete 2298s allows pending tasks to complete 2298s stops accepting/running new tasks 2298s #kill 2298s stops accepting new tasks 2298s rejects all pending tasks 2298s #wait_for_termination 2298s immediately returns true when no operations are pending 2298s returns true after shutdown has complete 2299s returns true when shutdown successfully completes before timeout 2299s returns false when shutdown fails to complete before timeout 2300s waits forever when no timeout value is given 2300s #auto_terminate? 2300s returns true by default 2300s returns true when :enable_at_exit_handler is true 2300s returns false when :enable_at_exit_handler is false 2300s #length 2300s returns zero on creation 2300s returns zero once shut down 2300s #scheduled_task_count 2300s returns zero on creation 2300s returns the approximate number of tasks that have been post thus far 2300s returns the approximate number of tasks that were post 2300s #completed_task_count 2300s returns zero on creation 2300s #shutdown 2301s allows threads to exit normally 2301s #initialize default values 2301s defaults :min_length correctly 2301s defaults :max_length correctly 2301s defaults :fallback_policy to :abort 2301s defaults :idletime correctly 2301s defaults default :max_queue to zero 2301s #initialize explicit values 2301s raises an exception when the pool length is less than one 2301s sets explicit :max_queue correctly 2301s correctly sets valid :fallback_policy 2301s correctly sets valid :idletime 2301s raises an exception if given an invalid :fallback_policy 2301s #min_length 2301s returns :num_threads on creation 2301s returns :num_threads while running 2301s returns :num_threads once shutdown 2301s #max_length 2301s returns :num_threads on creation 2301s returns :num_threads while running 2301s returns :num_threads once shutdown 2301s #length 2301s returns :num_threads while running 2301s #largest_length 2301s returns zero on creation 2301s returns :num_threads while running 2301s returns :num_threads once shutdown 2301s #kill 2301s attempts to kill all in-progress tasks 2301s worker creation and caching 2301s never creates more than :num_threads threads 2301s fallback policy 2301s raises an error when overflow on abort 2302s discards when fallback_policy is :discard 2303s uses the calling thread for overflow under caller_runs 2303s runtime-specific implementation 2303s sets :fallback_policy correctly 2303s 2303s Concurrent::ImmediateExecutor 2303s it should behave like executor_service 2303s it should behave like global_thread_pool 2303s #post 2303s raises an exception if no block is given 2303s returns true when the block is added to the queue 2303s calls the block with the given arguments 2303s aliases #<< 2303s #post 2304s rejects the block while shutting down 2304s rejects the block once shutdown 2304s auto terminate 2307s does not stop shutdown 2307s #running? 2307s returns true when the thread pool is running 2308s returns false when the thread pool is shutting down 2308s returns false when the thread pool is shutdown 2308s returns false when the thread pool is killed 2308s #shutdown 2308s stops accepting new tasks 2308s allows in-progress tasks to complete 2308s allows pending tasks to complete 2308s #shutdown followed by #wait_for_termination 2309s allows in-progress tasks to complete 2309s allows pending tasks to complete 2309s stops accepting/running new tasks 2309s #kill 2309s stops accepting new tasks 2311s rejects all pending tasks 2311s #wait_for_termination 2311s immediately returns true when no operations are pending 2311s returns true after shutdown has complete 2311s returns true when shutdown successfully completes before timeout 2311s returns false when shutdown fails to complete before timeout 2312s waits forever when no timeout value is given 2312s 2312s Concurrent::IndirectImmediateExecutor 2312s runs its tasks synchronously 2312s runs the task on a separate thread 2312s it should behave like executor_service 2312s it should behave like global_thread_pool 2312s #post 2312s raises an exception if no block is given 2312s returns true when the block is added to the queue 2312s calls the block with the given arguments 2312s aliases #<< 2312s #post 2313s rejects the block while shutting down 2313s rejects the block once shutdown 2313s auto terminate 2317s does not stop shutdown 2317s #running? 2317s returns true when the thread pool is running 2317s returns false when the thread pool is shutting down 2317s returns false when the thread pool is shutdown 2317s returns false when the thread pool is killed 2317s #shutdown 2318s stops accepting new tasks 2318s allows in-progress tasks to complete 2318s allows pending tasks to complete 2318s #shutdown followed by #wait_for_termination 2318s allows in-progress tasks to complete 2319s allows pending tasks to complete 2319s stops accepting/running new tasks 2319s #kill 2319s stops accepting new tasks 2320s rejects all pending tasks 2320s #wait_for_termination 2320s immediately returns true when no operations are pending 2320s returns true after shutdown has complete 2321s returns true when shutdown successfully completes before timeout 2321s returns false when shutdown fails to complete before timeout 2322s waits forever when no timeout value is given 2322s 2322s Concurrent::JavaSingleThreadExecutor 2322s it should behave like executor_service 2322s it should behave like global_thread_pool 2322s #post 2322s raises an exception if no block is given 2322s returns true when the block is added to the queue 2322s calls the block with the given arguments 2322s aliases #<< 2322s #post 2323s rejects the block while shutting down 2323s rejects the block once shutdown 2323s auto terminate 2326s does not stop shutdown 2326s #running? 2326s returns true when the thread pool is running 2327s returns false when the thread pool is shutting down 2327s returns false when the thread pool is shutdown 2327s returns false when the thread pool is killed 2327s #shutdown 2327s stops accepting new tasks 2327s allows in-progress tasks to complete 2327s allows pending tasks to complete 2327s #shutdown followed by #wait_for_termination 2327s allows in-progress tasks to complete 2328s allows pending tasks to complete 2328s stops accepting/running new tasks 2328s #kill 2328s stops accepting new tasks 2329s rejects all pending tasks 2329s #wait_for_termination 2329s immediately returns true when no operations are pending 2329s returns true after shutdown has complete 2329s returns true when shutdown successfully completes before timeout 2329s returns false when shutdown fails to complete before timeout 2330s waits forever when no timeout value is given 2330s 2330s Concurrent::JavaThreadPoolExecutor 2330s it should behave like thread_pool 2330s it should behave like executor_service 2330s it should behave like global_thread_pool 2330s #post 2330s raises an exception if no block is given 2330s returns true when the block is added to the queue 2330s calls the block with the given arguments 2330s aliases #<< 2330s #post 2331s rejects the block while shutting down 2331s rejects the block once shutdown 2331s auto terminate 2334s does not stop shutdown 2334s #running? 2334s returns true when the thread pool is running 2335s returns false when the thread pool is shutting down 2335s returns false when the thread pool is shutdown 2335s returns false when the thread pool is killed 2335s #shutdown 2335s stops accepting new tasks 2335s allows in-progress tasks to complete 2335s allows pending tasks to complete 2335s #shutdown followed by #wait_for_termination 2336s allows in-progress tasks to complete 2336s allows pending tasks to complete 2336s stops accepting/running new tasks 2336s #kill 2336s stops accepting new tasks 2336s rejects all pending tasks 2336s #wait_for_termination 2336s immediately returns true when no operations are pending 2336s returns true after shutdown has complete 2337s returns true when shutdown successfully completes before timeout 2337s returns false when shutdown fails to complete before timeout 2338s waits forever when no timeout value is given 2338s #auto_terminate? 2338s returns true by default 2338s returns true when :enable_at_exit_handler is true 2338s returns false when :enable_at_exit_handler is false 2338s #length 2338s returns zero on creation 2338s returns zero once shut down 2338s #scheduled_task_count 2338s returns zero on creation 2338s returns the approximate number of tasks that have been post thus far 2338s returns the approximate number of tasks that were post 2338s #completed_task_count 2338s returns zero on creation 2338s #shutdown 2339s allows threads to exit normally 2339s it should behave like thread_pool_executor 2339s #initialize defaults 2339s defaults :min_length to DEFAULT_MIN_POOL_SIZE 2339s defaults :max_length to DEFAULT_MAX_POOL_SIZE 2339s defaults :idletime to DEFAULT_THREAD_IDLETIMEOUT 2339s defaults :max_queue to DEFAULT_MAX_QUEUE_SIZE 2339s defaults :fallback_policy to :abort 2339s defaults :name to nil 2339s #initialize explicit values 2339s sets :min_threads 2339s sets :max_threads 2339s sets :idletime 2339s doesn't allow max_threads < min_threads 2339s accepts all valid fallback policies 2339s raises an exception if :max_threads is less than zero 2339s raises an exception if :min_threads is less than zero 2339s raises an exception if :max_threads greater than the max allowable 2339s raises an exception if :max_threads is less than :min_threads 2339s raises an exception if given an invalid :fallback_policy 2339s sets :name 2339s #max_queue 2339s returns the set value on creation 2339s returns the set value when running 2339s returns the set value after stopping 2339s #synchronous 2339s cannot be set unless `max_queue` is zero 2339s executes fallback policy once max_threads has been reached 2339s #queue_length 2339s returns zero on creation 2339s returns zero when there are no enqueued tasks 2339s returns the size of the queue when tasks are enqueued 2339s returns zero when stopped 2339s can never be greater than :max_queue 2339s #remaining_capacity 2339s returns -1 when :max_queue is set to zero 2339s returns :max_length on creation 2339s returns :max_length when stopped 2339s #active_count 2339s returns the number of threads that are actively executing tasks. 2339s #fallback_policy 2339s :abort 2339s #post raises an error when the queue is at capacity 2339s #<< raises an error when the queue is at capacity 2339s #post raises an error when the executor is shutting down 2339s #<< raises an error when the executor is shutting down 2339s a #post task is never executed when the queue is at capacity 2339s a #<< task is never executed when the queue is at capacity 2339s :discard 2339s a #post task is never executed when the queue is at capacity 2339s a #<< task is never executed when the queue is at capacity 2339s a #post task is never executed when the executor is shutting down 2339s a #<< task is never executed when the executor is shutting down 2339s #post returns false when the executor is shutting down 2339s :caller_runs 2339s #post does not create any new threads when the queue is at capacity 2340s #<< executes the task on the current thread when the queue is at capacity 2340s #post executes the task on the current thread when the queue is at capacity 2340s #post executes the task on the current thread when the executor is shutting down 2340s #<< executes the task on the current thread when the executor is shutting down 2340s #post does not block other jobs running on the worker threads 2340s prune 2340s is a no-op, pruning is handled by the JVM 2340s #overload_policy 2340s :abort maps to AbortPolicy 2340s :discard maps to DiscardPolicy 2340s :caller_runs maps to CallerRunsPolicy 2340s 2340s Concurrent::RubySingleThreadExecutor 2340s it should behave like executor_service 2340s it should behave like global_thread_pool 2340s #post 2340s raises an exception if no block is given 2340s returns true when the block is added to the queue 2340s calls the block with the given arguments 2340s aliases #<< 2340s #post 2341s rejects the block while shutting down 2341s rejects the block once shutdown 2341s auto terminate 2344s does not stop shutdown 2344s #running? 2344s returns true when the thread pool is running 2345s returns false when the thread pool is shutting down 2345s returns false when the thread pool is shutdown 2345s returns false when the thread pool is killed 2345s #shutdown 2345s stops accepting new tasks 2345s allows in-progress tasks to complete 2346s allows pending tasks to complete 2346s #shutdown followed by #wait_for_termination 2346s allows in-progress tasks to complete 2346s allows pending tasks to complete 2347s stops accepting/running new tasks 2347s #kill 2347s stops accepting new tasks 2347s rejects all pending tasks 2347s #wait_for_termination 2347s immediately returns true when no operations are pending 2347s returns true after shutdown has complete 2348s returns true when shutdown successfully completes before timeout 2348s returns false when shutdown fails to complete before timeout 2348s waits forever when no timeout value is given 2348s 2348s Concurrent::RubyThreadPoolExecutor 2348s it should behave like thread_pool 2348s it should behave like executor_service 2348s it should behave like global_thread_pool 2348s #post 2348s raises an exception if no block is given 2348s returns true when the block is added to the queue 2348s calls the block with the given arguments 2348s aliases #<< 2348s #post 2349s rejects the block while shutting down 2349s rejects the block once shutdown 2349s auto terminate 2353s does not stop shutdown 2353s #running? 2353s returns true when the thread pool is running 2353s returns false when the thread pool is shutting down 2353s returns false when the thread pool is shutdown 2353s returns false when the thread pool is killed 2353s #shutdown 2354s stops accepting new tasks 2354s allows in-progress tasks to complete 2354s allows pending tasks to complete 2354s #shutdown followed by #wait_for_termination 2354s allows in-progress tasks to complete 2354s allows pending tasks to complete 2354s stops accepting/running new tasks 2354s #kill 2354s stops accepting new tasks 2355s rejects all pending tasks 2355s #wait_for_termination 2355s immediately returns true when no operations are pending 2355s returns true after shutdown has complete 2355s returns true when shutdown successfully completes before timeout 2355s returns false when shutdown fails to complete before timeout 2356s waits forever when no timeout value is given 2356s #auto_terminate? 2356s returns true by default 2356s returns true when :enable_at_exit_handler is true 2356s returns false when :enable_at_exit_handler is false 2356s #length 2356s returns zero on creation 2356s returns zero once shut down 2356s #scheduled_task_count 2356s returns zero on creation 2356s returns the approximate number of tasks that have been post thus far 2356s returns the approximate number of tasks that were post 2356s #completed_task_count 2356s returns zero on creation 2356s #shutdown 2357s allows threads to exit normally 2357s it should behave like thread_pool_executor 2357s #initialize defaults 2357s defaults :min_length to DEFAULT_MIN_POOL_SIZE 2357s defaults :max_length to DEFAULT_MAX_POOL_SIZE 2357s defaults :idletime to DEFAULT_THREAD_IDLETIMEOUT 2357s defaults :max_queue to DEFAULT_MAX_QUEUE_SIZE 2357s defaults :fallback_policy to :abort 2357s defaults :name to nil 2357s #initialize explicit values 2357s sets :min_threads 2357s sets :max_threads 2357s sets :idletime 2357s doesn't allow max_threads < min_threads 2357s accepts all valid fallback policies 2357s raises an exception if :max_threads is less than zero 2357s raises an exception if :min_threads is less than zero 2357s raises an exception if :max_threads greater than the max allowable 2357s raises an exception if :max_threads is less than :min_threads 2357s raises an exception if given an invalid :fallback_policy 2357s sets :name 2357s #max_queue 2357s returns the set value on creation 2357s returns the set value when running 2357s returns the set value after stopping 2357s #synchronous 2357s cannot be set unless `max_queue` is zero 2357s executes fallback policy once max_threads has been reached 2357s #queue_length 2357s returns zero on creation 2357s returns zero when there are no enqueued tasks 2357s returns the size of the queue when tasks are enqueued 2357s returns zero when stopped 2357s can never be greater than :max_queue 2357s #remaining_capacity 2357s returns -1 when :max_queue is set to zero 2357s returns :max_length on creation 2357s returns :max_length when stopped 2357s #active_count 2357s returns the number of threads that are actively executing tasks. 2357s #fallback_policy 2357s :abort 2357s #post raises an error when the queue is at capacity 2357s #<< raises an error when the queue is at capacity 2357s #post raises an error when the executor is shutting down 2357s #<< raises an error when the executor is shutting down 2357s a #post task is never executed when the queue is at capacity 2357s a #<< task is never executed when the queue is at capacity 2357s :discard 2357s a #post task is never executed when the queue is at capacity 2357s a #<< task is never executed when the queue is at capacity 2357s a #post task is never executed when the executor is shutting down 2357s a #<< task is never executed when the executor is shutting down 2357s #post returns false when the executor is shutting down 2357s :caller_runs 2357s #post does not create any new threads when the queue is at capacity 2357s #<< executes the task on the current thread when the queue is at capacity 2357s #post executes the task on the current thread when the queue is at capacity 2357s #post executes the task on the current thread when the executor is shutting down 2357s #<< executes the task on the current thread when the executor is shutting down 2357s #post does not block other jobs running on the worker threads 2357s #remaining_capacity 2357s returns :max_length when no tasks are enqueued 2358s returns the remaining capacity when tasks are enqueued 2358s threads naming 2358s without pool name 2358s sets counted name 2358s with pool name 2358s sets counted name 2358s 2358s Concurrent::SafeTaskExecutor 2358s #execute 2358s happy execution 2358s should return success 2358s should return task value 2358s should return a nil reason 2358s passes all arguments to #execute to the task 2358s protectes #execute with a mutex 2358s failing execution 2358s should return false success 2358s should return a nil value 2358s should return the reason 2358s rescues Exception when :rescue_exception is true 2358s rescues StandardError when :rescue_exception is false 2358s rescues StandardError by default 2358s 2358s Concurrent::SerializedExecutionDelegator 2358s it should behave like executor_service 2358s it should behave like global_thread_pool 2358s #post 2358s raises an exception if no block is given 2358s returns true when the block is added to the queue 2358s calls the block with the given arguments 2358s aliases #<< 2358s #post 2359s rejects the block while shutting down 2359s rejects the block once shutdown 2359s auto terminate 2362s does not stop shutdown 2362s #running? 2362s returns true when the thread pool is running 2363s returns false when the thread pool is shutting down 2363s returns false when the thread pool is shutdown 2363s returns false when the thread pool is killed 2363s #shutdown 2363s stops accepting new tasks 2363s allows in-progress tasks to complete 2364s allows pending tasks to complete 2364s #shutdown followed by #wait_for_termination 2364s allows in-progress tasks to complete 2364s allows pending tasks to complete 2365s stops accepting/running new tasks 2365s #kill 2365s stops accepting new tasks 2366s rejects all pending tasks 2366s #wait_for_termination 2366s immediately returns true when no operations are pending 2366s returns true after shutdown has complete 2367s returns true when shutdown successfully completes before timeout 2367s returns false when shutdown fails to complete before timeout 2367s waits forever when no timeout value is given 2367s 2367s Concurrent::SimpleExecutorService 2367s it should behave like executor_service 2367s it should behave like global_thread_pool 2367s #post 2367s raises an exception if no block is given 2367s returns true when the block is added to the queue 2367s calls the block with the given arguments 2367s aliases #<< 2367s #post 2368s rejects the block while shutting down 2368s rejects the block once shutdown 2368s auto terminate 2372s does not stop shutdown 2372s #running? 2372s returns true when the thread pool is running 2372s returns false when the thread pool is shutting down 2372s returns false when the thread pool is shutdown 2372s returns false when the thread pool is killed 2372s #shutdown 2373s stops accepting new tasks 2373s allows in-progress tasks to complete 2373s allows pending tasks to complete 2373s #shutdown followed by #wait_for_termination 2373s allows in-progress tasks to complete 2373s allows pending tasks to complete 2373s stops accepting/running new tasks 2373s #kill 2374s stops accepting new tasks 2374s rejects all pending tasks 2374s #wait_for_termination 2374s immediately returns true when no operations are pending 2374s returns true after shutdown has complete 2374s returns true when shutdown successfully completes before timeout 2375s returns false when shutdown fails to complete before timeout 2375s waits forever when no timeout value is given 2375s #post 2375s creates a new thread for a call without arguments 2375s executes a call without arguments 2375s creates a new thread for a call with arguments 2375s executes a call with one argument 2375s executes a call with multiple arguments 2375s aliases #<< 2375s SimpleExecutorService.post 2375s creates a new thread for a call without arguments 2375s executes a call without arguments 2375s creates a new thread for a call with arguments 2375s executes a call with one argument 2375s executes a call with multiple arguments 2375s aliases #<< 2375s 2375s Concurrent::SingleThreadExecutor 2375s inherits from JavaSingleThreadExecutor 2375s 2375s Concurrent::ThreadPoolExecutor 2375s inherits from JavaThreadPoolExecutor 2375s 2375s Concurrent::TimerSet 2375s construction 2375s uses the executor given at construction 2375s uses the global io executor be default 2375s #post 2375s raises an exception when given a task with a delay less than zero 2375s raises an exception when no block given 2375s immediately posts a task when the delay is zero 2375s execution 2375s executes a given task when given an interval in seconds 2375s returns an IVar when posting a task 2375s executes a given task when given an interval in seconds, even if longer tasks have been scheduled 2375s passes all arguments to the task on execution 2376s does not execute tasks early 2376s executes all tasks scheduled for the same time 2376s executes tasks with different times in schedule order 2376s executes tasks with different times in schedule time 2376s continues to execute new tasks even after the queue is emptied 2377s safely handles an executor raising RejectedExecutionError 2377s resolution 2377s sets the IVar value on success when delay is zero 2377s sets the IVar value on success when given a delay 2377s sets the IVar reason on failure when delay is zero 2377s sets the IVar reason on failure when given a delay 2377s task cancellation 2377s fails to cancel the task once processing has begun 2377s fails to cancel the task once processing is complete 2377s cancels a pending task 2377s returns false when not running 2377s task rescheduling 2377s raises an exception when given an invalid time 2377s does not change the current schedule when given an invalid time 2377s reschdules a pending and unpost task when given a valid time 2377s returns false once the task has been post to the executor 2377s returns false once the task is processing 2377s returns false once the task has is complete 2377s returns false when not running 2377s task resetting 2377s calls #reschedule with the original delay 2377s termination 2377s cancels all pending tasks on #shutdown 2377s cancels all pending tasks on #kill 2377s stops the monitor thread on #shutdown 2377s kills the monitor thread on #kill 2377s rejects tasks once shutdown 2377s rejects tasks once killed 2377s #wait_for_termination returns true if shutdown completes before timeout 2378s #wait_for_termination returns false on timeout 2378s state 2378s is running? when first created 2378s is running? after tasks have been post 2378s is shutdown? after shutdown completes 2378s is shutdown? after being killed 2378s 2378s Concurrent::WrappingExecutor 2378s is expected to be a kind of Concurrent::WrappingExecutor 2378s is expected to respond to #post 2378s is expected to respond to #can_overflow? 2378s is expected to respond to #serialized? 2378s #post 2378s with passthrough wrapper 2378s is expected to equal # 2378s with wrapper modifying args 2378s is expected to equal # 2378s with wrapper modifying task 2378s is expected to equal # 2378s 2378s Concurrent::Future 2378s it should behave like ivar 2378s it should behave like obligation 2378s #state 2378s is :pending when first created 2378s is :fulfilled when the handler completes 2378s is :rejected when the handler raises an exception 2378s #value 2378s returns nil when reaching the optional timeout value 2378s returns immediately when timeout is zero 2383s returns the value when fulfilled before timeout 2383s returns nil when timeout reached 2383s is nil when :pending 2388s blocks the caller when :pending and timeout is nil 2388s is nil when :rejected 2388s is set to the return value of the block when :fulfilled 2388s #reason 2388s is nil when :pending 2388s is nil when :fulfilled 2388s is set to error object of the exception when :rejected 2388s it should behave like dereferenceable 2388s defaults :dup_on_deref to false 2388s calls #dup when the :dup_on_deref option is true 2388s defaults :freeze_on_deref to false 2389s calls #freeze when the :freeze_on_deref option is true 2389s defaults :copy_on_deref to nil 2389s calls the block when the :copy_on_deref option is passed a proc 2389s calls the :copy block first followed by #dup followed by #freeze 2389s does not call #dup when #dup_on_deref is set and the value is nil 2389s does not call #freeze when #freeze_on_deref is set and the value is nil 2390s does not call the #copy_on_deref block when the value is nil 2390s supports dereference flags with observers 2390s it should behave like observable 2390s #add_observer 2390s adds an observer if called before first notification 2390s adds an observer with :func if called before first notification 2390s creates an observer from a block if called before first notification 2390s raises an exception if not given an observer or a block 2390s raises an exception when given both an observer and a block 2390s #delete_observer 2390s deletes the given observer if called before first notification 2390s returns the removed observer if found in the observer set 2390s returns the given observer even when not found in the observer set 2390s #delete_observers 2390s deletes all observers when called before first notification 2390s returns self 2390s #count_observers 2390s returns zero for a new observable object 2390s returns a count of registered observers if called before first notification 2390s returns zero after #delete_observers has been called 2390s first notification 2390s calls the #update method on all observers without a specified :func 2390s calls the appropriate function on all observers which specified a :func 2390s calls the proc for all observers added as a block 2391s does not notify any observers removed with #delete_observer 2392s does not notify any observers after #delete_observers called 2392s initialization 2392s sets the state to incomplete 2392s #set 2392s sets the state to be fulfilled 2392s sets the value 2392s raises an exception if set more than once 2392s returns self 2392s fulfils when given a block which executes successfully 2392s rejects when given a block which raises an exception 2392s raises an exception when given a value and a block 2392s raises an exception when given neither a value nor a block 2392s #fail 2392s sets the state to be rejected 2392s sets the value to be nil 2392s sets the reason to the given exception 2392s raises an exception if set more than once 2392s defaults the reason to a StandardError 2392s returns self 2392s #try_set 2392s when unset 2392s assigns the value 2392s assigns the block result 2392s returns true 2392s when fulfilled 2392s does not assign the value 2392s does not assign the block result 2392s returns false 2392s when rejected 2392s does not assign the value 2392s does not assign the block result 2392s has a nil value 2392s returns false 2392s it should behave like thread_arguments 2392s passes an empty array when opts is not given 2392s passes an empty array when opts is an empty hash 2392s passes an empty array when there is no :args key 2392s passes an empty array when the :args key has a nil value 2392s passes a one-element array when the :args key has a non-array value 2392s passes an array when when the :args key has an array value 2392s passes the given array when the :args key has a complex array value 2392s allows the given arguments array to be dereferenced 2392s #initialize 2392s sets the state to :unscheduled 2392s raises an exception when no block given 2392s uses the executor given with the :executor option 2392s uses the global io executor by default 2392s instance #execute 2392s does nothing unless the state is :unscheduled 2392s posts the block given on construction 2392s sets the state to :pending 2392s returns self 2392s class #execute 2392s creates a new Future 2392s passes the block to the new Future 2392s calls #execute on the new Future 2392s fulfillment 2392s sets the state to :processing while the task is executing 2392s passes all arguments to handler 2392s sets the value to the result of the handler 2392s sets the state to :fulfilled when the block completes 2392s sets the value to nil when the handler raises an exception 2392s sets the value to nil when the handler raises Exception 2392s sets the reason to the Exception instance when the handler raises Exception 2392s sets the state to :rejected when the handler raises an exception 2392s aliases 2393s aliases #realized? for #fulfilled? 2393s aliases #deref for #value 2393s cancellation 2393s #cancel 2393s fails to cancel the task once processing has begun 2393s fails to cancel the task once processing is complete 2393s cancels a pending task 2393s #wait_or_cancel 2393s returns true if the operation completes before timeout 2393s cancels the task on timeout 2393s observation 2393s notifies all observers on fulfillment 2393s notifies all observers on rejection 2393s notifies an observer added after fulfillment 2393s notifies an observer added after rejection 2393s does not notify existing observers when a new observer added after fulfillment 2393s does not notify existing observers when a new observer added after rejection 2393s deadlock avoidance 2393s should notify observers outside mutex lock 2393s should notify a new observer added after fulfillment outside lock 2393s 2393s Concurrent::Hash 2393s .[] 2393s when initializing with no arguments 2393s is expected to be empty 2393s when initializing with an even number of arguments 2393s creates a hash using the odd position arguments as keys and even position arguments as values 2393s when initializing with an array of pairs 2393s creates a hash using each pair as a (key, value) pair 2393s when initializing with another hash as an argument 2393s creates a new hash 2393s creates a hash with the same contents as the other hash 2393s creates a hash with the results of calling #to_hash on the other array 2393s .new 2393s when initializing with no arguments 2393s is expected to be empty 2393s when initialized with a default object 2393s uses the default object for non-existing keys 2393s when initialized with a block 2393s calls the block for non-existing keys 2393s returns the results of calling the block for non-existing key 2393s concurrency 2393s is expected to be empty 2393s 2393s Concurrent::ImmutableStruct 2393s it should behave like struct 2393s definition 2393s registers the class when given a class name 2393s registers the class when given a class name which is defined in the ancestors 2393s creates an anonymous class when given at least one member 2393s raises an exception when given an invalid class name 2393s defines a getter for each member 2393s raises an exception when given no members 2393s raise an exception when given an invalid member 2393s evalues a given block against the new class 2393s construction 2393s sets all absent members to nil 2393s sets all given members in order 2393s raises an exception when extra members are given 2393s properties 2393s #length 2393s returns the number of struct members 2393s #members 2393s returns the struct members as an array of symbols 2393s returns a different object than the array passed at definition 2393s #size 2393s returns the number of struct members 2393s #values 2393s returns the values of the struct as an array in order 2393s #values_at 2393s returns the value at the given offset 2393s returns the values at multiple given offsets 2393s returns values at offsets in a given range 2393s returns values for multiple ranges 2393s returns values for ranges and offsets 2393s accessors 2393s #[member] 2393s retrieves the value when given a valid symbol member 2393s retrieves the value when given a valid string member 2393s raises an exception when given a non-existent symbol member 2393s raises an exception when given a non-existent string member 2393s #[index] 2393s retrieves the value when given a valid index 2393s raises an exception when given an out-of-bound index 2393s comparison 2393s #== 2393s returns true if other has same struct subclass and equal values 2393s returns false if other has different struct subclass 2393s returns false if other has different values 2393s #!= 2393s returns false if other has same struct subclass and equal values 2393s returns true if other has different struct subclass 2393s returns true if other has different values 2393s enumeration 2393s #each 2393s yields the value of each struct member in order 2393s returns an enumerator when no block is given 2393s #each_pair 2393s yields the name and value of each struct member in order 2393s returns an enumerator when no block is given 2393s #select 2393s yields each value 2393s returns an Array with the values from for which the block returns true 2393s returns an enumerator when no block is given 2393s conversion 2393s #to_s 2393s includes the name of the class when registered 2393s includes the names of all members 2393s includes all values 2393s returns the same string as #inspect 2393s #to_a 2393s returns the to_a for this struct as an array 2393s #to_h 2393s returns a Hash containing the names and values in order 2393s copy 2393s #dup 2393s shallowly duplicates all members along with the struct 2393s discards frozen state of the struct 2393s retains frozen state of members 2393s discards singleton class 2393s copies the singleton class of members 2393s #clone 2393s shallowly clones all members along with the struct 2393s retains frozen state 2393s copies the singleton class 2393s copies the singleton class of members 2393s it should behave like mergeable_struct 2393s #merge 2393s updates all members with the new values from a given hash 2393s calls the given block for each key in `other` 2393s retains the value for all members not without values in the given hash 2393s raises an exception when given a hash with members not in the struct 2393s returns a new object 2393s 2393s Concurrent::IVar 2393s it should behave like ivar 2393s it should behave like obligation 2393s #state 2393s is :pending when first created 2393s is :fulfilled when the handler completes 2393s is :rejected when the handler raises an exception 2393s #value 2393s returns nil when reaching the optional timeout value 2393s returns immediately when timeout is zero 2393s returns the value when fulfilled before timeout 2393s returns nil when timeout reached 2393s is nil when :pending 2393s blocks the caller when :pending and timeout is nil 2393s is nil when :rejected 2393s is set to the return value of the block when :fulfilled 2393s #reason 2393s is nil when :pending 2393s is nil when :fulfilled 2393s is set to error object of the exception when :rejected 2393s it should behave like dereferenceable 2393s defaults :dup_on_deref to false 2393s calls #dup when the :dup_on_deref option is true 2393s defaults :freeze_on_deref to false 2393s calls #freeze when the :freeze_on_deref option is true 2393s defaults :copy_on_deref to nil 2393s calls the block when the :copy_on_deref option is passed a proc 2393s calls the :copy block first followed by #dup followed by #freeze 2393s does not call #dup when #dup_on_deref is set and the value is nil 2393s does not call #freeze when #freeze_on_deref is set and the value is nil 2393s does not call the #copy_on_deref block when the value is nil 2393s supports dereference flags with observers 2393s it should behave like observable 2393s #add_observer 2393s adds an observer if called before first notification 2393s adds an observer with :func if called before first notification 2393s creates an observer from a block if called before first notification 2393s raises an exception if not given an observer or a block 2393s raises an exception when given both an observer and a block 2393s #delete_observer 2393s deletes the given observer if called before first notification 2393s returns the removed observer if found in the observer set 2393s returns the given observer even when not found in the observer set 2393s #delete_observers 2393s deletes all observers when called before first notification 2393s returns self 2393s #count_observers 2393s returns zero for a new observable object 2393s returns a count of registered observers if called before first notification 2393s returns zero after #delete_observers has been called 2393s first notification 2393s calls the #update method on all observers without a specified :func 2393s calls the appropriate function on all observers which specified a :func 2393s calls the proc for all observers added as a block 2394s does not notify any observers removed with #delete_observer 2395s does not notify any observers after #delete_observers called 2395s initialization 2395s sets the state to incomplete 2395s #set 2395s sets the state to be fulfilled 2395s sets the value 2395s raises an exception if set more than once 2395s returns self 2395s fulfils when given a block which executes successfully 2395s rejects when given a block which raises an exception 2395s raises an exception when given a value and a block 2395s raises an exception when given neither a value nor a block 2395s #fail 2395s sets the state to be rejected 2395s sets the value to be nil 2395s sets the reason to the given exception 2395s raises an exception if set more than once 2395s defaults the reason to a StandardError 2395s returns self 2395s #try_set 2395s when unset 2395s assigns the value 2395s assigns the block result 2395s returns true 2395s when fulfilled 2395s does not assign the value 2395s does not assign the block result 2395s returns false 2395s when rejected 2395s does not assign the value 2395s does not assign the block result 2395s has a nil value 2395s returns false 2395s #initialize 2395s does not have to set an initial value 2395s does not set an initial value if you pass NULL 2395s can set an initial value 2395s can set an initial value with a block 2395s raises an exception if given both a value and a block 2395s observation 2395s notifies all observers on #set 2395s deadlock avoidance 2395s should notify observers outside mutex lock 2395s should notify a new observer added after fulfillment outside lock 2395s 2395s Concurrent::LazyRegister 2395s example at ./spec/concurrent/lazy_register_spec.rb:6 (PENDING: Not yet implemented) 2395s 2395s Concurrent::Map 2395s default_proc is called with the Concurrent::Map and the key 2395s default_proc is called with the Concurrent::Map and the key after #dup 2395s concurrency 2395s retrieval 2395s #put_if_absent 2395s updates dont block reads 2396s collision resistance 2402s collision resistance with arrays 2402s #replace_pair 2402s #replace_if_exists 2402s #get_and_set 2402s #key 2402s #key? 2402s #value? 2402s #delete 2402s #delete_pair 2402s default proc 2402s falsy default proc 2402s #clear 2402s #keys 2402s #values 2402s #each_key 2402s #each_value 2402s #empty 2402s options validation 2402s initial capacity options validation 2402s load factor options validation 2402s #size 2402s #get_or_default 2402s #dup,#clone 2402s is unfreezable 2402s marshal dump load 2402s marshal dump does not work with default proc 2402s #inspect 2402s #compute_if_absent 2402s works in default_proc 2402s common 2402s with return 2402s exception 2403s atomicity 2403s #compute_if_present 2403s common 2403s with return 2403s exception 2403s #compute 2403s common 2403s with return 2403s exception 2403s #merge_pair 2403s common 2403s with return 2403s exception 2403s #fetch 2403s common 2403s falsy 2403s with return 2403s #fetch_or_store 2403s common 2403s falsy 2403s with return 2403s #each_pair 2403s it should behave like collection_each 2403s common 2403s pair iterator 2403s allows modification 2403s when no block is given 2403s returns an enumerator 2403s returns an object which is enumerable 2403s #each 2403s it should behave like collection_each 2403s common 2403s pair iterator 2403s allows modification 2403s when no block is given 2403s returns an enumerator 2403s returns an object which is enumerable 2403s 2403s Concurrent::Maybe 2403s construction 2403s hides Maybe.new 2403s Maybe.from 2403s raises an exception when no block is given 2403s passes all arguments to the block 2403s creates a Just Maybe on success 2403s sets the value to the block result on success 2403s creates a Nothing Maybe on exception 2403s sets the reason to the error object on exception 2403s Maybe.just 2403s creates a new Just Maybe 2403s Maybe.nothing 2403s creates a new Nothing Maybe 2403s uses the given Error object 2403s creates a new error object with the given string 2403s creates a new error object when given nothing 2403s when just 2403s #just? returns true 2403s #fulfilled? returns true 2403s #nothing? returns false 2403s #rejected? returns false 2403s #just returns the value 2403s #value returns the value 2403s #nothing returns NONE 2403s #reason returns NONE 2403s when nothing 2403s #just? returns false 2403s #fulfilled? returns false 2403s #nothing? returns true 2403s #rejected? returns true 2403s #just returns NONE 2403s #value returns NONE 2403s #nothing returns the raised error 2403s #reason returns the raised error 2403s comparison 2403s something is not equal to nothing 2403s nothing is equal to nothing 2403s something is equal to the same value 2403s something is not equal to a different value 2403s something is greater than a smaller value 2403s something is less than a bigger value 2403s nothing is not less than nothing 2403s nothing is not greater than nothing 2403s #or 2403s returns the value when something 2403s returns the other when nothing 2403s 2403s monotonic_time 2403s behavior 2403s returns seconds as float 2403s returns a Float when unit = :float_second 2403s returns a Float when unit = :float_millisecond 2403s returns a Float when unit = :float_microsecond 2403s returns an Integer when unit = :second 2403s returns an Integer when unit = :millisecond 2403s returns an Integer when unit = :microsecond 2403s returns an Integer when unit = :nanosecond 2403s raises ArgumentError on unknown units 2403s 2403s Concurrent::MutableStruct 2403s it should behave like struct 2403s definition 2403s registers the class when given a class name 2403s registers the class when given a class name which is defined in the ancestors 2403s /tmp/autopkgtest.EPK8tO/build.yMJ/src/spec/concurrent/struct_shared.rb:15: warning: already initialized constant ValidClassName2 2403s creates an anonymous class when given at least one member 2403s raises an exception when given an invalid class name 2403s defines a getter for each member 2403s raises an exception when given no members 2403s raise an exception when given an invalid member 2403s evalues a given block against the new class 2403s construction 2403s sets all absent members to nil 2403s sets all given members in order 2403s raises an exception when extra members are given 2403s properties 2403s #length 2403s returns the number of struct members 2403s #members 2403s returns the struct members as an array of symbols 2403s returns a different object than the array passed at definition 2403s #size 2403s returns the number of struct members 2403s #values 2403s returns the values of the struct as an array in order 2403s #values_at 2403s returns the value at the given offset 2403s returns the values at multiple given offsets 2403s returns values at offsets in a given range 2403s returns values for multiple ranges 2403s returns values for ranges and offsets 2403s accessors 2403s #[member] 2403s retrieves the value when given a valid symbol member 2403s retrieves the value when given a valid string member 2403s raises an exception when given a non-existent symbol member 2403s raises an exception when given a non-existent string member 2403s #[index] 2403s retrieves the value when given a valid index 2403s raises an exception when given an out-of-bound index 2403s comparison 2403s #== 2403s returns true if other has same struct subclass and equal values 2403s returns false if other has different struct subclass 2403s returns false if other has different values 2403s #!= 2403s returns false if other has same struct subclass and equal values 2403s returns true if other has different struct subclass 2403s returns true if other has different values 2403s enumeration 2403s #each 2403s yields the value of each struct member in order 2403s returns an enumerator when no block is given 2403s #each_pair 2403s yields the name and value of each struct member in order 2403s returns an enumerator when no block is given 2403s #select 2403s yields each value 2403s returns an Array with the values from for which the block returns true 2403s returns an enumerator when no block is given 2403s conversion 2403s #to_s 2403s includes the name of the class when registered 2403s includes the names of all members 2403s includes all values 2403s returns the same string as #inspect 2403s #to_a 2403s returns the to_a for this struct as an array 2403s #to_h 2403s returns a Hash containing the names and values in order 2403s copy 2403s #dup 2403s shallowly duplicates all members along with the struct 2403s discards frozen state of the struct 2403s retains frozen state of members 2403s discards singleton class 2403s copies the singleton class of members 2403s #clone 2403s shallowly clones all members along with the struct 2403s retains frozen state 2403s copies the singleton class 2403s copies the singleton class of members 2403s it should behave like mergeable_struct 2403s #merge 2403s updates all members with the new values from a given hash 2403s calls the given block for each key in `other` 2403s retains the value for all members not without values in the given hash 2403s raises an exception when given a hash with members not in the struct 2403s returns a new object 2403s definition 2403s defines a setter for each member 2403s #[member]= 2403s sets the value when given a valid symbol member 2403s sets the value when given a valid string member 2403s raises an exception when given a non-existent symbol member 2403s raises an exception when given a non-existent string member 2403s #[index]= 2403s sets the value when given a valid index 2403s raises an exception when given an out-of-bound index 2403s synchronization 2403s protects #values 2403s protects #values_at 2403s protects #[index] 2403s protects #[member] 2403s protects getter methods 2403s protects #[index]= 2403s protects #[member]= 2403s protects getter methods 2403s protects #to_s 2403s protects #inspect 2403s protects #merge 2403s protects #to_h 2403s protects #== 2403s protects #each 2403s protects #each_pair 2403s protects #select 2403s protects #initialize_copy 2403s copy 2403s #dup 2403s mutates only the copy 2403s #clone 2403s mutates only the copy 2403s 2403s Concurrent::MVar 2403s behavior 2403s it should behave like dereferenceable 2403s defaults :dup_on_deref to false 2403s calls #dup when the :dup_on_deref option is true 2403s defaults :freeze_on_deref to false 2403s calls #freeze when the :freeze_on_deref option is true 2403s defaults :copy_on_deref to nil 2403s calls the block when the :copy_on_deref option is passed a proc 2403s calls the :copy block first followed by #dup followed by #freeze 2403s does not call #dup when #dup_on_deref is set and the value is nil 2403s does not call #freeze when #freeze_on_deref is set and the value is nil 2403s does not call the #copy_on_deref block when the value is nil 2403s supports dereference flags with observers 2403s #initialize 2403s accepts no initial value 2403s accepts an empty initial value 2403s accepts an initial value 2403s accepts a nil initial value 2403s #take 2403s sets the MVar to empty 2403s returns the value on a full MVar 2403s waits for another thread to #put 2403s returns TIMEOUT on timeout on an empty MVar 2403s #borrow 2403s /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85: warning: loading in progress, circular require considered harmful - /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/yield.rb require at org/jruby/RubyKernel.java:1175 2403s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 2403s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/yield.rb:101 2403s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/yield.rb:7 2403s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/yield.rb:6 2403s
at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/yield.rb:5 2403s require at org/jruby/RubyKernel.java:1175 2403s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 2403s yield_with_args at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers.rb:920 2403s Concurrent at /tmp/autopkgtest.EPK8tO/build.yMJ/src/spec/concurrent/mvar_spec.rb:78 2403s instance_exec at org/jruby/RubyBasicObject.java:2620 2403s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:263 2403s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 2403s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 2403s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 2403s run_around_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:624 2403s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 2403s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 2403s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 2403s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:259 2403s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:646 2403s map at org/jruby/RubyArray.java:2805 2403s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:651 2403s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:607 2403s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:608 2403s map at org/jruby/RubyArray.java:2805 2403s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:608 2403s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121 2403s map at org/jruby/RubyArray.java:2805 2403s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:145 2403s with_suite_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:2091 2403s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:116 2403s report at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/reporter.rb:74 2403s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:115 2403s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:89 2403s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:71 2403s invoke at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:45 2403s
at /usr/bin/rspec:4 2403s 2403s /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85: warning: loading in progress, circular require considered harmful - /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/yield.rb require at org/jruby/RubyKernel.java:1175 2403s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 2403s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/yield.rb:149 2403s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/yield.rb:7 2403s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/yield.rb:6 2403s
at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/yield.rb:5 2403s require at org/jruby/RubyKernel.java:1175 2403s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 2403s yield_with_args at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers.rb:920 2403s Concurrent at /tmp/autopkgtest.EPK8tO/build.yMJ/src/spec/concurrent/mvar_spec.rb:78 2403s instance_exec at org/jruby/RubyBasicObject.java:2620 2403s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:263 2403s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 2403s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 2403s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 2403s run_around_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:624 2403s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 2403s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 2403s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 2403s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:259 2403s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:646 2403s map at org/jruby/RubyArray.java:2805 2403s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:651 2403s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:607 2403s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:608 2403s map at org/jruby/RubyArray.java:2805 2403s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:608 2403s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121 2403s map at org/jruby/RubyArray.java:2805 2403s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:145 2403s with_suite_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:2091 2403s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:116 2403s report at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/reporter.rb:74 2403s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:115 2403s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:89 2403s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:71 2403s invoke at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:45 2403s
at /usr/bin/rspec:4 2403s 2403s /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85: warning: loading in progress, circular require considered harmful - /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/yield.rb require at org/jruby/RubyKernel.java:1175 2403s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 2403s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/yield.rb:296 2403s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/yield.rb:7 2403s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/yield.rb:6 2403s
at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/yield.rb:5 2403s require at org/jruby/RubyKernel.java:1175 2403s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 2403s yield_with_args at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers.rb:920 2403s Concurrent at /tmp/autopkgtest.EPK8tO/build.yMJ/src/spec/concurrent/mvar_spec.rb:78 2403s instance_exec at org/jruby/RubyBasicObject.java:2620 2403s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:263 2403s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 2403s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 2403s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 2403s run_around_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:624 2403s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 2403s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 2403s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 2403s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:259 2403s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:646 2403s map at org/jruby/RubyArray.java:2805 2403s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:651 2403s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/li yields current value to the block and puts back value 2403s b/rspec/core/example_group.rb:607 2403s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:608 2403s map at org/jruby/RubyArray.java:2805 2403s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:608 2403s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121 2403s map at org/jruby/RubyArray.java:2805 2403s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:145 2403s with_suite_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:2091 2403s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:116 2403s report at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/reporter.rb:74 2403s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:115 2403s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:89 2403s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:71 2403s invoke at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:45 2403s
at /usr/bin/rspec:4 2403s 2403s puts back value even if an exception is raised 2403s returns the returned value of the block 2403s returns TIMEOUT on timeout on an empty MVar 2403s #put 2403s sets the MVar to be empty 2403s sets a new value on an empty MVar 2403s waits for another thread to #take 2404s returns TIMEOUT on timeout on a full MVar 2404s returns the value 2404s #empty? 2404s returns true on an empty MVar 2404s returns false on a full MVar 2404s #full? 2404s returns false on an empty MVar 2404s returns true on a full MVar 2404s #modify 2404s raises an exception when no block given 2404s modifies a full MVar 2404s returns the unmodified value 2404s waits for another thread to #put 2405s is atomic 2405s returns TIMEOUT on timeout on an empty MVar 2405s #try_put! 2405s returns true an empty MVar 2405s returns false on a full MVar 2405s sets an empty MVar to be full 2405s #try_take! 2405s returns EMPTY an empty MVar 2405s returns the value on a full MVar 2405s sets a full MVar to be empty 2405s #set! 2405s sets an empty MVar to be full 2405s sets a full MVar to be full 2405s returns EMPTY on an empty MVar 2405s returns the original value on a full MVar 2405s #modify! 2405s raises an exception when no block given 2405s modifies a full MVar 2405s modifies an empty MVar 2405s can be used to set a full MVar to empty 2405s can be used to set an empty MVar to empty 2405s returns the unmodified value 2405s spurious wake ups 2405s #take 2405s waits for another thread to #put 2406s returns TIMEOUT on timeout on an empty MVar 2406s #modify 2406s waits for another thread to #put 2407s returns TIMEOUT on timeout on an empty MVar 2407s #put 2407s waits for another thread to #take 2408s returns TIMEOUT on timeout on a full MVar 2408s 2408s Concurrent::Options 2408s .executor_from_options 2408s returns the given :executor 2408s returns the global io executor when :executor is :io 2408s returns the global fast executor when :executor is :fast 2408s returns an immediate executor when :executor is :immediate 2408s raises an exception when :executor is an unrecognized symbol 2408s 2408s Concurrent::ProcessingActor 2408s is expected to eq "ab" 2408s 2408s Concurrent::Promise 2408s it should behave like ivar 2408s it should behave like obligation 2408s #state 2408s is :pending when first created 2408s is :fulfilled when the handler completes 2408s is :rejected when the handler raises an exception 2408s #value 2408s returns nil when reaching the optional timeout value 2408s returns immediately when timeout is zero 2413s returns the value when fulfilled before timeout 2413s returns nil when timeout reached 2413s is nil when :pending 2418s blocks the caller when :pending and timeout is nil 2418s is nil when :rejected 2418s is set to the return value of the block when :fulfilled 2418s #reason 2418s is nil when :pending 2418s is nil when :fulfilled 2418s is set to error object of the exception when :rejected 2418s it should behave like dereferenceable 2418s defaults :dup_on_deref to false 2418s calls #dup when the :dup_on_deref option is true 2418s defaults :freeze_on_deref to false 2419s calls #freeze when the :freeze_on_deref option is true 2419s defaults :copy_on_deref to nil 2419s calls the block when the :copy_on_deref option is passed a proc 2419s calls the :copy block first followed by #dup followed by #freeze 2419s does not call #dup when #dup_on_deref is set and the value is nil 2419s does not call #freeze when #freeze_on_deref is set and the value is nil 2420s does not call the #copy_on_deref block when the value is nil 2420s supports dereference flags with observers 2420s it should behave like observable 2420s #add_observer 2420s adds an observer if called before first notification 2420s adds an observer with :func if called before first notification 2420s creates an observer from a block if called before first notification 2420s raises an exception if not given an observer or a block 2420s raises an exception when given both an observer and a block 2420s #delete_observer 2420s deletes the given observer if called before first notification 2420s returns the removed observer if found in the observer set 2420s returns the given observer even when not found in the observer set 2420s #delete_observers 2420s deletes all observers when called before first notification 2420s returns self 2420s #count_observers 2420s returns zero for a new observable object 2420s returns a count of registered observers if called before first notification 2420s returns zero after #delete_observers has been called 2420s first notification 2420s calls the #update method on all observers without a specified :func 2420s calls the appropriate function on all observers which specified a :func 2420s calls the proc for all observers added as a block 2421s does not notify any observers removed with #delete_observer 2422s does not notify any observers after #delete_observers called 2422s initialization 2422s sets the state to incomplete 2422s #set 2422s sets the state to be fulfilled 2422s sets the value 2422s raises an exception if set more than once 2422s returns self 2422s fulfils when given a block which executes successfully 2422s rejects when given a block which raises an exception 2422s raises an exception when given a value and a block 2422s raises an exception when given neither a value nor a block 2422s #fail 2422s sets the state to be rejected 2422s sets the value to be nil 2422s sets the reason to the given exception 2422s raises an exception if set more than once 2422s defaults the reason to a StandardError 2422s returns self 2422s #try_set 2422s when unset 2422s assigns the value 2422s assigns the block result 2422s returns true 2422s when fulfilled 2422s does not assign the value 2422s does not assign the block result 2422s returns false 2422s when rejected 2422s does not assign the value 2422s does not assign the block result 2422s has a nil value 2422s returns false 2422s it should behave like thread_arguments 2422s passes an empty array when opts is not given 2422s passes an empty array when opts is an empty hash 2422s passes an empty array when there is no :args key 2422s passes an empty array when the :args key has a nil value 2422s passes a one-element array when the :args key has a non-array value 2422s passes an array when when the :args key has an array value 2422s passes the given array when the :args key has a complex array value 2422s allows the given arguments array to be dereferenced 2422s initializers 2422s .fulfill 2422s should return a Promise 2422s should return a fulfilled Promise 2422s should return a Promise with set value 2422s .reject 2422s should return a Promise 2422s should return a rejected Promise 2422s should return a Promise with set reason 2422s .new 2422s should return an unscheduled Promise 2422s .execute 2422s creates a new Promise 2422s passes the block to the new Promise 2422s calls #execute on the new Promise 2422s #execute 2422s unscheduled 2423s sets the promise to :pending 2423s posts the block given in construction 2423s pending 2423s sets the promise to :pending 2423s does not post again 2423s with children 2423s when called on the root 2424s should set all promises to :pending 2424s when called on a child 2425s should set all promises to :pending 2425s when called on child after parent completes 2425s sets state to :pending immediately 2425s #then 2425s returns a new promise when a block is passed 2425s returns a new promise when a rescuer is passed 2425s returns a new promise when a block and rescuer are passed 2425s returns a new promise when a block, rescuer and executor are passed 2425s supports setting the executor using a named parameter 2425s should have block or rescuers 2425s can be called more than once 2425s unscheduled 2425s returns a new promise 2425s returns an unscheduled promise 2425s pending 2425s returns a new promise 2425s returns a pending promise 2425s fulfilled 2425s returns a new Promise 2425s notifies fulfillment to new child 2425s rejected 2425s returns a new Promise when :rejected 2425s notifies rejection to new child 2425s on_success 2425s should have a block 2425s returns a new promise 2425s #rescue 2425s returns a new promise 2425s #flat_map 2425s returns a promise 2425s succeeds if both promises succeed 2425s fails if the left promise fails 2425s fails if the right promise fails 2425s fails if the generating block fails 2425s #zip 2425s executes the returned Promise by default 2426s executes the returned Promise when execute is true 2426s does not execute the returned Promise when execute is false 2426s allows setting executor for Promise chain 2426s yields the results as an array 2426s fails if one component fails 2426s preserves ordering of the executed promises 2426s .zip 2426s executes the returned Promise by default 2426s executes the returned Promise when execute is true 2426s does not execute the returned Promise when execute is false 2426s allows setting executor for Promise chain 2426s yields the results as an array 2426s fails if one component fails 2426s preserves ordering of the executed promises 2426s aggregators 2426s .all? 2426s returns a new Promise 2426s does not execute the returned Promise 2426s executes the #then condition when all components succeed 2426s executes the #then condition when no promises are given 2426s executes the #rescue handler if even one component fails 2426s .any? 2426s returns a new Promise 2426s does not execute the returned Promise 2426s executes the #then condition when any components succeed 2426s executes the #then condition when no promises are given 2426s executes the #rescue handler if all componenst fail 2426s fulfillment 2426s passes the result of each block to all its children 2426s sets the promise value to the result if its block 2426s sets the promise state to :fulfilled if the block completes 2426s passes the last result through when a promise has no block 2426s uses result as fulfillment value when a promise has no block 2426s can manage long chain 2426s #set 2426s #can only be called on the root promise 2426s triggers children 2426s can be called with a block 2426s #fail 2426s can only be called on the root promise 2426s rejects children 2426s rejection 2426s passes the reason to all its children 2426s sets the promise value to the result if its block 2426s sets the promise state to :rejected if the block completes 2426s uses reason as rejection reason when a promise has no rescue callable 2426s rejects on Exception 2426s aliases 2426s aliases #realized? for #fulfilled? 2426s aliases #deref for #value 2426s aliases #catch for #rescue 2426s aliases #on_error for #rescue 2426s 2426s Concurrent::Promises 2426s zip_futures_over 2426s chain_resolvable 2426s event 2426s future 2426s .future 2426s executes 2426s executes with args 2426s .delay 2426s is expected to eq 2 2426s .schedule 2426s scheduled execution 2426s scheduled execution in graph 2426s .event 2427s is expected to equal true 2427s .future without block 2427s is expected to eq 0 2427s .any_resolved 2427s continues on first result 2427s .any_fulfilled 2427s continues on first result 2427s treats a resolved Event as a fulfilled Future 2427s treats a pending Event as a pending Future 2427s .zip 2427s waits for all results 2427s when a future raises an error 2427s raises a concurrent error 2427s when deeply nested 2427s raises the original error 2427s .zip_events 2427s waits for all and returns event 2427s .rejected_future 2427s raises the correct error when passed an unraised error 2427s Future 2427s has sync and async callbacks 2427s wait supports setting timeout 2427s wait! supports setting timeout 2427s value supports setting timeout 2427s value! supports setting timeout 2427s reason supports setting timeout 2427s result supports setting timeout 2427s chains 2427s chains with correct arguments 2427s constructs promise like tree 2427s allows graphs 2427s resolves future when Exception raised 2427s runs 2427s can be risen when rejected 2427s #flat 2427s returns value of inner future 2427s propagates rejection of inner future 2427s it propagates rejection of the future which was suppose to provide inner future 2427s rejects if inner value is not a future 2427s accepts inner event 2427s propagates requests for values to delayed futures 2427s has shortcuts 2427s ResolvableEvent 2427s #wait 2427s #resolve(raise_on_reassign = true) 2427s #resolve(raise_on_reassign = false) 2427s reservation 2427s ResolvableFuture 2427s #wait 2427s #wait! 2427s #value 2427s #value! 2427s #reason 2427s result 2427s reservation 2427s atomic_resolution 2427s interoperability 2427s with erlang actor 2427s with channel 2427s value! 2427s does not return spuriously with timeout 2427s does not return spuriously without timeout 2427s 2427s Concurrent::ScheduledTask 2427s behavior 2427s it should behave like obligation 2427s #state 2427s is :pending when first created 2427s is :fulfilled when the handler completes 2427s is :rejected when the handler raises an exception 2427s #value 2427s returns nil when reaching the optional timeout value 2427s returns immediately when timeout is zero 2428s returns the value when fulfilled before timeout 2428s returns nil when timeout reached 2428s is nil when :pending 2429s blocks the caller when :pending and timeout is nil 2429s is nil when :rejected 2429s is set to the return value of the block when :fulfilled 2429s #reason 2429s is nil when :pending 2429s is nil when :fulfilled 2429s is set to error object of the exception when :rejected 2429s it should behave like dereferenceable 2429s defaults :dup_on_deref to false 2429s calls #dup when the :dup_on_deref option is true 2429s defaults :freeze_on_deref to false 2429s calls #freeze when the :freeze_on_deref option is true 2429s defaults :copy_on_deref to nil 2429s calls the block when the :copy_on_deref option is passed a proc 2429s calls the :copy block first followed by #dup followed by #freeze 2429s does not call #dup when #dup_on_deref is set and the value is nil 2429s does not call #freeze when #freeze_on_deref is set and the value is nil 2429s does not call the #copy_on_deref block when the value is nil 2429s supports dereference flags with observers 2429s it should behave like observable 2429s #add_observer 2429s adds an observer if called before first notification 2429s adds an observer with :func if called before first notification 2429s creates an observer from a block if called before first notification 2429s raises an exception if not given an observer or a block 2429s raises an exception when given both an observer and a block 2429s #delete_observer 2429s deletes the given observer if called before first notification 2429s returns the removed observer if found in the observer set 2429s returns the given observer even when not found in the observer set 2429s #delete_observers 2429s deletes all observers when called before first notification 2429s returns self 2429s #count_observers 2429s returns zero for a new observable object 2429s returns a count of registered observers if called before first notification 2429s returns zero after #delete_observers has been called 2429s first notification 2429s calls the #update method on all observers without a specified :func 2429s calls the appropriate function on all observers which specified a :func 2430s calls the proc for all observers added as a block 2431s does not notify any observers removed with #delete_observer 2432s does not notify any observers after #delete_observers called 2432s #initialize 2432s accepts a number of seconds (from now) as the schedule time 2432s raises an exception when seconds is less than zero 2432s raises an exception when no block given 2432s sets the initial state to :unscheduled 2432s instance #execute 2432s does nothing unless the state is :unscheduled 2432s sets the sate to :pending 2432s returns self 2432s class #execute 2432s creates a new ScheduledTask 2432s passes the block to the new ScheduledTask 2432s calls #execute on the new ScheduledTask 2432s execution 2432s passes :args from the options to the block 2432s uses the :executor from the options 2432s uses the :timer_set from the options 2432s sets the state to :processing when the task is running 2432s #cancel 2432s returns false if the task has already been performed 2432s returns false if the task is already in progress 2433s cancels the task if it has not yet scheduled 2433s cancels the task if it has not yet started 2433s returns true on success 2434s sets the reason to CancelledOperationError when cancelled 2434s observation 2434s returns true for an observer added while :unscheduled 2434s returns true for an observer added while :pending 2434s returns true for an observer added while :processing 2434s notifies all observers on fulfillment 2434s notifies all observers on rejection 2434s 2434s Concurrent::Set 2434s .[] 2434s when initializing with no arguments 2434s is expected to be empty 2434s when initializing with arguments 2434s creates a set with the given objects 2434s .new 2434s when initializing with no arguments 2434s is expected to be empty 2434s when initializing with an enumerable object 2434s creates a set with the contents of the enumerable object 2434s when initializing with a block argument 2434s creates a set with the contents of the enumerable object 2434s concurrency 2434s #add and #delete 2434s force context switch 2435s #each 2435s 2435s Concurrent::SettableStruct 2435s it should behave like struct 2435s definition 2435s registers the class when given a class name 2435s /tmp/autopkgtest.EPK8tO/build.yMJ/src/spec/concurrent/struct_shared.rb:15: warning: already initialized constant ValidClassName2 2435s registers the class when given a class name which is defined in the ancestors 2435s creates an anonymous class when given at least one member 2435s raises an exception when given an invalid class name 2435s defines a getter for each member 2435s raises an exception when given no members 2435s raise an exception when given an invalid member 2435s evalues a given block against the new class 2435s construction 2435s sets all absent members to nil 2435s sets all given members in order 2435s raises an exception when extra members are given 2435s properties 2435s #length 2435s returns the number of struct members 2435s #members 2435s returns the struct members as an array of symbols 2435s returns a different object than the array passed at definition 2435s #size 2435s returns the number of struct members 2435s #values 2435s returns the values of the struct as an array in order 2435s #values_at 2435s returns the value at the given offset 2435s returns the values at multiple given offsets 2435s returns values at offsets in a given range 2435s returns values for multiple ranges 2435s returns values for ranges and offsets 2435s accessors 2435s #[member] 2435s retrieves the value when given a valid symbol member 2435s retrieves the value when given a valid string member 2435s raises an exception when given a non-existent symbol member 2435s raises an exception when given a non-existent string member 2435s #[index] 2435s retrieves the value when given a valid index 2435s raises an exception when given an out-of-bound index 2435s comparison 2435s #== 2435s returns true if other has same struct subclass and equal values 2435s returns false if other has different struct subclass 2435s returns false if other has different values 2435s #!= 2435s returns false if other has same struct subclass and equal values 2435s returns true if other has different struct subclass 2435s returns true if other has different values 2435s enumeration 2435s #each 2435s yields the value of each struct member in order 2435s returns an enumerator when no block is given 2435s #each_pair 2435s yields the name and value of each struct member in order 2435s returns an enumerator when no block is given 2435s #select 2435s yields each value 2435s returns an Array with the values from for which the block returns true 2435s returns an enumerator when no block is given 2435s conversion 2435s #to_s 2435s includes the name of the class when registered 2435s includes the names of all members 2435s includes all values 2435s returns the same string as #inspect 2435s #to_a 2435s returns the to_a for this struct as an array 2435s #to_h 2435s returns a Hash containing the names and values in order 2435s copy 2435s #dup 2435s shallowly duplicates all members along with the struct 2435s discards frozen state of the struct 2435s retains frozen state of members 2435s discards singleton class 2435s copies the singleton class of members 2435s #clone 2435s shallowly clones all members along with the struct 2435s retains frozen state 2435s copies the singleton class 2435s copies the singleton class of members 2435s it should behave like mergeable_struct 2435s #merge 2435s updates all members with the new values from a given hash 2435s calls the given block for each key in `other` 2435s retains the value for all members not without values in the given hash 2435s raises an exception when given a hash with members not in the struct 2435s returns a new object 2435s definition 2435s defines a setter for each member 2435s #[member]= 2435s sets the value when given a valid symbol member 2435s sets the value when given a valid string member 2435s raises an exception when given a non-existent symbol member 2435s raises an exception when given a non-existent string member 2435s raises an exception when given a symbol member that has already been set 2435s raises an exception when given a string member that has already been set 2435s #[index]= 2435s sets the value when given a valid index 2435s raises an exception when given an out-of-bound index 2435s raises an exception when given an index that has already been set 2435s synchronization 2435s protects #values 2435s protects #values_at 2435s protects #[index] 2435s protects #[member] 2435s protects getter methods 2435s protects #[index]= 2435s protects #[member]= 2435s protects getter methods 2435s protects #to_s 2435s protects #inspect 2435s protects #to_h 2435s protects #merge 2435s protects #== 2435s protects #each 2435s protects #each_pair 2435s protects #select 2435s protects #initialize_copy 2435s copy 2435s #dup 2435s retains settability of members 2435s #clone 2435s retains settability of members 2435s 2435s Concurrent::Synchronization 2435s Concurrent::Synchronization::Object 2435s does not ensure visibility when not needed 2435s does ensure visibility when specified 2435s does ensure visibility when specified in a parent 2435s does ensure visibility once when specified in child again 2435s it should behave like attr_volatile 2435s older writes are always visible 2435s Concurrent::Synchronization::LockableObject 2435s final field always visible 2435s #wait 2435s puts the current thread to sleep 2435s allows the sleeping thread to be killed 2435s releases the lock on the current object 2435s can be called from within a #synchronize block 2435s #synchronize 2435s allows only one thread to execute count 2435s signaling 2435s for now pending, tested pretty well by Event (PENDING: Not yet implemented) 2435s it should behave like attr_volatile 2435s older writes are always visible 2435s Concurrent::Synchronization::Volatile module 2435s it should behave like attr_volatile 2435s older writes are always visible 2435s attr_atomic 2435s is expected to be == b 2435s 2435s Concurrent::SynchronizedDelegator 2435s wraps array 2435s synchronizes access 2435s synchronizes access with block 2435s 2435s Concurrent 2435s Throttle 2435s acquiring 2435s #to_s 2435s #on 2436s capacity limited 2436s 2436s Concurrent::TimerTask 2436s dereferenceable 2436s it should behave like dereferenceable 2436s defaults :dup_on_deref to false 2436s calls #dup when the :dup_on_deref option is true 2437s defaults :freeze_on_deref to false 2437s calls #freeze when the :freeze_on_deref option is true 2437s defaults :copy_on_deref to nil 2437s calls the block when the :copy_on_deref option is passed a proc 2438s calls the :copy block first followed by #dup followed by #freeze 2438s does not call #dup when #dup_on_deref is set and the value is nil 2438s does not call #freeze when #freeze_on_deref is set and the value is nil 2438s does not call the #copy_on_deref block when the value is nil 2438s supports dereference flags with observers 2438s observable 2438s it should behave like observable 2438s #add_observer 2438s adds an observer if called before first notification 2438s adds an observer with :func if called before first notification 2438s creates an observer from a block if called before first notification 2438s raises an exception if not given an observer or a block 2438s raises an exception when given both an observer and a block 2438s #delete_observer 2438s deletes the given observer if called before first notification 2438s returns the removed observer if found in the observer set 2438s returns the given observer even when not found in the observer set 2438s #delete_observers 2438s deletes all observers when called before first notification 2438s returns self 2438s #count_observers 2438s returns zero for a new observable object 2438s returns a count of registered observers if called before first notification 2438s returns zero after #delete_observers has been called 2438s first notification 2438s calls the #update method on all observers without a specified :func 2438s calls the appropriate function on all observers which specified a :func 2439s calls the proc for all observers added as a block 2440s does not notify any observers removed with #delete_observer 2441s does not notify any observers after #delete_observers called 2441s created with #new 2441s #initialize 2441s raises an exception if no block given 2441s raises an exception if :execution_interval is not greater than zero 2441s raises an exception if :execution_interval is not an integer 2441s uses the default execution interval when no interval is given 2441s uses the given execution interval 2441s raises an exception if :interval_type is not a valid value 2441s uses the default :interval_type when no type is given 2441s uses the given interval type 2441s #kill 2441s returns true on success 2441s #shutdown 2441s returns true on success 2441s arguments 2441s TimeTask timeouts are now ignored as these were not able to be implemented correctly 2441s raises an exception if no block given 2441s #execution_interval is writeable 2441s raises on invalid interval_type 2441s TimeTask timeouts are now ignored as these were not able to be implemented correctly 2441s #timeout_interval being written produces a warning 2441s execution 2441s runs the block immediately when the :run_now option is true 2441s waits for :execution_interval seconds when the :run_now option is false 2442s waits for :execution_interval seconds when the :run_now option is not given 2442s passes a "self" reference to the block as the sole argument 2442s uses the global executor by default 2442s uses a custom executor when given 2442s uses a fixed delay when set 2442s uses a fixed rate when set 2442s observation 2443s notifies all observers on success 2443s notifies all observers on error 2443s 2443s Concurrent::TVar 2443s #initialize 2443s accepts an initial value 2443s #value 2443s gets the value 2443s #value= 2443s sets the value 2443s 2443s #atomically 2443s raises an exception when no block given 2443s raises the same exception that was raised in Concurrent::atomically 2443s retries on abort 2443s commits writes if the transaction succeeds 2443s undoes writes if the transaction is aborted 2443s provides atomicity 2443s nests 2443s reflects transactional writes from within the same transaction 2443s 2443s #abort_transaction 2443s raises an exception outside an #atomically block 2443s 2443s #leave_transaction 2443s raises an exception outside an #atomically block 2443s neither commits nor aborts a transaction 2443s 2443s #processor_count 2443s retuns a positive integer 2443s 2443s #physical_processor_count 2443s retuns a positive integer 2443s 2443s Finished in 3 minutes 44 seconds (files took 4.73 seconds to load) 2443s 2937 examples, 0 failures, 11 pending 2443s 2443s autopkgtest [03:14:39]: test jruby: -----------------------] 2444s autopkgtest [03:14:40]: test jruby: - - - - - - - - - - results - - - - - - - - - - 2444s jruby PASS 2444s autopkgtest [03:14:40]: @@@@@@@@@@@@@@@@@@@@ summary 2444s ruby PASS 2444s jruby PASS 2457s Creating nova instance adt-noble-amd64-ruby-concurrent-20240417-023356-juju-7f2275-prod-proposed-migration-environment-3-53f55824-6588-4cce-a16c-91fca7df25f3 from image adt/ubuntu-noble-amd64-server-20240416.img (UUID c99db8fb-11b6-45a7-a812-24015d33c79e)... 2457s Creating nova instance adt-noble-amd64-ruby-concurrent-20240417-023356-juju-7f2275-prod-proposed-migration-environment-3-53f55824-6588-4cce-a16c-91fca7df25f3 from image adt/ubuntu-noble-amd64-server-20240416.img (UUID c99db8fb-11b6-45a7-a812-24015d33c79e)...