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