0s autopkgtest [13:52:42]: starting date and time: 2026-02-06 13:52:42+0000 0s autopkgtest [13:52:42]: git checkout: 4b346b80 nova: make wait_reboot return success even when a no-op 0s autopkgtest [13:52:42]: host juju-7f2275-prod-proposed-migration-environment-20; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.twze5lbk/out --timeout-copy=6000 --needs-internet=try --setup-commands /home/ubuntu/autopkgtest-cloud/worker-config-production/setup-canonical.sh --apt-pocket=proposed=src:ruby3.3 --apt-upgrade ruby-concurrent --timeout-short=300 --timeout-copy=20000 --timeout-build=20000 --env=ADT_TEST_TRIGGERS=ruby3.3/3.3.8-2ubuntu3 -- ssh -s /home/ubuntu/autopkgtest/ssh-setup/nova -- --flavor autopkgtest-cpu2-ram4-disk20-amd64 --security-groups autopkgtest-juju-7f2275-prod-proposed-migration-environment-20@sto01-14.secgroup --name adt-resolute-amd64-ruby-concurrent-20260206-135242-juju-7f2275-prod-proposed-migration-environment-20-814e6883-dfec-43ae-9db0-f14e0934ca0f --image adt/ubuntu-resolute-amd64-server --keyname testbed-juju-7f2275-prod-proposed-migration-environment-20 --net-id=net_prod-autopkgtest-workers-amd64 -e TERM=linux --mirror=http://ftpmaster.internal/ubuntu/ 6s Creating nova instance adt-resolute-amd64-ruby-concurrent-20260206-135242-juju-7f2275-prod-proposed-migration-environment-20-814e6883-dfec-43ae-9db0-f14e0934ca0f from image adt/ubuntu-resolute-amd64-server-20260204.img (UUID fedf54b4-458b-493e-8072-6425c19717b4)... 133s autopkgtest [13:54:55]: testbed dpkg architecture: amd64 133s autopkgtest [13:54:55]: testbed apt version: 3.1.14 134s autopkgtest [13:54:56]: @@@@@@@@@@@@@@@@@@@@ test bed setup 134s autopkgtest [13:54:56]: testbed release detected to be: None 134s autopkgtest [13:54:56]: updating testbed package index (apt update) 134s Get:1 http://ftpmaster.internal/ubuntu resolute-proposed InRelease [124 kB] 134s Hit:2 http://ftpmaster.internal/ubuntu resolute InRelease 135s Hit:3 http://ftpmaster.internal/ubuntu resolute-updates InRelease 135s Hit:4 http://ftpmaster.internal/ubuntu resolute-security InRelease 135s Get:5 http://ftpmaster.internal/ubuntu resolute-proposed/main Sources [191 kB] 135s Get:6 http://ftpmaster.internal/ubuntu resolute-proposed/restricted Sources [9256 B] 135s Get:7 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse Sources [30.8 kB] 135s Get:8 http://ftpmaster.internal/ubuntu resolute-proposed/universe Sources [1473 kB] 135s Get:9 http://ftpmaster.internal/ubuntu resolute-proposed/main i386 Packages [181 kB] 135s Get:10 http://ftpmaster.internal/ubuntu resolute-proposed/main amd64 Packages [249 kB] 135s Get:11 http://ftpmaster.internal/ubuntu resolute-proposed/main amd64 c-n-f Metadata [6436 B] 135s Get:12 http://ftpmaster.internal/ubuntu resolute-proposed/restricted i386 Packages [3692 B] 135s Get:13 http://ftpmaster.internal/ubuntu resolute-proposed/restricted amd64 Packages [68.4 kB] 135s Get:14 http://ftpmaster.internal/ubuntu resolute-proposed/restricted amd64 c-n-f Metadata [336 B] 135s Get:15 http://ftpmaster.internal/ubuntu resolute-proposed/universe i386 Packages [518 kB] 135s Get:16 http://ftpmaster.internal/ubuntu resolute-proposed/universe amd64 Packages [1348 kB] 136s Get:17 http://ftpmaster.internal/ubuntu resolute-proposed/universe amd64 c-n-f Metadata [35.8 kB] 136s Get:18 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse amd64 Packages [26.7 kB] 136s Get:19 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse i386 Packages [4320 B] 136s Get:20 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse amd64 c-n-f Metadata [1060 B] 136s Fetched 4271 kB in 1s (3331 kB/s) 137s Reading package lists... 137s Hit:1 http://ftpmaster.internal/ubuntu resolute-proposed InRelease 137s Hit:2 http://ftpmaster.internal/ubuntu resolute InRelease 137s Hit:3 http://ftpmaster.internal/ubuntu resolute-updates InRelease 138s Hit:4 http://ftpmaster.internal/ubuntu resolute-security InRelease 138s Reading package lists... 138s Reading package lists... 138s Building dependency tree... 138s Reading state information... 139s Calculating upgrade... 139s The following packages will be upgraded: 139s amd64-microcode apt busybox-initramfs busybox-static dmsetup findutils less 139s libapt-pkg7.0 libattr1 libdevmapper1.02.1 libdrm-amdgpu1 libdrm-common 139s libdrm2 libgpm2 libkeyutils1 libmaxminddb0 libnpth0t64 libsensors-config 139s libsensors5 mawk patch pollinate python3-linkify-it python3-markdown-it 139s python3-referencing sed tar 139s 27 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 139s Need to get 5981 kB of archives. 139s After this operation, 270 kB disk space will be freed. 139s Get:1 http://ftpmaster.internal/ubuntu resolute/main amd64 findutils amd64 4.10.0-3build2 [307 kB] 139s Get:2 http://ftpmaster.internal/ubuntu resolute/main amd64 sed amd64 4.9-2build3 [195 kB] 139s Get:3 http://ftpmaster.internal/ubuntu resolute/main amd64 tar amd64 1.35+dfsg-3.1build2 [257 kB] 139s Get:4 http://ftpmaster.internal/ubuntu resolute/main amd64 libattr1 amd64 1:2.5.2-3build2 [11.4 kB] 139s Get:5 http://ftpmaster.internal/ubuntu resolute/main amd64 mawk amd64 1.3.4.20260129-1 [133 kB] 139s Get:6 http://ftpmaster.internal/ubuntu resolute/main amd64 libapt-pkg7.0 amd64 3.1.15 [1151 kB] 139s Get:7 http://ftpmaster.internal/ubuntu resolute/main amd64 apt amd64 3.1.15 [1479 kB] 139s Get:8 http://ftpmaster.internal/ubuntu resolute/main amd64 libdevmapper1.02.1 amd64 2:1.02.205-2ubuntu3 [142 kB] 139s Get:9 http://ftpmaster.internal/ubuntu resolute/main amd64 dmsetup amd64 2:1.02.205-2ubuntu3 [79.4 kB] 139s Get:10 http://ftpmaster.internal/ubuntu resolute/main amd64 less amd64 668-1build1 [172 kB] 139s Get:11 http://ftpmaster.internal/ubuntu resolute/main amd64 libkeyutils1 amd64 1.6.3-6ubuntu3 [10.6 kB] 139s Get:12 http://ftpmaster.internal/ubuntu resolute/main amd64 python3-linkify-it all 2.0.3-1ubuntu3 [19.4 kB] 139s Get:13 http://ftpmaster.internal/ubuntu resolute/main amd64 python3-markdown-it all 3.0.0-3build1 [54.4 kB] 139s Get:14 http://ftpmaster.internal/ubuntu resolute/main amd64 busybox-static amd64 1:1.37.0-7ubuntu1 [1034 kB] 139s Get:15 http://ftpmaster.internal/ubuntu resolute/main amd64 libdrm-common all 2.4.131-1 [9774 B] 139s Get:16 http://ftpmaster.internal/ubuntu resolute/main amd64 libdrm2 amd64 2.4.131-1 [42.3 kB] 139s Get:17 http://ftpmaster.internal/ubuntu resolute/main amd64 libgpm2 amd64 1.20.7-12build1 [14.4 kB] 139s Get:18 http://ftpmaster.internal/ubuntu resolute/main amd64 libmaxminddb0 amd64 1.12.2-1build2 [18.9 kB] 139s Get:19 http://ftpmaster.internal/ubuntu resolute/main amd64 libsensors-config all 1:3.6.2-2build1 [6862 B] 139s Get:20 http://ftpmaster.internal/ubuntu resolute/main amd64 libsensors5 amd64 1:3.6.2-2build1 [28.9 kB] 139s Get:21 http://ftpmaster.internal/ubuntu resolute/main amd64 busybox-initramfs amd64 1:1.37.0-7ubuntu1 [191 kB] 139s Get:22 http://ftpmaster.internal/ubuntu resolute/main amd64 libdrm-amdgpu1 amd64 2.4.131-1 [23.2 kB] 139s Get:23 http://ftpmaster.internal/ubuntu resolute/main amd64 libnpth0t64 amd64 1.8-3build1 [9302 B] 139s Get:24 http://ftpmaster.internal/ubuntu resolute/main amd64 patch amd64 2.8-2build1 [95.7 kB] 139s Get:25 http://ftpmaster.internal/ubuntu resolute/main amd64 pollinate all 4.33-4ubuntu5 [14.0 kB] 139s Get:26 http://ftpmaster.internal/ubuntu resolute/main amd64 python3-referencing all 0.36.2-1ubuntu2 [22.2 kB] 139s Get:27 http://ftpmaster.internal/ubuntu resolute/main amd64 amd64-microcode amd64 3.20251202.1ubuntu1 [459 kB] 139s dpkg-preconfigure: unable to re-open stdin: No such file or directory 139s Fetched 5981 kB in 0s (31.7 MB/s) 139s (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 ... 83957 files and directories currently installed.) 139s Preparing to unpack .../findutils_4.10.0-3build2_amd64.deb ... 139s Unpacking findutils (4.10.0-3build2) over (4.10.0-3build1) ... 140s Setting up findutils (4.10.0-3build2) ... 140s (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 ... 83957 files and directories currently installed.) 140s Preparing to unpack .../sed_4.9-2build3_amd64.deb ... 140s Unpacking sed (4.9-2build3) over (4.9-2build2) ... 140s Setting up sed (4.9-2build3) ... 140s (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 ... 83957 files and directories currently installed.) 140s Preparing to unpack .../tar_1.35+dfsg-3.1build2_amd64.deb ... 140s Unpacking tar (1.35+dfsg-3.1build2) over (1.35+dfsg-3.1build1) ... 140s Setting up tar (1.35+dfsg-3.1build2) ... 140s (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 ... 83957 files and directories currently installed.) 140s Preparing to unpack .../libattr1_1%3a2.5.2-3build2_amd64.deb ... 140s Unpacking libattr1:amd64 (1:2.5.2-3build2) over (1:2.5.2-3build1) ... 140s Setting up libattr1:amd64 (1:2.5.2-3build2) ... 140s (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 ... 83957 files and directories currently installed.) 140s Preparing to unpack .../00-mawk_1.3.4.20260129-1_amd64.deb ... 140s Unpacking mawk (1.3.4.20260129-1) over (1.3.4.20250131-2) ... 140s Preparing to unpack .../01-libapt-pkg7.0_3.1.15_amd64.deb ... 140s Unpacking libapt-pkg7.0:amd64 (3.1.15) over (3.1.14) ... 140s Preparing to unpack .../02-apt_3.1.15_amd64.deb ... 140s Unpacking apt (3.1.15) over (3.1.14) ... 140s Preparing to unpack .../03-libdevmapper1.02.1_2%3a1.02.205-2ubuntu3_amd64.deb ... 140s Unpacking libdevmapper1.02.1:amd64 (2:1.02.205-2ubuntu3) over (2:1.02.205-2ubuntu2) ... 140s Preparing to unpack .../04-dmsetup_2%3a1.02.205-2ubuntu3_amd64.deb ... 140s Unpacking dmsetup (2:1.02.205-2ubuntu3) over (2:1.02.205-2ubuntu2) ... 140s Preparing to unpack .../05-less_668-1build1_amd64.deb ... 140s Unpacking less (668-1build1) over (668-1) ... 140s Preparing to unpack .../06-libkeyutils1_1.6.3-6ubuntu3_amd64.deb ... 140s Unpacking libkeyutils1:amd64 (1.6.3-6ubuntu3) over (1.6.3-6ubuntu2) ... 140s Preparing to unpack .../07-python3-linkify-it_2.0.3-1ubuntu3_all.deb ... 140s Unpacking python3-linkify-it (2.0.3-1ubuntu3) over (2.0.3-1ubuntu2) ... 140s Preparing to unpack .../08-python3-markdown-it_3.0.0-3build1_all.deb ... 140s Unpacking python3-markdown-it (3.0.0-3build1) over (3.0.0-3) ... 140s Preparing to unpack .../09-busybox-static_1%3a1.37.0-7ubuntu1_amd64.deb ... 140s Unpacking busybox-static (1:1.37.0-7ubuntu1) over (1:1.37.0-4ubuntu1) ... 141s Preparing to unpack .../10-libdrm-common_2.4.131-1_all.deb ... 141s Unpacking libdrm-common (2.4.131-1) over (2.4.129-1) ... 141s Preparing to unpack .../11-libdrm2_2.4.131-1_amd64.deb ... 141s Unpacking libdrm2:amd64 (2.4.131-1) over (2.4.129-1) ... 141s Preparing to unpack .../12-libgpm2_1.20.7-12build1_amd64.deb ... 141s Unpacking libgpm2:amd64 (1.20.7-12build1) over (1.20.7-12) ... 141s Preparing to unpack .../13-libmaxminddb0_1.12.2-1build2_amd64.deb ... 141s Unpacking libmaxminddb0:amd64 (1.12.2-1build2) over (1.12.2-1build1) ... 141s Preparing to unpack .../14-libsensors-config_1%3a3.6.2-2build1_all.deb ... 141s Unpacking libsensors-config (1:3.6.2-2build1) over (1:3.6.2-2) ... 141s Preparing to unpack .../15-libsensors5_1%3a3.6.2-2build1_amd64.deb ... 141s Unpacking libsensors5:amd64 (1:3.6.2-2build1) over (1:3.6.2-2) ... 141s Preparing to unpack .../16-busybox-initramfs_1%3a1.37.0-7ubuntu1_amd64.deb ... 141s Unpacking busybox-initramfs (1:1.37.0-7ubuntu1) over (1:1.37.0-4ubuntu1) ... 141s Preparing to unpack .../17-libdrm-amdgpu1_2.4.131-1_amd64.deb ... 141s Unpacking libdrm-amdgpu1:amd64 (2.4.131-1) over (2.4.129-1) ... 141s Preparing to unpack .../18-libnpth0t64_1.8-3build1_amd64.deb ... 141s Unpacking libnpth0t64:amd64 (1.8-3build1) over (1.8-3) ... 141s Preparing to unpack .../19-patch_2.8-2build1_amd64.deb ... 141s Unpacking patch (2.8-2build1) over (2.8-2) ... 141s Preparing to unpack .../20-pollinate_4.33-4ubuntu5_all.deb ... 141s Unpacking pollinate (4.33-4ubuntu5) over (4.33-4ubuntu4) ... 141s Preparing to unpack .../21-python3-referencing_0.36.2-1ubuntu2_all.deb ... 141s Unpacking python3-referencing (0.36.2-1ubuntu2) over (0.36.2-1ubuntu1) ... 141s Preparing to unpack .../22-amd64-microcode_3.20251202.1ubuntu1_amd64.deb ... 141s Unpacking amd64-microcode (3.20251202.1ubuntu1) over (3.20250708.1ubuntu1) ... 141s Setting up libnpth0t64:amd64 (1.8-3build1) ... 141s Setting up libkeyutils1:amd64 (1.6.3-6ubuntu3) ... 141s Setting up libgpm2:amd64 (1.20.7-12build1) ... 141s Setting up libmaxminddb0:amd64 (1.12.2-1build2) ... 141s Setting up libsensors-config (1:3.6.2-2build1) ... 141s Setting up less (668-1build1) ... 141s Setting up amd64-microcode (3.20251202.1ubuntu1) ... 141s amd64-microcode: microcode will be updated at next boot 141s Setting up pollinate (4.33-4ubuntu5) ... 152s Setting up busybox-static (1:1.37.0-7ubuntu1) ... 152s Setting up patch (2.8-2build1) ... 152s Setting up libsensors5:amd64 (1:3.6.2-2build1) ... 152s Setting up busybox-initramfs (1:1.37.0-7ubuntu1) ... 152s Setting up libdevmapper1.02.1:amd64 (2:1.02.205-2ubuntu3) ... 152s Setting up dmsetup (2:1.02.205-2ubuntu3) ... 152s Setting up python3-linkify-it (2.0.3-1ubuntu3) ... 152s Setting up mawk (1.3.4.20260129-1) ... 152s Setting up libapt-pkg7.0:amd64 (3.1.15) ... 152s Setting up libdrm-common (2.4.131-1) ... 152s Setting up python3-referencing (0.36.2-1ubuntu2) ... 152s Setting up apt (3.1.15) ... 152s Setting up python3-markdown-it (3.0.0-3build1) ... 152s Setting up libdrm2:amd64 (2.4.131-1) ... 152s Setting up libdrm-amdgpu1:amd64 (2.4.131-1) ... 152s Processing triggers for libc-bin (2.42-2ubuntu4) ... 152s Processing triggers for man-db (2.13.1-1) ... 153s Processing triggers for install-info (7.2-5) ... 153s Processing triggers for initramfs-tools (0.150ubuntu7) ... 154s update-initramfs: Generating /boot/initrd.img-6.18.0-9-generic 159s autopkgtest [13:55:21]: upgrading testbed (apt dist-upgrade and autopurge) 160s Reading package lists... 160s Building dependency tree... 160s Reading state information... 160s Calculating upgrade... 160s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 160s Reading package lists... 160s Building dependency tree... 160s Reading state information... 160s Solving dependencies... 161s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 161s autopkgtest [13:55:23]: rebooting testbed after setup commands that affected boot 190s autopkgtest [13:55:52]: testbed running kernel: Linux 6.18.0-9-generic #9-Ubuntu SMP PREEMPT_DYNAMIC Mon Jan 12 16:49:02 UTC 2026 192s autopkgtest [13:55:54]: @@@@@@@@@@@@@@@@@@@@ apt-source ruby-concurrent 194s Get:1 http://ftpmaster.internal/ubuntu resolute/universe ruby-concurrent 1.3.4-1 (dsc) [1707 B] 194s Get:2 http://ftpmaster.internal/ubuntu resolute/universe ruby-concurrent 1.3.4-1 (tar) [1005 kB] 194s Get:3 http://ftpmaster.internal/ubuntu resolute/universe ruby-concurrent 1.3.4-1 (diff) [6016 B] 194s gpgv: Signature made Tue Feb 4 18:01:40 2025 UTC 194s gpgv: using EDDSA key 84CFFDC21520F88306EC29D152699AB63F9F2BC3 194s gpgv: Can't check signature: No public key 194s dpkg-source: warning: cannot verify inline signature for ./ruby-concurrent_1.3.4-1.dsc: no acceptable signature found 194s autopkgtest [13:55:56]: testing package ruby-concurrent version 1.3.4-1 194s autopkgtest [13:55:56]: build not needed 195s autopkgtest [13:55:57]: test ruby: preparing testbed 195s Reading package lists... 196s Building dependency tree... 196s Reading state information... 196s Solving dependencies... 196s The following NEW packages will be installed: 196s gem2deb-test-runner libruby libruby3.3 rake ruby ruby-concurrent 196s ruby-concurrent-ext ruby-csv ruby-did-you-mean ruby-diff-lcs ruby-minitest 196s ruby-net-telnet ruby-power-assert ruby-rspec ruby-rspec-core 196s ruby-rspec-expectations ruby-rspec-mocks ruby-rspec-support 196s ruby-ruby2-keywords ruby-rubygems ruby-test-unit ruby-timecop ruby-webrick 196s ruby-xmlrpc ruby3.3 rubygems-integration 196s 0 upgraded, 26 newly installed, 0 to remove and 0 not upgraded. 196s Need to get 7303 kB of archives. 196s After this operation, 36.7 MB of additional disk space will be used. 196s Get:1 http://ftpmaster.internal/ubuntu resolute/main amd64 rubygems-integration all 1.19build1 [5666 B] 196s Get:2 http://ftpmaster.internal/ubuntu resolute/main amd64 ruby-csv all 3.3.4-1 [43.0 kB] 196s Get:3 http://ftpmaster.internal/ubuntu resolute/main amd64 ruby-did-you-mean all 1.6.3-2build1 [14.9 kB] 196s Get:4 http://ftpmaster.internal/ubuntu resolute/main amd64 ruby-net-telnet all 0.2.0-1build1 [13.5 kB] 196s Get:5 http://ftpmaster.internal/ubuntu resolute/main amd64 ruby-ruby2-keywords all 0.0.5-1build1 [4398 B] 196s Get:6 http://ftpmaster.internal/ubuntu resolute/main amd64 ruby-webrick all 1.9.1-1build1 [60.9 kB] 196s Get:7 http://ftpmaster.internal/ubuntu resolute/main amd64 ruby-xmlrpc all 0.3.3-2build1 [24.9 kB] 196s Get:8 http://ftpmaster.internal/ubuntu resolute-proposed/main amd64 libruby3.3 amd64 3.3.8-2ubuntu3 [5858 kB] 196s Get:9 http://ftpmaster.internal/ubuntu resolute-proposed/main amd64 ruby3.3 amd64 3.3.8-2ubuntu3 [49.1 kB] 196s Get:10 http://ftpmaster.internal/ubuntu resolute/main amd64 libruby amd64 1:3.3 [5164 B] 196s Get:11 http://ftpmaster.internal/ubuntu resolute/main amd64 ruby-rubygems all 3.6.7-2ubuntu2 [332 kB] 196s Get:12 http://ftpmaster.internal/ubuntu resolute/main amd64 ruby amd64 1:3.3 [3666 B] 196s Get:13 http://ftpmaster.internal/ubuntu resolute/main amd64 rake all 13.2.1-1build1 [45.9 kB] 196s Get:14 http://ftpmaster.internal/ubuntu resolute/universe amd64 ruby-minitest all 5.26.1-1 [49.3 kB] 196s Get:15 http://ftpmaster.internal/ubuntu resolute/universe amd64 ruby-power-assert all 2.0.5-1 [12.0 kB] 196s Get:16 http://ftpmaster.internal/ubuntu resolute/universe amd64 ruby-test-unit all 3.6.2-1 [67.0 kB] 196s Get:17 http://ftpmaster.internal/ubuntu resolute/universe amd64 gem2deb-test-runner amd64 2.2.5 [18.3 kB] 196s Get:18 http://ftpmaster.internal/ubuntu resolute/universe amd64 ruby-concurrent all 1.3.4-1 [283 kB] 196s Get:19 http://ftpmaster.internal/ubuntu resolute/universe amd64 ruby-concurrent-ext amd64 1.3.4-1 [9070 B] 196s Get:20 http://ftpmaster.internal/ubuntu resolute/universe amd64 ruby-diff-lcs all 1.5.1-1 [22.8 kB] 196s Get:21 http://ftpmaster.internal/ubuntu resolute/universe amd64 ruby-rspec-support all 3.13.0c0e0m0s1-2 [29.2 kB] 196s Get:22 http://ftpmaster.internal/ubuntu resolute/universe amd64 ruby-rspec-core all 3.13.0c0e0m0s1-2 [164 kB] 196s Get:23 http://ftpmaster.internal/ubuntu resolute/universe amd64 ruby-rspec-expectations all 3.13.0c0e0m0s1-2 [89.8 kB] 196s Get:24 http://ftpmaster.internal/ubuntu resolute/universe amd64 ruby-rspec-mocks all 3.13.0c0e0m0s1-2 [81.0 kB] 196s Get:25 http://ftpmaster.internal/ubuntu resolute/universe amd64 ruby-rspec all 3.13.0c0e0m0s1-2 [3500 B] 196s Get:26 http://ftpmaster.internal/ubuntu resolute/universe amd64 ruby-timecop all 0.9.10-1.1 [11.5 kB] 196s Fetched 7303 kB in 0s (20.2 MB/s) 196s Selecting previously unselected package rubygems-integration. 197s (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 ... 83962 files and directories currently installed.) 197s Preparing to unpack .../00-rubygems-integration_1.19build1_all.deb ... 197s Unpacking rubygems-integration (1.19build1) ... 197s Selecting previously unselected package ruby-csv. 197s Preparing to unpack .../01-ruby-csv_3.3.4-1_all.deb ... 197s Unpacking ruby-csv (3.3.4-1) ... 197s Selecting previously unselected package ruby-did-you-mean. 197s Preparing to unpack .../02-ruby-did-you-mean_1.6.3-2build1_all.deb ... 197s Unpacking ruby-did-you-mean (1.6.3-2build1) ... 197s Selecting previously unselected package ruby-net-telnet. 197s Preparing to unpack .../03-ruby-net-telnet_0.2.0-1build1_all.deb ... 197s Unpacking ruby-net-telnet (0.2.0-1build1) ... 197s Selecting previously unselected package ruby-ruby2-keywords. 197s Preparing to unpack .../04-ruby-ruby2-keywords_0.0.5-1build1_all.deb ... 197s Unpacking ruby-ruby2-keywords (0.0.5-1build1) ... 197s Selecting previously unselected package ruby-webrick. 197s Preparing to unpack .../05-ruby-webrick_1.9.1-1build1_all.deb ... 197s Unpacking ruby-webrick (1.9.1-1build1) ... 197s Selecting previously unselected package ruby-xmlrpc. 197s Preparing to unpack .../06-ruby-xmlrpc_0.3.3-2build1_all.deb ... 197s Unpacking ruby-xmlrpc (0.3.3-2build1) ... 197s Selecting previously unselected package libruby3.3:amd64. 197s Preparing to unpack .../07-libruby3.3_3.3.8-2ubuntu3_amd64.deb ... 197s Unpacking libruby3.3:amd64 (3.3.8-2ubuntu3) ... 197s Selecting previously unselected package ruby3.3. 197s Preparing to unpack .../08-ruby3.3_3.3.8-2ubuntu3_amd64.deb ... 197s Unpacking ruby3.3 (3.3.8-2ubuntu3) ... 197s Selecting previously unselected package libruby:amd64. 197s Preparing to unpack .../09-libruby_1%3a3.3_amd64.deb ... 197s Unpacking libruby:amd64 (1:3.3) ... 197s Selecting previously unselected package ruby-rubygems. 197s Preparing to unpack .../10-ruby-rubygems_3.6.7-2ubuntu2_all.deb ... 197s Unpacking ruby-rubygems (3.6.7-2ubuntu2) ... 197s Selecting previously unselected package ruby. 197s Preparing to unpack .../11-ruby_1%3a3.3_amd64.deb ... 197s Unpacking ruby (1:3.3) ... 197s Selecting previously unselected package rake. 197s Preparing to unpack .../12-rake_13.2.1-1build1_all.deb ... 197s Unpacking rake (13.2.1-1build1) ... 197s Selecting previously unselected package ruby-minitest. 197s Preparing to unpack .../13-ruby-minitest_5.26.1-1_all.deb ... 197s Unpacking ruby-minitest (5.26.1-1) ... 197s Selecting previously unselected package ruby-power-assert. 197s Preparing to unpack .../14-ruby-power-assert_2.0.5-1_all.deb ... 197s Unpacking ruby-power-assert (2.0.5-1) ... 197s Selecting previously unselected package ruby-test-unit. 197s Preparing to unpack .../15-ruby-test-unit_3.6.2-1_all.deb ... 197s Unpacking ruby-test-unit (3.6.2-1) ... 197s Selecting previously unselected package gem2deb-test-runner. 197s Preparing to unpack .../16-gem2deb-test-runner_2.2.5_amd64.deb ... 197s Unpacking gem2deb-test-runner (2.2.5) ... 197s Selecting previously unselected package ruby-concurrent. 197s Preparing to unpack .../17-ruby-concurrent_1.3.4-1_all.deb ... 197s Unpacking ruby-concurrent (1.3.4-1) ... 197s Selecting previously unselected package ruby-concurrent-ext. 197s Preparing to unpack .../18-ruby-concurrent-ext_1.3.4-1_amd64.deb ... 197s Unpacking ruby-concurrent-ext (1.3.4-1) ... 197s Selecting previously unselected package ruby-diff-lcs. 197s Preparing to unpack .../19-ruby-diff-lcs_1.5.1-1_all.deb ... 197s Unpacking ruby-diff-lcs (1.5.1-1) ... 197s Selecting previously unselected package ruby-rspec-support. 197s Preparing to unpack .../20-ruby-rspec-support_3.13.0c0e0m0s1-2_all.deb ... 197s Unpacking ruby-rspec-support (3.13.0c0e0m0s1-2) ... 197s Selecting previously unselected package ruby-rspec-core. 197s Preparing to unpack .../21-ruby-rspec-core_3.13.0c0e0m0s1-2_all.deb ... 197s Unpacking ruby-rspec-core (3.13.0c0e0m0s1-2) ... 197s Selecting previously unselected package ruby-rspec-expectations. 197s Preparing to unpack .../22-ruby-rspec-expectations_3.13.0c0e0m0s1-2_all.deb ... 197s Unpacking ruby-rspec-expectations (3.13.0c0e0m0s1-2) ... 197s Selecting previously unselected package ruby-rspec-mocks. 197s Preparing to unpack .../23-ruby-rspec-mocks_3.13.0c0e0m0s1-2_all.deb ... 197s Unpacking ruby-rspec-mocks (3.13.0c0e0m0s1-2) ... 197s Selecting previously unselected package ruby-rspec. 197s Preparing to unpack .../24-ruby-rspec_3.13.0c0e0m0s1-2_all.deb ... 197s Unpacking ruby-rspec (3.13.0c0e0m0s1-2) ... 197s Selecting previously unselected package ruby-timecop. 197s Preparing to unpack .../25-ruby-timecop_0.9.10-1.1_all.deb ... 197s Unpacking ruby-timecop (0.9.10-1.1) ... 197s Setting up ruby-ruby2-keywords (0.0.5-1build1) ... 197s Setting up ruby-power-assert (2.0.5-1) ... 197s Setting up rubygems-integration (1.19build1) ... 197s Setting up ruby-concurrent (1.3.4-1) ... 197s Setting up ruby-timecop (0.9.10-1.1) ... 197s Setting up ruby-minitest (5.26.1-1) ... 197s Setting up ruby-test-unit (3.6.2-1) ... 197s Setting up ruby-net-telnet (0.2.0-1build1) ... 197s Setting up ruby-csv (3.3.4-1) ... 197s Setting up ruby-rspec-support (3.13.0c0e0m0s1-2) ... 197s Setting up ruby-webrick (1.9.1-1build1) ... 197s Setting up ruby-did-you-mean (1.6.3-2build1) ... 197s Setting up ruby-xmlrpc (0.3.3-2build1) ... 197s Setting up rake (13.2.1-1build1) ... 197s Setting up libruby3.3:amd64 (3.3.8-2ubuntu3) ... 197s Setting up ruby3.3 (3.3.8-2ubuntu3) ... 197s Setting up libruby:amd64 (1:3.3) ... 197s Setting up ruby (1:3.3) ... 197s Setting up ruby-rspec-core (3.13.0c0e0m0s1-2) ... 197s Setting up ruby-diff-lcs (1.5.1-1) ... 197s Setting up ruby-rubygems (3.6.7-2ubuntu2) ... 197s Setting up gem2deb-test-runner (2.2.5) ... 197s Setting up ruby-concurrent-ext (1.3.4-1) ... 197s Setting up ruby-rspec-expectations (3.13.0c0e0m0s1-2) ... 197s Setting up ruby-rspec-mocks (3.13.0c0e0m0s1-2) ... 197s Setting up ruby-rspec (3.13.0c0e0m0s1-2) ... 197s Processing triggers for libc-bin (2.42-2ubuntu4) ... 197s Processing triggers for man-db (2.13.1-1) ... 199s autopkgtest [13:56:01]: 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 199s autopkgtest [13:56:01]: test ruby: [----------------------- 199s 199s ┌──────────────────────────────────────────────────────────────────────────────┐ 199s │ Run tests for ruby3.3 from debian/ruby-tests.rake │ 199s └──────────────────────────────────────────────────────────────────────────────┘ 199s 199s RUBYLIB=. GEM_PATH= ruby3.3 -S rake --rakelibdir /gem2deb-nonexistent -f debian/ruby-tests.rake 199s mv lib ./.gem2deb.lib 199s mv ext ./.gem2deb.ext 199s /usr/bin/ruby3.3 -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 199s Run options: exclude {:stress=>true} 199s 199s Randomized with seed 1 199s 199s Concurrent::IVar 199s #initialize 199s can set an initial value 199s does not have to set an initial value 199s can set an initial value with a block 199s does not set an initial value if you pass NULL 199s raises an exception if given both a value and a block 199s observation 199s notifies all observers on #set 199s deadlock avoidance 199s should notify observers outside mutex lock 199s should notify a new observer added after fulfillment outside lock 199s it should behave like ivar 199s initialization 199s sets the state to incomplete 199s it should behave like dereferenceable 199s does not call #freeze when #freeze_on_deref is set and the value is nil 199s defaults :copy_on_deref to nil 199s defaults :dup_on_deref to false 199s supports dereference flags with observers 199s calls #freeze when the :freeze_on_deref option is true 199s defaults :freeze_on_deref to false 199s does not call #dup when #dup_on_deref is set and the value is nil 199s calls #dup when the :dup_on_deref option is true 199s calls the block when the :copy_on_deref option is passed a proc 199s does not call the #copy_on_deref block when the value is nil 199s calls the :copy block first followed by #dup followed by #freeze 199s it should behave like obligation 199s #value 199s returns nil when reaching the optional timeout value 199s is nil when :pending 199s blocks the caller when :pending and timeout is nil 200s returns the value when fulfilled before timeout 200s is set to the return value of the block when :fulfilled 200s is nil when :rejected 200s returns nil when timeout reached 200s returns immediately when timeout is zero 200s #state 200s is :pending when first created 200s is :fulfilled when the handler completes 200s is :rejected when the handler raises an exception 200s #reason 200s is nil when :fulfilled 200s is set to error object of the exception when :rejected 200s is nil when :pending 200s it should behave like observable 200s #delete_observer 200s deletes the given observer if called before first notification 200s returns the given observer even when not found in the observer set 200s returns the removed observer if found in the observer set 200s #add_observer 200s raises an exception if not given an observer or a block 200s adds an observer if called before first notification 200s raises an exception when given both an observer and a block 200s creates an observer from a block if called before first notification 200s adds an observer with :func if called before first notification 200s first notification 201s does not notify any observers after #delete_observers called 201s calls the appropriate function on all observers which specified a :func 202s does not notify any observers removed with #delete_observer 202s calls the proc for all observers added as a block 202s calls the #update method on all observers without a specified :func 202s #count_observers 202s returns zero for a new observable object 202s returns a count of registered observers if called before first notification 202s returns zero after #delete_observers has been called 202s #delete_observers 202s deletes all observers when called before first notification 202s returns self 202s #set 202s raises an exception when given neither a value nor a block 202s raises an exception if set more than once 202s rejects when given a block which raises an exception 202s returns self 202s sets the state to be fulfilled 202s fulfils when given a block which executes successfully 202s raises an exception when given a value and a block 202s sets the value 202s #fail 202s sets the reason to the given exception 202s raises an exception if set more than once 202s sets the value to be nil 202s returns self 202s defaults the reason to a StandardError 202s sets the state to be rejected 202s #try_set 202s when unset 202s assigns the value 202s assigns the block result 202s returns true 202s when rejected 202s does not assign the block result 202s returns false 202s has a nil value 202s does not assign the value 202s when fulfilled 202s does not assign the value 202s returns false 202s does not assign the block result 202s 202s Concurrent::LazyRegister 202s example at ./spec/concurrent/lazy_register_spec.rb:6 (PENDING: Not yet implemented) 202s 202s dataflow 202s #dataflow uses the global fast executor 202s #dataflow_with raises an exception when no executor given 202s raises an exception when no block given 202s accepts completed dependencies 202s doesn't raise exceptions from dependencies, unless called with ! 202s returns a Future 202s accepts zero or more dependencies 202s accepts uncompleted dependencies 202s #dataflow_with uses the given executor 202s raises an exception if any dependencies are not IVars 202s passes the values of dependencies into the block 202s if there is more than one 202s if there is just one 202s does not schedule the Future 202s if no dependencies are completed 202s if one dependency of two is completed 202s module function 202s can be called as Concurrent.dataflow and Concurrent.dataflow_with 202s counts already executed dependencies 202s if there is more than one 202s if there is just one 202s schedules the Future when all dependencies are available 202s if there is more than one 202s if there is just one 202s 202s Concurrent::MutableStruct 202s #[member]= 202s sets the value when given a valid string member 202s sets the value when given a valid symbol member 202s raises an exception when given a non-existent symbol member 202s raises an exception when given a non-existent string member 202s synchronization 202s protects #[member] 202s protects #values 202s protects #to_h 202s protects getter methods 202s protects #each_pair 202s protects getter methods 202s protects #inspect 202s protects #[member]= 202s protects #to_s 202s protects #values_at 202s protects #merge 202s protects #initialize_copy 202s protects #[index]= 202s protects #== 202s protects #each 202s protects #[index] 202s protects #select 202s definition 202s defines a setter for each member 202s copy 202s #clone 202s mutates only the copy 202s #dup 202s mutates only the copy 202s #[index]= 202s sets the value when given a valid index 202s raises an exception when given an out-of-bound index 202s it should behave like struct 202s properties 202s #members 202s returns a different object than the array passed at definition 202s returns the struct members as an array of symbols 202s #size 202s returns the number of struct members 202s #values 202s returns the values of the struct as an array in order 202s #values_at 202s returns values for ranges and offsets 202s returns the values at multiple given offsets 202s returns values at offsets in a given range 202s returns the value at the given offset 202s returns values for multiple ranges 202s #length 202s returns the number of struct members 202s comparison 202s #!= 202s returns false if other has same struct subclass and equal values 202s returns true if other has different values 202s returns true if other has different struct subclass 202s #== 202s returns true if other has same struct subclass and equal values 202s returns false if other has different struct subclass 202s returns false if other has different values 202s definition 202s registers the class when given a class name which is defined in the ancestors 202s raises an exception when given an invalid class name 202s raises an exception when given no members 202s raise an exception when given an invalid member 202s defines a getter for each member 202s registers the class when given a class name 202s evalues a given block against the new class 202s creates an anonymous class when given at least one member 202s conversion 202s #to_a 202s returns the to_a for this struct as an array 202s #to_s 202s returns the same string as #inspect 202s includes the name of the class when registered 202s includes the names of all members 202s includes all values 202s #to_h 202s returns a Hash containing the names and values in order 202s accessors 202s #[index] 202s retrieves the value when given a valid index 202s raises an exception when given an out-of-bound index 202s #[member] 202s retrieves the value when given a valid string member 202s raises an exception when given a non-existent string member 202s raises an exception when given a non-existent symbol member 202s retrieves the value when given a valid symbol member 202s enumeration 202s #select 202s yields each value 202s returns an enumerator when no block is given 202s returns an Array with the values from for which the block returns true 202s #each 202s returns an enumerator when no block is given 202s yields the value of each struct member in order 202s #each_pair 202s returns an enumerator when no block is given 202s yields the name and value of each struct member in order 202s construction 202s raises an exception when extra members are given 202s sets all absent members to nil 202s sets all given members in order 202s copy 202s #dup 202s discards singleton class 202s shallowly duplicates all members along with the struct 202s discards frozen state of the struct 202s retains frozen state of members 202s copies the singleton class of members 202s #clone 202s retains frozen state 202s copies the singleton class 202s copies the singleton class of members 202s shallowly clones all members along with the struct 202s it should behave like mergeable_struct 202s #merge 202s calls the given block for each key in `other` 202s raises an exception when given a hash with members not in the struct 202s returns a new object 202s retains the value for all members not without values in the given hash 202s updates all members with the new values from a given hash 202s 202s Concurrent 202s Cancellation 202s basic 202s is expected to be falsey 202s is expected to be truthy 202s #join 202s is expected to eq 2 202s is expected to be falsey 202s 202s #atomically 202s provides atomicity 202s raises an exception when no block given 202s reflects transactional writes from within the same transaction 202s undoes writes if the transaction is aborted 202s commits writes if the transaction succeeds 202s retries on abort 202s nests 202s raises the same exception that was raised in Concurrent::atomically 202s 202s Concurrent::Set 202s .[] 202s when initializing with arguments 202s creates a set with the given objects 202s when initializing with no arguments 202s is expected to be empty 202s .new 202s when initializing with no arguments 202s is expected to be empty 202s when initializing with an enumerable object 202s creates a set with the contents of the enumerable object 202s when initializing with a block argument 202s creates a set with the contents of the enumerable object 202s concurrency 202s #each 202s force context switch 202s #add and #delete 202s 202s Concurrent::Delay 202s #reconfigure 202s returns value of block used in reconfiguration 202s returns false when process completed? 202s #value 202s can be called twice 202s calls the block when #value is called 202s raises when called recursively 202s does not call the block before #value is called 202s only calls the block once no matter how often #value is called 202s behavior 202s it should behave like dereferenceable 202s calls the block when the :copy_on_deref option is passed a proc 202s defaults :copy_on_deref to nil 202s does not call #freeze when #freeze_on_deref is set and the value is nil 202s calls #dup when the :dup_on_deref option is true 202s does not call #dup when #dup_on_deref is set and the value is nil 202s defaults :dup_on_deref to false 202s supports dereference flags with observers 202s does not call the #copy_on_deref block when the value is nil 203s calls the :copy block first followed by #dup followed by #freeze 203s defaults :freeze_on_deref to false 203s calls #freeze when the :freeze_on_deref option is true 203s it should behave like obligation 203s #reason 203s is nil when :pending 203s is nil when :fulfilled 203s is set to error object of the exception when :rejected 203s #value 203s is nil when :rejected 203s is set to the return value of the block when :fulfilled 203s returns immediately when timeout is zero 203s blocks the caller when :pending and timeout is nil 203s returns nil when reaching the optional timeout value 203s returns nil when timeout reached 203s returns the value when fulfilled before timeout 203s is nil when :pending 203s #state 203s is :pending when first created 203s is :rejected when the handler raises an exception 203s is :fulfilled when the handler completes 203s #initialize 203s raises an exception when no block given 203s sets the state to :pending 203s 203s Concurrent::Promise 203s #rescue 203s returns a new promise 203s it should behave like thread_arguments 203s passes a one-element array when the :args key has a non-array value 203s passes an empty array when opts is not given 203s passes an empty array when the :args key has a nil value 203s passes an empty array when opts is an empty hash 203s allows the given arguments array to be dereferenced 203s passes the given array when the :args key has a complex array value 203s passes an array when when the :args key has an array value 203s passes an empty array when there is no :args key 203s aliases 203s aliases #realized? for #fulfilled? 203s aliases #catch for #rescue 203s aliases #deref for #value 203s aliases #on_error for #rescue 203s fulfillment 203s can manage long chain 203s sets the promise state to :fulfilled if the block completes 203s passes the result of each block to all its children 203s sets the promise value to the result if its block 203s uses result as fulfillment value when a promise has no block 203s passes the last result through when a promise has no block 203s #fail 203s can only be called on the root promise 203s rejects children 203s #set 203s triggers children 203s can be called with a block 203s #can only be called on the root promise 203s rejection 203s sets the promise value to the result if its block 203s passes the reason to all its children 203s rejects on Exception 203s sets the promise state to :rejected if the block completes 203s uses reason as rejection reason when a promise has no rescue callable 203s .zip 203s does not execute the returned Promise when execute is false 203s preserves ordering of the executed promises 203s executes the returned Promise by default 203s allows setting executor for Promise chain 203s fails if one component fails 203s executes the returned Promise when execute is true 203s yields the results as an array 203s aggregators 203s .any? 203s executes the #then condition when any components succeed 203s executes the #rescue handler if all componenst fail 203s does not execute the returned Promise 203s returns a new Promise 203s executes the #then condition when no promises are given 203s .all? 203s executes the #then condition when all components succeed 203s executes the #rescue handler if even one component fails 203s returns a new Promise 203s does not execute the returned Promise 203s executes the #then condition when no promises are given 203s initializers 203s .execute 203s passes the block to the new Promise 203s calls #execute on the new Promise 203s creates a new Promise 203s .fulfill 203s should return a Promise with set value 203s should return a fulfilled Promise 203s should return a Promise 203s .reject 203s should return a Promise with set reason 203s should return a Promise 203s should return a rejected Promise 203s .new 203s should return an unscheduled Promise 203s #then 203s should have block or rescuers 203s returns a new promise when a block and rescuer are passed 203s returns a new promise when a block is passed 203s returns a new promise when a rescuer is passed 203s can be called more than once 203s supports setting the executor using a named parameter 203s returns a new promise when a block, rescuer and executor are passed 203s fulfilled 203s returns a new Promise 203s notifies fulfillment to new child 203s rejected 203s returns a new Promise when :rejected 203s notifies rejection to new child 203s pending 203s returns a new promise 203s returns a pending promise 203s unscheduled 203s returns a new promise 203s returns an unscheduled promise 203s on_success 203s returns a new promise 203s should have a block 203s #execute 203s with children 203s when called on a child 204s should set all promises to :pending 204s when called on child after parent completes 204s sets state to :pending immediately 204s when called on the root 205s should set all promises to :pending 205s pending 205s does not post again 205s sets the promise to :pending 205s unscheduled 205s posts the block given in construction 206s sets the promise to :pending 206s #flat_map 206s returns a promise 206s fails if the left promise fails 206s fails if the right promise fails 206s fails if the generating block fails 206s succeeds if both promises succeed 206s #zip 206s allows setting executor for Promise chain 206s fails if one component fails 206s executes the returned Promise when execute is true 206s does not execute the returned Promise when execute is false 206s executes the returned Promise by default 206s preserves ordering of the executed promises 206s yields the results as an array 206s it should behave like ivar 206s #set 206s raises an exception if set more than once 206s returns self 206s raises an exception when given neither a value nor a block 206s raises an exception when given a value and a block 206s rejects when given a block which raises an exception 206s sets the state to be fulfilled 206s sets the value 206s fulfils when given a block which executes successfully 206s #try_set 206s when fulfilled 206s returns false 206s does not assign the value 206s does not assign the block result 206s when rejected 206s returns false 206s does not assign the block result 206s has a nil value 206s does not assign the value 206s when unset 206s returns true 206s assigns the value 206s assigns the block result 206s it should behave like observable 206s #add_observer 206s adds an observer with :func if called before first notification 206s raises an exception if not given an observer or a block 206s creates an observer from a block if called before first notification 206s adds an observer if called before first notification 206s raises an exception when given both an observer and a block 206s #count_observers 206s returns zero for a new observable object 206s returns a count of registered observers if called before first notification 206s returns zero after #delete_observers has been called 206s first notification 207s does not notify any observers removed with #delete_observer 208s does not notify any observers after #delete_observers called 208s calls the proc for all observers added as a block 208s calls the appropriate function on all observers which specified a :func 209s calls the #update method on all observers without a specified :func 209s #delete_observer 209s returns the given observer even when not found in the observer set 209s returns the removed observer if found in the observer set 209s deletes the given observer if called before first notification 209s #delete_observers 209s returns self 209s deletes all observers when called before first notification 209s initialization 209s sets the state to incomplete 209s #fail 209s sets the state to be rejected 209s sets the value to be nil 209s raises an exception if set more than once 209s defaults the reason to a StandardError 209s sets the reason to the given exception 209s returns self 209s it should behave like dereferenceable 209s calls the block when the :copy_on_deref option is passed a proc 209s defaults :copy_on_deref to nil 209s does not call #freeze when #freeze_on_deref is set and the value is nil 209s calls #dup when the :dup_on_deref option is true 210s supports dereference flags with observers 210s calls #freeze when the :freeze_on_deref option is true 210s calls the :copy block first followed by #dup followed by #freeze 210s defaults :dup_on_deref to false 211s defaults :freeze_on_deref to false 211s does not call #dup when #dup_on_deref is set and the value is nil 211s does not call the #copy_on_deref block when the value is nil 211s it should behave like obligation 211s #value 216s blocks the caller when :pending and timeout is nil 216s returns nil when reaching the optional timeout value 216s is set to the return value of the block when :fulfilled 216s is nil when :pending 216s returns nil when timeout reached 216s returns immediately when timeout is zero 216s is nil when :rejected 221s returns the value when fulfilled before timeout 221s #reason 221s is nil when :fulfilled 221s is nil when :pending 221s is set to error object of the exception when :rejected 221s #state 221s is :pending when first created 221s is :fulfilled when the handler completes 221s is :rejected when the handler raises an exception 221s 221s Concurrent::TVar 221s #value 221s gets the value 221s #initialize 221s accepts an initial value 221s #value= 221s sets the value 221s 221s Concurrent::Async 221s object creation 221s initializes synchronization 221s passes all args to the original constructor 221s delegates to the original constructor 221s passes a given block to the original constructor 221s #await 221s raises an error when calling a method that does not exist 221s raises an error when passing too few arguments 221s sets the reason when giving too many optional arguments 221s supports methods with blocks 221s sets the value on success 221s supports attribute accessors 221s returns a :fulfilled IVar 221s runs the future on the global executor 221s returns the existence of the method 221s raises an error when pasing too many arguments (arity >= 0) 221s sets the reason on failure 221s #validate_argc 221s raises an exception for too many args on a method with positive arity 221s raises an exception for too many args on a zero arity method 221s does not raise an exception for correct negative arity 221s raises an exception for too few args on a method with negative arity 221s raises an exception when the method is not defined 221s raises an exception for too few args on a method with positive arity 221s does not raise an exception for correct positive arity 221s does not raise an exception for correct zero arity 221s fork safety 221s does not hang when forked 221s locking 221s uses the same lock for both #async and #await 221s #async 221s sets the reason on failure 221s raises an error when calling a method that does not exist 221s supports methods with blocks 221s returns the existence of the method 221s raises an error when passing too few arguments 221s raises an error when pasing too many arguments (arity >= 0) 221s supports attribute accessors 221s runs the future on the global executor 221s returns a :pending IVar 221s sets the value on success 221s sets the reason when giving too many optional arguments 221s 221s Concurrent::MVar 221s #take 221s returns TIMEOUT on timeout on an empty MVar 221s waits for another thread to #put 221s returns the value on a full MVar 221s sets the MVar to empty 221s spurious wake ups 221s #put 222s returns TIMEOUT on timeout on a full MVar 222s waits for another thread to #take 222s #modify 223s waits for another thread to #put 223s returns TIMEOUT on timeout on an empty MVar 223s #take 224s waits for another thread to #put 224s returns TIMEOUT on timeout on an empty MVar 224s #empty? 224s returns false on a full MVar 224s returns true on an empty MVar 224s #set! 224s sets a full MVar to be full 224s returns EMPTY on an empty MVar 224s sets an empty MVar to be full 224s returns the original value on a full MVar 224s #modify! 224s raises an exception when no block given 224s modifies an empty MVar 224s returns the unmodified value 224s can be used to set an empty MVar to empty 224s can be used to set a full MVar to empty 224s modifies a full MVar 224s #initialize 224s accepts an initial value 224s accepts a nil initial value 224s accepts no initial value 224s accepts an empty initial value 224s #try_take! 224s returns EMPTY an empty MVar 224s returns the value on a full MVar 224s sets a full MVar to be empty 224s #borrow 224s returns TIMEOUT on timeout on an empty MVar 224s yields current value to the block and puts back value 224s returns the returned value of the block 224s puts back value even if an exception is raised 224s #put 224s returns the value 224s sets a new value on an empty MVar 224s waits for another thread to #take 224s sets the MVar to be empty 224s returns TIMEOUT on timeout on a full MVar 224s #full? 224s returns true on a full MVar 224s returns false on an empty MVar 224s #try_put! 224s returns false on a full MVar 224s returns true an empty MVar 224s sets an empty MVar to be full 224s #modify 225s waits for another thread to #put 225s returns TIMEOUT on timeout on an empty MVar 226s is atomic 226s raises an exception when no block given 226s modifies a full MVar 226s returns the unmodified value 226s behavior 226s it should behave like dereferenceable 226s calls the block when the :copy_on_deref option is passed a proc 226s defaults :copy_on_deref to nil 226s supports dereference flags with observers 226s does not call #freeze when #freeze_on_deref is set and the value is nil 226s defaults :dup_on_deref to false 226s does not call #dup when #dup_on_deref is set and the value is nil 226s calls the :copy block first followed by #dup followed by #freeze 226s defaults :freeze_on_deref to false 226s calls #freeze when the :freeze_on_deref option is true 226s does not call the #copy_on_deref block when the value is nil 226s calls #dup when the :dup_on_deref option is true 226s 226s configuration 226s global executors 226s creates a global fast executor 226s creates a global timer set 226s creates a global io executor 226s 226s Concurrent::TimerTask 226s execution 226s uses a custom executor when given 226s waits for :execution_interval seconds when the :run_now option is not given 226s uses a fixed rate when set 227s uses a fixed delay when set 227s passes a "self" reference to the block as the sole argument 227s uses the global executor by default 227s waits for :execution_interval seconds when the :run_now option is false 227s runs the block immediately when the :run_now option is true 227s arguments 227s TimeTask timeouts are now ignored as these were not able to be implemented correctly 227s #timeout_interval being written produces a warning 227s TimeTask timeouts are now ignored as these were not able to be implemented correctly 227s #execution_interval is writeable 227s raises an exception if no block given 227s raises on invalid interval_type 227s observation 227s notifies all observers on error 227s notifies all observers on success 227s dereferenceable 227s it should behave like dereferenceable 227s defaults :freeze_on_deref to false 228s defaults :copy_on_deref to nil 228s calls #freeze when the :freeze_on_deref option is true 228s does not call the #copy_on_deref block when the value is nil 228s does not call #freeze when #freeze_on_deref is set and the value is nil 228s does not call #dup when #dup_on_deref is set and the value is nil 228s calls the block when the :copy_on_deref option is passed a proc 229s defaults :dup_on_deref to false 229s calls the :copy block first followed by #dup followed by #freeze 229s calls #dup when the :dup_on_deref option is true 229s supports dereference flags with observers 229s created with #new 229s #kill 229s returns true on success 229s #shutdown 229s returns true on success 229s #initialize 229s uses the default execution interval when no interval is given 229s uses the given execution interval 229s raises an exception if :execution_interval is not greater than zero 229s uses the default :interval_type when no type is given 229s raises an exception if :execution_interval is not an integer 229s raises an exception if :interval_type is not a valid value 229s uses the given interval type 229s raises an exception if no block given 229s observable 229s it should behave like observable 229s #delete_observer 229s deletes the given observer if called before first notification 229s returns the given observer even when not found in the observer set 229s returns the removed observer if found in the observer set 229s #count_observers 229s returns zero after #delete_observers has been called 229s returns a count of registered observers if called before first notification 229s returns zero for a new observable object 229s #delete_observers 229s returns self 229s deletes all observers when called before first notification 229s first notification 230s calls the #update method on all observers without a specified :func 230s calls the appropriate function on all observers which specified a :func 230s calls the proc for all observers added as a block 231s does not notify any observers removed with #delete_observer 232s does not notify any observers after #delete_observers called 232s #add_observer 232s creates an observer from a block if called before first notification 232s raises an exception if not given an observer or a block 232s raises an exception when given both an observer and a block 232s adds an observer with :func if called before first notification 232s adds an observer if called before first notification 232s 232s Concurrent::Hash 232s .[] 232s when initializing with another hash as an argument 232s creates a hash with the results of calling #to_hash on the other array 232s creates a new hash 232s creates a hash with the same contents as the other hash 232s when initializing with an array of pairs 232s creates a hash using each pair as a (key, value) pair 232s when initializing with no arguments 232s is expected to be empty 232s when initializing with an even number of arguments 232s creates a hash using the odd position arguments as keys and even position arguments as values 232s .new 232s when initialized with a block 232s calls the block for non-existing keys 232s returns the results of calling the block for non-existing key 232s when initializing with no arguments 232s is expected to be empty 232s when initialized with a default object 232s uses the default object for non-existing keys 232s concurrency 233s is expected to be empty 233s 233s Concurrent::SettableStruct 233s it should behave like mergeable_struct 233s #merge 233s raises an exception when given a hash with members not in the struct 233s calls the given block for each key in `other` 233s retains the value for all members not without values in the given hash 233s updates all members with the new values from a given hash 233s returns a new object 233s definition 233s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/settable_struct.rb:121: warning: method redefined; discarding old baz 233s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/synchronization/abstract_struct.rb:161: warning: previous definition of baz was here 233s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/settable_struct.rb:121: warning: method redefined; discarding old baz 233s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/synchronization/abstract_struct.rb:161: warning: previous definition of baz was here 233s defines a setter for each member 233s #[index]= 233s raises an exception when given an out-of-bound index 233s raises an exception when given an index that has already been set 233s sets the value when given a valid index 233s it should behave like struct 233s construction 233s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/settable_struct.rb:121: warning: method redefined; discarding old baz 233s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/synchronization/abstract_struct.rb:161: warning: previous definition of baz was here 233s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/settable_struct.rb:121: warning: method redefined; discarding old baz 233s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/synchronization/abstract_struct.rb:161: warning: previous definition of baz was here 233s sets all absent members to nil 233s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/settable_struct.rb:121: warning: method redefined; discarding old baz 233s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/synchronization/abstract_struct.rb:161: warning: previous definition of baz was here 233s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/settable_struct.rb:121: warning: method redefined; discarding old baz 233s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/synchronization/abstract_struct.rb:161: warning: previous definition of baz was here 233s raises an exception when extra members are given 233s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/settable_struct.rb:121: warning: method redefined; discarding old baz 233s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/synchronization/abstract_struct.rb:161: warning: previous definition of baz was here 233s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/settable_struct.rb:121: warning: method redefined; discarding old baz 233s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/synchronization/abstract_struct.rb:161: warning: previous definition of baz was here 233s sets all given members in order 233s accessors 233s #[member] 233s raises an exception when given a non-existent string member 233s retrieves the value when given a valid string member 233s raises an exception when given a non-existent symbol member 233s retrieves the value when given a valid symbol member 233s #[index] 233s retrieves the value when given a valid index 233s raises an exception when given an out-of-bound index 233s definition 233s evalues a given block against the new class 233s raises an exception when given an invalid class name 233s raises an exception when given no members 233s creates an anonymous class when given at least one member 233s raise an exception when given an invalid member 233s registers the class when given a class name 233s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/settable_struct.rb:121: warning: method redefined; discarding old baz 233s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/synchronization/abstract_struct.rb:161: warning: previous definition of baz was here 233s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/settable_struct.rb:121: warning: method redefined; discarding old baz 233s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/synchronization/abstract_struct.rb:161: warning: previous definition of baz was here 233s defines a getter for each member 233s /tmp/autopkgtest.5ln2sD/build.B6w/src/spec/concurrent/struct_shared.rb:15: warning: already initialized constant ValidClassName2 233s /tmp/autopkgtest.5ln2sD/build.B6w/src/spec/concurrent/struct_shared.rb:15: warning: previous definition of ValidClassName2 was here 233s registers the class when given a class name which is defined in the ancestors 233s conversion 233s #to_h 233s returns a Hash containing the names and values in order 233s #to_a 233s returns the to_a for this struct as an array 233s #to_s 233s includes all values 233s returns the same string as #inspect 233s includes the name of the class when registered 233s includes the names of all members 233s copy 233s #clone 233s shallowly clones all members along with the struct 233s copies the singleton class 233s copies the singleton class of members 233s retains frozen state 233s #dup 233s shallowly duplicates all members along with the struct 233s retains frozen state of members 233s discards singleton class 233s discards frozen state of the struct 233s copies the singleton class of members 233s properties 233s #values_at 233s returns values at offsets in a given range 233s returns values for multiple ranges 233s returns the values at multiple given offsets 233s returns the value at the given offset 233s returns values for ranges and offsets 233s #size 233s returns the number of struct members 233s #members 233s returns the struct members as an array of symbols 233s returns a different object than the array passed at definition 233s #values 233s returns the values of the struct as an array in order 233s #length 233s returns the number of struct members 233s enumeration 233s #each_pair 233s returns an enumerator when no block is given 233s yields the name and value of each struct member in order 233s #select 233s yields each value 233s returns an Array with the values from for which the block returns true 233s returns an enumerator when no block is given 233s #each 233s yields the value of each struct member in order 233s returns an enumerator when no block is given 233s comparison 233s #!= 233s returns true if other has different values 233s returns true if other has different struct subclass 233s returns false if other has same struct subclass and equal values 233s #== 233s returns true if other has same struct subclass and equal values 233s returns false if other has different values 233s returns false if other has different struct subclass 233s #[member]= 233s raises an exception when given a string member that has already been set 233s sets the value when given a valid string member 233s raises an exception when given a non-existent string member 233s raises an exception when given a symbol member that has already been set 233s raises an exception when given a non-existent symbol member 233s sets the value when given a valid symbol member 233s synchronization 233s protects getter methods 233s protects #select 233s protects #each_pair 233s protects #inspect 233s protects #[index] 233s protects getter methods 233s protects #to_h 233s protects #initialize_copy 233s protects #[member]= 233s protects #each 233s protects #[index]= 233s protects #values 233s protects #== 233s protects #[member] 233s protects #values_at 233s protects #to_s 233s protects #merge 233s copy 233s #clone 233s retains settability of members 233s #dup 233s retains settability of members 233s 233s Concurrent::ImmutableStruct 233s it should behave like struct 233s accessors 233s #[member] 233s retrieves the value when given a valid string member 233s retrieves the value when given a valid symbol member 233s raises an exception when given a non-existent string member 233s raises an exception when given a non-existent symbol member 233s #[index] 233s retrieves the value when given a valid index 233s raises an exception when given an out-of-bound index 233s definition 233s evalues a given block against the new class 233s raise an exception when given an invalid member 233s defines a getter for each member 233s creates an anonymous class when given at least one member 233s /tmp/autopkgtest.5ln2sD/build.B6w/src/spec/concurrent/struct_shared.rb:15: warning: already initialized constant ValidClassName2 233s /tmp/autopkgtest.5ln2sD/build.B6w/src/spec/concurrent/struct_shared.rb:15: warning: previous definition of ValidClassName2 was here 233s registers the class when given a class name which is defined in the ancestors 233s raises an exception when given an invalid class name 233s raises an exception when given no members 233s registers the class when given a class name 233s conversion 233s #to_s 233s returns the same string as #inspect 233s includes the names of all members 233s includes the name of the class when registered 233s includes all values 233s #to_a 233s returns the to_a for this struct as an array 233s #to_h 233s returns a Hash containing the names and values in order 233s properties 233s #values_at 233s returns values for multiple ranges 233s returns the values at multiple given offsets 233s returns values for ranges and offsets 233s returns values at offsets in a given range 233s returns the value at the given offset 233s #members 233s returns the struct members as an array of symbols 233s returns a different object than the array passed at definition 233s #size 233s returns the number of struct members 233s #length 233s returns the number of struct members 233s #values 233s returns the values of the struct as an array in order 233s comparison 233s #!= 233s returns false if other has same struct subclass and equal values 233s returns true if other has different struct subclass 233s returns true if other has different values 233s #== 233s returns true if other has same struct subclass and equal values 233s returns false if other has different struct subclass 233s returns false if other has different values 233s copy 233s #dup 233s shallowly duplicates all members along with the struct 233s discards frozen state of the struct 233s retains frozen state of members 233s discards singleton class 233s copies the singleton class of members 233s #clone 233s copies the singleton class 233s retains frozen state 233s copies the singleton class of members 233s shallowly clones all members along with the struct 233s construction 233s raises an exception when extra members are given 233s sets all given members in order 233s sets all absent members to nil 233s enumeration 233s #each_pair 233s yields the name and value of each struct member in order 233s returns an enumerator when no block is given 233s #each 233s returns an enumerator when no block is given 233s yields the value of each struct member in order 233s #select 233s returns an enumerator when no block is given 233s yields each value 233s returns an Array with the values from for which the block returns true 233s it should behave like mergeable_struct 233s #merge 233s raises an exception when given a hash with members not in the struct 233s returns a new object 233s updates all members with the new values from a given hash 233s retains the value for all members not without values in the given hash 233s calls the given block for each key in `other` 233s 233s Concurrent::Array 233s concurrency 233s is expected to be empty 233s .new 233s when initializing with a size argument 233s creates an array with size elements set to nil 233s when initializing with a block argument 233s creates an array with size elements set to the default value 233s when initializing with a default value argument 233s creates an array with size elements set to the default value 233s when initializing with no arguments 233s is expected to be empty 233s when initializing with another array as an argument 233s creates an array with the results of calling #to_ary on the other array 233s creates an array with the same contents as the other array 233s creates a new array 233s .[] 233s when initializing with no arguments 233s is expected to be empty 233s when initializing with arguments 233s creates an array with the given objects 233s #slice 233s correctly initializes the monitor 233s 233s Concurrent::Channel 233s #next? 233s returns a just Maybe, true when there are multiple items 233s returns a nothing Maybe and false on failure 233s returns a just Maybe and true when there is one item 233s #take! 233s raises an exception on failure 233s takes the next item when not empty 233s #take? 233s returns a nothing Maybe on failure 233s returns a just Maybe on success 233s #next 233s returns , true when closed and last item 233s returns nil, false when closed and no items remain 233s returns , true when there are multiple items 233s returns nil, false when empty and closed 233s returns , true when there is one item 233s #take 233s returns nil on failure 233s takes the next item when not empty 233s #offer 233s returns true on success 233s rejects nil 233s rejects when the validator raises an exception 233s returns false on failure 233s rejects when the validator returns false 233s put? 233s returns a nothing Maybe on failure 233s rejects when the validator raises an exception 233s accepts nil 233s rejects when the validator returns false 233s returns a just Maybe on success 233s #poll? 233s returns a nothing Maybe immediately if no item is available 233s returns a just Maybe immediately if available 233s returns a nothing Maybe on failure 233s offer? 233s returns a just Maybe on success 233s accepts nil 233s rejects when the validator raises an exception 233s rejects when the validator returns false 233s returns a nothing Maybe on failure 233s offer! 233s returns true on success 233s rejects when the validator raises an exception 233s raises an exception on failure 233s rejects nil 233s rejects when the validator returns false 233s #poll! 233s raises an exception on failure 233s returns the next item immediately if available 233s raises an exception immediately if no item is available 233s #poll 233s returns nil on failure 233s returns nil immediately if no item is available 233s returns the next item immediately if available 233s .each 233s iterates until the channel is closed 233s raises and exception when no block is given 233s put! 233s raises an exception on failure 233s returns true on success 233s rejects when the validator raises an exception 233s rejects nil 233s rejects when the validator returns false 233s factories 233s is expected to receive new(10) 1 time 233s is expected to receive new(10) 1 time 233s goroutines 233s .go_via 233s raises an exception when no block is given 233s is expected to receive post(1, 2, 3) 1 time 233s .go 233s raises an exception when no block is given 233s is expected to receive post(1, 2, 3) 1 time 233s .go_loop 233s loops until the block returns false 233s raises an exception when no block is given 233s .go_loop_via 233s raises an exception when no block is given 233s loops until the block returns false 233s select 233s is expected to be truthy 233s raises an exception when no block is given 233s passes a selector to the block 233s #put 233s rejects when the validator returns false 233s rejects nil 233s rejects when the validator raises an exception 233s returns false on failure 233s returns true on success 233s initialization 233s raises an exception when the :buffer is invalid 233s raises an exception when :dropping given without :capacity 233s is :buffered when :capacity > 0 and no :buffer given 233s is :unbuffered when neither :buffer nore :capacity is given 233s raises an exception when :buffered given without :capacity 233s is :sliding when :sliding and :capacity > 0 233s raises an exception when :buffered and :capacity < 0 233s is :buffered when :buffered given 233s is :dropping when :dropping and :capacity > 0 233s raises an exception when :sliding given without :capacity 233s is :unbuffered when :buffered and capacity: 0 233s raises an exception when :sliding and :capacity < 1 233s raises an exception when both :unbuffered and :capacity are given 233s is :unbuffered when :unbuffered is given 233s uses the given buffer 233s raises an exception when :dropping and :capacity < 1 233s 233s Concurrent::Exchanger 233s class hierarchy 233s inherits from RubyExchanger 233s 233s Concurrent::ProcessingActor 233s is expected to eq "ab" 233s 233s Concurrent::Promises 233s zip_futures_over 233s .event 233s is expected to equal true 233s .zip_events 233s waits for all and returns event 233s Future 233s can be risen when rejected 233s has sync and async callbacks 233s chains with correct arguments 233s runs 233s value! supports setting timeout 233s result supports setting timeout 233s wait! supports setting timeout 233s chains 233s wait supports setting timeout 233s value supports setting timeout 233s constructs promise like tree 233s resolves future when Exception raised 233s allows graphs 233s reason supports setting timeout 233s #flat 233s it propagates rejection of the future which was suppose to provide inner future 233s propagates requests for values to delayed futures 233s rejects if inner value is not a future 233s accepts inner event 233s returns value of inner future 233s propagates rejection of inner future 233s has shortcuts 233s ResolvableEvent 233s #resolve(raise_on_reassign = true) 233s #wait 233s #resolve(raise_on_reassign = false) 233s reservation 233s .any_fulfilled 233s continues on first result 233s treats a resolved Event as a fulfilled Future 233s treats a pending Event as a pending Future 233s .rejected_future 233s raises the correct error when passed an unraised error 233s chain_resolvable 233s future 233s event 233s .future without block 233s is expected to eq 0 233s .zip 233s waits for all results 233s when a future raises an error 233s raises a concurrent error 233s when deeply nested 233s raises the original error 233s value! 233s does not return spuriously without timeout 233s does not return spuriously with timeout 233s .future 233s executes 233s executes with args 233s .any_resolved 233s continues on first result 233s .delay 233s is expected to eq 2 233s ResolvableFuture 233s #wait! 233s result 233s #wait 233s atomic_resolution 233s #value! 233s #value 233s reservation 233s #reason 233s interoperability 233s with erlang actor 233s with channel 233s with processing actor 233s .schedule 234s scheduled execution in graph 234s scheduled execution 234s 234s Concurrent::Atom 234s #compare_and_set 234s returns true if the current value matches 234s returns false if the current value does not match 234s rejects the new value if the current value does not match 234s returns false if the validator returns false 234s sets the new value if the current value matches 234s returns false if the validator raises an exception 234s rejects the new value if the validator returns false 234s rejects the new value if the validator raises an exception 234s #reset 234s returns the new value on success 234s returns the new value on success 234s returns the old value if the validator returns false 234s returns the old value if the validator raises an exception 234s sets the new value 234s #swap 234s rejects the new value if the validator returns false 234s rejects the new value if the validator raises an exception 234s reraises the exception from block 234s returns the new value on success 234s calls the block more than once if the value changes underneath 234s sets the new value to the result of the block 234s returns the old value if the validator returns false 234s raises an exception when no block is given 234s passes all arguments to the block 234s returns the old value if the validator raises an exception 234s passes the current value to the block 234s observable 234s behaves like observable 234s first notification 235s does not notify any observers removed with #delete_observer 235s calls the appropriate function on all observers which specified a :func 236s does not notify any observers after #delete_observers called 236s calls the proc for all observers added as a block 236s calls the #update method on all observers without a specified :func 236s #add_observer 236s creates an observer from a block if called before first notification 236s adds an observer with :func if called before first notification 236s adds an observer if called before first notification 236s raises an exception if not given an observer or a block 236s raises an exception when given both an observer and a block 236s #delete_observer 236s returns the given observer even when not found in the observer set 236s returns the removed observer if found in the observer set 236s deletes the given observer if called before first notification 236s #count_observers 236s returns a count of registered observers if called before first notification 236s returns zero after #delete_observers has been called 236s returns zero for a new observable object 236s #delete_observers 236s deletes all observers when called before first notification 236s returns self 236s construction 236s sets the initial value to the given value 236s 236s Concurrent::Future 236s it should behave like thread_arguments 236s passes an empty array when there is no :args key 236s allows the given arguments array to be dereferenced 236s passes an array when when the :args key has an array value 236s passes the given array when the :args key has a complex array value 236s passes an empty array when opts is not given 236s passes a one-element array when the :args key has a non-array value 236s passes an empty array when opts is an empty hash 236s passes an empty array when the :args key has a nil value 236s class #execute 236s calls #execute on the new Future 236s creates a new Future 236s passes the block to the new Future 236s #initialize 236s raises an exception when no block given 236s sets the state to :unscheduled 236s uses the executor given with the :executor option 236s uses the global io executor by default 236s cancellation 236s #wait_or_cancel 236s returns true if the operation completes before timeout 236s cancels the task on timeout 236s #cancel 236s fails to cancel the task once processing has begun 236s fails to cancel the task once processing is complete 236s cancels a pending task 236s instance #execute 236s posts the block given on construction 236s returns self 236s does nothing unless the state is :unscheduled 236s sets the state to :pending 236s fulfillment 236s sets the state to :rejected when the handler raises an exception 236s sets the value to nil when the handler raises Exception 236s sets the value to nil when the handler raises an exception 236s sets the reason to the Exception instance when the handler raises Exception 236s sets the value to the result of the handler 236s passes all arguments to handler 236s sets the state to :processing while the task is executing 236s sets the state to :fulfilled when the block completes 236s aliases 236s aliases #deref for #value 236s aliases #realized? for #fulfilled? 236s it should behave like ivar 236s #try_set 236s when unset 236s assigns the value 236s returns true 236s assigns the block result 236s when fulfilled 236s does not assign the block result 236s does not assign the value 236s returns false 236s when rejected 236s does not assign the value 236s has a nil value 236s does not assign the block result 236s returns false 236s #fail 236s sets the state to be rejected 236s defaults the reason to a StandardError 236s sets the value to be nil 236s sets the reason to the given exception 236s raises an exception if set more than once 236s returns self 236s it should behave like obligation 236s #reason 236s is nil when :fulfilled 236s is set to error object of the exception when :rejected 236s is nil when :pending 236s #value 236s returns nil when timeout reached 236s is nil when :pending 236s is nil when :rejected 236s returns nil when reaching the optional timeout value 241s returns the value when fulfilled before timeout 246s blocks the caller when :pending and timeout is nil 246s is set to the return value of the block when :fulfilled 246s returns immediately when timeout is zero 246s #state 246s is :fulfilled when the handler completes 246s is :pending when first created 246s is :rejected when the handler raises an exception 246s it should behave like dereferenceable 246s calls #dup when the :dup_on_deref option is true 247s supports dereference flags with observers 247s defaults :copy_on_deref to nil 247s does not call the #copy_on_deref block when the value is nil 247s calls the :copy block first followed by #dup followed by #freeze 247s does not call #freeze when #freeze_on_deref is set and the value is nil 247s calls #freeze when the :freeze_on_deref option is true 248s calls the block when the :copy_on_deref option is passed a proc 248s defaults :freeze_on_deref to false 248s does not call #dup when #dup_on_deref is set and the value is nil 248s defaults :dup_on_deref to false 248s it should behave like observable 248s #delete_observers 248s returns self 248s deletes all observers when called before first notification 248s #add_observer 248s adds an observer with :func if called before first notification 248s raises an exception if not given an observer or a block 248s creates an observer from a block if called before first notification 248s raises an exception when given both an observer and a block 248s adds an observer if called before first notification 248s #count_observers 248s returns zero after #delete_observers has been called 248s returns zero for a new observable object 248s returns a count of registered observers if called before first notification 248s first notification 248s calls the appropriate function on all observers which specified a :func 250s does not notify any observers removed with #delete_observer 250s calls the proc for all observers added as a block 251s does not notify any observers after #delete_observers called 251s calls the #update method on all observers without a specified :func 251s #delete_observer 251s returns the removed observer if found in the observer set 251s deletes the given observer if called before first notification 251s returns the given observer even when not found in the observer set 251s #set 251s fulfils when given a block which executes successfully 251s raises an exception when given neither a value nor a block 251s sets the state to be fulfilled 251s raises an exception if set more than once 251s raises an exception when given a value and a block 251s sets the value 251s returns self 251s rejects when given a block which raises an exception 251s initialization 251s sets the state to incomplete 251s observation 251s notifies an observer added after fulfillment 251s does not notify existing observers when a new observer added after fulfillment 251s notifies all observers on fulfillment 251s does not notify existing observers when a new observer added after rejection 251s notifies an observer added after rejection 251s notifies all observers on rejection 251s deadlock avoidance 251s should notify observers outside mutex lock 251s should notify a new observer added after fulfillment outside lock 251s 251s #leave_transaction 251s neither commits nor aborts a transaction 251s raises an exception outside an #atomically block 251s 251s Concurrent::Actor 251s forbids Immediate executor 251s links atomically 251s links 251s dead letter routing 251s logs by deafault 251s messaging 251s is expected to eq 4 251s termination 251s terminates with all its children 251s spawning 251s terminates on failed initialization and raises with spawn! 251s terminates on failed initialization 251s terminates on failed message processing 251s Actor#spawn! 251s spawn 251s executor should be global 251s returns arg 251s #name 251s is expected to eq "ping" 251s #path 251s is expected to eq "/ping" 251s #reference 251s is expected to eq # 251s #parent 251s is expected to eq # 251s context_spawn_by_hash 251s executor should be global 251s returns arg 251s #reference 251s is expected to eq # 251s #path 251s is expected to eq "/ping" 251s #parent 251s is expected to eq # 251s #name 251s is expected to eq "ping" 251s context_spawn 251s executor should be global 251s returns arg 251s #reference 251s is expected to eq # 251s #parent 251s is expected to eq # 251s #path 251s is expected to eq "/ping" 251s #name 251s is expected to eq "ping" 251s spawn_by_hash 251s returns arg 251s executor should be global 251s #name 251s is expected to eq "ping" 251s #parent 251s is expected to eq # 251s #path 251s is expected to eq "/ping" 251s #reference 251s is expected to eq # 251s pausing 251s pauses on error and resets 251s pauses on error and resumes 251s pauses on error and restarts 251s envelope 251s is expected to eq # 251s pool 251s supports asks 251s message redirecting 251s is evaluated by child 251s children 251s has children set after a child is created 251s 251s monotonic_time 251s behavior 251s returns a Float when unit = :float_second 251s returns seconds as float 251s returns an Integer when unit = :millisecond 251s returns an Integer when unit = :nanosecond 251s returns an Integer when unit = :microsecond 251s raises ArgumentError on unknown units 251s returns a Float when unit = :float_microsecond 251s returns a Float when unit = :float_millisecond 251s returns an Integer when unit = :second 251s 251s #abort_transaction 251s raises an exception outside an #atomically block 251s 251s Concurrent 251s Throttle 252s capacity limited 252s acquiring 252s #to_s 252s #on 252s 252s Concurrent::Maybe 252s comparison 252s something is less than a bigger value 252s nothing is not greater than nothing 252s something is not equal to nothing 252s something is not equal to a different value 252s something is greater than a smaller value 252s nothing is equal to nothing 252s something is equal to the same value 252s nothing is not less than nothing 252s construction 252s hides Maybe.new 252s Maybe.nothing 252s creates a new Nothing Maybe 252s creates a new error object when given nothing 252s creates a new error object with the given string 252s uses the given Error object 252s Maybe.just 252s creates a new Just Maybe 252s Maybe.from 252s creates a Just Maybe on success 252s passes all arguments to the block 252s sets the reason to the error object on exception 252s creates a Nothing Maybe on exception 252s sets the value to the block result on success 252s raises an exception when no block is given 252s when just 252s #nothing returns NONE 252s #fulfilled? returns true 252s #nothing? returns false 252s #reason returns NONE 252s #rejected? returns false 252s #just? returns true 252s #value returns the value 252s #just returns the value 252s when nothing 252s #nothing returns the raised error 252s #rejected? returns true 252s #just returns NONE 252s #value returns NONE 252s #nothing? returns true 252s #reason returns the raised error 252s #just? returns false 252s #fulfilled? returns false 252s #or 252s returns the other when nothing 252s returns the value when something 252s 252s Concurrent::Options 252s .executor_from_options 252s raises an exception when :executor is an unrecognized symbol 252s returns the global io executor when :executor is :io 252s returns an immediate executor when :executor is :immediate 252s returns the global fast executor when :executor is :fast 252s returns the given :executor 252s 252s Concurrent::RubyExchanger 252s Good: 10000, Bad (timeout): 0, Ugly: 0 252s stress test 252s behaves like exchanger 252s #try_exchange 252s behaves like exchanger method with indefinite timeout 252s blocks indefinitely 252s receives the other value 252s can be reused 252s behaves like exchanger method with finite timeout 252s can be reused 252s receives the other value 252s blocks until timeout 252s behaves like exchanger method cross-thread interactions 252s allows multiple firsts to cancel if necessary 252s when first, waits for a second 252s #exchange 252s behaves like exchanger method with finite timeout 252s blocks until timeout 252s can be reused 252s receives the other value 252s behaves like exchanger method cross-thread interactions 252s allows multiple firsts to cancel if necessary 253s when first, waits for a second 253s behaves like exchanger method with indefinite timeout 253s receives the other value 253s can be reused 253s blocks indefinitely 253s #exchange! 253s behaves like exchanger method with indefinite timeout 253s blocks indefinitely 253s receives the other value 253s can be reused 253s behaves like exchanger method cross-thread interactions 253s allows multiple firsts to cancel if necessary 253s when first, waits for a second 253s behaves like exchanger method with finite timeout 253s blocks until timeout 253s receives the other value 253s can be reused 253s 253s Concurrent::ScheduledTask 253s #initialize 253s raises an exception when no block given 253s sets the initial state to :unscheduled 253s raises an exception when seconds is less than zero 253s accepts a number of seconds (from now) as the schedule time 253s behavior 253s it should behave like obligation 253s #reason 253s is set to error object of the exception when :rejected 253s is nil when :pending 253s is nil when :fulfilled 253s #value 253s is set to the return value of the block when :fulfilled 253s returns nil when timeout reached 253s returns nil when reaching the optional timeout value 254s blocks the caller when :pending and timeout is nil 254s returns immediately when timeout is zero 255s returns the value when fulfilled before timeout 255s is nil when :pending 255s is nil when :rejected 255s #state 255s is :fulfilled when the handler completes 255s is :pending when first created 255s is :rejected when the handler raises an exception 255s it should behave like dereferenceable 255s calls #dup when the :dup_on_deref option is true 255s calls #freeze when the :freeze_on_deref option is true 255s defaults :freeze_on_deref to false 255s defaults :dup_on_deref to false 255s calls the :copy block first followed by #dup followed by #freeze 255s calls the block when the :copy_on_deref option is passed a proc 255s supports dereference flags with observers 255s does not call the #copy_on_deref block when the value is nil 255s does not call #freeze when #freeze_on_deref is set and the value is nil 255s does not call #dup when #dup_on_deref is set and the value is nil 255s defaults :copy_on_deref to nil 255s it should behave like observable 255s first notification 256s does not notify any observers after #delete_observers called 256s calls the appropriate function on all observers which specified a :func 257s calls the proc for all observers added as a block 258s does not notify any observers removed with #delete_observer 258s calls the #update method on all observers without a specified :func 258s #count_observers 258s returns zero after #delete_observers has been called 258s returns a count of registered observers if called before first notification 258s returns zero for a new observable object 258s #add_observer 258s creates an observer from a block if called before first notification 258s raises an exception if not given an observer or a block 258s adds an observer with :func if called before first notification 258s adds an observer if called before first notification 258s raises an exception when given both an observer and a block 258s #delete_observers 258s deletes all observers when called before first notification 258s returns self 258s #delete_observer 258s returns the removed observer if found in the observer set 258s deletes the given observer if called before first notification 258s returns the given observer even when not found in the observer set 258s class #execute 258s passes the block to the new ScheduledTask 258s creates a new ScheduledTask 258s calls #execute on the new ScheduledTask 258s instance #execute 258s returns self 258s sets the sate to :pending 258s does nothing unless the state is :unscheduled 258s execution 258s passes :args from the options to the block 258s uses the :executor from the options 258s uses the :timer_set from the options 258s sets the state to :processing when the task is running 258s observation 258s notifies all observers on rejection 258s notifies all observers on fulfillment 258s returns true for an observer added while :pending 258s returns true for an observer added while :unscheduled 259s returns true for an observer added while :processing 259s #cancel 259s returns true on success 259s returns false if the task has already been performed 259s cancels the task if it has not yet scheduled 259s sets the reason to CancelledOperationError when cancelled 260s cancels the task if it has not yet started 260s returns false if the task is already in progress 260s 260s Concurrent::Synchronization 260s Concurrent::Synchronization::Object 260s does not ensure visibility when not needed 260s does ensure visibility when specified in a parent 260s does ensure visibility once when specified in child again 260s does ensure visibility when specified 260s it should behave like attr_volatile 261s older writes are always visible 261s Concurrent::Synchronization::Volatile module 261s it should behave like attr_volatile 262s older writes are always visible 262s Concurrent::Synchronization::LockableObject 262s final field always visible 262s #synchronize 262s allows only one thread to execute count 262s #wait 262s allows the sleeping thread to be killed 262s releases the lock on the current object 262s can be called from within a #synchronize block 262s puts the current thread to sleep 262s it should behave like attr_volatile 264s older writes are always visible 264s signaling 264s for now pending, tested pretty well by Event (PENDING: Not yet implemented) 264s attr_atomic 264s is expected to be == b 264s 264s Concurrent::Map 264s #key? 264s is unfreezable 264s default_proc is called with the Concurrent::Map and the key after #dup 264s options validation 264s #delete_pair 264s #put_if_absent 264s collision resistance 264s concurrency 264s #values 264s default_proc is called with the Concurrent::Map and the key 264s #get_and_set 264s #size 264s #replace_if_exists 264s initial capacity options validation 264s #get_or_default 264s #each_key 264s #clear 264s retrieval 264s collision resistance with arrays 264s marshal dump does not work with default proc 264s #value? 264s #delete 264s default proc 264s #empty 264s #keys 264s marshal dump load 264s load factor options validation 264s updates dont block reads 264s #each_value 264s #inspect 264s falsy default proc 264s #key 264s #replace_pair 264s #dup,#clone 264s #compute 264s exception 264s common 264s with return 264s #compute_if_present 264s common 264s exception 264s with return 264s #fetch 264s common 264s falsy 264s with return 264s #merge_pair 264s exception 264s common 264s with return 264s #each 264s it should behave like collection_each 264s common 264s allows modification 264s pair iterator 264s when no block is given 264s returns an object which is enumerable 264s returns an enumerator 264s #each_pair 264s it should behave like collection_each 264s common 264s pair iterator 264s allows modification 264s when no block is given 264s returns an enumerator 264s returns an object which is enumerable 264s #compute_if_absent 264s atomicity 264s exception 264s works in default_proc 264s common 264s with return 264s #fetch_or_store 264s falsy 264s common 264s with return 264s 264s Concurrent::Agent 264s nested actions 264s occur in the order they ar post 264s work with immediate execution 264s initialization 264s sets #failed? to false 264s sets the initial error to nil 264s defaults the error mode to :continue when an error handler is given 264s defaults the error mode to :fail when no error handler is given 264s sets the error mode when given a valid value 264s sets the initial value 264s raises an error when given an invalid error mode 264s action processing 264s when validation raises an error the handler will be called 264s upon validation the new value will be set to the block return value 264s the given block will be passed any provided arguments 264s when validation raises an error the value will not change 264s the return value will be passed to the validator function 264s any recursive action dispatches will run after the value has been updated 264s when validation fails the handler will be called 264s when the action raises an error the validator will not be called 264s when the action raises an error the handler will be called 264s when validation returns false the value will not change 264s on success all observers will be notified 264s the given block will be passed the current value 264s when the action raises an error the value will not change 264s posting 264s with #send 264s returns false when #failed? 264s returns true when the job is post 264s posts to the global fast executor 264s does not wait for the action to process 264s with #send_off 264s does not wait for the action to process 264s returns true when the job is post 264s returns false when #failed? 264s posts to the global io executor 264s with #send! 264s returns true when the job is post 264s raises an error when #failed? 264s posts to the global fast executor 264s does not wait for the action to process 264s with #send_off! 264s does not wait for the action to process 264s posts to the global io executor 264s returns true when the job is post 264s raises an error when #failed? 264s with #send_via 264s returns true when the job is post 264s posts to the given executor 264s returns false when #failed? 264s with #<< 264s posts to the global io executor 264s returns self when #failed? 264s returns self when the job is post 264s does not wait for the action to process 264s with #send_via! 264s posts to the given executor 264s raises an error when #failed? 264s returns true when the job is post 264s with #post 264s posts to the global io executor 264s returns true when the job is post 264s does not wait for the action to process 264s returns false when #failed? 264s error handling 264s the agent will be passed to the handler 264s the exception will be passed to the handler 264s does not trigger observation 264s #restart 264s when #failed? 264s raises an error if the new value is not valid 264s does not trigger observation 264s sets #failed? to true 264s clears the error 265s does not clear the action queue when :clear_actions is false 265s resumes action processing if actions are enqueued 265s sets the new value 265s does not clear the action queue when :clear_actions is not given 265s removes all actions from the queue when :clear_actions is true 265s when not #failed? 265s raises an error 265s observable 265s behaves like observable 265s #delete_observer 265s deletes the given observer if called before first notification 265s returns the given observer even when not found in the observer set 265s returns the removed observer if found in the observer set 265s #count_observers 265s returns zero after #delete_observers has been called 265s returns zero for a new observable object 265s returns a count of registered observers if called before first notification 265s first notification 265s calls the appropriate function on all observers which specified a :func 266s does not notify any observers after #delete_observers called 266s calls the proc for all observers added as a block 267s does not notify any observers removed with #delete_observer 267s calls the #update method on all observers without a specified :func 267s #add_observer 267s raises an exception if not given an observer or a block 267s raises an exception when given both an observer and a block 267s adds an observer if called before first notification 267s adds an observer with :func if called before first notification 267s creates an observer from a block if called before first notification 267s #delete_observers 267s deletes all observers when called before first notification 267s returns self 267s waiting 267s with .await_for 267s returns true when all prior actions for all agents have processed 268s returns false on timeout 268s returns true when there are no pending actions 268s with #await_for 268s does not block on actions from other threads 268s returns true when there are no pending actions 269s returns false on timeout 269s returns false if restarted with :clear_actions true (PENDING: the timing is nearly impossible) 270s returns true when all prior actions have processed 270s with #await_for! 270s raises an error if restarted with :clear_actions true (PENDING: the timing is nearly impossible) 270s does not block on actions from other threads 271s raises an error on timeout 271s returns true when there are no pending actions 272s returns true when all prior actions have processed 272s with #await 273s blocks indefinitely 274s returns true when all prior actions have processed 274s returns self when there are no pending actions 274s does not block on actions from other threads 274s blocks forever if restarted with :clear_actions true (PENDING: the timing is nearly impossible) 274s with await_for! 275s raises an exception on timeout 275s returns true when all prior actions for all agents have processed 275s returns true when there are no pending actions 275s with .await 275s returns true when all prior actions on all agents have processed 275s with #wait 276s returns true when all prior actions have processed 277s blocks indefinitely when timeout is nil 277s does not block on actions from other threads 277s returns false when timeout is given and restarted with :clear_actions true (PENDING: the timing is nearly impossible) 277s returns true when there are no pending actions and a timeout is given 278s returns false on timeout 278s blocks forever when timeout is nil and restarted with :clear_actions true (PENDING: the timing is nearly impossible) 278s returns true when there are no pending actions and timeout is nil 278s the await job 278s does not trigger the error mode 278s does not change the value 278s waits for nested actions 278s does not trigger observers 278s validation 278s rejects the new value when the validator returns false 278s sets the error when the error mode is :fail and the validator raises an error 278s sets the error when the error mode is :fail and the validator returns false 278s does not set an error when the error mode is :continue and the validator returns false 278s does not trigger observation when validation fails 278s does not set an error when the error mode is :continue and the validator raises an error 278s sets the new value when the validator returns true 278s rejects the new value when the validator raises an error 278s error mode 278s :continue 278s does not block further action processing 278s does not set an error when the action raises an error 278s sets #failed? to false 278s does not set an error when the validator raises an error 278s does not set an error when the validator returns false 278s :fail 278s blocks all further action processing until a restart 278s sets the error when the validator raises an error 278s sets #failed? to true 278s sets the error when the action raises an error 278s sets the error when the validator returns false 278s 278s Finished in 1 minute 19.1 seconds (files took 0.25084 seconds to load) 278s 1426 examples, 0 failures, 7 pending 278s 278s Randomized with seed 1 278s 279s mv ./.gem2deb.lib lib 279s mv ./.gem2deb.ext ext 279s autopkgtest [13:57:21]: test ruby: -----------------------] 279s autopkgtest [13:57:21]: test ruby: - - - - - - - - - - results - - - - - - - - - - 279s ruby PASS 280s autopkgtest [13:57:22]: test jruby: preparing testbed 299s Creating nova instance adt-resolute-amd64-ruby-concurrent-20260206-135242-juju-7f2275-prod-proposed-migration-environment-20-814e6883-dfec-43ae-9db0-f14e0934ca0f from image adt/ubuntu-resolute-amd64-server-20260204.img (UUID fedf54b4-458b-493e-8072-6425c19717b4)... 389s autopkgtest [13:59:11]: testbed dpkg architecture: amd64 389s autopkgtest [13:59:11]: testbed apt version: 3.1.14 389s autopkgtest [13:59:11]: @@@@@@@@@@@@@@@@@@@@ test bed setup 389s autopkgtest [13:59:11]: testbed release detected to be: resolute 390s autopkgtest [13:59:12]: updating testbed package index (apt update) 390s Get:1 http://ftpmaster.internal/ubuntu resolute-proposed InRelease [124 kB] 390s Hit:2 http://ftpmaster.internal/ubuntu resolute InRelease 390s Hit:3 http://ftpmaster.internal/ubuntu resolute-updates InRelease 390s Hit:4 http://ftpmaster.internal/ubuntu resolute-security InRelease 390s Get:5 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse Sources [30.8 kB] 390s Get:6 http://ftpmaster.internal/ubuntu resolute-proposed/restricted Sources [9256 B] 390s Get:7 http://ftpmaster.internal/ubuntu resolute-proposed/universe Sources [1473 kB] 390s Get:8 http://ftpmaster.internal/ubuntu resolute-proposed/main Sources [191 kB] 390s Get:9 http://ftpmaster.internal/ubuntu resolute-proposed/main i386 Packages [181 kB] 391s Get:10 http://ftpmaster.internal/ubuntu resolute-proposed/main amd64 Packages [249 kB] 391s Get:11 http://ftpmaster.internal/ubuntu resolute-proposed/main amd64 c-n-f Metadata [6436 B] 391s Get:12 http://ftpmaster.internal/ubuntu resolute-proposed/restricted amd64 Packages [68.4 kB] 391s Get:13 http://ftpmaster.internal/ubuntu resolute-proposed/restricted i386 Packages [3692 B] 391s Get:14 http://ftpmaster.internal/ubuntu resolute-proposed/restricted amd64 c-n-f Metadata [336 B] 391s Get:15 http://ftpmaster.internal/ubuntu resolute-proposed/universe amd64 Packages [1348 kB] 391s Get:16 http://ftpmaster.internal/ubuntu resolute-proposed/universe i386 Packages [518 kB] 391s Get:17 http://ftpmaster.internal/ubuntu resolute-proposed/universe amd64 c-n-f Metadata [35.8 kB] 391s Get:18 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse amd64 Packages [26.7 kB] 391s Get:19 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse i386 Packages [4320 B] 391s Get:20 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse amd64 c-n-f Metadata [1060 B] 392s Fetched 4271 kB in 1s (4480 kB/s) 392s Reading package lists... 393s Hit:1 http://ftpmaster.internal/ubuntu resolute-proposed InRelease 393s Hit:2 http://ftpmaster.internal/ubuntu resolute InRelease 393s Hit:3 http://ftpmaster.internal/ubuntu resolute-updates InRelease 393s Hit:4 http://ftpmaster.internal/ubuntu resolute-security InRelease 394s Reading package lists... 394s Reading package lists... 394s Building dependency tree... 394s Reading state information... 394s Calculating upgrade... 394s The following packages will be upgraded: 394s amd64-microcode apt busybox-initramfs busybox-static dmsetup findutils less 394s libapt-pkg7.0 libattr1 libdevmapper1.02.1 libdrm-amdgpu1 libdrm-common 394s libdrm2 libgpm2 libkeyutils1 libmaxminddb0 libnpth0t64 libsensors-config 394s libsensors5 mawk patch pollinate python3-linkify-it python3-markdown-it 394s python3-referencing sed tar 394s 27 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 394s Need to get 5981 kB of archives. 394s After this operation, 270 kB disk space will be freed. 394s Get:1 http://ftpmaster.internal/ubuntu resolute/main amd64 findutils amd64 4.10.0-3build2 [307 kB] 394s Get:2 http://ftpmaster.internal/ubuntu resolute/main amd64 sed amd64 4.9-2build3 [195 kB] 394s Get:3 http://ftpmaster.internal/ubuntu resolute/main amd64 tar amd64 1.35+dfsg-3.1build2 [257 kB] 394s Get:4 http://ftpmaster.internal/ubuntu resolute/main amd64 libattr1 amd64 1:2.5.2-3build2 [11.4 kB] 394s Get:5 http://ftpmaster.internal/ubuntu resolute/main amd64 mawk amd64 1.3.4.20260129-1 [133 kB] 394s Get:6 http://ftpmaster.internal/ubuntu resolute/main amd64 libapt-pkg7.0 amd64 3.1.15 [1151 kB] 394s Get:7 http://ftpmaster.internal/ubuntu resolute/main amd64 apt amd64 3.1.15 [1479 kB] 395s Get:8 http://ftpmaster.internal/ubuntu resolute/main amd64 libdevmapper1.02.1 amd64 2:1.02.205-2ubuntu3 [142 kB] 395s Get:9 http://ftpmaster.internal/ubuntu resolute/main amd64 dmsetup amd64 2:1.02.205-2ubuntu3 [79.4 kB] 395s Get:10 http://ftpmaster.internal/ubuntu resolute/main amd64 less amd64 668-1build1 [172 kB] 395s Get:11 http://ftpmaster.internal/ubuntu resolute/main amd64 libkeyutils1 amd64 1.6.3-6ubuntu3 [10.6 kB] 395s Get:12 http://ftpmaster.internal/ubuntu resolute/main amd64 python3-linkify-it all 2.0.3-1ubuntu3 [19.4 kB] 395s Get:13 http://ftpmaster.internal/ubuntu resolute/main amd64 python3-markdown-it all 3.0.0-3build1 [54.4 kB] 395s Get:14 http://ftpmaster.internal/ubuntu resolute/main amd64 busybox-static amd64 1:1.37.0-7ubuntu1 [1034 kB] 395s Get:15 http://ftpmaster.internal/ubuntu resolute/main amd64 libdrm-common all 2.4.131-1 [9774 B] 395s Get:16 http://ftpmaster.internal/ubuntu resolute/main amd64 libdrm2 amd64 2.4.131-1 [42.3 kB] 395s Get:17 http://ftpmaster.internal/ubuntu resolute/main amd64 libgpm2 amd64 1.20.7-12build1 [14.4 kB] 395s Get:18 http://ftpmaster.internal/ubuntu resolute/main amd64 libmaxminddb0 amd64 1.12.2-1build2 [18.9 kB] 395s Get:19 http://ftpmaster.internal/ubuntu resolute/main amd64 libsensors-config all 1:3.6.2-2build1 [6862 B] 395s Get:20 http://ftpmaster.internal/ubuntu resolute/main amd64 libsensors5 amd64 1:3.6.2-2build1 [28.9 kB] 395s Get:21 http://ftpmaster.internal/ubuntu resolute/main amd64 busybox-initramfs amd64 1:1.37.0-7ubuntu1 [191 kB] 395s Get:22 http://ftpmaster.internal/ubuntu resolute/main amd64 libdrm-amdgpu1 amd64 2.4.131-1 [23.2 kB] 395s Get:23 http://ftpmaster.internal/ubuntu resolute/main amd64 libnpth0t64 amd64 1.8-3build1 [9302 B] 395s Get:24 http://ftpmaster.internal/ubuntu resolute/main amd64 patch amd64 2.8-2build1 [95.7 kB] 395s Get:25 http://ftpmaster.internal/ubuntu resolute/main amd64 pollinate all 4.33-4ubuntu5 [14.0 kB] 395s Get:26 http://ftpmaster.internal/ubuntu resolute/main amd64 python3-referencing all 0.36.2-1ubuntu2 [22.2 kB] 395s Get:27 http://ftpmaster.internal/ubuntu resolute/main amd64 amd64-microcode amd64 3.20251202.1ubuntu1 [459 kB] 395s dpkg-preconfigure: unable to re-open stdin: No such file or directory 395s Fetched 5981 kB in 1s (7678 kB/s) 395s (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 ... 83957 files and directories currently installed.) 395s Preparing to unpack .../findutils_4.10.0-3build2_amd64.deb ... 395s Unpacking findutils (4.10.0-3build2) over (4.10.0-3build1) ... 395s Setting up findutils (4.10.0-3build2) ... 395s (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 ... 83957 files and directories currently installed.) 395s Preparing to unpack .../sed_4.9-2build3_amd64.deb ... 395s Unpacking sed (4.9-2build3) over (4.9-2build2) ... 395s Setting up sed (4.9-2build3) ... 395s (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 ... 83957 files and directories currently installed.) 395s Preparing to unpack .../tar_1.35+dfsg-3.1build2_amd64.deb ... 395s Unpacking tar (1.35+dfsg-3.1build2) over (1.35+dfsg-3.1build1) ... 395s Setting up tar (1.35+dfsg-3.1build2) ... 395s (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 ... 83957 files and directories currently installed.) 395s Preparing to unpack .../libattr1_1%3a2.5.2-3build2_amd64.deb ... 395s Unpacking libattr1:amd64 (1:2.5.2-3build2) over (1:2.5.2-3build1) ... 395s Setting up libattr1:amd64 (1:2.5.2-3build2) ... 395s (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 ... 83957 files and directories currently installed.) 395s Preparing to unpack .../00-mawk_1.3.4.20260129-1_amd64.deb ... 395s Unpacking mawk (1.3.4.20260129-1) over (1.3.4.20250131-2) ... 395s Preparing to unpack .../01-libapt-pkg7.0_3.1.15_amd64.deb ... 395s Unpacking libapt-pkg7.0:amd64 (3.1.15) over (3.1.14) ... 396s Preparing to unpack .../02-apt_3.1.15_amd64.deb ... 396s Unpacking apt (3.1.15) over (3.1.14) ... 396s Preparing to unpack .../03-libdevmapper1.02.1_2%3a1.02.205-2ubuntu3_amd64.deb ... 396s Unpacking libdevmapper1.02.1:amd64 (2:1.02.205-2ubuntu3) over (2:1.02.205-2ubuntu2) ... 396s Preparing to unpack .../04-dmsetup_2%3a1.02.205-2ubuntu3_amd64.deb ... 396s Unpacking dmsetup (2:1.02.205-2ubuntu3) over (2:1.02.205-2ubuntu2) ... 396s Preparing to unpack .../05-less_668-1build1_amd64.deb ... 396s Unpacking less (668-1build1) over (668-1) ... 396s Preparing to unpack .../06-libkeyutils1_1.6.3-6ubuntu3_amd64.deb ... 396s Unpacking libkeyutils1:amd64 (1.6.3-6ubuntu3) over (1.6.3-6ubuntu2) ... 396s Preparing to unpack .../07-python3-linkify-it_2.0.3-1ubuntu3_all.deb ... 396s Unpacking python3-linkify-it (2.0.3-1ubuntu3) over (2.0.3-1ubuntu2) ... 396s Preparing to unpack .../08-python3-markdown-it_3.0.0-3build1_all.deb ... 396s Unpacking python3-markdown-it (3.0.0-3build1) over (3.0.0-3) ... 396s Preparing to unpack .../09-busybox-static_1%3a1.37.0-7ubuntu1_amd64.deb ... 396s Unpacking busybox-static (1:1.37.0-7ubuntu1) over (1:1.37.0-4ubuntu1) ... 396s Preparing to unpack .../10-libdrm-common_2.4.131-1_all.deb ... 396s Unpacking libdrm-common (2.4.131-1) over (2.4.129-1) ... 396s Preparing to unpack .../11-libdrm2_2.4.131-1_amd64.deb ... 396s Unpacking libdrm2:amd64 (2.4.131-1) over (2.4.129-1) ... 396s Preparing to unpack .../12-libgpm2_1.20.7-12build1_amd64.deb ... 396s Unpacking libgpm2:amd64 (1.20.7-12build1) over (1.20.7-12) ... 396s Preparing to unpack .../13-libmaxminddb0_1.12.2-1build2_amd64.deb ... 396s Unpacking libmaxminddb0:amd64 (1.12.2-1build2) over (1.12.2-1build1) ... 396s Preparing to unpack .../14-libsensors-config_1%3a3.6.2-2build1_all.deb ... 396s Unpacking libsensors-config (1:3.6.2-2build1) over (1:3.6.2-2) ... 396s Preparing to unpack .../15-libsensors5_1%3a3.6.2-2build1_amd64.deb ... 396s Unpacking libsensors5:amd64 (1:3.6.2-2build1) over (1:3.6.2-2) ... 396s Preparing to unpack .../16-busybox-initramfs_1%3a1.37.0-7ubuntu1_amd64.deb ... 396s Unpacking busybox-initramfs (1:1.37.0-7ubuntu1) over (1:1.37.0-4ubuntu1) ... 396s Preparing to unpack .../17-libdrm-amdgpu1_2.4.131-1_amd64.deb ... 396s Unpacking libdrm-amdgpu1:amd64 (2.4.131-1) over (2.4.129-1) ... 396s Preparing to unpack .../18-libnpth0t64_1.8-3build1_amd64.deb ... 396s Unpacking libnpth0t64:amd64 (1.8-3build1) over (1.8-3) ... 396s Preparing to unpack .../19-patch_2.8-2build1_amd64.deb ... 396s Unpacking patch (2.8-2build1) over (2.8-2) ... 396s Preparing to unpack .../20-pollinate_4.33-4ubuntu5_all.deb ... 396s Unpacking pollinate (4.33-4ubuntu5) over (4.33-4ubuntu4) ... 396s Preparing to unpack .../21-python3-referencing_0.36.2-1ubuntu2_all.deb ... 396s Unpacking python3-referencing (0.36.2-1ubuntu2) over (0.36.2-1ubuntu1) ... 396s Preparing to unpack .../22-amd64-microcode_3.20251202.1ubuntu1_amd64.deb ... 396s Unpacking amd64-microcode (3.20251202.1ubuntu1) over (3.20250708.1ubuntu1) ... 396s Setting up libnpth0t64:amd64 (1.8-3build1) ... 396s Setting up libkeyutils1:amd64 (1.6.3-6ubuntu3) ... 396s Setting up libgpm2:amd64 (1.20.7-12build1) ... 396s Setting up libmaxminddb0:amd64 (1.12.2-1build2) ... 396s Setting up libsensors-config (1:3.6.2-2build1) ... 396s Setting up less (668-1build1) ... 396s Setting up amd64-microcode (3.20251202.1ubuntu1) ... 396s amd64-microcode: microcode will be updated at next boot 396s Setting up pollinate (4.33-4ubuntu5) ... 407s Setting up busybox-static (1:1.37.0-7ubuntu1) ... 407s Setting up patch (2.8-2build1) ... 407s Setting up libsensors5:amd64 (1:3.6.2-2build1) ... 407s Setting up busybox-initramfs (1:1.37.0-7ubuntu1) ... 407s Setting up libdevmapper1.02.1:amd64 (2:1.02.205-2ubuntu3) ... 407s Setting up dmsetup (2:1.02.205-2ubuntu3) ... 407s Setting up python3-linkify-it (2.0.3-1ubuntu3) ... 407s Setting up mawk (1.3.4.20260129-1) ... 407s Setting up libapt-pkg7.0:amd64 (3.1.15) ... 407s Setting up libdrm-common (2.4.131-1) ... 407s Setting up python3-referencing (0.36.2-1ubuntu2) ... 407s Setting up apt (3.1.15) ... 407s Setting up python3-markdown-it (3.0.0-3build1) ... 408s Setting up libdrm2:amd64 (2.4.131-1) ... 408s Setting up libdrm-amdgpu1:amd64 (2.4.131-1) ... 408s Processing triggers for libc-bin (2.42-2ubuntu4) ... 408s Processing triggers for man-db (2.13.1-1) ... 409s Processing triggers for install-info (7.2-5) ... 409s Processing triggers for initramfs-tools (0.150ubuntu7) ... 409s update-initramfs: Generating /boot/initrd.img-6.18.0-9-generic 413s autopkgtest [13:59:35]: upgrading testbed (apt dist-upgrade and autopurge) 414s Reading package lists... 414s Building dependency tree... 414s Reading state information... 414s Calculating upgrade... 414s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 414s Reading package lists... 414s Building dependency tree... 414s Reading state information... 415s Solving dependencies... 415s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 415s autopkgtest [13:59:37]: rebooting testbed after setup commands that affected boot 445s Reading package lists... 445s Building dependency tree... 445s Reading state information... 445s Solving dependencies... 445s The following NEW packages will be installed: 445s ca-certificates-java default-jre-headless java-common jruby libasm-java 445s libbackport9-java libbcpkix-java libbcprov-java libbctls-java libbcutil-java 445s libdirgra-java libfixposix4t64 libhawtjni-runtime-java 445s libheadius-options-java libinvokebinder-java libjansi-native-java 445s libjansi1-java libjcodings-java libjffi-java libjffi-jni libjitescript-java 445s libjline2-java libjnr-constants-java libjnr-enxio-java libjnr-ffi-java 445s libjnr-netdb-java libjnr-posix-java libjnr-unixsocket-java 445s libjnr-x86asm-java libjoda-time-java libjpeg-turbo8 libjpeg8 445s libjruby-joni-java libjzlib-java liblcms2-2 libpcsclite1 libruby libruby3.3 445s libsnakeyaml-engine-java openjdk-21-jre-headless rake ruby ruby-concurrent 445s ruby-concurrent-ext ruby-csv ruby-did-you-mean ruby-diff-lcs ruby-net-telnet 445s ruby-rspec ruby-rspec-core ruby-rspec-expectations ruby-rspec-mocks 445s ruby-rspec-support ruby-ruby2-keywords ruby-rubygems ruby-timecop 445s ruby-webrick ruby-xmlrpc ruby3.3 rubygems-integration 445s 0 upgraded, 60 newly installed, 0 to remove and 0 not upgraded. 445s Need to get 91.2 MB of archives. 445s After this operation, 295 MB of additional disk space will be used. 445s Get:1 http://ftpmaster.internal/ubuntu resolute/main amd64 ca-certificates-java all 20240118build1 [11.7 kB] 445s Get:2 http://ftpmaster.internal/ubuntu resolute/main amd64 java-common all 0.76build1 [6956 B] 445s Get:3 http://ftpmaster.internal/ubuntu resolute/main amd64 liblcms2-2 amd64 2.17-1 [170 kB] 445s Get:4 http://ftpmaster.internal/ubuntu resolute/main amd64 libjpeg-turbo8 amd64 2.1.5-4ubuntu2 [152 kB] 445s Get:5 http://ftpmaster.internal/ubuntu resolute/main amd64 libjpeg8 amd64 8c-2ubuntu11 [2148 B] 445s Get:6 http://ftpmaster.internal/ubuntu resolute/main amd64 libpcsclite1 amd64 2.4.1-1 [24.6 kB] 445s Get:7 http://ftpmaster.internal/ubuntu resolute/main amd64 openjdk-21-jre-headless amd64 21.0.10+7-1 [46.5 MB] 446s Get:8 http://ftpmaster.internal/ubuntu resolute/main amd64 default-jre-headless amd64 2:1.21-76build1 [3266 B] 446s Get:9 http://ftpmaster.internal/ubuntu resolute/universe amd64 libasm-java all 9.8-2 [388 kB] 446s Get:10 http://ftpmaster.internal/ubuntu resolute/universe amd64 libbackport9-java all 1.10-2build1 [13.2 kB] 446s Get:11 http://ftpmaster.internal/ubuntu resolute/universe amd64 libbcprov-java all 1.80-3 [5468 kB] 446s Get:12 http://ftpmaster.internal/ubuntu resolute/universe amd64 libbcutil-java all 1.80-3 [545 kB] 446s Get:13 http://ftpmaster.internal/ubuntu resolute/universe amd64 libbcpkix-java all 1.80-3 [913 kB] 446s Get:14 http://ftpmaster.internal/ubuntu resolute/universe amd64 libbctls-java all 1.80-3 [645 kB] 446s Get:15 http://ftpmaster.internal/ubuntu resolute/universe amd64 libdirgra-java all 0.4-2build1 [21.8 kB] 446s Get:16 http://ftpmaster.internal/ubuntu resolute/universe amd64 libfixposix4t64 amd64 1:0.5.1-1+nmu1.1build2 [16.8 kB] 446s Get:17 http://ftpmaster.internal/ubuntu resolute/universe amd64 libheadius-options-java all 1.7-1build1 [18.3 kB] 446s Get:18 http://ftpmaster.internal/ubuntu resolute/universe amd64 libinvokebinder-java all 1.14-1build1 [52.1 kB] 446s Get:19 http://ftpmaster.internal/ubuntu resolute/universe amd64 libhawtjni-runtime-java all 1.18-1build1 [28.4 kB] 446s Get:20 http://ftpmaster.internal/ubuntu resolute/universe amd64 libjansi-native-java all 1.8-2build1 [23.6 kB] 446s Get:21 http://ftpmaster.internal/ubuntu resolute/universe amd64 libjansi1-java all 1.18-3.1build1 [56.3 kB] 446s Get:22 http://ftpmaster.internal/ubuntu resolute/universe amd64 libjcodings-java all 1.0.58-1build1 [1474 kB] 446s Get:23 http://ftpmaster.internal/ubuntu resolute/universe amd64 libjffi-jni amd64 1.3.13+ds-1build1 [27.8 kB] 446s Get:24 http://ftpmaster.internal/ubuntu resolute/universe amd64 libjffi-java all 1.3.13+ds-1build1 [111 kB] 446s Get:25 http://ftpmaster.internal/ubuntu resolute/universe amd64 libjitescript-java all 0.4.3-1build1 [24.5 kB] 446s Get:26 http://ftpmaster.internal/ubuntu resolute/universe amd64 libjline2-java all 2.14.6-6 [152 kB] 446s Get:27 http://ftpmaster.internal/ubuntu resolute/universe amd64 libjnr-constants-java all 0.10.4-2build1 [1416 kB] 446s Get:28 http://ftpmaster.internal/ubuntu resolute/universe amd64 libjnr-x86asm-java all 1.0.2-6build1 [216 kB] 446s Get:29 http://ftpmaster.internal/ubuntu resolute/universe amd64 libjnr-ffi-java all 2.2.15-2build1 [632 kB] 446s Get:30 http://ftpmaster.internal/ubuntu resolute/universe amd64 libjnr-enxio-java all 0.32.16-1build1 [33.8 kB] 446s Get:31 http://ftpmaster.internal/ubuntu resolute/universe amd64 libjnr-netdb-java all 1.2.0+dfsg-1build1 [58.7 kB] 446s Get:32 http://ftpmaster.internal/ubuntu resolute/universe amd64 libjnr-posix-java all 3.1.18-1build1 [268 kB] 446s Get:33 http://ftpmaster.internal/ubuntu resolute/universe amd64 libjnr-unixsocket-java all 0.38.21-3 [46.8 kB] 446s Get:34 http://ftpmaster.internal/ubuntu resolute/universe amd64 libjoda-time-java all 2.10.14-1 [535 kB] 446s Get:35 http://ftpmaster.internal/ubuntu resolute/universe amd64 libjruby-joni-java all 2.2.1-1build1 [221 kB] 446s Get:36 http://ftpmaster.internal/ubuntu resolute/universe amd64 libjzlib-java all 1.1.3-3build1 [76.7 kB] 446s Get:37 http://ftpmaster.internal/ubuntu resolute/universe amd64 libsnakeyaml-engine-java all 2.7+ds-3build1 [258 kB] 446s Get:38 http://ftpmaster.internal/ubuntu resolute/universe amd64 jruby all 9.4.8.0+ds-3ubuntu1 [23.4 MB] 447s Get:39 http://ftpmaster.internal/ubuntu resolute/main amd64 rubygems-integration all 1.19build1 [5666 B] 447s Get:40 http://ftpmaster.internal/ubuntu resolute-proposed/main amd64 ruby3.3 amd64 3.3.8-2ubuntu3 [49.1 kB] 447s Get:41 http://ftpmaster.internal/ubuntu resolute/main amd64 ruby-rubygems all 3.6.7-2ubuntu2 [332 kB] 447s Get:42 http://ftpmaster.internal/ubuntu resolute/main amd64 ruby amd64 1:3.3 [3666 B] 447s Get:43 http://ftpmaster.internal/ubuntu resolute/main amd64 rake all 13.2.1-1build1 [45.9 kB] 447s Get:44 http://ftpmaster.internal/ubuntu resolute/main amd64 ruby-csv all 3.3.4-1 [43.0 kB] 447s Get:45 http://ftpmaster.internal/ubuntu resolute/main amd64 ruby-did-you-mean all 1.6.3-2build1 [14.9 kB] 447s Get:46 http://ftpmaster.internal/ubuntu resolute/main amd64 ruby-net-telnet all 0.2.0-1build1 [13.5 kB] 447s Get:47 http://ftpmaster.internal/ubuntu resolute/main amd64 ruby-ruby2-keywords all 0.0.5-1build1 [4398 B] 447s Get:48 http://ftpmaster.internal/ubuntu resolute/main amd64 ruby-webrick all 1.9.1-1build1 [60.9 kB] 447s Get:49 http://ftpmaster.internal/ubuntu resolute/main amd64 ruby-xmlrpc all 0.3.3-2build1 [24.9 kB] 447s Get:50 http://ftpmaster.internal/ubuntu resolute-proposed/main amd64 libruby3.3 amd64 3.3.8-2ubuntu3 [5858 kB] 447s Get:51 http://ftpmaster.internal/ubuntu resolute/main amd64 libruby amd64 1:3.3 [5164 B] 447s Get:52 http://ftpmaster.internal/ubuntu resolute/universe amd64 ruby-concurrent all 1.3.4-1 [283 kB] 447s Get:53 http://ftpmaster.internal/ubuntu resolute/universe amd64 ruby-concurrent-ext amd64 1.3.4-1 [9070 B] 447s Get:54 http://ftpmaster.internal/ubuntu resolute/universe amd64 ruby-diff-lcs all 1.5.1-1 [22.8 kB] 447s Get:55 http://ftpmaster.internal/ubuntu resolute/universe amd64 ruby-rspec-support all 3.13.0c0e0m0s1-2 [29.2 kB] 447s Get:56 http://ftpmaster.internal/ubuntu resolute/universe amd64 ruby-rspec-core all 3.13.0c0e0m0s1-2 [164 kB] 447s Get:57 http://ftpmaster.internal/ubuntu resolute/universe amd64 ruby-rspec-expectations all 3.13.0c0e0m0s1-2 [89.8 kB] 447s Get:58 http://ftpmaster.internal/ubuntu resolute/universe amd64 ruby-rspec-mocks all 3.13.0c0e0m0s1-2 [81.0 kB] 447s Get:59 http://ftpmaster.internal/ubuntu resolute/universe amd64 ruby-rspec all 3.13.0c0e0m0s1-2 [3500 B] 447s Get:60 http://ftpmaster.internal/ubuntu resolute/universe amd64 ruby-timecop all 0.9.10-1.1 [11.5 kB] 447s Fetched 91.2 MB in 2s (52.3 MB/s) 447s Selecting previously unselected package ca-certificates-java. 447s (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 ... 83962 files and directories currently installed.) 447s Preparing to unpack .../00-ca-certificates-java_20240118build1_all.deb ... 447s Unpacking ca-certificates-java (20240118build1) ... 447s Selecting previously unselected package java-common. 447s Preparing to unpack .../01-java-common_0.76build1_all.deb ... 447s Unpacking java-common (0.76build1) ... 447s Selecting previously unselected package liblcms2-2:amd64. 447s Preparing to unpack .../02-liblcms2-2_2.17-1_amd64.deb ... 447s Unpacking liblcms2-2:amd64 (2.17-1) ... 447s Selecting previously unselected package libjpeg-turbo8:amd64. 447s Preparing to unpack .../03-libjpeg-turbo8_2.1.5-4ubuntu2_amd64.deb ... 447s Unpacking libjpeg-turbo8:amd64 (2.1.5-4ubuntu2) ... 447s Selecting previously unselected package libjpeg8:amd64. 447s Preparing to unpack .../04-libjpeg8_8c-2ubuntu11_amd64.deb ... 447s Unpacking libjpeg8:amd64 (8c-2ubuntu11) ... 447s Selecting previously unselected package libpcsclite1:amd64. 447s Preparing to unpack .../05-libpcsclite1_2.4.1-1_amd64.deb ... 447s Unpacking libpcsclite1:amd64 (2.4.1-1) ... 447s Selecting previously unselected package openjdk-21-jre-headless:amd64. 447s Preparing to unpack .../06-openjdk-21-jre-headless_21.0.10+7-1_amd64.deb ... 447s Unpacking openjdk-21-jre-headless:amd64 (21.0.10+7-1) ... 448s Selecting previously unselected package default-jre-headless. 448s Preparing to unpack .../07-default-jre-headless_2%3a1.21-76build1_amd64.deb ... 448s Unpacking default-jre-headless (2:1.21-76build1) ... 448s Selecting previously unselected package libasm-java. 448s Preparing to unpack .../08-libasm-java_9.8-2_all.deb ... 448s Unpacking libasm-java (9.8-2) ... 448s Selecting previously unselected package libbackport9-java. 448s Preparing to unpack .../09-libbackport9-java_1.10-2build1_all.deb ... 448s Unpacking libbackport9-java (1.10-2build1) ... 448s Selecting previously unselected package libbcprov-java. 448s Preparing to unpack .../10-libbcprov-java_1.80-3_all.deb ... 448s Unpacking libbcprov-java (1.80-3) ... 448s Selecting previously unselected package libbcutil-java. 448s Preparing to unpack .../11-libbcutil-java_1.80-3_all.deb ... 448s Unpacking libbcutil-java (1.80-3) ... 448s Selecting previously unselected package libbcpkix-java. 448s Preparing to unpack .../12-libbcpkix-java_1.80-3_all.deb ... 448s Unpacking libbcpkix-java (1.80-3) ... 448s Selecting previously unselected package libbctls-java. 448s Preparing to unpack .../13-libbctls-java_1.80-3_all.deb ... 448s Unpacking libbctls-java (1.80-3) ... 448s Selecting previously unselected package libdirgra-java. 448s Preparing to unpack .../14-libdirgra-java_0.4-2build1_all.deb ... 448s Unpacking libdirgra-java (0.4-2build1) ... 448s Selecting previously unselected package libfixposix4t64:amd64. 448s Preparing to unpack .../15-libfixposix4t64_1%3a0.5.1-1+nmu1.1build2_amd64.deb ... 448s Unpacking libfixposix4t64:amd64 (1:0.5.1-1+nmu1.1build2) ... 448s Selecting previously unselected package libheadius-options-java. 448s Preparing to unpack .../16-libheadius-options-java_1.7-1build1_all.deb ... 448s Unpacking libheadius-options-java (1.7-1build1) ... 448s Selecting previously unselected package libinvokebinder-java. 448s Preparing to unpack .../17-libinvokebinder-java_1.14-1build1_all.deb ... 448s Unpacking libinvokebinder-java (1.14-1build1) ... 448s Selecting previously unselected package libhawtjni-runtime-java. 448s Preparing to unpack .../18-libhawtjni-runtime-java_1.18-1build1_all.deb ... 448s Unpacking libhawtjni-runtime-java (1.18-1build1) ... 448s Selecting previously unselected package libjansi-native-java. 448s Preparing to unpack .../19-libjansi-native-java_1.8-2build1_all.deb ... 448s Unpacking libjansi-native-java (1.8-2build1) ... 448s Selecting previously unselected package libjansi1-java. 448s Preparing to unpack .../20-libjansi1-java_1.18-3.1build1_all.deb ... 448s Unpacking libjansi1-java (1.18-3.1build1) ... 448s Selecting previously unselected package libjcodings-java. 448s Preparing to unpack .../21-libjcodings-java_1.0.58-1build1_all.deb ... 448s Unpacking libjcodings-java (1.0.58-1build1) ... 448s Selecting previously unselected package libjffi-jni:amd64. 448s Preparing to unpack .../22-libjffi-jni_1.3.13+ds-1build1_amd64.deb ... 448s Unpacking libjffi-jni:amd64 (1.3.13+ds-1build1) ... 448s Selecting previously unselected package libjffi-java. 448s Preparing to unpack .../23-libjffi-java_1.3.13+ds-1build1_all.deb ... 448s Unpacking libjffi-java (1.3.13+ds-1build1) ... 448s Selecting previously unselected package libjitescript-java. 448s Preparing to unpack .../24-libjitescript-java_0.4.3-1build1_all.deb ... 448s Unpacking libjitescript-java (0.4.3-1build1) ... 448s Selecting previously unselected package libjline2-java. 448s Preparing to unpack .../25-libjline2-java_2.14.6-6_all.deb ... 448s Unpacking libjline2-java (2.14.6-6) ... 448s Selecting previously unselected package libjnr-constants-java. 448s Preparing to unpack .../26-libjnr-constants-java_0.10.4-2build1_all.deb ... 448s Unpacking libjnr-constants-java (0.10.4-2build1) ... 448s Selecting previously unselected package libjnr-x86asm-java. 448s Preparing to unpack .../27-libjnr-x86asm-java_1.0.2-6build1_all.deb ... 448s Unpacking libjnr-x86asm-java (1.0.2-6build1) ... 448s Selecting previously unselected package libjnr-ffi-java. 448s Preparing to unpack .../28-libjnr-ffi-java_2.2.15-2build1_all.deb ... 448s Unpacking libjnr-ffi-java (2.2.15-2build1) ... 448s Selecting previously unselected package libjnr-enxio-java. 448s Preparing to unpack .../29-libjnr-enxio-java_0.32.16-1build1_all.deb ... 448s Unpacking libjnr-enxio-java (0.32.16-1build1) ... 448s Selecting previously unselected package libjnr-netdb-java. 448s Preparing to unpack .../30-libjnr-netdb-java_1.2.0+dfsg-1build1_all.deb ... 448s Unpacking libjnr-netdb-java (1.2.0+dfsg-1build1) ... 448s Selecting previously unselected package libjnr-posix-java. 448s Preparing to unpack .../31-libjnr-posix-java_3.1.18-1build1_all.deb ... 448s Unpacking libjnr-posix-java (3.1.18-1build1) ... 448s Selecting previously unselected package libjnr-unixsocket-java. 448s Preparing to unpack .../32-libjnr-unixsocket-java_0.38.21-3_all.deb ... 448s Unpacking libjnr-unixsocket-java (0.38.21-3) ... 448s Selecting previously unselected package libjoda-time-java. 448s Preparing to unpack .../33-libjoda-time-java_2.10.14-1_all.deb ... 448s Unpacking libjoda-time-java (2.10.14-1) ... 448s Selecting previously unselected package libjruby-joni-java. 448s Preparing to unpack .../34-libjruby-joni-java_2.2.1-1build1_all.deb ... 448s Unpacking libjruby-joni-java (2.2.1-1build1) ... 448s Selecting previously unselected package libjzlib-java. 448s Preparing to unpack .../35-libjzlib-java_1.1.3-3build1_all.deb ... 448s Unpacking libjzlib-java (1.1.3-3build1) ... 448s Selecting previously unselected package libsnakeyaml-engine-java. 448s Preparing to unpack .../36-libsnakeyaml-engine-java_2.7+ds-3build1_all.deb ... 448s Unpacking libsnakeyaml-engine-java (2.7+ds-3build1) ... 448s Selecting previously unselected package jruby. 448s Preparing to unpack .../37-jruby_9.4.8.0+ds-3ubuntu1_all.deb ... 448s Unpacking jruby (9.4.8.0+ds-3ubuntu1) ... 448s Selecting previously unselected package rubygems-integration. 448s Preparing to unpack .../38-rubygems-integration_1.19build1_all.deb ... 448s Unpacking rubygems-integration (1.19build1) ... 448s Selecting previously unselected package ruby3.3. 448s Preparing to unpack .../39-ruby3.3_3.3.8-2ubuntu3_amd64.deb ... 448s Unpacking ruby3.3 (3.3.8-2ubuntu3) ... 448s Selecting previously unselected package ruby-rubygems. 448s Preparing to unpack .../40-ruby-rubygems_3.6.7-2ubuntu2_all.deb ... 448s Unpacking ruby-rubygems (3.6.7-2ubuntu2) ... 448s Selecting previously unselected package ruby. 448s Preparing to unpack .../41-ruby_1%3a3.3_amd64.deb ... 448s Unpacking ruby (1:3.3) ... 448s Selecting previously unselected package rake. 448s Preparing to unpack .../42-rake_13.2.1-1build1_all.deb ... 448s Unpacking rake (13.2.1-1build1) ... 448s Selecting previously unselected package ruby-csv. 448s Preparing to unpack .../43-ruby-csv_3.3.4-1_all.deb ... 448s Unpacking ruby-csv (3.3.4-1) ... 448s Selecting previously unselected package ruby-did-you-mean. 448s Preparing to unpack .../44-ruby-did-you-mean_1.6.3-2build1_all.deb ... 448s Unpacking ruby-did-you-mean (1.6.3-2build1) ... 448s Selecting previously unselected package ruby-net-telnet. 448s Preparing to unpack .../45-ruby-net-telnet_0.2.0-1build1_all.deb ... 448s Unpacking ruby-net-telnet (0.2.0-1build1) ... 448s Selecting previously unselected package ruby-ruby2-keywords. 448s Preparing to unpack .../46-ruby-ruby2-keywords_0.0.5-1build1_all.deb ... 448s Unpacking ruby-ruby2-keywords (0.0.5-1build1) ... 448s Selecting previously unselected package ruby-webrick. 448s Preparing to unpack .../47-ruby-webrick_1.9.1-1build1_all.deb ... 448s Unpacking ruby-webrick (1.9.1-1build1) ... 448s Selecting previously unselected package ruby-xmlrpc. 448s Preparing to unpack .../48-ruby-xmlrpc_0.3.3-2build1_all.deb ... 448s Unpacking ruby-xmlrpc (0.3.3-2build1) ... 448s Selecting previously unselected package libruby3.3:amd64. 448s Preparing to unpack .../49-libruby3.3_3.3.8-2ubuntu3_amd64.deb ... 448s Unpacking libruby3.3:amd64 (3.3.8-2ubuntu3) ... 449s Selecting previously unselected package libruby:amd64. 449s Preparing to unpack .../50-libruby_1%3a3.3_amd64.deb ... 449s Unpacking libruby:amd64 (1:3.3) ... 449s Selecting previously unselected package ruby-concurrent. 449s Preparing to unpack .../51-ruby-concurrent_1.3.4-1_all.deb ... 449s Unpacking ruby-concurrent (1.3.4-1) ... 449s Selecting previously unselected package ruby-concurrent-ext. 449s Preparing to unpack .../52-ruby-concurrent-ext_1.3.4-1_amd64.deb ... 449s Unpacking ruby-concurrent-ext (1.3.4-1) ... 449s Selecting previously unselected package ruby-diff-lcs. 449s Preparing to unpack .../53-ruby-diff-lcs_1.5.1-1_all.deb ... 449s Unpacking ruby-diff-lcs (1.5.1-1) ... 449s Selecting previously unselected package ruby-rspec-support. 449s Preparing to unpack .../54-ruby-rspec-support_3.13.0c0e0m0s1-2_all.deb ... 449s Unpacking ruby-rspec-support (3.13.0c0e0m0s1-2) ... 449s Selecting previously unselected package ruby-rspec-core. 449s Preparing to unpack .../55-ruby-rspec-core_3.13.0c0e0m0s1-2_all.deb ... 449s Unpacking ruby-rspec-core (3.13.0c0e0m0s1-2) ... 449s Selecting previously unselected package ruby-rspec-expectations. 449s Preparing to unpack .../56-ruby-rspec-expectations_3.13.0c0e0m0s1-2_all.deb ... 449s Unpacking ruby-rspec-expectations (3.13.0c0e0m0s1-2) ... 449s Selecting previously unselected package ruby-rspec-mocks. 449s Preparing to unpack .../57-ruby-rspec-mocks_3.13.0c0e0m0s1-2_all.deb ... 449s Unpacking ruby-rspec-mocks (3.13.0c0e0m0s1-2) ... 449s Selecting previously unselected package ruby-rspec. 449s Preparing to unpack .../58-ruby-rspec_3.13.0c0e0m0s1-2_all.deb ... 449s Unpacking ruby-rspec (3.13.0c0e0m0s1-2) ... 449s Selecting previously unselected package ruby-timecop. 449s Preparing to unpack .../59-ruby-timecop_0.9.10-1.1_all.deb ... 449s Unpacking ruby-timecop (0.9.10-1.1) ... 449s Setting up libbcprov-java (1.80-3) ... 449s Setting up liblcms2-2:amd64 (2.17-1) ... 449s Setting up libfixposix4t64:amd64 (1:0.5.1-1+nmu1.1build2) ... 449s Setting up ruby-ruby2-keywords (0.0.5-1build1) ... 449s Setting up java-common (0.76build1) ... 449s Setting up libbcutil-java (1.80-3) ... 449s Setting up libasm-java (9.8-2) ... 449s Setting up rubygems-integration (1.19build1) ... 449s Setting up libheadius-options-java (1.7-1build1) ... 449s Setting up libbctls-java (1.80-3) ... 449s Setting up ruby-concurrent (1.3.4-1) ... 449s Setting up libjnr-x86asm-java (1.0.2-6build1) ... 449s Setting up ruby-timecop (0.9.10-1.1) ... 449s Setting up libjzlib-java (1.1.3-3build1) ... 449s Setting up libbackport9-java (1.10-2build1) ... 449s Setting up libjitescript-java (0.4.3-1build1) ... 449s Setting up libsnakeyaml-engine-java (2.7+ds-3build1) ... 449s Setting up ruby-net-telnet (0.2.0-1build1) ... 449s Setting up ruby-csv (3.3.4-1) ... 449s Setting up libpcsclite1:amd64 (2.4.1-1) ... 449s Setting up libjpeg-turbo8:amd64 (2.1.5-4ubuntu2) ... 449s Setting up ruby-rspec-support (3.13.0c0e0m0s1-2) ... 449s Setting up libjoda-time-java (2.10.14-1) ... 449s Setting up libjcodings-java (1.0.58-1build1) ... 449s Setting up ruby-webrick (1.9.1-1build1) ... 449s Setting up libinvokebinder-java (1.14-1build1) ... 449s Setting up libjffi-jni:amd64 (1.3.13+ds-1build1) ... 449s Setting up ca-certificates-java (20240118build1) ... 449s No JRE found. Skipping Java certificates setup. 449s Setting up ruby-did-you-mean (1.6.3-2build1) ... 449s Setting up libbcpkix-java (1.80-3) ... 449s Setting up ruby-xmlrpc (0.3.3-2build1) ... 449s Setting up libhawtjni-runtime-java (1.18-1build1) ... 449s Setting up libdirgra-java (0.4-2build1) ... 449s Setting up libjnr-constants-java (0.10.4-2build1) ... 449s Setting up libjpeg8:amd64 (8c-2ubuntu11) ... 449s Setting up libjffi-java (1.3.13+ds-1build1) ... 449s Setting up openjdk-21-jre-headless:amd64 (21.0.10+7-1) ... 449s update-alternatives: using /usr/lib/jvm/java-21-openjdk-amd64/bin/java to provide /usr/bin/java (java) in auto mode 449s update-alternatives: using /usr/lib/jvm/java-21-openjdk-amd64/bin/jpackage to provide /usr/bin/jpackage (jpackage) in auto mode 449s update-alternatives: using /usr/lib/jvm/java-21-openjdk-amd64/bin/keytool to provide /usr/bin/keytool (keytool) in auto mode 449s update-alternatives: using /usr/lib/jvm/java-21-openjdk-amd64/bin/rmiregistry to provide /usr/bin/rmiregistry (rmiregistry) in auto mode 449s update-alternatives: using /usr/lib/jvm/java-21-openjdk-amd64/lib/jexec to provide /usr/bin/jexec (jexec) in auto mode 449s Setting up libjruby-joni-java (2.2.1-1build1) ... 449s Setting up libjansi-native-java (1.8-2build1) ... 449s Setting up libjansi1-java (1.18-3.1build1) ... 449s Setting up libjline2-java (2.14.6-6) ... 449s Setting up libjnr-ffi-java (2.2.15-2build1) ... 449s Setting up libjnr-enxio-java (0.32.16-1build1) ... 449s Setting up libjnr-netdb-java (1.2.0+dfsg-1build1) ... 449s Setting up libjnr-posix-java (3.1.18-1build1) ... 449s Setting up libjnr-unixsocket-java (0.38.21-3) ... 449s Setting up rake (13.2.1-1build1) ... 449s Setting up libruby3.3:amd64 (3.3.8-2ubuntu3) ... 449s Setting up ruby3.3 (3.3.8-2ubuntu3) ... 449s Setting up libruby:amd64 (1:3.3) ... 449s Setting up ruby (1:3.3) ... 449s Setting up ruby-rspec-core (3.13.0c0e0m0s1-2) ... 449s Setting up ruby-diff-lcs (1.5.1-1) ... 449s Setting up ruby-rubygems (3.6.7-2ubuntu2) ... 449s Setting up ruby-concurrent-ext (1.3.4-1) ... 449s Setting up ruby-rspec-expectations (3.13.0c0e0m0s1-2) ... 449s Setting up ruby-rspec-mocks (3.13.0c0e0m0s1-2) ... 449s Setting up ruby-rspec (3.13.0c0e0m0s1-2) ... 449s Processing triggers for libc-bin (2.42-2ubuntu4) ... 449s Processing triggers for man-db (2.13.1-1) ... 449s Processing triggers for ca-certificates-java (20240118build1) ... 450s Adding debian:ACCVRAIZ1.pem 450s Adding debian:AC_RAIZ_FNMT-RCM.pem 450s Adding debian:AC_RAIZ_FNMT-RCM_SERVIDORES_SEGUROS.pem 450s Adding debian:ANF_Secure_Server_Root_CA.pem 450s Adding debian:Actalis_Authentication_Root_CA.pem 450s Adding debian:AffirmTrust_Commercial.pem 450s Adding debian:AffirmTrust_Networking.pem 450s Adding debian:AffirmTrust_Premium.pem 450s Adding debian:AffirmTrust_Premium_ECC.pem 450s Adding debian:Amazon_Root_CA_1.pem 450s Adding debian:Amazon_Root_CA_2.pem 450s Adding debian:Amazon_Root_CA_3.pem 450s Adding debian:Amazon_Root_CA_4.pem 450s Adding debian:Atos_TrustedRoot_2011.pem 450s Adding debian:Atos_TrustedRoot_Root_CA_ECC_TLS_2021.pem 450s Adding debian:Atos_TrustedRoot_Root_CA_RSA_TLS_2021.pem 450s Adding debian:Autoridad_de_Certificacion_Firmaprofesional_CIF_A62634068.pem 450s Adding debian:BJCA_Global_Root_CA1.pem 450s Adding debian:BJCA_Global_Root_CA2.pem 450s Adding debian:Baltimore_CyberTrust_Root.pem 450s Adding debian:Buypass_Class_2_Root_CA.pem 450s Adding debian:Buypass_Class_3_Root_CA.pem 450s Adding debian:CA_Disig_Root_R2.pem 450s Adding debian:CFCA_EV_ROOT.pem 450s Adding debian:COMODO_Certification_Authority.pem 450s Adding debian:COMODO_ECC_Certification_Authority.pem 450s Adding debian:COMODO_RSA_Certification_Authority.pem 450s Adding debian:Certainly_Root_E1.pem 450s Adding debian:Certainly_Root_R1.pem 450s Adding debian:Certigna.pem 450s Adding debian:Certigna_Root_CA.pem 450s Adding debian:Certum_EC-384_CA.pem 450s Adding debian:Certum_Trusted_Network_CA.pem 450s Adding debian:Certum_Trusted_Network_CA_2.pem 450s Adding debian:Certum_Trusted_Root_CA.pem 450s Adding debian:CommScope_Public_Trust_ECC_Root-01.pem 450s Adding debian:CommScope_Public_Trust_ECC_Root-02.pem 450s Adding debian:CommScope_Public_Trust_RSA_Root-01.pem 450s Adding debian:CommScope_Public_Trust_RSA_Root-02.pem 450s Adding debian:Comodo_AAA_Services_root.pem 450s Adding debian:D-TRUST_BR_Root_CA_1_2020.pem 450s Adding debian:D-TRUST_BR_Root_CA_2_2023.pem 450s Adding debian:D-TRUST_EV_Root_CA_1_2020.pem 450s Adding debian:D-TRUST_EV_Root_CA_2_2023.pem 450s Adding debian:D-TRUST_Root_Class_3_CA_2_2009.pem 450s Adding debian:D-TRUST_Root_Class_3_CA_2_EV_2009.pem 450s Adding debian:DigiCert_Assured_ID_Root_CA.pem 450s Adding debian:DigiCert_Assured_ID_Root_G2.pem 450s Adding debian:DigiCert_Assured_ID_Root_G3.pem 450s Adding debian:DigiCert_Global_Root_CA.pem 450s Adding debian:DigiCert_Global_Root_G2.pem 450s Adding debian:DigiCert_Global_Root_G3.pem 450s Adding debian:DigiCert_High_Assurance_EV_Root_CA.pem 450s Adding debian:DigiCert_TLS_ECC_P384_Root_G5.pem 450s Adding debian:DigiCert_TLS_RSA4096_Root_G5.pem 450s Adding debian:DigiCert_Trusted_Root_G4.pem 450s Adding debian:Entrust.net_Premium_2048_Secure_Server_CA.pem 450s Adding debian:Entrust_Root_Certification_Authority.pem 450s Adding debian:Entrust_Root_Certification_Authority_-_EC1.pem 450s Adding debian:Entrust_Root_Certification_Authority_-_G2.pem 450s Adding debian:FIRMAPROFESIONAL_CA_ROOT-A_WEB.pem 450s Adding debian:GDCA_TrustAUTH_R5_ROOT.pem 450s Adding debian:GLOBALTRUST_2020.pem 450s Adding debian:GTS_Root_R1.pem 450s Adding debian:GTS_Root_R2.pem 450s Adding debian:GTS_Root_R3.pem 450s Adding debian:GTS_Root_R4.pem 450s Adding debian:GlobalSign_ECC_Root_CA_-_R4.pem 450s Adding debian:GlobalSign_ECC_Root_CA_-_R5.pem 450s Adding debian:GlobalSign_Root_CA.pem 450s Adding debian:GlobalSign_Root_CA_-_R3.pem 450s Adding debian:GlobalSign_Root_CA_-_R6.pem 450s Adding debian:GlobalSign_Root_E46.pem 450s Adding debian:GlobalSign_Root_R46.pem 450s Adding debian:Go_Daddy_Class_2_CA.pem 450s Adding debian:Go_Daddy_Root_Certificate_Authority_-_G2.pem 450s Adding debian:HARICA_TLS_ECC_Root_CA_2021.pem 450s Adding debian:HARICA_TLS_RSA_Root_CA_2021.pem 450s Adding debian:Hellenic_Academic_and_Research_Institutions_ECC_RootCA_2015.pem 450s Adding debian:Hellenic_Academic_and_Research_Institutions_RootCA_2015.pem 450s Adding debian:HiPKI_Root_CA_-_G1.pem 450s Adding debian:Hongkong_Post_Root_CA_3.pem 450s Adding debian:ISRG_Root_X1.pem 450s Adding debian:ISRG_Root_X2.pem 450s Adding debian:IdenTrust_Commercial_Root_CA_1.pem 450s Adding debian:IdenTrust_Public_Sector_Root_CA_1.pem 450s Adding debian:Izenpe.com.pem 450s Adding debian:Microsec_e-Szigno_Root_CA_2009.pem 450s Adding debian:Microsoft_ECC_Root_Certificate_Authority_2017.pem 450s Adding debian:Microsoft_RSA_Root_Certificate_Authority_2017.pem 450s Adding debian:NAVER_Global_Root_Certification_Authority.pem 450s Adding debian:NetLock_Arany_=Class_Gold=_Főtanúsítvány.pem 450s Adding debian:OISTE_WISeKey_Global_Root_GB_CA.pem 450s Adding debian:OISTE_WISeKey_Global_Root_GC_CA.pem 450s Adding debian:QuoVadis_Root_CA_1_G3.pem 450s Adding debian:QuoVadis_Root_CA_2.pem 450s Adding debian:QuoVadis_Root_CA_2_G3.pem 450s Adding debian:QuoVadis_Root_CA_3.pem 450s Adding debian:QuoVadis_Root_CA_3_G3.pem 450s Adding debian:SSL.com_EV_Root_Certification_Authority_ECC.pem 450s Adding debian:SSL.com_EV_Root_Certification_Authority_RSA_R2.pem 450s Adding debian:SSL.com_Root_Certification_Authority_ECC.pem 450s Adding debian:SSL.com_Root_Certification_Authority_RSA.pem 450s Adding debian:SSL.com_TLS_ECC_Root_CA_2022.pem 450s Adding debian:SSL.com_TLS_RSA_Root_CA_2022.pem 450s Adding debian:SZAFIR_ROOT_CA2.pem 450s Adding debian:Sectigo_Public_Server_Authentication_Root_E46.pem 450s Adding debian:Sectigo_Public_Server_Authentication_Root_R46.pem 450s Adding debian:SecureSign_Root_CA12.pem 450s Adding debian:SecureSign_Root_CA14.pem 450s Adding debian:SecureSign_Root_CA15.pem 450s Adding debian:SecureTrust_CA.pem 450s Adding debian:Secure_Global_CA.pem 450s Adding debian:Security_Communication_ECC_RootCA1.pem 450s Adding debian:Security_Communication_RootCA2.pem 450s Adding debian:Starfield_Class_2_CA.pem 450s Adding debian:Starfield_Root_Certificate_Authority_-_G2.pem 450s Adding debian:Starfield_Services_Root_Certificate_Authority_-_G2.pem 450s Adding debian:SwissSign_Gold_CA_-_G2.pem 450s Adding debian:T-TeleSec_GlobalRoot_Class_2.pem 450s Adding debian:T-TeleSec_GlobalRoot_Class_3.pem 450s Adding debian:TUBITAK_Kamu_SM_SSL_Kok_Sertifikasi_-_Surum_1.pem 450s Adding debian:TWCA_CYBER_Root_CA.pem 450s Adding debian:TWCA_Global_Root_CA.pem 450s Adding debian:TWCA_Root_Certification_Authority.pem 450s Adding debian:Telekom_Security_TLS_ECC_Root_2020.pem 450s Adding debian:Telekom_Security_TLS_RSA_Root_2023.pem 450s Adding debian:TeliaSonera_Root_CA_v1.pem 450s Adding debian:Telia_Root_CA_v2.pem 450s Adding debian:TrustAsia_Global_Root_CA_G3.pem 450s Adding debian:TrustAsia_Global_Root_CA_G4.pem 450s Adding debian:Trustwave_Global_Certification_Authority.pem 450s Adding debian:Trustwave_Global_ECC_P256_Certification_Authority.pem 450s Adding debian:Trustwave_Global_ECC_P384_Certification_Authority.pem 450s Adding debian:TunTrust_Root_CA.pem 450s Adding debian:UCA_Extended_Validation_Root.pem 450s Adding debian:UCA_Global_G2_Root.pem 450s Adding debian:USERTrust_ECC_Certification_Authority.pem 450s Adding debian:USERTrust_RSA_Certification_Authority.pem 450s Adding debian:XRamp_Global_CA_Root.pem 450s Adding debian:certSIGN_ROOT_CA.pem 450s Adding debian:certSIGN_Root_CA_G2.pem 450s Adding debian:e-Szigno_Root_CA_2017.pem 450s Adding debian:ePKI_Root_Certification_Authority.pem 450s Adding debian:emSign_ECC_Root_CA_-_C3.pem 450s Adding debian:emSign_ECC_Root_CA_-_G3.pem 450s Adding debian:emSign_Root_CA_-_C1.pem 450s Adding debian:emSign_Root_CA_-_G1.pem 450s Adding debian:vTrus_ECC_Root_CA.pem 450s Adding debian:vTrus_Root_CA.pem 450s done. 450s Setting up default-jre-headless (2:1.21-76build1) ... 450s Setting up jruby (9.4.8.0+ds-3ubuntu1) ... 454s autopkgtest [14:00:16]: test jruby: [----------------------- 454s installing concurrent-ruby-1.3.4 gem into temporary GEM_HOME for jruby ... 454s installing concurrent-ruby-edge-0.7.1 gem into temporary GEM_HOME for jruby ... 454s installing diff-lcs-1.5.1 gem into temporary GEM_HOME for jruby ... 454s installing rspec-core-3.13.0 gem into temporary GEM_HOME for jruby ... 454s installing rspec-expectations-3.13.0 gem into temporary GEM_HOME for jruby ... 454s installing rspec-mocks-3.13.0 gem into temporary GEM_HOME for jruby ... 454s installing rspec-support-3.13.1 gem into temporary GEM_HOME for jruby ... 454s installing timecop-0.9.10 gem into temporary GEM_HOME for jruby ... 457s /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.3.4/lib/concurrent-ruby/concurrent/options.rb require at org/jruby/RubyKernel.java:1184 457s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 457s at /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/options.rb:6 457s
at /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/options.rb:3 457s require at org/jruby/RubyKernel.java:1184 457s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 457s
at /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/scheduled_task.rb:8 457s require at org/jruby/RubyKernel.java:1184 457s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 457s
at /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/executor/timer_set.rb:1 457s require at org/jruby/RubyKernel.java:1184 457s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 457s
at /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/executors.rb:20 457s require at org/jruby/RubyKernel.java:1184 457s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 457s
at /usr/share/rubygems-integration/all/gems/concurrent-ruby-edge-0.7.1/lib/concurrent-ruby-edge/concurrent/actor/core.rb:4 457s require at org/jruby/RubyKernel.java:1184 457s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 457s at /usr/share/rubygems-integration/all/gems/concurrent-ruby-edge-0.7.1/lib/concurrent-ruby-edge/concurrent/actor.rb:25 457s at /usr/share/rubygems-integration/all/gems/concurrent-ruby-edge-0.7.1/lib/concurrent-ruby-edge/concurrent/actor.rb:17 457s
at /usr/share/rubygems-integration/all/gems/concurrent-ruby-edge-0.7.1/lib/concurrent-ruby-edge/concurrent/actor.rb:7 457s require at org/jruby/RubyKernel.java:1184 457s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:160 457s
at /tmp/autopkgtest.5ln2sD/build.B6w/src/spec/concurrent/actor_spec.rb:1 457s load at org/jruby/RubyKernel.java:1220 457s load_file_handling_errors at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:2138 457s load_spec_files at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:1638 457s each at org/jruby/RubyArray.java:1981 457s load_spec_files at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:1636 457s setup at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:102 457s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:86 457s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:71 457s invoke at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:45 457s
at /usr/bin/rspec:4 457s 457s /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.3.4/lib/concurrent-ruby/concurrent/executor/timer_set.rb require at org/jruby/RubyKernel.java:1184 457s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 457s at /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/executor/timer_set.rb:19 457s
at /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/executor/timer_set.rb:9 457s require at org/jruby/RubyKernel.java:1184 457s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 457s
at /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/executors.rb:20 457s require at org/jruby/RubyKernel.java:1184 457s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 457s
at /usr/share/rubygems-integration/all/gems/concurrent-ruby-edge-0.7.1/lib/concurrent-ruby-edge/concurrent/actor/core.rb:4 457s require at org/jruby/RubyKernel.java:1184 457s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 457s at /usr/share/rubygems-integration/all/gems/concurrent-ruby-edge-0.7.1/lib/concurrent-ruby-edge/concurrent/actor.rb:25 457s at /usr/share/rubygems-integration/all/gems/concurrent-ruby-edge-0.7.1/lib/concurrent-ruby-edge/concurrent/actor.rb:17 457s
at /usr/share/rubygems-integration/all/gems/concurrent-ruby-edge-0.7.1/lib/concurrent-ruby-edge/concurrent/actor.rb:7 457s require at org/jruby/RubyKernel.java:1184 457s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:160 457s
at /tmp/autopkgtest.5ln2sD/build.B6w/src/spec/concurrent/actor_spec.rb:1 457s load at org/jruby/RubyKernel.java:1220 457s load_file_handling_errors at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:2138 457s load_spec_files at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:1638 457s each at org/jruby/RubyArray.java:1981 457s load_spec_files at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:1636 457s setup at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:102 457s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:86 457s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:71 457s invoke at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:45 457s
at /usr/bin/rspec:4 457s 459s /usr/share/jruby/lib/ruby/stdlib/date.rb:471: warning: previous definition of strptime was here 459s /usr/share/jruby/lib/ruby/stdlib/date.rb:490: warning: previous definition of parse was here 459s /usr/share/jruby/lib/ruby/stdlib/date.rb:737: warning: previous definition of parse was here 459s Run options: exclude {:stress=>true} 459s 459s Concurrent::Actor 459s /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:1184 459s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 459s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:30 459s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:3 459s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:2 459s
at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:1 459s require at org/jruby/RubyKernel.java:1184 459s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 459s be_truthy at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers.rb:311 459s
at /tmp/autopkgtest.5ln2sD/build.B6w/src/spec/spec_helper.rb:50 459s instance_exec at org/jruby/RubyBasicObject.java:2620 459s instance_exec at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:457 459s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:365 459s run_owned_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:529 459s each at org/jruby/RubyArray.java:1981 459s run_owned_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:528 459s run_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:615 459s reverse_each at org/jruby/RubyArray.java:2063 459s run_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:614 459s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:484 459s run_before_example at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:505 459s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:261 459s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 459s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 459s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 459s run_around_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:624 459s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 459s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 459s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 459s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:259 459s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:646 459s map at org/jruby/RubyArray.java:2803 459s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:651 459s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:607 459s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121 459s map at org/jruby/RubyArray.java:2803 459s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121 459s with_suite_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:2091 459s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:116 459s report at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/reporter.rb:74 459s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:115 459s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:89 459s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:71 459s invoke at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:45 459s
at /usr/bin/rspec:4 459s 459s /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:1184 459s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 459s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:53 459s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:3 459s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:2 459s
at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:1 459s require at org/jruby/RubyKernel.java:1184 459s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 459s be_truthy at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers.rb:311 459s
at /tmp/autopkgtest.5ln2sD/build.B6w/src/spec/spec_helper.rb:50 459s instance_exec at org/jruby/RubyBasicObject.java:2620 459s instance_exec at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:457 459s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:365 459s run_owned_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:529 459s each at org/jruby/RubyArray.java:1981 459s run_owned_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:528 459s run_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:615 459s reverse_each at org/jruby/RubyArray.java:2063 459s run_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:614 459s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:484 459s run_before_example at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:505 459s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:261 459s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 459s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 459s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 459s run_around_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:624 459s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 459s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 459s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 459s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:259 459s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:646 459s map at org/jruby/RubyArray.java:2803 459s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:651 459s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:607 459s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121 459s map at org/jruby/RubyArray.java:2803 459s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121 459s with_suite_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:2091 459s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:116 459s report at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/reporter.rb:74 459s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:115 459s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:89 459s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:71 459s invoke at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:45 459s
at /usr/bin/rspec:4 459s 459s /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:1184 459s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 459s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:74 459s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:3 459s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:2 459s
at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:1 459s require at org/jruby/RubyKernel.java:1184 459s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 459s be_truthy at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers.rb:311 459s
at /tmp/autopkgtest.5ln2sD/build.B6w/src/spec/spec_helper.rb:50 459s instance_exec at org/jruby/RubyBasicObject.java:2620 459s instance_exec at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:457 459s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:365 459s run_owned_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:529 459s each at org/jruby/RubyArray.java:1981 459s run_owned_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:528 459s run_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:615 459s reverse_each at org/jruby/RubyArray.java:2063 459s run_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:614 459s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:484 459s run_before_example at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:505 459s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:261 459s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 459s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 459s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 459s run_around_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:624 459s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 459s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 459s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 459s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:259 459s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:646 459s map at org/jruby/RubyArray.java:2803 459s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:651 459s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:607 459s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121 459s map at org/jruby/RubyArray.java:2803 459s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121 459s with_suite_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:2091 459s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:116 459s report at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/reporter.rb:74 459s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:115 459s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:89 459s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:71 459s invoke at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:45 459s
at /usr/bin/rspec:4 459s 459s /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:1184 459s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 459s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:101 459s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:3 459s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:2 459s
at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:1 459s require at org/jruby/RubyKernel.java:1184 459s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 459s be_truthy at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers.rb:311 459s
at /tmp/autopkgtest.5ln2sD/build.B6w/src/spec/spec_helper.rb:50 459s instance_exec at org/jruby/RubyBasicObject.java:2620 459s instance_exec at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:457 459s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:365 459s run_owned_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:529 459s each at org/jruby/RubyArray.java:1981 459s run_owned_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:528 459s run_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:615 459s reverse_each at org/jruby/RubyArray.java:2063 459s run_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:614 459s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:484 459s run_before_example at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:505 459s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:261 459s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 459s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 459s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 459s run_around_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:624 459s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 459s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 459s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 459s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:259 459s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:646 459s map at org/jruby/RubyArray.java:2803 459s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:651 459s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:607 459s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121 459s map at org/jruby/RubyArray.java:2803 459s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121 459s with_suite_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:2091 459s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:116 459s report at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/reporter.rb:74 459s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:115 459s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:89 459s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:71 459s invoke at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:45 459s
at /usr/bin/rspec:4 459s 459s /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:1184 459s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 459s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:136 459s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:3 459s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:2 459s
at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:1 459s require at org/jruby/RubyKernel.java:1184 459s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 459s be_truthy at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers.rb:311 459s
at /tmp/autopkgtest.5ln2sD/build.B6w/src/spec/spec_helper.rb:50 459s instance_exec at org/jruby/RubyBasicObject.java:2620 459s instance_exec at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:457 459s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:365 459s run_owned_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:529 459s each at org/jruby/RubyArray.java:1981 459s run_owned_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:528 459s run_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:615 459s reverse_each at org/jruby/RubyArray.java:2063 459s run_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:614 459s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:484 459s run_before_example at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:505 459s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:261 459s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 459s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 459s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 459s run_around_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:624 459s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 459s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 459s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 459s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:259 459s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:646 459s map at org/jruby/RubyArray.java:2803 459s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:651 459s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:607 459s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121 459s map at org/jruby/RubyArray.java:2803 459s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121 459s with_suite_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:2091 459s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:116 459s report at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/reporter.rb:74 459s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:115 459s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:89 459s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:71 459s invoke at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:45 459s
at /usr/bin/rspec:4 459s 459s forbids Immediate executor 459s links 459s links atomically 459s spawning 459s terminates on failed initialization 459s terminates on failed initialization and raises with spawn! 459s terminates on failed message processing 459s Actor#spawn! 459s spawn 459s executor should be global 459s returns arg 459s #path 459s is expected to eq "/ping" 459s #parent 459s is expected to eq # 459s #name 459s is expected to eq "ping" 459s #reference 459s is expected to eq # 459s context_spawn 459s executor should be global 459s returns arg 459s #path 460s is expected to eq "/ping" 460s #parent 460s is expected to eq # 460s #name 460s is expected to eq "ping" 460s #reference 460s is expected to eq # 460s spawn_by_hash 460s executor should be global 460s returns arg 460s #path 460s is expected to eq "/ping" 460s #parent 460s is expected to eq # 460s #name 460s is expected to eq "ping" 460s #reference 460s is expected to eq # 460s context_spawn_by_hash 460s executor should be global 460s returns arg 460s #path 460s is expected to eq "/ping" 460s #parent 460s is expected to eq # 460s #name 460s is expected to eq "ping" 460s #reference 460s is expected to eq # 460s messaging 460s is expected to eq 4 460s children 460s has children set after a child is created 460s envelope 460s /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:1184 460s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 460s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/has.rb:125 460s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/has.rb:3 460s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/has.rb:2 460s
at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/has.rb:1 460s require at org/jruby/RubyKernel.java:1184 460s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 460s method_missing at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers.rb:964 460s method_missing at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:767 460s Actor at /tmp/autopkgtest.5ln2sD/build.B6w/src/spec/concurrent/actor_spec.rb:136 460s instance_exec at org/jruby/RubyBasicObject.java:2620 460s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:263 460s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 460s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 460s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 460s run_around_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:624 460s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 460s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 460s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 460s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:259 460s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:646 460s map at org/jruby/RubyArray.java:2803 460s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:651 460s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:607 460s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:608 460s map at org/jruby/RubyArray.java:2803 460s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:608 460s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121 460s map at org/jruby/RubyArray.java:2803 460s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121 460s with_suite_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:2091 460s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:116 460s report at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/reporter.rb:74 460s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:115 460s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:89 460s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:71 460s invoke at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:45 460s
at /usr/bin/rspec:4 460s 460s is expected to eq # 460s termination 460s terminates with all its children 460s dead letter routing 460s logs by deafault 460s message redirecting 460s is evaluated by child 460s pausing 460s pauses on error and resumes 460s pauses on error and resets 460s pauses on error and restarts 460s pool 460s supports asks 460s 460s Concurrent::Agent 460s initialization 460s sets the initial value 460s sets the initial error to nil 460s sets the error mode when given a valid value 460s defaults the error mode to :continue when an error handler is given 460s defaults the error mode to :fail when no error handler is given 460s raises an error when given an invalid error mode 460s sets #failed? to false 460s action processing 460s the given block will be passed the current value 460s the given block will be passed any provided arguments 460s the return value will be passed to the validator function 460s upon validation the new value will be set to the block return value 460s on success all observers will be notified 460s any recursive action dispatches will run after the value has been updated 460s when the action raises an error the value will not change 460s when the action raises an error the validator will not be called 460s when validation returns false the value will not change 460s when validation raises an error the value will not change 460s when the action raises an error the handler will be called 460s when validation fails the handler will be called 460s when validation raises an error the handler will be called 460s validation 460s sets the new value when the validator returns true 460s rejects the new value when the validator returns false 460s rejects the new value when the validator raises an error 460s sets the error when the error mode is :fail and the validator returns false 460s sets the error when the error mode is :fail and the validator raises an error 460s does not set an error when the error mode is :continue and the validator returns false 460s does not set an error when the error mode is :continue and the validator raises an error 460s does not trigger observation when validation fails 460s error handling 460s the agent will be passed to the handler 460s the exception will be passed to the handler 460s does not trigger observation 460s error mode 460s :continue 460s does not set an error when the validator returns false 460s does not set an error when the validator raises an error 460s does not set an error when the action raises an error 460s does not block further action processing 460s sets #failed? to false 460s :fail 460s sets the error when the validator returns false 460s sets the error when the validator raises an error 460s sets the error when the action raises an error 460s blocks all further action processing until a restart 460s sets #failed? to true 460s nested actions 460s occur in the order they ar post 460s work with immediate execution 460s posting 460s with #send 460s returns true when the job is post 460s returns false when #failed? 460s posts to the global fast executor 460s does not wait for the action to process 460s with #send! 460s returns true when the job is post 460s raises an error when #failed? 460s posts to the global fast executor 461s does not wait for the action to process 461s with #send_off 461s returns true when the job is post 461s returns false when #failed? 461s posts to the global io executor 461s does not wait for the action to process 461s with #send_off! 461s returns true when the job is post 461s raises an error when #failed? 461s posts to the global io executor 461s does not wait for the action to process 461s with #send_via 461s returns true when the job is post 461s returns false when #failed? 461s posts to the given executor 461s with #send_via! 461s returns true when the job is post 461s raises an error when #failed? 461s posts to the given executor 461s with #post 461s returns true when the job is post 461s returns false when #failed? 461s posts to the global io executor 461s does not wait for the action to process 461s with #<< 461s returns self when the job is post 461s returns self when #failed? 461s posts to the global io executor 461s does not wait for the action to process 461s #restart 461s when #failed? 461s raises an error if the new value is not valid 461s sets the new value 461s clears the error 461s sets #failed? to true 461s removes all actions from the queue when :clear_actions is true 461s does not clear the action queue when :clear_actions is false 461s does not clear the action queue when :clear_actions is not given 461s resumes action processing if actions are enqueued 461s does not trigger observation 461s when not #failed? 461s raises an error 461s waiting 461s the await job 461s does not change the value 461s does not trigger the error mode 461s does not trigger observers 462s waits for nested actions 462s with #await 462s returns self when there are no pending actions 462s does not block on actions from other threads 463s blocks indefinitely 464s returns true when all prior actions have processed 464s blocks forever if restarted with :clear_actions true (PENDING: the timing is nearly impossible) 464s with #await_for 464s returns true when there are no pending actions 464s does not block on actions from other threads 465s returns true when all prior actions have processed 466s returns false on timeout 466s returns false if restarted with :clear_actions true (PENDING: the timing is nearly impossible) 466s with #await_for! 466s returns true when there are no pending actions 466s does not block on actions from other threads 467s returns true when all prior actions have processed 468s raises an error on timeout 468s raises an error if restarted with :clear_actions true (PENDING: the timing is nearly impossible) 468s with #wait 468s returns true when there are no pending actions and timeout is nil 468s returns true when there are no pending actions and a timeout is given 468s does not block on actions from other threads 469s blocks indefinitely when timeout is nil 469s blocks forever when timeout is nil and restarted with :clear_actions true (PENDING: the timing is nearly impossible) 470s returns true when all prior actions have processed 471s returns false on timeout 471s returns false when timeout is given and restarted with :clear_actions true (PENDING: the timing is nearly impossible) 471s with .await 471s returns true when all prior actions on all agents have processed 471s with .await_for 471s returns true when there are no pending actions 471s returns true when all prior actions for all agents have processed 472s returns false on timeout 472s with await_for! 472s returns true when there are no pending actions 472s returns true when all prior actions for all agents have processed 473s raises an exception on timeout 473s observable 473s behaves like observable 473s #add_observer 473s adds an observer if called before first notification 473s adds an observer with :func if called before first notification 473s creates an observer from a block if called before first notification 473s raises an exception if not given an observer or a block 473s raises an exception when given both an observer and a block 473s #delete_observer 473s deletes the given observer if called before first notification 473s returns the removed observer if found in the observer set 473s returns the given observer even when not found in the observer set 473s #delete_observers 473s deletes all observers when called before first notification 473s returns self 473s #count_observers 473s returns zero for a new observable object 473s returns a count of registered observers if called before first notification 473s returns zero after #delete_observers has been called 473s first notification 473s calls the #update method on all observers without a specified :func 473s calls the appropriate function on all observers which specified a :func 473s calls the proc for all observers added as a block 474s does not notify any observers removed with #delete_observer 475s does not notify any observers after #delete_observers called 475s 475s Concurrent::Array 475s .[] 475s when initializing with no arguments 475s is expected to be empty 475s when initializing with arguments 475s creates an array with the given objects 475s .new 475s when initializing with no arguments 475s is expected to be empty 475s when initializing with a size argument 475s creates an array with size elements set to nil 475s when initializing with a default value argument 475s creates an array with size elements set to the default value 475s when initializing with a block argument 475s creates an array with size elements set to the default value 475s when initializing with another array as an argument 475s creates a new array 475s creates an array with the same contents as the other array 475s creates an array with the results of calling #to_ary on the other array 475s concurrency 475s is expected to be empty 475s #slice 475s correctly initializes the monitor 475s 475s Concurrent::Async 475s object creation 475s delegates to the original constructor 475s passes all args to the original constructor 475s passes a given block to the original constructor 475s initializes synchronization 475s #validate_argc 475s raises an exception when the method is not defined 475s raises an exception for too many args on a zero arity method 475s does not raise an exception for correct zero arity 475s raises an exception for too many args on a method with positive arity 475s raises an exception for too few args on a method with positive arity 475s does not raise an exception for correct positive arity 475s raises an exception for too few args on a method with negative arity 475s does not raise an exception for correct negative arity 475s #async 475s raises an error when calling a method that does not exist 475s raises an error when passing too few arguments 475s raises an error when pasing too many arguments (arity >= 0) 475s returns the existence of the method 475s returns a :pending IVar 475s runs the future on the global executor 475s sets the value on success 475s sets the reason on failure 475s sets the reason when giving too many optional arguments 475s supports attribute accessors 475s supports methods with blocks 475s #await 475s raises an error when calling a method that does not exist 475s raises an error when passing too few arguments 475s raises an error when pasing too many arguments (arity >= 0) 475s returns the existence of the method 475s returns a :fulfilled IVar 475s runs the future on the global executor 475s sets the value on success 475s sets the reason on failure 475s sets the reason when giving too many optional arguments 475s supports attribute accessors 475s supports methods with blocks 475s locking 475s uses the same lock for both #async and #await 475s fork safety 475s does not hang when forked (PENDING: Platform does not support fork) 475s 475s Concurrent::Atom 475s construction 475s sets the initial value to the given value 475s #compare_and_set 475s sets the new value if the current value matches 475s returns true if the current value matches 475s rejects the new value if the current value does not match 475s returns false if the current value does not match 475s rejects the new value if the validator returns false 475s rejects the new value if the validator raises an exception 475s returns false if the validator returns false 475s returns false if the validator raises an exception 475s #swap 475s raises an exception when no block is given 475s passes the current value to the block 475s passes all arguments to the block 475s sets the new value to the result of the block 475s rejects the new value if the validator returns false 475s rejects the new value if the validator raises an exception 475s returns the new value on success 475s returns the old value if the validator returns false 475s returns the old value if the validator raises an exception 475s calls the block more than once if the value changes underneath 475s reraises the exception from block 475s #reset 475s sets the new value 475s returns the new value on success 475s returns the new value on success 475s returns the old value if the validator returns false 475s returns the old value if the validator raises an exception 475s observable 475s behaves like observable 475s #add_observer 475s adds an observer if called before first notification 475s adds an observer with :func if called before first notification 475s creates an observer from a block if called before first notification 475s raises an exception if not given an observer or a block 475s raises an exception when given both an observer and a block 475s #delete_observer 475s deletes the given observer if called before first notification 475s returns the removed observer if found in the observer set 475s returns the given observer even when not found in the observer set 475s #delete_observers 475s deletes all observers when called before first notification 475s returns self 475s #count_observers 475s returns zero for a new observable object 475s returns a count of registered observers if called before first notification 475s returns zero after #delete_observers has been called 475s first notification 475s calls the #update method on all observers without a specified :func 475s calls the appropriate function on all observers which specified a :func 475s calls the proc for all observers added as a block 476s does not notify any observers removed with #delete_observer 477s does not notify any observers after #delete_observers called 477s 477s Concurrent::MutexAtomicBoolean 477s it should behave like atomic_boolean 477s construction 477s sets the initial value 477s defaults the initial value to false 477s evaluates the truthiness of a true value 477s evaluates the truthiness of a false value 477s #value 477s returns the current value 477s #value= 477s sets the #value to the given `Boolean` 477s returns the new value 477s evaluates the truthiness of a true value 477s evaluates the truthiness of a false value 477s #true? 477s is expected to equal true 477s is expected to equal false 477s #false? 477s is expected to equal false 477s is expected to equal true 477s #make_true 477s makes a false value true and returns true 477s keeps a true value true and returns false 477s #make_false 477s makes a true value false and returns true 477s keeps a false value false and returns false 477s instance methods 477s value is synchronized 477s value= is synchronized 477s true? is synchronized 477s false? is synchronized 477s make_true is synchronized 477s make_false is synchronized 477s 477s Concurrent::JavaAtomicBoolean 477s it should behave like atomic_boolean 477s construction 477s sets the initial value 477s defaults the initial value to false 477s evaluates the truthiness of a true value 477s evaluates the truthiness of a false value 477s #value 477s returns the current value 477s #value= 477s sets the #value to the given `Boolean` 477s returns the new value 477s evaluates the truthiness of a true value 477s evaluates the truthiness of a false value 477s #true? 477s is expected to equal true 477s is expected to equal false 477s #false? 477s is expected to equal false 477s is expected to equal true 477s #make_true 477s makes a false value true and returns true 477s keeps a true value true and returns false 477s #make_false 477s makes a true value false and returns true 477s keeps a false value false and returns false 477s 477s Concurrent::AtomicBoolean 477s does not load the C extension 477s inherits from JavaAtomicBoolean 477s #to_s and #inspect 477s includes the value 477s 477s Concurrent::MutexAtomicFixnum 477s it should behave like atomic_fixnum 477s construction 477s sets the initial value 477s defaults the initial value to zero 477s raises an exception if the initial value is not a Fixnum 477s #value 477s returns the current value 477s #value= 477s sets the #value to the given `Fixnum` 477s returns the new value 477s raises and exception if the value is not a `Fixnum` 477s #increment 477s increases the value by one when no argument is given 477s returns the new value when no argument is given 477s increases the value by the given argument 477s returns the new value the given argument 477s is aliased as #up 477s #decrement 477s decreases the value by one when no argument is given 477s returns the new value when no argument is given 477s decreases the value by the given argument 477s returns the new value the given argument 477s is aliased as #down 477s #compare_and_set 477s returns false if the value is not found 477s returns true if the value is found 477s sets if the value is found 477s does not set if the value is not found 477s #update 477s passes the current value to the block 477s atomically sets the value to the return value from the block 477s returns the new value 477s construction 477s raises an exception if the initial value is too big 477s raises an exception if the initial value is too small 477s instance methods 477s value is synchronized 478s value= is synchronized 478s increment is synchronized 478s decrement is synchronized 478s compare_and_set is synchronized 478s 478s Concurrent::JavaAtomicFixnum 478s it should behave like atomic_fixnum 478s construction 478s sets the initial value 478s defaults the initial value to zero 478s raises an exception if the initial value is not a Fixnum 478s #value 478s returns the current value 478s #value= 478s sets the #value to the given `Fixnum` 478s returns the new value 478s raises and exception if the value is not a `Fixnum` 478s #increment 478s increases the value by one when no argument is given 478s returns the new value when no argument is given 478s increases the value by the given argument 478s returns the new value the given argument 478s is aliased as #up 478s #decrement 478s decreases the value by one when no argument is given 478s returns the new value when no argument is given 478s decreases the value by the given argument 478s returns the new value the given argument 478s is aliased as #down 478s #compare_and_set 478s returns false if the value is not found 478s returns true if the value is found 478s sets if the value is found 478s does not set if the value is not found 478s #update 478s passes the current value to the block 478s atomically sets the value to the return value from the block 478s returns the new value 478s 478s Concurrent::AtomicFixnum 478s does not load the C extension 478s inherits from JavaAtomicFixnum 478s #to_s and #inspect 478s includes the value 478s 478s Concurrent::AtomicMarkableReference 478s .initialize 478s constructs the object 478s has sane defaults 478s #set 478s sets the value and mark 478s #try_update! 478s updates the value and mark 478s raises ConcurrentUpdateError when attempting to set inside of block 478s #try_update 478s updates the value and mark 478s returns nil when attempting to set inside of block 478s #update 478s updates the value and mark 478s retries until update succeeds 478s #compare_and_set 478s when objects have the same identity 478s sets the value and mark 478s when objects have the different identity 478s it does not set the value or mark 478s when comparing Numeric objects 478s Non-idepotent Float 478s sets the value and mark 478s BigNum 478s sets the value and mark 478s Rational 478s sets the value and mark 478s Rational 478s is successful 478s 478s Concurrent::AtomicReference 478s it should behave like atomic_reference 478s test_construct 478s test_value 478s test_update 478s test_try_update 478s test_try_update_bang 478s test_swap 478s test_try_update_fails 478s test_try_update_bang_fails 478s test_update_retries 478s test_numeric_cas 478s #to_s and #inspect 478s includes the value 478s 478s Concurrent::MutexAtomicReference 478s it should behave like atomic_reference 478s test_construct 478s test_value 478s test_update 478s test_try_update 478s test_try_update_bang 478s test_swap 478s test_try_update_fails 478s test_try_update_bang_fails 478s test_update_retries 478s test_numeric_cas 478s 478s Concurrent::JavaAtomicReference 478s it should behave like atomic_reference 478s test_construct 478s test_value 478s test_update 478s test_try_update 478s test_try_update_bang 478s test_swap 478s test_try_update_fails 478s test_try_update_bang_fails 478s test_update_retries 478s test_numeric_cas 478s 478s Concurrent::AtomicReference 478s does not load the C extension 478s inherits from JavaAtomicReference 478s 478s Concurrent::MutexCountDownLatch 478s it should behave like count_down_latch 478s #initialize 478s raises an exception if the initial count is less than zero 478s raises an exception if the initial count is not an integer 478s defaults the count to 1 478s #count 478s should be the value passed to the constructor 478s should be decreased after every count down 478s should not go below zero 478s #wait 478s blocks indefinitely, and is kill-able 478s blocks indefinitely with timeout, and is kill-able 478s count set to zero 478s should return true immediately 478s should return true immediately with timeout 478s non zero count 478s should block thread until counter is set to zero 478s should block until counter is set to zero with timeout 478s should block until timeout and return false when counter is not set to zero 478s spurious wake ups 478s should resist to spurious wake ups without timeout 479s should resist to spurious wake ups with timeout 479s 479s Concurrent::JavaCountDownLatch 479s it should behave like count_down_latch 479s #initialize 479s raises an exception if the initial count is less than zero 479s raises an exception if the initial count is not an integer 479s defaults the count to 1 479s #count 479s should be the value passed to the constructor 479s should be decreased after every count down 479s should not go below zero 479s #wait 479s blocks indefinitely, and is kill-able 479s blocks indefinitely with timeout, and is kill-able 479s count set to zero 479s should return true immediately 479s should return true immediately with timeout 479s non zero count 479s should block thread until counter is set to zero 479s should block until counter is set to zero with timeout 479s should block until timeout and return false when counter is not set to zero 479s 479s Concurrent::CountDownLatch 479s inherits from JavaCountDownLatch 479s 479s Concurrent::CyclicBarrier 479s #initialize 479s raises an exception if the initial count is less than 1 479s raises an exception if the initial count is not an integer 479s #parties 479s should be the value passed to the constructor 479s #number_waiting 479s without any waiting thread 479s should be equal to zero 479s with waiting threads 479s should be equal to the waiting threads count 479s #broken? 479s should not be broken when created 479s should not be broken when reset is called without waiting thread 479s reset 479s should release all waiting threads 479s #wait 479s without timeout 479s should block the thread 479s should release all threads when their number matches the desired one 479s returns true when released 479s executes the block once 479s can be reused 480s return false if barrier has been reset 480s with timeout 480s timeout not expiring 480s should block the thread 480s should release all threads when their number matches the desired one 480s returns true when released 480s timeout expiring 480s returns false 480s breaks the barrier and release all other threads 480s breaks the barrier and release all other threads 2 480s does not execute the block on timeout 480s #broken barrier 480s should not accept new threads 480s can be reset 480s spurious wake ups 481s should resist to spurious wake ups without timeout 481s should resist to spurious wake ups with timeout 481s 481s Concurrent::Event 481s #initialize 481s sets the state to unset 481s #set? 481s returns true when the event has been set 481s returns false if the event is unset 481s #set 481s triggers the event 481s sets the state to set 481s #try? 481s triggers the event if not already set 481s returns true if not previously set 481s returns false if previously set 481s #reset 481s does not change the state of an unset event 481s does not trigger an unset event 481s returns true when called on an unset event 481s sets the state of a set event to unset 481s returns true when called on a set event 481s #wait 481s returns immediately when the event has been set 481s returns true once the event is set 481s blocks indefinitely when the timer is nil 482s blocks indefinitely 482s stops waiting when the timer expires 483s returns false when the timer expires 483s triggers multiple waiting threads 483s behaves appropriately if wait begins while #set is processing 483s spurious wake ups 483s should resist to spurious wake ups without timeout 484s should resist spurious wake ups with timeout 484s 484s Concurrent::FiberLocalVar 484s #initialize 484s can set an initial value 484s sets nil as a default initial value 484s sets the same initial value for all fibers 484s can set a block to be called to get the initial value 484s when attempting to set both an initial value and a block 484s is expected to raise ArgumentError 484s #value 484s returns the current value 484s returns the value after modification 484s when using a block to initialize the value 484s calls the block to initialize the value 484s sets the block return value as the current value 484s calls the block to initialize the value for each fiber 484s #value= 484s sets a new value 484s returns the new value 484s does not modify the initial value for other fibers 484s does not modify the value for other fibers 484s 484s Concurrent::FiberLocalVar 484s uses FiberLocalVar if Mutex is per Fiber 484s 484s Concurrent::ReadWriteLock 484s #write_locked? 484s returns true when the write lock is held 484s returns false when the write lock is not held 484s returns false when the write lock is not held but there are readers 484s #has_waiters? 484s returns false when no locks are held 484s returns false when there are readers but no writers 484s returns true when the write lock is held and there are waiting readers 484s returns true when the write lock is held and there are waiting writers 484s #with_read_lock 484s acquires the lock 484s returns the value of the block operation 484s releases the lock 484s raises an exception if no block is given 484s raises an exception if maximum lock limit is exceeded 484s releases the lock when an exception is raised 484s #with_write_lock 484s acquires the lock 484s returns the value of the block operation 484s releases the lock 484s raises an exception if no block is given 484s raises an exception if maximum lock limit is exceeded 484s releases the lock when an exception is raised 484s #acquire_read_lock 484s increments the lock count 484s waits for a running writer to finish 484s does not wait for any running readers 484s raises an exception if maximum lock limit is exceeded 484s returns true if the lock is acquired 484s #release_read_lock 484s decrements the counter 484s unblocks waiting writers 484s returns true if the lock is released 484s returns true if the lock was never set 484s #acquire_write_lock 484s increments the lock count 484s waits for a running writer to finish 484s waits for a running reader to finish 484s raises an exception if maximum lock limit is exceeded 484s returns true if the lock is acquired 484s #release_write_lock 484s decrements the counter 484s unblocks waiting readers 484s unblocks waiting writers 484s returns true if the lock is released 484s returns true if the lock was never set 484s 484s Concurrent::ReentrantReadWriteLock 484s can survive a torture test 484s read lock 484s allows other read locks to be acquired at the same time 484s can be acquired more than once 484s can be acquired while holding a write lock 484s can be upgraded to a write lock 484s can be upgraded to a write lock when read lock acquired more than once 484s cannot be released when not held 484s cannot be released more times than it was taken 484s wakes up waiting writers when the last read lock is released 484s write lock 484s cannot be acquired when another thread holds a write lock 484s cannot be acquired when another thread holds a read lock 484s can be acquired more than once 484s can be acquired while holding a read lock 484s can be downgraded to a read lock 484s cannot be released when not held 484s cannot be released more times than it was taken 484s wakes up waiting readers when the write lock is released 484s wakes up waiting writers when the write lock is released 484s #with_read_lock 484s acquires read block before yielding, then releases it 484s releases read lock if an exception is raised in block 484s #with_write_lock 484s acquires write block before yielding, then releases it 484s releases write lock if an exception is raised in block 484s #try_read_lock 484s returns false immediately if read lock cannot be obtained 484s acquires read lock and returns true if it can do so without blocking 484s can acquire a read lock if a read lock is already held 484s can acquire a read lock if a write lock is already held 484s #try_write_lock 484s returns false immediately if write lock cannot be obtained 484s acquires write lock and returns true if it can do so without blocking 484s can acquire a write lock if a read lock is already held 484s can acquire a write lock if a write lock is already held 484s 484s Concurrent::ReentrantReadWriteLock 484s can acquire locks in separate fibers 484s 484s Concurrent::MutexSemaphore 484s it should behave like semaphore 484s #initialize 484s raises an exception if the initial count is not an integer 484s when initializing with 0 484s is expected not to equal nil 484s when initializing with -1 484s is expected to eq 0 484s #acquire 484s without block 484s permits available 484s should return nil immediately 484s not enough permits available 484s should block thread until permits are available 484s when acquiring negative permits 484s raises ArgumentError 484s with block 484s permits available 484s should acquire permits, run the block, release permits, and return block return value 484s if the block raises, the permit is still released 484s not enough permits available 485s should block thread until permits are available 485s when acquiring negative permits 485s raises ArgumentError 485s #drain_permits 485s drains all available permits 485s drains nothing in no permits are available 485s #try_acquire 485s without block 485s without timeout 485s acquires immediately if permits are available 485s returns false immediately in no permits are available 485s when trying to acquire negative permits 485s is expected to raise ArgumentError 485s with timeout 485s acquires immediately if permits are available 485s acquires when permits are available within timeout 485s returns false on timeout 485s with block 485s without timeout 485s acquires immediately if permits are available and returns block return value 485s releases permit if block raises 485s returns false immediately in no permits are available 485s when trying to acquire negative permits 485s is expected not to change `semaphore.available_permits` 485s with timeout 485s acquires immediately if permits are available, and returns block return value 485s releases permits if block raises 485s acquires when permits are available within timeout, and returns block return value 485s returns false on timeout 485s #reduce_permits 485s raises ArgumentError if reducing by negative number 485s reduces permits below zero 485s reduces permits 485s reduces zero permits 485s #release 485s increases the number of available permits by one 485s when a number of permits is specified 485s increases the number of available permits by the specified value 485s when permits is set to negative number 485s is expected to raise ArgumentError 485s 485s Concurrent::JavaSemaphore 485s it should behave like semaphore 485s #initialize 485s raises an exception if the initial count is not an integer 485s when initializing with 0 485s is expected not to equal nil 485s when initializing with -1 485s is expected to eq 0 485s #acquire 485s without block 485s permits available 485s should return nil immediately 485s not enough permits available 486s should block thread until permits are available 486s when acquiring negative permits 486s raises ArgumentError 486s with block 486s permits available 486s should acquire permits, run the block, release permits, and return block return value 486s if the block raises, the permit is still released 486s not enough permits available 486s should block thread until permits are available 486s when acquiring negative permits 486s raises ArgumentError 486s #drain_permits 486s drains all available permits 486s drains nothing in no permits are available 486s #try_acquire 486s without block 486s without timeout 486s acquires immediately if permits are available 486s returns false immediately in no permits are available 486s when trying to acquire negative permits 486s is expected to raise ArgumentError 486s with timeout 486s acquires immediately if permits are available 486s acquires when permits are available within timeout 486s returns false on timeout 486s with block 486s without timeout 486s acquires immediately if permits are available and returns block return value 486s releases permit if block raises 486s returns false immediately in no permits are available 486s when trying to acquire negative permits 486s is expected not to change `semaphore.available_permits` 486s with timeout 486s acquires immediately if permits are available, and returns block return value 486s releases permits if block raises 486s acquires when permits are available within timeout, and returns block return value 486s returns false on timeout 486s #reduce_permits 486s raises ArgumentError if reducing by negative number 486s reduces permits below zero 486s reduces permits 486s reduces zero permits 486s #release 486s increases the number of available permits by one 486s when a number of permits is specified 486s increases the number of available permits by the specified value 486s when permits is set to negative number 486s is expected to raise ArgumentError 486s 486s Concurrent::Semaphore 486s inherits from JavaSemaphore 486s 486s Concurrent::ThreadLocalVar 486s #initialize 486s can set an initial value 486s sets nil as a default initial value 486s sets the same initial value for all threads 486s can set a block to be called to get the initial value 486s when attempting to set both an initial value and a block 486s is expected to raise ArgumentError 486s #value 486s returns the current value 486s returns the value after modification 486s when using a block to initialize the value 486s calls the block to initialize the value 486s sets the block return value as the current value 486s calls the block to initialize the value for each thread 486s #value= 486s sets a new value 486s returns the new value 486s does not modify the initial value for other threads 486s does not modify the value for other threads 486s 486s Concurrent 486s Cancellation 486s basic 486s is expected to be falsey 486s is expected to be truthy 486s is expected to be falsey 486s is expected to eq 2 486s #join 486s 486s Concurrent::Channel::Buffer::Base 486s is expected to eq 0 486s is expected to be blocking 486s is expected to raise NotImplementedError 486s is expected to raise NotImplementedError 486s is expected to raise NotImplementedError 486s is expected to raise NotImplementedError 486s is expected to raise NotImplementedError 486s is expected to raise NotImplementedError 486s is expected to raise NotImplementedError 486s is expected to raise NotImplementedError 486s is expected not to be closed 486s is expected to be closed 486s 486s Concurrent::Channel::Buffer::Buffered 486s is expected to be blocking 486s behaves like channel_buffered_buffer 486s behaves like channel_buffer 486s is expected to respond to #blocking? 486s #capacity 486s is expected to be >= 0 486s #size 486s returns zero upon initialization 486s #empty? 486s returns true when empty 486s #full? 486s returns false when not full 486s #put 486s does not enqueue the item when closed 486s returns false when closed 486s #offer 486s returns true on success 486s does not enqueue the item when closed 486s returns false immediately when closed 486s #take 486s returns Concurrent::NULL when closed 486s #next 486s returns Concurrent::NULL, false when closed 486s #poll 486s returns the next item immediately if available 486s returns Concurrent::NULL immediately if no item is available 486s returns Concurrent::NULL when closed 486s #close 486s sets #closed? to false 486s returns true when not previously closed 486s returns false when already closed 486s #closed? 486s returns true when new 486s returns false after #close 486s #initialize 486s raises an exception if size <= 0 486s #capacity 486s returns the maximum capacity of the buffer 486s #size 486s is 0 when first created 486s returns the number of items in the buffer 487s is 0 when there are taking threads but no putting threads 487s #empty? 487s returns true when empty 487s #put 487s enqueues the item when size > 0, not full, and not closed 487s returns true when the item is put 487s #offer 487s enqueues the item immediately when not full and not closed 487s #take 487s returns the first item when not empty 487s blocks until not empty 487s returns Concurrent::NULL when closed and empty 487s #next 487s blocks until not empty 487s returns , true when there is only one item and not closed 487s returns , true when there are multiple items 487s returns , true when closed and last item 487s returns Concurrent::NULL, false when closed and no items remain 487s #full? 487s returns true when at max capacity 487s #put 487s blocks when at capacity until a thread is ready to take 487s #offer 487s returns false immediately when full 487s 487s Concurrent::Channel::Buffer::Dropping 487s is expected not to be blocking 487s behaves like channel_buffered_buffer 487s behaves like channel_buffer 487s is expected to respond to #blocking? 487s #capacity 487s is expected to be >= 0 487s #size 487s returns zero upon initialization 487s #empty? 487s returns true when empty 487s #full? 487s returns false when not full 487s #put 487s does not enqueue the item when closed 487s returns false when closed 487s #offer 487s returns true on success 487s does not enqueue the item when closed 487s returns false immediately when closed 487s #take 487s returns Concurrent::NULL when closed 487s #next 487s returns Concurrent::NULL, false when closed 487s #poll 487s returns the next item immediately if available 487s returns Concurrent::NULL immediately if no item is available 487s returns Concurrent::NULL when closed 487s #close 487s sets #closed? to false 487s returns true when not previously closed 487s returns false when already closed 487s #closed? 487s returns true when new 487s returns false after #close 487s #initialize 487s raises an exception if size <= 0 487s #capacity 487s returns the maximum capacity of the buffer 487s #size 487s is 0 when first created 487s returns the number of items in the buffer 488s is 0 when there are taking threads but no putting threads 488s #empty? 488s returns true when empty 488s #put 488s enqueues the item when size > 0, not full, and not closed 488s returns true when the item is put 488s #offer 488s enqueues the item immediately when not full and not closed 488s #take 488s returns the first item when not empty 488s blocks until not empty 488s returns Concurrent::NULL when closed and empty 488s #next 488s blocks until not empty 488s returns , true when there is only one item and not closed 488s returns , true when there are multiple items 488s returns , true when closed and last item 488s returns Concurrent::NULL, false when closed and no items remain 488s #put 488s does not block when full 488s drops the last value when full 488s #offer 488s returns true immediately when full 488s drops the last value when full 488s 488s Concurrent::Channel::Buffer::Sliding 488s is expected not to be blocking 488s behaves like channel_buffered_buffer 488s behaves like channel_buffer 488s is expected to respond to #blocking? 488s #capacity 488s is expected to be >= 0 488s #size 488s returns zero upon initialization 488s #empty? 488s returns true when empty 488s #full? 488s returns false when not full 488s #put 488s does not enqueue the item when closed 488s returns false when closed 488s #offer 488s returns true on success 488s does not enqueue the item when closed 488s returns false immediately when closed 488s #take 488s returns Concurrent::NULL when closed 488s #next 488s returns Concurrent::NULL, false when closed 488s #poll 488s returns the next item immediately if available 488s returns Concurrent::NULL immediately if no item is available 488s returns Concurrent::NULL when closed 488s #close 488s sets #closed? to false 488s returns true when not previously closed 488s returns false when already closed 488s #closed? 488s returns true when new 488s returns false after #close 488s #initialize 488s raises an exception if size <= 0 488s #capacity 488s returns the maximum capacity of the buffer 488s #size 488s is 0 when first created 488s returns the number of items in the buffer 488s is 0 when there are taking threads but no putting threads 488s #empty? 488s returns true when empty 488s #put 488s enqueues the item when size > 0, not full, and not closed 488s returns true when the item is put 488s #offer 488s enqueues the item immediately when not full and not closed 488s #take 488s returns the first item when not empty 489s blocks until not empty 489s returns Concurrent::NULL when closed and empty 489s #next 489s blocks until not empty 489s returns , true when there is only one item and not closed 489s returns , true when there are multiple items 489s returns , true when closed and last item 489s returns Concurrent::NULL, false when closed and no items remain 489s #put 489s does not block when full 489s drops the first value when full 489s #offer 489s returns true immediately when full 489s drops the first value when full 489s 489s Concurrent::Channel::Buffer::Ticker 489s behaves like channel_timing_buffer 489s is expected to be blocking 489s #capacity 489s is expected to eq 1 489s #size 489s is expected to eq 0 489s #empty? 489s is expected not to be empty 489s #full? 489s is expected to be full 489s #put 489s is expected to equal false 489s #offer 489s is expected to equal false 489s #take 489s blocks when the timer is not ready 489s returns a Tick 489s triggers after the specified time interval 489s returns Concurrent::NULL when closed 489s #poll 489s returns Concurrent::NULL when the timer is not ready 489s returns a Tick 489s returns Concurrent::NULL when closed 490s triggers after the specified time interval 490s #next 490s blocks when the timer is not ready 490s returns a Tick when open 490s returns Concurrent::NULL, false when closed 490s triggers after the specified time interval 490s #close 490s sets #closed? to false 490s returns true when not previously closed 490s returns false when already closed 490s #closed? 490s returns true when new 490s returns false after #close 490s #take 490s triggers until closed 490s returns Concurrent::NULL when closed after trigger 490s #poll 491s triggers until closed 491s #next 491s triggers until closed 491s returns true for more while open 491s returns false for more once closed 491s 491s Concurrent::Channel::Buffer::Timer 491s behaves like channel_timing_buffer 491s is expected to be blocking 491s #capacity 491s is expected to eq 1 491s #size 491s is expected to eq 0 491s #empty? 491s is expected not to be empty 491s #full? 491s is expected to be full 491s #put 491s is expected to equal false 491s #offer 491s is expected to equal false 491s #take 491s blocks when the timer is not ready 491s returns a Tick 492s triggers after the specified time interval 492s returns Concurrent::NULL when closed 492s #poll 492s returns Concurrent::NULL when the timer is not ready 492s returns a Tick 492s returns Concurrent::NULL when closed 492s triggers after the specified time interval 492s #next 492s blocks when the timer is not ready 492s returns a Tick when open 492s returns Concurrent::NULL, false when closed 492s triggers after the specified time interval 492s #close 492s sets #closed? to false 492s returns true when not previously closed 492s returns false when already closed 492s #closed? 492s returns true when new 492s returns false after #close 492s #take 492s closes automatically on first take 492s #poll 493s closes automatically on first take 493s #next 493s closes automatically on first take 493s returns false for more 493s 493s Concurrent::Channel::Buffer::Unbuffered 493s is expected to be blocking 493s is expected to eq 1 493s behaves like channel_buffer 493s is expected to respond to #blocking? 493s #capacity 493s is expected to be >= 0 493s #size 493s returns zero upon initialization 493s #empty? 493s returns true when empty 493s #full? 493s returns false when not full 493s #put 493s does not enqueue the item when closed 493s returns false when closed 493s #offer 493s returns true on success 493s does not enqueue the item when closed 493s returns false immediately when closed 493s #take 493s returns Concurrent::NULL when closed 493s #next 493s returns Concurrent::NULL, false when closed 493s #poll 493s returns the next item immediately if available 493s returns Concurrent::NULL immediately if no item is available 493s returns Concurrent::NULL when closed 493s #close 493s sets #closed? to false 493s returns true when not previously closed 493s returns false when already closed 493s #closed? 493s returns true when new 493s returns false after #close 493s #size 493s is 0 when first created 493s is 1 when a putting thread is waiting 494s is 0 when there are taking threads but no putting threads 494s #empty? 494s is true when there are no putting threads 494s is false when there are waiting putting threads 494s #full? 494s is false when there are no putting threads 494s is false when there are waiting putting threads 494s #put 494s does not enqueue the item when closed 494s returns false when closed 494s blocks until a thread is ready to take 494s delivers when closed after put starts 494s #offer 495s returns false immediately when a put in in progress 495s gives the item to a waiting taker and returns true 495s #take 495s returns false immediately when a put in in progress 495s gives the item to a waiting taker and returns true 495s #next 495s blocks when no putting and returns , true when one arrives 496s returns , true when there are multiple putting 496s returns , true when closed and last item 496s returns Concurrent::NULL, false when closed and no items remain 496s 496s channel integration tests 496s A Tour of Go 496s channels.rb 496s buffered-channels.rb 496s range-and-close.rb 496s select.rb 496s default-selection.rb (PENDING: flaky) 496s Go By Example 496s channels.rb 497s channel-buffering.rb 498s channel-synchronization.rb 498s channel-directions.rb 500s select.rb 503s timeouts.rb 503s non-blocking-channel-operations.rb 503s closing-channels.rb 503s range-over-channels.rb 505s timers.rb 507s ticker.rb 510s worker-pools.rb 512s rate-limiting.rb 512s 512s Concurrent::Channel::Tick 512s initializes to current time when no argument given 512s initializes to the given monotonic time 512s #utc returns a Time object in UTC 512s #epoch returns the UTC time as epoch seconds 512s #to_s formats as a time 512s comparison 512s correctly compares to a Numeric (monotonic) 512s correctly compares to a Time 512s correctly compares to a Tick 512s 512s Concurrent::Channel 512s initialization 512s raises an exception when the :buffer is invalid 512s is :unbuffered when neither :buffer nore :capacity is given 512s is :unbuffered when :unbuffered is given 512s is :unbuffered when :buffered and capacity: 0 512s raises an exception when both :unbuffered and :capacity are given 512s is :buffered when :capacity > 0 and no :buffer given 512s is :buffered when :buffered given 512s raises an exception when :buffered given without :capacity 512s raises an exception when :buffered and :capacity < 0 512s is :dropping when :dropping and :capacity > 0 512s raises an exception when :dropping given without :capacity 512s raises an exception when :dropping and :capacity < 1 512s is :sliding when :sliding and :capacity > 0 512s raises an exception when :sliding given without :capacity 512s raises an exception when :sliding and :capacity < 1 512s uses the given buffer 512s factories 512s is expected to receive new(10) 1 time 512s is expected to receive new(10) 1 time 512s #put 512s returns true on success 512s returns false on failure 512s rejects when the validator returns false 512s rejects when the validator raises an exception 512s rejects nil 512s put! 512s returns true on success 512s raises an exception on failure 512s rejects when the validator returns false 512s rejects when the validator raises an exception 512s rejects nil 512s put? 512s returns a just Maybe on success 512s returns a nothing Maybe on failure 512s rejects when the validator returns false 512s rejects when the validator raises an exception 512s accepts nil 512s #offer 512s returns true on success 512s returns false on failure 512s rejects when the validator returns false 512s rejects when the validator raises an exception 512s rejects nil 512s offer! 512s returns true on success 512s raises an exception on failure 512s rejects when the validator returns false 512s rejects when the validator raises an exception 512s rejects nil 512s offer? 512s returns a just Maybe on success 512s returns a nothing Maybe on failure 512s rejects when the validator returns false 512s rejects when the validator raises an exception 512s accepts nil 512s #take 512s takes the next item when not empty 512s returns nil on failure 512s #take! 512s takes the next item when not empty 512s raises an exception on failure 512s #take? 512s returns a just Maybe on success 512s returns a nothing Maybe on failure 512s #next 512s returns , true when there is one item 512s returns , true when there are multiple items 512s returns nil, false when empty and closed 512s returns , true when closed and last item 512s returns nil, false when closed and no items remain 512s #next? 512s returns a just Maybe and true when there is one item 512s returns a just Maybe, true when there are multiple items 512s returns a nothing Maybe and false on failure 512s #poll 512s returns the next item immediately if available 512s returns nil immediately if no item is available 512s returns nil on failure 512s #poll! 512s returns the next item immediately if available 512s raises an exception immediately if no item is available 512s raises an exception on failure 512s #poll? 512s returns a just Maybe immediately if available 512s returns a nothing Maybe immediately if no item is available 512s returns a nothing Maybe on failure 512s .each 512s raises and exception when no block is given 512s iterates until the channel is closed 512s goroutines 512s .go 512s raises an exception when no block is given 512s is expected to receive post(1, 2, 3) 1 time 512s .go_via 512s raises an exception when no block is given 512s is expected to receive post(1, 2, 3) 1 time 512s .go_loop 512s raises an exception when no block is given 512s loops until the block returns false 512s .go_loop_via 512s raises an exception when no block is given 512s loops until the block returns false 512s select 512s raises an exception when no block is given 512s passes a selector to the block 512s is expected to be truthy 512s 512s Concurrent::Collection::CopyOnNotifyObserverSet 512s behaves like an observer set 512s #add_observer 512s with arguments 512s should return the observer 512s with a block 512s should return the observer based on a block 512s #notify_observers 512s should return the observer set 512s with a single observer 512s should update a registered observer without arguments 512s should update a registered observer with arguments 512s should notify an observer using the chosen method 512s should notify an observer once using the last added method 512s should notify an observer from a block 512s can be called many times 512s with many observers 512s should notify all observer using the chosen method 512s with a block 512s calls the block once for every observer 512s passes the block return value to the update method 512s accepts blocks returning a single value 512s accepts block return values that include arrays 512s raises an exception if given both arguments and a block 512s #count_observers 512s should be zero after initialization 512s should be 1 after the first observer is added 512s should be 1 if the same observer is added many times 512s should be equal to the number of unique observers 512s #delete_observer 512s should not notify a deleted observer 512s can delete a non added observer 512s should return the observer 512s #delete_observers 512s should remove all observers 512s should return the observer set 512s #notify_and_delete_observers 512s should notify all observers 512s should clear observers 512s can be called many times without any other notification 512s should return the observer set 512s 512s Concurrent::Collection::CopyOnWriteObserverSet 512s behaves like an observer set 512s #add_observer 512s with arguments 512s should return the observer 512s with a block 512s should return the observer based on a block 512s #notify_observers 512s should return the observer set 512s with a single observer 512s should update a registered observer without arguments 512s should update a registered observer with arguments 512s should notify an observer using the chosen method 512s should notify an observer once using the last added method 512s should notify an observer from a block 512s can be called many times 512s with many observers 512s should notify all observer using the chosen method 512s with a block 512s calls the block once for every observer 512s passes the block return value to the update method 512s accepts blocks returning a single value 512s accepts block return values that include arrays 512s raises an exception if given both arguments and a block 512s #count_observers 512s should be zero after initialization 512s should be 1 after the first observer is added 512s should be 1 if the same observer is added many times 512s should be equal to the number of unique observers 512s #delete_observer 512s should not notify a deleted observer 512s can delete a non added observer 512s should return the observer 512s #delete_observers 512s should remove all observers 512s should return the observer set 512s #notify_and_delete_observers 512s should notify all observers 512s should clear observers 512s can be called many times without any other notification 512s should return the observer set 512s 512s Concurrent::Collection::RubyNonConcurrentPriorityQueue 512s it should behave like priority_queue 512s #initialize 512s sorts from high to low when :order is :max 512s sorts from high to low when :order is :high 512s sorts from low to high when :order is :min 512s sorts from low to high when :order is :low 512s sorts from high to low by default 512s #clear 512s removes all items from a populated queue 512s has no effect on an empty queue 512s is expected to be truthy 512s #delete 512s deletes the requested item when found 512s deletes the requested item when it is the first element 512s deletes the requested item when it is the last element 512s deletes multiple matching items when present 512s returns true when found 512s returns false when not found 512s returns false when called on an empty queue 512s deletes the requested item when it is "smaller" than the last element 512s #empty? 512s returns true for an empty queue 512s returns false for a populated queue 512s #include? 512s returns true if the item is found 512s returns false if the item is not found 512s returns false when the queue is empty 513s is aliased as #has_priority? 513s #length 513s returns the length of a populated queue 513s returns zero when the queue is empty 513s is aliased as #size 513s #peek 513s returns the item at the head of the queue 513s does not remove the item from the queue 513s returns nil when the queue is empty 513s #pop 513s returns the item at the head of the queue 513s removes the item from the queue 513s returns nil when the queue is empty 513s returns nil when called multiple times while empty 513s is aliased as #deq 513s is aliased as #shift 513s #push 513s raises an exception when attempting to enqueue nil 513s adds the item to the queue 513s sorts the new item in priority order 513s arbitrarily orders equal items with respect to each other 513s is expected to be truthy 513s is aliased as << 513s is aliased as enq 513s .from_list 513s creates an empty queue from an empty list 513s creates a sorted, populated queue from an Array 513s creates a sorted, populated queue from a Hash 513s 513s Concurrent::Collection::JavaNonConcurrentPriorityQueue 513s it should behave like priority_queue 513s #initialize 513s sorts from high to low when :order is :max 513s sorts from high to low when :order is :high 513s sorts from low to high when :order is :min 513s sorts from low to high when :order is :low 513s sorts from high to low by default 513s #clear 513s removes all items from a populated queue 513s has no effect on an empty queue 513s is expected to be truthy 513s #delete 513s deletes the requested item when found 513s deletes the requested item when it is the first element 513s deletes the requested item when it is the last element 513s deletes multiple matching items when present 513s returns true when found 513s returns false when not found 513s returns false when called on an empty queue 513s deletes the requested item when it is "smaller" than the last element 513s #empty? 513s returns true for an empty queue 513s returns false for a populated queue 513s #include? 513s returns true if the item is found 513s returns false if the item is not found 513s returns false when the queue is empty 513s is aliased as #has_priority? 513s #length 513s returns the length of a populated queue 513s returns zero when the queue is empty 513s is aliased as #size 513s #peek 513s returns the item at the head of the queue 513s does not remove the item from the queue 513s returns nil when the queue is empty 513s #pop 513s returns the item at the head of the queue 513s removes the item from the queue 513s returns nil when the queue is empty 513s returns nil when called multiple times while empty 513s is aliased as #deq 513s is aliased as #shift 513s #push 513s raises an exception when attempting to enqueue nil 513s adds the item to the queue 513s sorts the new item in priority order 513s arbitrarily orders equal items with respect to each other 513s is expected to be truthy 513s is aliased as << 513s is aliased as enq 513s .from_list 513s creates an empty queue from an empty list 513s creates a sorted, populated queue from an Array 513s creates a sorted, populated queue from a Hash 513s 513s Concurrent::Collection::NonConcurrentPriorityQueue 513s inherits from JavaNonConcurrentPriorityQueue 513s 513s Concurrent::Concern::Obligation 513s unscheduled 513s it should behave like incomplete 513s should be not completed 513s should be incomplete 513s #value 513s should return immediately if timeout is zero 513s should block on the event if timeout is not set 513s should block on the event if timeout is not zero 513s #value! 513s should return immediately if timeout is zero 513s should block on the event if timeout is not set 513s should block on the event if timeout is not zero 513s #no_error! 513s should return immediately if timeout is zero 513s should block on the event if timeout is not set 513s should block on the event if timeout is not zero 513s pending 513s it should behave like incomplete 513s should be not completed 513s should be incomplete 513s #value 513s should return immediately if timeout is zero 513s should block on the event if timeout is not set 513s should block on the event if timeout is not zero 513s #value! 513s should return immediately if timeout is zero 513s should block on the event if timeout is not set 513s should block on the event if timeout is not zero 513s #no_error! 513s should return immediately if timeout is zero 513s should block on the event if timeout is not set 513s should block on the event if timeout is not zero 513s fulfilled 513s should be completed 513s should be not incomplete 513s #value 513s should return immediately if timeout is zero 513s should return immediately if timeout is not set 513s should return immediately if timeout is not zero 513s #value! 513s should return immediately if timeout is zero 513s should return immediately if timeout is not set 513s should return immediately if timeout is not zero 513s #no_error! 513s should return immediately if timeout is zero 513s should return immediately if timeout is not set 513s should return immediately if timeout is not zero 513s rejected 513s should be completed 513s should be not incomplete 513s #value 513s should return immediately if timeout is zero 513s should return immediately if timeout is not set 513s should return immediately if timeout is not zero 513s #value! 513s should return immediately if timeout is zero 513s should return immediately if timeout is not set 513s should return immediately if timeout is not zero 513s #no_error! 513s should return immediately if timeout is zero 513s should return immediately if timeout is not set 513s should return immediately if timeout is not zero 513s #compare_and_set_state 513s unexpected state 513s should return false if state is not the expected one 513s should not change the state if current is not the expected one 513s expected state 513s should return true if state is the expected one 513s should not change the state if current is not the expected one 513s #if_state 513s should raise without block 513s should return false if state is not expected 513s should the block value if state is expected 513s should execute the block within the mutex 513s #get_arguments_from 513s returns an empty array when opts is not given 513s returns an empty array when opts is an empty hash 513s returns an empty array when there is no :args key 513s returns an empty array when the :args key has a nil value 513s returns a one-element array when the :args key has a non-array value 513s returns an array when when the :args key has an array value 513s returns the given array when the :args key has a complex array value 513s 513s Concurrent::Concern::Observable 513s does not initialize set by by default 513s uses the given observer set 513s delegates #add_observer 513s delegates #with_observer 513s delegates #delete_observer 513s delegates #delete_observers 513s delegates #count_observers 513s 513s configuration 513s global executors 513s creates a global timer set 513s creates a global fast executor 513s creates a global io executor 513s 513s dataflow 513s raises an exception when no block given 513s #dataflow uses the global fast executor 513s #dataflow_with uses the given executor 513s #dataflow_with raises an exception when no executor given 513s accepts zero or more dependencies 513s accepts uncompleted dependencies 513s accepts completed dependencies 513s raises an exception if any dependencies are not IVars 513s doesn't raise exceptions from dependencies, unless called with ! 513s returns a Future 513s does not schedule the Future 513s if no dependencies are completed 513s if one dependency of two is completed 513s schedules the Future when all dependencies are available 513s if there is just one 513s if there is more than one 513s counts already executed dependencies 513s if there is just one 513s if there is more than one 513s passes the values of dependencies into the block 513s if there is just one 513s if there is more than one 513s module function 513s can be called as Concurrent.dataflow and Concurrent.dataflow_with 513s 513s Concurrent::Delay 513s behavior 513s it should behave like dereferenceable 513s defaults :dup_on_deref to false 513s calls #dup when the :dup_on_deref option is true 513s defaults :freeze_on_deref to false 513s calls #freeze when the :freeze_on_deref option is true 513s defaults :copy_on_deref to nil 513s calls the block when the :copy_on_deref option is passed a proc 513s calls the :copy block first followed by #dup followed by #freeze 513s does not call #dup when #dup_on_deref is set and the value is nil 513s does not call #freeze when #freeze_on_deref is set and the value is nil 513s does not call the #copy_on_deref block when the value is nil 513s supports dereference flags with observers 513s it should behave like obligation 513s #state 513s is :pending when first created 513s is :fulfilled when the handler completes 513s is :rejected when the handler raises an exception 513s #value 513s returns nil when reaching the optional timeout value 513s returns immediately when timeout is zero 513s returns the value when fulfilled before timeout 513s returns nil when timeout reached 513s is nil when :pending 513s blocks the caller when :pending and timeout is nil 513s is nil when :rejected 513s is set to the return value of the block when :fulfilled 513s #reason 513s is nil when :pending 513s is nil when :fulfilled 513s is set to error object of the exception when :rejected 513s #initialize 513s sets the state to :pending 513s raises an exception when no block given 513s #reconfigure 513s returns value of block used in reconfiguration 513s returns false when process completed? 513s #value 513s does not call the block before #value is called 513s calls the block when #value is called 513s only calls the block once no matter how often #value is called 513s raises when called recursively 513s can be called twice 513s 513s Concurrent 513s Promises::Channel 513s #capacity 513s #to_s 513s #(try_)push(_op) 513s #(try_)pop(_op) 513s #(try_)pop(_op)_matching 513s #(try_)select(_op) 513s exchanging 513s integration 513s 513s Concurrent 513s ErlangActor 513s on thread 513s is expected to eq [:bad_message, -1] 513s behaves like erlang actor 513s run to termination 513s run to termination with arguments 513s #receive 513s pid has name 513s receives message 513s receives message with matchers 513s spawn(link: true) 513s termination 513s monitoring 513s (de)monitor 513s demonitor 513s demonitor should leave the down message in the inbox if it's already there 513s notifications 1 513s notifications 2 513s linking 513s links 513s unlinks 513s link dead 514s link dead when trapping 514s exit/1 when linked 514s 1 514s 2 514s 3 514s 4 514s 5 514s 6 514s 7 514s 8 514s 9 514s exit/2 when linked 514s 1 514s 2 514s 3 514s 4 514s 5 514s 6 514s 7 514s 8 514s 9 514s 10 514s 11 514s 12 514s 13 514s asking 514s replies 514s timing out (PENDING: flaky on truffleruby and jruby) 514s rejects on no reply 514s on pool 514s receives message repeatedly with keep 514s class defined 514s behaves like erlang actor 514s run to termination 514s run to termination with arguments 514s #receive 514s pid has name 514s receives message 514s receives message with matchers 514s spawn(link: true) 514s termination 514s monitoring 514s (de)monitor 514s demonitor 514s demonitor should leave the down message in the inbox if it's already there 514s notifications 1 514s notifications 2 514s linking 514s links 514s unlinks 514s link dead 514s link dead when trapping 514s exit/1 when linked 514s 1 514s 2 514s 3 514s 4 514s 5 514s 6 514s 7 514s 8 514s 9 514s exit/2 when linked 514s 1 514s 2 514s 3 514s 4 514s 5 514s 6 514s 7 514s 8 514s 9 514s 10 514s 11 514s 12 514s 13 514s asking 514s replies 514s timing out (PENDING: flaky on truffleruby and jruby) 514s rejects on no reply 514s 514s Concurrent::Edge::LockFreeLinkedSet 514s .new 514s when passed default val 514s uses the val arg as data for each node 514s #add 514s appends to the linked set 514s in a multi-threaded environment 514s adds the items to the set 514s #<< 514s appends to the linked set and returns self 514s returns self regardless of whether it was logically added 514s #contains? 514s when checking if set includes a value 514s returns true if a value exists 514s compares object using Object#hash 514s returns false for values not in the set 514s when set is empty 514s does not break 514s when set is long 515s does not break 515s in a multi-threaded environment 515s correctly check that the set contains the item 515s #remove 515s when item is inside of set 515s the item is no longer visible to the user 515s allows for the item to be added despite being physically present 515s in a multi-threaded environment 515s adds the items to the set 515s does not recognize the existence of the item when removed 515s when item is not inside of set 515s does not remove to value 515s the set remains intact 515s when the set is empty 515s remove does not break 515s when the set is large 515s remove successfully removes the node 515s 515s Concurrent::RubyExchanger 515s behaves like exchanger 515s #exchange 515s behaves like exchanger method with indefinite timeout 515s blocks indefinitely 515s receives the other value 515s can be reused 515s behaves like exchanger method with finite timeout 515s blocks until timeout 515s receives the other value 515s can be reused 515s behaves like exchanger method cross-thread interactions 515s when first, waits for a second 516s allows multiple firsts to cancel if necessary 516s #exchange! 516s behaves like exchanger method with indefinite timeout 516s blocks indefinitely 516s receives the other value 516s can be reused 516s behaves like exchanger method with finite timeout 516s blocks until timeout 516s receives the other value 516s can be reused 516s behaves like exchanger method cross-thread interactions 516s when first, waits for a second 516s allows multiple firsts to cancel if necessary 516s #try_exchange 516s behaves like exchanger method with indefinite timeout 516s blocks indefinitely 516s receives the other value 516s can be reused 516s behaves like exchanger method with finite timeout 516s blocks until timeout 516s receives the other value 516s can be reused 516s behaves like exchanger method cross-thread interactions 516s when first, waits for a second 517s allows multiple firsts to cancel if necessary 517s 517s Concurrent::JavaExchanger 517s behaves like exchanger 517s #exchange 517s behaves like exchanger method with indefinite timeout 517s blocks indefinitely 517s receives the other value 517s can be reused 517s behaves like exchanger method with finite timeout 517s blocks until timeout 517s receives the other value 517s can be reused 517s behaves like exchanger method cross-thread interactions 517s when first, waits for a second 517s allows multiple firsts to cancel if necessary 517s #exchange! 517s behaves like exchanger method with indefinite timeout 517s blocks indefinitely 517s receives the other value 517s can be reused 517s behaves like exchanger method with finite timeout 518s blocks until timeout 518s receives the other value 518s can be reused 518s behaves like exchanger method cross-thread interactions 518s when first, waits for a second 518s allows multiple firsts to cancel if necessary 518s #try_exchange 518s behaves like exchanger method with indefinite timeout 518s blocks indefinitely 518s receives the other value 518s can be reused 518s behaves like exchanger method with finite timeout 518s blocks until timeout 518s receives the other value 518s can be reused 518s behaves like exchanger method cross-thread interactions 518s when first, waits for a second 519s allows multiple firsts to cancel if necessary 519s 519s Concurrent::Exchanger 519s class hierarchy 519s inherits from JavaExchanger 519s 519s Concurrent::CachedThreadPool 519s it should behave like thread_pool 519s it should behave like executor_service 519s it should behave like global_thread_pool 519s #post 519s raises an exception if no block is given 519s returns true when the block is added to the queue 519s calls the block with the given arguments 519s aliases #<< 519s #post 520s rejects the block while shutting down 520s rejects the block once shutdown 520s auto terminate 522s does not stop shutdown 522s #running? 522s returns true when the thread pool is running 522s returns false when the thread pool is shutting down 522s returns false when the thread pool is shutdown 522s returns false when the thread pool is killed 522s #shuttingdown? 522s returns false when the thread pool is running 523s returns true when the thread pool is shutting down 523s returns false when the thread pool is shutdown 523s #shutdown? 523s returns false when the thread pool is running 523s returns false when the thread pool is shutting down 523s returns true when the thread pool is shutdown 523s #shutdown 524s stops accepting new tasks 524s allows in-progress tasks to complete 524s allows pending tasks to complete 524s #shutdown followed by #wait_for_termination 524s allows in-progress tasks to complete 524s allows pending tasks to complete 524s stops accepting/running new tasks 524s #kill 524s stops accepting new tasks 525s rejects all pending tasks 525s #wait_for_termination 525s immediately returns true when no operations are pending 525s returns true after shutdown has complete 525s returns true when shutdown successfully completes before timeout 525s returns false when shutdown fails to complete before timeout 526s waits forever when no timeout value is given 526s #auto_terminate? 526s returns true by default 526s returns true when :enable_at_exit_handler is true 526s returns false when :enable_at_exit_handler is false 526s #length 526s returns zero on creation 526s returns zero once shut down 526s #scheduled_task_count 526s returns zero on creation 526s returns the approximate number of tasks that have been post thus far 526s returns the approximate number of tasks that were post 526s #completed_task_count 526s returns zero on creation 526s #shutdown 527s allows threads to exit normally 527s #initialize 527s sets :max_length to DEFAULT_MAX_POOL_SIZE 527s sets :min_length to DEFAULT_MIN_POOL_SIZE 527s sets :idletime to DEFAULT_THREAD_IDLETIMEOUT 527s sets :max_queue to DEFAULT_MAX_QUEUE_SIZE 527s #min_length 527s returns zero on creation 527s returns zero while running 527s returns zero once shutdown 527s #max_length 527s returns :max_length on creation 527s returns :max_length while running 527s returns :max_length once shutdown 527s #largest_length 527s returns zero on creation 527s returns a non-zero number once tasks have been received 527s returns a non-zero number after shutdown if tasks have been received 527s #idletime 527s returns the thread idletime 527s runtime-specific implementation 527s #initialize 527s sets :fallback_policy correctly 527s defaults :fallback_policy to :abort 527s raises an exception if given an invalid :fallback_policy 527s stress 528s is expected to be <= 200 528s is expected to be <= 4 528s 528s Concurrent::FixedThreadPool 528s it should behave like thread_pool 528s it should behave like executor_service 528s it should behave like global_thread_pool 528s #post 528s raises an exception if no block is given 528s returns true when the block is added to the queue 528s calls the block with the given arguments 528s aliases #<< 528s #post 529s rejects the block while shutting down 529s rejects the block once shutdown 529s auto terminate 531s does not stop shutdown 531s #running? 531s returns true when the thread pool is running 532s returns false when the thread pool is shutting down 532s returns false when the thread pool is shutdown 532s returns false when the thread pool is killed 532s #shuttingdown? 532s returns false when the thread pool is running 532s returns true when the thread pool is shutting down 532s returns false when the thread pool is shutdown 532s #shutdown? 532s returns false when the thread pool is running 533s returns false when the thread pool is shutting down 533s returns true when the thread pool is shutdown 533s #shutdown 533s stops accepting new tasks 533s allows in-progress tasks to complete 533s allows pending tasks to complete 533s #shutdown followed by #wait_for_termination 533s allows in-progress tasks to complete 534s allows pending tasks to complete 534s stops accepting/running new tasks 534s #kill 534s stops accepting new tasks 534s rejects all pending tasks 534s #wait_for_termination 534s immediately returns true when no operations are pending 534s returns true after shutdown has complete 535s returns true when shutdown successfully completes before timeout 535s returns false when shutdown fails to complete before timeout 535s waits forever when no timeout value is given 535s #auto_terminate? 535s returns true by default 535s returns true when :enable_at_exit_handler is true 535s returns false when :enable_at_exit_handler is false 535s #length 535s returns zero on creation 535s returns zero once shut down 535s #scheduled_task_count 535s returns zero on creation 535s returns the approximate number of tasks that have been post thus far 535s returns the approximate number of tasks that were post 535s #completed_task_count 535s returns zero on creation 535s #shutdown 537s allows threads to exit normally 537s #initialize default values 537s defaults :min_length correctly 537s defaults :max_length correctly 537s defaults :fallback_policy to :abort 537s defaults :idletime correctly 537s defaults default :max_queue to zero 537s #initialize explicit values 537s raises an exception when the pool length is less than one 537s sets explicit :max_queue correctly 537s correctly sets valid :fallback_policy 537s correctly sets valid :idletime 537s raises an exception if given an invalid :fallback_policy 537s #min_length 537s returns :num_threads on creation 537s returns :num_threads while running 537s returns :num_threads once shutdown 537s #max_length 537s returns :num_threads on creation 537s returns :num_threads while running 537s returns :num_threads once shutdown 537s #length 537s returns :num_threads while running 537s #largest_length 537s returns zero on creation 537s returns :num_threads while running 537s returns :num_threads once shutdown 537s #kill 537s attempts to kill all in-progress tasks 537s worker creation and caching 537s never creates more than :num_threads threads 537s fallback policy 537s raises an error when overflow on abort 538s discards when fallback_policy is :discard 538s uses the calling thread for overflow under caller_runs 538s runtime-specific implementation 538s sets :fallback_policy correctly 538s 538s Concurrent::ImmediateExecutor 538s it should behave like executor_service 538s it should behave like global_thread_pool 538s #post 538s raises an exception if no block is given 538s returns true when the block is added to the queue 538s calls the block with the given arguments 538s aliases #<< 538s #post 539s rejects the block while shutting down 539s rejects the block once shutdown 539s auto terminate 542s does not stop shutdown 542s #running? 542s returns true when the thread pool is running 542s returns false when the thread pool is shutting down 542s returns false when the thread pool is shutdown 542s returns false when the thread pool is killed 542s #shuttingdown? 542s returns false when the thread pool is running 542s returns true when the thread pool is shutting down (PENDING: will never be in shuttingdown? state) 542s returns false when the thread pool is shutdown 542s #shutdown? 542s returns false when the thread pool is running 542s returns false when the thread pool is shutting down (PENDING: will never be in shuttingdown? state) 542s returns true when the thread pool is shutdown 542s #shutdown 543s stops accepting new tasks 543s allows in-progress tasks to complete 543s allows pending tasks to complete 543s #shutdown followed by #wait_for_termination 543s allows in-progress tasks to complete 544s allows pending tasks to complete 544s stops accepting/running new tasks 544s #kill 544s stops accepting new tasks 545s rejects all pending tasks 545s #wait_for_termination 545s immediately returns true when no operations are pending 545s returns true after shutdown has complete 546s returns true when shutdown successfully completes before timeout 546s returns false when shutdown fails to complete before timeout 547s waits forever when no timeout value is given 547s 547s Concurrent::IndirectImmediateExecutor 547s runs its tasks synchronously 547s runs the task on a separate thread 547s it should behave like executor_service 547s it should behave like global_thread_pool 547s #post 547s raises an exception if no block is given 547s returns true when the block is added to the queue 547s calls the block with the given arguments 547s aliases #<< 547s #post 548s rejects the block while shutting down 548s rejects the block once shutdown 548s auto terminate 550s does not stop shutdown 550s #running? 550s returns true when the thread pool is running 551s returns false when the thread pool is shutting down 551s returns false when the thread pool is shutdown 551s returns false when the thread pool is killed 551s #shuttingdown? 551s returns false when the thread pool is running 551s returns true when the thread pool is shutting down (PENDING: will never be in shuttingdown? state) 551s returns false when the thread pool is shutdown 551s #shutdown? 551s returns false when the thread pool is running 551s returns false when the thread pool is shutting down (PENDING: will never be in shuttingdown? state) 551s returns true when the thread pool is shutdown 551s #shutdown 551s stops accepting new tasks 551s allows in-progress tasks to complete 551s allows pending tasks to complete 551s #shutdown followed by #wait_for_termination 552s allows in-progress tasks to complete 552s allows pending tasks to complete 552s stops accepting/running new tasks 552s #kill 552s stops accepting new tasks 554s rejects all pending tasks 554s #wait_for_termination 554s immediately returns true when no operations are pending 554s returns true after shutdown has complete 554s returns true when shutdown successfully completes before timeout 554s returns false when shutdown fails to complete before timeout 555s waits forever when no timeout value is given 555s 555s Concurrent::JavaSingleThreadExecutor 555s it should behave like executor_service 555s it should behave like global_thread_pool 555s #post 555s raises an exception if no block is given 555s returns true when the block is added to the queue 555s calls the block with the given arguments 555s aliases #<< 555s #post 556s rejects the block while shutting down 556s rejects the block once shutdown 556s auto terminate 558s does not stop shutdown 558s #running? 558s returns true when the thread pool is running 559s returns false when the thread pool is shutting down 559s returns false when the thread pool is shutdown 559s returns false when the thread pool is killed 559s #shuttingdown? 559s returns false when the thread pool is running 559s returns true when the thread pool is shutting down 559s returns false when the thread pool is shutdown 559s #shutdown? 559s returns false when the thread pool is running 560s returns false when the thread pool is shutting down 560s returns true when the thread pool is shutdown 560s #shutdown 560s stops accepting new tasks 560s allows in-progress tasks to complete 561s allows pending tasks to complete 561s #shutdown followed by #wait_for_termination 561s allows in-progress tasks to complete 561s allows pending tasks to complete 562s stops accepting/running new tasks 562s #kill 562s stops accepting new tasks 562s rejects all pending tasks 562s #wait_for_termination 562s immediately returns true when no operations are pending 562s returns true after shutdown has complete 563s returns true when shutdown successfully completes before timeout 563s returns false when shutdown fails to complete before timeout 563s waits forever when no timeout value is given 563s 563s Concurrent::JavaThreadPoolExecutor 563s it should behave like thread_pool 563s it should behave like executor_service 563s it should behave like global_thread_pool 563s #post 563s raises an exception if no block is given 563s returns true when the block is added to the queue 563s calls the block with the given arguments 563s aliases #<< 563s #post 564s rejects the block while shutting down 564s rejects the block once shutdown 564s auto terminate 567s does not stop shutdown 567s #running? 567s returns true when the thread pool is running 567s returns false when the thread pool is shutting down 567s returns false when the thread pool is shutdown 567s returns false when the thread pool is killed 567s #shuttingdown? 567s returns false when the thread pool is running 568s returns true when the thread pool is shutting down 568s returns false when the thread pool is shutdown 568s #shutdown? 568s returns false when the thread pool is running 568s returns false when the thread pool is shutting down 568s returns true when the thread pool is shutdown 568s #shutdown 568s stops accepting new tasks 568s allows in-progress tasks to complete 569s allows pending tasks to complete 569s #shutdown followed by #wait_for_termination 569s allows in-progress tasks to complete 569s allows pending tasks to complete 569s stops accepting/running new tasks 569s #kill 569s stops accepting new tasks 570s rejects all pending tasks 570s #wait_for_termination 570s immediately returns true when no operations are pending 570s returns true after shutdown has complete 570s returns true when shutdown successfully completes before timeout 570s returns false when shutdown fails to complete before timeout 571s waits forever when no timeout value is given 571s #auto_terminate? 571s returns true by default 571s returns true when :enable_at_exit_handler is true 571s returns false when :enable_at_exit_handler is false 571s #length 571s returns zero on creation 571s returns zero once shut down 571s #scheduled_task_count 571s returns zero on creation 571s returns the approximate number of tasks that have been post thus far 571s returns the approximate number of tasks that were post 571s #completed_task_count 571s returns zero on creation 571s #shutdown 572s allows threads to exit normally 572s it should behave like thread_pool_executor 572s #initialize defaults 572s defaults :min_length to DEFAULT_MIN_POOL_SIZE 572s defaults :max_length to DEFAULT_MAX_POOL_SIZE 572s defaults :idletime to DEFAULT_THREAD_IDLETIMEOUT 572s defaults :max_queue to DEFAULT_MAX_QUEUE_SIZE 572s defaults :fallback_policy to :abort 572s defaults :name to nil 572s #initialize explicit values 572s sets :min_threads 572s sets :max_threads 572s sets :idletime 572s doesn't allow max_threads < min_threads 572s accepts all valid fallback policies 572s raises an exception if :max_threads is less than zero 572s raises an exception if :min_threads is less than zero 572s raises an exception if :max_threads greater than the max allowable 572s raises an exception if :max_threads is less than :min_threads 572s raises an exception if given an invalid :fallback_policy 572s sets :name 572s #max_queue 572s returns the set value on creation 572s returns the set value when running 572s returns the set value after stopping 572s #synchronous 572s cannot be set unless `max_queue` is zero 572s executes fallback policy once max_threads has been reached 572s #queue_length 572s returns zero on creation 572s returns zero when there are no enqueued tasks 572s returns the size of the queue when tasks are enqueued 572s returns zero when stopped 572s can never be greater than :max_queue 572s #remaining_capacity 572s returns -1 when :max_queue is set to zero 572s returns :max_length on creation 572s returns :max_length when stopped 572s #active_count 572s returns the number of threads that are actively executing tasks. 572s #fallback_policy 572s :abort 572s #post raises an error when the queue is at capacity 572s #<< raises an error when the queue is at capacity 572s #post raises an error when the executor is shutting down 572s #<< raises an error when the executor is shutting down 572s a #post task is never executed when the queue is at capacity 572s a #<< task is never executed when the queue is at capacity 572s :discard 572s a #post task is never executed when the queue is at capacity 572s a #<< task is never executed when the queue is at capacity 572s a #post task is never executed when the executor is shutting down 572s a #<< task is never executed when the executor is shutting down 572s #post returns false when the executor is shutting down 572s :caller_runs 572s #post does not create any new threads when the queue is at capacity 573s #<< executes the task on the current thread when the queue is at capacity 573s #post executes the task on the current thread when the queue is at capacity 573s #post executes the task on the current thread when the executor is shutting down 573s #<< executes the task on the current thread when the executor is shutting down 573s #post does not block other jobs running on the worker threads 573s prune 573s is a no-op, pruning is handled by the JVM 573s #overload_policy 573s :abort maps to AbortPolicy 573s :discard maps to DiscardPolicy 573s :caller_runs maps to CallerRunsPolicy 573s 573s Concurrent::RubySingleThreadExecutor 573s it should behave like executor_service 573s it should behave like global_thread_pool 573s #post 573s raises an exception if no block is given 573s returns true when the block is added to the queue 573s calls the block with the given arguments 573s aliases #<< 573s #post 574s rejects the block while shutting down 574s rejects the block once shutdown 574s auto terminate 576s does not stop shutdown 576s #running? 576s returns true when the thread pool is running 577s returns false when the thread pool is shutting down 577s returns false when the thread pool is shutdown 577s returns false when the thread pool is killed 577s #shuttingdown? 577s returns false when the thread pool is running 577s returns true when the thread pool is shutting down 577s returns false when the thread pool is shutdown 577s #shutdown? 577s returns false when the thread pool is running 578s returns false when the thread pool is shutting down 578s returns true when the thread pool is shutdown 578s #shutdown 578s stops accepting new tasks 578s allows in-progress tasks to complete 578s allows pending tasks to complete 578s #shutdown followed by #wait_for_termination 578s allows in-progress tasks to complete 579s allows pending tasks to complete 579s stops accepting/running new tasks 579s #kill 579s stops accepting new tasks 580s rejects all pending tasks 580s #wait_for_termination 580s immediately returns true when no operations are pending 580s returns true after shutdown has complete 580s returns true when shutdown successfully completes before timeout 580s returns false when shutdown fails to complete before timeout 581s waits forever when no timeout value is given 581s 581s Concurrent::RubyThreadPoolExecutor 581s it should behave like thread_pool 581s it should behave like executor_service 581s it should behave like global_thread_pool 581s #post 581s raises an exception if no block is given 581s returns true when the block is added to the queue 581s calls the block with the given arguments 581s aliases #<< 581s #post 582s rejects the block while shutting down 582s rejects the block once shutdown 582s auto terminate 584s does not stop shutdown 584s #running? 584s returns true when the thread pool is running 585s returns false when the thread pool is shutting down 585s returns false when the thread pool is shutdown 585s returns false when the thread pool is killed 585s #shuttingdown? 585s returns false when the thread pool is running 585s returns true when the thread pool is shutting down 585s returns false when the thread pool is shutdown 585s #shutdown? 585s returns false when the thread pool is running 586s returns false when the thread pool is shutting down 586s returns true when the thread pool is shutdown 586s #shutdown 586s stops accepting new tasks 586s allows in-progress tasks to complete 586s allows pending tasks to complete 586s #shutdown followed by #wait_for_termination 586s allows in-progress tasks to complete 587s allows pending tasks to complete 587s stops accepting/running new tasks 587s #kill 587s stops accepting new tasks 587s rejects all pending tasks 587s #wait_for_termination 587s immediately returns true when no operations are pending 587s returns true after shutdown has complete 588s returns true when shutdown successfully completes before timeout 588s returns false when shutdown fails to complete before timeout 588s waits forever when no timeout value is given 588s #auto_terminate? 588s returns true by default 588s returns true when :enable_at_exit_handler is true 588s returns false when :enable_at_exit_handler is false 588s #length 588s returns zero on creation 588s returns zero once shut down 588s #scheduled_task_count 588s returns zero on creation 588s returns the approximate number of tasks that have been post thus far 588s returns the approximate number of tasks that were post 588s #completed_task_count 588s returns zero on creation 588s #shutdown 590s allows threads to exit normally 590s it should behave like thread_pool_executor 590s #initialize defaults 590s defaults :min_length to DEFAULT_MIN_POOL_SIZE 590s defaults :max_length to DEFAULT_MAX_POOL_SIZE 590s defaults :idletime to DEFAULT_THREAD_IDLETIMEOUT 590s defaults :max_queue to DEFAULT_MAX_QUEUE_SIZE 590s defaults :fallback_policy to :abort 590s defaults :name to nil 590s #initialize explicit values 590s sets :min_threads 590s sets :max_threads 590s sets :idletime 590s doesn't allow max_threads < min_threads 590s accepts all valid fallback policies 590s raises an exception if :max_threads is less than zero 590s raises an exception if :min_threads is less than zero 590s raises an exception if :max_threads greater than the max allowable 590s raises an exception if :max_threads is less than :min_threads 590s raises an exception if given an invalid :fallback_policy 590s sets :name 590s #max_queue 590s returns the set value on creation 590s returns the set value when running 590s returns the set value after stopping 590s #synchronous 590s cannot be set unless `max_queue` is zero 590s executes fallback policy once max_threads has been reached 590s #queue_length 590s returns zero on creation 590s returns zero when there are no enqueued tasks 590s returns the size of the queue when tasks are enqueued 590s returns zero when stopped 590s can never be greater than :max_queue 590s #remaining_capacity 590s returns -1 when :max_queue is set to zero 590s returns :max_length on creation 590s returns :max_length when stopped 590s #active_count 590s returns the number of threads that are actively executing tasks. 590s #fallback_policy 590s :abort 590s #post raises an error when the queue is at capacity 590s #<< raises an error when the queue is at capacity 590s #post raises an error when the executor is shutting down 590s #<< raises an error when the executor is shutting down 590s a #post task is never executed when the queue is at capacity 590s a #<< task is never executed when the queue is at capacity 590s :discard 590s a #post task is never executed when the queue is at capacity 590s a #<< task is never executed when the queue is at capacity 590s a #post task is never executed when the executor is shutting down 590s a #<< task is never executed when the executor is shutting down 590s #post returns false when the executor is shutting down 590s :caller_runs 590s #post does not create any new threads when the queue is at capacity 590s #<< executes the task on the current thread when the queue is at capacity 590s #post executes the task on the current thread when the queue is at capacity 590s #post executes the task on the current thread when the executor is shutting down 590s #<< executes the task on the current thread when the executor is shutting down 590s #post does not block other jobs running on the worker threads 590s #remaining_capacity 590s returns :max_length when no tasks are enqueued 590s returns the remaining capacity when tasks are enqueued 590s threads naming 590s without pool name 590s sets counted name 590s with pool name 590s sets counted name 590s 590s Concurrent::SafeTaskExecutor 590s #execute 590s happy execution 590s should return success 590s should return task value 590s should return a nil reason 590s passes all arguments to #execute to the task 590s protectes #execute with a mutex 590s failing execution 590s should return false success 590s should return a nil value 590s should return the reason 590s rescues Exception when :rescue_exception is true 590s rescues StandardError when :rescue_exception is false 590s rescues StandardError by default 590s 590s Concurrent::SerializedExecutionDelegator 590s it should behave like executor_service 590s it should behave like global_thread_pool 590s #post 590s raises an exception if no block is given 590s returns true when the block is added to the queue 590s calls the block with the given arguments 590s aliases #<< 590s #post 591s rejects the block while shutting down 591s rejects the block once shutdown 591s auto terminate 593s does not stop shutdown 593s #running? 593s returns true when the thread pool is running 594s returns false when the thread pool is shutting down 594s returns false when the thread pool is shutdown 594s returns false when the thread pool is killed 594s #shuttingdown? 594s returns false when the thread pool is running 594s returns true when the thread pool is shutting down (PENDING: will never be in shuttingdown? state) 594s returns false when the thread pool is shutdown 594s #shutdown? 594s returns false when the thread pool is running 594s returns false when the thread pool is shutting down (PENDING: will never be in shuttingdown? state) 594s returns true when the thread pool is shutdown 594s #shutdown 594s stops accepting new tasks 594s allows in-progress tasks to complete 595s allows pending tasks to complete 595s #shutdown followed by #wait_for_termination 595s allows in-progress tasks to complete 595s allows pending tasks to complete 595s stops accepting/running new tasks 595s #kill 596s stops accepting new tasks 597s rejects all pending tasks 597s #wait_for_termination 597s immediately returns true when no operations are pending 597s returns true after shutdown has complete 598s returns true when shutdown successfully completes before timeout 598s returns false when shutdown fails to complete before timeout 598s waits forever when no timeout value is given 598s 598s Concurrent::SimpleExecutorService 598s it should behave like executor_service 598s it should behave like global_thread_pool 598s #post 598s raises an exception if no block is given 598s returns true when the block is added to the queue 598s calls the block with the given arguments 598s aliases #<< 598s #post 599s rejects the block while shutting down 599s rejects the block once shutdown 599s auto terminate 602s does not stop shutdown 602s #running? 602s returns true when the thread pool is running 602s returns false when the thread pool is shutting down 602s returns false when the thread pool is shutdown 602s returns false when the thread pool is killed 602s #shuttingdown? 602s returns false when the thread pool is running 603s returns true when the thread pool is shutting down 603s returns false when the thread pool is shutdown 603s #shutdown? 603s returns false when the thread pool is running 603s returns false when the thread pool is shutting down 603s returns true when the thread pool is shutdown 603s #shutdown 603s stops accepting new tasks 604s allows in-progress tasks to complete 604s allows pending tasks to complete 604s #shutdown followed by #wait_for_termination 604s allows in-progress tasks to complete 604s allows pending tasks to complete 604s stops accepting/running new tasks 604s #kill 604s stops accepting new tasks 604s rejects all pending tasks 604s #wait_for_termination 604s immediately returns true when no operations are pending 605s returns true after shutdown has complete 605s returns true when shutdown successfully completes before timeout 605s returns false when shutdown fails to complete before timeout 606s waits forever when no timeout value is given 606s #post 606s creates a new thread for a call without arguments 606s executes a call without arguments 606s creates a new thread for a call with arguments 606s executes a call with one argument 606s executes a call with multiple arguments 606s aliases #<< 606s SimpleExecutorService.post 606s creates a new thread for a call without arguments 606s executes a call without arguments 606s creates a new thread for a call with arguments 606s executes a call with one argument 606s executes a call with multiple arguments 606s aliases #<< 606s 606s Concurrent::SingleThreadExecutor 606s inherits from JavaSingleThreadExecutor 606s 606s Concurrent::ThreadPoolExecutor 606s inherits from JavaThreadPoolExecutor 606s 606s Concurrent::TimerSet 606s construction 606s uses the executor given at construction 606s uses the global io executor be default 606s #post 606s raises an exception when given a task with a delay less than zero 606s raises an exception when no block given 606s immediately posts a task when the delay is zero 606s execution 606s executes a given task when given an interval in seconds 606s returns an IVar when posting a task 606s executes a given task when given an interval in seconds, even if longer tasks have been scheduled 606s passes all arguments to the task on execution 606s does not execute tasks early 606s executes all tasks scheduled for the same time 606s executes tasks with different times in schedule order 607s executes tasks with different times in schedule time 607s continues to execute new tasks even after the queue is emptied 607s safely handles an executor raising RejectedExecutionError 607s resolution 607s sets the IVar value on success when delay is zero 607s sets the IVar value on success when given a delay 607s sets the IVar reason on failure when delay is zero 608s sets the IVar reason on failure when given a delay 608s task cancellation 608s fails to cancel the task once processing has begun 608s fails to cancel the task once processing is complete 608s cancels a pending task 608s returns false when not running 608s task rescheduling 608s raises an exception when given an invalid time 608s does not change the current schedule when given an invalid time 608s reschdules a pending and unpost task when given a valid time 608s returns false once the task has been post to the executor 608s returns false once the task is processing 608s returns false once the task has is complete 608s returns false when not running 608s task resetting 608s calls #reschedule with the original delay 608s termination 608s cancels all pending tasks on #shutdown 608s cancels all pending tasks on #kill 608s stops the monitor thread on #shutdown 608s kills the monitor thread on #kill 608s rejects tasks once shutdown 608s rejects tasks once killed 608s #wait_for_termination returns true if shutdown completes before timeout 608s #wait_for_termination returns false on timeout 608s state 608s is running? when first created 608s is running? after tasks have been post 608s is shutdown? after shutdown completes 608s is shutdown? after being killed 608s 608s Concurrent::WrappingExecutor 608s is expected to be a kind of Concurrent::WrappingExecutor 608s is expected to respond to #post 608s is expected to respond to #can_overflow? 608s is expected to respond to #serialized? 608s #post 608s with passthrough wrapper 608s is expected to equal # 608s with wrapper modifying args 608s is expected to equal # 608s with wrapper modifying task 608s is expected to equal # 608s 608s Concurrent::Future 608s it should behave like ivar 608s it should behave like obligation 608s #state 608s is :pending when first created 608s is :fulfilled when the handler completes 608s is :rejected when the handler raises an exception 608s #value 608s returns nil when reaching the optional timeout value 608s returns immediately when timeout is zero 613s returns the value when fulfilled before timeout 613s returns nil when timeout reached 613s is nil when :pending 618s blocks the caller when :pending and timeout is nil 618s is nil when :rejected 618s is set to the return value of the block when :fulfilled 618s #reason 618s is nil when :pending 618s is nil when :fulfilled 618s is set to error object of the exception when :rejected 618s it should behave like dereferenceable 619s defaults :dup_on_deref to false 619s calls #dup when the :dup_on_deref option is true 619s defaults :freeze_on_deref to false 619s calls #freeze when the :freeze_on_deref option is true 620s defaults :copy_on_deref to nil 620s calls the block when the :copy_on_deref option is passed a proc 620s calls the :copy block first followed by #dup followed by #freeze 620s does not call #dup when #dup_on_deref is set and the value is nil 620s does not call #freeze when #freeze_on_deref is set and the value is nil 620s does not call the #copy_on_deref block when the value is nil 620s supports dereference flags with observers 620s it should behave like observable 620s #add_observer 620s adds an observer if called before first notification 620s adds an observer with :func if called before first notification 620s creates an observer from a block if called before first notification 620s raises an exception if not given an observer or a block 620s raises an exception when given both an observer and a block 620s #delete_observer 620s deletes the given observer if called before first notification 620s returns the removed observer if found in the observer set 620s returns the given observer even when not found in the observer set 620s #delete_observers 620s deletes all observers when called before first notification 620s returns self 620s #count_observers 620s returns zero for a new observable object 620s returns a count of registered observers if called before first notification 620s returns zero after #delete_observers has been called 620s first notification 620s calls the #update method on all observers without a specified :func 621s calls the appropriate function on all observers which specified a :func 621s calls the proc for all observers added as a block 622s does not notify any observers removed with #delete_observer 623s does not notify any observers after #delete_observers called 623s initialization 623s sets the state to incomplete 623s #set 623s sets the state to be fulfilled 623s sets the value 623s raises an exception if set more than once 623s returns self 623s fulfils when given a block which executes successfully 623s rejects when given a block which raises an exception 623s raises an exception when given a value and a block 623s raises an exception when given neither a value nor a block 623s #fail 623s sets the state to be rejected 623s sets the value to be nil 623s sets the reason to the given exception 623s raises an exception if set more than once 623s defaults the reason to a StandardError 623s returns self 623s #try_set 623s when unset 623s assigns the value 623s assigns the block result 623s returns true 623s when fulfilled 623s does not assign the value 623s does not assign the block result 623s returns false 623s when rejected 623s does not assign the value 623s does not assign the block result 623s has a nil value 623s returns false 623s it should behave like thread_arguments 623s passes an empty array when opts is not given 623s passes an empty array when opts is an empty hash 623s passes an empty array when there is no :args key 623s passes an empty array when the :args key has a nil value 623s passes a one-element array when the :args key has a non-array value 623s passes an array when when the :args key has an array value 623s passes the given array when the :args key has a complex array value 623s allows the given arguments array to be dereferenced 623s #initialize 623s sets the state to :unscheduled 623s raises an exception when no block given 623s uses the executor given with the :executor option 623s uses the global io executor by default 623s instance #execute 623s does nothing unless the state is :unscheduled 623s posts the block given on construction 623s sets the state to :pending 623s returns self 623s class #execute 623s creates a new Future 623s passes the block to the new Future 623s calls #execute on the new Future 623s fulfillment 623s sets the state to :processing while the task is executing 623s passes all arguments to handler 623s sets the value to the result of the handler 623s sets the state to :fulfilled when the block completes 623s sets the value to nil when the handler raises an exception 623s sets the value to nil when the handler raises Exception 623s sets the reason to the Exception instance when the handler raises Exception 623s sets the state to :rejected when the handler raises an exception 623s aliases 623s aliases #realized? for #fulfilled? 623s aliases #deref for #value 623s cancellation 623s #cancel 623s fails to cancel the task once processing has begun 623s fails to cancel the task once processing is complete 623s cancels a pending task 623s #wait_or_cancel 623s returns true if the operation completes before timeout 623s cancels the task on timeout 623s observation 623s notifies all observers on fulfillment 623s notifies all observers on rejection 623s notifies an observer added after fulfillment 623s notifies an observer added after rejection 623s does not notify existing observers when a new observer added after fulfillment 623s does not notify existing observers when a new observer added after rejection 623s deadlock avoidance 623s should notify observers outside mutex lock 623s should notify a new observer added after fulfillment outside lock 623s 623s Concurrent::Hash 623s .[] 623s when initializing with no arguments 623s is expected to be empty 623s when initializing with an even number of arguments 623s creates a hash using the odd position arguments as keys and even position arguments as values 623s when initializing with an array of pairs 623s creates a hash using each pair as a (key, value) pair 623s when initializing with another hash as an argument 623s creates a new hash 623s creates a hash with the same contents as the other hash 623s creates a hash with the results of calling #to_hash on the other array 623s .new 623s when initializing with no arguments 623s is expected to be empty 623s when initialized with a default object 623s uses the default object for non-existing keys 623s when initialized with a block 623s calls the block for non-existing keys 623s returns the results of calling the block for non-existing key 623s concurrency 623s is expected to be empty 623s 623s Concurrent::ImmutableStruct 623s it should behave like struct 623s definition 623s registers the class when given a class name 623s registers the class when given a class name which is defined in the ancestors 623s creates an anonymous class when given at least one member 623s raises an exception when given an invalid class name 623s defines a getter for each member 623s raises an exception when given no members 623s raise an exception when given an invalid member 623s evalues a given block against the new class 623s construction 623s sets all absent members to nil 623s sets all given members in order 623s raises an exception when extra members are given 623s properties 623s #length 623s returns the number of struct members 623s #members 623s returns the struct members as an array of symbols 623s returns a different object than the array passed at definition 623s #size 623s returns the number of struct members 623s #values 623s returns the values of the struct as an array in order 623s #values_at 623s returns the value at the given offset 623s returns the values at multiple given offsets 623s returns values at offsets in a given range 623s returns values for multiple ranges 623s returns values for ranges and offsets 623s accessors 623s #[member] 623s retrieves the value when given a valid symbol member 623s retrieves the value when given a valid string member 623s raises an exception when given a non-existent symbol member 623s raises an exception when given a non-existent string member 623s #[index] 623s retrieves the value when given a valid index 623s raises an exception when given an out-of-bound index 623s comparison 623s #== 623s returns true if other has same struct subclass and equal values 623s returns false if other has different struct subclass 623s returns false if other has different values 623s #!= 623s returns false if other has same struct subclass and equal values 623s returns true if other has different struct subclass 623s returns true if other has different values 623s enumeration 623s #each 623s yields the value of each struct member in order 623s returns an enumerator when no block is given 623s #each_pair 623s yields the name and value of each struct member in order 623s returns an enumerator when no block is given 623s #select 623s yields each value 623s returns an Array with the values from for which the block returns true 623s returns an enumerator when no block is given 623s conversion 623s #to_s 623s includes the name of the class when registered 623s includes the names of all members 623s includes all values 623s returns the same string as #inspect 623s #to_a 623s returns the to_a for this struct as an array 623s #to_h 623s returns a Hash containing the names and values in order 623s copy 623s #dup 623s shallowly duplicates all members along with the struct 623s discards frozen state of the struct 623s retains frozen state of members 623s discards singleton class 623s copies the singleton class of members 623s #clone 623s shallowly clones all members along with the struct 623s retains frozen state 623s copies the singleton class 623s copies the singleton class of members 623s it should behave like mergeable_struct 623s #merge 623s updates all members with the new values from a given hash 623s calls the given block for each key in `other` 623s retains the value for all members not without values in the given hash 623s raises an exception when given a hash with members not in the struct 623s returns a new object 623s 623s Concurrent::IVar 623s it should behave like ivar 623s it should behave like obligation 623s #state 623s is :pending when first created 623s is :fulfilled when the handler completes 623s is :rejected when the handler raises an exception 623s #value 623s returns nil when reaching the optional timeout value 623s returns immediately when timeout is zero 624s returns the value when fulfilled before timeout 624s returns nil when timeout reached 624s is nil when :pending 624s blocks the caller when :pending and timeout is nil 624s is nil when :rejected 624s is set to the return value of the block when :fulfilled 624s #reason 624s is nil when :pending 624s is nil when :fulfilled 624s is set to error object of the exception when :rejected 624s it should behave like dereferenceable 624s defaults :dup_on_deref to false 624s calls #dup when the :dup_on_deref option is true 624s defaults :freeze_on_deref to false 624s calls #freeze when the :freeze_on_deref option is true 624s defaults :copy_on_deref to nil 624s calls the block when the :copy_on_deref option is passed a proc 624s calls the :copy block first followed by #dup followed by #freeze 624s does not call #dup when #dup_on_deref is set and the value is nil 624s does not call #freeze when #freeze_on_deref is set and the value is nil 624s does not call the #copy_on_deref block when the value is nil 624s supports dereference flags with observers 624s it should behave like observable 624s #add_observer 624s adds an observer if called before first notification 624s adds an observer with :func if called before first notification 624s creates an observer from a block if called before first notification 624s raises an exception if not given an observer or a block 624s raises an exception when given both an observer and a block 624s #delete_observer 624s deletes the given observer if called before first notification 624s returns the removed observer if found in the observer set 624s returns the given observer even when not found in the observer set 624s #delete_observers 624s deletes all observers when called before first notification 624s returns self 624s #count_observers 624s returns zero for a new observable object 624s returns a count of registered observers if called before first notification 624s returns zero after #delete_observers has been called 624s first notification 624s calls the #update method on all observers without a specified :func 624s calls the appropriate function on all observers which specified a :func 624s calls the proc for all observers added as a block 625s does not notify any observers removed with #delete_observer 626s does not notify any observers after #delete_observers called 626s initialization 626s sets the state to incomplete 626s #set 626s sets the state to be fulfilled 626s sets the value 626s raises an exception if set more than once 626s returns self 626s fulfils when given a block which executes successfully 626s rejects when given a block which raises an exception 626s raises an exception when given a value and a block 626s raises an exception when given neither a value nor a block 626s #fail 626s sets the state to be rejected 626s sets the value to be nil 626s sets the reason to the given exception 626s raises an exception if set more than once 626s defaults the reason to a StandardError 626s returns self 626s #try_set 626s when unset 626s assigns the value 626s assigns the block result 626s returns true 626s when fulfilled 626s does not assign the value 626s does not assign the block result 626s returns false 626s when rejected 626s does not assign the value 626s does not assign the block result 626s has a nil value 626s returns false 626s #initialize 626s does not have to set an initial value 626s does not set an initial value if you pass NULL 626s can set an initial value 626s can set an initial value with a block 626s raises an exception if given both a value and a block 626s observation 626s notifies all observers on #set 626s deadlock avoidance 626s should notify observers outside mutex lock 626s should notify a new observer added after fulfillment outside lock 626s 626s Concurrent::LazyRegister 626s example at ./spec/concurrent/lazy_register_spec.rb:6 (PENDING: Not yet implemented) 626s 626s Concurrent::Map 626s default_proc is called with the Concurrent::Map and the key 626s default_proc is called with the Concurrent::Map and the key after #dup 626s concurrency 626s retrieval 626s #put_if_absent 626s updates dont block reads 626s collision resistance 630s collision resistance with arrays 630s #replace_pair 630s #replace_if_exists 630s #get_and_set 630s #key 630s #key? 630s #value? 630s #delete 630s #delete_pair 630s default proc 630s falsy default proc 630s #clear 630s #keys 630s #values 630s #each_key 630s #each_value 630s #empty 630s options validation 630s initial capacity options validation 630s load factor options validation 630s #size 630s #get_or_default 630s #dup,#clone 630s is unfreezable 630s marshal dump load 630s marshal dump does not work with default proc 630s #inspect 630s #compute_if_absent 630s works in default_proc 630s common 630s with return 630s exception 630s atomicity 630s #compute_if_present 630s common 630s with return 630s exception 630s #compute 630s common 630s with return 630s exception 630s #merge_pair 630s common 630s with return 630s exception 630s #fetch 630s common 630s falsy 630s with return 630s #fetch_or_store 630s common 630s falsy 630s with return 630s #each_pair 630s it should behave like collection_each 630s common 630s pair iterator 630s allows modification 630s when no block is given 630s returns an enumerator 630s returns an object which is enumerable 630s #each 630s it should behave like collection_each 630s common 630s pair iterator 630s allows modification 630s when no block is given 630s returns an enumerator 630s returns an object which is enumerable 630s 630s Concurrent::Maybe 630s construction 630s hides Maybe.new 630s Maybe.from 630s raises an exception when no block is given 630s passes all arguments to the block 630s creates a Just Maybe on success 630s sets the value to the block result on success 630s creates a Nothing Maybe on exception 630s sets the reason to the error object on exception 630s Maybe.just 630s creates a new Just Maybe 630s Maybe.nothing 630s creates a new Nothing Maybe 630s uses the given Error object 630s creates a new error object with the given string 630s creates a new error object when given nothing 630s when just 630s #just? returns true 630s #fulfilled? returns true 630s #nothing? returns false 630s #rejected? returns false 630s #just returns the value 630s #value returns the value 630s #nothing returns NONE 630s #reason returns NONE 630s when nothing 630s #just? returns false 630s #fulfilled? returns false 630s #nothing? returns true 630s #rejected? returns true 630s #just returns NONE 630s #value returns NONE 630s #nothing returns the raised error 630s #reason returns the raised error 630s comparison 630s something is not equal to nothing 630s nothing is equal to nothing 630s something is equal to the same value 630s something is not equal to a different value 630s something is greater than a smaller value 630s something is less than a bigger value 630s nothing is not less than nothing 630s nothing is not greater than nothing 630s #or 630s returns the value when something 630s returns the other when nothing 630s 630s /tmp/autopkgtest.5ln2sD/build.B6w/src/spec/concurrent/struct_shared.rb:15: warning: already initialized constant ValidClassName2 630s monotonic_time 630s behavior 630s returns seconds as float 630s returns a Float when unit = :float_second 630s returns a Float when unit = :float_millisecond 630s returns a Float when unit = :float_microsecond 630s returns an Integer when unit = :second 630s returns an Integer when unit = :millisecond 630s returns an Integer when unit = :microsecond 630s returns an Integer when unit = :nanosecond 630s raises ArgumentError on unknown units 630s 630s Concurrent::MutableStruct 630s it should behave like struct 630s definition 630s registers the class when given a class name 630s registers the class when given a class name which is defined in the ancestors 630s creates an anonymous class when given at least one member 630s raises an exception when given an invalid class name 630s defines a getter for each member 630s raises an exception when given no members 630s raise an exception when given an invalid member 630s evalues a given block against the new class 630s construction 630s sets all absent members to nil 630s sets all given members in order 630s raises an exception when extra members are given 630s properties 630s #length 630s returns the number of struct members 630s #members 630s returns the struct members as an array of symbols 630s returns a different object than the array passed at definition 630s #size 630s returns the number of struct members 630s #values 630s returns the values of the struct as an array in order 630s #values_at 630s returns the value at the given offset 630s returns the values at multiple given offsets 630s returns values at offsets in a given range 630s returns values for multiple ranges 630s returns values for ranges and offsets 630s accessors 630s #[member] 630s retrieves the value when given a valid symbol member 630s retrieves the value when given a valid string member 630s raises an exception when given a non-existent symbol member 630s raises an exception when given a non-existent string member 630s #[index] 630s retrieves the value when given a valid index 630s raises an exception when given an out-of-bound index 630s comparison 630s #== 630s returns true if other has same struct subclass and equal values 630s returns false if other has different struct subclass 630s returns false if other has different values 630s #!= 630s returns false if other has same struct subclass and equal values 630s returns true if other has different struct subclass 630s returns true if other has different values 630s enumeration 630s #each 630s yields the value of each struct member in order 630s returns an enumerator when no block is given 630s #each_pair 630s yields the name and value of each struct member in order 630s returns an enumerator when no block is given 630s #select 630s yields each value 630s returns an Array with the values from for which the block returns true 630s returns an enumerator when no block is given 630s conversion 630s #to_s 630s includes the name of the class when registered 630s includes the names of all members 630s includes all values 630s returns the same string as #inspect 630s #to_a 630s returns the to_a for this struct as an array 630s #to_h 630s returns a Hash containing the names and values in order 630s copy 630s #dup 630s shallowly duplicates all members along with the struct 630s discards frozen state of the struct 630s retains frozen state of members 630s discards singleton class 630s copies the singleton class of members 630s #clone 630s shallowly clones all members along with the struct 630s retains frozen state 630s copies the singleton class 630s copies the singleton class of members 630s it should behave like mergeable_struct 630s #merge 630s updates all members with the new values from a given hash 630s calls the given block for each key in `other` 630s retains the value for all members not without values in the given hash 630s raises an exception when given a hash with members not in the struct 630s returns a new object 630s definition 630s defines a setter for each member 630s #[member]= 630s sets the value when given a valid symbol member 630s sets the value when given a valid string member 630s raises an exception when given a non-existent symbol member 630s raises an exception when given a non-existent string member 630s #[index]= 630s sets the value when given a valid index 630s raises an exception when given an out-of-bound index 630s synchronization 630s protects #values 630s protects #values_at 630s protects #[index] 630s protects #[member] 630s protects getter methods 630s protects #[index]= 630s protects #[member]= 630s protects getter methods 630s protects #to_s 630s protects #inspect 630s protects #merge 630s protects #to_h 630s protects #== 630s protects #each 630s protects #each_pair 630s protects #select 630s protects #initialize_copy 630s copy 630s #dup 630s mutates only the copy 630s #clone 630s mutates only the copy 630s 630s Concurrent::MVar 630s behavior 630s it should behave like dereferenceable 630s defaults :dup_on_deref to false 630s calls #dup when the :dup_on_deref option is true 630s defaults :freeze_on_deref to false 630s calls #freeze when the :freeze_on_deref option is true 630s defaults :copy_on_deref to nil 630s calls the block when the :copy_on_deref option is passed a proc 630s calls the :copy block first followed by #dup followed by #freeze 630s does not call #dup when #dup_on_deref is set and the value is nil 630s does not call #freeze when #freeze_on_deref is set and the value is nil 630s does not call the #copy_on_deref block when the value is nil 630s supports dereference flags with observers 630s #initialize 630s accepts no initial value 630s accepts an empty initial value 630s accepts an initial value 630s accepts a nil initial value 630s #take 630s sets the MVar to empty 630s returns the value on a full MVar 630s waits for another thread to #put 630s returns TIMEOUT on timeout on an empty MVar 630s #borrow 630s /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:1184 630s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 630s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/yield.rb:101 630s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/yield.rb:7 630s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/yield.rb:6 630s
at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/yield.rb:5 630s require at org/jruby/RubyKernel.java:1184 630s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 630s yield_with_args at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers.rb:920 630s Concurrent at /tmp/autopkgtest.5ln2sD/build.B6w/src/spec/concurrent/mvar_spec.rb:78 630s instance_exec at org/jruby/RubyBasicObject.java:2620 630s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:263 630s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 630s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 630s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 630s run_around_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:624 630s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 630s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 630s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 630s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:259 630s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:646 630s map at org/jruby/RubyArray.java:2803 630s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:651 630s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:607 630s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:608 630s map at org/jruby/RubyArray.java:2803 630s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:608 630s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121 630s map at org/jruby/RubyArray.java:2803 630s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:145 630s with_suite_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:2091 630s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:116 630s report at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/reporter.rb:74 630s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:115 630s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:89 630s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:71 630s invoke at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:45 630s
at /usr/bin/rspec:4 630s 630s /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:1184 630s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 630s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/yield.rb:149 630s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/yield.rb:7 630s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/yield.rb:6 630s
at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/yield.rb:5 630s require at org/jruby/RubyKernel.java:1184 630s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 630s yield_with_args at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers.rb:920 630s Concurrent at /tmp/autopkgtest.5ln2sD/build.B6w/src/spec/concurrent/mvar_spec.rb:78 630s instance_exec at org/jruby/RubyBasicObject.java:2620 630s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:263 630s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 630s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 630s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 630s run_around_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:624 630s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 630s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 630s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 630s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:259 630s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:646 630s map at org/jruby/RubyArray.java:2803 630s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:651 630s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:607 630s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:608 630s map at org/jruby/RubyArray.java:2803 630s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:608 630s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121 630s map at org/jruby/RubyArray.java:2803 630s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:145 630s with_suite_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:2091 630s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:116 630s report at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/reporter.rb:74 630s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:115 630s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:89 630s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:71 630s invoke at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:45 630s
at /usr/bin/rspec:4 630s 630s /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:1184 630s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 630s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/yield.rb:296 630s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/yield.rb:7 630s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/yield.rb:6 630s
at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/yield.rb:5 630s require at org/jruby/RubyKernel.java:1184 630s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 630s yield_with_args at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers.rb:920 630s Concurrent at /tmp/autopkgtest.5ln2sD/build.B6w/src/spec/concurrent/mvar_spec.rb:78 630s instance_exec at org/jruby/RubyBasicObject.java:2620 630s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:263 630s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 630s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 630s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 630s run_around_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:624 630s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 630s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 630s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 630s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:259 630s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:646 630s map at org/jruby/RubyArray.java:2803 630s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:651 630s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:607 630s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:608 630s map at org/jruby/RubyArray.java:2803 630s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:608 630s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121 630s map at org/jruby/RubyArray.java:2803 630s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:145 630s with_suite_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:2091 630s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:116 630s report at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/reporter.rb:74 630s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:115 630s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:89 630s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:71 630s invoke at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:45 630s
at /usr/bin/rspec:4 630s 630s yields current value to the block and puts back value 630s puts back value even if an exception is raised 630s returns the returned value of the block 631s returns TIMEOUT on timeout on an empty MVar 631s #put 631s sets the MVar to be empty 631s sets a new value on an empty MVar 631s waits for another thread to #take 631s returns TIMEOUT on timeout on a full MVar 631s returns the value 631s #empty? 631s returns true on an empty MVar 631s returns false on a full MVar 631s #full? 631s returns false on an empty MVar 631s returns true on a full MVar 631s #modify 631s raises an exception when no block given 631s modifies a full MVar 631s returns the unmodified value 631s waits for another thread to #put 632s is atomic 632s returns TIMEOUT on timeout on an empty MVar 632s #try_put! 632s returns true an empty MVar 632s returns false on a full MVar 632s sets an empty MVar to be full 632s #try_take! 632s returns EMPTY an empty MVar 632s returns the value on a full MVar 632s sets a full MVar to be empty 632s #set! 632s sets an empty MVar to be full 632s sets a full MVar to be full 632s returns EMPTY on an empty MVar 632s returns the original value on a full MVar 632s #modify! 632s raises an exception when no block given 632s modifies a full MVar 632s modifies an empty MVar 632s can be used to set a full MVar to empty 632s can be used to set an empty MVar to empty 632s returns the unmodified value 632s spurious wake ups 632s #take 632s waits for another thread to #put 633s returns TIMEOUT on timeout on an empty MVar 633s #modify 633s waits for another thread to #put 634s returns TIMEOUT on timeout on an empty MVar 634s #put 634s waits for another thread to #take 635s returns TIMEOUT on timeout on a full MVar 635s 635s Concurrent::Options 635s .executor_from_options 635s returns the given :executor 635s returns the global io executor when :executor is :io 635s returns the global fast executor when :executor is :fast 635s returns an immediate executor when :executor is :immediate 635s raises an exception when :executor is an unrecognized symbol 635s 635s Concurrent::ProcessingActor 635s is expected to eq "ab" 635s 635s Concurrent::Promise 635s it should behave like ivar 635s it should behave like obligation 635s #state 635s is :pending when first created 635s is :fulfilled when the handler completes 635s is :rejected when the handler raises an exception 635s #value 635s returns nil when reaching the optional timeout value 635s returns immediately when timeout is zero 640s returns the value when fulfilled before timeout 640s returns nil when timeout reached 640s is nil when :pending 645s blocks the caller when :pending and timeout is nil 645s is nil when :rejected 645s is set to the return value of the block when :fulfilled 645s #reason 645s is nil when :pending 645s is nil when :fulfilled 645s is set to error object of the exception when :rejected 645s it should behave like dereferenceable 645s defaults :dup_on_deref to false 645s calls #dup when the :dup_on_deref option is true 646s defaults :freeze_on_deref to false 646s calls #freeze when the :freeze_on_deref option is true 646s defaults :copy_on_deref to nil 646s calls the block when the :copy_on_deref option is passed a proc 646s calls the :copy block first followed by #dup followed by #freeze 646s does not call #dup when #dup_on_deref is set and the value is nil 647s does not call #freeze when #freeze_on_deref is set and the value is nil 647s does not call the #copy_on_deref block when the value is nil 647s supports dereference flags with observers 647s it should behave like observable 647s #add_observer 647s adds an observer if called before first notification 647s adds an observer with :func if called before first notification 647s creates an observer from a block if called before first notification 647s raises an exception if not given an observer or a block 647s raises an exception when given both an observer and a block 647s #delete_observer 647s deletes the given observer if called before first notification 647s returns the removed observer if found in the observer set 647s returns the given observer even when not found in the observer set 647s #delete_observers 647s deletes all observers when called before first notification 647s returns self 647s #count_observers 647s returns zero for a new observable object 647s returns a count of registered observers if called before first notification 647s returns zero after #delete_observers has been called 647s first notification 647s calls the #update method on all observers without a specified :func 647s calls the appropriate function on all observers which specified a :func 647s calls the proc for all observers added as a block 648s does not notify any observers removed with #delete_observer 649s does not notify any observers after #delete_observers called 649s initialization 649s sets the state to incomplete 649s #set 649s sets the state to be fulfilled 649s sets the value 649s raises an exception if set more than once 649s returns self 649s fulfils when given a block which executes successfully 649s rejects when given a block which raises an exception 649s raises an exception when given a value and a block 649s raises an exception when given neither a value nor a block 649s #fail 649s sets the state to be rejected 649s sets the value to be nil 649s sets the reason to the given exception 649s raises an exception if set more than once 649s defaults the reason to a StandardError 649s returns self 649s #try_set 649s when unset 649s assigns the value 649s assigns the block result 649s returns true 649s when fulfilled 649s does not assign the value 649s does not assign the block result 649s returns false 649s when rejected 649s does not assign the value 649s does not assign the block result 649s has a nil value 649s returns false 649s it should behave like thread_arguments 649s passes an empty array when opts is not given 649s passes an empty array when opts is an empty hash 649s passes an empty array when there is no :args key 649s passes an empty array when the :args key has a nil value 649s passes a one-element array when the :args key has a non-array value 649s passes an array when when the :args key has an array value 649s passes the given array when the :args key has a complex array value 649s allows the given arguments array to be dereferenced 649s initializers 649s .fulfill 649s should return a Promise 649s should return a fulfilled Promise 649s should return a Promise with set value 649s .reject 649s should return a Promise 649s should return a rejected Promise 649s should return a Promise with set reason 649s .new 649s should return an unscheduled Promise 649s .execute 649s creates a new Promise 649s passes the block to the new Promise 650s calls #execute on the new Promise 650s #execute 650s unscheduled 651s sets the promise to :pending 651s posts the block given in construction 651s pending 651s sets the promise to :pending 651s does not post again 651s with children 651s when called on the root 652s should set all promises to :pending 652s when called on a child 653s should set all promises to :pending 653s when called on child after parent completes 653s sets state to :pending immediately 653s #then 653s returns a new promise when a block is passed 653s returns a new promise when a rescuer is passed 653s returns a new promise when a block and rescuer are passed 653s returns a new promise when a block, rescuer and executor are passed 653s supports setting the executor using a named parameter 653s should have block or rescuers 653s can be called more than once 653s unscheduled 653s returns a new promise 653s returns an unscheduled promise 653s pending 653s returns a new promise 653s returns a pending promise 653s fulfilled 653s returns a new Promise 653s notifies fulfillment to new child 653s rejected 653s returns a new Promise when :rejected 653s notifies rejection to new child 653s on_success 653s should have a block 653s returns a new promise 653s #rescue 653s returns a new promise 653s #flat_map 653s returns a promise 653s succeeds if both promises succeed 653s fails if the left promise fails 653s fails if the right promise fails 653s fails if the generating block fails 653s #zip 653s executes the returned Promise by default 653s executes the returned Promise when execute is true 653s does not execute the returned Promise when execute is false 653s allows setting executor for Promise chain 653s yields the results as an array 653s fails if one component fails 653s preserves ordering of the executed promises 653s .zip 653s executes the returned Promise by default 653s executes the returned Promise when execute is true 653s does not execute the returned Promise when execute is false 653s allows setting executor for Promise chain 653s yields the results as an array 653s fails if one component fails 653s preserves ordering of the executed promises 653s aggregators 653s .all? 653s returns a new Promise 653s does not execute the returned Promise 653s executes the #then condition when all components succeed 653s executes the #then condition when no promises are given 653s executes the #rescue handler if even one component fails 653s .any? 653s returns a new Promise 653s does not execute the returned Promise 653s executes the #then condition when any components succeed 653s executes the #then condition when no promises are given 653s executes the #rescue handler if all componenst fail 653s fulfillment 653s passes the result of each block to all its children 653s sets the promise value to the result if its block 653s sets the promise state to :fulfilled if the block completes 653s passes the last result through when a promise has no block 653s uses result as fulfillment value when a promise has no block 653s can manage long chain 653s #set 653s #can only be called on the root promise 653s triggers children 653s can be called with a block 653s #fail 653s can only be called on the root promise 653s rejects children 653s rejection 653s passes the reason to all its children 653s sets the promise value to the result if its block 653s sets the promise state to :rejected if the block completes 653s uses reason as rejection reason when a promise has no rescue callable 653s rejects on Exception 653s aliases 653s aliases #realized? for #fulfilled? 653s aliases #deref for #value 653s aliases #catch for #rescue 653s aliases #on_error for #rescue 653s 653s Concurrent::Promises 653s zip_futures_over 653s chain_resolvable 653s event 653s future 653s .future 653s executes 653s executes with args 653s .delay 653s is expected to eq 2 653s .schedule 653s scheduled execution 653s scheduled execution in graph 653s .event 653s is expected to equal true 653s .future without block 653s is expected to eq 0 653s .any_resolved 653s continues on first result 653s .any_fulfilled 653s continues on first result 653s treats a resolved Event as a fulfilled Future 653s treats a pending Event as a pending Future 653s .zip 653s waits for all results 653s when a future raises an error 653s raises a concurrent error 653s when deeply nested 653s raises the original error 653s .zip_events 653s waits for all and returns event 653s .rejected_future 653s raises the correct error when passed an unraised error 653s Future 653s has sync and async callbacks 653s wait supports setting timeout 653s wait! supports setting timeout 653s value supports setting timeout 654s value! supports setting timeout 654s reason supports setting timeout 654s result supports setting timeout 654s chains 654s chains with correct arguments 654s constructs promise like tree 654s allows graphs 654s resolves future when Exception raised 654s runs 654s can be risen when rejected 654s #flat 654s returns value of inner future 654s propagates rejection of inner future 654s it propagates rejection of the future which was suppose to provide inner future 654s rejects if inner value is not a future 654s accepts inner event 654s propagates requests for values to delayed futures 654s has shortcuts 654s ResolvableEvent 654s #wait 654s #resolve(raise_on_reassign = true) 654s #resolve(raise_on_reassign = false) 654s reservation 654s ResolvableFuture 654s #wait 654s #wait! 654s #value 654s #value! 654s #reason 654s result 654s reservation 654s atomic_resolution 654s interoperability 654s with erlang actor 654s with channel 654s value! 654s does not return spuriously with timeout 654s does not return spuriously without timeout 654s 654s Concurrent::ScheduledTask 654s behavior 654s it should behave like obligation 654s #state 654s is :pending when first created 654s is :fulfilled when the handler completes 654s is :rejected when the handler raises an exception 654s #value 654s returns nil when reaching the optional timeout value 654s returns immediately when timeout is zero 655s returns the value when fulfilled before timeout 655s returns nil when timeout reached 655s is nil when :pending 656s blocks the caller when :pending and timeout is nil 656s is nil when :rejected 656s is set to the return value of the block when :fulfilled 656s #reason 656s is nil when :pending 656s is nil when :fulfilled 656s is set to error object of the exception when :rejected 656s it should behave like dereferenceable 656s defaults :dup_on_deref to false 656s calls #dup when the :dup_on_deref option is true 656s defaults :freeze_on_deref to false 656s calls #freeze when the :freeze_on_deref option is true 656s defaults :copy_on_deref to nil 656s calls the block when the :copy_on_deref option is passed a proc 656s calls the :copy block first followed by #dup followed by #freeze 656s does not call #dup when #dup_on_deref is set and the value is nil 656s does not call #freeze when #freeze_on_deref is set and the value is nil 656s does not call the #copy_on_deref block when the value is nil 656s supports dereference flags with observers 656s it should behave like observable 656s #add_observer 656s adds an observer if called before first notification 656s adds an observer with :func if called before first notification 656s creates an observer from a block if called before first notification 656s raises an exception if not given an observer or a block 656s raises an exception when given both an observer and a block 656s #delete_observer 656s deletes the given observer if called before first notification 656s returns the removed observer if found in the observer set 656s returns the given observer even when not found in the observer set 656s #delete_observers 656s deletes all observers when called before first notification 656s returns self 656s #count_observers 656s returns zero for a new observable object 656s returns a count of registered observers if called before first notification 656s returns zero after #delete_observers has been called 656s first notification 656s calls the #update method on all observers without a specified :func 656s calls the appropriate function on all observers which specified a :func 656s calls the proc for all observers added as a block 658s does not notify any observers removed with #delete_observer 659s does not notify any observers after #delete_observers called 659s #initialize 659s accepts a number of seconds (from now) as the schedule time 659s raises an exception when seconds is less than zero 659s raises an exception when no block given 659s sets the initial state to :unscheduled 659s instance #execute 659s does nothing unless the state is :unscheduled 659s sets the sate to :pending 659s returns self 659s class #execute 659s creates a new ScheduledTask 659s passes the block to the new ScheduledTask 659s calls #execute on the new ScheduledTask 659s execution 659s passes :args from the options to the block 659s uses the :executor from the options 659s uses the :timer_set from the options 659s sets the state to :processing when the task is running 659s #cancel 659s returns false if the task has already been performed 659s returns false if the task is already in progress 660s cancels the task if it has not yet scheduled 660s cancels the task if it has not yet started 660s returns true on success 660s sets the reason to CancelledOperationError when cancelled 660s observation 660s returns true for an observer added while :unscheduled 660s returns true for an observer added while :pending 661s returns true for an observer added while :processing 661s notifies all observers on fulfillment 661s notifies all observers on rejection 661s 661s Concurrent::Set 661s .[] 661s when initializing with no arguments 661s is expected to be empty 661s when initializing with arguments 661s creates a set with the given objects 661s .new 661s when initializing with no arguments 661s is expected to be empty 661s when initializing with an enumerable object 661s creates a set with the contents of the enumerable object 661s when initializing with a block argument 661s creates a set with the contents of the enumerable object 661s concurrency 661s #add and #delete 661s force context switch 662s #each 662s 662s Concurrent::SettableStruct 662s it should behave like struct 662s definition 662s registers the class when given a class name 662s /tmp/autopkgtest.5ln2sD/build.B6w/src/spec/concurrent/struct_shared.rb:15: warning: already initialized constant ValidClassName2 662s registers the class when given a class name which is defined in the ancestors 662s creates an anonymous class when given at least one member 662s raises an exception when given an invalid class name 662s defines a getter for each member 662s raises an exception when given no members 662s raise an exception when given an invalid member 662s evalues a given block against the new class 662s construction 662s sets all absent members to nil 662s sets all given members in order 662s raises an exception when extra members are given 662s properties 662s #length 662s returns the number of struct members 662s #members 662s returns the struct members as an array of symbols 662s returns a different object than the array passed at definition 662s #size 662s returns the number of struct members 662s #values 662s returns the values of the struct as an array in order 662s #values_at 662s returns the value at the given offset 662s returns the values at multiple given offsets 662s returns values at offsets in a given range 662s returns values for multiple ranges 662s returns values for ranges and offsets 662s accessors 662s #[member] 662s retrieves the value when given a valid symbol member 662s retrieves the value when given a valid string member 662s raises an exception when given a non-existent symbol member 662s raises an exception when given a non-existent string member 662s #[index] 662s retrieves the value when given a valid index 662s raises an exception when given an out-of-bound index 662s comparison 662s #== 662s returns true if other has same struct subclass and equal values 662s returns false if other has different struct subclass 662s returns false if other has different values 662s #!= 662s returns false if other has same struct subclass and equal values 662s returns true if other has different struct subclass 662s returns true if other has different values 662s enumeration 662s #each 662s yields the value of each struct member in order 662s returns an enumerator when no block is given 662s #each_pair 662s yields the name and value of each struct member in order 662s returns an enumerator when no block is given 662s #select 662s yields each value 662s returns an Array with the values from for which the block returns true 662s returns an enumerator when no block is given 662s conversion 662s #to_s 662s includes the name of the class when registered 662s includes the names of all members 662s includes all values 662s returns the same string as #inspect 662s #to_a 662s returns the to_a for this struct as an array 662s #to_h 662s returns a Hash containing the names and values in order 662s copy 662s #dup 662s shallowly duplicates all members along with the struct 662s discards frozen state of the struct 662s retains frozen state of members 662s discards singleton class 662s copies the singleton class of members 662s #clone 662s shallowly clones all members along with the struct 662s retains frozen state 662s copies the singleton class 662s copies the singleton class of members 662s it should behave like mergeable_struct 662s #merge 662s updates all members with the new values from a given hash 662s calls the given block for each key in `other` 662s retains the value for all members not without values in the given hash 662s raises an exception when given a hash with members not in the struct 662s returns a new object 662s definition 662s defines a setter for each member 662s #[member]= 662s sets the value when given a valid symbol member 662s sets the value when given a valid string member 662s raises an exception when given a non-existent symbol member 662s raises an exception when given a non-existent string member 662s raises an exception when given a symbol member that has already been set 662s raises an exception when given a string member that has already been set 662s #[index]= 662s sets the value when given a valid index 662s raises an exception when given an out-of-bound index 662s raises an exception when given an index that has already been set 662s synchronization 662s protects #values 662s protects #values_at 662s protects #[index] 662s protects #[member] 662s protects getter methods 662s protects #[index]= 662s protects #[member]= 662s protects getter methods 662s protects #to_s 662s protects #inspect 662s protects #to_h 662s protects #merge 662s protects #== 662s protects #each 662s protects #each_pair 662s protects #select 662s protects #initialize_copy 662s copy 662s #dup 662s retains settability of members 662s #clone 662s retains settability of members 662s 662s Concurrent::Synchronization 662s Concurrent::Synchronization::Object 662s does not ensure visibility when not needed 662s does ensure visibility when specified 662s does ensure visibility when specified in a parent 662s does ensure visibility once when specified in child again 662s it should behave like attr_volatile 662s older writes are always visible 662s Concurrent::Synchronization::LockableObject 662s final field always visible 662s #wait 662s puts the current thread to sleep 662s allows the sleeping thread to be killed 662s releases the lock on the current object 662s can be called from within a #synchronize block 662s #synchronize 662s allows only one thread to execute count 662s signaling 662s for now pending, tested pretty well by Event (PENDING: Not yet implemented) 662s it should behave like attr_volatile 662s older writes are always visible 662s Concurrent::Synchronization::Volatile module 662s it should behave like attr_volatile 662s older writes are always visible 662s attr_atomic 662s is expected to be == b 662s 662s Concurrent::SynchronizedDelegator 662s wraps array 662s synchronizes access 662s synchronizes access with block 662s 662s Concurrent 662s Throttle 662s acquiring 662s #to_s 662s #on 663s capacity limited 663s 663s Concurrent::TimerTask 663s dereferenceable 663s it should behave like dereferenceable 663s defaults :dup_on_deref to false 663s calls #dup when the :dup_on_deref option is true 664s defaults :freeze_on_deref to false 664s calls #freeze when the :freeze_on_deref option is true 664s defaults :copy_on_deref to nil 664s calls the block when the :copy_on_deref option is passed a proc 664s calls the :copy block first followed by #dup followed by #freeze 664s does not call #dup when #dup_on_deref is set and the value is nil 665s does not call #freeze when #freeze_on_deref is set and the value is nil 665s does not call the #copy_on_deref block when the value is nil 665s supports dereference flags with observers 665s observable 665s it should behave like observable 665s #add_observer 665s adds an observer if called before first notification 665s adds an observer with :func if called before first notification 665s creates an observer from a block if called before first notification 665s raises an exception if not given an observer or a block 665s raises an exception when given both an observer and a block 665s #delete_observer 665s deletes the given observer if called before first notification 665s returns the removed observer if found in the observer set 665s returns the given observer even when not found in the observer set 665s #delete_observers 665s deletes all observers when called before first notification 665s returns self 665s #count_observers 665s returns zero for a new observable object 665s returns a count of registered observers if called before first notification 665s returns zero after #delete_observers has been called 665s first notification 665s calls the #update method on all observers without a specified :func 665s calls the appropriate function on all observers which specified a :func 665s calls the proc for all observers added as a block 667s does not notify any observers removed with #delete_observer 668s does not notify any observers after #delete_observers called 668s created with #new 668s #initialize 668s raises an exception if no block given 668s raises an exception if :execution_interval is not greater than zero 668s raises an exception if :execution_interval is not an integer 668s uses the default execution interval when no interval is given 668s uses the given execution interval 668s raises an exception if :interval_type is not a valid value 668s uses the default :interval_type when no type is given 668s uses the given interval type 668s #kill 668s returns true on success 668s #shutdown 668s returns true on success 668s arguments 668s raises an exception if no block given 668s TimeTask timeouts are now ignored as these were not able to be implemented correctly 668s #execution_interval is writeable 668s raises on invalid interval_type 668s TimeTask timeouts are now ignored as these were not able to be implemented correctly 668s #timeout_interval being written produces a warning 668s execution 668s runs the block immediately when the :run_now option is true 668s waits for :execution_interval seconds when the :run_now option is false 668s waits for :execution_interval seconds when the :run_now option is not given 668s passes a "self" reference to the block as the sole argument 668s uses the global executor by default 668s uses a custom executor when given 669s uses a fixed delay when set 669s uses a fixed rate when set 669s observation 669s notifies all observers on success 669s notifies all observers on error 669s 669s Concurrent::TVar 669s #initialize 669s accepts an initial value 669s #value 669s gets the value 669s #value= 669s sets the value 669s 669s #atomically 669s raises an exception when no block given 669s raises the same exception that was raised in Concurrent::atomically 669s retries on abort 669s commits writes if the transaction succeeds 669s undoes writes if the transaction is aborted 669s provides atomicity 669s nests 669s reflects transactional writes from within the same transaction 669s 669s #abort_transaction 669s raises an exception outside an #atomically block 669s 669s #leave_transaction 669s raises an exception outside an #atomically block 669s neither commits nor aborts a transaction 669s 669s #processor_count 669s retuns a positive integer 669s 669s #physical_processor_count 669s retuns a positive integer 669s 669s #cpu_quota 669s returns #compute_cpu_quota 669s returns nil if no quota is detected 669s returns nil if cgroups v2 sets no limit 669s returns a float if cgroups v2 sets a limit 669s returns nil if cgroups v1 sets no limit 669s returns nil if cgroups v1 and cpu.cfs_quota_us is -1 669s returns a float if cgroups v1 sets a limit 669s 669s #available_processor_count 669s returns #processor_count if #cpu_quota is nil 669s returns #processor_count if #cpu_quota is higher 669s returns #cpu_quota if #cpu_quota is lower than #processor_count 669s 669s #cpu_shares 669s returns a float when cgroups v2 sets a cpu.weight 669s returns a float if cgroups v1 sets a cpu.shares 669s 669s Finished in 3 minutes 30.3 seconds (files took 3.32 seconds to load) 669s 3009 examples, 0 failures, 17 pending 669s 670s autopkgtest [14:03:52]: test jruby: -----------------------] 671s autopkgtest [14:03:53]: test jruby: - - - - - - - - - - results - - - - - - - - - - 671s jruby PASS 671s autopkgtest [14:03:53]: @@@@@@@@@@@@@@@@@@@@ summary 671s ruby PASS 671s jruby PASS