0s autopkgtest [07:08:18]: starting date and time: 2026-02-10 07:08:18+0000 0s autopkgtest [07:08:18]: git checkout: 4b346b80 nova: make wait_reboot return success even when a no-op 0s autopkgtest [07:08:18]: host juju-7f2275-prod-proposed-migration-environment-2; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.ualefa80/out --timeout-copy=6000 --needs-internet=try --setup-commands /home/ubuntu/autopkgtest-cloud/worker-config-production/setup-canonical.sh --apt-pocket=proposed=src:ruby-concurrent --apt-upgrade ruby-concurrent --timeout-short=300 --timeout-copy=20000 --timeout-build=20000 --env=ADT_TEST_TRIGGERS=ruby-concurrent/1.3.6-1 -- ssh -s /home/ubuntu/autopkgtest/ssh-setup/nova -- --flavor autopkgtest-cpu2-ram4-disk20-arm64 --security-groups autopkgtest-juju-7f2275-prod-proposed-migration-environment-2@sto01-arm64-19.secgroup --name adt-resolute-arm64-ruby-concurrent-20260210-070818-juju-7f2275-prod-proposed-migration-environment-2-25c8dbc3-42a0-4112-a795-9d89a3e9de83 --image adt/ubuntu-resolute-arm64-server --keyname testbed-juju-7f2275-prod-proposed-migration-environment-2 --net-id=net_prod-autopkgtest-workers-arm64 -e TERM=linux --mirror=http://ftpmaster.internal/ubuntu/ 4s Creating nova instance adt-resolute-arm64-ruby-concurrent-20260210-070818-juju-7f2275-prod-proposed-migration-environment-2-25c8dbc3-42a0-4112-a795-9d89a3e9de83 from image adt/ubuntu-resolute-arm64-server-20260209.img (UUID 793037ca-75af-461b-82de-f8081300b2e3)... 101s autopkgtest [07:09:59]: testbed dpkg architecture: arm64 102s autopkgtest [07:10:00]: testbed apt version: 3.1.15 102s autopkgtest [07:10:00]: @@@@@@@@@@@@@@@@@@@@ test bed setup 102s autopkgtest [07:10:00]: testbed release detected to be: None 103s autopkgtest [07:10:01]: updating testbed package index (apt update) 104s Get:1 http://ftpmaster.internal/ubuntu resolute-proposed InRelease [124 kB] 104s Hit:2 http://ftpmaster.internal/ubuntu resolute InRelease 104s Hit:3 http://ftpmaster.internal/ubuntu resolute-updates InRelease 104s Hit:4 http://ftpmaster.internal/ubuntu resolute-security InRelease 104s Get:5 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse Sources [31.1 kB] 104s Get:6 http://ftpmaster.internal/ubuntu resolute-proposed/universe Sources [1727 kB] 106s Get:7 http://ftpmaster.internal/ubuntu resolute-proposed/main Sources [178 kB] 106s Get:8 http://ftpmaster.internal/ubuntu resolute-proposed/main arm64 Packages [263 kB] 106s Get:9 http://ftpmaster.internal/ubuntu resolute-proposed/main arm64 c-n-f Metadata [6288 B] 106s Get:10 http://ftpmaster.internal/ubuntu resolute-proposed/restricted arm64 c-n-f Metadata [120 B] 106s Get:11 http://ftpmaster.internal/ubuntu resolute-proposed/universe arm64 Packages [1769 kB] 108s Get:12 http://ftpmaster.internal/ubuntu resolute-proposed/universe arm64 c-n-f Metadata [31.3 kB] 108s Get:13 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse arm64 Packages [23.0 kB] 108s Get:14 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse arm64 c-n-f Metadata [688 B] 110s Fetched 4153 kB in 5s (821 kB/s) 111s Reading package lists... 112s Hit:1 http://ftpmaster.internal/ubuntu resolute-proposed InRelease 112s Hit:2 http://ftpmaster.internal/ubuntu resolute InRelease 112s Hit:3 http://ftpmaster.internal/ubuntu resolute-updates InRelease 112s Hit:4 http://ftpmaster.internal/ubuntu resolute-security InRelease 113s Reading package lists... 113s Reading package lists... 113s Building dependency tree... 113s Reading state information... 113s Calculating upgrade... 114s The following NEW packages will be installed: 114s gcc-16-base 114s The following packages will be upgraded: 114s cryptsetup-bin dracut-install iproute2 iptables libatomic1 libbrotli1 114s libcryptsetup12 libgcc-s1 libip4tc2 libip6tc2 libstdc++6 libxtables12 wget 114s 13 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. 114s Need to get 3779 kB of archives. 114s After this operation, 218 kB of additional disk space will be used. 114s Get:1 http://ftpmaster.internal/ubuntu resolute/main arm64 gcc-16-base arm64 16-20260208-1ubuntu1 [59.7 kB] 114s Get:2 http://ftpmaster.internal/ubuntu resolute/main arm64 libgcc-s1 arm64 16-20260208-1ubuntu1 [60.9 kB] 114s Get:3 http://ftpmaster.internal/ubuntu resolute/main arm64 iptables arm64 1.8.11-2ubuntu3 [386 kB] 114s Get:4 http://ftpmaster.internal/ubuntu resolute/main arm64 libip4tc2 arm64 1.8.11-2ubuntu3 [24.3 kB] 114s Get:5 http://ftpmaster.internal/ubuntu resolute/main arm64 libip6tc2 arm64 1.8.11-2ubuntu3 [24.7 kB] 114s Get:6 http://ftpmaster.internal/ubuntu resolute/main arm64 libxtables12 arm64 1.8.11-2ubuntu3 [36.7 kB] 114s Get:7 http://ftpmaster.internal/ubuntu resolute/main arm64 iproute2 arm64 6.18.0-1ubuntu1 [1171 kB] 115s Get:8 http://ftpmaster.internal/ubuntu resolute/main arm64 libatomic1 arm64 16-20260208-1ubuntu1 [11.1 kB] 115s Get:9 http://ftpmaster.internal/ubuntu resolute/main arm64 libcryptsetup12 arm64 2:2.8.0-1ubuntu3 [274 kB] 115s Get:10 http://ftpmaster.internal/ubuntu resolute/main arm64 libstdc++6 arm64 16-20260208-1ubuntu1 [768 kB] 115s Get:11 http://ftpmaster.internal/ubuntu resolute/main arm64 wget arm64 1.25.0-2ubuntu4 [344 kB] 115s Get:12 http://ftpmaster.internal/ubuntu resolute/main arm64 cryptsetup-bin arm64 2:2.8.0-1ubuntu3 [227 kB] 115s Get:13 http://ftpmaster.internal/ubuntu resolute/main arm64 dracut-install arm64 109-11ubuntu1 [45.3 kB] 115s Get:14 http://ftpmaster.internal/ubuntu resolute/main arm64 libbrotli1 arm64 1.2.0-3 [346 kB] 115s dpkg-preconfigure: unable to re-open stdin: No such file or directory 116s Fetched 3779 kB in 1s (3142 kB/s) 116s Selecting previously unselected package gcc-16-base:arm64. 116s (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 ... 136597 files and directories currently installed.) 116s Preparing to unpack .../gcc-16-base_16-20260208-1ubuntu1_arm64.deb ... 116s Unpacking gcc-16-base:arm64 (16-20260208-1ubuntu1) ... 116s Setting up gcc-16-base:arm64 (16-20260208-1ubuntu1) ... 116s (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 ... 136602 files and directories currently installed.) 116s Preparing to unpack .../libgcc-s1_16-20260208-1ubuntu1_arm64.deb ... 116s Unpacking libgcc-s1:arm64 (16-20260208-1ubuntu1) over (15.2.0-12ubuntu1) ... 116s Setting up libgcc-s1:arm64 (16-20260208-1ubuntu1) ... 116s (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 ... 136602 files and directories currently installed.) 116s Preparing to unpack .../00-iptables_1.8.11-2ubuntu3_arm64.deb ... 116s Unpacking iptables (1.8.11-2ubuntu3) over (1.8.11-2ubuntu2) ... 116s Preparing to unpack .../01-libip4tc2_1.8.11-2ubuntu3_arm64.deb ... 116s Unpacking libip4tc2:arm64 (1.8.11-2ubuntu3) over (1.8.11-2ubuntu2) ... 117s Preparing to unpack .../02-libip6tc2_1.8.11-2ubuntu3_arm64.deb ... 117s Unpacking libip6tc2:arm64 (1.8.11-2ubuntu3) over (1.8.11-2ubuntu2) ... 117s Preparing to unpack .../03-libxtables12_1.8.11-2ubuntu3_arm64.deb ... 117s Unpacking libxtables12:arm64 (1.8.11-2ubuntu3) over (1.8.11-2ubuntu2) ... 117s Preparing to unpack .../04-iproute2_6.18.0-1ubuntu1_arm64.deb ... 117s Unpacking iproute2 (6.18.0-1ubuntu1) over (6.16.0-1ubuntu3) ... 117s Preparing to unpack .../05-libatomic1_16-20260208-1ubuntu1_arm64.deb ... 117s Unpacking libatomic1:arm64 (16-20260208-1ubuntu1) over (15.2.0-12ubuntu1) ... 117s Preparing to unpack .../06-libcryptsetup12_2%3a2.8.0-1ubuntu3_arm64.deb ... 117s Unpacking libcryptsetup12:arm64 (2:2.8.0-1ubuntu3) over (2:2.8.0-1ubuntu2) ... 117s Preparing to unpack .../07-libstdc++6_16-20260208-1ubuntu1_arm64.deb ... 117s Unpacking libstdc++6:arm64 (16-20260208-1ubuntu1) over (15.2.0-12ubuntu1) ... 117s Preparing to unpack .../08-wget_1.25.0-2ubuntu4_arm64.deb ... 117s Unpacking wget (1.25.0-2ubuntu4) over (1.25.0-2ubuntu3) ... 118s Preparing to unpack .../09-cryptsetup-bin_2%3a2.8.0-1ubuntu3_arm64.deb ... 118s Unpacking cryptsetup-bin (2:2.8.0-1ubuntu3) over (2:2.8.0-1ubuntu2) ... 118s Preparing to unpack .../10-dracut-install_109-11ubuntu1_arm64.deb ... 118s Unpacking dracut-install (109-11ubuntu1) over (109-9ubuntu1) ... 118s Preparing to unpack .../11-libbrotli1_1.2.0-3_arm64.deb ... 118s Unpacking libbrotli1:arm64 (1.2.0-3) over (1.1.0-2build6) ... 118s Setting up libip4tc2:arm64 (1.8.11-2ubuntu3) ... 118s Setting up wget (1.25.0-2ubuntu4) ... 118s Setting up libip6tc2:arm64 (1.8.11-2ubuntu3) ... 118s Setting up libbrotli1:arm64 (1.2.0-3) ... 118s Setting up libatomic1:arm64 (16-20260208-1ubuntu1) ... 118s Setting up libxtables12:arm64 (1.8.11-2ubuntu3) ... 118s Setting up dracut-install (109-11ubuntu1) ... 118s Setting up libcryptsetup12:arm64 (2:2.8.0-1ubuntu3) ... 118s Setting up libstdc++6:arm64 (16-20260208-1ubuntu1) ... 118s Setting up cryptsetup-bin (2:2.8.0-1ubuntu3) ... 118s Setting up iptables (1.8.11-2ubuntu3) ... 118s Setting up iproute2 (6.18.0-1ubuntu1) ... 118s Processing triggers for man-db (2.13.1-1build1) ... 119s Processing triggers for install-info (7.2-5) ... 120s Processing triggers for libc-bin (2.42-2ubuntu4) ... 120s autopkgtest [07:10:18]: upgrading testbed (apt dist-upgrade and autopurge) 120s Reading package lists... 120s Building dependency tree... 120s Reading state information... 121s Calculating upgrade... 121s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 121s Reading package lists... 121s Building dependency tree... 121s Reading state information... 122s Solving dependencies... 122s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 125s autopkgtest [07:10:23]: testbed running kernel: Linux 6.19.0-3-generic #3-Ubuntu SMP PREEMPT_DYNAMIC Fri Jan 23 19:46:27 UTC 2026 125s autopkgtest [07:10:23]: @@@@@@@@@@@@@@@@@@@@ apt-source ruby-concurrent 128s Get:1 http://ftpmaster.internal/ubuntu resolute-proposed/universe ruby-concurrent 1.3.6-1 (dsc) [2312 B] 128s Get:2 http://ftpmaster.internal/ubuntu resolute-proposed/universe ruby-concurrent 1.3.6-1 (tar) [1006 kB] 128s Get:3 http://ftpmaster.internal/ubuntu resolute-proposed/universe ruby-concurrent 1.3.6-1 (diff) [6228 B] 128s gpgv: Signature made Mon Feb 9 19:00:48 2026 UTC 128s gpgv: using RSA key 5C7ABEA20F8630459CC8C8B5E27F2CF8458C2FA4 128s gpgv: Can't check signature: No public key 128s dpkg-source: warning: cannot verify inline signature for ./ruby-concurrent_1.3.6-1.dsc: no acceptable signature found 128s autopkgtest [07:10:26]: testing package ruby-concurrent version 1.3.6-1 128s autopkgtest [07:10:26]: build not needed 129s autopkgtest [07:10:27]: test ruby: preparing testbed 129s Reading package lists... 129s Building dependency tree... 129s Reading state information... 129s Solving dependencies... 130s The following NEW packages will be installed: 130s gem2deb-test-runner libruby libruby3.3 rake ruby ruby-concurrent 130s ruby-concurrent-ext ruby-csv ruby-did-you-mean ruby-diff-lcs ruby-minitest 130s ruby-net-telnet ruby-power-assert ruby-rspec ruby-rspec-core 130s ruby-rspec-expectations ruby-rspec-mocks ruby-rspec-support 130s ruby-ruby2-keywords ruby-rubygems ruby-test-unit ruby-timecop ruby-webrick 130s ruby-xmlrpc ruby3.3 rubygems-integration 130s 0 upgraded, 26 newly installed, 0 to remove and 0 not upgraded. 130s Need to get 7426 kB of archives. 130s After this operation, 41.5 MB of additional disk space will be used. 130s Get:1 http://ftpmaster.internal/ubuntu resolute/main arm64 rubygems-integration all 1.19build1 [5666 B] 130s Get:2 http://ftpmaster.internal/ubuntu resolute/main arm64 ruby-csv all 3.3.4-1 [43.0 kB] 130s Get:3 http://ftpmaster.internal/ubuntu resolute/main arm64 ruby-did-you-mean all 1.6.3-2build1 [14.9 kB] 130s Get:4 http://ftpmaster.internal/ubuntu resolute/main arm64 ruby-net-telnet all 0.2.0-1build1 [13.5 kB] 130s Get:5 http://ftpmaster.internal/ubuntu resolute/main arm64 ruby-ruby2-keywords all 0.0.5-1build1 [4398 B] 130s Get:6 http://ftpmaster.internal/ubuntu resolute/main arm64 ruby-webrick all 1.9.1-1build1 [60.9 kB] 130s Get:7 http://ftpmaster.internal/ubuntu resolute/main arm64 ruby-xmlrpc all 0.3.3-2build1 [24.9 kB] 130s Get:8 http://ftpmaster.internal/ubuntu resolute/main arm64 libruby3.3 arm64 3.3.8-2ubuntu2 [5971 kB] 137s Get:9 http://ftpmaster.internal/ubuntu resolute/main arm64 ruby3.3 arm64 3.3.8-2ubuntu2 [59.1 kB] 137s Get:10 http://ftpmaster.internal/ubuntu resolute/main arm64 libruby arm64 1:3.3 [5164 B] 137s Get:11 http://ftpmaster.internal/ubuntu resolute/main arm64 ruby-rubygems all 3.6.7-2ubuntu2 [332 kB] 137s Get:12 http://ftpmaster.internal/ubuntu resolute/main arm64 ruby arm64 1:3.3 [3668 B] 137s Get:13 http://ftpmaster.internal/ubuntu resolute/main arm64 rake all 13.2.1-1build1 [45.9 kB] 137s Get:14 http://ftpmaster.internal/ubuntu resolute/universe arm64 ruby-minitest all 5.26.1-1 [49.3 kB] 137s Get:15 http://ftpmaster.internal/ubuntu resolute/universe arm64 ruby-power-assert all 3.0.1-1 [11.4 kB] 137s Get:16 http://ftpmaster.internal/ubuntu resolute/universe arm64 ruby-test-unit all 3.6.2-1 [67.0 kB] 137s Get:17 http://ftpmaster.internal/ubuntu resolute/universe arm64 gem2deb-test-runner arm64 2.2.5 [18.3 kB] 137s Get:18 http://ftpmaster.internal/ubuntu resolute-proposed/universe arm64 ruby-concurrent all 1.3.6-1 [284 kB] 137s Get:19 http://ftpmaster.internal/ubuntu resolute-proposed/universe arm64 ruby-concurrent-ext arm64 1.3.6-1 [9614 B] 137s Get:20 http://ftpmaster.internal/ubuntu resolute/universe arm64 ruby-diff-lcs all 1.5.1-1 [22.8 kB] 137s Get:21 http://ftpmaster.internal/ubuntu resolute/universe arm64 ruby-rspec-support all 3.13.0c0e0m0s1-2 [29.2 kB] 137s Get:22 http://ftpmaster.internal/ubuntu resolute/universe arm64 ruby-rspec-core all 3.13.0c0e0m0s1-2 [164 kB] 137s Get:23 http://ftpmaster.internal/ubuntu resolute/universe arm64 ruby-rspec-expectations all 3.13.0c0e0m0s1-2 [89.8 kB] 137s Get:24 http://ftpmaster.internal/ubuntu resolute/universe arm64 ruby-rspec-mocks all 3.13.0c0e0m0s1-2 [81.0 kB] 137s Get:25 http://ftpmaster.internal/ubuntu resolute/universe arm64 ruby-rspec all 3.13.0c0e0m0s1-2 [3500 B] 137s Get:26 http://ftpmaster.internal/ubuntu resolute/universe arm64 ruby-timecop all 0.9.10-1.1 [11.5 kB] 137s Fetched 7426 kB in 7s (1093 kB/s) 137s Selecting previously unselected package rubygems-integration. 137s (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 ... 136605 files and directories currently installed.) 137s Preparing to unpack .../00-rubygems-integration_1.19build1_all.deb ... 137s Unpacking rubygems-integration (1.19build1) ... 137s Selecting previously unselected package ruby-csv. 137s Preparing to unpack .../01-ruby-csv_3.3.4-1_all.deb ... 137s Unpacking ruby-csv (3.3.4-1) ... 137s Selecting previously unselected package ruby-did-you-mean. 137s Preparing to unpack .../02-ruby-did-you-mean_1.6.3-2build1_all.deb ... 137s Unpacking ruby-did-you-mean (1.6.3-2build1) ... 137s Selecting previously unselected package ruby-net-telnet. 137s Preparing to unpack .../03-ruby-net-telnet_0.2.0-1build1_all.deb ... 137s Unpacking ruby-net-telnet (0.2.0-1build1) ... 137s Selecting previously unselected package ruby-ruby2-keywords. 137s Preparing to unpack .../04-ruby-ruby2-keywords_0.0.5-1build1_all.deb ... 137s Unpacking ruby-ruby2-keywords (0.0.5-1build1) ... 137s Selecting previously unselected package ruby-webrick. 137s Preparing to unpack .../05-ruby-webrick_1.9.1-1build1_all.deb ... 137s Unpacking ruby-webrick (1.9.1-1build1) ... 137s Selecting previously unselected package ruby-xmlrpc. 137s Preparing to unpack .../06-ruby-xmlrpc_0.3.3-2build1_all.deb ... 137s Unpacking ruby-xmlrpc (0.3.3-2build1) ... 137s Selecting previously unselected package libruby3.3:arm64. 137s Preparing to unpack .../07-libruby3.3_3.3.8-2ubuntu2_arm64.deb ... 137s Unpacking libruby3.3:arm64 (3.3.8-2ubuntu2) ... 138s Selecting previously unselected package ruby3.3. 138s Preparing to unpack .../08-ruby3.3_3.3.8-2ubuntu2_arm64.deb ... 138s Unpacking ruby3.3 (3.3.8-2ubuntu2) ... 138s Selecting previously unselected package libruby:arm64. 138s Preparing to unpack .../09-libruby_1%3a3.3_arm64.deb ... 138s Unpacking libruby:arm64 (1:3.3) ... 138s Selecting previously unselected package ruby-rubygems. 138s Preparing to unpack .../10-ruby-rubygems_3.6.7-2ubuntu2_all.deb ... 138s Unpacking ruby-rubygems (3.6.7-2ubuntu2) ... 138s Selecting previously unselected package ruby. 138s Preparing to unpack .../11-ruby_1%3a3.3_arm64.deb ... 138s Unpacking ruby (1:3.3) ... 138s Selecting previously unselected package rake. 138s Preparing to unpack .../12-rake_13.2.1-1build1_all.deb ... 138s Unpacking rake (13.2.1-1build1) ... 138s Selecting previously unselected package ruby-minitest. 138s Preparing to unpack .../13-ruby-minitest_5.26.1-1_all.deb ... 138s Unpacking ruby-minitest (5.26.1-1) ... 138s Selecting previously unselected package ruby-power-assert. 138s Preparing to unpack .../14-ruby-power-assert_3.0.1-1_all.deb ... 138s Unpacking ruby-power-assert (3.0.1-1) ... 138s Selecting previously unselected package ruby-test-unit. 138s Preparing to unpack .../15-ruby-test-unit_3.6.2-1_all.deb ... 138s Unpacking ruby-test-unit (3.6.2-1) ... 138s Selecting previously unselected package gem2deb-test-runner. 138s Preparing to unpack .../16-gem2deb-test-runner_2.2.5_arm64.deb ... 138s Unpacking gem2deb-test-runner (2.2.5) ... 138s Selecting previously unselected package ruby-concurrent. 138s Preparing to unpack .../17-ruby-concurrent_1.3.6-1_all.deb ... 138s Unpacking ruby-concurrent (1.3.6-1) ... 138s Selecting previously unselected package ruby-concurrent-ext. 138s Preparing to unpack .../18-ruby-concurrent-ext_1.3.6-1_arm64.deb ... 138s Unpacking ruby-concurrent-ext (1.3.6-1) ... 138s Selecting previously unselected package ruby-diff-lcs. 138s Preparing to unpack .../19-ruby-diff-lcs_1.5.1-1_all.deb ... 138s Unpacking ruby-diff-lcs (1.5.1-1) ... 138s Selecting previously unselected package ruby-rspec-support. 138s Preparing to unpack .../20-ruby-rspec-support_3.13.0c0e0m0s1-2_all.deb ... 138s Unpacking ruby-rspec-support (3.13.0c0e0m0s1-2) ... 138s Selecting previously unselected package ruby-rspec-core. 138s Preparing to unpack .../21-ruby-rspec-core_3.13.0c0e0m0s1-2_all.deb ... 138s Unpacking ruby-rspec-core (3.13.0c0e0m0s1-2) ... 138s Selecting previously unselected package ruby-rspec-expectations. 138s Preparing to unpack .../22-ruby-rspec-expectations_3.13.0c0e0m0s1-2_all.deb ... 138s Unpacking ruby-rspec-expectations (3.13.0c0e0m0s1-2) ... 138s Selecting previously unselected package ruby-rspec-mocks. 138s Preparing to unpack .../23-ruby-rspec-mocks_3.13.0c0e0m0s1-2_all.deb ... 138s Unpacking ruby-rspec-mocks (3.13.0c0e0m0s1-2) ... 138s Selecting previously unselected package ruby-rspec. 138s Preparing to unpack .../24-ruby-rspec_3.13.0c0e0m0s1-2_all.deb ... 138s Unpacking ruby-rspec (3.13.0c0e0m0s1-2) ... 139s Selecting previously unselected package ruby-timecop. 139s Preparing to unpack .../25-ruby-timecop_0.9.10-1.1_all.deb ... 139s Unpacking ruby-timecop (0.9.10-1.1) ... 139s Setting up ruby-ruby2-keywords (0.0.5-1build1) ... 139s Setting up ruby-power-assert (3.0.1-1) ... 139s Setting up rubygems-integration (1.19build1) ... 139s Setting up ruby-concurrent (1.3.6-1) ... 139s Setting up ruby-timecop (0.9.10-1.1) ... 139s Setting up ruby-minitest (5.26.1-1) ... 139s Setting up ruby-test-unit (3.6.2-1) ... 139s Setting up ruby-net-telnet (0.2.0-1build1) ... 139s Setting up ruby-csv (3.3.4-1) ... 139s Setting up ruby-rspec-support (3.13.0c0e0m0s1-2) ... 139s Setting up ruby-webrick (1.9.1-1build1) ... 139s Setting up ruby-did-you-mean (1.6.3-2build1) ... 139s Setting up ruby-xmlrpc (0.3.3-2build1) ... 139s Setting up rake (13.2.1-1build1) ... 139s Setting up libruby3.3:arm64 (3.3.8-2ubuntu2) ... 139s Setting up ruby3.3 (3.3.8-2ubuntu2) ... 139s Setting up libruby:arm64 (1:3.3) ... 139s Setting up ruby (1:3.3) ... 139s Setting up ruby-rspec-core (3.13.0c0e0m0s1-2) ... 139s Setting up ruby-diff-lcs (1.5.1-1) ... 139s Setting up ruby-rubygems (3.6.7-2ubuntu2) ... 139s Setting up gem2deb-test-runner (2.2.5) ... 139s Setting up ruby-concurrent-ext (1.3.6-1) ... 139s Setting up ruby-rspec-expectations (3.13.0c0e0m0s1-2) ... 139s Setting up ruby-rspec-mocks (3.13.0c0e0m0s1-2) ... 139s Setting up ruby-rspec (3.13.0c0e0m0s1-2) ... 139s Processing triggers for libc-bin (2.42-2ubuntu4) ... 139s Processing triggers for man-db (2.13.1-1build1) ... 140s autopkgtest [07:10:38]: 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 140s autopkgtest [07:10:38]: test ruby: [----------------------- 141s 141s ┌──────────────────────────────────────────────────────────────────────────────┐ 141s │ Run tests for ruby3.3 from debian/ruby-tests.rake │ 141s └──────────────────────────────────────────────────────────────────────────────┘ 141s 141s RUBYLIB=. GEM_PATH= ruby3.3 -S rake --rakelibdir /gem2deb-nonexistent -f debian/ruby-tests.rake 141s mv lib ./.gem2deb.lib 141s mv ext ./.gem2deb.ext 141s /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 141s Run options: exclude {:stress=>true} 141s 141s Randomized with seed 1 141s 141s Concurrent::IVar 141s #initialize 141s can set an initial value 141s does not have to set an initial value 141s can set an initial value with a block 141s does not set an initial value if you pass NULL 141s raises an exception if given both a value and a block 141s observation 141s notifies all observers on #set 141s deadlock avoidance 141s should notify observers outside mutex lock 141s should notify a new observer added after fulfillment outside lock 141s it should behave like ivar 141s initialization 141s sets the state to incomplete 141s it should behave like dereferenceable 141s does not call #freeze when #freeze_on_deref is set and the value is nil 141s defaults :copy_on_deref to nil 141s defaults :dup_on_deref to false 141s supports dereference flags with observers 141s calls #freeze when the :freeze_on_deref option is true 141s defaults :freeze_on_deref to false 141s does not call #dup when #dup_on_deref is set and the value is nil 141s calls #dup when the :dup_on_deref option is true 141s calls the block when the :copy_on_deref option is passed a proc 141s does not call the #copy_on_deref block when the value is nil 141s calls the :copy block first followed by #dup followed by #freeze 141s it should behave like obligation 141s #value 141s returns nil when reaching the optional timeout value 141s is nil when :pending 141s blocks the caller when :pending and timeout is nil 142s returns the value when fulfilled before timeout 142s is set to the return value of the block when :fulfilled 142s is nil when :rejected 142s returns nil when timeout reached 142s returns immediately when timeout is zero 142s #state 142s is :pending when first created 142s is :fulfilled when the handler completes 142s is :rejected when the handler raises an exception 142s #reason 142s is nil when :fulfilled 142s is set to error object of the exception when :rejected 142s is nil when :pending 142s it should behave like observable 142s #delete_observer 142s deletes the given observer if called before first notification 142s returns the given observer even when not found in the observer set 142s returns the removed observer if found in the observer set 142s #add_observer 142s raises an exception if not given an observer or a block 142s adds an observer if called before first notification 142s raises an exception when given both an observer and a block 142s creates an observer from a block if called before first notification 142s adds an observer with :func if called before first notification 142s first notification 143s does not notify any observers after #delete_observers called 143s calls the appropriate function on all observers which specified a :func 144s does not notify any observers removed with #delete_observer 144s calls the proc for all observers added as a block 144s calls the #update method on all observers without a specified :func 144s #count_observers 144s returns zero for a new observable object 144s returns a count of registered observers if called before first notification 144s returns zero after #delete_observers has been called 144s #delete_observers 144s deletes all observers when called before first notification 144s returns self 144s #set 144s raises an exception when given neither a value nor a block 144s raises an exception if set more than once 144s rejects when given a block which raises an exception 144s returns self 144s sets the state to be fulfilled 144s fulfils when given a block which executes successfully 144s raises an exception when given a value and a block 144s sets the value 144s #fail 144s sets the reason to the given exception 144s raises an exception if set more than once 144s sets the value to be nil 144s returns self 144s defaults the reason to a StandardError 144s sets the state to be rejected 144s #try_set 144s when unset 144s assigns the value 144s assigns the block result 144s returns true 144s when rejected 144s does not assign the block result 144s returns false 144s has a nil value 144s does not assign the value 144s when fulfilled 144s does not assign the value 144s returns false 144s does not assign the block result 144s 144s Concurrent::LazyRegister 144s example at ./spec/concurrent/lazy_register_spec.rb:6 (PENDING: Not yet implemented) 144s 144s dataflow 144s #dataflow uses the global fast executor 144s #dataflow_with raises an exception when no executor given 144s raises an exception when no block given 144s accepts completed dependencies 144s doesn't raise exceptions from dependencies, unless called with ! 144s returns a Future 144s accepts zero or more dependencies 144s accepts uncompleted dependencies 144s #dataflow_with uses the given executor 144s raises an exception if any dependencies are not IVars 144s passes the values of dependencies into the block 144s if there is more than one 144s if there is just one 144s does not schedule the Future 144s if no dependencies are completed 144s if one dependency of two is completed 144s module function 144s can be called as Concurrent.dataflow and Concurrent.dataflow_with 144s counts already executed dependencies 144s if there is more than one 144s if there is just one 144s schedules the Future when all dependencies are available 144s if there is more than one 144s if there is just one 144s 144s Concurrent::MutableStruct 144s #[member]= 144s sets the value when given a valid string member 144s sets the value when given a valid symbol member 144s raises an exception when given a non-existent symbol member 144s raises an exception when given a non-existent string member 144s synchronization 144s protects #[member] 144s protects #values 144s protects #to_h 144s protects getter methods 144s protects #each_pair 144s protects getter methods 144s protects #inspect 144s protects #[member]= 144s protects #to_s 144s protects #values_at 144s protects #merge 144s protects #initialize_copy 144s protects #[index]= 144s protects #== 144s protects #each 144s protects #[index] 144s protects #select 144s definition 144s defines a setter for each member 144s copy 144s #clone 144s mutates only the copy 144s #dup 144s mutates only the copy 144s #[index]= 144s sets the value when given a valid index 144s raises an exception when given an out-of-bound index 144s it should behave like struct 144s properties 144s #members 144s returns a different object than the array passed at definition 144s returns the struct members as an array of symbols 144s #size 144s returns the number of struct members 144s #values 144s returns the values of the struct as an array in order 144s #values_at 144s returns values for ranges and offsets 144s returns the values at multiple given offsets 144s returns values at offsets in a given range 144s returns the value at the given offset 144s returns values for multiple ranges 144s #length 144s returns the number of struct members 144s comparison 144s #!= 144s returns false if other has same struct subclass and equal values 144s returns true if other has different values 144s returns true if other has different struct subclass 144s #== 144s returns true if other has same struct subclass and equal values 144s returns false if other has different struct subclass 144s returns false if other has different values 144s definition 144s registers the class when given a class name which is defined in the ancestors 144s ignores methods on ancestor classes 144s defines a getter for each member 144s raises an exception when given no members 144s raises an exception when given an invalid class name 144s registers the class when given a class name 144s raise an exception when given an invalid member 144s evalues a given block against the new class 144s creates an anonymous class when given at least one member 144s conversion 144s #to_a 144s returns the to_a for this struct as an array 144s #to_s 144s returns the same string as #inspect 144s includes the name of the class when registered 144s includes the names of all members 144s includes all values 144s #to_h 144s returns a Hash containing the names and values in order 144s accessors 144s #[index] 144s retrieves the value when given a valid index 144s raises an exception when given an out-of-bound index 144s #[member] 144s retrieves the value when given a valid string member 144s raises an exception when given a non-existent string member 144s raises an exception when given a non-existent symbol member 144s retrieves the value when given a valid symbol member 144s enumeration 144s #select 144s yields each value 144s returns an enumerator when no block is given 144s returns an Array with the values from for which the block returns true 144s #each 144s returns an enumerator when no block is given 144s yields the value of each struct member in order 144s #each_pair 144s returns an enumerator when no block is given 144s yields the name and value of each struct member in order 144s construction 144s raises an exception when extra members are given 144s sets all absent members to nil 144s sets all given members in order 144s copy 144s #dup 144s discards singleton class 144s shallowly duplicates all members along with the struct 144s discards frozen state of the struct 144s retains frozen state of members 144s copies the singleton class of members 144s #clone 144s retains frozen state 144s copies the singleton class 144s copies the singleton class of members 144s shallowly clones all members along with the struct 144s it should behave like mergeable_struct 144s #merge 144s calls the given block for each key in `other` 144s raises an exception when given a hash with members not in the struct 144s returns a new object 144s retains the value for all members not without values in the given hash 144s updates all members with the new values from a given hash 144s 144s Concurrent 144s Cancellation 144s basic 144s is expected to be falsey 144s is expected to be truthy 144s #join 144s is expected to eq 2 144s is expected to be falsey 144s 144s #atomically 144s provides atomicity 144s raises an exception when no block given 144s reflects transactional writes from within the same transaction 144s undoes writes if the transaction is aborted 144s commits writes if the transaction succeeds 144s retries on abort 144s nests 144s raises the same exception that was raised in Concurrent::atomically 144s 144s Concurrent::Set 144s .[] 144s when initializing with arguments 144s creates a set with the given objects 144s when initializing with no arguments 144s is expected to be empty 144s .new 144s when initializing with no arguments 144s is expected to be empty 144s when initializing with an enumerable object 144s creates a set with the contents of the enumerable object 144s when initializing with a block argument 144s creates a set with the contents of the enumerable object 144s concurrency 144s #each 144s force context switch 145s #add and #delete 145s 145s Concurrent::Delay 145s #reconfigure 145s returns value of block used in reconfiguration 145s returns false when process completed? 145s #value 145s can be called twice 145s calls the block when #value is called 145s raises when called recursively 145s does not call the block before #value is called 145s only calls the block once no matter how often #value is called 145s behavior 145s it should behave like dereferenceable 145s calls the block when the :copy_on_deref option is passed a proc 145s defaults :copy_on_deref to nil 145s does not call #freeze when #freeze_on_deref is set and the value is nil 145s calls #dup when the :dup_on_deref option is true 145s does not call #dup when #dup_on_deref is set and the value is nil 145s defaults :dup_on_deref to false 145s supports dereference flags with observers 145s does not call the #copy_on_deref block when the value is nil 145s calls the :copy block first followed by #dup followed by #freeze 145s defaults :freeze_on_deref to false 145s calls #freeze when the :freeze_on_deref option is true 145s it should behave like obligation 145s #reason 145s is nil when :pending 145s is nil when :fulfilled 145s is set to error object of the exception when :rejected 145s #value 145s is nil when :rejected 145s is set to the return value of the block when :fulfilled 145s returns immediately when timeout is zero 145s blocks the caller when :pending and timeout is nil 145s returns nil when reaching the optional timeout value 145s returns nil when timeout reached 145s returns the value when fulfilled before timeout 145s is nil when :pending 145s #state 145s is :pending when first created 145s is :rejected when the handler raises an exception 145s is :fulfilled when the handler completes 145s #initialize 145s raises an exception when no block given 145s sets the state to :pending 145s 145s Concurrent::Promise 145s #rescue 145s returns a new promise 145s it should behave like thread_arguments 145s passes a one-element array when the :args key has a non-array value 145s passes an empty array when opts is not given 145s passes an empty array when the :args key has a nil value 145s passes an empty array when opts is an empty hash 145s allows the given arguments array to be dereferenced 145s passes the given array when the :args key has a complex array value 145s passes an array when when the :args key has an array value 145s passes an empty array when there is no :args key 145s aliases 145s aliases #realized? for #fulfilled? 145s aliases #catch for #rescue 145s aliases #deref for #value 145s aliases #on_error for #rescue 145s fulfillment 145s can manage long chain 145s sets the promise state to :fulfilled if the block completes 145s passes the result of each block to all its children 145s sets the promise value to the result if its block 145s uses result as fulfillment value when a promise has no block 145s passes the last result through when a promise has no block 145s #fail 145s can only be called on the root promise 145s rejects children 145s #set 145s triggers children 145s can be called with a block 145s #can only be called on the root promise 145s rejection 145s sets the promise value to the result if its block 145s passes the reason to all its children 145s rejects on Exception 145s sets the promise state to :rejected if the block completes 145s uses reason as rejection reason when a promise has no rescue callable 145s .zip 145s does not execute the returned Promise when execute is false 146s preserves ordering of the executed promises 146s executes the returned Promise by default 146s allows setting executor for Promise chain 146s fails if one component fails 146s executes the returned Promise when execute is true 146s yields the results as an array 146s aggregators 146s .any? 146s executes the #then condition when any components succeed 146s executes the #rescue handler if all componenst fail 146s does not execute the returned Promise 146s returns a new Promise 146s executes the #then condition when no promises are given 146s .all? 146s executes the #then condition when all components succeed 146s executes the #rescue handler if even one component fails 146s returns a new Promise 146s does not execute the returned Promise 146s executes the #then condition when no promises are given 146s initializers 146s .execute 146s passes the block to the new Promise 146s calls #execute on the new Promise 146s creates a new Promise 146s .fulfill 146s should return a Promise with set value 146s should return a fulfilled Promise 146s should return a Promise 146s .reject 146s should return a Promise with set reason 146s should return a Promise 146s should return a rejected Promise 146s .new 146s should return an unscheduled Promise 146s #then 146s should have block or rescuers 146s returns a new promise when a block and rescuer are passed 146s returns a new promise when a block is passed 146s returns a new promise when a rescuer is passed 146s can be called more than once 146s supports setting the executor using a named parameter 146s returns a new promise when a block, rescuer and executor are passed 146s fulfilled 146s returns a new Promise 146s notifies fulfillment to new child 146s rejected 146s returns a new Promise when :rejected 146s notifies rejection to new child 146s pending 146s returns a new promise 146s returns a pending promise 146s unscheduled 146s returns a new promise 146s returns an unscheduled promise 146s on_success 146s returns a new promise 146s should have a block 146s #execute 146s with children 146s when called on a child 147s should set all promises to :pending 147s when called on child after parent completes 147s sets state to :pending immediately 147s when called on the root 148s should set all promises to :pending 148s pending 148s does not post again 148s sets the promise to :pending 148s unscheduled 148s posts the block given in construction 149s sets the promise to :pending 149s #flat_map 149s returns a promise 149s fails if the left promise fails 149s fails if the right promise fails 149s fails if the generating block fails 149s succeeds if both promises succeed 149s #zip 149s allows setting executor for Promise chain 149s fails if one component fails 149s executes the returned Promise when execute is true 149s does not execute the returned Promise when execute is false 149s executes the returned Promise by default 149s preserves ordering of the executed promises 149s yields the results as an array 149s it should behave like ivar 149s #set 149s raises an exception if set more than once 149s returns self 149s raises an exception when given neither a value nor a block 149s raises an exception when given a value and a block 149s rejects when given a block which raises an exception 149s sets the state to be fulfilled 149s sets the value 149s fulfils when given a block which executes successfully 149s #try_set 149s when fulfilled 149s returns false 149s does not assign the value 149s does not assign the block result 149s when rejected 149s returns false 149s does not assign the block result 149s has a nil value 149s does not assign the value 149s when unset 149s returns true 149s assigns the value 149s assigns the block result 149s it should behave like observable 149s #add_observer 149s adds an observer with :func if called before first notification 149s raises an exception if not given an observer or a block 149s creates an observer from a block if called before first notification 149s adds an observer if called before first notification 149s raises an exception when given both an observer and a block 149s #count_observers 149s returns zero for a new observable object 149s returns a count of registered observers if called before first notification 149s returns zero after #delete_observers has been called 149s first notification 150s does not notify any observers removed with #delete_observer 151s does not notify any observers after #delete_observers called 151s calls the proc for all observers added as a block 151s calls the appropriate function on all observers which specified a :func 151s calls the #update method on all observers without a specified :func 151s #delete_observer 151s returns the given observer even when not found in the observer set 151s returns the removed observer if found in the observer set 151s deletes the given observer if called before first notification 151s #delete_observers 151s returns self 151s deletes all observers when called before first notification 151s initialization 151s sets the state to incomplete 151s #fail 151s sets the state to be rejected 151s sets the value to be nil 151s raises an exception if set more than once 151s defaults the reason to a StandardError 151s sets the reason to the given exception 151s returns self 151s it should behave like dereferenceable 152s calls the block when the :copy_on_deref option is passed a proc 152s defaults :copy_on_deref to nil 152s does not call #freeze when #freeze_on_deref is set and the value is nil 152s calls #dup when the :dup_on_deref option is true 152s supports dereference flags with observers 152s calls #freeze when the :freeze_on_deref option is true 153s calls the :copy block first followed by #dup followed by #freeze 153s defaults :dup_on_deref to false 153s defaults :freeze_on_deref to false 153s does not call #dup when #dup_on_deref is set and the value is nil 153s does not call the #copy_on_deref block when the value is nil 153s it should behave like obligation 153s #value 158s blocks the caller when :pending and timeout is nil 158s returns nil when reaching the optional timeout value 158s is set to the return value of the block when :fulfilled 158s is nil when :pending 158s returns nil when timeout reached 158s returns immediately when timeout is zero 158s is nil when :rejected 163s returns the value when fulfilled before timeout 163s #reason 163s is nil when :fulfilled 163s is nil when :pending 163s is set to error object of the exception when :rejected 163s #state 163s is :pending when first created 163s is :fulfilled when the handler completes 163s is :rejected when the handler raises an exception 163s 163s Concurrent::TVar 163s #value 163s gets the value 163s #initialize 163s accepts an initial value 163s #value= 163s sets the value 163s 163s Concurrent::Async 163s object creation 163s initializes synchronization 163s passes all args to the original constructor 163s delegates to the original constructor 163s passes a given block to the original constructor 163s #await 163s raises an error when calling a method that does not exist 163s raises an error when passing too few arguments 163s sets the reason when giving too many optional arguments 163s supports methods with blocks 163s sets the value on success 163s supports attribute accessors 163s returns a :fulfilled IVar 163s runs the future on the global executor 163s returns the existence of the method 163s raises an error when passing too many arguments (arity >= 0) 163s sets the reason on failure 163s #validate_argc 163s raises an exception for too many args on a method with positive arity 163s raises an exception for too many args on a zero arity method 163s does not raise an exception for correct negative arity 163s raises an exception for too few args on a method with negative arity 163s raises an exception when the method is not defined 163s raises an exception for too few args on a method with positive arity 163s does not raise an exception for correct positive arity 163s does not raise an exception for correct zero arity 163s fork safety 163s does not hang when forked 163s locking 164s uses the same lock for both #async and #await 164s #async 164s sets the reason on failure 164s raises an error when calling a method that does not exist 164s supports methods with blocks 164s returns the existence of the method 164s raises an error when passing too few arguments 164s raises an error when passing too many arguments (arity >= 0) 164s supports attribute accessors 164s runs the future on the global executor 164s returns a :pending IVar 164s sets the value on success 164s sets the reason when giving too many optional arguments 164s 164s Concurrent::MVar 164s #take 164s returns TIMEOUT on timeout on an empty MVar 164s waits for another thread to #put 164s returns the value on a full MVar 164s sets the MVar to empty 164s spurious wake ups 164s #put 165s returns TIMEOUT on timeout on a full MVar 165s waits for another thread to #take 165s #modify 166s waits for another thread to #put 166s returns TIMEOUT on timeout on an empty MVar 166s #take 166s waits for another thread to #put 167s returns TIMEOUT on timeout on an empty MVar 167s #empty? 167s returns false on a full MVar 167s returns true on an empty MVar 167s #set! 167s sets a full MVar to be full 167s returns EMPTY on an empty MVar 167s sets an empty MVar to be full 167s returns the original value on a full MVar 167s #modify! 167s raises an exception when no block given 167s modifies an empty MVar 167s returns the unmodified value 167s can be used to set an empty MVar to empty 167s can be used to set a full MVar to empty 167s modifies a full MVar 167s #initialize 167s accepts an initial value 167s accepts a nil initial value 167s accepts no initial value 167s accepts an empty initial value 167s #try_take! 167s returns EMPTY an empty MVar 167s returns the value on a full MVar 167s sets a full MVar to be empty 167s #borrow 167s returns TIMEOUT on timeout on an empty MVar 167s yields current value to the block and puts back value 167s returns the returned value of the block 167s puts back value even if an exception is raised 167s #put 167s returns the value 167s sets a new value on an empty MVar 167s waits for another thread to #take 167s sets the MVar to be empty 167s returns TIMEOUT on timeout on a full MVar 167s #full? 167s returns true on a full MVar 167s returns false on an empty MVar 167s #try_put! 167s returns false on a full MVar 167s returns true an empty MVar 167s sets an empty MVar to be full 167s #modify 167s waits for another thread to #put 167s returns TIMEOUT on timeout on an empty MVar 168s is atomic 168s raises an exception when no block given 168s modifies a full MVar 168s returns the unmodified value 168s behavior 168s it should behave like dereferenceable 168s calls the block when the :copy_on_deref option is passed a proc 168s defaults :copy_on_deref to nil 168s supports dereference flags with observers 168s does not call #freeze when #freeze_on_deref is set and the value is nil 168s defaults :dup_on_deref to false 168s does not call #dup when #dup_on_deref is set and the value is nil 168s calls the :copy block first followed by #dup followed by #freeze 168s defaults :freeze_on_deref to false 168s calls #freeze when the :freeze_on_deref option is true 168s does not call the #copy_on_deref block when the value is nil 168s calls #dup when the :dup_on_deref option is true 168s 168s configuration 168s global executors 168s creates a global fast executor 168s creates a global timer set 168s creates a global io executor 168s 168s Concurrent::TimerTask 168s execution 168s uses a custom executor when given 169s waits for :execution_interval seconds when the :run_now option is not given 169s uses a fixed rate when set 169s uses a fixed delay when set 169s passes a "self" reference to the block as the sole argument 169s uses the global executor by default 170s waits for :execution_interval seconds when the :run_now option is false 170s runs the block immediately when the :run_now option is true 170s arguments 170s TimeTask timeouts are now ignored as these were not able to be implemented correctly 170s #timeout_interval being written produces a warning 170s TimeTask timeouts are now ignored as these were not able to be implemented correctly 170s #execution_interval is writeable 170s raises an exception if no block given 170s raises on invalid interval_type 170s observation 170s notifies all observers on error 170s notifies all observers on success 170s dereferenceable 170s it should behave like dereferenceable 170s defaults :freeze_on_deref to false 170s defaults :copy_on_deref to nil 171s calls #freeze when the :freeze_on_deref option is true 171s does not call the #copy_on_deref block when the value is nil 171s does not call #freeze when #freeze_on_deref is set and the value is nil 171s does not call #dup when #dup_on_deref is set and the value is nil 171s calls the block when the :copy_on_deref option is passed a proc 171s defaults :dup_on_deref to false 171s calls the :copy block first followed by #dup followed by #freeze 172s calls #dup when the :dup_on_deref option is true 172s supports dereference flags with observers 172s created with #new 172s #kill 172s returns true on success 172s #shutdown 172s will cancel pre-shutdown task even if restarted to avoid double-runs 172s returns true on success 172s #initialize 172s uses the default execution interval when no interval is given 172s uses the given execution interval 172s raises an exception if :execution_interval is not greater than zero 172s uses the default :interval_type when no type is given 172s raises an exception if :execution_interval is not an integer 172s raises an exception if :interval_type is not a valid value 172s uses the given interval type 172s raises an exception if no block given 172s observable 172s it should behave like observable 172s #delete_observer 172s deletes the given observer if called before first notification 172s returns the given observer even when not found in the observer set 172s returns the removed observer if found in the observer set 172s #count_observers 172s returns zero after #delete_observers has been called 172s returns a count of registered observers if called before first notification 172s returns zero for a new observable object 172s #delete_observers 172s returns self 172s deletes all observers when called before first notification 172s first notification 173s calls the #update method on all observers without a specified :func 173s calls the appropriate function on all observers which specified a :func 173s calls the proc for all observers added as a block 174s does not notify any observers removed with #delete_observer 175s does not notify any observers after #delete_observers called 175s #add_observer 175s creates an observer from a block if called before first notification 175s raises an exception if not given an observer or a block 175s raises an exception when given both an observer and a block 175s adds an observer with :func if called before first notification 175s adds an observer if called before first notification 175s 175s Concurrent::Hash 175s .[] 175s when initializing with another hash as an argument 175s creates a hash with the results of calling #to_hash on the other array 175s creates a new hash 175s creates a hash with the same contents as the other hash 175s when initializing with an array of pairs 175s creates a hash using each pair as a (key, value) pair 175s when initializing with no arguments 175s is expected to be empty 175s when initializing with an even number of arguments 175s creates a hash using the odd position arguments as keys and even position arguments as values 175s .new 175s when initialized with a block 175s calls the block for non-existing keys 175s returns the results of calling the block for non-existing key 175s when initializing with no arguments 175s is expected to be empty 175s when initialized with a default object 175s uses the default object for non-existing keys 175s concurrency 176s is expected to be empty 176s 176s Concurrent::SettableStruct 176s it should behave like mergeable_struct 176s #merge 176s raises an exception when given a hash with members not in the struct 176s calls the given block for each key in `other` 176s retains the value for all members not without values in the given hash 176s updates all members with the new values from a given hash 176s returns a new object 176s definition 176s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/settable_struct.rb:121: warning: method redefined; discarding old baz 176s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/synchronization/abstract_struct.rb:161: warning: previous definition of baz was here 176s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/settable_struct.rb:121: warning: method redefined; discarding old baz 176s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/synchronization/abstract_struct.rb:161: warning: previous definition of baz was here 176s defines a setter for each member 176s #[index]= 176s raises an exception when given an out-of-bound index 176s raises an exception when given an index that has already been set 176s sets the value when given a valid index 176s it should behave like struct 176s construction 176s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/settable_struct.rb:121: warning: method redefined; discarding old baz 176s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/synchronization/abstract_struct.rb:161: warning: previous definition of baz was here 176s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/settable_struct.rb:121: warning: method redefined; discarding old baz 176s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/synchronization/abstract_struct.rb:161: warning: previous definition of baz was here 176s sets all absent members to nil 176s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/settable_struct.rb:121: warning: method redefined; discarding old baz 176s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/synchronization/abstract_struct.rb:161: warning: previous definition of baz was here 176s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/settable_struct.rb:121: warning: method redefined; discarding old baz 176s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/synchronization/abstract_struct.rb:161: warning: previous definition of baz was here 176s raises an exception when extra members are given 176s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/settable_struct.rb:121: warning: method redefined; discarding old baz 176s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/synchronization/abstract_struct.rb:161: warning: previous definition of baz was here 176s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/settable_struct.rb:121: warning: method redefined; discarding old baz 176s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/synchronization/abstract_struct.rb:161: warning: previous definition of baz was here 176s sets all given members in order 176s accessors 176s #[member] 176s raises an exception when given a non-existent string member 176s retrieves the value when given a valid string member 176s raises an exception when given a non-existent symbol member 176s retrieves the value when given a valid symbol member 176s #[index] 176s retrieves the value when given a valid index 176s raises an exception when given an out-of-bound index 176s definition 176s raise an exception when given an invalid member 176s evalues a given block against the new class 176s ignores methods on ancestor classes 176s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/settable_struct.rb:121: warning: method redefined; discarding old baz 176s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/synchronization/abstract_struct.rb:161: warning: previous definition of baz was here 176s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/settable_struct.rb:121: warning: method redefined; discarding old baz 176s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/synchronization/abstract_struct.rb:161: warning: previous definition of baz was here 176s defines a getter for each member 176s creates an anonymous class when given at least one member 176s raises an exception when given no members 176s registers the class when given a class name 176s raises an exception when given an invalid class name 176s /tmp/autopkgtest.NUd3bx/build.yQw/src/spec/concurrent/struct_shared.rb:15: warning: already initialized constant ValidClassName2 176s /tmp/autopkgtest.NUd3bx/build.yQw/src/spec/concurrent/struct_shared.rb:15: warning: previous definition of ValidClassName2 was here 176s registers the class when given a class name which is defined in the ancestors 176s conversion 176s #to_h 176s returns a Hash containing the names and values in order 176s #to_a 176s returns the to_a for this struct as an array 176s #to_s 176s includes all values 176s returns the same string as #inspect 176s includes the name of the class when registered 176s includes the names of all members 176s copy 176s #clone 176s shallowly clones all members along with the struct 176s copies the singleton class 176s copies the singleton class of members 176s retains frozen state 176s #dup 176s shallowly duplicates all members along with the struct 176s retains frozen state of members 176s discards singleton class 176s discards frozen state of the struct 176s copies the singleton class of members 176s properties 176s #values_at 176s returns values at offsets in a given range 176s returns values for multiple ranges 176s returns the values at multiple given offsets 176s returns the value at the given offset 176s returns values for ranges and offsets 176s #size 176s returns the number of struct members 176s #members 176s returns the struct members as an array of symbols 176s returns a different object than the array passed at definition 176s #values 176s returns the values of the struct as an array in order 176s #length 176s returns the number of struct members 176s enumeration 176s #each_pair 176s returns an enumerator when no block is given 176s yields the name and value of each struct member in order 176s #select 176s yields each value 176s returns an Array with the values from for which the block returns true 176s returns an enumerator when no block is given 176s #each 176s yields the value of each struct member in order 176s returns an enumerator when no block is given 176s comparison 176s #!= 176s returns true if other has different values 176s returns true if other has different struct subclass 176s returns false if other has same struct subclass and equal values 176s #== 176s returns true if other has same struct subclass and equal values 176s returns false if other has different values 176s returns false if other has different struct subclass 176s #[member]= 176s raises an exception when given a string member that has already been set 176s sets the value when given a valid string member 176s raises an exception when given a non-existent string member 176s raises an exception when given a symbol member that has already been set 176s raises an exception when given a non-existent symbol member 176s sets the value when given a valid symbol member 176s synchronization 176s protects getter methods 176s protects #select 176s protects #each_pair 176s protects #inspect 176s protects #[index] 176s protects getter methods 176s protects #to_h 176s protects #initialize_copy 176s protects #[member]= 176s protects #each 176s protects #[index]= 176s protects #values 176s protects #== 176s protects #[member] 176s protects #values_at 176s protects #to_s 176s protects #merge 176s copy 176s #clone 176s retains settability of members 176s #dup 176s retains settability of members 176s 176s Concurrent::ImmutableStruct 176s it should behave like struct 176s accessors 176s #[member] 176s retrieves the value when given a valid string member 176s retrieves the value when given a valid symbol member 176s raises an exception when given a non-existent string member 176s raises an exception when given a non-existent symbol member 176s #[index] 176s retrieves the value when given a valid index 176s raises an exception when given an out-of-bound index 176s definition 176s raise an exception when given an invalid member 176s raises an exception when given no members 176s evalues a given block against the new class 176s raises an exception when given an invalid class name 176s creates an anonymous class when given at least one member 176s /tmp/autopkgtest.NUd3bx/build.yQw/src/spec/concurrent/struct_shared.rb:15: warning: already initialized constant ValidClassName2 176s /tmp/autopkgtest.NUd3bx/build.yQw/src/spec/concurrent/struct_shared.rb:15: warning: previous definition of ValidClassName2 was here 176s registers the class when given a class name which is defined in the ancestors 176s ignores methods on ancestor classes 176s defines a getter for each member 176s registers the class when given a class name 176s conversion 176s #to_s 176s returns the same string as #inspect 176s includes the names of all members 176s includes the name of the class when registered 176s includes all values 176s #to_a 176s returns the to_a for this struct as an array 176s #to_h 176s returns a Hash containing the names and values in order 176s properties 176s #values_at 176s returns values for multiple ranges 176s returns the values at multiple given offsets 176s returns values for ranges and offsets 176s returns values at offsets in a given range 176s returns the value at the given offset 176s #members 176s returns the struct members as an array of symbols 176s returns a different object than the array passed at definition 176s #size 176s returns the number of struct members 176s #length 176s returns the number of struct members 176s #values 176s returns the values of the struct as an array in order 176s comparison 176s #!= 176s returns false if other has same struct subclass and equal values 176s returns true if other has different struct subclass 176s returns true if other has different values 176s #== 176s returns true if other has same struct subclass and equal values 176s returns false if other has different struct subclass 176s returns false if other has different values 176s copy 176s #dup 176s shallowly duplicates all members along with the struct 176s discards frozen state of the struct 176s retains frozen state of members 176s discards singleton class 176s copies the singleton class of members 176s #clone 176s copies the singleton class 176s retains frozen state 176s copies the singleton class of members 176s shallowly clones all members along with the struct 176s construction 176s raises an exception when extra members are given 176s sets all given members in order 176s sets all absent members to nil 176s enumeration 176s #each_pair 176s yields the name and value of each struct member in order 176s returns an enumerator when no block is given 176s #each 176s returns an enumerator when no block is given 176s yields the value of each struct member in order 176s #select 176s returns an enumerator when no block is given 176s yields each value 176s returns an Array with the values from for which the block returns true 176s it should behave like mergeable_struct 176s #merge 176s raises an exception when given a hash with members not in the struct 176s returns a new object 176s updates all members with the new values from a given hash 176s retains the value for all members not without values in the given hash 176s calls the given block for each key in `other` 176s 176s Concurrent::Array 176s concurrency 176s is expected to be empty 176s .new 176s when initializing with a size argument 176s creates an array with size elements set to nil 176s when initializing with a block argument 176s creates an array with size elements set to the default value 176s when initializing with a default value argument 176s creates an array with size elements set to the default value 176s when initializing with no arguments 176s is expected to be empty 176s when initializing with another array as an argument 176s creates an array with the results of calling #to_ary on the other array 176s creates an array with the same contents as the other array 176s creates a new array 176s .[] 176s when initializing with no arguments 176s is expected to be empty 176s when initializing with arguments 176s creates an array with the given objects 176s #slice 176s correctly initializes the monitor 176s 176s Concurrent::Channel 176s #next? 176s returns a just Maybe, true when there are multiple items 176s returns a nothing Maybe and false on failure 176s returns a just Maybe and true when there is one item 176s #take! 176s raises an exception on failure 176s takes the next item when not empty 176s #take? 176s returns a nothing Maybe on failure 176s returns a just Maybe on success 176s #next 176s returns , true when closed and last item 176s returns nil, false when closed and no items remain 176s returns , true when there are multiple items 176s returns nil, false when empty and closed 176s returns , true when there is one item 176s #take 176s returns nil on failure 176s takes the next item when not empty 176s #offer 176s returns true on success 176s rejects nil 176s rejects when the validator raises an exception 176s returns false on failure 176s rejects when the validator returns false 176s put? 176s returns a nothing Maybe on failure 176s rejects when the validator raises an exception 176s accepts nil 176s rejects when the validator returns false 176s returns a just Maybe on success 176s #poll? 176s returns a nothing Maybe immediately if no item is available 176s returns a just Maybe immediately if available 176s returns a nothing Maybe on failure 176s offer? 176s returns a just Maybe on success 176s accepts nil 176s rejects when the validator raises an exception 176s rejects when the validator returns false 176s returns a nothing Maybe on failure 176s offer! 176s returns true on success 176s rejects when the validator raises an exception 176s raises an exception on failure 176s rejects nil 176s rejects when the validator returns false 176s #poll! 176s raises an exception on failure 176s returns the next item immediately if available 176s raises an exception immediately if no item is available 176s #poll 176s returns nil on failure 176s returns nil immediately if no item is available 176s returns the next item immediately if available 176s .each 176s iterates until the channel is closed 176s raises and exception when no block is given 176s put! 176s raises an exception on failure 176s returns true on success 176s rejects when the validator raises an exception 176s rejects nil 176s rejects when the validator returns false 176s factories 176s is expected to receive new(10) 1 time 176s is expected to receive new(10) 1 time 176s goroutines 176s .go_via 176s raises an exception when no block is given 176s is expected to receive post(1, 2, 3) 1 time 176s .go 176s raises an exception when no block is given 176s is expected to receive post(1, 2, 3) 1 time 176s .go_loop 176s loops until the block returns false 176s raises an exception when no block is given 176s .go_loop_via 177s raises an exception when no block is given 177s loops until the block returns false 177s select 177s is expected to be truthy 177s raises an exception when no block is given 177s passes a selector to the block 177s #put 177s rejects when the validator returns false 177s rejects nil 177s rejects when the validator raises an exception 177s returns false on failure 177s returns true on success 177s initialization 177s raises an exception when the :buffer is invalid 177s raises an exception when :dropping given without :capacity 177s is :buffered when :capacity > 0 and no :buffer given 177s is :unbuffered when neither :buffer nore :capacity is given 177s raises an exception when :buffered given without :capacity 177s is :sliding when :sliding and :capacity > 0 177s raises an exception when :buffered and :capacity < 0 177s is :buffered when :buffered given 177s is :dropping when :dropping and :capacity > 0 177s raises an exception when :sliding given without :capacity 177s is :unbuffered when :buffered and capacity: 0 177s raises an exception when :sliding and :capacity < 1 177s raises an exception when both :unbuffered and :capacity are given 177s is :unbuffered when :unbuffered is given 177s uses the given buffer 177s raises an exception when :dropping and :capacity < 1 177s 177s Concurrent::Exchanger 177s class hierarchy 177s inherits from RubyExchanger 177s 177s Concurrent::ProcessingActor 177s is expected to eq "ab" 177s 177s Concurrent::Promises 177s zip_futures_over 177s .event 177s is expected to equal true 177s .zip_events 177s waits for all and returns event 177s Future 177s can be risen when rejected 177s has sync and async callbacks 177s chains with correct arguments 177s runs 177s value! supports setting timeout 177s result supports setting timeout 177s wait! supports setting timeout 177s chains 177s wait supports setting timeout 177s value supports setting timeout 177s constructs promise like tree 177s resolves future when Exception raised 177s allows graphs 177s reason supports setting timeout 177s #flat 177s it propagates rejection of the future which was suppose to provide inner future 177s propagates requests for values to delayed futures 177s rejects if inner value is not a future 177s accepts inner event 177s returns value of inner future 177s propagates rejection of inner future 177s has shortcuts 177s ResolvableEvent 177s #resolve(raise_on_reassign = true) 177s #wait 177s #resolve(raise_on_reassign = false) 177s reservation 177s .any_fulfilled 177s continues on first result 177s treats a resolved Event as a fulfilled Future 177s treats a pending Event as a pending Future 177s .rejected_future 177s raises the correct error when passed an unraised error 177s chain_resolvable 177s future 177s event 177s .future without block 177s is expected to eq 0 177s .zip 177s waits for all results 177s when a future raises an error 177s raises a concurrent error 177s when deeply nested 177s raises the original error 177s value! 177s does not return spuriously without timeout 177s does not return spuriously with timeout 177s .future 177s executes 177s executes with args 177s .any_resolved 177s continues on first result 177s .delay 177s is expected to eq 2 177s ResolvableFuture 177s #wait! 177s result 177s #wait 177s atomic_resolution 177s #value! 177s #value 177s reservation 177s #reason 177s interoperability 177s with erlang actor 177s with channel 177s with processing actor 177s .schedule 177s scheduled execution in graph 177s scheduled execution 177s 177s Concurrent::Atom 177s #compare_and_set 177s returns true if the current value matches 177s returns false if the current value does not match 177s rejects the new value if the current value does not match 177s returns false if the validator returns false 177s sets the new value if the current value matches 177s returns false if the validator raises an exception 177s rejects the new value if the validator returns false 177s rejects the new value if the validator raises an exception 177s #reset 177s returns the new value on success 177s returns the new value on success 177s returns the old value if the validator returns false 177s returns the old value if the validator raises an exception 177s sets the new value 177s #swap 177s rejects the new value if the validator returns false 177s rejects the new value if the validator raises an exception 177s reraises the exception from block 177s returns the new value on success 177s calls the block more than once if the value changes underneath 177s sets the new value to the result of the block 177s returns the old value if the validator returns false 177s raises an exception when no block is given 177s passes all arguments to the block 177s returns the old value if the validator raises an exception 177s passes the current value to the block 177s observable 177s behaves like observable 177s first notification 178s does not notify any observers removed with #delete_observer 178s calls the appropriate function on all observers which specified a :func 180s does not notify any observers after #delete_observers called 180s calls the proc for all observers added as a block 180s calls the #update method on all observers without a specified :func 180s #add_observer 180s creates an observer from a block if called before first notification 180s adds an observer with :func if called before first notification 180s adds an observer if called before first notification 180s raises an exception if not given an observer or a block 180s raises an exception when given both an observer and a block 180s #delete_observer 180s returns the given observer even when not found in the observer set 180s returns the removed observer if found in the observer set 180s deletes the given observer if called before first notification 180s #count_observers 180s returns a count of registered observers if called before first notification 180s returns zero after #delete_observers has been called 180s returns zero for a new observable object 180s #delete_observers 180s deletes all observers when called before first notification 180s returns self 180s construction 180s sets the initial value to the given value 180s 180s Concurrent::Future 180s it should behave like thread_arguments 180s passes an empty array when there is no :args key 180s allows the given arguments array to be dereferenced 180s passes an array when when the :args key has an array value 180s passes the given array when the :args key has a complex array value 180s passes an empty array when opts is not given 180s passes a one-element array when the :args key has a non-array value 180s passes an empty array when opts is an empty hash 180s passes an empty array when the :args key has a nil value 180s class #execute 180s calls #execute on the new Future 180s creates a new Future 180s passes the block to the new Future 180s #initialize 180s raises an exception when no block given 180s sets the state to :unscheduled 180s uses the executor given with the :executor option 180s uses the global io executor by default 180s cancellation 180s #wait_or_cancel 180s returns true if the operation completes before timeout 180s cancels the task on timeout 180s #cancel 180s fails to cancel the task once processing has begun 180s fails to cancel the task once processing is complete 180s cancels a pending task 180s instance #execute 180s posts the block given on construction 180s returns self 180s does nothing unless the state is :unscheduled 180s sets the state to :pending 180s fulfillment 180s sets the state to :rejected when the handler raises an exception 180s sets the value to nil when the handler raises Exception 180s sets the value to nil when the handler raises an exception 180s sets the reason to the Exception instance when the handler raises Exception 180s sets the value to the result of the handler 180s passes all arguments to handler 180s sets the state to :processing while the task is executing 180s sets the state to :fulfilled when the block completes 180s aliases 180s aliases #deref for #value 180s aliases #realized? for #fulfilled? 180s it should behave like ivar 180s #try_set 180s when unset 180s assigns the value 180s returns true 180s assigns the block result 180s when fulfilled 180s does not assign the block result 180s does not assign the value 180s returns false 180s when rejected 180s does not assign the value 180s has a nil value 180s does not assign the block result 180s returns false 180s #fail 180s sets the state to be rejected 180s defaults the reason to a StandardError 180s sets the value to be nil 180s sets the reason to the given exception 180s raises an exception if set more than once 180s returns self 180s it should behave like obligation 180s #reason 180s is nil when :fulfilled 180s is set to error object of the exception when :rejected 180s is nil when :pending 180s #value 180s returns nil when timeout reached 180s is nil when :pending 180s is nil when :rejected 180s returns nil when reaching the optional timeout value 185s returns the value when fulfilled before timeout 190s blocks the caller when :pending and timeout is nil 190s is set to the return value of the block when :fulfilled 190s returns immediately when timeout is zero 190s #state 190s is :fulfilled when the handler completes 190s is :pending when first created 190s is :rejected when the handler raises an exception 190s it should behave like dereferenceable 190s calls #dup when the :dup_on_deref option is true 190s supports dereference flags with observers 190s defaults :copy_on_deref to nil 191s does not call the #copy_on_deref block when the value is nil 191s calls the :copy block first followed by #dup followed by #freeze 191s does not call #freeze when #freeze_on_deref is set and the value is nil 191s calls #freeze when the :freeze_on_deref option is true 191s calls the block when the :copy_on_deref option is passed a proc 191s defaults :freeze_on_deref to false 192s does not call #dup when #dup_on_deref is set and the value is nil 192s defaults :dup_on_deref to false 192s it should behave like observable 192s #delete_observers 192s returns self 192s deletes all observers when called before first notification 192s #add_observer 192s adds an observer with :func if called before first notification 192s raises an exception if not given an observer or a block 192s creates an observer from a block if called before first notification 192s raises an exception when given both an observer and a block 192s adds an observer if called before first notification 192s #count_observers 192s returns zero after #delete_observers has been called 192s returns zero for a new observable object 192s returns a count of registered observers if called before first notification 192s first notification 192s calls the appropriate function on all observers which specified a :func 193s does not notify any observers removed with #delete_observer 193s calls the proc for all observers added as a block 194s does not notify any observers after #delete_observers called 194s calls the #update method on all observers without a specified :func 194s #delete_observer 194s returns the removed observer if found in the observer set 194s deletes the given observer if called before first notification 194s returns the given observer even when not found in the observer set 194s #set 194s fulfils when given a block which executes successfully 194s raises an exception when given neither a value nor a block 194s sets the state to be fulfilled 194s raises an exception if set more than once 194s raises an exception when given a value and a block 194s sets the value 194s returns self 194s rejects when given a block which raises an exception 194s initialization 194s sets the state to incomplete 194s observation 194s notifies an observer added after fulfillment 194s does not notify existing observers when a new observer added after fulfillment 194s notifies all observers on fulfillment 194s does not notify existing observers when a new observer added after rejection 194s notifies an observer added after rejection 194s notifies all observers on rejection 194s deadlock avoidance 194s should notify observers outside mutex lock 194s should notify a new observer added after fulfillment outside lock 194s 194s #leave_transaction 194s neither commits nor aborts a transaction 194s raises an exception outside an #atomically block 194s 194s Concurrent::Actor 194s forbids Immediate executor 194s links atomically 194s links 194s dead letter routing 194s logs by default 194s messaging 194s is expected to eq 4 194s termination 194s terminates with all its children 194s spawning 194s terminates on failed initialization and raises with spawn! 194s terminates on failed initialization 194s terminates on failed message processing 194s Actor#spawn! 194s spawn 194s executor should be global 194s returns arg 194s #name 194s is expected to eq "ping" 194s #path 194s is expected to eq "/ping" 194s #reference 194s is expected to eq # 194s #parent 194s is expected to eq # 194s context_spawn_by_hash 195s executor should be global 195s returns arg 195s #reference 195s is expected to eq # 195s #path 195s is expected to eq "/ping" 195s #parent 195s is expected to eq # 195s #name 195s is expected to eq "ping" 195s context_spawn 195s executor should be global 195s returns arg 195s #reference 195s is expected to eq # 195s #parent 195s is expected to eq # 195s #path 195s is expected to eq "/ping" 195s #name 195s is expected to eq "ping" 195s spawn_by_hash 195s returns arg 195s executor should be global 195s #name 195s is expected to eq "ping" 195s #parent 195s is expected to eq # 195s #path 195s is expected to eq "/ping" 195s #reference 195s is expected to eq # 195s pausing 195s pauses on error and resets 195s pauses on error and resumes 195s pauses on error and restarts 195s envelope 195s is expected to eq # 195s pool 195s supports asks 195s message redirecting 195s is evaluated by child 195s children 195s has children set after a child is created 195s 195s monotonic_time 195s behavior 195s returns a Float when unit = :float_second 195s returns seconds as float 195s returns an Integer when unit = :millisecond 195s returns an Integer when unit = :nanosecond 195s returns an Integer when unit = :microsecond 195s raises ArgumentError on unknown units 195s returns a Float when unit = :float_microsecond 195s returns a Float when unit = :float_millisecond 195s returns an Integer when unit = :second 195s 195s #abort_transaction 195s raises an exception outside an #atomically block 195s 195s Concurrent 195s Throttle 195s capacity limited 195s acquiring 195s #to_s 195s #on 195s 195s Concurrent::Maybe 195s comparison 195s something is less than a bigger value 195s nothing is not greater than nothing 195s something is not equal to nothing 195s something is not equal to a different value 195s something is greater than a smaller value 195s nothing is equal to nothing 195s something is equal to the same value 195s nothing is not less than nothing 195s construction 195s hides Maybe.new 195s Maybe.nothing 195s creates a new Nothing Maybe 195s creates a new error object when given nothing 195s creates a new error object with the given string 195s uses the given Error object 195s Maybe.just 195s creates a new Just Maybe 195s Maybe.from 195s creates a Just Maybe on success 195s passes all arguments to the block 195s sets the reason to the error object on exception 195s creates a Nothing Maybe on exception 195s sets the value to the block result on success 195s raises an exception when no block is given 195s when just 195s #nothing returns NONE 195s #fulfilled? returns true 195s #nothing? returns false 195s #reason returns NONE 195s #rejected? returns false 195s #just? returns true 195s #value returns the value 195s #just returns the value 195s when nothing 195s #nothing returns the raised error 195s #rejected? returns true 195s #just returns NONE 195s #value returns NONE 195s #nothing? returns true 195s #reason returns the raised error 195s #just? returns false 195s #fulfilled? returns false 195s #or 195s returns the other when nothing 195s returns the value when something 195s 195s Concurrent::Options 195s .executor_from_options 195s raises an exception when :executor is an unrecognized symbol 195s returns the global io executor when :executor is :io 195s returns an immediate executor when :executor is :immediate 195s returns the global fast executor when :executor is :fast 195s returns the given :executor 195s 195s Concurrent::RubyExchanger 197s Good: 9998, Bad (timeout): 2, Ugly: 0 197s stress test 197s behaves like exchanger 197s #try_exchange 197s behaves like exchanger method with indefinite timeout 197s blocks indefinitely 197s receives the other value 197s can be reused 197s behaves like exchanger method with finite timeout 197s can be reused 197s receives the other value 198s blocks until timeout 198s behaves like exchanger method cross-thread interactions 198s allows multiple firsts to cancel if necessary 198s when first, waits for a second 198s #exchange 198s behaves like exchanger method with finite timeout 198s blocks until timeout 198s can be reused 198s receives the other value 198s behaves like exchanger method cross-thread interactions 198s allows multiple firsts to cancel if necessary 198s when first, waits for a second 198s behaves like exchanger method with indefinite timeout 198s receives the other value 198s can be reused 198s blocks indefinitely 198s #exchange! 198s behaves like exchanger method with indefinite timeout 198s blocks indefinitely 198s receives the other value 198s can be reused 198s behaves like exchanger method cross-thread interactions 199s allows multiple firsts to cancel if necessary 199s when first, waits for a second 199s behaves like exchanger method with finite timeout 199s blocks until timeout 199s receives the other value 199s can be reused 199s 199s Concurrent::ScheduledTask 199s #initialize 199s raises an exception when no block given 199s sets the initial state to :unscheduled 199s raises an exception when seconds is less than zero 199s accepts a number of seconds (from now) as the schedule time 199s behavior 199s it should behave like obligation 199s #reason 199s is set to error object of the exception when :rejected 199s is nil when :pending 199s is nil when :fulfilled 199s #value 199s is set to the return value of the block when :fulfilled 199s returns nil when timeout reached 199s returns nil when reaching the optional timeout value 200s blocks the caller when :pending and timeout is nil 200s returns immediately when timeout is zero 201s returns the value when fulfilled before timeout 201s is nil when :pending 201s is nil when :rejected 201s #state 201s is :fulfilled when the handler completes 201s is :pending when first created 201s is :rejected when the handler raises an exception 201s it should behave like dereferenceable 201s calls #dup when the :dup_on_deref option is true 201s calls #freeze when the :freeze_on_deref option is true 201s defaults :freeze_on_deref to false 201s defaults :dup_on_deref to false 201s calls the :copy block first followed by #dup followed by #freeze 201s calls the block when the :copy_on_deref option is passed a proc 201s supports dereference flags with observers 201s does not call the #copy_on_deref block when the value is nil 201s does not call #freeze when #freeze_on_deref is set and the value is nil 201s does not call #dup when #dup_on_deref is set and the value is nil 201s defaults :copy_on_deref to nil 201s it should behave like observable 201s first notification 202s does not notify any observers after #delete_observers called 202s calls the appropriate function on all observers which specified a :func 202s calls the proc for all observers added as a block 204s does not notify any observers removed with #delete_observer 204s calls the #update method on all observers without a specified :func 204s #count_observers 204s returns zero after #delete_observers has been called 204s returns a count of registered observers if called before first notification 204s returns zero for a new observable object 204s #add_observer 204s creates an observer from a block if called before first notification 204s raises an exception if not given an observer or a block 204s adds an observer with :func if called before first notification 204s adds an observer if called before first notification 204s raises an exception when given both an observer and a block 204s #delete_observers 204s deletes all observers when called before first notification 204s returns self 204s #delete_observer 204s returns the removed observer if found in the observer set 204s deletes the given observer if called before first notification 204s returns the given observer even when not found in the observer set 204s class #execute 204s passes the block to the new ScheduledTask 204s creates a new ScheduledTask 204s calls #execute on the new ScheduledTask 204s instance #execute 204s returns self 204s sets the sate to :pending 204s does nothing unless the state is :unscheduled 204s execution 204s passes :args from the options to the block 204s uses the :executor from the options 204s uses the :timer_set from the options 204s sets the state to :processing when the task is running 204s observation 204s notifies all observers on rejection 204s notifies all observers on fulfillment 204s returns true for an observer added while :pending 204s returns true for an observer added while :unscheduled 204s returns true for an observer added while :processing 204s #cancel 204s returns true on success 205s returns false if the task has already been performed 205s cancels the task if it has not yet scheduled 205s sets the reason to CancelledOperationError when cancelled 206s cancels the task if it has not yet started 206s returns false if the task is already in progress 206s 206s Concurrent::Synchronization 206s Concurrent::Synchronization::Object 206s does not ensure visibility when not needed 206s does ensure visibility when specified in a parent 206s does ensure visibility once when specified in child again 206s does ensure visibility when specified 206s it should behave like attr_volatile 207s older writes are always visible 207s Concurrent::Synchronization::Volatile module 207s it should behave like attr_volatile 208s older writes are always visible 208s Concurrent::Synchronization::LockableObject 208s final field always visible 208s #synchronize 208s allows only one thread to execute count 208s #wait 208s allows the sleeping thread to be killed 208s releases the lock on the current object 208s can be called from within a #synchronize block 208s puts the current thread to sleep 208s it should behave like attr_volatile 210s older writes are always visible 210s signaling 210s for now pending, tested pretty well by Event (PENDING: Not yet implemented) 210s attr_atomic 210s is expected to be == b 210s 210s Concurrent::Map 210s #key? 210s is unfreezable 210s default_proc is called with the Concurrent::Map and the key after #dup 210s options validation 210s #delete_pair 210s #put_if_absent 210s collision resistance 210s concurrency 210s #values 210s default_proc is called with the Concurrent::Map and the key 210s #get_and_set 210s #size 210s #replace_if_exists 210s initial capacity options validation 210s #get_or_default 210s #each_key 210s #clear 210s retrieval 210s collision resistance with arrays 210s marshal dump does not work with default proc 210s #value? 210s #delete 210s default proc 210s #empty 210s #keys 210s marshal dump load 210s load factor options validation 210s updates dont block reads 210s #each_value 210s #inspect 210s falsy default proc 210s #key 210s #replace_pair 210s #dup,#clone 210s #compute 210s exception 210s common 210s with return 210s #compute_if_present 210s common 210s exception 210s with return 210s #fetch 210s common 210s falsy 210s with return 210s #merge_pair 210s exception 210s common 210s with return 210s #each 210s it should behave like collection_each 210s common 210s allows modification 210s pair iterator 210s when no block is given 210s returns an object which is enumerable 210s returns an enumerator 210s #each_pair 210s it should behave like collection_each 210s common 210s pair iterator 210s allows modification 210s when no block is given 210s returns an enumerator 210s returns an object which is enumerable 210s #compute_if_absent 211s atomicity 211s exception 211s works in default_proc 211s common 211s with return 211s #fetch_or_store 211s falsy 211s common 211s with return 211s 211s Concurrent::Agent 211s nested actions 211s occur in the order they ar post 211s work with immediate execution 211s initialization 211s sets #failed? to false 211s sets the initial error to nil 211s defaults the error mode to :continue when an error handler is given 211s defaults the error mode to :fail when no error handler is given 211s sets the error mode when given a valid value 211s sets the initial value 211s raises an error when given an invalid error mode 211s action processing 211s when validation raises an error the handler will be called 211s upon validation the new value will be set to the block return value 211s the given block will be passed any provided arguments 211s when validation raises an error the value will not change 211s the return value will be passed to the validator function 211s any recursive action dispatches will run after the value has been updated 211s when validation fails the handler will be called 211s when the action raises an error the validator will not be called 211s when the action raises an error the handler will be called 211s when validation returns false the value will not change 211s on success all observers will be notified 211s the given block will be passed the current value 211s when the action raises an error the value will not change 211s posting 211s with #send 211s returns false when #failed? 211s returns true when the job is post 211s posts to the global fast executor 211s does not wait for the action to process 211s with #send_off 211s does not wait for the action to process 211s returns true when the job is post 211s returns false when #failed? 211s posts to the global io executor 211s with #send! 211s returns true when the job is post 211s raises an error when #failed? 211s posts to the global fast executor 211s does not wait for the action to process 211s with #send_off! 211s does not wait for the action to process 211s posts to the global io executor 211s returns true when the job is post 211s raises an error when #failed? 211s with #send_via 211s returns true when the job is post 211s posts to the given executor 211s returns false when #failed? 211s with #<< 211s posts to the global io executor 211s returns self when #failed? 211s returns self when the job is post 211s does not wait for the action to process 211s with #send_via! 211s posts to the given executor 211s raises an error when #failed? 211s returns true when the job is post 211s with #post 211s posts to the global io executor 211s returns true when the job is post 211s does not wait for the action to process 211s returns false when #failed? 211s error handling 211s the agent will be passed to the handler 211s the exception will be passed to the handler 211s does not trigger observation 211s #restart 211s when #failed? 211s raises an error if the new value is not valid 211s does not trigger observation 211s sets #failed? to true 211s clears the error 211s does not clear the action queue when :clear_actions is false 211s resumes action processing if actions are enqueued 211s sets the new value 211s does not clear the action queue when :clear_actions is not given 211s removes all actions from the queue when :clear_actions is true 211s when not #failed? 211s raises an error 211s observable 211s behaves like observable 211s #delete_observer 211s deletes the given observer if called before first notification 211s returns the given observer even when not found in the observer set 211s returns the removed observer if found in the observer set 211s #count_observers 211s returns zero after #delete_observers has been called 211s returns zero for a new observable object 211s returns a count of registered observers if called before first notification 211s first notification 211s calls the appropriate function on all observers which specified a :func 212s does not notify any observers after #delete_observers called 212s calls the proc for all observers added as a block 213s does not notify any observers removed with #delete_observer 213s calls the #update method on all observers without a specified :func 213s #add_observer 213s raises an exception if not given an observer or a block 213s raises an exception when given both an observer and a block 213s adds an observer if called before first notification 213s adds an observer with :func if called before first notification 213s creates an observer from a block if called before first notification 213s #delete_observers 213s deletes all observers when called before first notification 213s returns self 213s waiting 213s with .await_for 214s returns true when all prior actions for all agents have processed 214s returns false on timeout 214s returns true when there are no pending actions 214s with #await_for 214s does not block on actions from other threads 214s returns true when there are no pending actions 215s returns false on timeout 215s returns false if restarted with :clear_actions true (PENDING: the timing is nearly impossible) 217s returns true when all prior actions have processed 217s with #await_for! 217s raises an error if restarted with :clear_actions true (PENDING: the timing is nearly impossible) 217s does not block on actions from other threads 217s raises an error on timeout 217s returns true when there are no pending actions 218s returns true when all prior actions have processed 218s with #await 219s blocks indefinitely 221s returns true when all prior actions have processed 221s returns self when there are no pending actions 221s does not block on actions from other threads 221s blocks forever if restarted with :clear_actions true (PENDING: the timing is nearly impossible) 221s with await_for! 221s raises an exception on timeout 221s returns true when all prior actions for all agents have processed 221s returns true when there are no pending actions 221s with .await 221s returns true when all prior actions on all agents have processed 221s with #wait 222s returns true when all prior actions have processed 224s blocks indefinitely when timeout is nil 224s does not block on actions from other threads 224s returns false when timeout is given and restarted with :clear_actions true (PENDING: the timing is nearly impossible) 224s returns true when there are no pending actions and a timeout is given 224s returns false on timeout 224s blocks forever when timeout is nil and restarted with :clear_actions true (PENDING: the timing is nearly impossible) 224s returns true when there are no pending actions and timeout is nil 224s the await job 224s does not trigger the error mode 224s does not change the value 224s waits for nested actions 225s does not trigger observers 225s validation 225s rejects the new value when the validator returns false 225s sets the error when the error mode is :fail and the validator raises an error 225s sets the error when the error mode is :fail and the validator returns false 225s does not set an error when the error mode is :continue and the validator returns false 225s does not trigger observation when validation fails 225s does not set an error when the error mode is :continue and the validator raises an error 225s sets the new value when the validator returns true 225s rejects the new value when the validator raises an error 225s error mode 225s :continue 225s does not block further action processing 225s does not set an error when the action raises an error 225s sets #failed? to false 225s does not set an error when the validator raises an error 225s does not set an error when the validator returns false 225s :fail 225s blocks all further action processing until a restart 225s sets the error when the validator raises an error 225s sets #failed? to true 225s sets the error when the action raises an error 225s sets the error when the validator returns false 225s 225s Finished in 1 minute 23.47 seconds (files took 0.4879 seconds to load) 225s 1430 examples, 0 failures, 7 pending 225s 225s Randomized with seed 1 225s 225s mv ./.gem2deb.lib lib 225s mv ./.gem2deb.ext ext 225s autopkgtest [07:12:03]: test ruby: -----------------------] 226s autopkgtest [07:12:04]: test ruby: - - - - - - - - - - results - - - - - - - - - - 226s ruby PASS 226s autopkgtest [07:12:04]: test jruby: preparing testbed 244s Creating nova instance adt-resolute-arm64-ruby-concurrent-20260210-070818-juju-7f2275-prod-proposed-migration-environment-2-25c8dbc3-42a0-4112-a795-9d89a3e9de83 from image adt/ubuntu-resolute-arm64-server-20260209.img (UUID 793037ca-75af-461b-82de-f8081300b2e3)... 326s autopkgtest [07:13:44]: testbed dpkg architecture: arm64 327s autopkgtest [07:13:45]: testbed apt version: 3.1.15 327s autopkgtest [07:13:45]: @@@@@@@@@@@@@@@@@@@@ test bed setup 327s autopkgtest [07:13:45]: testbed release detected to be: resolute 328s autopkgtest [07:13:46]: updating testbed package index (apt update) 328s Get:1 http://ftpmaster.internal/ubuntu resolute-proposed InRelease [124 kB] 328s Hit:2 http://ftpmaster.internal/ubuntu resolute InRelease 328s Hit:3 http://ftpmaster.internal/ubuntu resolute-updates InRelease 328s Hit:4 http://ftpmaster.internal/ubuntu resolute-security InRelease 328s Get:5 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse Sources [31.1 kB] 328s Get:6 http://ftpmaster.internal/ubuntu resolute-proposed/main Sources [178 kB] 328s Get:7 http://ftpmaster.internal/ubuntu resolute-proposed/universe Sources [1727 kB] 330s Get:8 http://ftpmaster.internal/ubuntu resolute-proposed/main arm64 Packages [263 kB] 330s Get:9 http://ftpmaster.internal/ubuntu resolute-proposed/main arm64 c-n-f Metadata [6288 B] 330s Get:10 http://ftpmaster.internal/ubuntu resolute-proposed/restricted arm64 c-n-f Metadata [120 B] 330s Get:11 http://ftpmaster.internal/ubuntu resolute-proposed/universe arm64 Packages [1769 kB] 332s Get:12 http://ftpmaster.internal/ubuntu resolute-proposed/universe arm64 c-n-f Metadata [31.3 kB] 332s Get:13 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse arm64 Packages [23.0 kB] 332s Get:14 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse arm64 c-n-f Metadata [688 B] 334s Fetched 4153 kB in 4s (942 kB/s) 335s Reading package lists... 335s Hit:1 http://ftpmaster.internal/ubuntu resolute-proposed InRelease 335s Hit:2 http://ftpmaster.internal/ubuntu resolute InRelease 335s Hit:3 http://ftpmaster.internal/ubuntu resolute-updates InRelease 336s Hit:4 http://ftpmaster.internal/ubuntu resolute-security InRelease 336s Reading package lists... 336s Reading package lists... 337s Building dependency tree... 337s Reading state information... 337s Calculating upgrade... 337s The following NEW packages will be installed: 337s gcc-16-base 337s The following packages will be upgraded: 337s cryptsetup-bin dracut-install iproute2 iptables libatomic1 libbrotli1 337s libcryptsetup12 libgcc-s1 libip4tc2 libip6tc2 libstdc++6 libxtables12 wget 338s 13 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. 338s Need to get 3779 kB of archives. 338s After this operation, 218 kB of additional disk space will be used. 338s Get:1 http://ftpmaster.internal/ubuntu resolute/main arm64 gcc-16-base arm64 16-20260208-1ubuntu1 [59.7 kB] 338s Get:2 http://ftpmaster.internal/ubuntu resolute/main arm64 libgcc-s1 arm64 16-20260208-1ubuntu1 [60.9 kB] 338s Get:3 http://ftpmaster.internal/ubuntu resolute/main arm64 iptables arm64 1.8.11-2ubuntu3 [386 kB] 338s Get:4 http://ftpmaster.internal/ubuntu resolute/main arm64 libip4tc2 arm64 1.8.11-2ubuntu3 [24.3 kB] 338s Get:5 http://ftpmaster.internal/ubuntu resolute/main arm64 libip6tc2 arm64 1.8.11-2ubuntu3 [24.7 kB] 338s Get:6 http://ftpmaster.internal/ubuntu resolute/main arm64 libxtables12 arm64 1.8.11-2ubuntu3 [36.7 kB] 338s Get:7 http://ftpmaster.internal/ubuntu resolute/main arm64 iproute2 arm64 6.18.0-1ubuntu1 [1171 kB] 339s Get:8 http://ftpmaster.internal/ubuntu resolute/main arm64 libatomic1 arm64 16-20260208-1ubuntu1 [11.1 kB] 339s Get:9 http://ftpmaster.internal/ubuntu resolute/main arm64 libcryptsetup12 arm64 2:2.8.0-1ubuntu3 [274 kB] 339s Get:10 http://ftpmaster.internal/ubuntu resolute/main arm64 libstdc++6 arm64 16-20260208-1ubuntu1 [768 kB] 340s Get:11 http://ftpmaster.internal/ubuntu resolute/main arm64 wget arm64 1.25.0-2ubuntu4 [344 kB] 340s Get:12 http://ftpmaster.internal/ubuntu resolute/main arm64 cryptsetup-bin arm64 2:2.8.0-1ubuntu3 [227 kB] 340s Get:13 http://ftpmaster.internal/ubuntu resolute/main arm64 dracut-install arm64 109-11ubuntu1 [45.3 kB] 340s Get:14 http://ftpmaster.internal/ubuntu resolute/main arm64 libbrotli1 arm64 1.2.0-3 [346 kB] 340s dpkg-preconfigure: unable to re-open stdin: No such file or directory 341s Fetched 3779 kB in 3s (1376 kB/s) 341s Selecting previously unselected package gcc-16-base:arm64. 341s (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 ... 136597 files and directories currently installed.) 341s Preparing to unpack .../gcc-16-base_16-20260208-1ubuntu1_arm64.deb ... 341s Unpacking gcc-16-base:arm64 (16-20260208-1ubuntu1) ... 341s Setting up gcc-16-base:arm64 (16-20260208-1ubuntu1) ... 341s (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 ... 136602 files and directories currently installed.) 341s Preparing to unpack .../libgcc-s1_16-20260208-1ubuntu1_arm64.deb ... 341s Unpacking libgcc-s1:arm64 (16-20260208-1ubuntu1) over (15.2.0-12ubuntu1) ... 341s Setting up libgcc-s1:arm64 (16-20260208-1ubuntu1) ... 341s (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 ... 136602 files and directories currently installed.) 341s Preparing to unpack .../00-iptables_1.8.11-2ubuntu3_arm64.deb ... 341s Unpacking iptables (1.8.11-2ubuntu3) over (1.8.11-2ubuntu2) ... 341s Preparing to unpack .../01-libip4tc2_1.8.11-2ubuntu3_arm64.deb ... 341s Unpacking libip4tc2:arm64 (1.8.11-2ubuntu3) over (1.8.11-2ubuntu2) ... 341s Preparing to unpack .../02-libip6tc2_1.8.11-2ubuntu3_arm64.deb ... 341s Unpacking libip6tc2:arm64 (1.8.11-2ubuntu3) over (1.8.11-2ubuntu2) ... 341s Preparing to unpack .../03-libxtables12_1.8.11-2ubuntu3_arm64.deb ... 341s Unpacking libxtables12:arm64 (1.8.11-2ubuntu3) over (1.8.11-2ubuntu2) ... 341s Preparing to unpack .../04-iproute2_6.18.0-1ubuntu1_arm64.deb ... 342s Unpacking iproute2 (6.18.0-1ubuntu1) over (6.16.0-1ubuntu3) ... 342s Preparing to unpack .../05-libatomic1_16-20260208-1ubuntu1_arm64.deb ... 342s Unpacking libatomic1:arm64 (16-20260208-1ubuntu1) over (15.2.0-12ubuntu1) ... 342s Preparing to unpack .../06-libcryptsetup12_2%3a2.8.0-1ubuntu3_arm64.deb ... 342s Unpacking libcryptsetup12:arm64 (2:2.8.0-1ubuntu3) over (2:2.8.0-1ubuntu2) ... 342s Preparing to unpack .../07-libstdc++6_16-20260208-1ubuntu1_arm64.deb ... 342s Unpacking libstdc++6:arm64 (16-20260208-1ubuntu1) over (15.2.0-12ubuntu1) ... 342s Preparing to unpack .../08-wget_1.25.0-2ubuntu4_arm64.deb ... 342s Unpacking wget (1.25.0-2ubuntu4) over (1.25.0-2ubuntu3) ... 342s Preparing to unpack .../09-cryptsetup-bin_2%3a2.8.0-1ubuntu3_arm64.deb ... 342s Unpacking cryptsetup-bin (2:2.8.0-1ubuntu3) over (2:2.8.0-1ubuntu2) ... 342s Preparing to unpack .../10-dracut-install_109-11ubuntu1_arm64.deb ... 342s Unpacking dracut-install (109-11ubuntu1) over (109-9ubuntu1) ... 342s Preparing to unpack .../11-libbrotli1_1.2.0-3_arm64.deb ... 342s Unpacking libbrotli1:arm64 (1.2.0-3) over (1.1.0-2build6) ... 342s Setting up libip4tc2:arm64 (1.8.11-2ubuntu3) ... 342s Setting up wget (1.25.0-2ubuntu4) ... 342s Setting up libip6tc2:arm64 (1.8.11-2ubuntu3) ... 342s Setting up libbrotli1:arm64 (1.2.0-3) ... 342s Setting up libatomic1:arm64 (16-20260208-1ubuntu1) ... 342s Setting up libxtables12:arm64 (1.8.11-2ubuntu3) ... 343s Setting up dracut-install (109-11ubuntu1) ... 343s Setting up libcryptsetup12:arm64 (2:2.8.0-1ubuntu3) ... 343s Setting up libstdc++6:arm64 (16-20260208-1ubuntu1) ... 343s Setting up cryptsetup-bin (2:2.8.0-1ubuntu3) ... 343s Setting up iptables (1.8.11-2ubuntu3) ... 343s Setting up iproute2 (6.18.0-1ubuntu1) ... 343s Processing triggers for man-db (2.13.1-1build1) ... 344s Processing triggers for install-info (7.2-5) ... 344s Processing triggers for libc-bin (2.42-2ubuntu4) ... 344s autopkgtest [07:14:02]: upgrading testbed (apt dist-upgrade and autopurge) 344s Reading package lists... 344s Building dependency tree... 344s Reading state information... 345s Calculating upgrade... 345s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 345s Reading package lists... 345s Building dependency tree... 345s Reading state information... 346s Solving dependencies... 346s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 349s Reading package lists... 349s Building dependency tree... 349s Reading state information... 349s Solving dependencies... 350s The following NEW packages will be installed: 350s ca-certificates-java default-jre-headless java-common jruby libasm-java 350s libbackport9-java libbcpkix-java libbcprov-java libbctls-java libbcutil-java 350s libdirgra-java libfixposix4t64 libhawtjni-runtime-java 350s libheadius-options-java libinvokebinder-java libjansi-native-java 350s libjansi1-java libjcodings-java libjffi-java libjffi-jni libjitescript-java 350s libjline2-java libjnr-constants-java libjnr-enxio-java libjnr-ffi-java 350s libjnr-netdb-java libjnr-posix-java libjnr-unixsocket-java 350s libjnr-x86asm-java libjoda-time-java libjpeg-turbo8 libjpeg8 350s libjruby-joni-java libjzlib-java liblcms2-2 libpcsclite1 libruby libruby3.3 350s libsnakeyaml-engine-java openjdk-21-jre-headless rake ruby ruby-concurrent 350s ruby-concurrent-ext ruby-csv ruby-did-you-mean ruby-diff-lcs ruby-net-telnet 350s ruby-rspec ruby-rspec-core ruby-rspec-expectations ruby-rspec-mocks 350s ruby-rspec-support ruby-ruby2-keywords ruby-rubygems ruby-timecop 350s ruby-webrick ruby-xmlrpc ruby3.3 rubygems-integration 350s 0 upgraded, 60 newly installed, 0 to remove and 0 not upgraded. 350s Need to get 90.6 MB of archives. 350s After this operation, 301 MB of additional disk space will be used. 350s Get:1 http://ftpmaster.internal/ubuntu resolute/main arm64 ca-certificates-java all 20240118build1 [11.7 kB] 350s Get:2 http://ftpmaster.internal/ubuntu resolute/main arm64 java-common all 0.76build1 [6956 B] 350s Get:3 http://ftpmaster.internal/ubuntu resolute/main arm64 liblcms2-2 arm64 2.17-1 [170 kB] 350s Get:4 http://ftpmaster.internal/ubuntu resolute/main arm64 libjpeg-turbo8 arm64 2.1.5-4ubuntu3 [161 kB] 350s Get:5 http://ftpmaster.internal/ubuntu resolute/main arm64 libjpeg8 arm64 8c-2ubuntu12 [2142 B] 350s Get:6 http://ftpmaster.internal/ubuntu resolute/main arm64 libpcsclite1 arm64 2.4.1-1 [24.7 kB] 350s Get:7 http://ftpmaster.internal/ubuntu resolute/main arm64 openjdk-21-jre-headless arm64 21.0.10+7-1 [45.9 MB] 401s Get:8 http://ftpmaster.internal/ubuntu resolute/main arm64 default-jre-headless arm64 2:1.21-76build1 [3268 B] 401s Get:9 http://ftpmaster.internal/ubuntu resolute/universe arm64 libasm-java all 9.8-2 [388 kB] 401s Get:10 http://ftpmaster.internal/ubuntu resolute/universe arm64 libbackport9-java all 1.10-2build1 [13.2 kB] 401s Get:11 http://ftpmaster.internal/ubuntu resolute/universe arm64 libbcprov-java all 1.80-3 [5468 kB] 408s Get:12 http://ftpmaster.internal/ubuntu resolute/universe arm64 libbcutil-java all 1.80-3 [545 kB] 408s Get:13 http://ftpmaster.internal/ubuntu resolute/universe arm64 libbcpkix-java all 1.80-3 [913 kB] 409s Get:14 http://ftpmaster.internal/ubuntu resolute/universe arm64 libbctls-java all 1.80-3 [645 kB] 410s Get:15 http://ftpmaster.internal/ubuntu resolute/universe arm64 libdirgra-java all 0.4-2build1 [21.8 kB] 410s Get:16 http://ftpmaster.internal/ubuntu resolute/universe arm64 libfixposix4t64 arm64 1:0.5.1-1+nmu1.1build2 [16.6 kB] 410s Get:17 http://ftpmaster.internal/ubuntu resolute/universe arm64 libheadius-options-java all 1.7-1build1 [18.3 kB] 410s Get:18 http://ftpmaster.internal/ubuntu resolute/universe arm64 libinvokebinder-java all 1.14-1build1 [52.1 kB] 410s Get:19 http://ftpmaster.internal/ubuntu resolute/universe arm64 libhawtjni-runtime-java all 1.18-1build1 [28.4 kB] 410s Get:20 http://ftpmaster.internal/ubuntu resolute/universe arm64 libjansi-native-java all 1.8-2build1 [23.6 kB] 410s Get:21 http://ftpmaster.internal/ubuntu resolute/universe arm64 libjansi1-java all 1.18-3.1build1 [56.3 kB] 410s Get:22 http://ftpmaster.internal/ubuntu resolute/universe arm64 libjcodings-java all 1.0.58-1build1 [1474 kB] 411s Get:23 http://ftpmaster.internal/ubuntu resolute/universe arm64 libjffi-jni arm64 1.3.13+ds-1build1 [29.0 kB] 411s Get:24 http://ftpmaster.internal/ubuntu resolute/universe arm64 libjffi-java all 1.3.13+ds-1build1 [111 kB] 411s Get:25 http://ftpmaster.internal/ubuntu resolute/universe arm64 libjitescript-java all 0.4.3-1build1 [24.5 kB] 411s Get:26 http://ftpmaster.internal/ubuntu resolute/universe arm64 libjline2-java all 2.14.6-6 [152 kB] 411s Get:27 http://ftpmaster.internal/ubuntu resolute/universe arm64 libjnr-constants-java all 0.10.4-2build1 [1416 kB] 413s Get:28 http://ftpmaster.internal/ubuntu resolute/universe arm64 libjnr-x86asm-java all 1.0.2-6build1 [216 kB] 413s Get:29 http://ftpmaster.internal/ubuntu resolute/universe arm64 libjnr-ffi-java all 2.2.15-2build1 [632 kB] 414s Get:30 http://ftpmaster.internal/ubuntu resolute/universe arm64 libjnr-enxio-java all 0.32.16-1build1 [33.8 kB] 414s Get:31 http://ftpmaster.internal/ubuntu resolute/universe arm64 libjnr-netdb-java all 1.2.0+dfsg-1build1 [58.7 kB] 414s Get:32 http://ftpmaster.internal/ubuntu resolute/universe arm64 libjnr-posix-java all 3.1.18-1build1 [268 kB] 414s Get:33 http://ftpmaster.internal/ubuntu resolute/universe arm64 libjnr-unixsocket-java all 0.38.21-3 [46.8 kB] 414s Get:34 http://ftpmaster.internal/ubuntu resolute/universe arm64 libjoda-time-java all 2.10.14-1 [535 kB] 414s Get:35 http://ftpmaster.internal/ubuntu resolute/universe arm64 libjruby-joni-java all 2.2.1-1build1 [221 kB] 414s Get:36 http://ftpmaster.internal/ubuntu resolute/universe arm64 libjzlib-java all 1.1.3-3build1 [76.7 kB] 414s Get:37 http://ftpmaster.internal/ubuntu resolute/universe arm64 libsnakeyaml-engine-java all 2.7+ds-3build1 [258 kB] 414s Get:38 http://ftpmaster.internal/ubuntu resolute/universe arm64 jruby all 9.4.8.0+ds-3ubuntu1 [23.4 MB] 439s Get:39 http://ftpmaster.internal/ubuntu resolute/main arm64 rubygems-integration all 1.19build1 [5666 B] 439s Get:40 http://ftpmaster.internal/ubuntu resolute/main arm64 ruby3.3 arm64 3.3.8-2ubuntu2 [59.1 kB] 439s Get:41 http://ftpmaster.internal/ubuntu resolute/main arm64 ruby-rubygems all 3.6.7-2ubuntu2 [332 kB] 439s Get:42 http://ftpmaster.internal/ubuntu resolute/main arm64 ruby arm64 1:3.3 [3668 B] 439s Get:43 http://ftpmaster.internal/ubuntu resolute/main arm64 rake all 13.2.1-1build1 [45.9 kB] 439s Get:44 http://ftpmaster.internal/ubuntu resolute/main arm64 ruby-csv all 3.3.4-1 [43.0 kB] 439s Get:45 http://ftpmaster.internal/ubuntu resolute/main arm64 ruby-did-you-mean all 1.6.3-2build1 [14.9 kB] 439s Get:46 http://ftpmaster.internal/ubuntu resolute/main arm64 ruby-net-telnet all 0.2.0-1build1 [13.5 kB] 439s Get:47 http://ftpmaster.internal/ubuntu resolute/main arm64 ruby-ruby2-keywords all 0.0.5-1build1 [4398 B] 439s Get:48 http://ftpmaster.internal/ubuntu resolute/main arm64 ruby-webrick all 1.9.1-1build1 [60.9 kB] 439s Get:49 http://ftpmaster.internal/ubuntu resolute/main arm64 ruby-xmlrpc all 0.3.3-2build1 [24.9 kB] 439s Get:50 http://ftpmaster.internal/ubuntu resolute/main arm64 libruby3.3 arm64 3.3.8-2ubuntu2 [5971 kB] 443s Get:51 http://ftpmaster.internal/ubuntu resolute/main arm64 libruby arm64 1:3.3 [5164 B] 443s Get:52 http://ftpmaster.internal/ubuntu resolute-proposed/universe arm64 ruby-concurrent all 1.3.6-1 [284 kB] 443s Get:53 http://ftpmaster.internal/ubuntu resolute-proposed/universe arm64 ruby-concurrent-ext arm64 1.3.6-1 [9614 B] 443s Get:54 http://ftpmaster.internal/ubuntu resolute/universe arm64 ruby-diff-lcs all 1.5.1-1 [22.8 kB] 443s Get:55 http://ftpmaster.internal/ubuntu resolute/universe arm64 ruby-rspec-support all 3.13.0c0e0m0s1-2 [29.2 kB] 443s Get:56 http://ftpmaster.internal/ubuntu resolute/universe arm64 ruby-rspec-core all 3.13.0c0e0m0s1-2 [164 kB] 443s Get:57 http://ftpmaster.internal/ubuntu resolute/universe arm64 ruby-rspec-expectations all 3.13.0c0e0m0s1-2 [89.8 kB] 443s Get:58 http://ftpmaster.internal/ubuntu resolute/universe arm64 ruby-rspec-mocks all 3.13.0c0e0m0s1-2 [81.0 kB] 443s Get:59 http://ftpmaster.internal/ubuntu resolute/universe arm64 ruby-rspec all 3.13.0c0e0m0s1-2 [3500 B] 443s Get:60 http://ftpmaster.internal/ubuntu resolute/universe arm64 ruby-timecop all 0.9.10-1.1 [11.5 kB] 444s Fetched 90.6 MB in 1min 34s (966 kB/s) 444s Selecting previously unselected package ca-certificates-java. 444s (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 ... 136605 files and directories currently installed.) 444s Preparing to unpack .../00-ca-certificates-java_20240118build1_all.deb ... 444s Unpacking ca-certificates-java (20240118build1) ... 444s Selecting previously unselected package java-common. 444s Preparing to unpack .../01-java-common_0.76build1_all.deb ... 444s Unpacking java-common (0.76build1) ... 444s Selecting previously unselected package liblcms2-2:arm64. 444s Preparing to unpack .../02-liblcms2-2_2.17-1_arm64.deb ... 444s Unpacking liblcms2-2:arm64 (2.17-1) ... 444s Selecting previously unselected package libjpeg-turbo8:arm64. 444s Preparing to unpack .../03-libjpeg-turbo8_2.1.5-4ubuntu3_arm64.deb ... 444s Unpacking libjpeg-turbo8:arm64 (2.1.5-4ubuntu3) ... 444s Selecting previously unselected package libjpeg8:arm64. 444s Preparing to unpack .../04-libjpeg8_8c-2ubuntu12_arm64.deb ... 444s Unpacking libjpeg8:arm64 (8c-2ubuntu12) ... 444s Selecting previously unselected package libpcsclite1:arm64. 444s Preparing to unpack .../05-libpcsclite1_2.4.1-1_arm64.deb ... 444s Unpacking libpcsclite1:arm64 (2.4.1-1) ... 444s Selecting previously unselected package openjdk-21-jre-headless:arm64. 444s Preparing to unpack .../06-openjdk-21-jre-headless_21.0.10+7-1_arm64.deb ... 444s Unpacking openjdk-21-jre-headless:arm64 (21.0.10+7-1) ... 445s Selecting previously unselected package default-jre-headless. 445s Preparing to unpack .../07-default-jre-headless_2%3a1.21-76build1_arm64.deb ... 445s Unpacking default-jre-headless (2:1.21-76build1) ... 445s Selecting previously unselected package libasm-java. 445s Preparing to unpack .../08-libasm-java_9.8-2_all.deb ... 445s Unpacking libasm-java (9.8-2) ... 445s Selecting previously unselected package libbackport9-java. 445s Preparing to unpack .../09-libbackport9-java_1.10-2build1_all.deb ... 445s Unpacking libbackport9-java (1.10-2build1) ... 445s Selecting previously unselected package libbcprov-java. 445s Preparing to unpack .../10-libbcprov-java_1.80-3_all.deb ... 445s Unpacking libbcprov-java (1.80-3) ... 445s Selecting previously unselected package libbcutil-java. 445s Preparing to unpack .../11-libbcutil-java_1.80-3_all.deb ... 445s Unpacking libbcutil-java (1.80-3) ... 445s Selecting previously unselected package libbcpkix-java. 445s Preparing to unpack .../12-libbcpkix-java_1.80-3_all.deb ... 445s Unpacking libbcpkix-java (1.80-3) ... 445s Selecting previously unselected package libbctls-java. 445s Preparing to unpack .../13-libbctls-java_1.80-3_all.deb ... 445s Unpacking libbctls-java (1.80-3) ... 445s Selecting previously unselected package libdirgra-java. 445s Preparing to unpack .../14-libdirgra-java_0.4-2build1_all.deb ... 445s Unpacking libdirgra-java (0.4-2build1) ... 445s Selecting previously unselected package libfixposix4t64:arm64. 445s Preparing to unpack .../15-libfixposix4t64_1%3a0.5.1-1+nmu1.1build2_arm64.deb ... 445s Unpacking libfixposix4t64:arm64 (1:0.5.1-1+nmu1.1build2) ... 445s Selecting previously unselected package libheadius-options-java. 445s Preparing to unpack .../16-libheadius-options-java_1.7-1build1_all.deb ... 445s Unpacking libheadius-options-java (1.7-1build1) ... 445s Selecting previously unselected package libinvokebinder-java. 445s Preparing to unpack .../17-libinvokebinder-java_1.14-1build1_all.deb ... 445s Unpacking libinvokebinder-java (1.14-1build1) ... 445s Selecting previously unselected package libhawtjni-runtime-java. 445s Preparing to unpack .../18-libhawtjni-runtime-java_1.18-1build1_all.deb ... 445s Unpacking libhawtjni-runtime-java (1.18-1build1) ... 445s Selecting previously unselected package libjansi-native-java. 445s Preparing to unpack .../19-libjansi-native-java_1.8-2build1_all.deb ... 445s Unpacking libjansi-native-java (1.8-2build1) ... 445s Selecting previously unselected package libjansi1-java. 445s Preparing to unpack .../20-libjansi1-java_1.18-3.1build1_all.deb ... 445s Unpacking libjansi1-java (1.18-3.1build1) ... 446s Selecting previously unselected package libjcodings-java. 446s Preparing to unpack .../21-libjcodings-java_1.0.58-1build1_all.deb ... 446s Unpacking libjcodings-java (1.0.58-1build1) ... 446s Selecting previously unselected package libjffi-jni:arm64. 446s Preparing to unpack .../22-libjffi-jni_1.3.13+ds-1build1_arm64.deb ... 446s Unpacking libjffi-jni:arm64 (1.3.13+ds-1build1) ... 446s Selecting previously unselected package libjffi-java. 446s Preparing to unpack .../23-libjffi-java_1.3.13+ds-1build1_all.deb ... 446s Unpacking libjffi-java (1.3.13+ds-1build1) ... 446s Selecting previously unselected package libjitescript-java. 446s Preparing to unpack .../24-libjitescript-java_0.4.3-1build1_all.deb ... 446s Unpacking libjitescript-java (0.4.3-1build1) ... 446s Selecting previously unselected package libjline2-java. 446s Preparing to unpack .../25-libjline2-java_2.14.6-6_all.deb ... 446s Unpacking libjline2-java (2.14.6-6) ... 446s Selecting previously unselected package libjnr-constants-java. 446s Preparing to unpack .../26-libjnr-constants-java_0.10.4-2build1_all.deb ... 446s Unpacking libjnr-constants-java (0.10.4-2build1) ... 446s Selecting previously unselected package libjnr-x86asm-java. 446s Preparing to unpack .../27-libjnr-x86asm-java_1.0.2-6build1_all.deb ... 446s Unpacking libjnr-x86asm-java (1.0.2-6build1) ... 446s Selecting previously unselected package libjnr-ffi-java. 446s Preparing to unpack .../28-libjnr-ffi-java_2.2.15-2build1_all.deb ... 446s Unpacking libjnr-ffi-java (2.2.15-2build1) ... 446s Selecting previously unselected package libjnr-enxio-java. 446s Preparing to unpack .../29-libjnr-enxio-java_0.32.16-1build1_all.deb ... 446s Unpacking libjnr-enxio-java (0.32.16-1build1) ... 446s Selecting previously unselected package libjnr-netdb-java. 446s Preparing to unpack .../30-libjnr-netdb-java_1.2.0+dfsg-1build1_all.deb ... 446s Unpacking libjnr-netdb-java (1.2.0+dfsg-1build1) ... 446s Selecting previously unselected package libjnr-posix-java. 446s Preparing to unpack .../31-libjnr-posix-java_3.1.18-1build1_all.deb ... 446s Unpacking libjnr-posix-java (3.1.18-1build1) ... 446s Selecting previously unselected package libjnr-unixsocket-java. 446s Preparing to unpack .../32-libjnr-unixsocket-java_0.38.21-3_all.deb ... 446s Unpacking libjnr-unixsocket-java (0.38.21-3) ... 446s Selecting previously unselected package libjoda-time-java. 446s Preparing to unpack .../33-libjoda-time-java_2.10.14-1_all.deb ... 446s Unpacking libjoda-time-java (2.10.14-1) ... 446s Selecting previously unselected package libjruby-joni-java. 446s Preparing to unpack .../34-libjruby-joni-java_2.2.1-1build1_all.deb ... 446s Unpacking libjruby-joni-java (2.2.1-1build1) ... 446s Selecting previously unselected package libjzlib-java. 446s Preparing to unpack .../35-libjzlib-java_1.1.3-3build1_all.deb ... 446s Unpacking libjzlib-java (1.1.3-3build1) ... 446s Selecting previously unselected package libsnakeyaml-engine-java. 446s Preparing to unpack .../36-libsnakeyaml-engine-java_2.7+ds-3build1_all.deb ... 446s Unpacking libsnakeyaml-engine-java (2.7+ds-3build1) ... 446s Selecting previously unselected package jruby. 446s Preparing to unpack .../37-jruby_9.4.8.0+ds-3ubuntu1_all.deb ... 446s Unpacking jruby (9.4.8.0+ds-3ubuntu1) ... 446s Selecting previously unselected package rubygems-integration. 446s Preparing to unpack .../38-rubygems-integration_1.19build1_all.deb ... 446s Unpacking rubygems-integration (1.19build1) ... 446s Selecting previously unselected package ruby3.3. 446s Preparing to unpack .../39-ruby3.3_3.3.8-2ubuntu2_arm64.deb ... 446s Unpacking ruby3.3 (3.3.8-2ubuntu2) ... 446s Selecting previously unselected package ruby-rubygems. 447s Preparing to unpack .../40-ruby-rubygems_3.6.7-2ubuntu2_all.deb ... 447s Unpacking ruby-rubygems (3.6.7-2ubuntu2) ... 447s Selecting previously unselected package ruby. 447s Preparing to unpack .../41-ruby_1%3a3.3_arm64.deb ... 447s Unpacking ruby (1:3.3) ... 447s Selecting previously unselected package rake. 447s Preparing to unpack .../42-rake_13.2.1-1build1_all.deb ... 447s Unpacking rake (13.2.1-1build1) ... 447s Selecting previously unselected package ruby-csv. 447s Preparing to unpack .../43-ruby-csv_3.3.4-1_all.deb ... 447s Unpacking ruby-csv (3.3.4-1) ... 447s Selecting previously unselected package ruby-did-you-mean. 447s Preparing to unpack .../44-ruby-did-you-mean_1.6.3-2build1_all.deb ... 447s Unpacking ruby-did-you-mean (1.6.3-2build1) ... 447s Selecting previously unselected package ruby-net-telnet. 447s Preparing to unpack .../45-ruby-net-telnet_0.2.0-1build1_all.deb ... 447s Unpacking ruby-net-telnet (0.2.0-1build1) ... 447s Selecting previously unselected package ruby-ruby2-keywords. 447s Preparing to unpack .../46-ruby-ruby2-keywords_0.0.5-1build1_all.deb ... 447s Unpacking ruby-ruby2-keywords (0.0.5-1build1) ... 447s Selecting previously unselected package ruby-webrick. 447s Preparing to unpack .../47-ruby-webrick_1.9.1-1build1_all.deb ... 447s Unpacking ruby-webrick (1.9.1-1build1) ... 447s Selecting previously unselected package ruby-xmlrpc. 447s Preparing to unpack .../48-ruby-xmlrpc_0.3.3-2build1_all.deb ... 447s Unpacking ruby-xmlrpc (0.3.3-2build1) ... 447s Selecting previously unselected package libruby3.3:arm64. 447s Preparing to unpack .../49-libruby3.3_3.3.8-2ubuntu2_arm64.deb ... 447s Unpacking libruby3.3:arm64 (3.3.8-2ubuntu2) ... 447s Selecting previously unselected package libruby:arm64. 447s Preparing to unpack .../50-libruby_1%3a3.3_arm64.deb ... 447s Unpacking libruby:arm64 (1:3.3) ... 447s Selecting previously unselected package ruby-concurrent. 447s Preparing to unpack .../51-ruby-concurrent_1.3.6-1_all.deb ... 447s Unpacking ruby-concurrent (1.3.6-1) ... 447s Selecting previously unselected package ruby-concurrent-ext. 447s Preparing to unpack .../52-ruby-concurrent-ext_1.3.6-1_arm64.deb ... 447s Unpacking ruby-concurrent-ext (1.3.6-1) ... 447s Selecting previously unselected package ruby-diff-lcs. 447s Preparing to unpack .../53-ruby-diff-lcs_1.5.1-1_all.deb ... 447s Unpacking ruby-diff-lcs (1.5.1-1) ... 447s Selecting previously unselected package ruby-rspec-support. 447s Preparing to unpack .../54-ruby-rspec-support_3.13.0c0e0m0s1-2_all.deb ... 447s Unpacking ruby-rspec-support (3.13.0c0e0m0s1-2) ... 447s Selecting previously unselected package ruby-rspec-core. 447s Preparing to unpack .../55-ruby-rspec-core_3.13.0c0e0m0s1-2_all.deb ... 447s Unpacking ruby-rspec-core (3.13.0c0e0m0s1-2) ... 447s Selecting previously unselected package ruby-rspec-expectations. 447s Preparing to unpack .../56-ruby-rspec-expectations_3.13.0c0e0m0s1-2_all.deb ... 447s Unpacking ruby-rspec-expectations (3.13.0c0e0m0s1-2) ... 447s Selecting previously unselected package ruby-rspec-mocks. 448s Preparing to unpack .../57-ruby-rspec-mocks_3.13.0c0e0m0s1-2_all.deb ... 448s Unpacking ruby-rspec-mocks (3.13.0c0e0m0s1-2) ... 448s Selecting previously unselected package ruby-rspec. 448s Preparing to unpack .../58-ruby-rspec_3.13.0c0e0m0s1-2_all.deb ... 448s Unpacking ruby-rspec (3.13.0c0e0m0s1-2) ... 448s Selecting previously unselected package ruby-timecop. 448s Preparing to unpack .../59-ruby-timecop_0.9.10-1.1_all.deb ... 448s Unpacking ruby-timecop (0.9.10-1.1) ... 448s Setting up libbcprov-java (1.80-3) ... 448s Setting up liblcms2-2:arm64 (2.17-1) ... 448s Setting up libfixposix4t64:arm64 (1:0.5.1-1+nmu1.1build2) ... 448s Setting up ruby-ruby2-keywords (0.0.5-1build1) ... 448s Setting up java-common (0.76build1) ... 448s Setting up libbcutil-java (1.80-3) ... 448s Setting up libasm-java (9.8-2) ... 448s Setting up rubygems-integration (1.19build1) ... 448s Setting up libheadius-options-java (1.7-1build1) ... 448s Setting up libbctls-java (1.80-3) ... 448s Setting up ruby-concurrent (1.3.6-1) ... 448s Setting up libjnr-x86asm-java (1.0.2-6build1) ... 448s Setting up ruby-timecop (0.9.10-1.1) ... 448s Setting up libjzlib-java (1.1.3-3build1) ... 448s Setting up libbackport9-java (1.10-2build1) ... 448s Setting up libjitescript-java (0.4.3-1build1) ... 448s Setting up libsnakeyaml-engine-java (2.7+ds-3build1) ... 448s Setting up ruby-net-telnet (0.2.0-1build1) ... 448s Setting up ruby-csv (3.3.4-1) ... 448s Setting up libpcsclite1:arm64 (2.4.1-1) ... 448s Setting up libjpeg-turbo8:arm64 (2.1.5-4ubuntu3) ... 448s Setting up ruby-rspec-support (3.13.0c0e0m0s1-2) ... 448s Setting up libjoda-time-java (2.10.14-1) ... 448s Setting up libjcodings-java (1.0.58-1build1) ... 448s Setting up ruby-webrick (1.9.1-1build1) ... 448s Setting up libinvokebinder-java (1.14-1build1) ... 448s Setting up libjffi-jni:arm64 (1.3.13+ds-1build1) ... 448s Setting up ca-certificates-java (20240118build1) ... 448s No JRE found. Skipping Java certificates setup. 448s Setting up ruby-did-you-mean (1.6.3-2build1) ... 448s Setting up libbcpkix-java (1.80-3) ... 448s Setting up ruby-xmlrpc (0.3.3-2build1) ... 448s Setting up libhawtjni-runtime-java (1.18-1build1) ... 448s Setting up libdirgra-java (0.4-2build1) ... 448s Setting up libjnr-constants-java (0.10.4-2build1) ... 448s Setting up libjpeg8:arm64 (8c-2ubuntu12) ... 448s Setting up libjffi-java (1.3.13+ds-1build1) ... 448s Setting up openjdk-21-jre-headless:arm64 (21.0.10+7-1) ... 448s update-alternatives: using /usr/lib/jvm/java-21-openjdk-arm64/bin/java to provide /usr/bin/java (java) in auto mode 448s update-alternatives: using /usr/lib/jvm/java-21-openjdk-arm64/bin/jpackage to provide /usr/bin/jpackage (jpackage) in auto mode 448s update-alternatives: using /usr/lib/jvm/java-21-openjdk-arm64/bin/keytool to provide /usr/bin/keytool (keytool) in auto mode 448s update-alternatives: using /usr/lib/jvm/java-21-openjdk-arm64/bin/rmiregistry to provide /usr/bin/rmiregistry (rmiregistry) in auto mode 448s update-alternatives: using /usr/lib/jvm/java-21-openjdk-arm64/lib/jexec to provide /usr/bin/jexec (jexec) in auto mode 448s Setting up libjruby-joni-java (2.2.1-1build1) ... 448s Setting up libjansi-native-java (1.8-2build1) ... 448s Setting up libjansi1-java (1.18-3.1build1) ... 448s Setting up libjline2-java (2.14.6-6) ... 448s Setting up libjnr-ffi-java (2.2.15-2build1) ... 448s Setting up libjnr-enxio-java (0.32.16-1build1) ... 448s Setting up libjnr-netdb-java (1.2.0+dfsg-1build1) ... 448s Setting up libjnr-posix-java (3.1.18-1build1) ... 448s Setting up libjnr-unixsocket-java (0.38.21-3) ... 448s Setting up rake (13.2.1-1build1) ... 448s Setting up libruby3.3:arm64 (3.3.8-2ubuntu2) ... 448s Setting up ruby3.3 (3.3.8-2ubuntu2) ... 448s Setting up libruby:arm64 (1:3.3) ... 448s Setting up ruby (1:3.3) ... 448s Setting up ruby-rspec-core (3.13.0c0e0m0s1-2) ... 448s Setting up ruby-diff-lcs (1.5.1-1) ... 448s Setting up ruby-rubygems (3.6.7-2ubuntu2) ... 448s Setting up ruby-concurrent-ext (1.3.6-1) ... 448s Setting up ruby-rspec-expectations (3.13.0c0e0m0s1-2) ... 448s Setting up ruby-rspec-mocks (3.13.0c0e0m0s1-2) ... 448s Setting up ruby-rspec (3.13.0c0e0m0s1-2) ... 448s Processing triggers for libc-bin (2.42-2ubuntu4) ... 448s Processing triggers for man-db (2.13.1-1build1) ... 448s Processing triggers for ca-certificates-java (20240118build1) ... 449s Adding debian:ACCVRAIZ1.pem 449s Adding debian:AC_RAIZ_FNMT-RCM.pem 449s Adding debian:AC_RAIZ_FNMT-RCM_SERVIDORES_SEGUROS.pem 449s Adding debian:ANF_Secure_Server_Root_CA.pem 449s Adding debian:Actalis_Authentication_Root_CA.pem 449s Adding debian:AffirmTrust_Commercial.pem 449s Adding debian:AffirmTrust_Networking.pem 449s Adding debian:AffirmTrust_Premium.pem 449s Adding debian:AffirmTrust_Premium_ECC.pem 449s Adding debian:Amazon_Root_CA_1.pem 449s Adding debian:Amazon_Root_CA_2.pem 449s Adding debian:Amazon_Root_CA_3.pem 449s Adding debian:Amazon_Root_CA_4.pem 449s Adding debian:Atos_TrustedRoot_2011.pem 449s Adding debian:Atos_TrustedRoot_Root_CA_ECC_TLS_2021.pem 449s Adding debian:Atos_TrustedRoot_Root_CA_RSA_TLS_2021.pem 449s Adding debian:Autoridad_de_Certificacion_Firmaprofesional_CIF_A62634068.pem 449s Adding debian:BJCA_Global_Root_CA1.pem 449s Adding debian:BJCA_Global_Root_CA2.pem 449s Adding debian:Baltimore_CyberTrust_Root.pem 449s Adding debian:Buypass_Class_2_Root_CA.pem 449s Adding debian:Buypass_Class_3_Root_CA.pem 449s Adding debian:CA_Disig_Root_R2.pem 449s Adding debian:CFCA_EV_ROOT.pem 449s Adding debian:COMODO_Certification_Authority.pem 449s Adding debian:COMODO_ECC_Certification_Authority.pem 449s Adding debian:COMODO_RSA_Certification_Authority.pem 449s Adding debian:Certainly_Root_E1.pem 449s Adding debian:Certainly_Root_R1.pem 449s Adding debian:Certigna.pem 449s Adding debian:Certigna_Root_CA.pem 449s Adding debian:Certum_EC-384_CA.pem 449s Adding debian:Certum_Trusted_Network_CA.pem 449s Adding debian:Certum_Trusted_Network_CA_2.pem 449s Adding debian:Certum_Trusted_Root_CA.pem 449s Adding debian:CommScope_Public_Trust_ECC_Root-01.pem 449s Adding debian:CommScope_Public_Trust_ECC_Root-02.pem 449s Adding debian:CommScope_Public_Trust_RSA_Root-01.pem 449s Adding debian:CommScope_Public_Trust_RSA_Root-02.pem 449s Adding debian:Comodo_AAA_Services_root.pem 449s Adding debian:D-TRUST_BR_Root_CA_1_2020.pem 449s Adding debian:D-TRUST_BR_Root_CA_2_2023.pem 449s Adding debian:D-TRUST_EV_Root_CA_1_2020.pem 449s Adding debian:D-TRUST_EV_Root_CA_2_2023.pem 449s Adding debian:D-TRUST_Root_Class_3_CA_2_2009.pem 449s Adding debian:D-TRUST_Root_Class_3_CA_2_EV_2009.pem 449s Adding debian:DigiCert_Assured_ID_Root_CA.pem 449s Adding debian:DigiCert_Assured_ID_Root_G2.pem 449s Adding debian:DigiCert_Assured_ID_Root_G3.pem 449s Adding debian:DigiCert_Global_Root_CA.pem 449s Adding debian:DigiCert_Global_Root_G2.pem 449s Adding debian:DigiCert_Global_Root_G3.pem 449s Adding debian:DigiCert_High_Assurance_EV_Root_CA.pem 449s Adding debian:DigiCert_TLS_ECC_P384_Root_G5.pem 449s Adding debian:DigiCert_TLS_RSA4096_Root_G5.pem 449s Adding debian:DigiCert_Trusted_Root_G4.pem 449s Adding debian:Entrust.net_Premium_2048_Secure_Server_CA.pem 449s Adding debian:Entrust_Root_Certification_Authority.pem 449s Adding debian:Entrust_Root_Certification_Authority_-_EC1.pem 449s Adding debian:Entrust_Root_Certification_Authority_-_G2.pem 449s Adding debian:FIRMAPROFESIONAL_CA_ROOT-A_WEB.pem 449s Adding debian:GDCA_TrustAUTH_R5_ROOT.pem 449s Adding debian:GLOBALTRUST_2020.pem 449s Adding debian:GTS_Root_R1.pem 449s Adding debian:GTS_Root_R2.pem 449s Adding debian:GTS_Root_R3.pem 449s Adding debian:GTS_Root_R4.pem 449s Adding debian:GlobalSign_ECC_Root_CA_-_R4.pem 449s Adding debian:GlobalSign_ECC_Root_CA_-_R5.pem 449s Adding debian:GlobalSign_Root_CA.pem 449s Adding debian:GlobalSign_Root_CA_-_R3.pem 449s Adding debian:GlobalSign_Root_CA_-_R6.pem 449s Adding debian:GlobalSign_Root_E46.pem 449s Adding debian:GlobalSign_Root_R46.pem 449s Adding debian:Go_Daddy_Class_2_CA.pem 449s Adding debian:Go_Daddy_Root_Certificate_Authority_-_G2.pem 449s Adding debian:HARICA_TLS_ECC_Root_CA_2021.pem 449s Adding debian:HARICA_TLS_RSA_Root_CA_2021.pem 449s Adding debian:Hellenic_Academic_and_Research_Institutions_ECC_RootCA_2015.pem 449s Adding debian:Hellenic_Academic_and_Research_Institutions_RootCA_2015.pem 449s Adding debian:HiPKI_Root_CA_-_G1.pem 449s Adding debian:Hongkong_Post_Root_CA_3.pem 449s Adding debian:ISRG_Root_X1.pem 449s Adding debian:ISRG_Root_X2.pem 449s Adding debian:IdenTrust_Commercial_Root_CA_1.pem 449s Adding debian:IdenTrust_Public_Sector_Root_CA_1.pem 449s Adding debian:Izenpe.com.pem 449s Adding debian:Microsec_e-Szigno_Root_CA_2009.pem 449s Adding debian:Microsoft_ECC_Root_Certificate_Authority_2017.pem 449s Adding debian:Microsoft_RSA_Root_Certificate_Authority_2017.pem 449s Adding debian:NAVER_Global_Root_Certification_Authority.pem 449s Adding debian:NetLock_Arany_=Class_Gold=_Főtanúsítvány.pem 449s Adding debian:OISTE_WISeKey_Global_Root_GB_CA.pem 449s Adding debian:OISTE_WISeKey_Global_Root_GC_CA.pem 449s Adding debian:QuoVadis_Root_CA_1_G3.pem 449s Adding debian:QuoVadis_Root_CA_2.pem 449s Adding debian:QuoVadis_Root_CA_2_G3.pem 449s Adding debian:QuoVadis_Root_CA_3.pem 449s Adding debian:QuoVadis_Root_CA_3_G3.pem 449s Adding debian:SSL.com_EV_Root_Certification_Authority_ECC.pem 449s Adding debian:SSL.com_EV_Root_Certification_Authority_RSA_R2.pem 449s Adding debian:SSL.com_Root_Certification_Authority_ECC.pem 449s Adding debian:SSL.com_Root_Certification_Authority_RSA.pem 449s Adding debian:SSL.com_TLS_ECC_Root_CA_2022.pem 449s Adding debian:SSL.com_TLS_RSA_Root_CA_2022.pem 449s Adding debian:SZAFIR_ROOT_CA2.pem 449s Adding debian:Sectigo_Public_Server_Authentication_Root_E46.pem 449s Adding debian:Sectigo_Public_Server_Authentication_Root_R46.pem 449s Adding debian:SecureSign_Root_CA12.pem 449s Adding debian:SecureSign_Root_CA14.pem 449s Adding debian:SecureSign_Root_CA15.pem 449s Adding debian:SecureTrust_CA.pem 449s Adding debian:Secure_Global_CA.pem 449s Adding debian:Security_Communication_ECC_RootCA1.pem 449s Adding debian:Security_Communication_RootCA2.pem 449s Adding debian:Starfield_Class_2_CA.pem 449s Adding debian:Starfield_Root_Certificate_Authority_-_G2.pem 449s Adding debian:Starfield_Services_Root_Certificate_Authority_-_G2.pem 449s Adding debian:SwissSign_Gold_CA_-_G2.pem 449s Adding debian:T-TeleSec_GlobalRoot_Class_2.pem 449s Adding debian:T-TeleSec_GlobalRoot_Class_3.pem 449s Adding debian:TUBITAK_Kamu_SM_SSL_Kok_Sertifikasi_-_Surum_1.pem 449s Adding debian:TWCA_CYBER_Root_CA.pem 449s Adding debian:TWCA_Global_Root_CA.pem 449s Adding debian:TWCA_Root_Certification_Authority.pem 449s Adding debian:Telekom_Security_TLS_ECC_Root_2020.pem 449s Adding debian:Telekom_Security_TLS_RSA_Root_2023.pem 449s Adding debian:TeliaSonera_Root_CA_v1.pem 449s Adding debian:Telia_Root_CA_v2.pem 449s Adding debian:TrustAsia_Global_Root_CA_G3.pem 449s Adding debian:TrustAsia_Global_Root_CA_G4.pem 449s Adding debian:Trustwave_Global_Certification_Authority.pem 449s Adding debian:Trustwave_Global_ECC_P256_Certification_Authority.pem 449s Adding debian:Trustwave_Global_ECC_P384_Certification_Authority.pem 449s Adding debian:TunTrust_Root_CA.pem 449s Adding debian:UCA_Extended_Validation_Root.pem 449s Adding debian:UCA_Global_G2_Root.pem 449s Adding debian:USERTrust_ECC_Certification_Authority.pem 449s Adding debian:USERTrust_RSA_Certification_Authority.pem 449s Adding debian:XRamp_Global_CA_Root.pem 449s Adding debian:certSIGN_ROOT_CA.pem 449s Adding debian:certSIGN_Root_CA_G2.pem 449s Adding debian:e-Szigno_Root_CA_2017.pem 449s Adding debian:ePKI_Root_Certification_Authority.pem 449s Adding debian:emSign_ECC_Root_CA_-_C3.pem 449s Adding debian:emSign_ECC_Root_CA_-_G3.pem 449s Adding debian:emSign_Root_CA_-_C1.pem 449s Adding debian:emSign_Root_CA_-_G1.pem 449s Adding debian:vTrus_ECC_Root_CA.pem 449s Adding debian:vTrus_Root_CA.pem 449s done. 449s Setting up default-jre-headless (2:1.21-76build1) ... 449s Setting up jruby (9.4.8.0+ds-3ubuntu1) ... 451s autopkgtest [07:15:49]: test jruby: [----------------------- 451s installing concurrent-ruby-1.3.6 gem into temporary GEM_HOME for jruby ... 451s installing concurrent-ruby-edge-0.7.2 gem into temporary GEM_HOME for jruby ... 451s installing diff-lcs-1.5.1 gem into temporary GEM_HOME for jruby ... 451s installing rspec-core-3.13.0 gem into temporary GEM_HOME for jruby ... 451s installing rspec-expectations-3.13.0 gem into temporary GEM_HOME for jruby ... 451s installing rspec-mocks-3.13.0 gem into temporary GEM_HOME for jruby ... 451s installing rspec-support-3.13.1 gem into temporary GEM_HOME for jruby ... 451s installing timecop-0.9.10 gem into temporary GEM_HOME for jruby ... 456s /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.6/lib/concurrent-ruby/concurrent/options.rb require at org/jruby/RubyKernel.java:1184 456s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 456s at /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/options.rb:6 456s
at /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/options.rb:3 456s require at org/jruby/RubyKernel.java:1184 456s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 456s
at /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/scheduled_task.rb:8 456s require at org/jruby/RubyKernel.java:1184 456s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 456s
at /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/executor/timer_set.rb:1 456s require at org/jruby/RubyKernel.java:1184 456s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 456s
at /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/executors.rb:19 456s require at org/jruby/RubyKernel.java:1184 456s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 456s
at /usr/share/rubygems-integration/all/gems/concurrent-ruby-edge-0.7.2/lib/concurrent-ruby-edge/concurrent/actor/core.rb:4 456s require at org/jruby/RubyKernel.java:1184 456s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 456s at /usr/share/rubygems-integration/all/gems/concurrent-ruby-edge-0.7.2/lib/concurrent-ruby-edge/concurrent/actor.rb:25 456s at /usr/share/rubygems-integration/all/gems/concurrent-ruby-edge-0.7.2/lib/concurrent-ruby-edge/concurrent/actor.rb:17 456s
at /usr/share/rubygems-integration/all/gems/concurrent-ruby-edge-0.7.2/lib/concurrent-ruby-edge/concurrent/actor.rb:7 456s require at org/jruby/RubyKernel.java:1184 456s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:160 456s
at /tmp/autopkgtest.NUd3bx/build.yQw/src/spec/concurrent/actor_spec.rb:1 456s load at org/jruby/RubyKernel.java:1220 456s load_file_handling_errors at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:2138 456s load_spec_files at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:1638 456s each at org/jruby/RubyArray.java:1981 456s load_spec_files at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:1636 456s setup at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:102 456s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:86 456s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:71 456s invoke at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:45 456s
at /usr/bin/rspec:4 456s 456s /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.6/lib/concurrent-ruby/concurrent/executor/timer_set.rb require at org/jruby/RubyKernel.java:1184 456s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 456s at /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/executor/timer_set.rb:19 456s
at /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/executor/timer_set.rb:9 456s require at org/jruby/RubyKernel.java:1184 456s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 456s
at /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/executors.rb:19 456s require at org/jruby/RubyKernel.java:1184 456s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 456s
at /usr/share/rubygems-integration/all/gems/concurrent-ruby-edge-0.7.2/lib/concurrent-ruby-edge/concurrent/actor/core.rb:4 456s require at org/jruby/RubyKernel.java:1184 456s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 456s at /usr/share/rubygems-integration/all/gems/concurrent-ruby-edge-0.7.2/lib/concurrent-ruby-edge/concurrent/actor.rb:25 456s at /usr/share/rubygems-integration/all/gems/concurrent-ruby-edge-0.7.2/lib/concurrent-ruby-edge/concurrent/actor.rb:17 456s
at /usr/share/rubygems-integration/all/gems/concurrent-ruby-edge-0.7.2/lib/concurrent-ruby-edge/concurrent/actor.rb:7 456s require at org/jruby/RubyKernel.java:1184 456s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:160 456s
at /tmp/autopkgtest.NUd3bx/build.yQw/src/spec/concurrent/actor_spec.rb:1 456s load at org/jruby/RubyKernel.java:1220 456s load_file_handling_errors at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:2138 456s load_spec_files at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:1638 456s each at org/jruby/RubyArray.java:1981 456s load_spec_files at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:1636 456s setup at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:102 456s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:86 456s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:71 456s invoke at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:45 456s
at /usr/bin/rspec:4 456s 460s /usr/share/jruby/lib/ruby/stdlib/date.rb:471: warning: previous definition of strptime was here 460s /usr/share/jruby/lib/ruby/stdlib/date.rb:490: warning: previous definition of parse was here 460s /usr/share/jruby/lib/ruby/stdlib/date.rb:737: warning: previous definition of parse was here 461s Run options: exclude {:stress=>true} 461s 461s Concurrent::Actor 461s /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 461s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 461s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:30 461s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:3 461s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:2 461s
at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:1 461s require at org/jruby/RubyKernel.java:1184 461s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 461s be_truthy at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers.rb:311 461s
at /tmp/autopkgtest.NUd3bx/build.yQw/src/spec/spec_helper.rb:50 461s instance_exec at org/jruby/RubyBasicObject.java:2620 461s instance_exec at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:457 461s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:365 461s run_owned_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:529 461s each at org/jruby/RubyArray.java:1981 461s run_owned_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:528 461s run_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:615 461s reverse_each at org/jruby/RubyArray.java:2063 461s run_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:614 461s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:484 461s run_before_example at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:505 461s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:261 461s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 461s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 461s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 461s run_around_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:624 461s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 461s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 461s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 461s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:259 461s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:646 461s map at org/jruby/RubyArray.java:2803 461s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:651 461s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:607 461s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121 461s map at org/jruby/RubyArray.java:2803 461s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121 461s with_suite_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:2091 461s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:116 461s report at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/reporter.rb:74 461s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:115 461s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:89 461s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:71 461s invoke at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:45 461s
at /usr/bin/rspec:4 461s 461s /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 461s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 461s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:53 461s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:3 461s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:2 461s
at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:1 461s require at org/jruby/RubyKernel.java:1184 461s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 461s be_truthy at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers.rb:311 461s
at /tmp/autopkgtest.NUd3bx/build.yQw/src/spec/spec_helper.rb:50 461s instance_exec at org/jruby/RubyBasicObject.java:2620 461s instance_exec at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:457 461s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:365 461s run_owned_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:529 461s each at org/jruby/RubyArray.java:1981 461s run_owned_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:528 461s run_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:615 461s reverse_each at org/jruby/RubyArray.java:2063 461s run_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:614 461s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:484 461s run_before_example at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:505 461s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:261 461s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 461s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 461s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 461s run_around_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:624 461s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 461s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 461s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 461s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:259 461s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:646 461s map at org/jruby/RubyArray.java:2803 461s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:651 461s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:607 461s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121 461s map at org/jruby/RubyArray.java:2803 461s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121 461s with_suite_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:2091 461s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:116 461s report at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/reporter.rb:74 461s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:115 461s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:89 461s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:71 461s invoke at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:45 461s
at /usr/bin/rspec:4 461s 462s /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 462s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 462s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:74 462s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:3 462s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:2 462s
at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:1 462s require at org/jruby/RubyKernel.java:1184 462s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 462s be_truthy at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers.rb:311 462s
at /tmp/autopkgtest.NUd3bx/build.yQw/src/spec/spec_helper.rb:50 462s instance_exec at org/jruby/RubyBasicObject.java:2620 462s instance_exec at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:457 462s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:365 462s run_owned_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:529 462s each at org/jruby/RubyArray.java:1981 462s run_owned_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:528 462s run_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:615 462s reverse_each at org/jruby/RubyArray.java:2063 462s run_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:614 462s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:484 462s run_before_example at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:505 462s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:261 462s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 462s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 462s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 462s run_around_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:624 462s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 462s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 462s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 462s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:259 462s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:646 462s map at org/jruby/RubyArray.java:2803 462s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:651 462s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:607 462s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121 462s map at org/jruby/RubyArray.java:2803 462s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121 462s with_suite_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:2091 462s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:116 462s report at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/reporter.rb:74 462s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:115 462s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:89 462s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:71 462s invoke at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:45 462s
at /usr/bin/rspec:4 462s 462s /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 462s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 462s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:101 462s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:3 462s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:2 462s
at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:1 462s require at org/jruby/RubyKernel.java:1184 462s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 462s be_truthy at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers.rb:311 462s
at /tmp/autopkgtest.NUd3bx/build.yQw/src/spec/spec_helper.rb:50 462s instance_exec at org/jruby/RubyBasicObject.java:2620 462s instance_exec at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:457 462s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:365 462s run_owned_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:529 462s each at org/jruby/RubyArray.java:1981 462s run_owned_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:528 462s run_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:615 462s reverse_each at org/jruby/RubyArray.java:2063 462s run_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:614 462s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:484 462s run_before_example at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:505 462s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:261 462s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 462s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 462s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 462s run_around_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:624 462s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 462s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 462s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 462s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:259 462s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:646 462s map at org/jruby/RubyArray.java:2803 462s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:651 462s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:607 462s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121 462s map at org/jruby/RubyArray.java:2803 462s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121 462s with_suite_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:2091 462s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:116 462s report at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/reporter.rb:74 462s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:115 462s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:89 462s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:71 462s invoke at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:45 462s
at /usr/bin/rspec:4 462s 462s forbids Immediate executor 462s /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 462s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 462s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:136 462s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:3 462s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:2 462s
at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:1 462s require at org/jruby/RubyKernel.java:1184 462s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 462s be_truthy at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers.rb:311 462s
at /tmp/autopkgtest.NUd3bx/build.yQw/src/spec/spec_helper.rb:50 462s instance_exec at org/jruby/RubyBasicObject.java:2620 462s instance_exec at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:457 462s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:365 462s run_owned_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:529 462s each at org/jruby/RubyArray.java:1981 462s run_owned_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:528 462s run_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:615 462s reverse_each at org/jruby/RubyArray.java:2063 462s run_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:614 462s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:484 462s run_before_example at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:505 462s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:261 462s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 462s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 462s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 462s run_around_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:624 462s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 462s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 462s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 462s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:259 462s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:646 462s map at org/jruby/RubyArray.java:2803 462s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:651 462s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:607 462s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121 462s map at org/jruby/RubyArray.java:2803 462s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121 462s with_suite_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:2091 462s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:116 462s report at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/reporter.rb:74 462s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:115 462s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:89 462s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:71 462s invoke at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:45 462s
at /usr/bin/rspec:4 462s 462s links 462s links atomically 462s spawning 462s terminates on failed initialization 462s terminates on failed initialization and raises with spawn! 462s terminates on failed message processing 462s Actor#spawn! 462s spawn 462s executor should be global 462s returns arg 462s #path 462s is expected to eq "/ping" 462s #parent 462s is expected to eq # 462s #name 462s is expected to eq "ping" 462s #reference 462s is expected to eq # 462s context_spawn 462s executor should be global 462s returns arg 462s #path 462s is expected to eq "/ping" 462s #parent 462s is expected to eq # 462s #name 462s is expected to eq "ping" 462s #reference 462s is expected to eq # 462s spawn_by_hash 462s executor should be global 462s returns arg 462s #path 462s is expected to eq "/ping" 462s #parent 462s is expected to eq # 462s #name 462s is expected to eq "ping" 462s #reference 462s is expected to eq # 462s context_spawn_by_hash 462s executor should be global 462s returns arg 462s #path 462s is expected to eq "/ping" 462s #parent 462s is expected to eq # 462s #name 462s is expected to eq "ping" 462s #reference 462s is expected to eq # 462s messaging 463s is expected to eq 4 463s children 463s has children set after a child is created 463s envelope 463s /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 463s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 463s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/has.rb:125 463s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/has.rb:3 463s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/has.rb:2 463s
at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/has.rb:1 463s require at org/jruby/RubyKernel.java:1184 463s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 463s method_missing at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers.rb:964 463s method_missing at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:767 463s Actor at /tmp/autopkgtest.NUd3bx/build.yQw/src/spec/concurrent/actor_spec.rb:136 463s instance_exec at org/jruby/RubyBasicObject.java:2620 463s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:263 463s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 463s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 463s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 463s run_around_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:624 463s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 463s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 463s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 463s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:259 463s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:646 463s map at org/jruby/RubyArray.java:2803 463s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:651 463s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:607 463s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:608 463s map at org/jruby/RubyArray.java:2803 463s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:608 463s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121 463s map at org/jruby/RubyArray.java:2803 463s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121 463s with_suite_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:2091 463s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:116 463s report at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/reporter.rb:74 463s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:115 463s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:89 463s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:71 463s invoke at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:45 463s
at /usr/bin/rspec:4 463s 463s is expected to eq # 463s termination 463s terminates with all its children 463s dead letter routing 463s logs by default 463s message redirecting 463s is evaluated by child 463s pausing 463s pauses on error and resumes 463s pauses on error and resets 463s pauses on error and restarts 463s pool 463s supports asks 463s 463s Concurrent::Agent 463s initialization 463s sets the initial value 463s sets the initial error to nil 463s sets the error mode when given a valid value 463s defaults the error mode to :continue when an error handler is given 463s defaults the error mode to :fail when no error handler is given 463s raises an error when given an invalid error mode 463s sets #failed? to false 463s action processing 463s the given block will be passed the current value 463s the given block will be passed any provided arguments 463s the return value will be passed to the validator function 463s upon validation the new value will be set to the block return value 463s on success all observers will be notified 463s any recursive action dispatches will run after the value has been updated 463s when the action raises an error the value will not change 463s when the action raises an error the validator will not be called 463s when validation returns false the value will not change 463s when validation raises an error the value will not change 463s when the action raises an error the handler will be called 463s when validation fails the handler will be called 463s when validation raises an error the handler will be called 463s validation 463s sets the new value when the validator returns true 463s rejects the new value when the validator returns false 463s rejects the new value when the validator raises an error 463s sets the error when the error mode is :fail and the validator returns false 463s sets the error when the error mode is :fail and the validator raises an error 463s does not set an error when the error mode is :continue and the validator returns false 463s does not set an error when the error mode is :continue and the validator raises an error 463s does not trigger observation when validation fails 463s error handling 463s the agent will be passed to the handler 463s the exception will be passed to the handler 463s does not trigger observation 463s error mode 463s :continue 463s does not set an error when the validator returns false 463s does not set an error when the validator raises an error 463s does not set an error when the action raises an error 463s does not block further action processing 463s sets #failed? to false 463s :fail 463s sets the error when the validator returns false 463s sets the error when the validator raises an error 463s sets the error when the action raises an error 463s blocks all further action processing until a restart 463s sets #failed? to true 463s nested actions 463s occur in the order they ar post 463s work with immediate execution 463s posting 463s with #send 463s returns true when the job is post 463s returns false when #failed? 464s posts to the global fast executor 464s does not wait for the action to process 464s with #send! 464s returns true when the job is post 464s raises an error when #failed? 464s posts to the global fast executor 464s does not wait for the action to process 464s with #send_off 464s returns true when the job is post 464s returns false when #failed? 464s posts to the global io executor 464s does not wait for the action to process 464s with #send_off! 464s returns true when the job is post 464s raises an error when #failed? 464s posts to the global io executor 464s does not wait for the action to process 464s with #send_via 464s returns true when the job is post 464s returns false when #failed? 464s posts to the given executor 464s with #send_via! 464s returns true when the job is post 464s raises an error when #failed? 464s posts to the given executor 464s with #post 464s returns true when the job is post 464s returns false when #failed? 464s posts to the global io executor 464s does not wait for the action to process 464s with #<< 464s returns self when the job is post 464s returns self when #failed? 464s posts to the global io executor 464s does not wait for the action to process 464s #restart 464s when #failed? 464s raises an error if the new value is not valid 464s sets the new value 464s clears the error 464s sets #failed? to true 464s removes all actions from the queue when :clear_actions is true 464s does not clear the action queue when :clear_actions is false 464s does not clear the action queue when :clear_actions is not given 465s resumes action processing if actions are enqueued 465s does not trigger observation 465s when not #failed? 465s raises an error 465s waiting 465s the await job 465s does not change the value 465s does not trigger the error mode 465s does not trigger observers 465s waits for nested actions 465s with #await 465s returns self when there are no pending actions 465s does not block on actions from other threads 466s blocks indefinitely 467s returns true when all prior actions have processed 467s blocks forever if restarted with :clear_actions true (PENDING: the timing is nearly impossible) 467s with #await_for 467s returns true when there are no pending actions 467s does not block on actions from other threads 468s returns true when all prior actions have processed 469s returns false on timeout 469s returns false if restarted with :clear_actions true (PENDING: the timing is nearly impossible) 469s with #await_for! 469s returns true when there are no pending actions 469s does not block on actions from other threads 470s returns true when all prior actions have processed 471s raises an error on timeout 471s raises an error if restarted with :clear_actions true (PENDING: the timing is nearly impossible) 471s with #wait 471s returns true when there are no pending actions and timeout is nil 471s returns true when there are no pending actions and a timeout is given 471s does not block on actions from other threads 472s blocks indefinitely when timeout is nil 472s blocks forever when timeout is nil and restarted with :clear_actions true (PENDING: the timing is nearly impossible) 473s returns true when all prior actions have processed 474s returns false on timeout 474s returns false when timeout is given and restarted with :clear_actions true (PENDING: the timing is nearly impossible) 474s with .await 474s returns true when all prior actions on all agents have processed 474s with .await_for 474s returns true when there are no pending actions 474s returns true when all prior actions for all agents have processed 475s returns false on timeout 475s with await_for! 475s returns true when there are no pending actions 475s returns true when all prior actions for all agents have processed 476s raises an exception on timeout 476s observable 476s behaves like observable 476s #add_observer 476s adds an observer if called before first notification 476s adds an observer with :func if called before first notification 476s creates an observer from a block if called before first notification 476s raises an exception if not given an observer or a block 476s raises an exception when given both an observer and a block 476s #delete_observer 476s deletes the given observer if called before first notification 476s returns the removed observer if found in the observer set 476s returns the given observer even when not found in the observer set 476s #delete_observers 476s deletes all observers when called before first notification 476s returns self 476s #count_observers 476s returns zero for a new observable object 476s returns a count of registered observers if called before first notification 476s returns zero after #delete_observers has been called 476s first notification 476s calls the #update method on all observers without a specified :func 476s calls the appropriate function on all observers which specified a :func 476s calls the proc for all observers added as a block 477s does not notify any observers removed with #delete_observer 478s does not notify any observers after #delete_observers called 478s 478s Concurrent::Array 478s .[] 478s when initializing with no arguments 479s is expected to be empty 479s when initializing with arguments 479s creates an array with the given objects 479s .new 479s when initializing with no arguments 479s is expected to be empty 479s when initializing with a size argument 479s creates an array with size elements set to nil 479s when initializing with a default value argument 479s creates an array with size elements set to the default value 479s when initializing with a block argument 479s creates an array with size elements set to the default value 479s when initializing with another array as an argument 479s creates a new array 479s creates an array with the same contents as the other array 479s creates an array with the results of calling #to_ary on the other array 479s concurrency 479s is expected to be empty 479s #slice 479s correctly initializes the monitor 479s 479s Concurrent::Async 479s object creation 479s delegates to the original constructor 479s passes all args to the original constructor 479s passes a given block to the original constructor 479s initializes synchronization 479s #validate_argc 479s raises an exception when the method is not defined 479s raises an exception for too many args on a zero arity method 479s does not raise an exception for correct zero arity 479s raises an exception for too many args on a method with positive arity 479s raises an exception for too few args on a method with positive arity 479s does not raise an exception for correct positive arity 479s raises an exception for too few args on a method with negative arity 479s does not raise an exception for correct negative arity 479s #async 479s raises an error when calling a method that does not exist 479s raises an error when passing too few arguments 479s raises an error when passing too many arguments (arity >= 0) 479s returns the existence of the method 479s returns a :pending IVar 479s runs the future on the global executor 479s sets the value on success 479s sets the reason on failure 479s sets the reason when giving too many optional arguments 479s supports attribute accessors 479s supports methods with blocks 479s #await 479s raises an error when calling a method that does not exist 479s raises an error when passing too few arguments 479s raises an error when passing too many arguments (arity >= 0) 479s returns the existence of the method 479s returns a :fulfilled IVar 479s runs the future on the global executor 479s sets the value on success 479s sets the reason on failure 479s sets the reason when giving too many optional arguments 479s supports attribute accessors 479s supports methods with blocks 479s locking 479s uses the same lock for both #async and #await 479s fork safety 479s does not hang when forked (PENDING: Platform does not support fork) 479s 479s Concurrent::Atom 479s construction 479s sets the initial value to the given value 479s #compare_and_set 479s sets the new value if the current value matches 479s returns true if the current value matches 479s rejects the new value if the current value does not match 479s returns false if the current value does not match 479s rejects the new value if the validator returns false 479s rejects the new value if the validator raises an exception 479s returns false if the validator returns false 479s returns false if the validator raises an exception 479s #swap 479s raises an exception when no block is given 479s passes the current value to the block 479s passes all arguments to the block 479s sets the new value to the result of the block 479s rejects the new value if the validator returns false 479s rejects the new value if the validator raises an exception 479s returns the new value on success 479s returns the old value if the validator returns false 479s returns the old value if the validator raises an exception 479s calls the block more than once if the value changes underneath 479s reraises the exception from block 479s #reset 479s sets the new value 479s returns the new value on success 479s returns the new value on success 479s returns the old value if the validator returns false 479s returns the old value if the validator raises an exception 479s observable 479s behaves like observable 479s #add_observer 479s adds an observer if called before first notification 479s adds an observer with :func if called before first notification 479s creates an observer from a block if called before first notification 479s raises an exception if not given an observer or a block 479s raises an exception when given both an observer and a block 479s #delete_observer 479s deletes the given observer if called before first notification 479s returns the removed observer if found in the observer set 479s returns the given observer even when not found in the observer set 479s #delete_observers 479s deletes all observers when called before first notification 479s returns self 479s #count_observers 479s returns zero for a new observable object 479s returns a count of registered observers if called before first notification 479s returns zero after #delete_observers has been called 479s first notification 479s calls the #update method on all observers without a specified :func 479s calls the appropriate function on all observers which specified a :func 479s calls the proc for all observers added as a block 480s does not notify any observers removed with #delete_observer 481s does not notify any observers after #delete_observers called 481s 481s Concurrent::MutexAtomicBoolean 481s it should behave like atomic_boolean 481s construction 481s sets the initial value 481s defaults the initial value to false 481s evaluates the truthiness of a true value 481s evaluates the truthiness of a false value 481s #value 481s returns the current value 481s #value= 481s sets the #value to the given `Boolean` 481s returns the new value 481s evaluates the truthiness of a true value 481s evaluates the truthiness of a false value 481s #true? 481s is expected to equal true 481s is expected to equal false 481s #false? 481s is expected to equal false 481s is expected to equal true 481s #make_true 481s makes a false value true and returns true 481s keeps a true value true and returns false 481s #make_false 481s makes a true value false and returns true 481s keeps a false value false and returns false 481s instance methods 481s value is synchronized 481s value= is synchronized 481s true? is synchronized 481s false? is synchronized 481s make_true is synchronized 481s make_false is synchronized 481s 481s Concurrent::JavaAtomicBoolean 481s it should behave like atomic_boolean 481s construction 481s sets the initial value 481s defaults the initial value to false 481s evaluates the truthiness of a true value 481s evaluates the truthiness of a false value 481s #value 481s returns the current value 481s #value= 481s sets the #value to the given `Boolean` 481s returns the new value 481s evaluates the truthiness of a true value 481s evaluates the truthiness of a false value 481s #true? 481s is expected to equal true 481s is expected to equal false 481s #false? 481s is expected to equal false 481s is expected to equal true 481s #make_true 481s makes a false value true and returns true 481s keeps a true value true and returns false 481s #make_false 481s makes a true value false and returns true 481s keeps a false value false and returns false 481s 481s Concurrent::AtomicBoolean 481s does not load the C extension 481s inherits from JavaAtomicBoolean 481s #to_s and #inspect 481s includes the value 481s 481s Concurrent::MutexAtomicFixnum 481s it should behave like atomic_fixnum 481s construction 481s sets the initial value 481s defaults the initial value to zero 481s raises an exception if the initial value is not a Fixnum 481s #value 481s returns the current value 481s #value= 481s sets the #value to the given `Fixnum` 481s returns the new value 481s raises and exception if the value is not a `Fixnum` 481s #increment 481s increases the value by one when no argument is given 481s returns the new value when no argument is given 481s increases the value by the given argument 481s returns the new value the given argument 481s is aliased as #up 481s #decrement 481s decreases the value by one when no argument is given 481s returns the new value when no argument is given 481s decreases the value by the given argument 481s returns the new value the given argument 481s is aliased as #down 481s #compare_and_set 481s returns false if the value is not found 481s returns true if the value is found 481s sets if the value is found 481s does not set if the value is not found 481s #update 481s passes the current value to the block 481s atomically sets the value to the return value from the block 481s returns the new value 481s construction 481s raises an exception if the initial value is too big 481s raises an exception if the initial value is too small 481s instance methods 481s value is synchronized 481s value= is synchronized 481s increment is synchronized 481s decrement is synchronized 481s compare_and_set is synchronized 481s 481s Concurrent::JavaAtomicFixnum 481s it should behave like atomic_fixnum 481s construction 481s sets the initial value 481s defaults the initial value to zero 481s raises an exception if the initial value is not a Fixnum 481s #value 481s returns the current value 481s #value= 481s sets the #value to the given `Fixnum` 481s returns the new value 481s raises and exception if the value is not a `Fixnum` 481s #increment 481s increases the value by one when no argument is given 481s returns the new value when no argument is given 481s increases the value by the given argument 481s returns the new value the given argument 481s is aliased as #up 481s #decrement 481s decreases the value by one when no argument is given 481s returns the new value when no argument is given 481s decreases the value by the given argument 481s returns the new value the given argument 481s is aliased as #down 481s #compare_and_set 481s returns false if the value is not found 481s returns true if the value is found 481s sets if the value is found 481s does not set if the value is not found 481s #update 481s passes the current value to the block 481s atomically sets the value to the return value from the block 481s returns the new value 481s 481s Concurrent::AtomicFixnum 481s does not load the C extension 481s inherits from JavaAtomicFixnum 481s #to_s and #inspect 481s includes the value 481s 481s Concurrent::AtomicMarkableReference 481s .initialize 482s constructs the object 482s has sane defaults 482s #set 482s sets the value and mark 482s #try_update! 482s updates the value and mark 482s raises ConcurrentUpdateError when attempting to set inside of block 482s #try_update 482s updates the value and mark 482s returns nil when attempting to set inside of block 482s #update 482s updates the value and mark 482s retries until update succeeds 482s #compare_and_set 482s when objects have the same identity 482s sets the value and mark 482s when objects have the different identity 482s it does not set the value or mark 482s when comparing Numeric objects 482s Non-idepotent Float 482s sets the value and mark 482s BigNum 482s sets the value and mark 482s Rational 482s sets the value and mark 482s Rational 482s is successful 482s 482s Concurrent::AtomicReference 482s it should behave like atomic_reference 482s test_construct 482s test_value 482s test_update 482s test_try_update 482s test_try_update_bang 482s test_swap 482s test_try_update_fails 482s test_try_update_bang_fails 482s test_update_retries 482s test_numeric_cas 482s #to_s and #inspect 482s includes the value 482s 482s Concurrent::MutexAtomicReference 482s it should behave like atomic_reference 482s test_construct 482s test_value 482s test_update 482s test_try_update 482s test_try_update_bang 482s test_swap 482s test_try_update_fails 482s test_try_update_bang_fails 482s test_update_retries 482s test_numeric_cas 482s 482s Concurrent::JavaAtomicReference 482s it should behave like atomic_reference 482s test_construct 482s test_value 482s test_update 482s test_try_update 482s test_try_update_bang 482s test_swap 482s test_try_update_fails 482s test_try_update_bang_fails 482s test_update_retries 482s test_numeric_cas 482s 482s Concurrent::AtomicReference 482s does not load the C extension 482s inherits from JavaAtomicReference 482s 482s Concurrent::MutexCountDownLatch 482s it should behave like count_down_latch 482s #initialize 482s raises an exception if the initial count is less than zero 482s raises an exception if the initial count is not an integer 482s defaults the count to 1 482s #count 482s should be the value passed to the constructor 482s should be decreased after every count down 482s should not go below zero 482s #wait 482s blocks indefinitely, and is kill-able 482s blocks indefinitely with timeout, and is kill-able 482s count set to zero 482s should return true immediately 482s should return true immediately with timeout 482s non zero count 482s should block thread until counter is set to zero 482s should block until counter is set to zero with timeout 482s should block until timeout and return false when counter is not set to zero 482s spurious wake ups 482s should resist to spurious wake ups without timeout 483s should resist to spurious wake ups with timeout 483s 483s Concurrent::JavaCountDownLatch 483s it should behave like count_down_latch 483s #initialize 483s raises an exception if the initial count is less than zero 483s raises an exception if the initial count is not an integer 483s defaults the count to 1 483s #count 483s should be the value passed to the constructor 483s should be decreased after every count down 483s should not go below zero 483s #wait 483s blocks indefinitely, and is kill-able 483s blocks indefinitely with timeout, and is kill-able 483s count set to zero 483s should return true immediately 483s should return true immediately with timeout 483s non zero count 483s should block thread until counter is set to zero 483s should block until counter is set to zero with timeout 483s should block until timeout and return false when counter is not set to zero 483s 483s Concurrent::CountDownLatch 483s inherits from JavaCountDownLatch 483s 483s Concurrent::CyclicBarrier 483s #initialize 483s raises an exception if the initial count is less than 1 483s raises an exception if the initial count is not an integer 483s #parties 483s should be the value passed to the constructor 483s #number_waiting 483s without any waiting thread 483s should be equal to zero 483s with waiting threads 483s should be equal to the waiting threads count 483s #broken? 483s should not be broken when created 483s should not be broken when reset is called without waiting thread 483s reset 483s should release all waiting threads 483s #wait 483s without timeout 484s should block the thread 484s should release all threads when their number matches the desired one 484s returns true when released 484s executes the block once 484s can be reused 484s return false if barrier has been reset 484s with timeout 484s timeout not expiring 484s should block the thread 484s should release all threads when their number matches the desired one 484s returns true when released 484s timeout expiring 484s returns false 484s breaks the barrier and release all other threads 484s breaks the barrier and release all other threads 2 484s does not execute the block on timeout 484s #broken barrier 484s should not accept new threads 484s can be reset 484s spurious wake ups 485s should resist to spurious wake ups without timeout 485s should resist to spurious wake ups with timeout 485s 485s Concurrent::Event 485s #initialize 485s sets the state to unset 485s #set? 485s returns true when the event has been set 485s returns false if the event is unset 485s #set 485s triggers the event 486s sets the state to set 486s #try? 486s triggers the event if not already set 486s returns true if not previously set 486s returns false if previously set 486s #reset 486s does not change the state of an unset event 486s does not trigger an unset event 486s returns true when called on an unset event 486s sets the state of a set event to unset 486s returns true when called on a set event 486s #wait 486s returns immediately when the event has been set 486s returns true once the event is set 486s blocks indefinitely when the timer is nil 486s blocks indefinitely 486s stops waiting when the timer expires 487s returns false when the timer expires 487s triggers multiple waiting threads 487s behaves appropriately if wait begins while #set is processing 487s spurious wake ups 487s should resist to spurious wake ups without timeout 488s should resist spurious wake ups with timeout 488s 488s Concurrent::FiberLocalVar 488s #initialize 488s can set an initial value 488s sets nil as a default initial value 488s sets the same initial value for all fibers 488s can set a block to be called to get the initial value 488s when attempting to set both an initial value and a block 488s is expected to raise ArgumentError 488s #value 488s returns the current value 488s returns the value after modification 488s when using a block to initialize the value 488s calls the block to initialize the value 488s sets the block return value as the current value 488s calls the block to initialize the value for each fiber 488s #value= 488s sets a new value 488s returns the new value 488s does not modify the initial value for other fibers 488s does not modify the value for other fibers 488s 488s Concurrent::FiberLocalVar 488s uses FiberLocalVar if Mutex is per Fiber 488s 488s Concurrent::ReadWriteLock 488s #write_locked? 488s returns true when the write lock is held 488s returns false when the write lock is not held 488s returns false when the write lock is not held but there are readers 488s #has_waiters? 488s returns false when no locks are held 488s returns false when there are readers but no writers 488s returns true when the write lock is held and there are waiting readers 488s returns true when the write lock is held and there are waiting writers 488s #with_read_lock 488s acquires the lock 488s returns the value of the block operation 488s releases the lock 488s raises an exception if no block is given 488s raises an exception if maximum lock limit is exceeded 488s releases the lock when an exception is raised 488s #with_write_lock 488s acquires the lock 488s returns the value of the block operation 488s releases the lock 488s raises an exception if no block is given 488s raises an exception if maximum lock limit is exceeded 488s releases the lock when an exception is raised 488s #acquire_read_lock 488s increments the lock count 488s waits for a running writer to finish 488s does not wait for any running readers 488s raises an exception if maximum lock limit is exceeded 488s returns true if the lock is acquired 488s #release_read_lock 488s decrements the counter 488s unblocks waiting writers 488s returns true if the lock is released 488s returns true if the lock was never set 488s #acquire_write_lock 488s increments the lock count 488s waits for a running writer to finish 488s waits for a running reader to finish 488s raises an exception if maximum lock limit is exceeded 488s returns true if the lock is acquired 488s #release_write_lock 488s decrements the counter 488s unblocks waiting readers 488s unblocks waiting writers 488s returns true if the lock is released 488s returns true if the lock was never set 488s 488s Concurrent::ReentrantReadWriteLock 489s can survive a torture test 489s read lock 489s allows other read locks to be acquired at the same time 489s can be acquired more than once 489s can be acquired while holding a write lock 489s can be upgraded to a write lock 489s can be upgraded to a write lock when read lock acquired more than once 489s cannot be released when not held 489s cannot be released more times than it was taken 489s wakes up waiting writers when the last read lock is released 489s write lock 489s cannot be acquired when another thread holds a write lock 489s cannot be acquired when another thread holds a read lock 489s can be acquired more than once 489s can be acquired while holding a read lock 489s can be downgraded to a read lock 489s cannot be released when not held 489s cannot be released more times than it was taken 489s wakes up waiting readers when the write lock is released 489s wakes up waiting writers when the write lock is released 489s #with_read_lock 489s acquires read block before yielding, then releases it 489s releases read lock if an exception is raised in block 489s #with_write_lock 489s acquires write block before yielding, then releases it 489s releases write lock if an exception is raised in block 489s #try_read_lock 489s returns false immediately if read lock cannot be obtained 489s acquires read lock and returns true if it can do so without blocking 489s can acquire a read lock if a read lock is already held 489s can acquire a read lock if a write lock is already held 489s #try_write_lock 489s returns false immediately if write lock cannot be obtained 489s acquires write lock and returns true if it can do so without blocking 489s can acquire a write lock if a read lock is already held 489s can acquire a write lock if a write lock is already held 489s 489s Concurrent::ReentrantReadWriteLock 489s can acquire locks in separate fibers 489s 489s Concurrent::MutexSemaphore 489s it should behave like semaphore 489s #initialize 489s raises an exception if the initial count is not an integer 489s when initializing with 0 489s is expected not to equal nil 489s when initializing with -1 489s is expected to eq 0 489s #acquire 489s without block 489s permits available 489s should return nil immediately 489s not enough permits available 490s should block thread until permits are available 490s when acquiring negative permits 490s raises ArgumentError 490s with block 490s permits available 490s should acquire permits, run the block, release permits, and return block return value 490s if the block raises, the permit is still released 490s not enough permits available 490s should block thread until permits are available 490s when acquiring negative permits 490s raises ArgumentError 490s #drain_permits 490s drains all available permits 490s drains nothing in no permits are available 490s #try_acquire 490s without block 490s without timeout 490s acquires immediately if permits are available 490s returns false immediately in no permits are available 490s when trying to acquire negative permits 490s is expected to raise ArgumentError 490s with timeout 490s acquires immediately if permits are available 490s acquires when permits are available within timeout 490s returns false on timeout 490s with block 490s without timeout 490s acquires immediately if permits are available and returns block return value 490s releases permit if block raises 490s returns false immediately in no permits are available 490s when trying to acquire negative permits 491s is expected not to change `semaphore.available_permits` 491s with timeout 491s acquires immediately if permits are available, and returns block return value 491s releases permits if block raises 491s acquires when permits are available within timeout, and returns block return value 491s returns false on timeout 491s #reduce_permits 491s raises ArgumentError if reducing by negative number 491s reduces permits below zero 491s reduces permits 491s reduces zero permits 491s #release 491s increases the number of available permits by one 491s when a number of permits is specified 491s increases the number of available permits by the specified value 491s when permits is set to negative number 491s is expected to raise ArgumentError 491s 491s Concurrent::JavaSemaphore 491s it should behave like semaphore 491s #initialize 491s raises an exception if the initial count is not an integer 491s when initializing with 0 491s is expected not to equal nil 491s when initializing with -1 491s is expected to eq 0 491s #acquire 491s without block 491s permits available 491s should return nil immediately 491s not enough permits available 491s should block thread until permits are available 491s when acquiring negative permits 491s raises ArgumentError 491s with block 491s permits available 491s should acquire permits, run the block, release permits, and return block return value 491s if the block raises, the permit is still released 491s not enough permits available 491s should block thread until permits are available 491s when acquiring negative permits 491s raises ArgumentError 491s #drain_permits 491s drains all available permits 491s drains nothing in no permits are available 491s #try_acquire 491s without block 491s without timeout 491s acquires immediately if permits are available 491s returns false immediately in no permits are available 491s when trying to acquire negative permits 491s is expected to raise ArgumentError 491s with timeout 491s acquires immediately if permits are available 491s acquires when permits are available within timeout 491s returns false on timeout 491s with block 491s without timeout 491s acquires immediately if permits are available and returns block return value 491s releases permit if block raises 491s returns false immediately in no permits are available 491s when trying to acquire negative permits 492s is expected not to change `semaphore.available_permits` 492s with timeout 492s acquires immediately if permits are available, and returns block return value 492s releases permits if block raises 492s acquires when permits are available within timeout, and returns block return value 492s returns false on timeout 492s #reduce_permits 492s raises ArgumentError if reducing by negative number 492s reduces permits below zero 492s reduces permits 492s reduces zero permits 492s #release 492s increases the number of available permits by one 492s when a number of permits is specified 492s increases the number of available permits by the specified value 492s when permits is set to negative number 492s is expected to raise ArgumentError 492s 492s Concurrent::Semaphore 492s inherits from JavaSemaphore 492s 492s Concurrent::ThreadLocalVar 492s #initialize 492s can set an initial value 492s sets nil as a default initial value 492s sets the same initial value for all threads 492s can set a block to be called to get the initial value 492s when attempting to set both an initial value and a block 492s is expected to raise ArgumentError 492s #value 492s returns the current value 492s returns the value after modification 492s when using a block to initialize the value 492s calls the block to initialize the value 492s sets the block return value as the current value 492s calls the block to initialize the value for each thread 492s #value= 492s sets a new value 492s returns the new value 492s does not modify the initial value for other threads 492s does not modify the value for other threads 492s 492s Concurrent 492s Cancellation 492s basic 492s is expected to be falsey 492s is expected to be truthy 492s is expected to be falsey 492s is expected to eq 2 492s #join 492s 492s Concurrent::Channel::Buffer::Base 492s is expected to eq 0 492s is expected to be blocking 492s is expected to raise NotImplementedError 492s is expected to raise NotImplementedError 492s is expected to raise NotImplementedError 492s is expected to raise NotImplementedError 492s is expected to raise NotImplementedError 492s is expected to raise NotImplementedError 492s is expected to raise NotImplementedError 492s is expected to raise NotImplementedError 492s is expected not to be closed 492s is expected to be closed 492s 492s Concurrent::Channel::Buffer::Buffered 492s is expected to be blocking 492s behaves like channel_buffered_buffer 492s behaves like channel_buffer 492s is expected to respond to #blocking? 492s #capacity 492s is expected to be >= 0 492s #size 492s returns zero upon initialization 492s #empty? 492s returns true when empty 492s #full? 492s returns false when not full 492s #put 492s does not enqueue the item when closed 492s returns false when closed 492s #offer 492s returns true on success 492s does not enqueue the item when closed 492s returns false immediately when closed 492s #take 492s returns Concurrent::NULL when closed 492s #next 492s returns Concurrent::NULL, false when closed 492s #poll 492s returns the next item immediately if available 492s returns Concurrent::NULL immediately if no item is available 492s returns Concurrent::NULL when closed 492s #close 492s sets #closed? to false 492s returns true when not previously closed 492s returns false when already closed 492s #closed? 492s returns true when new 492s returns false after #close 492s #initialize 492s raises an exception if size <= 0 492s #capacity 492s returns the maximum capacity of the buffer 492s #size 492s is 0 when first created 492s returns the number of items in the buffer 492s is 0 when there are taking threads but no putting threads 492s #empty? 492s returns true when empty 492s #put 492s enqueues the item when size > 0, not full, and not closed 492s returns true when the item is put 492s #offer 492s enqueues the item immediately when not full and not closed 492s #take 492s returns the first item when not empty 492s blocks until not empty 492s returns Concurrent::NULL when closed and empty 492s #next 493s blocks until not empty 493s returns , true when there is only one item and not closed 493s returns , true when there are multiple items 493s returns , true when closed and last item 493s returns Concurrent::NULL, false when closed and no items remain 493s #full? 493s returns true when at max capacity 493s #put 493s blocks when at capacity until a thread is ready to take 493s #offer 493s returns false immediately when full 493s 493s Concurrent::Channel::Buffer::Dropping 493s is expected not to be blocking 493s behaves like channel_buffered_buffer 493s behaves like channel_buffer 493s is expected to respond to #blocking? 493s #capacity 493s is expected to be >= 0 493s #size 493s returns zero upon initialization 493s #empty? 493s returns true when empty 493s #full? 493s returns false when not full 493s #put 493s does not enqueue the item when closed 493s returns false when closed 493s #offer 493s returns true on success 493s does not enqueue the item when closed 493s returns false immediately when closed 493s #take 493s returns Concurrent::NULL when closed 493s #next 493s returns Concurrent::NULL, false when closed 493s #poll 493s returns the next item immediately if available 493s returns Concurrent::NULL immediately if no item is available 493s returns Concurrent::NULL when closed 493s #close 493s sets #closed? to false 493s returns true when not previously closed 493s returns false when already closed 493s #closed? 493s returns true when new 493s returns false after #close 493s #initialize 493s raises an exception if size <= 0 493s #capacity 493s returns the maximum capacity of the buffer 493s #size 493s is 0 when first created 493s returns the number of items in the buffer 493s is 0 when there are taking threads but no putting threads 493s #empty? 493s returns true when empty 493s #put 493s enqueues the item when size > 0, not full, and not closed 493s returns true when the item is put 493s #offer 493s enqueues the item immediately when not full and not closed 493s #take 493s returns the first item when not empty 494s blocks until not empty 494s returns Concurrent::NULL when closed and empty 494s #next 494s blocks until not empty 494s returns , true when there is only one item and not closed 494s returns , true when there are multiple items 494s returns , true when closed and last item 494s returns Concurrent::NULL, false when closed and no items remain 494s #put 494s does not block when full 494s drops the last value when full 494s #offer 494s returns true immediately when full 494s drops the last value when full 494s 494s Concurrent::Channel::Buffer::Sliding 494s is expected not to be blocking 494s behaves like channel_buffered_buffer 494s behaves like channel_buffer 494s is expected to respond to #blocking? 494s #capacity 494s is expected to be >= 0 494s #size 494s returns zero upon initialization 494s #empty? 494s returns true when empty 494s #full? 494s returns false when not full 494s #put 494s does not enqueue the item when closed 494s returns false when closed 494s #offer 494s returns true on success 494s does not enqueue the item when closed 494s returns false immediately when closed 494s #take 494s returns Concurrent::NULL when closed 494s #next 494s returns Concurrent::NULL, false when closed 494s #poll 494s returns the next item immediately if available 494s returns Concurrent::NULL immediately if no item is available 494s returns Concurrent::NULL when closed 494s #close 494s sets #closed? to false 494s returns true when not previously closed 494s returns false when already closed 494s #closed? 494s returns true when new 494s returns false after #close 494s #initialize 494s raises an exception if size <= 0 494s #capacity 494s returns the maximum capacity of the buffer 494s #size 494s is 0 when first created 494s returns the number of items in the buffer 494s is 0 when there are taking threads but no putting threads 494s #empty? 494s returns true when empty 494s #put 494s enqueues the item when size > 0, not full, and not closed 494s returns true when the item is put 494s #offer 494s enqueues the item immediately when not full and not closed 494s #take 494s returns the first item when not empty 494s blocks until not empty 494s returns Concurrent::NULL when closed and empty 494s #next 495s blocks until not empty 495s returns , true when there is only one item and not closed 495s returns , true when there are multiple items 495s returns , true when closed and last item 495s returns Concurrent::NULL, false when closed and no items remain 495s #put 495s does not block when full 495s drops the first value when full 495s #offer 495s returns true immediately when full 495s drops the first value when full 495s 495s Concurrent::Channel::Buffer::Ticker 495s behaves like channel_timing_buffer 495s is expected to be blocking 495s #capacity 495s is expected to eq 1 495s #size 495s is expected to eq 0 495s #empty? 495s is expected not to be empty 495s #full? 495s is expected to be full 495s #put 495s is expected to equal false 495s #offer 495s is expected to equal false 495s #take 495s blocks when the timer is not ready 495s returns a Tick 495s triggers after the specified time interval 495s returns Concurrent::NULL when closed 495s #poll 495s returns Concurrent::NULL when the timer is not ready 495s returns a Tick 495s returns Concurrent::NULL when closed 495s triggers after the specified time interval 495s #next 496s blocks when the timer is not ready 496s returns a Tick when open 496s returns Concurrent::NULL, false when closed 496s triggers after the specified time interval 496s #close 496s sets #closed? to false 496s returns true when not previously closed 496s returns false when already closed 496s #closed? 496s returns true when new 496s returns false after #close 496s #take 496s triggers until closed 496s returns Concurrent::NULL when closed after trigger 496s #poll 497s triggers until closed 497s #next 497s triggers until closed 497s returns true for more while open 497s returns false for more once closed 497s 497s Concurrent::Channel::Buffer::Timer 497s behaves like channel_timing_buffer 497s is expected to be blocking 497s #capacity 497s is expected to eq 1 497s #size 497s is expected to eq 0 497s #empty? 497s is expected not to be empty 497s #full? 497s is expected to be full 497s #put 497s is expected to equal false 497s #offer 497s is expected to equal false 497s #take 497s blocks when the timer is not ready 497s returns a Tick 497s triggers after the specified time interval 497s returns Concurrent::NULL when closed 497s #poll 497s returns Concurrent::NULL when the timer is not ready 498s returns a Tick 498s returns Concurrent::NULL when closed 498s triggers after the specified time interval 498s #next 498s blocks when the timer is not ready 498s returns a Tick when open 498s returns Concurrent::NULL, false when closed 498s triggers after the specified time interval 498s #close 498s sets #closed? to false 498s returns true when not previously closed 498s returns false when already closed 498s #closed? 498s returns true when new 498s returns false after #close 498s #take 498s closes automatically on first take 498s #poll 498s closes automatically on first take 498s #next 499s closes automatically on first take 499s returns false for more 499s 499s Concurrent::Channel::Buffer::Unbuffered 499s is expected to be blocking 499s is expected to eq 1 499s behaves like channel_buffer 499s is expected to respond to #blocking? 499s #capacity 499s is expected to be >= 0 499s #size 499s returns zero upon initialization 499s #empty? 499s returns true when empty 499s #full? 499s returns false when not full 499s #put 499s does not enqueue the item when closed 499s returns false when closed 499s #offer 499s returns true on success 499s does not enqueue the item when closed 499s returns false immediately when closed 499s #take 499s returns Concurrent::NULL when closed 499s #next 499s returns Concurrent::NULL, false when closed 499s #poll 499s returns the next item immediately if available 499s returns Concurrent::NULL immediately if no item is available 499s returns Concurrent::NULL when closed 499s #close 499s sets #closed? to false 499s returns true when not previously closed 499s returns false when already closed 499s #closed? 499s returns true when new 499s returns false after #close 499s #size 499s is 0 when first created 499s is 1 when a putting thread is waiting 499s is 0 when there are taking threads but no putting threads 499s #empty? 499s is true when there are no putting threads 500s is false when there are waiting putting threads 500s #full? 500s is false when there are no putting threads 500s is false when there are waiting putting threads 500s #put 500s does not enqueue the item when closed 500s returns false when closed 500s blocks until a thread is ready to take 500s delivers when closed after put starts 500s #offer 500s returns false immediately when a put in in progress 500s gives the item to a waiting taker and returns true 500s #take 501s returns false immediately when a put in in progress 501s gives the item to a waiting taker and returns true 501s #next 501s blocks when no putting and returns , true when one arrives 501s returns , true when there are multiple putting 502s returns , true when closed and last item 502s returns Concurrent::NULL, false when closed and no items remain 502s 502s channel integration tests 502s A Tour of Go 502s channels.rb 502s buffered-channels.rb 502s range-and-close.rb 502s select.rb 502s default-selection.rb (PENDING: flaky) 502s Go By Example 502s channels.rb 503s channel-buffering.rb 504s channel-synchronization.rb 504s channel-directions.rb 506s select.rb 509s timeouts.rb 509s non-blocking-channel-operations.rb 510s closing-channels.rb 510s range-over-channels.rb 512s timers.rb 514s ticker.rb 517s worker-pools.rb 518s rate-limiting.rb 518s 518s Concurrent::Channel::Tick 518s initializes to current time when no argument given 518s initializes to the given monotonic time 518s #utc returns a Time object in UTC 518s #epoch returns the UTC time as epoch seconds 518s #to_s formats as a time 518s comparison 518s correctly compares to a Numeric (monotonic) 518s correctly compares to a Time 518s correctly compares to a Tick 518s 518s Concurrent::Channel 518s initialization 518s raises an exception when the :buffer is invalid 518s is :unbuffered when neither :buffer nore :capacity is given 518s is :unbuffered when :unbuffered is given 518s is :unbuffered when :buffered and capacity: 0 518s raises an exception when both :unbuffered and :capacity are given 518s is :buffered when :capacity > 0 and no :buffer given 518s is :buffered when :buffered given 518s raises an exception when :buffered given without :capacity 518s raises an exception when :buffered and :capacity < 0 519s is :dropping when :dropping and :capacity > 0 519s raises an exception when :dropping given without :capacity 519s raises an exception when :dropping and :capacity < 1 519s is :sliding when :sliding and :capacity > 0 519s raises an exception when :sliding given without :capacity 519s raises an exception when :sliding and :capacity < 1 519s uses the given buffer 519s factories 519s is expected to receive new(10) 1 time 519s is expected to receive new(10) 1 time 519s #put 519s returns true on success 519s returns false on failure 519s rejects when the validator returns false 519s rejects when the validator raises an exception 519s rejects nil 519s put! 519s returns true on success 519s raises an exception on failure 519s rejects when the validator returns false 519s rejects when the validator raises an exception 519s rejects nil 519s put? 519s returns a just Maybe on success 519s returns a nothing Maybe on failure 519s rejects when the validator returns false 519s rejects when the validator raises an exception 519s accepts nil 519s #offer 519s returns true on success 519s returns false on failure 519s rejects when the validator returns false 519s rejects when the validator raises an exception 519s rejects nil 519s offer! 519s returns true on success 519s raises an exception on failure 519s rejects when the validator returns false 519s rejects when the validator raises an exception 519s rejects nil 519s offer? 519s returns a just Maybe on success 519s returns a nothing Maybe on failure 519s rejects when the validator returns false 519s rejects when the validator raises an exception 519s accepts nil 519s #take 519s takes the next item when not empty 519s returns nil on failure 519s #take! 519s takes the next item when not empty 519s raises an exception on failure 519s #take? 519s returns a just Maybe on success 519s returns a nothing Maybe on failure 519s #next 519s returns , true when there is one item 519s returns , true when there are multiple items 519s returns nil, false when empty and closed 519s returns , true when closed and last item 519s returns nil, false when closed and no items remain 519s #next? 519s returns a just Maybe and true when there is one item 519s returns a just Maybe, true when there are multiple items 519s returns a nothing Maybe and false on failure 519s #poll 519s returns the next item immediately if available 519s returns nil immediately if no item is available 519s returns nil on failure 519s #poll! 519s returns the next item immediately if available 519s raises an exception immediately if no item is available 519s raises an exception on failure 519s #poll? 519s returns a just Maybe immediately if available 519s returns a nothing Maybe immediately if no item is available 519s returns a nothing Maybe on failure 519s .each 519s raises and exception when no block is given 519s iterates until the channel is closed 519s goroutines 519s .go 519s raises an exception when no block is given 519s is expected to receive post(1, 2, 3) 1 time 519s .go_via 519s raises an exception when no block is given 519s is expected to receive post(1, 2, 3) 1 time 519s .go_loop 519s raises an exception when no block is given 519s loops until the block returns false 519s .go_loop_via 519s raises an exception when no block is given 519s loops until the block returns false 519s select 519s raises an exception when no block is given 519s passes a selector to the block 519s is expected to be truthy 519s 519s Concurrent::Collection::CopyOnNotifyObserverSet 519s behaves like an observer set 519s #add_observer 519s with arguments 519s should return the observer 519s with a block 519s should return the observer based on a block 519s #notify_observers 519s should return the observer set 519s with a single observer 519s should update a registered observer without arguments 519s should update a registered observer with arguments 519s should notify an observer using the chosen method 519s should notify an observer once using the last added method 519s should notify an observer from a block 519s can be called many times 519s with many observers 519s should notify all observer using the chosen method 519s with a block 519s calls the block once for every observer 519s passes the block return value to the update method 519s accepts blocks returning a single value 519s accepts block return values that include arrays 519s raises an exception if given both arguments and a block 519s #count_observers 519s should be zero after initialization 519s should be 1 after the first observer is added 519s should be 1 if the same observer is added many times 519s should be equal to the number of unique observers 519s #delete_observer 519s should not notify a deleted observer 519s can delete a non added observer 519s should return the observer 519s #delete_observers 519s should remove all observers 519s should return the observer set 519s #notify_and_delete_observers 519s should notify all observers 519s should clear observers 519s can be called many times without any other notification 519s should return the observer set 519s 519s Concurrent::Collection::CopyOnWriteObserverSet 519s behaves like an observer set 519s #add_observer 519s with arguments 519s should return the observer 519s with a block 519s should return the observer based on a block 519s #notify_observers 519s should return the observer set 519s with a single observer 519s should update a registered observer without arguments 519s should update a registered observer with arguments 519s should notify an observer using the chosen method 519s should notify an observer once using the last added method 519s should notify an observer from a block 519s can be called many times 519s with many observers 519s should notify all observer using the chosen method 519s with a block 519s calls the block once for every observer 519s passes the block return value to the update method 519s accepts blocks returning a single value 520s accepts block return values that include arrays 520s raises an exception if given both arguments and a block 520s #count_observers 520s should be zero after initialization 520s should be 1 after the first observer is added 520s should be 1 if the same observer is added many times 520s should be equal to the number of unique observers 520s #delete_observer 520s should not notify a deleted observer 520s can delete a non added observer 520s should return the observer 520s #delete_observers 520s should remove all observers 520s should return the observer set 520s #notify_and_delete_observers 520s should notify all observers 520s should clear observers 520s can be called many times without any other notification 520s should return the observer set 520s 520s Concurrent::Collection::RubyNonConcurrentPriorityQueue 520s it should behave like priority_queue 520s #initialize 520s sorts from high to low when :order is :max 520s sorts from high to low when :order is :high 520s sorts from low to high when :order is :min 520s sorts from low to high when :order is :low 520s sorts from high to low by default 520s #clear 520s removes all items from a populated queue 520s has no effect on an empty queue 520s is expected to be truthy 520s #delete 520s deletes the requested item when found 520s deletes the requested item when it is the first element 520s deletes the requested item when it is the last element 520s deletes multiple matching items when present 520s returns true when found 520s returns false when not found 520s returns false when called on an empty queue 520s deletes the requested item when it is "smaller" than the last element 520s #empty? 520s returns true for an empty queue 520s returns false for a populated queue 520s #include? 520s returns true if the item is found 520s returns false if the item is not found 520s returns false when the queue is empty 520s is aliased as #has_priority? 520s #length 520s returns the length of a populated queue 520s returns zero when the queue is empty 520s is aliased as #size 520s #peek 520s returns the item at the head of the queue 520s does not remove the item from the queue 520s returns nil when the queue is empty 520s #pop 520s returns the item at the head of the queue 520s removes the item from the queue 520s returns nil when the queue is empty 520s returns nil when called multiple times while empty 520s is aliased as #deq 520s is aliased as #shift 520s #push 520s raises an exception when attempting to enqueue nil 520s adds the item to the queue 520s sorts the new item in priority order 520s arbitrarily orders equal items with respect to each other 520s is expected to be truthy 520s is aliased as << 520s is aliased as enq 520s .from_list 520s creates an empty queue from an empty list 520s creates a sorted, populated queue from an Array 520s creates a sorted, populated queue from a Hash 520s 520s Concurrent::Collection::JavaNonConcurrentPriorityQueue 520s it should behave like priority_queue 520s #initialize 520s sorts from high to low when :order is :max 520s sorts from high to low when :order is :high 520s sorts from low to high when :order is :min 520s sorts from low to high when :order is :low 520s sorts from high to low by default 520s #clear 520s removes all items from a populated queue 520s has no effect on an empty queue 520s is expected to be truthy 520s #delete 520s deletes the requested item when found 520s deletes the requested item when it is the first element 520s deletes the requested item when it is the last element 520s deletes multiple matching items when present 520s returns true when found 520s returns false when not found 520s returns false when called on an empty queue 520s deletes the requested item when it is "smaller" than the last element 520s #empty? 520s returns true for an empty queue 520s returns false for a populated queue 520s #include? 520s returns true if the item is found 520s returns false if the item is not found 520s returns false when the queue is empty 520s is aliased as #has_priority? 520s #length 520s returns the length of a populated queue 520s returns zero when the queue is empty 520s is aliased as #size 520s #peek 520s returns the item at the head of the queue 520s does not remove the item from the queue 520s returns nil when the queue is empty 520s #pop 520s returns the item at the head of the queue 520s removes the item from the queue 520s returns nil when the queue is empty 520s returns nil when called multiple times while empty 520s is aliased as #deq 520s is aliased as #shift 520s #push 520s raises an exception when attempting to enqueue nil 520s adds the item to the queue 520s sorts the new item in priority order 520s arbitrarily orders equal items with respect to each other 520s is expected to be truthy 520s is aliased as << 520s is aliased as enq 520s .from_list 520s creates an empty queue from an empty list 520s creates a sorted, populated queue from an Array 520s creates a sorted, populated queue from a Hash 520s 520s Concurrent::Collection::NonConcurrentPriorityQueue 520s inherits from JavaNonConcurrentPriorityQueue 520s 520s Concurrent::Concern::Obligation 520s unscheduled 520s it should behave like incomplete 520s should be not completed 520s should be incomplete 520s #value 520s should return immediately if timeout is zero 520s should block on the event if timeout is not set 520s should block on the event if timeout is not zero 520s #value! 520s should return immediately if timeout is zero 520s should block on the event if timeout is not set 520s should block on the event if timeout is not zero 520s #no_error! 520s should return immediately if timeout is zero 520s should block on the event if timeout is not set 520s should block on the event if timeout is not zero 520s pending 520s it should behave like incomplete 520s should be not completed 520s should be incomplete 520s #value 520s should return immediately if timeout is zero 520s should block on the event if timeout is not set 520s should block on the event if timeout is not zero 520s #value! 520s should return immediately if timeout is zero 520s should block on the event if timeout is not set 520s should block on the event if timeout is not zero 520s #no_error! 520s should return immediately if timeout is zero 520s should block on the event if timeout is not set 520s should block on the event if timeout is not zero 520s fulfilled 520s should be completed 520s should be not incomplete 520s #value 520s should return immediately if timeout is zero 520s should return immediately if timeout is not set 520s should return immediately if timeout is not zero 520s #value! 520s should return immediately if timeout is zero 520s should return immediately if timeout is not set 520s should return immediately if timeout is not zero 520s #no_error! 520s should return immediately if timeout is zero 520s should return immediately if timeout is not set 520s should return immediately if timeout is not zero 520s rejected 520s should be completed 520s should be not incomplete 520s #value 520s should return immediately if timeout is zero 520s should return immediately if timeout is not set 520s should return immediately if timeout is not zero 520s #value! 520s should return immediately if timeout is zero 520s should return immediately if timeout is not set 520s should return immediately if timeout is not zero 520s #no_error! 520s should return immediately if timeout is zero 520s should return immediately if timeout is not set 520s should return immediately if timeout is not zero 520s #compare_and_set_state 520s unexpected state 520s should return false if state is not the expected one 520s should not change the state if current is not the expected one 520s expected state 520s should return true if state is the expected one 520s should not change the state if current is not the expected one 520s #if_state 520s should raise without block 520s should return false if state is not expected 520s should the block value if state is expected 520s should execute the block within the mutex 520s #get_arguments_from 520s returns an empty array when opts is not given 520s returns an empty array when opts is an empty hash 520s returns an empty array when there is no :args key 520s returns an empty array when the :args key has a nil value 520s returns a one-element array when the :args key has a non-array value 520s returns an array when when the :args key has an array value 520s returns the given array when the :args key has a complex array value 520s 520s Concurrent::Concern::Observable 520s does not initialize set by by default 520s uses the given observer set 520s delegates #add_observer 520s delegates #with_observer 520s delegates #delete_observer 520s delegates #delete_observers 520s delegates #count_observers 520s 520s configuration 520s global executors 520s creates a global timer set 520s creates a global fast executor 520s creates a global io executor 520s 520s dataflow 520s raises an exception when no block given 520s #dataflow uses the global fast executor 520s #dataflow_with uses the given executor 520s #dataflow_with raises an exception when no executor given 520s accepts zero or more dependencies 520s accepts uncompleted dependencies 520s accepts completed dependencies 520s raises an exception if any dependencies are not IVars 520s doesn't raise exceptions from dependencies, unless called with ! 520s returns a Future 520s does not schedule the Future 520s if no dependencies are completed 520s if one dependency of two is completed 520s schedules the Future when all dependencies are available 520s if there is just one 520s if there is more than one 520s counts already executed dependencies 520s if there is just one 520s if there is more than one 520s passes the values of dependencies into the block 520s if there is just one 520s if there is more than one 520s module function 520s can be called as Concurrent.dataflow and Concurrent.dataflow_with 520s 520s Concurrent::Delay 520s behavior 520s it should behave like dereferenceable 520s defaults :dup_on_deref to false 520s calls #dup when the :dup_on_deref option is true 520s defaults :freeze_on_deref to false 520s calls #freeze when the :freeze_on_deref option is true 520s defaults :copy_on_deref to nil 520s calls the block when the :copy_on_deref option is passed a proc 520s calls the :copy block first followed by #dup followed by #freeze 520s does not call #dup when #dup_on_deref is set and the value is nil 520s does not call #freeze when #freeze_on_deref is set and the value is nil 520s does not call the #copy_on_deref block when the value is nil 520s supports dereference flags with observers 520s it should behave like obligation 520s #state 520s is :pending when first created 520s is :fulfilled when the handler completes 520s is :rejected when the handler raises an exception 520s #value 520s returns nil when reaching the optional timeout value 520s returns immediately when timeout is zero 521s returns the value when fulfilled before timeout 521s returns nil when timeout reached 521s is nil when :pending 521s blocks the caller when :pending and timeout is nil 521s is nil when :rejected 521s is set to the return value of the block when :fulfilled 521s #reason 521s is nil when :pending 521s is nil when :fulfilled 521s is set to error object of the exception when :rejected 521s #initialize 521s sets the state to :pending 521s raises an exception when no block given 521s #reconfigure 521s returns value of block used in reconfiguration 521s returns false when process completed? 521s #value 521s does not call the block before #value is called 521s calls the block when #value is called 521s only calls the block once no matter how often #value is called 521s raises when called recursively 521s can be called twice 521s 521s Concurrent 521s Promises::Channel 521s #capacity 521s #to_s 521s #(try_)push(_op) 521s #(try_)pop(_op) 521s #(try_)pop(_op)_matching 521s #(try_)select(_op) 521s exchanging 521s integration 521s 521s Concurrent 521s ErlangActor 521s on thread 521s is expected to eq [:bad_message, -1] 521s behaves like erlang actor 521s run to termination 521s run to termination with arguments 521s #receive 521s pid has name 521s receives message 521s receives message with matchers 521s spawn(link: true) 521s termination 521s monitoring 521s (de)monitor 521s demonitor 521s demonitor should leave the down message in the inbox if it's already there 521s notifications 1 521s notifications 2 521s linking 521s links 521s unlinks 521s link dead 521s link dead when trapping 521s exit/1 when linked 521s 1 521s 2 521s 3 521s 4 521s 5 521s 6 521s 7 521s 8 521s 9 521s exit/2 when linked 521s 1 521s 2 522s 3 522s 4 522s 5 522s 6 522s 7 522s 8 522s 9 522s 10 522s 11 522s 12 522s 13 522s asking 522s replies 522s timing out (PENDING: flaky on truffleruby and jruby) 522s rejects on no reply 522s on pool 522s receives message repeatedly with keep 522s class defined 522s behaves like erlang actor 522s run to termination 522s run to termination with arguments 522s #receive 522s pid has name 522s receives message 522s receives message with matchers 522s spawn(link: true) 522s termination 522s monitoring 522s (de)monitor 522s demonitor 522s demonitor should leave the down message in the inbox if it's already there 522s notifications 1 522s notifications 2 522s linking 522s links 522s unlinks 522s link dead 522s link dead when trapping 522s exit/1 when linked 522s 1 522s 2 522s 3 522s 4 522s 5 522s 6 522s 7 522s 8 522s 9 522s exit/2 when linked 522s 1 522s 2 522s 3 522s 4 523s 5 523s 6 523s 7 523s 8 523s 9 523s 10 523s 11 523s 12 523s 13 523s asking 523s replies 523s timing out (PENDING: flaky on truffleruby and jruby) 523s rejects on no reply 523s 523s Concurrent::Edge::LockFreeLinkedSet 523s .new 523s when passed default val 523s uses the val arg as data for each node 523s #add 523s appends to the linked set 523s in a multi-threaded environment 523s adds the items to the set 523s #<< 523s appends to the linked set and returns self 523s returns self regardless of whether it was logically added 523s #contains? 523s when checking if set includes a value 523s returns true if a value exists 523s compares object using Object#hash 523s returns false for values not in the set 523s when set is empty 523s does not break 523s when set is long 523s does not break 523s in a multi-threaded environment 524s correctly check that the set contains the item 524s #remove 524s when item is inside of set 524s the item is no longer visible to the user 524s allows for the item to be added despite being physically present 524s in a multi-threaded environment 524s adds the items to the set 524s does not recognize the existence of the item when removed 524s when item is not inside of set 524s does not remove to value 524s the set remains intact 524s when the set is empty 524s remove does not break 524s when the set is large 524s remove successfully removes the node 524s 524s Concurrent::RubyExchanger 524s behaves like exchanger 524s #exchange 524s behaves like exchanger method with indefinite timeout 524s blocks indefinitely 524s receives the other value 524s can be reused 524s behaves like exchanger method with finite timeout 524s blocks until timeout 524s receives the other value 524s can be reused 524s behaves like exchanger method cross-thread interactions 524s when first, waits for a second 525s allows multiple firsts to cancel if necessary 525s #exchange! 525s behaves like exchanger method with indefinite timeout 525s blocks indefinitely 525s receives the other value 525s can be reused 525s behaves like exchanger method with finite timeout 525s blocks until timeout 525s receives the other value 525s can be reused 525s behaves like exchanger method cross-thread interactions 525s when first, waits for a second 525s allows multiple firsts to cancel if necessary 525s #try_exchange 525s behaves like exchanger method with indefinite timeout 525s blocks indefinitely 525s receives the other value 525s can be reused 525s behaves like exchanger method with finite timeout 525s blocks until timeout 525s receives the other value 525s can be reused 525s behaves like exchanger method cross-thread interactions 526s when first, waits for a second 526s allows multiple firsts to cancel if necessary 526s 526s Concurrent::JavaExchanger 526s behaves like exchanger 526s #exchange 526s behaves like exchanger method with indefinite timeout 526s blocks indefinitely 526s receives the other value 526s can be reused 526s behaves like exchanger method with finite timeout 526s blocks until timeout 526s receives the other value 526s can be reused 526s behaves like exchanger method cross-thread interactions 526s when first, waits for a second 527s allows multiple firsts to cancel if necessary 527s #exchange! 527s behaves like exchanger method with indefinite timeout 527s blocks indefinitely 527s receives the other value 527s can be reused 527s behaves like exchanger method with finite timeout 527s blocks until timeout 527s receives the other value 527s can be reused 527s behaves like exchanger method cross-thread interactions 527s when first, waits for a second 527s allows multiple firsts to cancel if necessary 527s #try_exchange 527s behaves like exchanger method with indefinite timeout 527s blocks indefinitely 527s receives the other value 527s can be reused 527s behaves like exchanger method with finite timeout 527s blocks until timeout 527s receives the other value 527s can be reused 527s behaves like exchanger method cross-thread interactions 528s when first, waits for a second 528s allows multiple firsts to cancel if necessary 528s 528s Concurrent::Exchanger 528s class hierarchy 528s inherits from JavaExchanger 528s 528s Concurrent::CachedThreadPool 528s it should behave like thread_pool 528s it should behave like executor_service 528s it should behave like global_thread_pool 528s #post 528s raises an exception if no block is given 528s returns true when the block is added to the queue 528s calls the block with the given arguments 528s aliases #<< 528s #post 529s rejects the block while shutting down 529s rejects the block once shutdown 529s auto terminate 533s does not stop shutdown 533s #running? 533s returns true when the thread pool is running 534s returns false when the thread pool is shutting down 534s returns false when the thread pool is shutdown 534s returns false when the thread pool is killed 534s #shuttingdown? 534s returns false when the thread pool is running 534s returns true when the thread pool is shutting down 534s returns false when the thread pool is shutdown 534s #shutdown? 534s returns false when the thread pool is running 535s returns false when the thread pool is shutting down 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 535s allows pending tasks to complete 536s stops accepting/running new tasks 536s #kill 536s stops accepting new tasks 536s rejects all pending tasks 536s #wait_for_termination 536s immediately returns true when no operations are pending 536s returns true after shutdown has complete 537s returns true when shutdown successfully completes before timeout 537s returns false when shutdown fails to complete before timeout 537s waits forever when no timeout value is given 537s #auto_terminate? 537s returns true by default 537s returns true when :enable_at_exit_handler is true 537s returns false when :enable_at_exit_handler is false 537s #length 537s returns zero on creation 537s returns zero once shut down 537s #scheduled_task_count 537s returns zero on creation 537s returns the approximate number of tasks that have been post thus far 537s returns the approximate number of tasks that were post 537s #completed_task_count 537s returns zero on creation 537s returns the approximate number of tasks that have been completed thus far 537s #shutdown 538s allows threads to exit normally 538s #initialize 538s sets :max_length to DEFAULT_MAX_POOL_SIZE 538s sets :min_length to DEFAULT_MIN_POOL_SIZE 538s sets :idletime to DEFAULT_THREAD_IDLETIMEOUT 538s sets :max_queue to DEFAULT_MAX_QUEUE_SIZE 538s #min_length 538s returns zero on creation 538s returns zero while running 539s returns zero once shutdown 539s #max_length 539s returns :max_length on creation 539s returns :max_length while running 539s returns :max_length once shutdown 539s #largest_length 539s returns zero on creation 539s returns a non-zero number once tasks have been received 539s returns a non-zero number after shutdown if tasks have been received 539s #idletime 539s returns the thread idletime 539s runtime-specific implementation 539s #initialize 539s sets :fallback_policy correctly 539s defaults :fallback_policy to :abort 539s raises an exception if given an invalid :fallback_policy 539s stress 539s is expected to be <= 200 539s is expected to be <= 4 539s 539s Concurrent::FixedThreadPool 539s it should behave like thread_pool 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 541s rejects the block while shutting down 541s rejects the block once shutdown 541s auto terminate 544s does not stop shutdown 544s #running? 544s returns true when the thread pool is running 545s returns false when the thread pool is shutting down 545s returns false when the thread pool is shutdown 545s returns false when the thread pool is killed 545s #shuttingdown? 545s returns false when the thread pool is running 545s returns true when the thread pool is shutting down 545s returns false when the thread pool is shutdown 545s #shutdown? 545s returns false when the thread pool is running 546s returns false when the thread pool is shutting down 546s returns true when the thread pool is shutdown 546s #shutdown 546s stops accepting new tasks 546s allows in-progress tasks to complete 546s allows pending tasks to complete 546s #shutdown followed by #wait_for_termination 547s allows in-progress tasks to complete 547s allows pending tasks to complete 547s stops accepting/running new tasks 547s #kill 547s stops accepting new tasks 547s rejects all pending tasks 547s #wait_for_termination 547s immediately returns true when no operations are pending 547s returns true after shutdown has complete 548s returns true when shutdown successfully completes before timeout 548s returns false when shutdown fails to complete before timeout 548s waits forever when no timeout value is given 548s #auto_terminate? 548s returns true by default 548s returns true when :enable_at_exit_handler is true 548s returns false when :enable_at_exit_handler is false 548s #length 548s returns zero on creation 549s returns zero once shut down 549s #scheduled_task_count 549s returns zero on creation 549s returns the approximate number of tasks that have been post thus far 549s returns the approximate number of tasks that were post 549s #completed_task_count 549s returns zero on creation 549s returns the approximate number of tasks that have been completed thus far 549s #shutdown 550s allows threads to exit normally 550s #initialize default values 550s defaults :min_length correctly 550s defaults :max_length correctly 550s defaults :fallback_policy to :abort 550s defaults :idletime correctly 550s defaults default :max_queue to zero 550s #initialize explicit values 550s raises an exception when the pool length is less than one 550s sets explicit :max_queue correctly 550s correctly sets valid :fallback_policy 550s correctly sets valid :idletime 550s raises an exception if given an invalid :fallback_policy 550s #min_length 550s returns :num_threads on creation 550s returns :num_threads while running 550s returns :num_threads once shutdown 550s #max_length 550s returns :num_threads on creation 550s returns :num_threads while running 550s returns :num_threads once shutdown 550s #length 550s returns :num_threads while running 550s #largest_length 550s returns zero on creation 550s returns :num_threads while running 550s returns :num_threads once shutdown 550s #kill 550s attempts to kill all in-progress tasks 550s worker creation and caching 550s never creates more than :num_threads threads 550s fallback policy 550s raises an error when overflow on abort 551s discards when fallback_policy is :discard 552s uses the calling thread for overflow under caller_runs 552s runtime-specific implementation 552s sets :fallback_policy correctly 552s 552s Concurrent::ImmediateExecutor 552s it should behave like executor_service 552s it should behave like global_thread_pool 552s #post 552s raises an exception if no block is given 552s returns true when the block is added to the queue 552s calls the block with the given arguments 552s aliases #<< 552s #post 553s rejects the block while shutting down 553s rejects the block once shutdown 553s auto terminate 557s does not stop shutdown 557s #running? 557s returns true when the thread pool is running 557s returns false when the thread pool is shutting down 557s returns false when the thread pool is shutdown 557s returns false when the thread pool is killed 557s #shuttingdown? 557s returns false when the thread pool is running 557s returns true when the thread pool is shutting down (PENDING: will never be in shuttingdown? state) 557s returns false when the thread pool is shutdown 557s #shutdown? 557s returns false when the thread pool is running 557s returns false when the thread pool is shutting down (PENDING: will never be in shuttingdown? state) 557s returns true when the thread pool is shutdown 557s #shutdown 558s stops accepting new tasks 558s allows in-progress tasks to complete 558s allows pending tasks to complete 558s #shutdown followed by #wait_for_termination 558s allows in-progress tasks to complete 559s allows pending tasks to complete 559s stops accepting/running new tasks 559s #kill 559s stops accepting new tasks 560s rejects all pending tasks 560s #wait_for_termination 560s immediately returns true when no operations are pending 560s returns true after shutdown has complete 561s returns true when shutdown successfully completes before timeout 561s returns false when shutdown fails to complete before timeout 562s waits forever when no timeout value is given 562s 562s Concurrent::IndirectImmediateExecutor 562s runs its tasks synchronously 562s runs the task on a separate thread 562s it should behave like executor_service 562s it should behave like global_thread_pool 562s #post 562s raises an exception if no block is given 562s returns true when the block is added to the queue 562s calls the block with the given arguments 562s aliases #<< 562s #post 563s rejects the block while shutting down 563s rejects the block once shutdown 563s auto terminate 567s does not stop shutdown 567s #running? 567s returns true when the thread pool is running 568s returns false when the thread pool is shutting down 568s returns false when the thread pool is shutdown 568s returns false when the thread pool is killed 568s #shuttingdown? 568s returns false when the thread pool is running 568s returns true when the thread pool is shutting down (PENDING: will never be in shuttingdown? state) 568s returns false when the thread pool is shutdown 568s #shutdown? 568s returns false when the thread pool is running 568s returns false when the thread pool is shutting down (PENDING: will never be in shuttingdown? state) 568s returns true when the thread pool is shutdown 568s #shutdown 568s stops accepting new tasks 568s allows in-progress tasks to complete 568s allows pending tasks to complete 568s #shutdown followed by #wait_for_termination 568s allows in-progress tasks to complete 569s allows pending tasks to complete 569s stops accepting/running new tasks 569s #kill 569s stops accepting new tasks 571s rejects all pending tasks 571s #wait_for_termination 571s immediately returns true when no operations are pending 571s returns true after shutdown has complete 571s returns true when shutdown successfully completes before timeout 571s returns false when shutdown fails to complete before timeout 572s waits forever when no timeout value is given 572s 572s Concurrent::JavaSingleThreadExecutor 572s it should behave like executor_service 572s it should behave like global_thread_pool 572s #post 572s raises an exception if no block is given 572s returns true when the block is added to the queue 572s calls the block with the given arguments 572s aliases #<< 572s #post 573s rejects the block while shutting down 573s rejects the block once shutdown 573s auto terminate 577s does not stop shutdown 577s #running? 577s returns true when the thread pool is running 577s returns false when the thread pool is shutting down 577s returns false when the thread pool is shutdown 577s returns false when the thread pool is killed 577s #shuttingdown? 577s returns false when the thread pool is running 578s returns true when the thread pool is shutting down 578s returns false when the thread pool is shutdown 578s #shutdown? 578s returns false when the thread pool is running 578s returns false when the thread pool is shutting down 578s returns true when the thread pool is shutdown 578s #shutdown 579s stops accepting new tasks 579s allows in-progress tasks to complete 579s allows pending tasks to complete 579s #shutdown followed by #wait_for_termination 579s allows in-progress tasks to complete 580s allows pending tasks to complete 580s stops accepting/running new tasks 580s #kill 580s stops accepting new tasks 580s rejects all pending tasks 580s #wait_for_termination 580s immediately returns true when no operations are pending 580s returns true after shutdown has complete 581s returns true when shutdown successfully completes before timeout 581s returns false when shutdown fails to complete before timeout 581s waits forever when no timeout value is given 581s 581s Concurrent::JavaThreadPoolExecutor 581s it should behave like thread_pool 581s it should behave like executor_service 581s it should behave like global_thread_pool 581s #post 582s raises an exception if no block is given 582s returns true when the block is added to the queue 582s calls the block with the given arguments 582s aliases #<< 582s #post 582s rejects the block while shutting down 583s rejects the block once shutdown 583s auto terminate 587s does not stop shutdown 587s #running? 587s returns true when the thread pool is running 587s returns false when the thread pool is shutting down 587s returns false when the thread pool is shutdown 587s returns false when the thread pool is killed 587s #shuttingdown? 587s returns false when the thread pool is running 588s returns true when the thread pool is shutting down 588s returns false when the thread pool is shutdown 588s #shutdown? 588s returns false when the thread pool is running 588s returns false when the thread pool is shutting down 588s returns true when the thread pool is shutdown 588s #shutdown 588s stops accepting new tasks 589s allows in-progress tasks to complete 589s allows pending tasks to complete 589s #shutdown followed by #wait_for_termination 589s allows in-progress tasks to complete 589s allows pending tasks to complete 589s stops accepting/running new tasks 589s #kill 589s stops accepting new tasks 590s rejects all pending tasks 590s #wait_for_termination 590s immediately returns true when no operations are pending 590s returns true after shutdown has complete 590s returns true when shutdown successfully completes before timeout 590s returns false when shutdown fails to complete before timeout 591s waits forever when no timeout value is given 591s #auto_terminate? 591s returns true by default 591s returns true when :enable_at_exit_handler is true 591s returns false when :enable_at_exit_handler is false 591s #length 591s returns zero on creation 591s returns zero once shut down 591s #scheduled_task_count 591s returns zero on creation 591s returns the approximate number of tasks that have been post thus far 591s returns the approximate number of tasks that were post 591s #completed_task_count 591s returns zero on creation 591s returns the approximate number of tasks that have been completed thus far 591s #shutdown 592s allows threads to exit normally 592s it should behave like thread_pool_executor 592s #initialize defaults 592s defaults :min_length to DEFAULT_MIN_POOL_SIZE 592s defaults :max_length to DEFAULT_MAX_POOL_SIZE 592s defaults :idletime to DEFAULT_THREAD_IDLETIMEOUT 592s defaults :max_queue to DEFAULT_MAX_QUEUE_SIZE 592s defaults :fallback_policy to :abort 592s defaults :name to nil 592s #initialize explicit values 592s sets :min_threads 592s sets :max_threads 592s sets :idletime 592s doesn't allow max_threads < min_threads 592s accepts all valid fallback policies 592s raises an exception if :max_threads is less than zero 592s raises an exception if :min_threads is less than zero 592s raises an exception if :max_threads greater than the max allowable 592s raises an exception if :max_threads is less than :min_threads 592s raises an exception if given an invalid :fallback_policy 592s sets :name 592s #max_queue 592s returns the set value on creation 592s returns the set value when running 592s returns the set value after stopping 592s #synchronous 592s cannot be set unless `max_queue` is zero 592s executes fallback policy once max_threads has been reached 592s #queue_length 592s returns zero on creation 592s returns zero when there are no enqueued tasks 592s returns the size of the queue when tasks are enqueued 592s returns zero when stopped 592s can never be greater than :max_queue 592s #remaining_capacity 592s returns -1 when :max_queue is set to zero 592s returns :max_length on creation 592s returns :max_length when stopped 592s #active_count 592s returns the number of threads that are actively executing tasks. 592s #fallback_policy 592s :abort 592s #post raises an error when the queue is at capacity 592s #<< raises an error when the queue is at capacity 592s #post raises an error when the executor is shutting down 592s #<< raises an error when the executor is shutting down 592s a #post task is never executed when the queue is at capacity 593s a #<< task is never executed when the queue is at capacity 593s :discard 593s a #post task is never executed when the queue is at capacity 593s a #<< task is never executed when the queue is at capacity 593s a #post task is never executed when the executor is shutting down 593s a #<< task is never executed when the executor is shutting down 593s #post returns false when the executor is shutting down 593s :caller_runs 593s #post does not create any new threads when the queue is at capacity 593s #<< executes the task on the current thread when the queue is at capacity 593s #post executes the task on the current thread when the queue is at capacity 593s #post executes the task on the current thread when the executor is shutting down 593s #<< executes the task on the current thread when the executor is shutting down 593s #post does not block other jobs running on the worker threads 593s #overload_policy 593s :abort maps to AbortPolicy 593s :discard maps to DiscardPolicy 593s :caller_runs maps to CallerRunsPolicy 593s 593s Concurrent::RubySingleThreadExecutor 593s it should behave like executor_service 593s it should behave like global_thread_pool 593s #post 593s raises an exception if no block is given 593s returns true when the block is added to the queue 593s calls the block with the given arguments 593s aliases #<< 593s #post 594s rejects the block while shutting down 594s rejects the block once shutdown 594s auto terminate 598s does not stop shutdown 598s #running? 598s returns true when the thread pool is running 599s returns false when the thread pool is shutting down 599s returns false when the thread pool is shutdown 599s returns false when the thread pool is killed 599s #shuttingdown? 599s returns false when the thread pool is running 599s returns true when the thread pool is shutting down 599s returns false when the thread pool is shutdown 599s #shutdown? 599s returns false when the thread pool is running 600s returns false when the thread pool is shutting down 600s returns true when the thread pool is shutdown 600s #shutdown 600s stops accepting new tasks 600s allows in-progress tasks to complete 601s allows pending tasks to complete 601s #shutdown followed by #wait_for_termination 601s allows in-progress tasks to complete 601s allows pending tasks to complete 601s stops accepting/running new tasks 601s #kill 602s stops accepting new tasks 602s rejects all pending tasks 602s #wait_for_termination 602s immediately returns true when no operations are pending 602s returns true after shutdown has complete 602s returns true when shutdown successfully completes before timeout 602s returns false when shutdown fails to complete before timeout 603s waits forever when no timeout value is given 603s 603s Concurrent::RubyThreadPoolExecutor 603s it should behave like thread_pool 603s it should behave like executor_service 603s it should behave like global_thread_pool 603s #post 603s raises an exception if no block is given 603s returns true when the block is added to the queue 603s calls the block with the given arguments 603s aliases #<< 603s #post 604s rejects the block while shutting down 604s rejects the block once shutdown 604s auto terminate 608s does not stop shutdown 608s #running? 608s returns true when the thread pool is running 608s returns false when the thread pool is shutting down 608s returns false when the thread pool is shutdown 608s returns false when the thread pool is killed 608s #shuttingdown? 608s returns false when the thread pool is running 609s returns true when the thread pool is shutting down 609s returns false when the thread pool is shutdown 609s #shutdown? 609s returns false when the thread pool is running 609s returns false when the thread pool is shutting down 609s returns true when the thread pool is shutdown 609s #shutdown 610s stops accepting new tasks 610s allows in-progress tasks to complete 610s allows pending tasks to complete 610s #shutdown followed by #wait_for_termination 610s allows in-progress tasks to complete 610s allows pending tasks to complete 610s stops accepting/running new tasks 610s #kill 610s stops accepting new tasks 611s rejects all pending tasks 611s #wait_for_termination 611s immediately returns true when no operations are pending 611s returns true after shutdown has complete 611s returns true when shutdown successfully completes before timeout 611s returns false when shutdown fails to complete before timeout 612s waits forever when no timeout value is given 612s #auto_terminate? 612s returns true by default 612s returns true when :enable_at_exit_handler is true 612s returns false when :enable_at_exit_handler is false 612s #length 612s returns zero on creation 612s returns zero once shut down 612s #scheduled_task_count 612s returns zero on creation 612s returns the approximate number of tasks that have been post thus far 612s returns the approximate number of tasks that were post 612s #completed_task_count 612s returns zero on creation 612s returns the approximate number of tasks that have been completed thus far 612s #shutdown 613s allows threads to exit normally 613s it should behave like thread_pool_executor 613s #initialize defaults 613s defaults :min_length to DEFAULT_MIN_POOL_SIZE 613s defaults :max_length to DEFAULT_MAX_POOL_SIZE 613s defaults :idletime to DEFAULT_THREAD_IDLETIMEOUT 613s defaults :max_queue to DEFAULT_MAX_QUEUE_SIZE 613s defaults :fallback_policy to :abort 613s defaults :name to nil 613s #initialize explicit values 613s sets :min_threads 613s sets :max_threads 613s sets :idletime 613s doesn't allow max_threads < min_threads 613s accepts all valid fallback policies 613s raises an exception if :max_threads is less than zero 613s raises an exception if :min_threads is less than zero 613s raises an exception if :max_threads greater than the max allowable 613s raises an exception if :max_threads is less than :min_threads 613s raises an exception if given an invalid :fallback_policy 613s sets :name 613s #max_queue 613s returns the set value on creation 613s returns the set value when running 613s returns the set value after stopping 613s #synchronous 613s cannot be set unless `max_queue` is zero 613s executes fallback policy once max_threads has been reached 613s #queue_length 613s returns zero on creation 613s returns zero when there are no enqueued tasks 613s returns the size of the queue when tasks are enqueued 613s returns zero when stopped 613s can never be greater than :max_queue 613s #remaining_capacity 613s returns -1 when :max_queue is set to zero 613s returns :max_length on creation 613s returns :max_length when stopped 613s #active_count 613s returns the number of threads that are actively executing tasks. 613s #fallback_policy 613s :abort 613s #post raises an error when the queue is at capacity 613s #<< raises an error when the queue is at capacity 613s #post raises an error when the executor is shutting down 613s #<< raises an error when the executor is shutting down 613s a #post task is never executed when the queue is at capacity 613s a #<< task is never executed when the queue is at capacity 613s :discard 613s a #post task is never executed when the queue is at capacity 613s a #<< task is never executed when the queue is at capacity 613s a #post task is never executed when the executor is shutting down 613s a #<< task is never executed when the executor is shutting down 613s #post returns false when the executor is shutting down 613s :caller_runs 613s #post does not create any new threads when the queue is at capacity 614s #<< executes the task on the current thread when the queue is at capacity 614s #post executes the task on the current thread when the queue is at capacity 614s #post executes the task on the current thread when the executor is shutting down 614s #<< executes the task on the current thread when the executor is shutting down 614s #post does not block other jobs running on the worker threads 614s #remaining_capacity 614s returns :max_length when no tasks are enqueued 614s returns the remaining capacity when tasks are enqueued 614s threads naming 614s without pool name 614s sets counted name 614s with pool name 614s sets counted name 614s 614s Concurrent::SafeTaskExecutor 614s #execute 614s happy execution 614s should return success 614s should return task value 614s should return a nil reason 614s passes all arguments to #execute to the task 614s protects #execute with a mutex 614s failing execution 614s should return false success 614s should return a nil value 614s should return the reason 614s rescues Exception when :rescue_exception is true 614s rescues StandardError when :rescue_exception is false 614s rescues StandardError by default 614s 614s Concurrent::SerializedExecutionDelegator 614s it should behave like executor_service 614s it should behave like global_thread_pool 614s #post 614s raises an exception if no block is given 614s returns true when the block is added to the queue 614s calls the block with the given arguments 614s aliases #<< 614s #post 615s rejects the block while shutting down 615s rejects the block once shutdown 615s auto terminate 619s does not stop shutdown 619s #running? 619s returns true when the thread pool is running 620s returns false when the thread pool is shutting down 620s returns false when the thread pool is shutdown 620s returns false when the thread pool is killed 620s #shuttingdown? 620s returns false when the thread pool is running 620s returns true when the thread pool is shutting down (PENDING: will never be in shuttingdown? state) 620s returns false when the thread pool is shutdown 620s #shutdown? 620s returns false when the thread pool is running 620s returns false when the thread pool is shutting down (PENDING: will never be in shuttingdown? state) 620s returns true when the thread pool is shutdown 620s #shutdown 620s stops accepting new tasks 620s allows in-progress tasks to complete 621s allows pending tasks to complete 621s #shutdown followed by #wait_for_termination 621s allows in-progress tasks to complete 621s allows pending tasks to complete 621s stops accepting/running new tasks 621s #kill 622s stops accepting new tasks 623s rejects all pending tasks 623s #wait_for_termination 623s immediately returns true when no operations are pending 623s returns true after shutdown has complete 623s returns true when shutdown successfully completes before timeout 623s returns false when shutdown fails to complete before timeout 624s waits forever when no timeout value is given 624s 624s Concurrent::SimpleExecutorService 624s it should behave like executor_service 624s it should behave like global_thread_pool 624s #post 624s raises an exception if no block is given 624s returns true when the block is added to the queue 624s calls the block with the given arguments 624s aliases #<< 624s #post 625s rejects the block while shutting down 625s rejects the block once shutdown 625s auto terminate 629s does not stop shutdown 629s #running? 629s returns true when the thread pool is running 630s returns false when the thread pool is shutting down 630s returns false when the thread pool is shutdown 630s returns false when the thread pool is killed 630s #shuttingdown? 630s returns false when the thread pool is running 630s returns true when the thread pool is shutting down 630s returns false when the thread pool is shutdown 630s #shutdown? 630s returns false when the thread pool is running 631s returns false when the thread pool is shutting down 631s returns true when the thread pool is shutdown 631s #shutdown 631s stops accepting new tasks 631s allows in-progress tasks to complete 632s allows pending tasks to complete 632s #shutdown followed by #wait_for_termination 632s allows in-progress tasks to complete 632s allows pending tasks to complete 632s stops accepting/running new tasks 632s #kill 632s stops accepting new tasks 632s rejects all pending tasks 632s #wait_for_termination 632s immediately returns true when no operations are pending 632s returns true after shutdown has complete 633s returns true when shutdown successfully completes before timeout 633s returns false when shutdown fails to complete before timeout 634s waits forever when no timeout value is given 634s #post 634s creates a new thread for a call without arguments 634s executes a call without arguments 634s creates a new thread for a call with arguments 634s executes a call with one argument 634s executes a call with multiple arguments 634s aliases #<< 634s SimpleExecutorService.post 634s creates a new thread for a call without arguments 634s executes a call without arguments 634s creates a new thread for a call with arguments 634s executes a call with one argument 634s executes a call with multiple arguments 634s aliases #<< 634s 634s Concurrent::SingleThreadExecutor 634s inherits from JavaSingleThreadExecutor 634s 634s Concurrent::ThreadPoolExecutor 634s inherits from JavaThreadPoolExecutor 634s 634s Concurrent::TimerSet 634s construction 634s uses the executor given at construction 634s uses the global io executor be default 634s #post 634s raises an exception when given a task with a delay less than zero 634s raises an exception when no block given 634s immediately posts a task when the delay is zero 634s execution 634s executes a given task when given an interval in seconds 634s returns an IVar when posting a task 634s executes a given task when given an interval in seconds, even if longer tasks have been scheduled 634s passes all arguments to the task on execution 634s does not execute tasks early 634s executes all tasks scheduled for the same time 634s executes tasks with different times in schedule order 635s executes tasks with different times in schedule time 635s continues to execute new tasks even after the queue is emptied 635s safely handles an executor raising RejectedExecutionError 635s resolution 635s sets the IVar value on success when delay is zero 635s sets the IVar value on success when given a delay 635s sets the IVar reason on failure when delay is zero 635s sets the IVar reason on failure when given a delay 635s task cancellation 635s fails to cancel the task once processing has begun 636s fails to cancel the task once processing is complete 636s cancels a pending task 636s returns false when not running 636s task rescheduling 636s raises an exception when given an invalid time 636s does not change the current schedule when given an invalid time 636s reschedules a pending and unpost task when given a valid time 636s returns false once the task has been post to the executor 636s returns false once the task is processing 636s returns false once the task has is complete 636s returns false when not running 636s task resetting 636s calls #reschedule with the original delay 636s termination 636s cancels all pending tasks on #shutdown 636s cancels all pending tasks on #kill 636s stops the monitor thread on #shutdown 636s kills the monitor thread on #kill 636s rejects tasks once shutdown 636s rejects tasks once killed 636s #wait_for_termination returns true if shutdown completes before timeout 636s #wait_for_termination returns false on timeout 636s state 636s is running? when first created 636s is running? after tasks have been post 636s is shutdown? after shutdown completes 636s is shutdown? after being killed 636s 636s Concurrent::WrappingExecutor 636s is expected to be a kind of Concurrent::WrappingExecutor 636s is expected to respond to #post 636s is expected to respond to #can_overflow? 636s is expected to respond to #serialized? 636s #post 636s with passthrough wrapper 636s is expected to equal # 636s with wrapper modifying args 636s is expected to equal # 636s with wrapper modifying task 636s is expected to equal # 636s 636s Concurrent::Future 636s it should behave like ivar 636s it should behave like obligation 636s #state 636s is :pending when first created 636s is :fulfilled when the handler completes 636s is :rejected when the handler raises an exception 636s #value 636s returns nil when reaching the optional timeout value 636s returns immediately when timeout is zero 641s returns the value when fulfilled before timeout 641s returns nil when timeout reached 641s is nil when :pending 646s blocks the caller when :pending and timeout is nil 646s is nil when :rejected 646s is set to the return value of the block when :fulfilled 646s #reason 646s is nil when :pending 646s is nil when :fulfilled 646s is set to error object of the exception when :rejected 646s it should behave like dereferenceable 646s defaults :dup_on_deref to false 647s calls #dup when the :dup_on_deref option is true 647s defaults :freeze_on_deref to false 647s calls #freeze when the :freeze_on_deref option is true 647s defaults :copy_on_deref to nil 648s calls the block when the :copy_on_deref option is passed a proc 648s calls the :copy block first followed by #dup followed by #freeze 648s does not call #dup when #dup_on_deref is set and the value is nil 648s does not call #freeze when #freeze_on_deref is set and the value is nil 648s does not call the #copy_on_deref block when the value is nil 648s supports dereference flags with observers 648s it should behave like observable 648s #add_observer 648s adds an observer if called before first notification 648s adds an observer with :func if called before first notification 648s creates an observer from a block if called before first notification 648s raises an exception if not given an observer or a block 648s raises an exception when given both an observer and a block 648s #delete_observer 648s deletes the given observer if called before first notification 648s returns the removed observer if found in the observer set 648s returns the given observer even when not found in the observer set 648s #delete_observers 648s deletes all observers when called before first notification 648s returns self 648s #count_observers 648s returns zero for a new observable object 648s returns a count of registered observers if called before first notification 648s returns zero after #delete_observers has been called 648s first notification 648s calls the #update method on all observers without a specified :func 649s calls the appropriate function on all observers which specified a :func 649s calls the proc for all observers added as a block 650s does not notify any observers removed with #delete_observer 651s does not notify any observers after #delete_observers called 651s initialization 651s sets the state to incomplete 651s #set 651s sets the state to be fulfilled 651s sets the value 651s raises an exception if set more than once 651s returns self 651s fulfils when given a block which executes successfully 651s rejects when given a block which raises an exception 651s raises an exception when given a value and a block 651s raises an exception when given neither a value nor a block 651s #fail 651s sets the state to be rejected 651s sets the value to be nil 651s sets the reason to the given exception 651s raises an exception if set more than once 651s defaults the reason to a StandardError 651s returns self 651s #try_set 651s when unset 651s assigns the value 651s assigns the block result 651s returns true 651s when fulfilled 651s does not assign the value 651s does not assign the block result 651s returns false 651s when rejected 651s does not assign the value 651s does not assign the block result 651s has a nil value 651s returns false 651s it should behave like thread_arguments 651s passes an empty array when opts is not given 651s passes an empty array when opts is an empty hash 651s passes an empty array when there is no :args key 651s passes an empty array when the :args key has a nil value 651s passes a one-element array when the :args key has a non-array value 651s passes an array when when the :args key has an array value 651s passes the given array when the :args key has a complex array value 651s allows the given arguments array to be dereferenced 651s #initialize 651s sets the state to :unscheduled 651s raises an exception when no block given 651s uses the executor given with the :executor option 651s uses the global io executor by default 651s instance #execute 651s does nothing unless the state is :unscheduled 651s posts the block given on construction 651s sets the state to :pending 651s returns self 651s class #execute 651s creates a new Future 651s passes the block to the new Future 651s calls #execute on the new Future 651s fulfillment 651s sets the state to :processing while the task is executing 651s passes all arguments to handler 651s sets the value to the result of the handler 651s sets the state to :fulfilled when the block completes 651s sets the value to nil when the handler raises an exception 651s sets the value to nil when the handler raises Exception 651s sets the reason to the Exception instance when the handler raises Exception 651s sets the state to :rejected when the handler raises an exception 651s aliases 651s aliases #realized? for #fulfilled? 651s aliases #deref for #value 651s cancellation 651s #cancel 651s fails to cancel the task once processing has begun 651s fails to cancel the task once processing is complete 651s cancels a pending task 651s #wait_or_cancel 651s returns true if the operation completes before timeout 651s cancels the task on timeout 651s observation 651s notifies all observers on fulfillment 651s notifies all observers on rejection 651s notifies an observer added after fulfillment 651s notifies an observer added after rejection 651s does not notify existing observers when a new observer added after fulfillment 651s does not notify existing observers when a new observer added after rejection 651s deadlock avoidance 651s should notify observers outside mutex lock 651s should notify a new observer added after fulfillment outside lock 651s 651s Concurrent::Hash 651s .[] 651s when initializing with no arguments 651s is expected to be empty 651s when initializing with an even number of arguments 651s creates a hash using the odd position arguments as keys and even position arguments as values 651s when initializing with an array of pairs 651s creates a hash using each pair as a (key, value) pair 651s when initializing with another hash as an argument 651s creates a new hash 651s creates a hash with the same contents as the other hash 651s creates a hash with the results of calling #to_hash on the other array 651s .new 651s when initializing with no arguments 651s is expected to be empty 651s when initialized with a default object 651s uses the default object for non-existing keys 651s when initialized with a block 651s calls the block for non-existing keys 651s returns the results of calling the block for non-existing key 651s concurrency 652s is expected to be empty 652s 652s Concurrent::ImmutableStruct 652s it should behave like struct 652s definition 652s registers the class when given a class name 652s registers the class when given a class name which is defined in the ancestors 652s creates an anonymous class when given at least one member 652s ignores methods on ancestor classes 652s raises an exception when given an invalid class name 652s defines a getter for each member 652s raises an exception when given no members 652s raise an exception when given an invalid member 652s evalues a given block against the new class 652s construction 652s sets all absent members to nil 652s sets all given members in order 652s raises an exception when extra members are given 652s properties 652s #length 652s returns the number of struct members 652s #members 652s returns the struct members as an array of symbols 652s returns a different object than the array passed at definition 652s #size 652s returns the number of struct members 652s #values 652s returns the values of the struct as an array in order 652s #values_at 652s returns the value at the given offset 652s returns the values at multiple given offsets 652s returns values at offsets in a given range 652s returns values for multiple ranges 652s returns values for ranges and offsets 652s accessors 652s #[member] 652s retrieves the value when given a valid symbol member 652s retrieves the value when given a valid string member 652s raises an exception when given a non-existent symbol member 652s raises an exception when given a non-existent string member 652s #[index] 652s retrieves the value when given a valid index 652s raises an exception when given an out-of-bound index 652s comparison 652s #== 652s returns true if other has same struct subclass and equal values 652s returns false if other has different struct subclass 652s returns false if other has different values 652s #!= 652s returns false if other has same struct subclass and equal values 652s returns true if other has different struct subclass 652s returns true if other has different values 652s enumeration 652s #each 652s yields the value of each struct member in order 652s returns an enumerator when no block is given 652s #each_pair 652s yields the name and value of each struct member in order 652s returns an enumerator when no block is given 652s #select 652s yields each value 652s returns an Array with the values from for which the block returns true 652s returns an enumerator when no block is given 652s conversion 652s #to_s 652s includes the name of the class when registered 652s includes the names of all members 652s includes all values 652s returns the same string as #inspect 652s #to_a 652s returns the to_a for this struct as an array 652s #to_h 652s returns a Hash containing the names and values in order 652s copy 652s #dup 652s shallowly duplicates all members along with the struct 652s discards frozen state of the struct 652s retains frozen state of members 652s discards singleton class 652s copies the singleton class of members 652s #clone 652s shallowly clones all members along with the struct 652s retains frozen state 652s copies the singleton class 652s copies the singleton class of members 652s it should behave like mergeable_struct 652s #merge 652s updates all members with the new values from a given hash 652s calls the given block for each key in `other` 652s retains the value for all members not without values in the given hash 652s raises an exception when given a hash with members not in the struct 652s returns a new object 652s 652s Concurrent::IVar 652s it should behave like ivar 652s it should behave like obligation 652s #state 652s is :pending when first created 652s is :fulfilled when the handler completes 652s is :rejected when the handler raises an exception 652s #value 652s returns nil when reaching the optional timeout value 652s returns immediately when timeout is zero 652s returns the value when fulfilled before timeout 652s returns nil when timeout reached 652s is nil when :pending 652s blocks the caller when :pending and timeout is nil 652s is nil when :rejected 652s is set to the return value of the block when :fulfilled 652s #reason 652s is nil when :pending 652s is nil when :fulfilled 652s is set to error object of the exception when :rejected 652s it should behave like dereferenceable 652s defaults :dup_on_deref to false 652s calls #dup when the :dup_on_deref option is true 652s defaults :freeze_on_deref to false 652s calls #freeze when the :freeze_on_deref option is true 652s defaults :copy_on_deref to nil 652s calls the block when the :copy_on_deref option is passed a proc 652s calls the :copy block first followed by #dup followed by #freeze 652s does not call #dup when #dup_on_deref is set and the value is nil 652s does not call #freeze when #freeze_on_deref is set and the value is nil 652s does not call the #copy_on_deref block when the value is nil 652s supports dereference flags with observers 652s it should behave like observable 652s #add_observer 652s adds an observer if called before first notification 652s adds an observer with :func if called before first notification 652s creates an observer from a block if called before first notification 652s raises an exception if not given an observer or a block 652s raises an exception when given both an observer and a block 652s #delete_observer 652s deletes the given observer if called before first notification 652s returns the removed observer if found in the observer set 652s returns the given observer even when not found in the observer set 652s #delete_observers 652s deletes all observers when called before first notification 652s returns self 652s #count_observers 652s returns zero for a new observable object 652s returns a count of registered observers if called before first notification 652s returns zero after #delete_observers has been called 652s first notification 652s calls the #update method on all observers without a specified :func 652s calls the appropriate function on all observers which specified a :func 652s calls the proc for all observers added as a block 653s does not notify any observers removed with #delete_observer 654s does not notify any observers after #delete_observers called 654s initialization 654s sets the state to incomplete 654s #set 654s sets the state to be fulfilled 654s sets the value 654s raises an exception if set more than once 654s returns self 654s fulfils when given a block which executes successfully 654s rejects when given a block which raises an exception 654s raises an exception when given a value and a block 654s raises an exception when given neither a value nor a block 654s #fail 654s sets the state to be rejected 654s sets the value to be nil 654s sets the reason to the given exception 654s raises an exception if set more than once 654s defaults the reason to a StandardError 654s returns self 654s #try_set 654s when unset 654s assigns the value 654s assigns the block result 654s returns true 654s when fulfilled 654s does not assign the value 654s does not assign the block result 654s returns false 654s when rejected 654s does not assign the value 654s does not assign the block result 654s has a nil value 654s returns false 654s #initialize 654s does not have to set an initial value 654s does not set an initial value if you pass NULL 654s can set an initial value 654s can set an initial value with a block 654s raises an exception if given both a value and a block 654s observation 654s notifies all observers on #set 654s deadlock avoidance 654s should notify observers outside mutex lock 654s should notify a new observer added after fulfillment outside lock 654s 654s Concurrent::LazyRegister 654s example at ./spec/concurrent/lazy_register_spec.rb:6 (PENDING: Not yet implemented) 654s 654s Concurrent::Map 654s default_proc is called with the Concurrent::Map and the key 654s default_proc is called with the Concurrent::Map and the key after #dup 654s concurrency 654s retrieval 654s #put_if_absent 654s updates dont block reads 655s collision resistance 662s collision resistance with arrays 662s #replace_pair 662s #replace_if_exists 662s #get_and_set 662s #key 662s #key? 663s #value? 663s #delete 663s #delete_pair 663s default proc 663s falsy default proc 663s #clear 663s #keys 663s #values 663s #each_key 663s #each_value 663s #empty 663s options validation 663s initial capacity options validation 663s load factor options validation 663s #size 663s #get_or_default 663s #dup,#clone 663s is unfreezable 663s marshal dump load 663s marshal dump does not work with default proc 663s #inspect 663s #compute_if_absent 663s works in default_proc 663s common 663s with return 663s exception 663s atomicity 663s #compute_if_present 663s common 663s with return 663s exception 663s #compute 663s common 663s with return 663s exception 663s #merge_pair 663s common 663s with return 663s exception 663s #fetch 663s common 663s falsy 663s with return 663s #fetch_or_store 663s common 663s falsy 663s with return 663s #each_pair 663s it should behave like collection_each 663s common 663s pair iterator 663s allows modification 663s when no block is given 663s returns an enumerator 663s returns an object which is enumerable 663s #each 663s it should behave like collection_each 663s common 663s pair iterator 663s allows modification 663s when no block is given 663s returns an enumerator 663s returns an object which is enumerable 663s 663s Concurrent::Maybe 663s construction 663s hides Maybe.new 663s Maybe.from 663s raises an exception when no block is given 663s passes all arguments to the block 663s creates a Just Maybe on success 663s sets the value to the block result on success 663s creates a Nothing Maybe on exception 663s sets the reason to the error object on exception 663s Maybe.just 663s creates a new Just Maybe 663s Maybe.nothing 663s creates a new Nothing Maybe 663s uses the given Error object 663s creates a new error object with the given string 663s creates a new error object when given nothing 663s when just 663s #just? returns true 663s #fulfilled? returns true 663s #nothing? returns false 663s #rejected? returns false 663s #just returns the value 663s #value returns the value 663s #nothing returns NONE 663s #reason returns NONE 663s when nothing 663s #just? returns false 663s #fulfilled? returns false 663s #nothing? returns true 663s #rejected? returns true 663s #just returns NONE 663s #value returns NONE 663s #nothing returns the raised error 663s #reason returns the raised error 663s comparison 663s something is not equal to nothing 663s nothing is equal to nothing 663s something is equal to the same value 663s something is not equal to a different value 663s something is greater than a smaller value 663s something is less than a bigger value 663s nothing is not less than nothing 663s nothing is not greater than nothing 663s #or 663s returns the value when something 663s returns the other when nothing 663s 663s monotonic_time 663s behavior 663s returns seconds as float 663s returns a Float when unit = :float_second 663s returns a Float when unit = :float_millisecond 663s returns a Float when unit = :float_microsecond 663s returns an Integer when unit = :second 663s returns an Integer when unit = :millisecond 663s returns an Integer when unit = :microsecond 663s returns an Integer when unit = :nanosecond 663s raises ArgumentError on unknown units 663s 663s Concurrent::MutableStruct 663s it should behave like struct 663s definition 663s registers the class when given a class name 663s registers the class when given a class name which is defined in the ancestors 663s /tmp/autopkgtest.NUd3bx/build.yQw/src/spec/concurrent/struct_shared.rb:15: warning: already initialized constant ValidClassName2 663s creates an anonymous class when given at least one member 663s ignores methods on ancestor classes 663s raises an exception when given an invalid class name 663s defines a getter for each member 663s raises an exception when given no members 663s raise an exception when given an invalid member 663s evalues a given block against the new class 663s construction 663s sets all absent members to nil 663s sets all given members in order 663s raises an exception when extra members are given 663s properties 663s #length 663s returns the number of struct members 663s #members 663s returns the struct members as an array of symbols 663s returns a different object than the array passed at definition 663s #size 663s returns the number of struct members 663s #values 663s returns the values of the struct as an array in order 663s #values_at 663s returns the value at the given offset 663s returns the values at multiple given offsets 663s returns values at offsets in a given range 663s returns values for multiple ranges 663s returns values for ranges and offsets 663s accessors 663s #[member] 663s retrieves the value when given a valid symbol member 663s retrieves the value when given a valid string member 663s raises an exception when given a non-existent symbol member 663s raises an exception when given a non-existent string member 663s #[index] 663s retrieves the value when given a valid index 663s raises an exception when given an out-of-bound index 663s comparison 663s #== 663s returns true if other has same struct subclass and equal values 663s returns false if other has different struct subclass 663s returns false if other has different values 663s #!= 663s returns false if other has same struct subclass and equal values 663s returns true if other has different struct subclass 663s returns true if other has different values 663s enumeration 663s #each 663s yields the value of each struct member in order 663s returns an enumerator when no block is given 663s #each_pair 663s yields the name and value of each struct member in order 663s returns an enumerator when no block is given 663s #select 663s yields each value 663s returns an Array with the values from for which the block returns true 663s returns an enumerator when no block is given 663s conversion 663s #to_s 663s includes the name of the class when registered 663s includes the names of all members 663s includes all values 663s returns the same string as #inspect 663s #to_a 663s returns the to_a for this struct as an array 663s #to_h 663s returns a Hash containing the names and values in order 663s copy 663s #dup 663s shallowly duplicates all members along with the struct 663s discards frozen state of the struct 663s retains frozen state of members 663s discards singleton class 663s copies the singleton class of members 663s #clone 663s shallowly clones all members along with the struct 663s retains frozen state 663s copies the singleton class 663s copies the singleton class of members 663s it should behave like mergeable_struct 663s #merge 663s updates all members with the new values from a given hash 663s calls the given block for each key in `other` 663s retains the value for all members not without values in the given hash 663s raises an exception when given a hash with members not in the struct 663s returns a new object 663s definition 663s defines a setter for each member 663s #[member]= 663s sets the value when given a valid symbol member 663s sets the value when given a valid string member 663s raises an exception when given a non-existent symbol member 663s raises an exception when given a non-existent string member 663s #[index]= 663s sets the value when given a valid index 663s raises an exception when given an out-of-bound index 663s synchronization 663s protects #values 663s protects #values_at 663s protects #[index] 663s protects #[member] 663s protects getter methods 663s protects #[index]= 663s protects #[member]= 663s protects getter methods 663s protects #to_s 663s protects #inspect 663s protects #merge 663s protects #to_h 663s protects #== 663s protects #each 663s protects #each_pair 663s protects #select 663s protects #initialize_copy 663s copy 663s #dup 663s mutates only the copy 663s #clone 663s mutates only the copy 663s 663s Concurrent::MVar 663s behavior 663s it should behave like dereferenceable 663s defaults :dup_on_deref to false 663s calls #dup when the :dup_on_deref option is true 663s defaults :freeze_on_deref to false 663s calls #freeze when the :freeze_on_deref option is true 663s defaults :copy_on_deref to nil 663s calls the block when the :copy_on_deref option is passed a proc 663s calls the :copy block first followed by #dup followed by #freeze 663s does not call #dup when #dup_on_deref is set and the value is nil 663s does not call #freeze when #freeze_on_deref is set and the value is nil 663s does not call the #copy_on_deref block when the value is nil 663s supports dereference flags with observers 663s #initialize 663s accepts no initial value 663s accepts an empty initial value 663s accepts an initial value 663s accepts a nil initial value 663s #take 663s sets the MVar to empty 663s returns the value on a full MVar 663s waits for another thread to #put 663s returns TIMEOUT on timeout on an empty MVar 663s #borrow 663s /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 663s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 663s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/yield.rb:101 663s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/yield.rb:7 663s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/yield.rb:6 663s
at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/yield.rb:5 663s require at org/jruby/RubyKernel.java:1184 663s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 663s yield_with_args at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers.rb:920 663s Concurrent at /tmp/autopkgtest.NUd3bx/build.yQw/src/spec/concurrent/mvar_spec.rb:78 663s instance_exec at org/jruby/RubyBasicObject.java:2620 663s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:263 663s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 663s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 663s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 663s run_around_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:624 663s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 663s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 663s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 663s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:259 663s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:646 663s map at org/jruby/RubyArray.java:2803 663s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:651 663s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:607 663s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:608 663s map at org/jruby/RubyArray.java:2803 663s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:608 663s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121 663s map at org/jruby/RubyArray.java:2803 663s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:145 663s with_suite_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:2091 663s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:116 663s report at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/reporter.rb:74 663s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:115 663s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:89 663s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:71 663s invoke at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:45 663s
at /usr/bin/rspec:4 663s 663s /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 663s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 663s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/yield.rb:149 663s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/yield.rb:7 663s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/yield.rb:6 663s
at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/yield.rb:5 663s require at org/jruby/RubyKernel.java:1184 663s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 663s yield_with_args at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers.rb:920 663s Concurrent at /tmp/autopkgtest.NUd3bx/build.yQw/src/spec/concurrent/mvar_spec.rb:78 663s instance_exec at org/jruby/RubyBasicObject.java:2620 663s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:263 663s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 663s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 663s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 663s run_around_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:624 663s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 663s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 663s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 663s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:259 663s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:646 663s map at org/jruby/RubyArray.java:2803 663s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:651 663s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:607 663s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:608 663s map at org/jruby/RubyArray.java:2803 663s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:608 663s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121 663s map at org/jruby/RubyArray.java:2803 663s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:145 663s with_suite_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:2091 663s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:116 663s report at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/reporter.rb:74 663s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:115 663s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:89 663s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:71 663s invoke at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:45 663s
at /usr/bin/rspec:4 663s 663s /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 663s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 663s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/yield.rb:296 663s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/yield.rb:7 663s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/yield.rb:6 663s
at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/yield.rb:5 663s require at org/jruby/RubyKernel.java:1184 663s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 663s yield_with_args at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers.rb:920 663s Concurrent at /tmp/autopkgtest.NUd3bx/build.yQw/src/spec/concurrent/mvar_spec.rb:78 663s instance_exec at org/jruby/RubyBasicObject.java:2620 663s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:263 663s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 663s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 663s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 663s run_around_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:624 663s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 663s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 663s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 663s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:259 663s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:646 663s map at org/jruby/RubyArray.java:2803 663s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:651 663s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:607 663s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:608 663s map at org/jruby/RubyArray.java:2803 663s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:608 663s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121 663s map at org/jruby/RubyArray.java:2803 663s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:145 663s with_suite_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:2091 663s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:116 663s report at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/reporter.rb:74 663s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:115 663s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:89 663s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:71 663s invoke at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:45 663s
at /usr/bin/rspec:4 663s 663s yields current value to the block and puts back value 663s puts back value even if an exception is raised 663s returns the returned value of the block 664s returns TIMEOUT on timeout on an empty MVar 664s #put 664s sets the MVar to be empty 664s sets a new value on an empty MVar 664s waits for another thread to #take 664s returns TIMEOUT on timeout on a full MVar 664s returns the value 664s #empty? 664s returns true on an empty MVar 664s returns false on a full MVar 664s #full? 664s returns false on an empty MVar 664s returns true on a full MVar 664s #modify 664s raises an exception when no block given 664s modifies a full MVar 664s returns the unmodified value 664s waits for another thread to #put 665s is atomic 665s returns TIMEOUT on timeout on an empty MVar 665s #try_put! 665s returns true an empty MVar 665s returns false on a full MVar 665s sets an empty MVar to be full 665s #try_take! 665s returns EMPTY an empty MVar 665s returns the value on a full MVar 665s sets a full MVar to be empty 665s #set! 665s sets an empty MVar to be full 665s sets a full MVar to be full 665s returns EMPTY on an empty MVar 665s returns the original value on a full MVar 665s #modify! 665s raises an exception when no block given 665s modifies a full MVar 665s modifies an empty MVar 665s can be used to set a full MVar to empty 665s can be used to set an empty MVar to empty 665s returns the unmodified value 665s spurious wake ups 665s #take 666s waits for another thread to #put 666s returns TIMEOUT on timeout on an empty MVar 666s #modify 666s waits for another thread to #put 667s returns TIMEOUT on timeout on an empty MVar 667s #put 667s waits for another thread to #take 668s returns TIMEOUT on timeout on a full MVar 668s 668s Concurrent::Options 668s .executor_from_options 668s returns the given :executor 668s returns the global io executor when :executor is :io 668s returns the global fast executor when :executor is :fast 668s returns an immediate executor when :executor is :immediate 668s raises an exception when :executor is an unrecognized symbol 668s 668s Concurrent::ProcessingActor 668s is expected to eq "ab" 668s 668s Concurrent::Promise 668s it should behave like ivar 668s it should behave like obligation 668s #state 668s is :pending when first created 668s is :fulfilled when the handler completes 668s is :rejected when the handler raises an exception 668s #value 668s returns nil when reaching the optional timeout value 668s returns immediately when timeout is zero 673s returns the value when fulfilled before timeout 673s returns nil when timeout reached 673s is nil when :pending 678s blocks the caller when :pending and timeout is nil 678s is nil when :rejected 678s is set to the return value of the block when :fulfilled 678s #reason 678s is nil when :pending 678s is nil when :fulfilled 678s is set to error object of the exception when :rejected 678s it should behave like dereferenceable 678s defaults :dup_on_deref to false 678s calls #dup when the :dup_on_deref option is true 679s defaults :freeze_on_deref to false 679s calls #freeze when the :freeze_on_deref option is true 679s defaults :copy_on_deref to nil 679s calls the block when the :copy_on_deref option is passed a proc 679s calls the :copy block first followed by #dup followed by #freeze 680s does not call #dup when #dup_on_deref is set and the value is nil 680s does not call #freeze when #freeze_on_deref is set and the value is nil 680s does not call the #copy_on_deref block when the value is nil 680s supports dereference flags with observers 680s it should behave like observable 680s #add_observer 680s adds an observer if called before first notification 680s adds an observer with :func if called before first notification 680s creates an observer from a block if called before first notification 680s raises an exception if not given an observer or a block 680s raises an exception when given both an observer and a block 680s #delete_observer 680s deletes the given observer if called before first notification 680s returns the removed observer if found in the observer set 680s returns the given observer even when not found in the observer set 680s #delete_observers 680s deletes all observers when called before first notification 680s returns self 680s #count_observers 680s returns zero for a new observable object 680s returns a count of registered observers if called before first notification 680s returns zero after #delete_observers has been called 680s first notification 680s calls the #update method on all observers without a specified :func 680s calls the appropriate function on all observers which specified a :func 680s calls the proc for all observers added as a block 681s does not notify any observers removed with #delete_observer 683s does not notify any observers after #delete_observers called 683s initialization 683s sets the state to incomplete 683s #set 683s sets the state to be fulfilled 683s sets the value 683s raises an exception if set more than once 683s returns self 683s fulfils when given a block which executes successfully 683s rejects when given a block which raises an exception 683s raises an exception when given a value and a block 683s raises an exception when given neither a value nor a block 683s #fail 683s sets the state to be rejected 683s sets the value to be nil 683s sets the reason to the given exception 683s raises an exception if set more than once 683s defaults the reason to a StandardError 683s returns self 683s #try_set 683s when unset 683s assigns the value 683s assigns the block result 683s returns true 683s when fulfilled 683s does not assign the value 683s does not assign the block result 683s returns false 683s when rejected 683s does not assign the value 683s does not assign the block result 683s has a nil value 683s returns false 683s it should behave like thread_arguments 683s passes an empty array when opts is not given 683s passes an empty array when opts is an empty hash 683s passes an empty array when there is no :args key 683s passes an empty array when the :args key has a nil value 683s passes a one-element array when the :args key has a non-array value 683s passes an array when when the :args key has an array value 683s passes the given array when the :args key has a complex array value 683s allows the given arguments array to be dereferenced 683s initializers 683s .fulfill 683s should return a Promise 683s should return a fulfilled Promise 683s should return a Promise with set value 683s .reject 683s should return a Promise 683s should return a rejected Promise 683s should return a Promise with set reason 683s .new 683s should return an unscheduled Promise 683s .execute 683s creates a new Promise 683s passes the block to the new Promise 683s calls #execute on the new Promise 683s #execute 683s unscheduled 684s sets the promise to :pending 684s posts the block given in construction 684s pending 684s sets the promise to :pending 684s does not post again 684s with children 684s when called on the root 685s should set all promises to :pending 685s when called on a child 686s should set all promises to :pending 686s when called on child after parent completes 686s sets state to :pending immediately 686s #then 686s returns a new promise when a block is passed 686s returns a new promise when a rescuer is passed 686s returns a new promise when a block and rescuer are passed 686s returns a new promise when a block, rescuer and executor are passed 686s supports setting the executor using a named parameter 686s should have block or rescuers 686s can be called more than once 686s unscheduled 686s returns a new promise 686s returns an unscheduled promise 686s pending 686s returns a new promise 686s returns a pending promise 686s fulfilled 686s returns a new Promise 686s notifies fulfillment to new child 686s rejected 686s returns a new Promise when :rejected 686s notifies rejection to new child 686s on_success 686s should have a block 686s returns a new promise 686s #rescue 686s returns a new promise 686s #flat_map 686s returns a promise 686s succeeds if both promises succeed 686s fails if the left promise fails 686s fails if the right promise fails 686s fails if the generating block fails 686s #zip 686s executes the returned Promise by default 686s executes the returned Promise when execute is true 686s does not execute the returned Promise when execute is false 686s allows setting executor for Promise chain 686s yields the results as an array 686s fails if one component fails 686s preserves ordering of the executed promises 686s .zip 686s executes the returned Promise by default 686s executes the returned Promise when execute is true 686s does not execute the returned Promise when execute is false 686s allows setting executor for Promise chain 686s yields the results as an array 686s fails if one component fails 686s preserves ordering of the executed promises 686s aggregators 686s .all? 686s returns a new Promise 686s does not execute the returned Promise 686s executes the #then condition when all components succeed 686s executes the #then condition when no promises are given 686s executes the #rescue handler if even one component fails 686s .any? 686s returns a new Promise 686s does not execute the returned Promise 686s executes the #then condition when any components succeed 686s executes the #then condition when no promises are given 686s executes the #rescue handler if all componenst fail 686s fulfillment 686s passes the result of each block to all its children 686s sets the promise value to the result if its block 686s sets the promise state to :fulfilled if the block completes 686s passes the last result through when a promise has no block 686s uses result as fulfillment value when a promise has no block 686s can manage long chain 686s #set 686s #can only be called on the root promise 686s triggers children 686s can be called with a block 686s #fail 686s can only be called on the root promise 686s rejects children 686s rejection 686s passes the reason to all its children 686s sets the promise value to the result if its block 686s sets the promise state to :rejected if the block completes 686s uses reason as rejection reason when a promise has no rescue callable 686s rejects on Exception 686s aliases 686s aliases #realized? for #fulfilled? 686s aliases #deref for #value 686s aliases #catch for #rescue 686s aliases #on_error for #rescue 686s 686s Concurrent::Promises 686s zip_futures_over 686s chain_resolvable 686s event 686s future 686s .future 686s executes 686s executes with args 686s .delay 686s is expected to eq 2 686s .schedule 686s scheduled execution 687s scheduled execution in graph 687s .event 687s is expected to equal true 687s .future without block 687s is expected to eq 0 687s .any_resolved 687s continues on first result 687s .any_fulfilled 687s continues on first result 687s treats a resolved Event as a fulfilled Future 687s treats a pending Event as a pending Future 687s .zip 687s waits for all results 687s when a future raises an error 687s raises a concurrent error 687s when deeply nested 687s raises the original error 687s .zip_events 687s waits for all and returns event 687s .rejected_future 687s raises the correct error when passed an unraised error 687s Future 687s has sync and async callbacks 687s wait supports setting timeout 687s wait! supports setting timeout 687s value supports setting timeout 687s value! supports setting timeout 687s reason supports setting timeout 687s result supports setting timeout 687s chains 687s chains with correct arguments 687s constructs promise like tree 687s allows graphs 687s resolves future when Exception raised 687s runs 687s can be risen when rejected 687s #flat 687s returns value of inner future 687s propagates rejection of inner future 687s it propagates rejection of the future which was suppose to provide inner future 687s rejects if inner value is not a future 687s accepts inner event 687s propagates requests for values to delayed futures 687s has shortcuts 687s ResolvableEvent 687s #wait 687s #resolve(raise_on_reassign = true) 687s #resolve(raise_on_reassign = false) 687s reservation 687s ResolvableFuture 687s #wait 687s #wait! 687s #value 687s #value! 687s #reason 687s result 687s reservation 687s atomic_resolution 687s interoperability 687s with erlang actor 687s with channel 687s value! 687s does not return spuriously with timeout 687s does not return spuriously without timeout 687s 687s Concurrent::ScheduledTask 687s behavior 687s it should behave like obligation 687s #state 687s is :pending when first created 687s is :fulfilled when the handler completes 687s is :rejected when the handler raises an exception 687s #value 687s returns nil when reaching the optional timeout value 687s returns immediately when timeout is zero 688s returns the value when fulfilled before timeout 688s returns nil when timeout reached 688s is nil when :pending 689s blocks the caller when :pending and timeout is nil 689s is nil when :rejected 689s is set to the return value of the block when :fulfilled 689s #reason 689s is nil when :pending 689s is nil when :fulfilled 689s is set to error object of the exception when :rejected 689s it should behave like dereferenceable 689s defaults :dup_on_deref to false 689s calls #dup when the :dup_on_deref option is true 689s defaults :freeze_on_deref to false 689s calls #freeze when the :freeze_on_deref option is true 689s defaults :copy_on_deref to nil 689s calls the block when the :copy_on_deref option is passed a proc 689s calls the :copy block first followed by #dup followed by #freeze 689s does not call #dup when #dup_on_deref is set and the value is nil 689s does not call #freeze when #freeze_on_deref is set and the value is nil 689s does not call the #copy_on_deref block when the value is nil 689s supports dereference flags with observers 689s it should behave like observable 689s #add_observer 689s adds an observer if called before first notification 689s adds an observer with :func if called before first notification 689s creates an observer from a block if called before first notification 689s raises an exception if not given an observer or a block 689s raises an exception when given both an observer and a block 689s #delete_observer 689s deletes the given observer if called before first notification 689s returns the removed observer if found in the observer set 689s returns the given observer even when not found in the observer set 689s #delete_observers 689s deletes all observers when called before first notification 689s returns self 689s #count_observers 689s returns zero for a new observable object 689s returns a count of registered observers if called before first notification 689s returns zero after #delete_observers has been called 689s first notification 690s calls the #update method on all observers without a specified :func 690s calls the appropriate function on all observers which specified a :func 690s calls the proc for all observers added as a block 691s does not notify any observers removed with #delete_observer 692s does not notify any observers after #delete_observers called 692s #initialize 692s accepts a number of seconds (from now) as the schedule time 692s raises an exception when seconds is less than zero 692s raises an exception when no block given 692s sets the initial state to :unscheduled 692s instance #execute 692s does nothing unless the state is :unscheduled 692s sets the sate to :pending 692s returns self 692s class #execute 692s creates a new ScheduledTask 693s passes the block to the new ScheduledTask 693s calls #execute on the new ScheduledTask 693s execution 693s passes :args from the options to the block 693s uses the :executor from the options 693s uses the :timer_set from the options 693s sets the state to :processing when the task is running 693s #cancel 693s returns false if the task has already been performed 693s returns false if the task is already in progress 693s cancels the task if it has not yet scheduled 694s cancels the task if it has not yet started 694s returns true on success 694s sets the reason to CancelledOperationError when cancelled 694s observation 694s returns true for an observer added while :unscheduled 694s returns true for an observer added while :pending 694s returns true for an observer added while :processing 694s notifies all observers on fulfillment 694s notifies all observers on rejection 694s 694s Concurrent::Set 694s .[] 694s when initializing with no arguments 694s is expected to be empty 694s when initializing with arguments 694s creates a set with the given objects 694s .new 694s when initializing with no arguments 694s is expected to be empty 694s when initializing with an enumerable object 694s creates a set with the contents of the enumerable object 694s when initializing with a block argument 694s creates a set with the contents of the enumerable object 694s concurrency 695s #add and #delete 695s force context switch 695s #each 695s 695s Concurrent::SettableStruct 695s it should behave like struct 695s definition 695s registers the class when given a class name 695s /tmp/autopkgtest.NUd3bx/build.yQw/src/spec/concurrent/struct_shared.rb:15: warning: already initialized constant ValidClassName2 695s registers the class when given a class name which is defined in the ancestors 695s creates an anonymous class when given at least one member 695s ignores methods on ancestor classes 695s raises an exception when given an invalid class name 696s defines a getter for each member 696s raises an exception when given no members 696s raise an exception when given an invalid member 696s evalues a given block against the new class 696s construction 696s sets all absent members to nil 696s sets all given members in order 696s raises an exception when extra members are given 696s properties 696s #length 696s returns the number of struct members 696s #members 696s returns the struct members as an array of symbols 696s returns a different object than the array passed at definition 696s #size 696s returns the number of struct members 696s #values 696s returns the values of the struct as an array in order 696s #values_at 696s returns the value at the given offset 696s returns the values at multiple given offsets 696s returns values at offsets in a given range 696s returns values for multiple ranges 696s returns values for ranges and offsets 696s accessors 696s #[member] 696s retrieves the value when given a valid symbol member 696s retrieves the value when given a valid string member 696s raises an exception when given a non-existent symbol member 696s raises an exception when given a non-existent string member 696s #[index] 696s retrieves the value when given a valid index 696s raises an exception when given an out-of-bound index 696s comparison 696s #== 696s returns true if other has same struct subclass and equal values 696s returns false if other has different struct subclass 696s returns false if other has different values 696s #!= 696s returns false if other has same struct subclass and equal values 696s returns true if other has different struct subclass 696s returns true if other has different values 696s enumeration 696s #each 696s yields the value of each struct member in order 696s returns an enumerator when no block is given 696s #each_pair 696s yields the name and value of each struct member in order 696s returns an enumerator when no block is given 696s #select 696s yields each value 696s returns an Array with the values from for which the block returns true 696s returns an enumerator when no block is given 696s conversion 696s #to_s 696s includes the name of the class when registered 696s includes the names of all members 696s includes all values 696s returns the same string as #inspect 696s #to_a 696s returns the to_a for this struct as an array 696s #to_h 696s returns a Hash containing the names and values in order 696s copy 696s #dup 696s shallowly duplicates all members along with the struct 696s discards frozen state of the struct 696s retains frozen state of members 696s discards singleton class 696s copies the singleton class of members 696s #clone 696s shallowly clones all members along with the struct 696s retains frozen state 696s copies the singleton class 696s copies the singleton class of members 696s it should behave like mergeable_struct 696s #merge 696s updates all members with the new values from a given hash 696s calls the given block for each key in `other` 696s retains the value for all members not without values in the given hash 696s raises an exception when given a hash with members not in the struct 696s returns a new object 696s definition 696s defines a setter for each member 696s #[member]= 696s sets the value when given a valid symbol member 696s sets the value when given a valid string member 696s raises an exception when given a non-existent symbol member 696s raises an exception when given a non-existent string member 696s raises an exception when given a symbol member that has already been set 696s raises an exception when given a string member that has already been set 696s #[index]= 696s sets the value when given a valid index 696s raises an exception when given an out-of-bound index 696s raises an exception when given an index that has already been set 696s synchronization 696s protects #values 696s protects #values_at 696s protects #[index] 696s protects #[member] 696s protects getter methods 696s protects #[index]= 696s protects #[member]= 696s protects getter methods 696s protects #to_s 696s protects #inspect 696s protects #to_h 696s protects #merge 696s protects #== 696s protects #each 696s protects #each_pair 696s protects #select 696s protects #initialize_copy 696s copy 696s #dup 696s retains settability of members 696s #clone 696s retains settability of members 696s 696s Concurrent::Synchronization 696s Concurrent::Synchronization::Object 696s does not ensure visibility when not needed 696s does ensure visibility when specified 696s does ensure visibility when specified in a parent 696s does ensure visibility once when specified in child again 696s it should behave like attr_volatile 696s older writes are always visible 696s Concurrent::Synchronization::LockableObject 696s final field always visible 696s #wait 696s puts the current thread to sleep 696s allows the sleeping thread to be killed 696s releases the lock on the current object 696s can be called from within a #synchronize block 696s #synchronize 696s allows only one thread to execute count 696s signaling 696s for now pending, tested pretty well by Event (PENDING: Not yet implemented) 696s it should behave like attr_volatile 696s older writes are always visible 696s Concurrent::Synchronization::Volatile module 696s it should behave like attr_volatile 696s older writes are always visible 696s attr_atomic 696s is expected to be == b 696s 696s Concurrent::SynchronizedDelegator 696s wraps array 696s synchronizes access 696s synchronizes access with block 696s 696s Concurrent 696s Throttle 696s acquiring 696s #to_s 696s #on 697s capacity limited 697s 697s Concurrent::TimerTask 697s dereferenceable 697s it should behave like dereferenceable 697s defaults :dup_on_deref to false 697s calls #dup when the :dup_on_deref option is true 698s defaults :freeze_on_deref to false 698s calls #freeze when the :freeze_on_deref option is true 698s defaults :copy_on_deref to nil 698s calls the block when the :copy_on_deref option is passed a proc 698s calls the :copy block first followed by #dup followed by #freeze 699s does not call #dup when #dup_on_deref is set and the value is nil 699s does not call #freeze when #freeze_on_deref is set and the value is nil 699s does not call the #copy_on_deref block when the value is nil 699s supports dereference flags with observers 699s observable 699s it should behave like observable 699s #add_observer 699s adds an observer if called before first notification 699s adds an observer with :func if called before first notification 699s creates an observer from a block if called before first notification 699s raises an exception if not given an observer or a block 699s raises an exception when given both an observer and a block 699s #delete_observer 699s deletes the given observer if called before first notification 699s returns the removed observer if found in the observer set 699s returns the given observer even when not found in the observer set 699s #delete_observers 699s deletes all observers when called before first notification 699s returns self 699s #count_observers 699s returns zero for a new observable object 699s returns a count of registered observers if called before first notification 699s returns zero after #delete_observers has been called 699s first notification 699s calls the #update method on all observers without a specified :func 699s calls the appropriate function on all observers which specified a :func 700s calls the proc for all observers added as a block 701s does not notify any observers removed with #delete_observer 702s does not notify any observers after #delete_observers called 702s created with #new 702s #initialize 702s raises an exception if no block given 702s raises an exception if :execution_interval is not greater than zero 702s raises an exception if :execution_interval is not an integer 702s uses the default execution interval when no interval is given 702s uses the given execution interval 702s raises an exception if :interval_type is not a valid value 702s uses the default :interval_type when no type is given 702s uses the given interval type 702s #kill 702s returns true on success 702s #shutdown 702s returns true on success 702s will cancel pre-shutdown task even if restarted to avoid double-runs 702s arguments 702s raises an exception if no block given 702s TimeTask timeouts are now ignored as these were not able to be implemented correctly 702s #execution_interval is writeable 702s raises on invalid interval_type 703s TimeTask timeouts are now ignored as these were not able to be implemented correctly 703s #timeout_interval being written produces a warning 703s execution 703s runs the block immediately when the :run_now option is true 703s waits for :execution_interval seconds when the :run_now option is false 703s waits for :execution_interval seconds when the :run_now option is not given 703s passes a "self" reference to the block as the sole argument 703s uses the global executor by default 703s uses a custom executor when given 703s uses a fixed delay when set 704s uses a fixed rate when set 704s observation 704s notifies all observers on success 704s notifies all observers on error 704s 704s Concurrent::TVar 704s #initialize 704s accepts an initial value 704s #value 704s gets the value 704s #value= 704s sets the value 704s 704s #atomically 704s raises an exception when no block given 704s raises the same exception that was raised in Concurrent::atomically 704s retries on abort 704s commits writes if the transaction succeeds 704s undoes writes if the transaction is aborted 704s provides atomicity 704s nests 704s reflects transactional writes from within the same transaction 704s 704s #abort_transaction 704s raises an exception outside an #atomically block 704s 704s #leave_transaction 704s raises an exception outside an #atomically block 704s neither commits nor aborts a transaction 704s 704s #processor_count 704s returns a positive integer 704s 704s #physical_processor_count 704s returns a positive integer 704s 704s #cpu_quota 704s returns #compute_cpu_quota 704s returns nil if no quota is detected 704s returns nil if cgroups v2 sets no limit 704s returns a float if cgroups v2 sets a limit 704s returns nil if cgroups v1 sets no limit 704s returns nil if cgroups v1 and cpu.cfs_quota_us is -1 704s returns a float if cgroups v1 sets a limit 704s 704s #available_processor_count 704s returns #processor_count if #cpu_quota is nil 704s returns #processor_count if #cpu_quota is higher 704s returns #cpu_quota if #cpu_quota is lower than #processor_count 704s 704s #cpu_shares 704s returns a float when cgroups v2 sets a cpu.weight 704s returns a float if cgroups v1 sets a cpu.shares 704s 704s Finished in 4 minutes 2.5 seconds (files took 6.71 seconds to load) 704s 3016 examples, 0 failures, 17 pending 704s 705s autopkgtest [07:20:03]: test jruby: -----------------------] 706s autopkgtest [07:20:04]: test jruby: - - - - - - - - - - results - - - - - - - - - - 706s jruby PASS 706s autopkgtest [07:20:04]: @@@@@@@@@@@@@@@@@@@@ summary 706s ruby PASS 706s jruby PASS