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