0s autopkgtest [16:35:16]: starting date and time: 2025-03-15 16:35:16+0000 0s autopkgtest [16:35:16]: git checkout: 325255d2 Merge branch 'pin-any-arch' into 'ubuntu/production' 0s autopkgtest [16:35:16]: host juju-7f2275-prod-proposed-migration-environment-9; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.8q_n5nr4/out --timeout-copy=6000 --setup-commands 'ln -s /dev/null /etc/systemd/system/bluetooth.service; printf "http_proxy=http://squid.internal:3128\nhttps_proxy=http://squid.internal:3128\nno_proxy=127.0.0.1,127.0.1.1,login.ubuntu.com,localhost,localdomain,novalocal,internal,archive.ubuntu.com,ports.ubuntu.com,security.ubuntu.com,ddebs.ubuntu.com,changelogs.ubuntu.com,keyserver.ubuntu.com,launchpadlibrarian.net,launchpadcontent.net,launchpad.net,10.24.0.0/24,keystone.ps5.canonical.com,objectstorage.prodstack5.canonical.com,radosgw.ps5.canonical.com\n" >> /etc/environment' --apt-pocket=proposed=src:glibc --apt-upgrade ruby-concurrent --timeout-short=300 --timeout-copy=20000 --timeout-build=20000 --env=ADT_TEST_TRIGGERS=glibc/2.41-1ubuntu2 -- lxd -r lxd-armhf-10.145.243.160 lxd-armhf-10.145.243.160:autopkgtest/ubuntu/plucky/armhf 28s autopkgtest [16:35:44]: testbed dpkg architecture: armhf 30s autopkgtest [16:35:46]: testbed apt version: 2.9.33 34s autopkgtest [16:35:50]: @@@@@@@@@@@@@@@@@@@@ test bed setup 36s autopkgtest [16:35:52]: testbed release detected to be: None 43s autopkgtest [16:35:59]: updating testbed package index (apt update) 45s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [126 kB] 45s Get:2 http://ftpmaster.internal/ubuntu plucky InRelease [257 kB] 46s Get:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease [126 kB] 46s Get:4 http://ftpmaster.internal/ubuntu plucky-security InRelease [126 kB] 47s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [379 kB] 47s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [99.7 kB] 48s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [15.8 kB] 48s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/main armhf Packages [114 kB] 48s Get:9 http://ftpmaster.internal/ubuntu plucky-proposed/main armhf c-n-f Metadata [1832 B] 48s Get:10 http://ftpmaster.internal/ubuntu plucky-proposed/restricted armhf c-n-f Metadata [116 B] 48s Get:11 http://ftpmaster.internal/ubuntu plucky-proposed/universe armhf Packages [312 kB] 48s Get:12 http://ftpmaster.internal/ubuntu plucky-proposed/universe armhf c-n-f Metadata [11.1 kB] 48s Get:13 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse armhf Packages [3472 B] 48s Get:14 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse armhf c-n-f Metadata [240 B] 48s Get:15 http://ftpmaster.internal/ubuntu plucky/universe Sources [21.0 MB] 75s Get:16 http://ftpmaster.internal/ubuntu plucky/main Sources [1394 kB] 76s Get:17 http://ftpmaster.internal/ubuntu plucky/multiverse Sources [299 kB] 77s Get:18 http://ftpmaster.internal/ubuntu plucky/main armhf Packages [1378 kB] 78s Get:19 http://ftpmaster.internal/ubuntu plucky/main armhf c-n-f Metadata [29.4 kB] 78s Get:20 http://ftpmaster.internal/ubuntu plucky/restricted armhf c-n-f Metadata [108 B] 78s Get:21 http://ftpmaster.internal/ubuntu plucky/universe armhf Packages [15.1 MB] 96s Get:22 http://ftpmaster.internal/ubuntu plucky/multiverse armhf Packages [172 kB] 98s Fetched 41.0 MB in 53s (779 kB/s) 99s Reading package lists... 105s autopkgtest [16:37:01]: upgrading testbed (apt dist-upgrade and autopurge) 106s Reading package lists... 107s Building dependency tree... 107s Reading state information... 107s Calculating upgrade...Starting pkgProblemResolver with broken count: 0 108s Starting 2 pkgProblemResolver with broken count: 0 108s Done 108s Entering ResolveByKeep 109s 109s Calculating upgrade... 109s The following packages will be upgraded: 109s libc-bin libc6 locales pinentry-curses python3-jinja2 sos strace 110s 7 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 110s Need to get 8683 kB of archives. 110s After this operation, 23.6 kB of additional disk space will be used. 110s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed/main armhf libc6 armhf 2.41-1ubuntu2 [2932 kB] 114s Get:2 http://ftpmaster.internal/ubuntu plucky-proposed/main armhf libc-bin armhf 2.41-1ubuntu2 [545 kB] 115s Get:3 http://ftpmaster.internal/ubuntu plucky-proposed/main armhf locales all 2.41-1ubuntu2 [4246 kB] 121s Get:4 http://ftpmaster.internal/ubuntu plucky/main armhf strace armhf 6.13+ds-1ubuntu1 [445 kB] 122s Get:5 http://ftpmaster.internal/ubuntu plucky/main armhf pinentry-curses armhf 1.3.1-2ubuntu3 [40.6 kB] 122s Get:6 http://ftpmaster.internal/ubuntu plucky/main armhf python3-jinja2 all 3.1.5-2ubuntu1 [109 kB] 122s Get:7 http://ftpmaster.internal/ubuntu plucky/main armhf sos all 4.9.0-5 [365 kB] 123s Preconfiguring packages ... 123s Fetched 8683 kB in 13s (679 kB/s) 123s (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 ... 64655 files and directories currently installed.) 123s Preparing to unpack .../libc6_2.41-1ubuntu2_armhf.deb ... 123s Unpacking libc6:armhf (2.41-1ubuntu2) over (2.41-1ubuntu1) ... 123s Setting up libc6:armhf (2.41-1ubuntu2) ... 124s (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 ... 64655 files and directories currently installed.) 124s Preparing to unpack .../libc-bin_2.41-1ubuntu2_armhf.deb ... 124s Unpacking libc-bin (2.41-1ubuntu2) over (2.41-1ubuntu1) ... 124s Setting up libc-bin (2.41-1ubuntu2) ... 124s (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 ... 64655 files and directories currently installed.) 124s Preparing to unpack .../locales_2.41-1ubuntu2_all.deb ... 124s Unpacking locales (2.41-1ubuntu2) over (2.41-1ubuntu1) ... 124s Preparing to unpack .../strace_6.13+ds-1ubuntu1_armhf.deb ... 124s Unpacking strace (6.13+ds-1ubuntu1) over (6.11-0ubuntu1) ... 124s Preparing to unpack .../pinentry-curses_1.3.1-2ubuntu3_armhf.deb ... 124s Unpacking pinentry-curses (1.3.1-2ubuntu3) over (1.3.1-2ubuntu2) ... 124s Preparing to unpack .../python3-jinja2_3.1.5-2ubuntu1_all.deb ... 124s Unpacking python3-jinja2 (3.1.5-2ubuntu1) over (3.1.5-2) ... 124s Preparing to unpack .../archives/sos_4.9.0-5_all.deb ... 125s Unpacking sos (4.9.0-5) over (4.9.0-4) ... 125s Setting up sos (4.9.0-5) ... 126s Setting up pinentry-curses (1.3.1-2ubuntu3) ... 126s Setting up locales (2.41-1ubuntu2) ... 126s Generating locales (this might take a while)... 128s en_US.UTF-8... done 128s Generation complete. 128s Setting up python3-jinja2 (3.1.5-2ubuntu1) ... 129s Setting up strace (6.13+ds-1ubuntu1) ... 129s Processing triggers for man-db (2.13.0-1) ... 130s Processing triggers for systemd (257.3-1ubuntu3) ... 132s Reading package lists... 133s Building dependency tree... 133s Reading state information... 133s Starting pkgProblemResolver with broken count: 0 133s Starting 2 pkgProblemResolver with broken count: 0 133s Done 134s Solving dependencies... 134s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 136s autopkgtest [16:37:32]: rebooting testbed after setup commands that affected boot 175s autopkgtest [16:38:11]: testbed running kernel: Linux 6.8.0-52-generic #53~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Wed Jan 15 18:10:51 UTC 2 199s autopkgtest [16:38:35]: @@@@@@@@@@@@@@@@@@@@ apt-source ruby-concurrent 213s Get:1 http://ftpmaster.internal/ubuntu plucky/universe ruby-concurrent 1.3.4-1 (dsc) [1707 B] 213s Get:2 http://ftpmaster.internal/ubuntu plucky/universe ruby-concurrent 1.3.4-1 (tar) [1005 kB] 213s Get:3 http://ftpmaster.internal/ubuntu plucky/universe ruby-concurrent 1.3.4-1 (diff) [6016 B] 214s gpgv: Signature made Tue Feb 4 18:01:40 2025 UTC 214s gpgv: using EDDSA key 84CFFDC21520F88306EC29D152699AB63F9F2BC3 214s gpgv: Can't check signature: No public key 214s dpkg-source: warning: cannot verify inline signature for ./ruby-concurrent_1.3.4-1.dsc: no acceptable signature found 214s autopkgtest [16:38:50]: testing package ruby-concurrent version 1.3.4-1 216s autopkgtest [16:38:52]: build not needed 218s autopkgtest [16:38:54]: test ruby: preparing testbed 220s Reading package lists... 220s Building dependency tree... 220s Reading state information... 220s Starting pkgProblemResolver with broken count: 0 221s Starting 2 pkgProblemResolver with broken count: 0 221s Done 221s The following NEW packages will be installed: 221s gem2deb-test-runner libruby libruby3.3 rake ruby ruby-concurrent 221s ruby-concurrent-ext ruby-did-you-mean ruby-diff-lcs ruby-minitest 221s ruby-net-telnet ruby-power-assert ruby-rspec ruby-rspec-core 221s ruby-rspec-expectations ruby-rspec-mocks ruby-rspec-support ruby-rubygems 221s ruby-sdbm ruby-test-unit ruby-timecop ruby-webrick ruby-xmlrpc ruby3.3 221s rubygems-integration 222s 0 upgraded, 25 newly installed, 0 to remove and 0 not upgraded. 222s Need to get 6973 kB of archives. 222s After this operation, 38.3 MB of additional disk space will be used. 222s Get:1 http://ftpmaster.internal/ubuntu plucky/main armhf rubygems-integration all 1.19 [5550 B] 222s Get:2 http://ftpmaster.internal/ubuntu plucky/main armhf ruby-did-you-mean all 1.6.3-2 [14.8 kB] 222s Get:3 http://ftpmaster.internal/ubuntu plucky/main armhf ruby-minitest all 5.25.4-2ubuntu1 [48.9 kB] 222s Get:4 http://ftpmaster.internal/ubuntu plucky/main armhf ruby-net-telnet all 0.2.0-1 [13.3 kB] 222s Get:5 http://ftpmaster.internal/ubuntu plucky/main armhf ruby-power-assert all 2.0.3-1 [12.0 kB] 222s Get:6 http://ftpmaster.internal/ubuntu plucky/main armhf ruby-test-unit all 3.6.2-1 [67.0 kB] 222s Get:7 http://ftpmaster.internal/ubuntu plucky/main armhf ruby-webrick all 1.8.1-1ubuntu1 [52.6 kB] 222s Get:8 http://ftpmaster.internal/ubuntu plucky/main armhf ruby-xmlrpc all 0.3.3-2 [24.8 kB] 222s Get:9 http://ftpmaster.internal/ubuntu plucky/main armhf libruby armhf 1:3.3~ubuntu3 [5038 B] 222s Get:10 http://ftpmaster.internal/ubuntu plucky/main armhf ruby-sdbm armhf 1.0.0-5build5 [13.9 kB] 222s Get:11 http://ftpmaster.internal/ubuntu plucky/main armhf libruby3.3 armhf 3.3.6-1.1ubuntu1 [5572 kB] 228s Get:12 http://ftpmaster.internal/ubuntu plucky/main armhf ruby3.3 armhf 3.3.6-1.1ubuntu1 [49.0 kB] 228s Get:13 http://ftpmaster.internal/ubuntu plucky/main armhf ruby-rubygems all 3.6.3-1 [332 kB] 229s Get:14 http://ftpmaster.internal/ubuntu plucky/main armhf ruby armhf 1:3.3~ubuntu3 [3618 B] 229s Get:15 http://ftpmaster.internal/ubuntu plucky/main armhf rake all 13.2.1-1 [45.8 kB] 229s Get:16 http://ftpmaster.internal/ubuntu plucky/universe armhf gem2deb-test-runner armhf 2.2.5 [18.3 kB] 229s Get:17 http://ftpmaster.internal/ubuntu plucky/universe armhf ruby-concurrent all 1.3.4-1 [283 kB] 229s Get:18 http://ftpmaster.internal/ubuntu plucky/universe armhf ruby-concurrent-ext armhf 1.3.4-1 [8586 B] 229s Get:19 http://ftpmaster.internal/ubuntu plucky/universe armhf ruby-diff-lcs all 1.5.1-1 [22.8 kB] 229s Get:20 http://ftpmaster.internal/ubuntu plucky/universe armhf ruby-rspec-support all 3.13.0c0e0m0s1-2 [29.2 kB] 229s Get:21 http://ftpmaster.internal/ubuntu plucky/universe armhf ruby-rspec-core all 3.13.0c0e0m0s1-2 [164 kB] 229s Get:22 http://ftpmaster.internal/ubuntu plucky/universe armhf ruby-rspec-expectations all 3.13.0c0e0m0s1-2 [89.8 kB] 229s Get:23 http://ftpmaster.internal/ubuntu plucky/universe armhf ruby-rspec-mocks all 3.13.0c0e0m0s1-2 [81.0 kB] 230s Get:24 http://ftpmaster.internal/ubuntu plucky/universe armhf ruby-rspec all 3.13.0c0e0m0s1-2 [3500 B] 230s Get:25 http://ftpmaster.internal/ubuntu plucky/universe armhf ruby-timecop all 0.9.10-1.1 [11.5 kB] 230s Fetched 6973 kB in 8s (857 kB/s) 230s Selecting previously unselected package rubygems-integration. 230s (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 ... 64655 files and directories currently installed.) 230s Preparing to unpack .../00-rubygems-integration_1.19_all.deb ... 230s Unpacking rubygems-integration (1.19) ... 230s Selecting previously unselected package ruby-did-you-mean. 230s Preparing to unpack .../01-ruby-did-you-mean_1.6.3-2_all.deb ... 230s Unpacking ruby-did-you-mean (1.6.3-2) ... 230s Selecting previously unselected package ruby-minitest. 230s Preparing to unpack .../02-ruby-minitest_5.25.4-2ubuntu1_all.deb ... 230s Unpacking ruby-minitest (5.25.4-2ubuntu1) ... 230s Selecting previously unselected package ruby-net-telnet. 230s Preparing to unpack .../03-ruby-net-telnet_0.2.0-1_all.deb ... 230s Unpacking ruby-net-telnet (0.2.0-1) ... 230s Selecting previously unselected package ruby-power-assert. 230s Preparing to unpack .../04-ruby-power-assert_2.0.3-1_all.deb ... 230s Unpacking ruby-power-assert (2.0.3-1) ... 230s Selecting previously unselected package ruby-test-unit. 230s Preparing to unpack .../05-ruby-test-unit_3.6.2-1_all.deb ... 230s Unpacking ruby-test-unit (3.6.2-1) ... 230s Selecting previously unselected package ruby-webrick. 230s Preparing to unpack .../06-ruby-webrick_1.8.1-1ubuntu1_all.deb ... 230s Unpacking ruby-webrick (1.8.1-1ubuntu1) ... 230s Selecting previously unselected package ruby-xmlrpc. 230s Preparing to unpack .../07-ruby-xmlrpc_0.3.3-2_all.deb ... 230s Unpacking ruby-xmlrpc (0.3.3-2) ... 230s Selecting previously unselected package libruby:armhf. 230s Preparing to unpack .../08-libruby_1%3a3.3~ubuntu3_armhf.deb ... 230s Unpacking libruby:armhf (1:3.3~ubuntu3) ... 230s Selecting previously unselected package ruby-sdbm:armhf. 230s Preparing to unpack .../09-ruby-sdbm_1.0.0-5build5_armhf.deb ... 230s Unpacking ruby-sdbm:armhf (1.0.0-5build5) ... 231s Selecting previously unselected package libruby3.3:armhf. 231s Preparing to unpack .../10-libruby3.3_3.3.6-1.1ubuntu1_armhf.deb ... 231s Unpacking libruby3.3:armhf (3.3.6-1.1ubuntu1) ... 231s Selecting previously unselected package ruby3.3. 231s Preparing to unpack .../11-ruby3.3_3.3.6-1.1ubuntu1_armhf.deb ... 231s Unpacking ruby3.3 (3.3.6-1.1ubuntu1) ... 231s Selecting previously unselected package ruby-rubygems. 231s Preparing to unpack .../12-ruby-rubygems_3.6.3-1_all.deb ... 231s Unpacking ruby-rubygems (3.6.3-1) ... 231s Selecting previously unselected package ruby. 231s Preparing to unpack .../13-ruby_1%3a3.3~ubuntu3_armhf.deb ... 231s Unpacking ruby (1:3.3~ubuntu3) ... 231s Selecting previously unselected package rake. 231s Preparing to unpack .../14-rake_13.2.1-1_all.deb ... 231s Unpacking rake (13.2.1-1) ... 231s Selecting previously unselected package gem2deb-test-runner. 231s Preparing to unpack .../15-gem2deb-test-runner_2.2.5_armhf.deb ... 231s Unpacking gem2deb-test-runner (2.2.5) ... 231s Selecting previously unselected package ruby-concurrent. 231s Preparing to unpack .../16-ruby-concurrent_1.3.4-1_all.deb ... 231s Unpacking ruby-concurrent (1.3.4-1) ... 231s Selecting previously unselected package ruby-concurrent-ext. 231s Preparing to unpack .../17-ruby-concurrent-ext_1.3.4-1_armhf.deb ... 231s Unpacking ruby-concurrent-ext (1.3.4-1) ... 231s Selecting previously unselected package ruby-diff-lcs. 231s Preparing to unpack .../18-ruby-diff-lcs_1.5.1-1_all.deb ... 231s Unpacking ruby-diff-lcs (1.5.1-1) ... 231s Selecting previously unselected package ruby-rspec-support. 231s Preparing to unpack .../19-ruby-rspec-support_3.13.0c0e0m0s1-2_all.deb ... 231s Unpacking ruby-rspec-support (3.13.0c0e0m0s1-2) ... 231s Selecting previously unselected package ruby-rspec-core. 231s Preparing to unpack .../20-ruby-rspec-core_3.13.0c0e0m0s1-2_all.deb ... 231s Unpacking ruby-rspec-core (3.13.0c0e0m0s1-2) ... 232s Selecting previously unselected package ruby-rspec-expectations. 232s Preparing to unpack .../21-ruby-rspec-expectations_3.13.0c0e0m0s1-2_all.deb ... 232s Unpacking ruby-rspec-expectations (3.13.0c0e0m0s1-2) ... 232s Selecting previously unselected package ruby-rspec-mocks. 232s Preparing to unpack .../22-ruby-rspec-mocks_3.13.0c0e0m0s1-2_all.deb ... 232s Unpacking ruby-rspec-mocks (3.13.0c0e0m0s1-2) ... 232s Selecting previously unselected package ruby-rspec. 232s Preparing to unpack .../23-ruby-rspec_3.13.0c0e0m0s1-2_all.deb ... 232s Unpacking ruby-rspec (3.13.0c0e0m0s1-2) ... 232s Selecting previously unselected package ruby-timecop. 232s Preparing to unpack .../24-ruby-timecop_0.9.10-1.1_all.deb ... 232s Unpacking ruby-timecop (0.9.10-1.1) ... 232s Setting up ruby-power-assert (2.0.3-1) ... 232s Setting up rubygems-integration (1.19) ... 232s Setting up ruby-concurrent (1.3.4-1) ... 232s Setting up ruby-timecop (0.9.10-1.1) ... 232s Setting up ruby-minitest (5.25.4-2ubuntu1) ... 232s Setting up ruby-test-unit (3.6.2-1) ... 232s Setting up ruby-net-telnet (0.2.0-1) ... 232s Setting up ruby-rspec-support (3.13.0c0e0m0s1-2) ... 232s Setting up ruby-webrick (1.8.1-1ubuntu1) ... 232s Setting up ruby-did-you-mean (1.6.3-2) ... 232s Setting up ruby-xmlrpc (0.3.3-2) ... 232s Setting up rake (13.2.1-1) ... 232s Setting up ruby3.3 (3.3.6-1.1ubuntu1) ... 232s Setting up ruby-sdbm:armhf (1.0.0-5build5) ... 232s Setting up libruby3.3:armhf (3.3.6-1.1ubuntu1) ... 232s Setting up ruby-rubygems (3.6.3-1) ... 232s Setting up libruby:armhf (1:3.3~ubuntu3) ... 232s Setting up ruby (1:3.3~ubuntu3) ... 232s Setting up ruby-rspec-core (3.13.0c0e0m0s1-2) ... 232s Setting up ruby-diff-lcs (1.5.1-1) ... 232s Setting up gem2deb-test-runner (2.2.5) ... 232s Setting up ruby-concurrent-ext (1.3.4-1) ... 232s Setting up ruby-rspec-expectations (3.13.0c0e0m0s1-2) ... 232s Setting up ruby-rspec-mocks (3.13.0c0e0m0s1-2) ... 232s Setting up ruby-rspec (3.13.0c0e0m0s1-2) ... 232s Processing triggers for libc-bin (2.41-1ubuntu2) ... 232s Processing triggers for man-db (2.13.0-1) ... 242s autopkgtest [16:39:18]: 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 242s autopkgtest [16:39:18]: test ruby: [----------------------- 244s 244s ┌──────────────────────────────────────────────────────────────────────────────┐ 244s │ Run tests for ruby3.3 from debian/ruby-tests.rake │ 244s └──────────────────────────────────────────────────────────────────────────────┘ 244s 244s RUBYLIB=. GEM_PATH= ruby3.3 -S rake --rakelibdir /gem2deb-nonexistent -f debian/ruby-tests.rake 244s mv lib ./.gem2deb.lib 244s mv ext ./.gem2deb.ext 244s /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 245s Run options: exclude {:stress=>true} 245s 245s Randomized with seed 1 245s 245s Concurrent::IVar 245s #initialize 245s can set an initial value 245s does not have to set an initial value 245s can set an initial value with a block 245s does not set an initial value if you pass NULL 245s raises an exception if given both a value and a block 245s observation 245s notifies all observers on #set 245s deadlock avoidance 245s should notify observers outside mutex lock 245s should notify a new observer added after fulfillment outside lock 245s it should behave like ivar 245s initialization 245s sets the state to incomplete 245s it should behave like dereferenceable 245s does not call #freeze when #freeze_on_deref is set and the value is nil 245s defaults :copy_on_deref to nil 245s defaults :dup_on_deref to false 245s supports dereference flags with observers 245s calls #freeze when the :freeze_on_deref option is true 245s defaults :freeze_on_deref to false 245s does not call #dup when #dup_on_deref is set and the value is nil 245s calls #dup when the :dup_on_deref option is true 245s calls the block when the :copy_on_deref option is passed a proc 245s does not call the #copy_on_deref block when the value is nil 245s calls the :copy block first followed by #dup followed by #freeze 245s it should behave like obligation 245s #value 245s returns nil when reaching the optional timeout value 245s is nil when :pending 245s blocks the caller when :pending and timeout is nil 245s returns the value when fulfilled before timeout 245s is set to the return value of the block when :fulfilled 245s is nil when :rejected 245s returns nil when timeout reached 245s returns immediately when timeout is zero 245s #state 245s is :pending when first created 245s is :fulfilled when the handler completes 245s is :rejected when the handler raises an exception 245s #reason 245s is nil when :fulfilled 245s is set to error object of the exception when :rejected 245s is nil when :pending 245s it should behave like observable 245s #delete_observer 245s deletes the given observer if called before first notification 245s returns the given observer even when not found in the observer set 245s returns the removed observer if found in the observer set 245s #add_observer 245s raises an exception if not given an observer or a block 245s adds an observer if called before first notification 245s raises an exception when given both an observer and a block 245s creates an observer from a block if called before first notification 245s adds an observer with :func if called before first notification 245s first notification 246s does not notify any observers after #delete_observers called 246s calls the appropriate function on all observers which specified a :func 247s does not notify any observers removed with #delete_observer 247s calls the proc for all observers added as a block 247s calls the #update method on all observers without a specified :func 247s #count_observers 247s returns zero for a new observable object 247s returns a count of registered observers if called before first notification 247s returns zero after #delete_observers has been called 247s #delete_observers 247s deletes all observers when called before first notification 247s returns self 247s #set 247s raises an exception when given neither a value nor a block 247s raises an exception if set more than once 247s rejects when given a block which raises an exception 247s returns self 247s sets the state to be fulfilled 247s fulfils when given a block which executes successfully 247s raises an exception when given a value and a block 247s sets the value 247s #fail 247s sets the reason to the given exception 247s raises an exception if set more than once 247s sets the value to be nil 247s returns self 247s defaults the reason to a StandardError 247s sets the state to be rejected 247s #try_set 247s when unset 247s assigns the value 247s assigns the block result 247s returns true 247s when rejected 247s does not assign the block result 247s returns false 247s has a nil value 247s does not assign the value 247s when fulfilled 247s does not assign the value 247s returns false 247s does not assign the block result 247s 247s Concurrent::LazyRegister 247s example at ./spec/concurrent/lazy_register_spec.rb:6 (PENDING: Not yet implemented) 247s 247s dataflow 247s #dataflow uses the global fast executor 247s #dataflow_with raises an exception when no executor given 247s raises an exception when no block given 247s accepts completed dependencies 247s doesn't raise exceptions from dependencies, unless called with ! 247s returns a Future 247s accepts zero or more dependencies 247s accepts uncompleted dependencies 247s #dataflow_with uses the given executor 247s raises an exception if any dependencies are not IVars 247s passes the values of dependencies into the block 247s if there is more than one 247s if there is just one 247s does not schedule the Future 247s if no dependencies are completed 247s if one dependency of two is completed 247s module function 247s can be called as Concurrent.dataflow and Concurrent.dataflow_with 247s counts already executed dependencies 247s if there is more than one 247s if there is just one 247s schedules the Future when all dependencies are available 247s if there is more than one 247s if there is just one 247s 247s Concurrent::MutableStruct 247s #[member]= 247s sets the value when given a valid string member 247s sets the value when given a valid symbol member 247s raises an exception when given a non-existent symbol member 247s raises an exception when given a non-existent string member 247s synchronization 247s protects #[member] 247s protects #values 247s protects #to_h 247s protects getter methods 247s protects #each_pair 247s protects getter methods 247s protects #inspect 247s protects #[member]= 247s protects #to_s 247s protects #values_at 247s protects #merge 247s protects #initialize_copy 247s protects #[index]= 247s protects #== 247s protects #each 247s protects #[index] 247s protects #select 247s definition 247s defines a setter for each member 247s copy 247s #clone 247s mutates only the copy 247s #dup 247s mutates only the copy 247s #[index]= 247s sets the value when given a valid index 247s raises an exception when given an out-of-bound index 247s it should behave like struct 247s properties 247s #members 247s returns a different object than the array passed at definition 247s returns the struct members as an array of symbols 247s #size 247s returns the number of struct members 247s #values 247s returns the values of the struct as an array in order 247s #values_at 247s returns values for ranges and offsets 247s returns the values at multiple given offsets 247s returns values at offsets in a given range 247s returns the value at the given offset 247s returns values for multiple ranges 247s #length 247s returns the number of struct members 247s comparison 247s #!= 247s returns false if other has same struct subclass and equal values 247s returns true if other has different values 247s returns true if other has different struct subclass 247s #== 247s returns true if other has same struct subclass and equal values 247s returns false if other has different struct subclass 247s returns false if other has different values 247s definition 247s registers the class when given a class name which is defined in the ancestors 247s raises an exception when given an invalid class name 247s raises an exception when given no members 247s raise an exception when given an invalid member 247s defines a getter for each member 247s registers the class when given a class name 247s evalues a given block against the new class 247s creates an anonymous class when given at least one member 247s conversion 247s #to_a 247s returns the to_a for this struct as an array 247s #to_s 247s returns the same string as #inspect 247s includes the name of the class when registered 247s includes the names of all members 247s includes all values 247s #to_h 247s returns a Hash containing the names and values in order 247s accessors 247s #[index] 247s retrieves the value when given a valid index 247s raises an exception when given an out-of-bound index 247s #[member] 247s retrieves the value when given a valid string member 247s raises an exception when given a non-existent string member 247s raises an exception when given a non-existent symbol member 247s retrieves the value when given a valid symbol member 247s enumeration 247s #select 247s yields each value 247s returns an enumerator when no block is given 247s returns an Array with the values from for which the block returns true 247s #each 247s returns an enumerator when no block is given 247s yields the value of each struct member in order 247s #each_pair 247s returns an enumerator when no block is given 247s yields the name and value of each struct member in order 247s construction 247s raises an exception when extra members are given 247s sets all absent members to nil 247s sets all given members in order 247s copy 247s #dup 247s discards singleton class 247s shallowly duplicates all members along with the struct 247s discards frozen state of the struct 247s retains frozen state of members 247s copies the singleton class of members 247s #clone 247s retains frozen state 247s copies the singleton class 247s copies the singleton class of members 247s shallowly clones all members along with the struct 247s it should behave like mergeable_struct 247s #merge 247s calls the given block for each key in `other` 247s raises an exception when given a hash with members not in the struct 247s returns a new object 247s retains the value for all members not without values in the given hash 247s updates all members with the new values from a given hash 247s 247s Concurrent 247s Cancellation 247s basic 247s is expected to be falsey 247s is expected to be truthy 247s #join 247s is expected to eq 2 247s is expected to be falsey 247s 247s #atomically 247s provides atomicity 247s raises an exception when no block given 247s reflects transactional writes from within the same transaction 247s undoes writes if the transaction is aborted 247s commits writes if the transaction succeeds 247s retries on abort 247s nests 247s raises the same exception that was raised in Concurrent::atomically 247s 247s Concurrent::Set 247s .[] 247s when initializing with arguments 247s creates a set with the given objects 247s when initializing with no arguments 247s is expected to be empty 247s .new 247s when initializing with no arguments 247s is expected to be empty 247s when initializing with an enumerable object 247s creates a set with the contents of the enumerable object 247s when initializing with a block argument 247s creates a set with the contents of the enumerable object 247s concurrency 248s #each 248s force context switch 249s #add and #delete 249s 249s Concurrent::Delay 249s #reconfigure 249s returns value of block used in reconfiguration 249s returns false when process completed? 249s #value 249s can be called twice 249s calls the block when #value is called 249s raises when called recursively 249s does not call the block before #value is called 249s only calls the block once no matter how often #value is called 249s behavior 249s it should behave like dereferenceable 249s calls the block when the :copy_on_deref option is passed a proc 249s defaults :copy_on_deref to nil 249s does not call #freeze when #freeze_on_deref is set and the value is nil 249s calls #dup when the :dup_on_deref option is true 249s does not call #dup when #dup_on_deref is set and the value is nil 249s defaults :dup_on_deref to false 249s supports dereference flags with observers 249s does not call the #copy_on_deref block when the value is nil 249s calls the :copy block first followed by #dup followed by #freeze 249s defaults :freeze_on_deref to false 249s calls #freeze when the :freeze_on_deref option is true 249s it should behave like obligation 249s #reason 249s is nil when :pending 249s is nil when :fulfilled 249s is set to error object of the exception when :rejected 249s #value 249s is nil when :rejected 249s is set to the return value of the block when :fulfilled 249s returns immediately when timeout is zero 249s blocks the caller when :pending and timeout is nil 249s returns nil when reaching the optional timeout value 249s returns nil when timeout reached 249s returns the value when fulfilled before timeout 249s is nil when :pending 249s #state 249s is :pending when first created 249s is :rejected when the handler raises an exception 249s is :fulfilled when the handler completes 249s #initialize 249s raises an exception when no block given 249s sets the state to :pending 249s 249s Concurrent::Promise 249s #rescue 249s returns a new promise 249s it should behave like thread_arguments 249s passes a one-element array when the :args key has a non-array value 249s passes an empty array when opts is not given 249s passes an empty array when the :args key has a nil value 249s passes an empty array when opts is an empty hash 249s allows the given arguments array to be dereferenced 249s passes the given array when the :args key has a complex array value 249s passes an array when when the :args key has an array value 249s passes an empty array when there is no :args key 249s aliases 249s aliases #realized? for #fulfilled? 249s aliases #catch for #rescue 249s aliases #deref for #value 249s aliases #on_error for #rescue 249s fulfillment 249s can manage long chain 249s sets the promise state to :fulfilled if the block completes 249s passes the result of each block to all its children 249s sets the promise value to the result if its block 249s uses result as fulfillment value when a promise has no block 249s passes the last result through when a promise has no block 249s #fail 249s can only be called on the root promise 249s rejects children 249s #set 249s triggers children 249s can be called with a block 249s #can only be called on the root promise 249s rejection 249s sets the promise value to the result if its block 249s passes the reason to all its children 249s rejects on Exception 249s sets the promise state to :rejected if the block completes 249s uses reason as rejection reason when a promise has no rescue callable 249s .zip 249s does not execute the returned Promise when execute is false 249s preserves ordering of the executed promises 249s executes the returned Promise by default 249s allows setting executor for Promise chain 249s fails if one component fails 249s executes the returned Promise when execute is true 249s yields the results as an array 249s aggregators 249s .any? 249s executes the #then condition when any components succeed 249s executes the #rescue handler if all componenst fail 249s does not execute the returned Promise 249s returns a new Promise 249s executes the #then condition when no promises are given 249s .all? 249s executes the #then condition when all components succeed 249s executes the #rescue handler if even one component fails 249s returns a new Promise 249s does not execute the returned Promise 249s executes the #then condition when no promises are given 249s initializers 249s .execute 249s passes the block to the new Promise 249s calls #execute on the new Promise 249s creates a new Promise 249s .fulfill 249s should return a Promise with set value 249s should return a fulfilled Promise 249s should return a Promise 249s .reject 249s should return a Promise with set reason 249s should return a Promise 249s should return a rejected Promise 249s .new 249s should return an unscheduled Promise 249s #then 249s should have block or rescuers 249s returns a new promise when a block and rescuer are passed 249s returns a new promise when a block is passed 249s returns a new promise when a rescuer is passed 249s can be called more than once 249s supports setting the executor using a named parameter 249s returns a new promise when a block, rescuer and executor are passed 249s fulfilled 249s returns a new Promise 249s notifies fulfillment to new child 249s rejected 249s returns a new Promise when :rejected 249s notifies rejection to new child 249s pending 249s returns a new promise 249s returns a pending promise 249s unscheduled 249s returns a new promise 249s returns an unscheduled promise 249s on_success 249s returns a new promise 249s should have a block 249s #execute 249s with children 249s when called on a child 250s should set all promises to :pending 250s when called on child after parent completes 250s sets state to :pending immediately 250s when called on the root 251s should set all promises to :pending 251s pending 251s does not post again 251s sets the promise to :pending 251s unscheduled 251s posts the block given in construction 252s sets the promise to :pending 252s #flat_map 252s returns a promise 252s fails if the left promise fails 252s fails if the right promise fails 252s fails if the generating block fails 252s succeeds if both promises succeed 252s #zip 252s allows setting executor for Promise chain 252s fails if one component fails 252s executes the returned Promise when execute is true 252s does not execute the returned Promise when execute is false 252s executes the returned Promise by default 252s preserves ordering of the executed promises 252s yields the results as an array 252s it should behave like ivar 252s #set 252s raises an exception if set more than once 252s returns self 252s raises an exception when given neither a value nor a block 252s raises an exception when given a value and a block 252s rejects when given a block which raises an exception 252s sets the state to be fulfilled 252s sets the value 252s fulfils when given a block which executes successfully 252s #try_set 252s when fulfilled 252s returns false 252s does not assign the value 252s does not assign the block result 252s when rejected 252s returns false 252s does not assign the block result 252s has a nil value 252s does not assign the value 252s when unset 252s returns true 252s assigns the value 252s assigns the block result 252s it should behave like observable 252s #add_observer 252s adds an observer with :func if called before first notification 252s raises an exception if not given an observer or a block 252s creates an observer from a block if called before first notification 252s adds an observer if called before first notification 252s raises an exception when given both an observer and a block 252s #count_observers 252s returns zero for a new observable object 252s returns a count of registered observers if called before first notification 252s returns zero after #delete_observers has been called 252s first notification 253s does not notify any observers removed with #delete_observer 255s does not notify any observers after #delete_observers called 255s calls the proc for all observers added as a block 255s calls the appropriate function on all observers which specified a :func 255s calls the #update method on all observers without a specified :func 255s #delete_observer 255s returns the given observer even when not found in the observer set 255s returns the removed observer if found in the observer set 255s deletes the given observer if called before first notification 255s #delete_observers 255s returns self 255s deletes all observers when called before first notification 255s initialization 255s sets the state to incomplete 255s #fail 255s sets the state to be rejected 255s sets the value to be nil 255s raises an exception if set more than once 255s defaults the reason to a StandardError 255s sets the reason to the given exception 255s returns self 255s it should behave like dereferenceable 255s calls the block when the :copy_on_deref option is passed a proc 255s defaults :copy_on_deref to nil 256s does not call #freeze when #freeze_on_deref is set and the value is nil 256s calls #dup when the :dup_on_deref option is true 256s supports dereference flags with observers 256s calls #freeze when the :freeze_on_deref option is true 256s calls the :copy block first followed by #dup followed by #freeze 257s defaults :dup_on_deref to false 257s defaults :freeze_on_deref to false 257s does not call #dup when #dup_on_deref is set and the value is nil 257s does not call the #copy_on_deref block when the value is nil 257s it should behave like obligation 257s #value 262s blocks the caller when :pending and timeout is nil 262s returns nil when reaching the optional timeout value 262s is set to the return value of the block when :fulfilled 262s is nil when :pending 262s returns nil when timeout reached 262s returns immediately when timeout is zero 262s is nil when :rejected 267s returns the value when fulfilled before timeout 267s #reason 267s is nil when :fulfilled 267s is nil when :pending 267s is set to error object of the exception when :rejected 267s #state 267s is :pending when first created 267s is :fulfilled when the handler completes 267s is :rejected when the handler raises an exception 267s 267s Concurrent::TVar 267s #value 267s gets the value 267s #initialize 267s accepts an initial value 267s #value= 267s sets the value 267s 267s Concurrent::Async 267s object creation 267s initializes synchronization 267s passes all args to the original constructor 267s delegates to the original constructor 267s passes a given block to the original constructor 267s #await 267s raises an error when calling a method that does not exist 267s raises an error when passing too few arguments 267s sets the reason when giving too many optional arguments 267s supports methods with blocks 267s sets the value on success 267s supports attribute accessors 267s returns a :fulfilled IVar 267s runs the future on the global executor 267s returns the existence of the method 267s raises an error when pasing too many arguments (arity >= 0) 267s sets the reason on failure 267s #validate_argc 267s raises an exception for too many args on a method with positive arity 267s raises an exception for too many args on a zero arity method 267s does not raise an exception for correct negative arity 267s raises an exception for too few args on a method with negative arity 267s raises an exception when the method is not defined 267s raises an exception for too few args on a method with positive arity 267s does not raise an exception for correct positive arity 267s does not raise an exception for correct zero arity 267s fork safety 267s does not hang when forked 267s locking 268s uses the same lock for both #async and #await 268s #async 268s sets the reason on failure 268s raises an error when calling a method that does not exist 268s supports methods with blocks 268s returns the existence of the method 268s raises an error when passing too few arguments 268s raises an error when pasing too many arguments (arity >= 0) 268s supports attribute accessors 268s runs the future on the global executor 268s returns a :pending IVar 268s sets the value on success 268s sets the reason when giving too many optional arguments 268s 268s Concurrent::MVar 268s #take 268s returns TIMEOUT on timeout on an empty MVar 268s waits for another thread to #put 268s returns the value on a full MVar 268s sets the MVar to empty 268s spurious wake ups 268s #put 268s returns TIMEOUT on timeout on a full MVar 269s waits for another thread to #take 269s #modify 269s waits for another thread to #put 270s returns TIMEOUT on timeout on an empty MVar 270s #take 270s waits for another thread to #put 271s returns TIMEOUT on timeout on an empty MVar 271s #empty? 271s returns false on a full MVar 271s returns true on an empty MVar 271s #set! 271s sets a full MVar to be full 271s returns EMPTY on an empty MVar 271s sets an empty MVar to be full 271s returns the original value on a full MVar 271s #modify! 271s raises an exception when no block given 271s modifies an empty MVar 271s returns the unmodified value 271s can be used to set an empty MVar to empty 271s can be used to set a full MVar to empty 271s modifies a full MVar 271s #initialize 271s accepts an initial value 271s accepts a nil initial value 271s accepts no initial value 271s accepts an empty initial value 271s #try_take! 271s returns EMPTY an empty MVar 271s returns the value on a full MVar 271s sets a full MVar to be empty 271s #borrow 271s returns TIMEOUT on timeout on an empty MVar 271s yields current value to the block and puts back value 271s returns the returned value of the block 271s puts back value even if an exception is raised 271s #put 271s returns the value 271s sets a new value on an empty MVar 271s waits for another thread to #take 271s sets the MVar to be empty 271s returns TIMEOUT on timeout on a full MVar 271s #full? 271s returns true on a full MVar 271s returns false on an empty MVar 271s #try_put! 271s returns false on a full MVar 271s returns true an empty MVar 271s sets an empty MVar to be full 271s #modify 271s waits for another thread to #put 271s returns TIMEOUT on timeout on an empty MVar 272s is atomic 272s raises an exception when no block given 272s modifies a full MVar 272s returns the unmodified value 272s behavior 272s it should behave like dereferenceable 272s calls the block when the :copy_on_deref option is passed a proc 272s defaults :copy_on_deref to nil 272s supports dereference flags with observers 272s does not call #freeze when #freeze_on_deref is set and the value is nil 272s defaults :dup_on_deref to false 272s does not call #dup when #dup_on_deref is set and the value is nil 272s calls the :copy block first followed by #dup followed by #freeze 272s defaults :freeze_on_deref to false 272s calls #freeze when the :freeze_on_deref option is true 272s does not call the #copy_on_deref block when the value is nil 272s calls #dup when the :dup_on_deref option is true 272s 272s configuration 272s global executors 272s creates a global fast executor 272s creates a global timer set 272s creates a global io executor 272s 272s Concurrent::TimerTask 272s execution 272s uses a custom executor when given 272s waits for :execution_interval seconds when the :run_now option is not given 273s uses a fixed rate when set 273s uses a fixed delay when set 273s passes a "self" reference to the block as the sole argument 273s uses the global executor by default 273s waits for :execution_interval seconds when the :run_now option is false 273s runs the block immediately when the :run_now option is true 273s arguments 273s TimeTask timeouts are now ignored as these were not able to be implemented correctly 273s #timeout_interval being written produces a warning 273s TimeTask timeouts are now ignored as these were not able to be implemented correctly 273s #execution_interval is writeable 273s raises an exception if no block given 273s raises on invalid interval_type 273s observation 273s notifies all observers on error 273s notifies all observers on success 273s dereferenceable 273s it should behave like dereferenceable 274s defaults :freeze_on_deref to false 274s defaults :copy_on_deref to nil 274s calls #freeze when the :freeze_on_deref option is true 274s does not call the #copy_on_deref block when the value is nil 274s does not call #freeze when #freeze_on_deref is set and the value is nil 275s does not call #dup when #dup_on_deref is set and the value is nil 275s calls the block when the :copy_on_deref option is passed a proc 275s defaults :dup_on_deref to false 275s calls the :copy block first followed by #dup followed by #freeze 275s calls #dup when the :dup_on_deref option is true 276s supports dereference flags with observers 276s created with #new 276s #kill 276s returns true on success 276s #shutdown 276s returns true on success 276s #initialize 276s uses the default execution interval when no interval is given 276s uses the given execution interval 276s raises an exception if :execution_interval is not greater than zero 276s uses the default :interval_type when no type is given 276s raises an exception if :execution_interval is not an integer 276s raises an exception if :interval_type is not a valid value 276s uses the given interval type 276s raises an exception if no block given 276s observable 276s it should behave like observable 276s #delete_observer 276s deletes the given observer if called before first notification 276s returns the given observer even when not found in the observer set 276s returns the removed observer if found in the observer set 276s #count_observers 276s returns zero after #delete_observers has been called 276s returns a count of registered observers if called before first notification 276s returns zero for a new observable object 276s #delete_observers 276s returns self 276s deletes all observers when called before first notification 276s first notification 276s calls the #update method on all observers without a specified :func 276s calls the appropriate function on all observers which specified a :func 276s calls the proc for all observers added as a block 278s does not notify any observers removed with #delete_observer 279s does not notify any observers after #delete_observers called 279s #add_observer 279s creates an observer from a block if called before first notification 279s raises an exception if not given an observer or a block 279s raises an exception when given both an observer and a block 279s adds an observer with :func if called before first notification 279s adds an observer if called before first notification 279s 279s Concurrent::Hash 279s .[] 279s when initializing with another hash as an argument 279s creates a hash with the results of calling #to_hash on the other array 279s creates a new hash 279s creates a hash with the same contents as the other hash 279s when initializing with an array of pairs 279s creates a hash using each pair as a (key, value) pair 279s when initializing with no arguments 279s is expected to be empty 279s when initializing with an even number of arguments 279s creates a hash using the odd position arguments as keys and even position arguments as values 279s .new 279s when initialized with a block 279s calls the block for non-existing keys 279s returns the results of calling the block for non-existing key 279s when initializing with no arguments 279s is expected to be empty 279s when initialized with a default object 279s uses the default object for non-existing keys 279s concurrency 279s is expected to be empty 279s 279s Concurrent::SettableStruct 279s it should behave like mergeable_struct 279s #merge 279s raises an exception when given a hash with members not in the struct 279s calls the given block for each key in `other` 279s retains the value for all members not without values in the given hash 279s updates all members with the new values from a given hash 279s returns a new object 279s definition 279s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/settable_struct.rb:121: warning: method redefined; discarding old baz 279s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/synchronization/abstract_struct.rb:161: warning: previous definition of baz was here 279s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/settable_struct.rb:121: warning: method redefined; discarding old baz 279s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/synchronization/abstract_struct.rb:161: warning: previous definition of baz was here 279s defines a setter for each member 279s #[index]= 279s raises an exception when given an out-of-bound index 279s raises an exception when given an index that has already been set 279s sets the value when given a valid index 279s it should behave like struct 279s construction 279s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/settable_struct.rb:121: warning: method redefined; discarding old baz 279s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/synchronization/abstract_struct.rb:161: warning: previous definition of baz was here 279s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/settable_struct.rb:121: warning: method redefined; discarding old baz 279s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/synchronization/abstract_struct.rb:161: warning: previous definition of baz was here 279s sets all absent members to nil 279s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/settable_struct.rb:121: warning: method redefined; discarding old baz 279s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/synchronization/abstract_struct.rb:161: warning: previous definition of baz was here 279s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/settable_struct.rb:121: warning: method redefined; discarding old baz 279s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/synchronization/abstract_struct.rb:161: warning: previous definition of baz was here 279s raises an exception when extra members are given 279s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/settable_struct.rb:121: warning: method redefined; discarding old baz 279s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/synchronization/abstract_struct.rb:161: warning: previous definition of baz was here 279s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/settable_struct.rb:121: warning: method redefined; discarding old baz 279s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/synchronization/abstract_struct.rb:161: warning: previous definition of baz was here 279s sets all given members in order 279s accessors 279s #[member] 279s raises an exception when given a non-existent string member 279s retrieves the value when given a valid string member 279s raises an exception when given a non-existent symbol member 279s retrieves the value when given a valid symbol member 279s #[index] 279s retrieves the value when given a valid index 279s raises an exception when given an out-of-bound index 279s definition 279s evalues a given block against the new class 279s raises an exception when given an invalid class name 279s raises an exception when given no members 279s creates an anonymous class when given at least one member 279s raise an exception when given an invalid member 279s registers the class when given a class name 279s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/settable_struct.rb:121: warning: method redefined; discarding old baz 279s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/synchronization/abstract_struct.rb:161: warning: previous definition of baz was here 279s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/settable_struct.rb:121: warning: method redefined; discarding old baz 279s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/synchronization/abstract_struct.rb:161: warning: previous definition of baz was here 279s defines a getter for each member 279s /tmp/autopkgtest.MLwnt6/build.YAB/src/spec/concurrent/struct_shared.rb:15: warning: already initialized constant ValidClassName2 279s /tmp/autopkgtest.MLwnt6/build.YAB/src/spec/concurrent/struct_shared.rb:15: warning: previous definition of ValidClassName2 was here 279s registers the class when given a class name which is defined in the ancestors 279s conversion 279s #to_h 279s returns a Hash containing the names and values in order 279s #to_a 279s returns the to_a for this struct as an array 279s #to_s 279s includes all values 279s returns the same string as #inspect 279s includes the name of the class when registered 279s includes the names of all members 279s copy 279s #clone 279s shallowly clones all members along with the struct 279s copies the singleton class 279s copies the singleton class of members 279s retains frozen state 279s #dup 279s shallowly duplicates all members along with the struct 279s retains frozen state of members 279s discards singleton class 279s discards frozen state of the struct 279s copies the singleton class of members 279s properties 279s #values_at 279s returns values at offsets in a given range 279s returns values for multiple ranges 279s returns the values at multiple given offsets 279s returns the value at the given offset 279s returns values for ranges and offsets 279s #size 279s returns the number of struct members 279s #members 279s returns the struct members as an array of symbols 279s returns a different object than the array passed at definition 279s #values 279s returns the values of the struct as an array in order 279s #length 280s returns the number of struct members 280s enumeration 280s #each_pair 280s returns an enumerator when no block is given 280s yields the name and value of each struct member in order 280s #select 280s yields each value 280s returns an Array with the values from for which the block returns true 280s returns an enumerator when no block is given 280s #each 280s yields the value of each struct member in order 280s returns an enumerator when no block is given 280s comparison 280s #!= 280s returns true if other has different values 280s returns true if other has different struct subclass 280s returns false if other has same struct subclass and equal values 280s #== 280s returns true if other has same struct subclass and equal values 280s returns false if other has different values 280s returns false if other has different struct subclass 280s #[member]= 280s raises an exception when given a string member that has already been set 280s sets the value when given a valid string member 280s raises an exception when given a non-existent string member 280s raises an exception when given a symbol member that has already been set 280s raises an exception when given a non-existent symbol member 280s sets the value when given a valid symbol member 280s synchronization 280s protects getter methods 280s protects #select 280s protects #each_pair 280s protects #inspect 280s protects #[index] 280s protects getter methods 280s protects #to_h 280s protects #initialize_copy 280s protects #[member]= 280s protects #each 280s protects #[index]= 280s protects #values 280s protects #== 280s protects #[member] 280s protects #values_at 280s protects #to_s 280s protects #merge 280s copy 280s #clone 280s retains settability of members 280s #dup 280s retains settability of members 280s 280s Concurrent::ImmutableStruct 280s it should behave like struct 280s accessors 280s #[member] 280s retrieves the value when given a valid string member 280s retrieves the value when given a valid symbol member 280s raises an exception when given a non-existent string member 280s raises an exception when given a non-existent symbol member 280s #[index] 280s retrieves the value when given a valid index 280s raises an exception when given an out-of-bound index 280s definition 280s evalues a given block against the new class 280s raise an exception when given an invalid member 280s defines a getter for each member 280s creates an anonymous class when given at least one member 280s /tmp/autopkgtest.MLwnt6/build.YAB/src/spec/concurrent/struct_shared.rb:15: warning: already initialized constant ValidClassName2 280s /tmp/autopkgtest.MLwnt6/build.YAB/src/spec/concurrent/struct_shared.rb:15: warning: previous definition of ValidClassName2 was here 280s registers the class when given a class name which is defined in the ancestors 280s raises an exception when given an invalid class name 280s raises an exception when given no members 280s registers the class when given a class name 280s conversion 280s #to_s 280s returns the same string as #inspect 280s includes the names of all members 280s includes the name of the class when registered 280s includes all values 280s #to_a 280s returns the to_a for this struct as an array 280s #to_h 280s returns a Hash containing the names and values in order 280s properties 280s #values_at 280s returns values for multiple ranges 280s returns the values at multiple given offsets 280s returns values for ranges and offsets 280s returns values at offsets in a given range 280s returns the value at the given offset 280s #members 280s returns the struct members as an array of symbols 280s returns a different object than the array passed at definition 280s #size 280s returns the number of struct members 280s #length 280s returns the number of struct members 280s #values 280s returns the values of the struct as an array in order 280s comparison 280s #!= 280s returns false if other has same struct subclass and equal values 280s returns true if other has different struct subclass 280s returns true if other has different values 280s #== 280s returns true if other has same struct subclass and equal values 280s returns false if other has different struct subclass 280s returns false if other has different values 280s copy 280s #dup 280s shallowly duplicates all members along with the struct 280s discards frozen state of the struct 280s retains frozen state of members 280s discards singleton class 280s copies the singleton class of members 280s #clone 280s copies the singleton class 280s retains frozen state 280s copies the singleton class of members 280s shallowly clones all members along with the struct 280s construction 280s raises an exception when extra members are given 280s sets all given members in order 280s sets all absent members to nil 280s enumeration 280s #each_pair 280s yields the name and value of each struct member in order 280s returns an enumerator when no block is given 280s #each 280s returns an enumerator when no block is given 280s yields the value of each struct member in order 280s #select 280s returns an enumerator when no block is given 280s yields each value 280s returns an Array with the values from for which the block returns true 280s it should behave like mergeable_struct 280s #merge 280s raises an exception when given a hash with members not in the struct 280s returns a new object 280s updates all members with the new values from a given hash 280s retains the value for all members not without values in the given hash 280s calls the given block for each key in `other` 280s 280s Concurrent::Array 280s concurrency 280s is expected to be empty 280s .new 280s when initializing with a size argument 280s creates an array with size elements set to nil 280s when initializing with a block argument 280s creates an array with size elements set to the default value 280s when initializing with a default value argument 280s creates an array with size elements set to the default value 280s when initializing with no arguments 280s is expected to be empty 280s when initializing with another array as an argument 280s creates an array with the results of calling #to_ary on the other array 280s creates an array with the same contents as the other array 280s creates a new array 280s .[] 280s when initializing with no arguments 280s is expected to be empty 280s when initializing with arguments 280s creates an array with the given objects 280s #slice 280s correctly initializes the monitor 280s 280s Concurrent::Channel 280s #next? 280s returns a just Maybe, true when there are multiple items 280s returns a nothing Maybe and false on failure 280s returns a just Maybe and true when there is one item 280s #take! 280s raises an exception on failure 280s takes the next item when not empty 280s #take? 280s returns a nothing Maybe on failure 280s returns a just Maybe on success 280s #next 280s returns , true when closed and last item 280s returns nil, false when closed and no items remain 280s returns , true when there are multiple items 280s returns nil, false when empty and closed 280s returns , true when there is one item 280s #take 280s returns nil on failure 280s takes the next item when not empty 280s #offer 280s returns true on success 280s rejects nil 280s rejects when the validator raises an exception 280s returns false on failure 280s rejects when the validator returns false 280s put? 280s returns a nothing Maybe on failure 280s rejects when the validator raises an exception 280s accepts nil 280s rejects when the validator returns false 280s returns a just Maybe on success 280s #poll? 280s returns a nothing Maybe immediately if no item is available 280s returns a just Maybe immediately if available 280s returns a nothing Maybe on failure 280s offer? 280s returns a just Maybe on success 280s accepts nil 280s rejects when the validator raises an exception 280s rejects when the validator returns false 280s returns a nothing Maybe on failure 280s offer! 280s returns true on success 280s rejects when the validator raises an exception 280s raises an exception on failure 280s rejects nil 280s rejects when the validator returns false 280s #poll! 280s raises an exception on failure 280s returns the next item immediately if available 280s raises an exception immediately if no item is available 280s #poll 280s returns nil on failure 280s returns nil immediately if no item is available 280s returns the next item immediately if available 280s .each 280s iterates until the channel is closed 280s raises and exception when no block is given 280s put! 280s raises an exception on failure 280s returns true on success 280s rejects when the validator raises an exception 280s rejects nil 280s rejects when the validator returns false 280s factories 280s is expected to receive new(10) 1 time 280s is expected to receive new(10) 1 time 280s goroutines 280s .go_via 280s raises an exception when no block is given 280s is expected to receive post(1, 2, 3) 1 time 280s .go 280s raises an exception when no block is given 280s is expected to receive post(1, 2, 3) 1 time 280s .go_loop 280s loops until the block returns false 280s raises an exception when no block is given 280s .go_loop_via 280s raises an exception when no block is given 280s loops until the block returns false 280s select 280s is expected to be truthy 280s raises an exception when no block is given 280s passes a selector to the block 280s #put 280s rejects when the validator returns false 280s rejects nil 280s rejects when the validator raises an exception 280s returns false on failure 280s returns true on success 280s initialization 280s raises an exception when the :buffer is invalid 280s raises an exception when :dropping given without :capacity 280s is :buffered when :capacity > 0 and no :buffer given 280s is :unbuffered when neither :buffer nore :capacity is given 280s raises an exception when :buffered given without :capacity 280s is :sliding when :sliding and :capacity > 0 280s raises an exception when :buffered and :capacity < 0 280s is :buffered when :buffered given 280s is :dropping when :dropping and :capacity > 0 280s raises an exception when :sliding given without :capacity 280s is :unbuffered when :buffered and capacity: 0 280s raises an exception when :sliding and :capacity < 1 280s raises an exception when both :unbuffered and :capacity are given 280s is :unbuffered when :unbuffered is given 280s uses the given buffer 280s raises an exception when :dropping and :capacity < 1 280s 280s Concurrent::Exchanger 280s class hierarchy 280s inherits from RubyExchanger 280s 280s Concurrent::ProcessingActor 280s is expected to eq "ab" 280s 280s Concurrent::Promises 280s zip_futures_over 280s .event 280s is expected to equal true 280s .zip_events 280s waits for all and returns event 280s Future 280s can be risen when rejected 280s has sync and async callbacks 280s chains with correct arguments 280s runs 280s value! supports setting timeout 280s result supports setting timeout 280s wait! supports setting timeout 280s chains 280s wait supports setting timeout 280s value supports setting timeout 280s constructs promise like tree 280s resolves future when Exception raised 280s allows graphs 280s reason supports setting timeout 280s #flat 280s it propagates rejection of the future which was suppose to provide inner future 280s propagates requests for values to delayed futures 280s rejects if inner value is not a future 280s accepts inner event 280s returns value of inner future 280s propagates rejection of inner future 280s has shortcuts 280s ResolvableEvent 280s #resolve(raise_on_reassign = true) 280s #wait 280s #resolve(raise_on_reassign = false) 280s reservation 280s .any_fulfilled 280s continues on first result 280s treats a resolved Event as a fulfilled Future 280s treats a pending Event as a pending Future 280s .rejected_future 280s raises the correct error when passed an unraised error 280s chain_resolvable 280s future 280s event 280s .future without block 280s is expected to eq 0 280s .zip 280s waits for all results 280s when a future raises an error 280s raises a concurrent error 280s when deeply nested 280s raises the original error 280s value! 280s does not return spuriously without timeout 280s does not return spuriously with timeout 280s .future 280s executes 280s executes with args 280s .any_resolved 280s continues on first result 280s .delay 280s is expected to eq 2 280s ResolvableFuture 280s #wait! 280s result 280s #wait 280s atomic_resolution 280s #value! 280s #value 280s reservation 280s #reason 280s interoperability 280s with erlang actor 280s with channel 280s with processing actor 280s .schedule 281s scheduled execution in graph 281s scheduled execution 281s 281s Concurrent::Atom 281s #compare_and_set 281s returns true if the current value matches 281s returns false if the current value does not match 281s rejects the new value if the current value does not match 281s returns false if the validator returns false 281s sets the new value if the current value matches 281s returns false if the validator raises an exception 281s rejects the new value if the validator returns false 281s rejects the new value if the validator raises an exception 281s #reset 281s returns the new value on success 281s returns the new value on success 281s returns the old value if the validator returns false 281s returns the old value if the validator raises an exception 281s sets the new value 281s #swap 281s rejects the new value if the validator returns false 281s rejects the new value if the validator raises an exception 281s reraises the exception from block 281s returns the new value on success 281s calls the block more than once if the value changes underneath 281s sets the new value to the result of the block 281s returns the old value if the validator returns false 281s raises an exception when no block is given 281s passes all arguments to the block 281s returns the old value if the validator raises an exception 281s passes the current value to the block 281s observable 281s behaves like observable 281s first notification 282s does not notify any observers removed with #delete_observer 282s calls the appropriate function on all observers which specified a :func 283s does not notify any observers after #delete_observers called 283s calls the proc for all observers added as a block 283s calls the #update method on all observers without a specified :func 283s #add_observer 283s creates an observer from a block if called before first notification 283s adds an observer with :func if called before first notification 283s adds an observer if called before first notification 283s raises an exception if not given an observer or a block 283s raises an exception when given both an observer and a block 283s #delete_observer 283s returns the given observer even when not found in the observer set 283s returns the removed observer if found in the observer set 283s deletes the given observer if called before first notification 283s #count_observers 283s returns a count of registered observers if called before first notification 283s returns zero after #delete_observers has been called 283s returns zero for a new observable object 283s #delete_observers 283s deletes all observers when called before first notification 283s returns self 283s construction 283s sets the initial value to the given value 283s 283s Concurrent::Future 283s it should behave like thread_arguments 283s passes an empty array when there is no :args key 283s allows the given arguments array to be dereferenced 283s passes an array when when the :args key has an array value 283s passes the given array when the :args key has a complex array value 283s passes an empty array when opts is not given 283s passes a one-element array when the :args key has a non-array value 283s passes an empty array when opts is an empty hash 283s passes an empty array when the :args key has a nil value 283s class #execute 283s calls #execute on the new Future 283s creates a new Future 283s passes the block to the new Future 283s #initialize 283s raises an exception when no block given 283s sets the state to :unscheduled 283s uses the executor given with the :executor option 283s uses the global io executor by default 283s cancellation 283s #wait_or_cancel 283s returns true if the operation completes before timeout 283s cancels the task on timeout 283s #cancel 283s fails to cancel the task once processing has begun 283s fails to cancel the task once processing is complete 283s cancels a pending task 283s instance #execute 283s posts the block given on construction 283s returns self 283s does nothing unless the state is :unscheduled 283s sets the state to :pending 283s fulfillment 283s sets the state to :rejected when the handler raises an exception 283s sets the value to nil when the handler raises Exception 283s sets the value to nil when the handler raises an exception 283s sets the reason to the Exception instance when the handler raises Exception 283s sets the value to the result of the handler 283s passes all arguments to handler 283s sets the state to :processing while the task is executing 283s sets the state to :fulfilled when the block completes 283s aliases 283s aliases #deref for #value 283s aliases #realized? for #fulfilled? 283s it should behave like ivar 283s #try_set 283s when unset 283s assigns the value 283s returns true 283s assigns the block result 283s when fulfilled 283s does not assign the block result 283s does not assign the value 283s returns false 283s when rejected 283s does not assign the value 283s has a nil value 283s does not assign the block result 283s returns false 283s #fail 283s sets the state to be rejected 283s defaults the reason to a StandardError 283s sets the value to be nil 283s sets the reason to the given exception 283s raises an exception if set more than once 283s returns self 283s it should behave like obligation 283s #reason 283s is nil when :fulfilled 283s is set to error object of the exception when :rejected 283s is nil when :pending 283s #value 283s returns nil when timeout reached 283s is nil when :pending 283s is nil when :rejected 283s returns nil when reaching the optional timeout value 288s returns the value when fulfilled before timeout 293s blocks the caller when :pending and timeout is nil 293s is set to the return value of the block when :fulfilled 293s returns immediately when timeout is zero 293s #state 293s is :fulfilled when the handler completes 293s is :pending when first created 293s is :rejected when the handler raises an exception 293s it should behave like dereferenceable 294s calls #dup when the :dup_on_deref option is true 294s supports dereference flags with observers 294s defaults :copy_on_deref to nil 294s does not call the #copy_on_deref block when the value is nil 294s calls the :copy block first followed by #dup followed by #freeze 294s does not call #freeze when #freeze_on_deref is set and the value is nil 295s calls #freeze when the :freeze_on_deref option is true 295s calls the block when the :copy_on_deref option is passed a proc 295s defaults :freeze_on_deref to false 295s does not call #dup when #dup_on_deref is set and the value is nil 295s defaults :dup_on_deref to false 295s it should behave like observable 295s #delete_observers 295s returns self 295s deletes all observers when called before first notification 295s #add_observer 295s adds an observer with :func if called before first notification 295s raises an exception if not given an observer or a block 295s creates an observer from a block if called before first notification 295s raises an exception when given both an observer and a block 296s adds an observer if called before first notification 296s #count_observers 296s returns zero after #delete_observers has been called 296s returns zero for a new observable object 296s returns a count of registered observers if called before first notification 296s first notification 296s calls the appropriate function on all observers which specified a :func 297s does not notify any observers removed with #delete_observer 297s calls the proc for all observers added as a block 298s does not notify any observers after #delete_observers called 298s calls the #update method on all observers without a specified :func 298s #delete_observer 298s returns the removed observer if found in the observer set 298s deletes the given observer if called before first notification 298s returns the given observer even when not found in the observer set 298s #set 298s fulfils when given a block which executes successfully 298s raises an exception when given neither a value nor a block 298s sets the state to be fulfilled 298s raises an exception if set more than once 298s raises an exception when given a value and a block 298s sets the value 298s returns self 298s rejects when given a block which raises an exception 298s initialization 298s sets the state to incomplete 298s observation 298s notifies an observer added after fulfillment 298s does not notify existing observers when a new observer added after fulfillment 298s notifies all observers on fulfillment 298s does not notify existing observers when a new observer added after rejection 298s notifies an observer added after rejection 298s notifies all observers on rejection 298s deadlock avoidance 298s should notify observers outside mutex lock 298s should notify a new observer added after fulfillment outside lock 298s 298s #leave_transaction 298s neither commits nor aborts a transaction 298s raises an exception outside an #atomically block 298s 298s Concurrent::Actor 298s forbids Immediate executor 298s links atomically 298s links 298s dead letter routing 298s logs by deafault 298s messaging 298s is expected to eq 4 298s termination 298s terminates with all its children 298s spawning 298s terminates on failed initialization and raises with spawn! 298s terminates on failed initialization 298s terminates on failed message processing 298s Actor#spawn! 298s spawn 298s executor should be global 298s returns arg 298s #name 298s is expected to eq "ping" 298s #path 298s is expected to eq "/ping" 298s #reference 298s is expected to eq # 298s #parent 298s is expected to eq # 298s context_spawn_by_hash 298s executor should be global 298s returns arg 298s #reference 298s is expected to eq # 298s #path 298s is expected to eq "/ping" 298s #parent 298s is expected to eq # 298s #name 298s is expected to eq "ping" 298s context_spawn 298s executor should be global 298s returns arg 298s #reference 298s is expected to eq # 298s #parent 298s is expected to eq # 298s #path 298s is expected to eq "/ping" 298s #name 298s is expected to eq "ping" 298s spawn_by_hash 298s returns arg 298s executor should be global 298s #name 298s is expected to eq "ping" 298s #parent 298s is expected to eq # 298s #path 298s is expected to eq "/ping" 298s #reference 298s is expected to eq # 298s pausing 298s pauses on error and resets 298s pauses on error and resumes 298s pauses on error and restarts 298s envelope 298s is expected to eq # 298s pool 298s supports asks 298s message redirecting 298s is evaluated by child 298s children 298s has children set after a child is created 298s 298s monotonic_time 298s behavior 298s returns a Float when unit = :float_second 298s returns seconds as float 298s returns an Integer when unit = :millisecond 298s returns an Integer when unit = :nanosecond 298s returns an Integer when unit = :microsecond 298s raises ArgumentError on unknown units 298s returns a Float when unit = :float_microsecond 298s returns a Float when unit = :float_millisecond 298s returns an Integer when unit = :second 298s 298s #abort_transaction 298s raises an exception outside an #atomically block 298s 298s Concurrent 298s Throttle 299s capacity limited 299s acquiring 299s #to_s 299s #on 299s 299s Concurrent::Maybe 299s comparison 299s something is less than a bigger value 299s nothing is not greater than nothing 299s something is not equal to nothing 299s something is not equal to a different value 299s something is greater than a smaller value 299s nothing is equal to nothing 299s something is equal to the same value 299s nothing is not less than nothing 299s construction 299s hides Maybe.new 299s Maybe.nothing 299s creates a new Nothing Maybe 299s creates a new error object when given nothing 299s creates a new error object with the given string 299s uses the given Error object 299s Maybe.just 299s creates a new Just Maybe 299s Maybe.from 299s creates a Just Maybe on success 299s passes all arguments to the block 299s sets the reason to the error object on exception 299s creates a Nothing Maybe on exception 299s sets the value to the block result on success 299s raises an exception when no block is given 299s when just 299s #nothing returns NONE 299s #fulfilled? returns true 299s #nothing? returns false 299s #reason returns NONE 299s #rejected? returns false 299s #just? returns true 299s #value returns the value 299s #just returns the value 299s when nothing 299s #nothing returns the raised error 299s #rejected? returns true 299s #just returns NONE 299s #value returns NONE 299s #nothing? returns true 299s #reason returns the raised error 299s #just? returns false 299s #fulfilled? returns false 299s #or 299s returns the other when nothing 299s returns the value when something 299s 299s Concurrent::Options 299s .executor_from_options 299s raises an exception when :executor is an unrecognized symbol 299s returns the global io executor when :executor is :io 299s returns an immediate executor when :executor is :immediate 299s returns the global fast executor when :executor is :fast 299s returns the given :executor 299s 299s Concurrent::RubyExchanger 299s Good: 10000, Bad (timeout): 0, Ugly: 0 299s stress test 299s behaves like exchanger 299s #try_exchange 299s behaves like exchanger method with indefinite timeout 299s blocks indefinitely 299s receives the other value 299s can be reused 299s behaves like exchanger method with finite timeout 299s can be reused 299s receives the other value 300s blocks until timeout 300s behaves like exchanger method cross-thread interactions 300s allows multiple firsts to cancel if necessary 300s when first, waits for a second 300s #exchange 300s behaves like exchanger method with finite timeout 300s blocks until timeout 300s can be reused 300s receives the other value 300s behaves like exchanger method cross-thread interactions 300s allows multiple firsts to cancel if necessary 300s when first, waits for a second 300s behaves like exchanger method with indefinite timeout 300s receives the other value 300s can be reused 300s blocks indefinitely 300s #exchange! 300s behaves like exchanger method with indefinite timeout 300s blocks indefinitely 300s receives the other value 300s can be reused 300s behaves like exchanger method cross-thread interactions 300s allows multiple firsts to cancel if necessary 301s when first, waits for a second 301s behaves like exchanger method with finite timeout 301s blocks until timeout 301s receives the other value 301s can be reused 301s 301s Concurrent::ScheduledTask 301s #initialize 301s raises an exception when no block given 301s sets the initial state to :unscheduled 301s raises an exception when seconds is less than zero 301s accepts a number of seconds (from now) as the schedule time 301s behavior 301s it should behave like obligation 301s #reason 301s is set to error object of the exception when :rejected 301s is nil when :pending 301s is nil when :fulfilled 301s #value 301s is set to the return value of the block when :fulfilled 301s returns nil when timeout reached 301s returns nil when reaching the optional timeout value 302s blocks the caller when :pending and timeout is nil 302s returns immediately when timeout is zero 303s returns the value when fulfilled before timeout 303s is nil when :pending 303s is nil when :rejected 303s #state 303s is :fulfilled when the handler completes 303s is :pending when first created 303s is :rejected when the handler raises an exception 303s it should behave like dereferenceable 303s calls #dup when the :dup_on_deref option is true 303s calls #freeze when the :freeze_on_deref option is true 303s defaults :freeze_on_deref to false 303s defaults :dup_on_deref to false 303s calls the :copy block first followed by #dup followed by #freeze 303s calls the block when the :copy_on_deref option is passed a proc 303s supports dereference flags with observers 303s does not call the #copy_on_deref block when the value is nil 303s does not call #freeze when #freeze_on_deref is set and the value is nil 303s does not call #dup when #dup_on_deref is set and the value is nil 303s defaults :copy_on_deref to nil 303s it should behave like observable 303s first notification 304s does not notify any observers after #delete_observers called 304s calls the appropriate function on all observers which specified a :func 304s calls the proc for all observers added as a block 306s does not notify any observers removed with #delete_observer 306s calls the #update method on all observers without a specified :func 306s #count_observers 306s returns zero after #delete_observers has been called 306s returns a count of registered observers if called before first notification 306s returns zero for a new observable object 306s #add_observer 306s creates an observer from a block if called before first notification 306s raises an exception if not given an observer or a block 306s adds an observer with :func if called before first notification 306s adds an observer if called before first notification 306s raises an exception when given both an observer and a block 306s #delete_observers 306s deletes all observers when called before first notification 306s returns self 306s #delete_observer 306s returns the removed observer if found in the observer set 306s deletes the given observer if called before first notification 306s returns the given observer even when not found in the observer set 306s class #execute 306s passes the block to the new ScheduledTask 306s creates a new ScheduledTask 306s calls #execute on the new ScheduledTask 306s instance #execute 306s returns self 306s sets the sate to :pending 306s does nothing unless the state is :unscheduled 306s execution 306s passes :args from the options to the block 306s uses the :executor from the options 306s uses the :timer_set from the options 306s sets the state to :processing when the task is running 306s observation 306s notifies all observers on rejection 306s notifies all observers on fulfillment 306s returns true for an observer added while :pending 306s returns true for an observer added while :unscheduled 306s returns true for an observer added while :processing 306s #cancel 306s returns true on success 307s returns false if the task has already been performed 307s cancels the task if it has not yet scheduled 307s sets the reason to CancelledOperationError when cancelled 308s cancels the task if it has not yet started 308s returns false if the task is already in progress 308s 308s Concurrent::Synchronization 308s Concurrent::Synchronization::Object 308s does not ensure visibility when not needed 308s does ensure visibility when specified in a parent 308s does ensure visibility once when specified in child again 308s does ensure visibility when specified 308s it should behave like attr_volatile 309s older writes are always visible 309s Concurrent::Synchronization::Volatile module 309s it should behave like attr_volatile 310s older writes are always visible 310s Concurrent::Synchronization::LockableObject 310s final field always visible 310s #synchronize 310s allows only one thread to execute count 310s #wait 310s allows the sleeping thread to be killed 310s releases the lock on the current object 310s can be called from within a #synchronize block 310s puts the current thread to sleep 310s it should behave like attr_volatile 312s older writes are always visible 312s signaling 312s for now pending, tested pretty well by Event (PENDING: Not yet implemented) 312s attr_atomic 312s is expected to be == b 312s 312s Concurrent::Map 312s #key? 312s is unfreezable 312s default_proc is called with the Concurrent::Map and the key after #dup 312s options validation 312s #delete_pair 312s #put_if_absent 313s collision resistance 313s concurrency 313s #values 313s default_proc is called with the Concurrent::Map and the key 313s #get_and_set 313s #size 313s #replace_if_exists 313s initial capacity options validation 313s #get_or_default 313s #each_key 313s #clear 313s retrieval 313s collision resistance with arrays 313s marshal dump does not work with default proc 313s #value? 313s #delete 313s default proc 313s #empty 313s #keys 313s marshal dump load 313s load factor options validation 313s updates dont block reads 313s #each_value 313s #inspect 313s falsy default proc 313s #key 313s #replace_pair 313s #dup,#clone 313s #compute 313s exception 313s common 313s with return 313s #compute_if_present 313s common 313s exception 313s with return 313s #fetch 313s common 313s falsy 313s with return 313s #merge_pair 313s exception 313s common 313s with return 313s #each 313s it should behave like collection_each 313s common 313s allows modification 313s pair iterator 313s when no block is given 313s returns an object which is enumerable 313s returns an enumerator 313s #each_pair 313s it should behave like collection_each 313s common 313s pair iterator 313s allows modification 313s when no block is given 313s returns an enumerator 313s returns an object which is enumerable 313s #compute_if_absent 313s atomicity 313s exception 313s works in default_proc 313s common 313s with return 313s #fetch_or_store 313s falsy 313s common 313s with return 313s 313s Concurrent::Agent 313s nested actions 313s occur in the order they ar post 313s work with immediate execution 313s initialization 313s sets #failed? to false 313s sets the initial error to nil 313s defaults the error mode to :continue when an error handler is given 313s defaults the error mode to :fail when no error handler is given 313s sets the error mode when given a valid value 313s sets the initial value 313s raises an error when given an invalid error mode 313s action processing 313s when validation raises an error the handler will be called 313s upon validation the new value will be set to the block return value 313s the given block will be passed any provided arguments 313s when validation raises an error the value will not change 313s the return value will be passed to the validator function 313s any recursive action dispatches will run after the value has been updated 313s when validation fails the handler will be called 313s when the action raises an error the validator will not be called 313s when the action raises an error the handler will be called 313s when validation returns false the value will not change 313s on success all observers will be notified 313s the given block will be passed the current value 313s when the action raises an error the value will not change 313s posting 313s with #send 313s returns false when #failed? 313s returns true when the job is post 313s posts to the global fast executor 313s does not wait for the action to process 313s with #send_off 313s does not wait for the action to process 313s returns true when the job is post 313s returns false when #failed? 313s posts to the global io executor 313s with #send! 313s returns true when the job is post 313s raises an error when #failed? 313s posts to the global fast executor 313s does not wait for the action to process 313s with #send_off! 313s does not wait for the action to process 313s posts to the global io executor 313s returns true when the job is post 313s raises an error when #failed? 313s with #send_via 313s returns true when the job is post 313s posts to the given executor 313s returns false when #failed? 313s with #<< 313s posts to the global io executor 313s returns self when #failed? 313s returns self when the job is post 313s does not wait for the action to process 313s with #send_via! 313s posts to the given executor 313s raises an error when #failed? 313s returns true when the job is post 313s with #post 313s posts to the global io executor 313s returns true when the job is post 313s does not wait for the action to process 313s returns false when #failed? 313s error handling 313s the agent will be passed to the handler 313s the exception will be passed to the handler 313s does not trigger observation 313s #restart 313s when #failed? 313s raises an error if the new value is not valid 313s does not trigger observation 313s sets #failed? to true 313s clears the error 313s does not clear the action queue when :clear_actions is false 313s resumes action processing if actions are enqueued 313s sets the new value 313s does not clear the action queue when :clear_actions is not given 313s removes all actions from the queue when :clear_actions is true 313s when not #failed? 313s raises an error 313s observable 313s behaves like observable 313s #delete_observer 313s deletes the given observer if called before first notification 313s returns the given observer even when not found in the observer set 313s returns the removed observer if found in the observer set 313s #count_observers 314s returns zero after #delete_observers has been called 314s returns zero for a new observable object 314s returns a count of registered observers if called before first notification 314s first notification 314s calls the appropriate function on all observers which specified a :func 315s does not notify any observers after #delete_observers called 315s calls the proc for all observers added as a block 316s does not notify any observers removed with #delete_observer 316s calls the #update method on all observers without a specified :func 316s #add_observer 316s raises an exception if not given an observer or a block 316s raises an exception when given both an observer and a block 316s adds an observer if called before first notification 316s adds an observer with :func if called before first notification 316s creates an observer from a block if called before first notification 316s #delete_observers 316s deletes all observers when called before first notification 316s returns self 316s waiting 316s with .await_for 316s returns true when all prior actions for all agents have processed 316s returns false on timeout 316s returns true when there are no pending actions 316s with #await_for 316s does not block on actions from other threads 316s returns true when there are no pending actions 317s returns false on timeout 317s returns false if restarted with :clear_actions true (PENDING: the timing is nearly impossible) 318s returns true when all prior actions have processed 318s with #await_for! 318s raises an error if restarted with :clear_actions true (PENDING: the timing is nearly impossible) 318s does not block on actions from other threads 319s raises an error on timeout 319s returns true when there are no pending actions 320s returns true when all prior actions have processed 320s with #await 321s blocks indefinitely 322s returns true when all prior actions have processed 322s returns self when there are no pending actions 322s does not block on actions from other threads 322s blocks forever if restarted with :clear_actions true (PENDING: the timing is nearly impossible) 322s with await_for! 323s raises an exception on timeout 323s returns true when all prior actions for all agents have processed 323s returns true when there are no pending actions 323s with .await 323s returns true when all prior actions on all agents have processed 323s with #wait 324s returns true when all prior actions have processed 325s blocks indefinitely when timeout is nil 325s does not block on actions from other threads 325s returns false when timeout is given and restarted with :clear_actions true (PENDING: the timing is nearly impossible) 325s returns true when there are no pending actions and a timeout is given 326s returns false on timeout 326s blocks forever when timeout is nil and restarted with :clear_actions true (PENDING: the timing is nearly impossible) 326s returns true when there are no pending actions and timeout is nil 326s the await job 326s does not trigger the error mode 327s does not change the value 327s waits for nested actions 327s does not trigger observers 327s validation 327s rejects the new value when the validator returns false 327s sets the error when the error mode is :fail and the validator raises an error 327s sets the error when the error mode is :fail and the validator returns false 327s does not set an error when the error mode is :continue and the validator returns false 327s does not trigger observation when validation fails 327s does not set an error when the error mode is :continue and the validator raises an error 327s sets the new value when the validator returns true 327s rejects the new value when the validator raises an error 327s error mode 327s :continue 327s does not block further action processing 327s does not set an error when the action raises an error 327s sets #failed? to false 327s does not set an error when the validator raises an error 327s does not set an error when the validator returns false 327s :fail 327s blocks all further action processing until a restart 327s sets the error when the validator raises an error 327s sets #failed? to true 327s sets the error when the action raises an error 327s sets the error when the validator returns false 327s 327s Finished in 1 minute 22.31 seconds (files took 0.59638 seconds to load) 327s 1426 examples, 0 failures, 7 pending 327s 327s Randomized with seed 1 327s 327s mv ./.gem2deb.lib lib 327s mv ./.gem2deb.ext ext 328s autopkgtest [16:40:44]: test ruby: -----------------------] 331s ruby PASS 331s autopkgtest [16:40:47]: test ruby: - - - - - - - - - - results - - - - - - - - - - 335s autopkgtest [16:40:51]: test jruby: preparing testbed 357s autopkgtest [16:41:13]: testbed dpkg architecture: armhf 359s autopkgtest [16:41:15]: testbed apt version: 2.9.33 363s autopkgtest [16:41:19]: @@@@@@@@@@@@@@@@@@@@ test bed setup 365s autopkgtest [16:41:21]: testbed release detected to be: plucky 372s autopkgtest [16:41:28]: updating testbed package index (apt update) 374s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [126 kB] 374s Get:2 http://ftpmaster.internal/ubuntu plucky InRelease [257 kB] 375s Get:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease [126 kB] 375s Get:4 http://ftpmaster.internal/ubuntu plucky-security InRelease [126 kB] 375s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [99.7 kB] 375s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [15.8 kB] 375s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [379 kB] 376s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/main armhf Packages [114 kB] 376s Get:9 http://ftpmaster.internal/ubuntu plucky-proposed/main armhf c-n-f Metadata [1832 B] 376s Get:10 http://ftpmaster.internal/ubuntu plucky-proposed/restricted armhf c-n-f Metadata [116 B] 376s Get:11 http://ftpmaster.internal/ubuntu plucky-proposed/universe armhf Packages [312 kB] 376s Get:12 http://ftpmaster.internal/ubuntu plucky-proposed/universe armhf c-n-f Metadata [11.1 kB] 376s Get:13 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse armhf Packages [3472 B] 376s Get:14 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse armhf c-n-f Metadata [240 B] 376s Get:15 http://ftpmaster.internal/ubuntu plucky/universe Sources [21.0 MB] 398s Get:16 http://ftpmaster.internal/ubuntu plucky/main Sources [1394 kB] 399s Get:17 http://ftpmaster.internal/ubuntu plucky/multiverse Sources [299 kB] 400s Get:18 http://ftpmaster.internal/ubuntu plucky/main armhf Packages [1378 kB] 401s Get:19 http://ftpmaster.internal/ubuntu plucky/main armhf c-n-f Metadata [29.4 kB] 401s Get:20 http://ftpmaster.internal/ubuntu plucky/restricted armhf c-n-f Metadata [108 B] 401s Get:21 http://ftpmaster.internal/ubuntu plucky/universe armhf Packages [15.1 MB] 416s Get:22 http://ftpmaster.internal/ubuntu plucky/multiverse armhf Packages [172 kB] 418s Fetched 41.0 MB in 43s (949 kB/s) 419s Reading package lists... 424s autopkgtest [16:42:20]: upgrading testbed (apt dist-upgrade and autopurge) 426s Reading package lists... 426s Building dependency tree... 426s Reading state information... 427s Calculating upgrade...Starting pkgProblemResolver with broken count: 0 427s Starting 2 pkgProblemResolver with broken count: 0 427s Done 428s Entering ResolveByKeep 428s 429s Calculating upgrade... 429s The following packages will be upgraded: 429s libc-bin libc6 locales pinentry-curses python3-jinja2 sos strace 429s 7 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 429s Need to get 8683 kB of archives. 429s After this operation, 23.6 kB of additional disk space will be used. 429s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed/main armhf libc6 armhf 2.41-1ubuntu2 [2932 kB] 432s Get:2 http://ftpmaster.internal/ubuntu plucky-proposed/main armhf libc-bin armhf 2.41-1ubuntu2 [545 kB] 433s Get:3 http://ftpmaster.internal/ubuntu plucky-proposed/main armhf locales all 2.41-1ubuntu2 [4246 kB] 438s Get:4 http://ftpmaster.internal/ubuntu plucky/main armhf strace armhf 6.13+ds-1ubuntu1 [445 kB] 438s Get:5 http://ftpmaster.internal/ubuntu plucky/main armhf pinentry-curses armhf 1.3.1-2ubuntu3 [40.6 kB] 438s Get:6 http://ftpmaster.internal/ubuntu plucky/main armhf python3-jinja2 all 3.1.5-2ubuntu1 [109 kB] 438s Get:7 http://ftpmaster.internal/ubuntu plucky/main armhf sos all 4.9.0-5 [365 kB] 439s Preconfiguring packages ... 439s Fetched 8683 kB in 9s (915 kB/s) 439s (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 ... 64655 files and directories currently installed.) 439s Preparing to unpack .../libc6_2.41-1ubuntu2_armhf.deb ... 440s Unpacking libc6:armhf (2.41-1ubuntu2) over (2.41-1ubuntu1) ... 440s Setting up libc6:armhf (2.41-1ubuntu2) ... 440s (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 ... 64655 files and directories currently installed.) 440s Preparing to unpack .../libc-bin_2.41-1ubuntu2_armhf.deb ... 440s Unpacking libc-bin (2.41-1ubuntu2) over (2.41-1ubuntu1) ... 440s Setting up libc-bin (2.41-1ubuntu2) ... 440s (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 ... 64655 files and directories currently installed.) 440s Preparing to unpack .../locales_2.41-1ubuntu2_all.deb ... 440s Unpacking locales (2.41-1ubuntu2) over (2.41-1ubuntu1) ... 441s Preparing to unpack .../strace_6.13+ds-1ubuntu1_armhf.deb ... 441s Unpacking strace (6.13+ds-1ubuntu1) over (6.11-0ubuntu1) ... 441s Preparing to unpack .../pinentry-curses_1.3.1-2ubuntu3_armhf.deb ... 441s Unpacking pinentry-curses (1.3.1-2ubuntu3) over (1.3.1-2ubuntu2) ... 441s Preparing to unpack .../python3-jinja2_3.1.5-2ubuntu1_all.deb ... 441s Unpacking python3-jinja2 (3.1.5-2ubuntu1) over (3.1.5-2) ... 441s Preparing to unpack .../archives/sos_4.9.0-5_all.deb ... 441s Unpacking sos (4.9.0-5) over (4.9.0-4) ... 441s Setting up sos (4.9.0-5) ... 442s Setting up pinentry-curses (1.3.1-2ubuntu3) ... 442s Setting up locales (2.41-1ubuntu2) ... 443s Generating locales (this might take a while)... 445s en_US.UTF-8... done 445s Generation complete. 445s Setting up python3-jinja2 (3.1.5-2ubuntu1) ... 445s Setting up strace (6.13+ds-1ubuntu1) ... 445s Processing triggers for man-db (2.13.0-1) ... 446s Processing triggers for systemd (257.3-1ubuntu3) ... 449s Reading package lists... 449s Building dependency tree... 449s Reading state information... 450s Starting pkgProblemResolver with broken count: 0 450s Starting 2 pkgProblemResolver with broken count: 0 450s Done 450s Solving dependencies... 451s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 453s autopkgtest [16:42:49]: rebooting testbed after setup commands that affected boot 517s Reading package lists... 517s Building dependency tree... 517s Reading state information... 517s Starting pkgProblemResolver with broken count: 0 518s Starting 2 pkgProblemResolver with broken count: 0 518s Done 518s The following NEW packages will be installed: 518s ca-certificates-java default-jre-headless java-common jruby libasm-java 518s libbackport9-java libbcpkix-java libbcprov-java libbctls-java libbcutil-java 518s libdirgra-java libfixposix4t64 libhawtjni-runtime-java 518s libheadius-options-java libinvokebinder-java libjansi-native-java 518s libjansi1-java libjcodings-java libjffi-java libjffi-jni libjitescript-java 518s libjline2-java libjnr-constants-java libjnr-enxio-java libjnr-ffi-java 518s libjnr-netdb-java libjnr-posix-java libjnr-unixsocket-java 518s libjnr-x86asm-java libjoda-time-java libjpeg-turbo8 libjpeg8 518s libjruby-joni-java libjzlib-java liblcms2-2 libpcsclite1 libruby libruby3.3 518s libsnakeyaml-engine-java openjdk-21-jre-headless rake ruby ruby-concurrent 518s ruby-concurrent-ext ruby-did-you-mean ruby-diff-lcs ruby-minitest 518s ruby-net-telnet ruby-power-assert ruby-rspec ruby-rspec-core 518s ruby-rspec-expectations ruby-rspec-mocks ruby-rspec-support ruby-rubygems 518s ruby-sdbm ruby-test-unit ruby-timecop ruby-webrick ruby-xmlrpc ruby3.3 519s rubygems-integration 519s 0 upgraded, 62 newly installed, 0 to remove and 0 not upgraded. 519s Need to get 83.8 MB of archives. 519s After this operation, 261 MB of additional disk space will be used. 519s Get:1 http://ftpmaster.internal/ubuntu plucky/main armhf ca-certificates-java all 20240118 [11.6 kB] 519s Get:2 http://ftpmaster.internal/ubuntu plucky/main armhf java-common all 0.76 [6852 B] 519s Get:3 http://ftpmaster.internal/ubuntu plucky/main armhf liblcms2-2 armhf 2.16-2 [137 kB] 519s Get:4 http://ftpmaster.internal/ubuntu plucky/main armhf libjpeg-turbo8 armhf 2.1.5-3ubuntu2 [127 kB] 519s Get:5 http://ftpmaster.internal/ubuntu plucky/main armhf libjpeg8 armhf 8c-2ubuntu11 [2148 B] 519s Get:6 http://ftpmaster.internal/ubuntu plucky/main armhf libpcsclite1 armhf 2.3.1-1 [24.9 kB] 519s Get:7 http://ftpmaster.internal/ubuntu plucky/main armhf openjdk-21-jre-headless armhf 21.0.6+7-1 [39.7 MB] 569s Get:8 http://ftpmaster.internal/ubuntu plucky/main armhf default-jre-headless armhf 2:1.21-76 [3182 B] 569s Get:9 http://ftpmaster.internal/ubuntu plucky/universe armhf libasm-java all 9.7.1-1 [388 kB] 569s Get:10 http://ftpmaster.internal/ubuntu plucky/universe armhf libbackport9-java all 1.10-2 [13.2 kB] 569s Get:11 http://ftpmaster.internal/ubuntu plucky/universe armhf libbcprov-java all 1.77-1 [5227 kB] 575s Get:12 http://ftpmaster.internal/ubuntu plucky/universe armhf libbcutil-java all 1.77-1 [530 kB] 575s Get:13 http://ftpmaster.internal/ubuntu plucky/universe armhf libbcpkix-java all 1.77-1 [888 kB] 576s Get:14 http://ftpmaster.internal/ubuntu plucky/universe armhf libbctls-java all 1.77-1 [634 kB] 577s Get:15 http://ftpmaster.internal/ubuntu plucky/universe armhf libdirgra-java all 0.4-2 [21.6 kB] 577s Get:16 http://ftpmaster.internal/ubuntu plucky/universe armhf libfixposix4t64 armhf 1:0.5.1-1+nmu1.1build1 [14.5 kB] 577s Get:17 http://ftpmaster.internal/ubuntu plucky/universe armhf libheadius-options-java all 1.7-1 [18.2 kB] 577s Get:18 http://ftpmaster.internal/ubuntu plucky/universe armhf libinvokebinder-java all 1.14-1 [52.0 kB] 577s Get:19 http://ftpmaster.internal/ubuntu plucky/universe armhf libhawtjni-runtime-java all 1.18-1 [28.9 kB] 577s Get:20 http://ftpmaster.internal/ubuntu plucky/universe armhf libjansi-native-java all 1.8-2 [24.1 kB] 577s Get:21 http://ftpmaster.internal/ubuntu plucky/universe armhf libjansi1-java all 1.18-3.1 [56.2 kB] 577s Get:22 http://ftpmaster.internal/ubuntu plucky/universe armhf libjcodings-java all 1.0.58-1 [1474 kB] 580s Get:23 http://ftpmaster.internal/ubuntu plucky/universe armhf libjffi-jni armhf 1.3.13+ds-1 [24.9 kB] 580s Get:24 http://ftpmaster.internal/ubuntu plucky/universe armhf libjffi-java all 1.3.13+ds-1 [112 kB] 580s Get:25 http://ftpmaster.internal/ubuntu plucky/universe armhf libjitescript-java all 0.4.3-1 [24.4 kB] 580s Get:26 http://ftpmaster.internal/ubuntu plucky/universe armhf libjline2-java all 2.14.6-5 [150 kB] 580s Get:27 http://ftpmaster.internal/ubuntu plucky/universe armhf libjnr-constants-java all 0.10.4-2 [1397 kB] 581s Get:28 http://ftpmaster.internal/ubuntu plucky/universe armhf libjnr-x86asm-java all 1.0.2-6 [216 kB] 581s Get:29 http://ftpmaster.internal/ubuntu plucky/universe armhf libjnr-ffi-java all 2.2.15-2 [627 kB] 581s Get:30 http://ftpmaster.internal/ubuntu plucky/universe armhf libjnr-enxio-java all 0.32.16-1 [33.7 kB] 581s Get:31 http://ftpmaster.internal/ubuntu plucky/universe armhf libjnr-netdb-java all 1.2.0+dfsg-1 [58.7 kB] 581s Get:32 http://ftpmaster.internal/ubuntu plucky/universe armhf libjnr-posix-java all 3.1.18-1 [267 kB] 582s Get:33 http://ftpmaster.internal/ubuntu plucky/universe armhf libjnr-unixsocket-java all 0.38.21-2 [46.9 kB] 582s Get:34 http://ftpmaster.internal/ubuntu plucky/universe armhf libjoda-time-java all 2.10.14-1 [535 kB] 582s Get:35 http://ftpmaster.internal/ubuntu plucky/universe armhf libjruby-joni-java all 2.2.1-1 [222 kB] 582s Get:36 http://ftpmaster.internal/ubuntu plucky/universe armhf libjzlib-java all 1.1.3-3 [76.8 kB] 583s Get:37 http://ftpmaster.internal/ubuntu plucky/universe armhf libsnakeyaml-engine-java all 2.7+ds-3 [258 kB] 583s Get:38 http://ftpmaster.internal/ubuntu plucky/universe armhf jruby all 9.4.8.0+ds-2ubuntu1 [23.4 MB] 608s Get:39 http://ftpmaster.internal/ubuntu plucky/main armhf rubygems-integration all 1.19 [5550 B] 608s Get:40 http://ftpmaster.internal/ubuntu plucky/main armhf ruby3.3 armhf 3.3.6-1.1ubuntu1 [49.0 kB] 608s Get:41 http://ftpmaster.internal/ubuntu plucky/main armhf ruby-rubygems all 3.6.3-1 [332 kB] 609s Get:42 http://ftpmaster.internal/ubuntu plucky/main armhf ruby armhf 1:3.3~ubuntu3 [3618 B] 609s Get:43 http://ftpmaster.internal/ubuntu plucky/main armhf rake all 13.2.1-1 [45.8 kB] 609s Get:44 http://ftpmaster.internal/ubuntu plucky/main armhf ruby-did-you-mean all 1.6.3-2 [14.8 kB] 609s Get:45 http://ftpmaster.internal/ubuntu plucky/main armhf ruby-minitest all 5.25.4-2ubuntu1 [48.9 kB] 609s Get:46 http://ftpmaster.internal/ubuntu plucky/main armhf ruby-net-telnet all 0.2.0-1 [13.3 kB] 609s Get:47 http://ftpmaster.internal/ubuntu plucky/main armhf ruby-power-assert all 2.0.3-1 [12.0 kB] 609s Get:48 http://ftpmaster.internal/ubuntu plucky/main armhf ruby-test-unit all 3.6.2-1 [67.0 kB] 609s Get:49 http://ftpmaster.internal/ubuntu plucky/main armhf ruby-webrick all 1.8.1-1ubuntu1 [52.6 kB] 610s Get:50 http://ftpmaster.internal/ubuntu plucky/main armhf ruby-xmlrpc all 0.3.3-2 [24.8 kB] 610s Get:51 http://ftpmaster.internal/ubuntu plucky/main armhf ruby-sdbm armhf 1.0.0-5build5 [13.9 kB] 610s Get:52 http://ftpmaster.internal/ubuntu plucky/main armhf libruby3.3 armhf 3.3.6-1.1ubuntu1 [5572 kB] 615s Get:53 http://ftpmaster.internal/ubuntu plucky/main armhf libruby armhf 1:3.3~ubuntu3 [5038 B] 615s Get:54 http://ftpmaster.internal/ubuntu plucky/universe armhf ruby-concurrent all 1.3.4-1 [283 kB] 615s Get:55 http://ftpmaster.internal/ubuntu plucky/universe armhf ruby-concurrent-ext armhf 1.3.4-1 [8586 B] 615s Get:56 http://ftpmaster.internal/ubuntu plucky/universe armhf ruby-diff-lcs all 1.5.1-1 [22.8 kB] 615s Get:57 http://ftpmaster.internal/ubuntu plucky/universe armhf ruby-rspec-support all 3.13.0c0e0m0s1-2 [29.2 kB] 615s Get:58 http://ftpmaster.internal/ubuntu plucky/universe armhf ruby-rspec-core all 3.13.0c0e0m0s1-2 [164 kB] 615s Get:59 http://ftpmaster.internal/ubuntu plucky/universe armhf ruby-rspec-expectations all 3.13.0c0e0m0s1-2 [89.8 kB] 615s Get:60 http://ftpmaster.internal/ubuntu plucky/universe armhf ruby-rspec-mocks all 3.13.0c0e0m0s1-2 [81.0 kB] 616s Get:61 http://ftpmaster.internal/ubuntu plucky/universe armhf ruby-rspec all 3.13.0c0e0m0s1-2 [3500 B] 616s Get:62 http://ftpmaster.internal/ubuntu plucky/universe armhf ruby-timecop all 0.9.10-1.1 [11.5 kB] 616s Fetched 83.8 MB in 1min 37s (863 kB/s) 616s Selecting previously unselected package ca-certificates-java. 616s (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 ... 64655 files and directories currently installed.) 616s Preparing to unpack .../00-ca-certificates-java_20240118_all.deb ... 616s Unpacking ca-certificates-java (20240118) ... 616s Selecting previously unselected package java-common. 616s Preparing to unpack .../01-java-common_0.76_all.deb ... 616s Unpacking java-common (0.76) ... 616s Selecting previously unselected package liblcms2-2:armhf. 616s Preparing to unpack .../02-liblcms2-2_2.16-2_armhf.deb ... 616s Unpacking liblcms2-2:armhf (2.16-2) ... 616s Selecting previously unselected package libjpeg-turbo8:armhf. 616s Preparing to unpack .../03-libjpeg-turbo8_2.1.5-3ubuntu2_armhf.deb ... 616s Unpacking libjpeg-turbo8:armhf (2.1.5-3ubuntu2) ... 616s Selecting previously unselected package libjpeg8:armhf. 616s Preparing to unpack .../04-libjpeg8_8c-2ubuntu11_armhf.deb ... 616s Unpacking libjpeg8:armhf (8c-2ubuntu11) ... 616s Selecting previously unselected package libpcsclite1:armhf. 616s Preparing to unpack .../05-libpcsclite1_2.3.1-1_armhf.deb ... 616s Unpacking libpcsclite1:armhf (2.3.1-1) ... 616s Selecting previously unselected package openjdk-21-jre-headless:armhf. 616s Preparing to unpack .../06-openjdk-21-jre-headless_21.0.6+7-1_armhf.deb ... 616s Unpacking openjdk-21-jre-headless:armhf (21.0.6+7-1) ... 618s Selecting previously unselected package default-jre-headless. 618s Preparing to unpack .../07-default-jre-headless_2%3a1.21-76_armhf.deb ... 618s Unpacking default-jre-headless (2:1.21-76) ... 618s Selecting previously unselected package libasm-java. 618s Preparing to unpack .../08-libasm-java_9.7.1-1_all.deb ... 618s Unpacking libasm-java (9.7.1-1) ... 618s Selecting previously unselected package libbackport9-java. 618s Preparing to unpack .../09-libbackport9-java_1.10-2_all.deb ... 618s Unpacking libbackport9-java (1.10-2) ... 618s Selecting previously unselected package libbcprov-java. 618s Preparing to unpack .../10-libbcprov-java_1.77-1_all.deb ... 618s Unpacking libbcprov-java (1.77-1) ... 618s Selecting previously unselected package libbcutil-java. 618s Preparing to unpack .../11-libbcutil-java_1.77-1_all.deb ... 618s Unpacking libbcutil-java (1.77-1) ... 618s Selecting previously unselected package libbcpkix-java. 618s Preparing to unpack .../12-libbcpkix-java_1.77-1_all.deb ... 618s Unpacking libbcpkix-java (1.77-1) ... 618s Selecting previously unselected package libbctls-java. 618s Preparing to unpack .../13-libbctls-java_1.77-1_all.deb ... 618s Unpacking libbctls-java (1.77-1) ... 618s Selecting previously unselected package libdirgra-java. 618s Preparing to unpack .../14-libdirgra-java_0.4-2_all.deb ... 618s Unpacking libdirgra-java (0.4-2) ... 618s Selecting previously unselected package libfixposix4t64:armhf. 618s Preparing to unpack .../15-libfixposix4t64_1%3a0.5.1-1+nmu1.1build1_armhf.deb ... 618s Unpacking libfixposix4t64:armhf (1:0.5.1-1+nmu1.1build1) ... 618s Selecting previously unselected package libheadius-options-java. 618s Preparing to unpack .../16-libheadius-options-java_1.7-1_all.deb ... 618s Unpacking libheadius-options-java (1.7-1) ... 618s Selecting previously unselected package libinvokebinder-java. 618s Preparing to unpack .../17-libinvokebinder-java_1.14-1_all.deb ... 618s Unpacking libinvokebinder-java (1.14-1) ... 618s Selecting previously unselected package libhawtjni-runtime-java. 618s Preparing to unpack .../18-libhawtjni-runtime-java_1.18-1_all.deb ... 618s Unpacking libhawtjni-runtime-java (1.18-1) ... 618s Selecting previously unselected package libjansi-native-java. 618s Preparing to unpack .../19-libjansi-native-java_1.8-2_all.deb ... 618s Unpacking libjansi-native-java (1.8-2) ... 618s Selecting previously unselected package libjansi1-java. 618s Preparing to unpack .../20-libjansi1-java_1.18-3.1_all.deb ... 618s Unpacking libjansi1-java (1.18-3.1) ... 618s Selecting previously unselected package libjcodings-java. 618s Preparing to unpack .../21-libjcodings-java_1.0.58-1_all.deb ... 618s Unpacking libjcodings-java (1.0.58-1) ... 618s Selecting previously unselected package libjffi-jni:armhf. 618s Preparing to unpack .../22-libjffi-jni_1.3.13+ds-1_armhf.deb ... 618s Unpacking libjffi-jni:armhf (1.3.13+ds-1) ... 618s Selecting previously unselected package libjffi-java. 618s Preparing to unpack .../23-libjffi-java_1.3.13+ds-1_all.deb ... 618s Unpacking libjffi-java (1.3.13+ds-1) ... 618s Selecting previously unselected package libjitescript-java. 618s Preparing to unpack .../24-libjitescript-java_0.4.3-1_all.deb ... 618s Unpacking libjitescript-java (0.4.3-1) ... 618s Selecting previously unselected package libjline2-java. 618s Preparing to unpack .../25-libjline2-java_2.14.6-5_all.deb ... 618s Unpacking libjline2-java (2.14.6-5) ... 618s Selecting previously unselected package libjnr-constants-java. 618s Preparing to unpack .../26-libjnr-constants-java_0.10.4-2_all.deb ... 618s Unpacking libjnr-constants-java (0.10.4-2) ... 618s Selecting previously unselected package libjnr-x86asm-java. 618s Preparing to unpack .../27-libjnr-x86asm-java_1.0.2-6_all.deb ... 618s Unpacking libjnr-x86asm-java (1.0.2-6) ... 618s Selecting previously unselected package libjnr-ffi-java. 618s Preparing to unpack .../28-libjnr-ffi-java_2.2.15-2_all.deb ... 618s Unpacking libjnr-ffi-java (2.2.15-2) ... 618s Selecting previously unselected package libjnr-enxio-java. 618s Preparing to unpack .../29-libjnr-enxio-java_0.32.16-1_all.deb ... 618s Unpacking libjnr-enxio-java (0.32.16-1) ... 618s Selecting previously unselected package libjnr-netdb-java. 618s Preparing to unpack .../30-libjnr-netdb-java_1.2.0+dfsg-1_all.deb ... 618s Unpacking libjnr-netdb-java (1.2.0+dfsg-1) ... 618s Selecting previously unselected package libjnr-posix-java. 618s Preparing to unpack .../31-libjnr-posix-java_3.1.18-1_all.deb ... 618s Unpacking libjnr-posix-java (3.1.18-1) ... 618s Selecting previously unselected package libjnr-unixsocket-java. 618s Preparing to unpack .../32-libjnr-unixsocket-java_0.38.21-2_all.deb ... 618s Unpacking libjnr-unixsocket-java (0.38.21-2) ... 619s Selecting previously unselected package libjoda-time-java. 619s Preparing to unpack .../33-libjoda-time-java_2.10.14-1_all.deb ... 619s Unpacking libjoda-time-java (2.10.14-1) ... 619s Selecting previously unselected package libjruby-joni-java. 619s Preparing to unpack .../34-libjruby-joni-java_2.2.1-1_all.deb ... 619s Unpacking libjruby-joni-java (2.2.1-1) ... 619s Selecting previously unselected package libjzlib-java. 619s Preparing to unpack .../35-libjzlib-java_1.1.3-3_all.deb ... 619s Unpacking libjzlib-java (1.1.3-3) ... 619s Selecting previously unselected package libsnakeyaml-engine-java. 619s Preparing to unpack .../36-libsnakeyaml-engine-java_2.7+ds-3_all.deb ... 619s Unpacking libsnakeyaml-engine-java (2.7+ds-3) ... 619s Selecting previously unselected package jruby. 619s Preparing to unpack .../37-jruby_9.4.8.0+ds-2ubuntu1_all.deb ... 619s Unpacking jruby (9.4.8.0+ds-2ubuntu1) ... 619s Selecting previously unselected package rubygems-integration. 619s Preparing to unpack .../38-rubygems-integration_1.19_all.deb ... 619s Unpacking rubygems-integration (1.19) ... 619s Selecting previously unselected package ruby3.3. 619s Preparing to unpack .../39-ruby3.3_3.3.6-1.1ubuntu1_armhf.deb ... 619s Unpacking ruby3.3 (3.3.6-1.1ubuntu1) ... 619s Selecting previously unselected package ruby-rubygems. 619s Preparing to unpack .../40-ruby-rubygems_3.6.3-1_all.deb ... 619s Unpacking ruby-rubygems (3.6.3-1) ... 619s Selecting previously unselected package ruby. 619s Preparing to unpack .../41-ruby_1%3a3.3~ubuntu3_armhf.deb ... 619s Unpacking ruby (1:3.3~ubuntu3) ... 619s Selecting previously unselected package rake. 619s Preparing to unpack .../42-rake_13.2.1-1_all.deb ... 619s Unpacking rake (13.2.1-1) ... 619s Selecting previously unselected package ruby-did-you-mean. 619s Preparing to unpack .../43-ruby-did-you-mean_1.6.3-2_all.deb ... 619s Unpacking ruby-did-you-mean (1.6.3-2) ... 619s Selecting previously unselected package ruby-minitest. 619s Preparing to unpack .../44-ruby-minitest_5.25.4-2ubuntu1_all.deb ... 619s Unpacking ruby-minitest (5.25.4-2ubuntu1) ... 619s Selecting previously unselected package ruby-net-telnet. 619s Preparing to unpack .../45-ruby-net-telnet_0.2.0-1_all.deb ... 619s Unpacking ruby-net-telnet (0.2.0-1) ... 619s Selecting previously unselected package ruby-power-assert. 619s Preparing to unpack .../46-ruby-power-assert_2.0.3-1_all.deb ... 619s Unpacking ruby-power-assert (2.0.3-1) ... 619s Selecting previously unselected package ruby-test-unit. 619s Preparing to unpack .../47-ruby-test-unit_3.6.2-1_all.deb ... 619s Unpacking ruby-test-unit (3.6.2-1) ... 619s Selecting previously unselected package ruby-webrick. 619s Preparing to unpack .../48-ruby-webrick_1.8.1-1ubuntu1_all.deb ... 619s Unpacking ruby-webrick (1.8.1-1ubuntu1) ... 620s Selecting previously unselected package ruby-xmlrpc. 620s Preparing to unpack .../49-ruby-xmlrpc_0.3.3-2_all.deb ... 620s Unpacking ruby-xmlrpc (0.3.3-2) ... 620s Selecting previously unselected package ruby-sdbm:armhf. 620s Preparing to unpack .../50-ruby-sdbm_1.0.0-5build5_armhf.deb ... 620s Unpacking ruby-sdbm:armhf (1.0.0-5build5) ... 620s Selecting previously unselected package libruby3.3:armhf. 620s Preparing to unpack .../51-libruby3.3_3.3.6-1.1ubuntu1_armhf.deb ... 620s Unpacking libruby3.3:armhf (3.3.6-1.1ubuntu1) ... 620s Selecting previously unselected package libruby:armhf. 620s Preparing to unpack .../52-libruby_1%3a3.3~ubuntu3_armhf.deb ... 620s Unpacking libruby:armhf (1:3.3~ubuntu3) ... 620s Selecting previously unselected package ruby-concurrent. 620s Preparing to unpack .../53-ruby-concurrent_1.3.4-1_all.deb ... 620s Unpacking ruby-concurrent (1.3.4-1) ... 620s Selecting previously unselected package ruby-concurrent-ext. 620s Preparing to unpack .../54-ruby-concurrent-ext_1.3.4-1_armhf.deb ... 620s Unpacking ruby-concurrent-ext (1.3.4-1) ... 620s Selecting previously unselected package ruby-diff-lcs. 620s Preparing to unpack .../55-ruby-diff-lcs_1.5.1-1_all.deb ... 620s Unpacking ruby-diff-lcs (1.5.1-1) ... 620s Selecting previously unselected package ruby-rspec-support. 620s Preparing to unpack .../56-ruby-rspec-support_3.13.0c0e0m0s1-2_all.deb ... 620s Unpacking ruby-rspec-support (3.13.0c0e0m0s1-2) ... 620s Selecting previously unselected package ruby-rspec-core. 620s Preparing to unpack .../57-ruby-rspec-core_3.13.0c0e0m0s1-2_all.deb ... 620s Unpacking ruby-rspec-core (3.13.0c0e0m0s1-2) ... 620s Selecting previously unselected package ruby-rspec-expectations. 620s Preparing to unpack .../58-ruby-rspec-expectations_3.13.0c0e0m0s1-2_all.deb ... 620s Unpacking ruby-rspec-expectations (3.13.0c0e0m0s1-2) ... 620s Selecting previously unselected package ruby-rspec-mocks. 620s Preparing to unpack .../59-ruby-rspec-mocks_3.13.0c0e0m0s1-2_all.deb ... 620s Unpacking ruby-rspec-mocks (3.13.0c0e0m0s1-2) ... 620s Selecting previously unselected package ruby-rspec. 621s Preparing to unpack .../60-ruby-rspec_3.13.0c0e0m0s1-2_all.deb ... 621s Unpacking ruby-rspec (3.13.0c0e0m0s1-2) ... 621s Selecting previously unselected package ruby-timecop. 621s Preparing to unpack .../61-ruby-timecop_0.9.10-1.1_all.deb ... 621s Unpacking ruby-timecop (0.9.10-1.1) ... 621s Setting up libbcprov-java (1.77-1) ... 621s Setting up liblcms2-2:armhf (2.16-2) ... 621s Setting up libfixposix4t64:armhf (1:0.5.1-1+nmu1.1build1) ... 621s Setting up java-common (0.76) ... 621s Setting up ruby-power-assert (2.0.3-1) ... 621s Setting up libbcutil-java (1.77-1) ... 621s Setting up libasm-java (9.7.1-1) ... 621s Setting up rubygems-integration (1.19) ... 621s Setting up libheadius-options-java (1.7-1) ... 621s Setting up libbctls-java (1.77-1) ... 621s Setting up ruby-concurrent (1.3.4-1) ... 621s Setting up libjnr-x86asm-java (1.0.2-6) ... 621s Setting up ruby-timecop (0.9.10-1.1) ... 621s Setting up libjzlib-java (1.1.3-3) ... 621s Setting up libbackport9-java (1.10-2) ... 621s Setting up ruby-minitest (5.25.4-2ubuntu1) ... 621s Setting up libjitescript-java (0.4.3-1) ... 621s Setting up libsnakeyaml-engine-java (2.7+ds-3) ... 621s Setting up ruby-test-unit (3.6.2-1) ... 621s Setting up ruby-net-telnet (0.2.0-1) ... 621s Setting up libpcsclite1:armhf (2.3.1-1) ... 621s Setting up libjpeg-turbo8:armhf (2.1.5-3ubuntu2) ... 621s Setting up ruby-rspec-support (3.13.0c0e0m0s1-2) ... 621s Setting up libjoda-time-java (2.10.14-1) ... 621s Setting up libjcodings-java (1.0.58-1) ... 621s Setting up ruby-webrick (1.8.1-1ubuntu1) ... 621s Setting up libinvokebinder-java (1.14-1) ... 621s Setting up libjffi-jni:armhf (1.3.13+ds-1) ... 621s Setting up ca-certificates-java (20240118) ... 621s No JRE found. Skipping Java certificates setup. 621s Setting up ruby-did-you-mean (1.6.3-2) ... 621s Setting up libbcpkix-java (1.77-1) ... 621s Setting up ruby-xmlrpc (0.3.3-2) ... 621s Setting up libhawtjni-runtime-java (1.18-1) ... 621s Setting up libdirgra-java (0.4-2) ... 621s Setting up libjnr-constants-java (0.10.4-2) ... 621s Setting up libjpeg8:armhf (8c-2ubuntu11) ... 621s Setting up libjffi-java (1.3.13+ds-1) ... 621s Setting up openjdk-21-jre-headless:armhf (21.0.6+7-1) ... 621s update-alternatives: using /usr/lib/jvm/java-21-openjdk-armhf/bin/java to provide /usr/bin/java (java) in auto mode 621s update-alternatives: using /usr/lib/jvm/java-21-openjdk-armhf/bin/jpackage to provide /usr/bin/jpackage (jpackage) in auto mode 621s update-alternatives: using /usr/lib/jvm/java-21-openjdk-armhf/bin/keytool to provide /usr/bin/keytool (keytool) in auto mode 621s update-alternatives: using /usr/lib/jvm/java-21-openjdk-armhf/bin/rmiregistry to provide /usr/bin/rmiregistry (rmiregistry) in auto mode 621s update-alternatives: using /usr/lib/jvm/java-21-openjdk-armhf/lib/jexec to provide /usr/bin/jexec (jexec) in auto mode 621s Setting up libjruby-joni-java (2.2.1-1) ... 621s Setting up libjansi-native-java (1.8-2) ... 621s Setting up libjansi1-java (1.18-3.1) ... 621s Setting up libjline2-java (2.14.6-5) ... 621s Setting up libjnr-ffi-java (2.2.15-2) ... 621s Setting up libjnr-enxio-java (0.32.16-1) ... 621s Setting up libjnr-netdb-java (1.2.0+dfsg-1) ... 621s Setting up libjnr-posix-java (3.1.18-1) ... 621s Setting up libjnr-unixsocket-java (0.38.21-2) ... 621s Setting up rake (13.2.1-1) ... 621s Setting up ruby3.3 (3.3.6-1.1ubuntu1) ... 621s Setting up ruby-sdbm:armhf (1.0.0-5build5) ... 621s Setting up libruby3.3:armhf (3.3.6-1.1ubuntu1) ... 621s Setting up ruby-rubygems (3.6.3-1) ... 621s Setting up libruby:armhf (1:3.3~ubuntu3) ... 621s Setting up ruby (1:3.3~ubuntu3) ... 621s Setting up ruby-rspec-core (3.13.0c0e0m0s1-2) ... 621s Setting up ruby-diff-lcs (1.5.1-1) ... 621s Setting up ruby-concurrent-ext (1.3.4-1) ... 621s Setting up ruby-rspec-expectations (3.13.0c0e0m0s1-2) ... 621s Setting up ruby-rspec-mocks (3.13.0c0e0m0s1-2) ... 621s Setting up ruby-rspec (3.13.0c0e0m0s1-2) ... 621s Processing triggers for libc-bin (2.41-1ubuntu2) ... 621s Processing triggers for man-db (2.13.0-1) ... 621s Processing triggers for ca-certificates-java (20240118) ... 622s Adding debian:ACCVRAIZ1.pem 622s Adding debian:AC_RAIZ_FNMT-RCM.pem 622s Adding debian:AC_RAIZ_FNMT-RCM_SERVIDORES_SEGUROS.pem 622s Adding debian:ANF_Secure_Server_Root_CA.pem 622s Adding debian:Actalis_Authentication_Root_CA.pem 622s Adding debian:AffirmTrust_Commercial.pem 622s Adding debian:AffirmTrust_Networking.pem 622s Adding debian:AffirmTrust_Premium.pem 622s Adding debian:AffirmTrust_Premium_ECC.pem 622s Adding debian:Amazon_Root_CA_1.pem 622s Adding debian:Amazon_Root_CA_2.pem 622s Adding debian:Amazon_Root_CA_3.pem 622s Adding debian:Amazon_Root_CA_4.pem 622s Adding debian:Atos_TrustedRoot_2011.pem 622s Adding debian:Atos_TrustedRoot_Root_CA_ECC_TLS_2021.pem 622s Adding debian:Atos_TrustedRoot_Root_CA_RSA_TLS_2021.pem 622s Adding debian:Autoridad_de_Certificacion_Firmaprofesional_CIF_A62634068.pem 622s Adding debian:BJCA_Global_Root_CA1.pem 622s Adding debian:BJCA_Global_Root_CA2.pem 622s Adding debian:Baltimore_CyberTrust_Root.pem 622s Adding debian:Buypass_Class_2_Root_CA.pem 622s Adding debian:Buypass_Class_3_Root_CA.pem 622s Adding debian:CA_Disig_Root_R2.pem 622s Adding debian:CFCA_EV_ROOT.pem 622s Adding debian:COMODO_Certification_Authority.pem 622s Adding debian:COMODO_ECC_Certification_Authority.pem 622s Adding debian:COMODO_RSA_Certification_Authority.pem 622s Adding debian:Certainly_Root_E1.pem 622s Adding debian:Certainly_Root_R1.pem 622s Adding debian:Certigna.pem 622s Adding debian:Certigna_Root_CA.pem 622s Adding debian:Certum_EC-384_CA.pem 622s Adding debian:Certum_Trusted_Network_CA.pem 622s Adding debian:Certum_Trusted_Network_CA_2.pem 622s Adding debian:Certum_Trusted_Root_CA.pem 622s Adding debian:CommScope_Public_Trust_ECC_Root-01.pem 622s Adding debian:CommScope_Public_Trust_ECC_Root-02.pem 622s Adding debian:CommScope_Public_Trust_RSA_Root-01.pem 622s Adding debian:CommScope_Public_Trust_RSA_Root-02.pem 622s Adding debian:Comodo_AAA_Services_root.pem 622s Adding debian:D-TRUST_BR_Root_CA_1_2020.pem 622s Adding debian:D-TRUST_EV_Root_CA_1_2020.pem 622s Adding debian:D-TRUST_Root_Class_3_CA_2_2009.pem 622s Adding debian:D-TRUST_Root_Class_3_CA_2_EV_2009.pem 622s Adding debian:DigiCert_Assured_ID_Root_CA.pem 622s Adding debian:DigiCert_Assured_ID_Root_G2.pem 622s Adding debian:DigiCert_Assured_ID_Root_G3.pem 622s Adding debian:DigiCert_Global_Root_CA.pem 622s Adding debian:DigiCert_Global_Root_G2.pem 622s Adding debian:DigiCert_Global_Root_G3.pem 622s Adding debian:DigiCert_High_Assurance_EV_Root_CA.pem 622s Adding debian:DigiCert_TLS_ECC_P384_Root_G5.pem 622s Adding debian:DigiCert_TLS_RSA4096_Root_G5.pem 622s Adding debian:DigiCert_Trusted_Root_G4.pem 622s Adding debian:Entrust.net_Premium_2048_Secure_Server_CA.pem 622s Adding debian:Entrust_Root_Certification_Authority.pem 622s Adding debian:Entrust_Root_Certification_Authority_-_EC1.pem 622s Adding debian:Entrust_Root_Certification_Authority_-_G2.pem 622s Adding debian:Entrust_Root_Certification_Authority_-_G4.pem 622s Adding debian:FIRMAPROFESIONAL_CA_ROOT-A_WEB.pem 622s Adding debian:GDCA_TrustAUTH_R5_ROOT.pem 622s Adding debian:GLOBALTRUST_2020.pem 622s Adding debian:GTS_Root_R1.pem 622s Adding debian:GTS_Root_R2.pem 622s Adding debian:GTS_Root_R3.pem 622s Adding debian:GTS_Root_R4.pem 622s Adding debian:GlobalSign_ECC_Root_CA_-_R4.pem 622s Adding debian:GlobalSign_ECC_Root_CA_-_R5.pem 622s Adding debian:GlobalSign_Root_CA.pem 622s Adding debian:GlobalSign_Root_CA_-_R3.pem 622s Adding debian:GlobalSign_Root_CA_-_R6.pem 622s Adding debian:GlobalSign_Root_E46.pem 622s Adding debian:GlobalSign_Root_R46.pem 622s Adding debian:Go_Daddy_Class_2_CA.pem 622s Adding debian:Go_Daddy_Root_Certificate_Authority_-_G2.pem 622s Adding debian:HARICA_TLS_ECC_Root_CA_2021.pem 622s Adding debian:HARICA_TLS_RSA_Root_CA_2021.pem 622s Adding debian:Hellenic_Academic_and_Research_Institutions_ECC_RootCA_2015.pem 622s Adding debian:Hellenic_Academic_and_Research_Institutions_RootCA_2015.pem 622s Adding debian:HiPKI_Root_CA_-_G1.pem 622s Adding debian:Hongkong_Post_Root_CA_3.pem 622s Adding debian:ISRG_Root_X1.pem 622s Adding debian:ISRG_Root_X2.pem 622s Adding debian:IdenTrust_Commercial_Root_CA_1.pem 622s Adding debian:IdenTrust_Public_Sector_Root_CA_1.pem 622s Adding debian:Izenpe.com.pem 622s Adding debian:Microsec_e-Szigno_Root_CA_2009.pem 622s Adding debian:Microsoft_ECC_Root_Certificate_Authority_2017.pem 622s Adding debian:Microsoft_RSA_Root_Certificate_Authority_2017.pem 622s Adding debian:NAVER_Global_Root_Certification_Authority.pem 622s Adding debian:NetLock_Arany_=Class_Gold=_Főtanúsítvány.pem 622s Adding debian:OISTE_WISeKey_Global_Root_GB_CA.pem 622s Adding debian:OISTE_WISeKey_Global_Root_GC_CA.pem 622s Adding debian:QuoVadis_Root_CA_1_G3.pem 622s Adding debian:QuoVadis_Root_CA_2.pem 622s Adding debian:QuoVadis_Root_CA_2_G3.pem 622s Adding debian:QuoVadis_Root_CA_3.pem 622s Adding debian:QuoVadis_Root_CA_3_G3.pem 622s Adding debian:SSL.com_EV_Root_Certification_Authority_ECC.pem 622s Adding debian:SSL.com_EV_Root_Certification_Authority_RSA_R2.pem 622s Adding debian:SSL.com_Root_Certification_Authority_ECC.pem 622s Adding debian:SSL.com_Root_Certification_Authority_RSA.pem 622s Adding debian:SSL.com_TLS_ECC_Root_CA_2022.pem 622s Adding debian:SSL.com_TLS_RSA_Root_CA_2022.pem 622s Adding debian:SZAFIR_ROOT_CA2.pem 622s Adding debian:Sectigo_Public_Server_Authentication_Root_E46.pem 622s Adding debian:Sectigo_Public_Server_Authentication_Root_R46.pem 622s Adding debian:SecureSign_RootCA11.pem 622s Adding debian:SecureSign_Root_CA12.pem 622s Adding debian:SecureSign_Root_CA14.pem 622s Adding debian:SecureSign_Root_CA15.pem 622s Adding debian:SecureTrust_CA.pem 622s Adding debian:Secure_Global_CA.pem 622s Adding debian:Security_Communication_ECC_RootCA1.pem 622s Adding debian:Security_Communication_RootCA2.pem 622s Adding debian:Security_Communication_RootCA3.pem 622s Adding debian:Starfield_Class_2_CA.pem 622s Adding debian:Starfield_Root_Certificate_Authority_-_G2.pem 622s Adding debian:Starfield_Services_Root_Certificate_Authority_-_G2.pem 622s Adding debian:SwissSign_Gold_CA_-_G2.pem 622s Adding debian:SwissSign_Silver_CA_-_G2.pem 622s Adding debian:T-TeleSec_GlobalRoot_Class_2.pem 622s Adding debian:T-TeleSec_GlobalRoot_Class_3.pem 622s Adding debian:TUBITAK_Kamu_SM_SSL_Kok_Sertifikasi_-_Surum_1.pem 622s Adding debian:TWCA_CYBER_Root_CA.pem 622s Adding debian:TWCA_Global_Root_CA.pem 622s Adding debian:TWCA_Root_Certification_Authority.pem 622s Adding debian:Telekom_Security_TLS_ECC_Root_2020.pem 622s Adding debian:Telekom_Security_TLS_RSA_Root_2023.pem 622s Adding debian:TeliaSonera_Root_CA_v1.pem 622s Adding debian:Telia_Root_CA_v2.pem 622s Adding debian:TrustAsia_Global_Root_CA_G3.pem 622s Adding debian:TrustAsia_Global_Root_CA_G4.pem 622s Adding debian:Trustwave_Global_Certification_Authority.pem 622s Adding debian:Trustwave_Global_ECC_P256_Certification_Authority.pem 622s Adding debian:Trustwave_Global_ECC_P384_Certification_Authority.pem 622s Adding debian:TunTrust_Root_CA.pem 622s Adding debian:UCA_Extended_Validation_Root.pem 622s Adding debian:UCA_Global_G2_Root.pem 622s Adding debian:USERTrust_ECC_Certification_Authority.pem 622s Adding debian:USERTrust_RSA_Certification_Authority.pem 622s Adding debian:XRamp_Global_CA_Root.pem 622s Adding debian:certSIGN_ROOT_CA.pem 622s Adding debian:certSIGN_Root_CA_G2.pem 622s Adding debian:e-Szigno_Root_CA_2017.pem 622s Adding debian:ePKI_Root_Certification_Authority.pem 622s Adding debian:emSign_ECC_Root_CA_-_C3.pem 622s Adding debian:emSign_ECC_Root_CA_-_G3.pem 622s Adding debian:emSign_Root_CA_-_C1.pem 622s Adding debian:emSign_Root_CA_-_G1.pem 622s Adding debian:vTrus_ECC_Root_CA.pem 622s Adding debian:vTrus_Root_CA.pem 622s done. 622s Setting up default-jre-headless (2:1.21-76) ... 622s Setting up jruby (9.4.8.0+ds-2ubuntu1) ... 640s autopkgtest [16:45:56]: test jruby: [----------------------- 642s installing concurrent-ruby-1.3.4 gem into temporary GEM_HOME for jruby ... 642s installing concurrent-ruby-edge-0.7.1 gem into temporary GEM_HOME for jruby ... 642s installing diff-lcs-1.5.1 gem into temporary GEM_HOME for jruby ... 642s installing rspec-core-3.13.0 gem into temporary GEM_HOME for jruby ... 642s installing rspec-expectations-3.13.0 gem into temporary GEM_HOME for jruby ... 642s installing rspec-mocks-3.13.0 gem into temporary GEM_HOME for jruby ... 642s installing rspec-support-3.13.1 gem into temporary GEM_HOME for jruby ... 642s installing timecop-0.9.10 gem into temporary GEM_HOME for jruby ... 649s /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85: warning: loading in progress, circular require considered harmful - /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/options.rb require at org/jruby/RubyKernel.java:1184 649s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 649s at /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/options.rb:6 649s
at /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/options.rb:3 649s require at org/jruby/RubyKernel.java:1184 649s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 649s
at /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/scheduled_task.rb:8 649s require at org/jruby/RubyKernel.java:1184 649s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 649s
at /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/executor/timer_set.rb:1 649s require at org/jruby/RubyKernel.java:1184 649s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 649s
at /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/executors.rb:20 649s require at org/jruby/RubyKernel.java:1184 649s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 649s
at /usr/share/rubygems-integration/all/gems/concurrent-ruby-edge-0.7.1/lib/concurrent-ruby-edge/concurrent/actor/core.rb:4 649s require at org/jruby/RubyKernel.java:1184 649s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 649s at /usr/share/rubygems-integration/all/gems/concurrent-ruby-edge-0.7.1/lib/concurrent-ruby-edge/concurrent/actor.rb:25 649s at /usr/share/rubygems-integration/all/gems/concurrent-ruby-edge-0.7.1/lib/concurrent-ruby-edge/concurrent/actor.rb:17 649s
at /usr/share/rubygems-integration/all/gems/concurrent-ruby-edge-0.7.1/lib/concurrent-ruby-edge/concurrent/actor.rb:7 649s require at org/jruby/RubyKernel.java:1184 649s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:160 649s
at /tmp/autopkgtest.MLwnt6/build.YAB/src/spec/concurrent/actor_spec.rb:1 649s load at org/jruby/RubyKernel.java:1220 649s load_file_handling_errors at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:2138 649s load_spec_files at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:1638 649s each at org/jruby/RubyArray.java:1981 649s load_spec_files at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:1636 649s setup at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:102 649s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:86 649s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:71 649s invoke at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:45 649s
at /usr/bin/rspec:4 649s 649s /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85: warning: loading in progress, circular require considered harmful - /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/executor/timer_set.rb require at org/jruby/RubyKernel.java:1184 649s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 649s at /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/executor/timer_set.rb:19 649s
at /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/executor/timer_set.rb:9 649s require at org/jruby/RubyKernel.java:1184 649s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 649s
at /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/executors.rb:20 649s require at org/jruby/RubyKernel.java:1184 649s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 649s
at /usr/share/rubygems-integration/all/gems/concurrent-ruby-edge-0.7.1/lib/concurrent-ruby-edge/concurrent/actor/core.rb:4 649s require at org/jruby/RubyKernel.java:1184 649s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 649s at /usr/share/rubygems-integration/all/gems/concurrent-ruby-edge-0.7.1/lib/concurrent-ruby-edge/concurrent/actor.rb:25 649s at /usr/share/rubygems-integration/all/gems/concurrent-ruby-edge-0.7.1/lib/concurrent-ruby-edge/concurrent/actor.rb:17 649s
at /usr/share/rubygems-integration/all/gems/concurrent-ruby-edge-0.7.1/lib/concurrent-ruby-edge/concurrent/actor.rb:7 649s require at org/jruby/RubyKernel.java:1184 649s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:160 649s
at /tmp/autopkgtest.MLwnt6/build.YAB/src/spec/concurrent/actor_spec.rb:1 649s load at org/jruby/RubyKernel.java:1220 649s load_file_handling_errors at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:2138 649s load_spec_files at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:1638 649s each at org/jruby/RubyArray.java:1981 649s load_spec_files at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:1636 649s setup at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:102 649s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:86 649s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:71 649s invoke at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:45 649s
at /usr/bin/rspec:4 649s 653s /usr/share/jruby/lib/ruby/stdlib/date.rb:471: warning: previous definition of strptime was here 653s /usr/share/jruby/lib/ruby/stdlib/date.rb:490: warning: previous definition of parse was here 653s /usr/share/jruby/lib/ruby/stdlib/date.rb:737: warning: previous definition of parse was here 655s Run options: exclude {:stress=>true} 655s 655s Concurrent::Actor 655s /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 655s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 655s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:30 655s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:3 655s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:2 655s
at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:1 655s require at org/jruby/RubyKernel.java:1184 655s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 655s be_truthy at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers.rb:311 655s
at /tmp/autopkgtest.MLwnt6/build.YAB/src/spec/spec_helper.rb:50 655s instance_exec at org/jruby/RubyBasicObject.java:2620 655s instance_exec at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:457 655s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:365 655s run_owned_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:529 655s each at org/jruby/RubyArray.java:1981 655s run_owned_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:528 655s run_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:615 655s reverse_each at org/jruby/RubyArray.java:2063 655s run_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:614 655s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:484 655s run_before_example at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:505 655s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:261 655s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 655s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 655s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 655s run_around_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:624 655s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 655s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 655s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 655s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:259 655s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:646 655s map at org/jruby/RubyArray.java:2803 655s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:651 655s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:607 655s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121 655s map at org/jruby/RubyArray.java:2803 655s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121 655s with_suite_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:2091 655s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:116 655s report at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/reporter.rb:74 655s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:115 655s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:89 655s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:71 655s invoke at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:45 655s
at /usr/bin/rspec:4 655s 655s /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 655s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 655s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:53 655s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:3 655s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:2 655s
at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:1 655s require at org/jruby/RubyKernel.java:1184 655s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 655s be_truthy at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers.rb:311 655s
at /tmp/autopkgtest.MLwnt6/build.YAB/src/spec/spec_helper.rb:50 655s instance_exec at org/jruby/RubyBasicObject.java:2620 655s instance_exec at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:457 655s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:365 655s run_owned_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:529 655s each at org/jruby/RubyArray.java:1981 655s run_owned_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:528 655s run_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:615 655s reverse_each at org/jruby/RubyArray.java:2063 655s run_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:614 655s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:484 655s run_before_example at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:505 655s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:261 655s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 655s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 655s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 655s run_around_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:624 655s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 655s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 655s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 655s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:259 655s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:646 655s map at org/jruby/RubyArray.java:2803 655s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:651 655s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:607 655s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121 655s map at org/jruby/RubyArray.java:2803 655s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121 655s with_suite_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:2091 655s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:116 655s report at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/reporter.rb:74 655s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:115 655s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:89 655s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:71 655s invoke at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:45 655s
at /usr/bin/rspec:4 655s 655s forbids Immediate executor 655s /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 655s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 655s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:74 655s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:3 655s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:2 655s
at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:1 655s require at org/jruby/RubyKernel.java:1184 655s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 655s be_truthy at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers.rb:311 655s
at /tmp/autopkgtest.MLwnt6/build.YAB/src/spec/spec_helper.rb:50 655s instance_exec at org/jruby/RubyBasicObject.java:2620 655s instance_exec at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:457 655s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:365 655s run_owned_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:529 655s each at org/jruby/RubyArray.java:1981 655s run_owned_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:528 655s run_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:615 655s reverse_each at org/jruby/RubyArray.java:2063 655s run_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:614 655s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:484 655s run_before_example at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:505 655s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:261 655s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 655s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 655s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 655s run_around_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:624 655s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 655s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 655s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 655s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:259 655s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:646 655s map at org/jruby/RubyArray.java:2803 655s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:651 655s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:607 655s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121 655s map at org/jruby/RubyArray.java:2803 655s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121 655s with_suite_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:2091 655s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:116 655s report at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/reporter.rb:74 655s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:115 655s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:89 655s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:71 655s invoke at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:45 655s
at /usr/bin/rspec:4 655s 655s /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 655s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 655s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:101 655s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:3 655s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:2 655s
at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:1 655s require at org/jruby/RubyKernel.java:1184 655s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 655s be_truthy at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers.rb:311 655s
at /tmp/autopkgtest.MLwnt6/build.YAB/src/spec/spec_helper.rb:50 655s instance_exec at org/jruby/RubyBasicObject.java:2620 655s instance_exec at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:457 655s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:365 655s run_owned_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:529 655s each at org/jruby/RubyArray.java:1981 655s run_owned_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:528 655s run_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:615 655s reverse_each at org/jruby/RubyArray.java:2063 655s run_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:614 655s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:484 655s run_before_example at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:505 655s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:261 655s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 655s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 655s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 655s run_around_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:624 655s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 655s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 655s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 655s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:259 655s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:646 655s map at org/jruby/RubyArray.java:2803 655s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:651 655s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:607 655s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121 655s map at org/jruby/RubyArray.java:2803 655s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121 655s with_suite_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:2091 655s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:116 655s report at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/reporter.rb:74 655s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:115 655s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:89 655s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:71 655s invoke at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:45 655s
at /usr/bin/rspec:4 655s 655s /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 655s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 655s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:136 655s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:3 655s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:2 655s
at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:1 655s require at org/jruby/RubyKernel.java:1184 655s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 655s be_truthy at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers.rb:311 655s
at /tmp/autopkgtest.MLwnt6/build.YAB/src/spec/spec_helper.rb:50 655s instance_exec at org/jruby/RubyBasicObject.java:2620 655s instance_exec at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:457 655s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:365 655s run_owned_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:529 655s each at org/jruby/RubyArray.java:1981 655s run_owned_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:528 655s run_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:615 655s reverse_each at org/jruby/RubyArray.java:2063 655s run_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:614 655s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:484 655s run_before_example at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:505 655s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:261 655s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 655s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 655s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 655s run_around_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:624 655s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 655s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 655s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 655s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:259 655s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:646 655s map at org/jruby/RubyArray.java:2803 655s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:651 655s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:607 655s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121 655s map at org/jruby/RubyArray.java:2803 655s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121 655s with_suite_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:2091 655s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:116 655s report at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/reporter.rb:74 655s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:115 655s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:89 655s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:71 655s invoke at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:45 655s
at /usr/bin/rspec:4 655s 655s links 655s links atomically 655s spawning 655s terminates on failed initialization 655s terminates on failed initialization and raises with spawn! 655s terminates on failed message processing 655s Actor#spawn! 655s spawn 655s executor should be global 655s returns arg 655s #path 655s is expected to eq "/ping" 655s #parent 655s is expected to eq # 655s #name 655s is expected to eq "ping" 655s #reference 655s is expected to eq # 655s context_spawn 655s executor should be global 655s returns arg 655s #path 656s is expected to eq "/ping" 656s #parent 656s is expected to eq # 656s #name 656s is expected to eq "ping" 656s #reference 656s is expected to eq # 656s spawn_by_hash 656s executor should be global 656s returns arg 656s #path 656s is expected to eq "/ping" 656s #parent 656s is expected to eq # 656s #name 656s is expected to eq "ping" 656s #reference 656s is expected to eq # 656s context_spawn_by_hash 656s executor should be global 656s returns arg 656s #path 656s is expected to eq "/ping" 656s #parent 656s is expected to eq # 656s #name 656s is expected to eq "ping" 656s #reference 656s is expected to eq # 656s messaging 656s is expected to eq 4 656s children 656s has children set after a child is created 656s envelope 656s /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 656s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 656s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/has.rb:125 656s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/has.rb:3 656s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/has.rb:2 656s
at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/has.rb:1 656s require at org/jruby/RubyKernel.java:1184 656s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 656s method_missing at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers.rb:964 656s method_missing at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:767 656s Actor at /tmp/autopkgtest.MLwnt6/build.YAB/src/spec/concurrent/actor_spec.rb:136 656s instance_exec at org/jruby/RubyBasicObject.java:2620 656s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:263 656s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 656s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 656s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 656s run_around_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:624 656s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 656s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 656s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 656s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:259 656s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:646 656s map at org/jruby/RubyArray.java:2803 656s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:651 656s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:607 656s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:608 656s map at org/jruby/RubyArray.java:2803 656s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:608 656s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121 656s map at org/jruby/RubyArray.java:2803 656s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121 656s with_suite_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:2091 656s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:116 656s report at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/reporter.rb:74 656s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:115 656s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:89 656s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:71 656s invoke at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:45 656s
at /usr/bin/rspec:4 656s 656s is expected to eq # 656s termination 656s terminates with all its children 656s dead letter routing 656s logs by deafault 656s message redirecting 656s is evaluated by child 656s pausing 656s pauses on error and resumes 656s pauses on error and resets 656s pauses on error and restarts 656s pool 656s supports asks 656s 656s Concurrent::Agent 656s initialization 656s sets the initial value 656s sets the initial error to nil 656s sets the error mode when given a valid value 657s defaults the error mode to :continue when an error handler is given 657s defaults the error mode to :fail when no error handler is given 657s raises an error when given an invalid error mode 657s sets #failed? to false 657s action processing 657s the given block will be passed the current value 657s the given block will be passed any provided arguments 657s the return value will be passed to the validator function 657s upon validation the new value will be set to the block return value 657s on success all observers will be notified 657s any recursive action dispatches will run after the value has been updated 657s when the action raises an error the value will not change 657s when the action raises an error the validator will not be called 657s when validation returns false the value will not change 657s when validation raises an error the value will not change 657s when the action raises an error the handler will be called 657s when validation fails the handler will be called 657s when validation raises an error the handler will be called 657s validation 657s sets the new value when the validator returns true 657s rejects the new value when the validator returns false 657s rejects the new value when the validator raises an error 657s sets the error when the error mode is :fail and the validator returns false 657s sets the error when the error mode is :fail and the validator raises an error 657s does not set an error when the error mode is :continue and the validator returns false 657s does not set an error when the error mode is :continue and the validator raises an error 657s does not trigger observation when validation fails 657s error handling 657s the agent will be passed to the handler 657s the exception will be passed to the handler 657s does not trigger observation 657s error mode 657s :continue 657s does not set an error when the validator returns false 657s does not set an error when the validator raises an error 657s does not set an error when the action raises an error 657s does not block further action processing 657s sets #failed? to false 657s :fail 657s sets the error when the validator returns false 657s sets the error when the validator raises an error 657s sets the error when the action raises an error 657s blocks all further action processing until a restart 657s sets #failed? to true 657s nested actions 657s occur in the order they ar post 657s work with immediate execution 657s posting 657s with #send 657s returns true when the job is post 657s returns false when #failed? 657s posts to the global fast executor 657s does not wait for the action to process 657s with #send! 657s returns true when the job is post 657s raises an error when #failed? 657s posts to the global fast executor 657s does not wait for the action to process 657s with #send_off 657s returns true when the job is post 657s returns false when #failed? 657s posts to the global io executor 657s does not wait for the action to process 657s with #send_off! 657s returns true when the job is post 657s raises an error when #failed? 657s posts to the global io executor 657s does not wait for the action to process 657s with #send_via 657s returns true when the job is post 657s returns false when #failed? 657s posts to the given executor 657s with #send_via! 657s returns true when the job is post 657s raises an error when #failed? 657s posts to the given executor 657s with #post 657s returns true when the job is post 657s returns false when #failed? 657s posts to the global io executor 657s does not wait for the action to process 657s with #<< 657s returns self when the job is post 657s returns self when #failed? 658s posts to the global io executor 658s does not wait for the action to process 658s #restart 658s when #failed? 658s raises an error if the new value is not valid 658s sets the new value 658s clears the error 658s sets #failed? to true 658s removes all actions from the queue when :clear_actions is true 658s does not clear the action queue when :clear_actions is false 658s does not clear the action queue when :clear_actions is not given 658s resumes action processing if actions are enqueued 658s does not trigger observation 658s when not #failed? 658s raises an error 658s waiting 658s the await job 658s does not change the value 658s does not trigger the error mode 658s does not trigger observers 659s waits for nested actions 659s with #await 659s returns self when there are no pending actions 659s does not block on actions from other threads 660s blocks indefinitely 661s returns true when all prior actions have processed 661s blocks forever if restarted with :clear_actions true (PENDING: the timing is nearly impossible) 661s with #await_for 661s returns true when there are no pending actions 661s does not block on actions from other threads 662s returns true when all prior actions have processed 663s returns false on timeout 663s returns false if restarted with :clear_actions true (PENDING: the timing is nearly impossible) 663s with #await_for! 663s returns true when there are no pending actions 663s does not block on actions from other threads 664s returns true when all prior actions have processed 665s raises an error on timeout 665s raises an error if restarted with :clear_actions true (PENDING: the timing is nearly impossible) 665s with #wait 665s returns true when there are no pending actions and timeout is nil 665s returns true when there are no pending actions and a timeout is given 665s does not block on actions from other threads 666s blocks indefinitely when timeout is nil 666s blocks forever when timeout is nil and restarted with :clear_actions true (PENDING: the timing is nearly impossible) 667s returns true when all prior actions have processed 668s returns false on timeout 668s returns false when timeout is given and restarted with :clear_actions true (PENDING: the timing is nearly impossible) 668s with .await 668s returns true when all prior actions on all agents have processed 668s with .await_for 668s returns true when there are no pending actions 668s returns true when all prior actions for all agents have processed 669s returns false on timeout 669s with await_for! 669s returns true when there are no pending actions 669s returns true when all prior actions for all agents have processed 670s raises an exception on timeout 670s observable 670s behaves like observable 670s #add_observer 670s adds an observer if called before first notification 670s adds an observer with :func if called before first notification 670s creates an observer from a block if called before first notification 670s raises an exception if not given an observer or a block 670s raises an exception when given both an observer and a block 670s #delete_observer 670s deletes the given observer if called before first notification 670s returns the removed observer if found in the observer set 670s returns the given observer even when not found in the observer set 670s #delete_observers 670s deletes all observers when called before first notification 670s returns self 670s #count_observers 670s returns zero for a new observable object 670s returns a count of registered observers if called before first notification 670s returns zero after #delete_observers has been called 670s first notification 670s calls the #update method on all observers without a specified :func 670s calls the appropriate function on all observers which specified a :func 670s calls the proc for all observers added as a block 671s does not notify any observers removed with #delete_observer 672s does not notify any observers after #delete_observers called 672s 672s Concurrent::Array 672s .[] 672s when initializing with no arguments 672s is expected to be empty 672s when initializing with arguments 672s creates an array with the given objects 672s .new 672s when initializing with no arguments 672s is expected to be empty 672s when initializing with a size argument 672s creates an array with size elements set to nil 672s when initializing with a default value argument 672s creates an array with size elements set to the default value 672s when initializing with a block argument 672s creates an array with size elements set to the default value 672s when initializing with another array as an argument 672s creates a new array 672s creates an array with the same contents as the other array 672s creates an array with the results of calling #to_ary on the other array 672s concurrency 672s is expected to be empty 672s #slice 672s correctly initializes the monitor 672s 672s Concurrent::Async 672s object creation 672s delegates to the original constructor 672s passes all args to the original constructor 672s passes a given block to the original constructor 672s initializes synchronization 672s #validate_argc 672s raises an exception when the method is not defined 672s raises an exception for too many args on a zero arity method 672s does not raise an exception for correct zero arity 672s raises an exception for too many args on a method with positive arity 672s raises an exception for too few args on a method with positive arity 672s does not raise an exception for correct positive arity 672s raises an exception for too few args on a method with negative arity 672s does not raise an exception for correct negative arity 672s #async 672s raises an error when calling a method that does not exist 672s raises an error when passing too few arguments 672s raises an error when pasing too many arguments (arity >= 0) 672s returns the existence of the method 672s returns a :pending IVar 672s runs the future on the global executor 672s sets the value on success 672s sets the reason on failure 672s sets the reason when giving too many optional arguments 672s supports attribute accessors 672s supports methods with blocks 672s #await 672s raises an error when calling a method that does not exist 672s raises an error when passing too few arguments 672s raises an error when pasing too many arguments (arity >= 0) 672s returns the existence of the method 672s returns a :fulfilled IVar 672s runs the future on the global executor 672s sets the value on success 672s sets the reason on failure 672s sets the reason when giving too many optional arguments 672s supports attribute accessors 672s supports methods with blocks 672s locking 673s uses the same lock for both #async and #await 673s fork safety 673s does not hang when forked (PENDING: Platform does not support fork) 673s 673s Concurrent::Atom 673s construction 673s sets the initial value to the given value 673s #compare_and_set 673s sets the new value if the current value matches 673s returns true if the current value matches 673s rejects the new value if the current value does not match 673s returns false if the current value does not match 673s rejects the new value if the validator returns false 673s rejects the new value if the validator raises an exception 673s returns false if the validator returns false 673s returns false if the validator raises an exception 673s #swap 673s raises an exception when no block is given 673s passes the current value to the block 673s passes all arguments to the block 673s sets the new value to the result of the block 673s rejects the new value if the validator returns false 673s rejects the new value if the validator raises an exception 673s returns the new value on success 673s returns the old value if the validator returns false 673s returns the old value if the validator raises an exception 673s calls the block more than once if the value changes underneath 673s reraises the exception from block 673s #reset 673s sets the new value 673s returns the new value on success 673s returns the new value on success 673s returns the old value if the validator returns false 673s returns the old value if the validator raises an exception 673s observable 673s behaves like observable 673s #add_observer 673s adds an observer if called before first notification 673s adds an observer with :func if called before first notification 673s creates an observer from a block if called before first notification 673s raises an exception if not given an observer or a block 673s raises an exception when given both an observer and a block 673s #delete_observer 673s deletes the given observer if called before first notification 673s returns the removed observer if found in the observer set 673s returns the given observer even when not found in the observer set 673s #delete_observers 673s deletes all observers when called before first notification 673s returns self 673s #count_observers 673s returns zero for a new observable object 673s returns a count of registered observers if called before first notification 673s returns zero after #delete_observers has been called 673s first notification 673s calls the #update method on all observers without a specified :func 673s calls the appropriate function on all observers which specified a :func 673s calls the proc for all observers added as a block 674s does not notify any observers removed with #delete_observer 675s does not notify any observers after #delete_observers called 675s 675s Concurrent::MutexAtomicBoolean 675s it should behave like atomic_boolean 675s construction 675s sets the initial value 675s defaults the initial value to false 675s evaluates the truthiness of a true value 675s evaluates the truthiness of a false value 675s #value 675s returns the current value 675s #value= 675s sets the #value to the given `Boolean` 675s returns the new value 675s evaluates the truthiness of a true value 675s evaluates the truthiness of a false value 675s #true? 675s is expected to equal true 675s is expected to equal false 675s #false? 675s is expected to equal false 675s is expected to equal true 675s #make_true 675s makes a false value true and returns true 675s keeps a true value true and returns false 675s #make_false 675s makes a true value false and returns true 675s keeps a false value false and returns false 675s instance methods 675s value is synchronized 675s value= is synchronized 675s true? is synchronized 675s false? is synchronized 675s make_true is synchronized 675s make_false is synchronized 675s 675s Concurrent::JavaAtomicBoolean 675s it should behave like atomic_boolean 675s construction 675s sets the initial value 675s defaults the initial value to false 675s evaluates the truthiness of a true value 675s evaluates the truthiness of a false value 675s #value 675s returns the current value 675s #value= 675s sets the #value to the given `Boolean` 675s returns the new value 675s evaluates the truthiness of a true value 675s evaluates the truthiness of a false value 675s #true? 675s is expected to equal true 675s is expected to equal false 675s #false? 675s is expected to equal false 675s is expected to equal true 675s #make_true 675s makes a false value true and returns true 675s keeps a true value true and returns false 675s #make_false 675s makes a true value false and returns true 675s keeps a false value false and returns false 675s 675s Concurrent::AtomicBoolean 675s does not load the C extension 675s inherits from JavaAtomicBoolean 675s #to_s and #inspect 675s includes the value 675s 675s Concurrent::MutexAtomicFixnum 675s it should behave like atomic_fixnum 675s construction 675s sets the initial value 675s defaults the initial value to zero 675s raises an exception if the initial value is not a Fixnum 675s #value 675s returns the current value 675s #value= 675s sets the #value to the given `Fixnum` 675s returns the new value 675s raises and exception if the value is not a `Fixnum` 675s #increment 675s increases the value by one when no argument is given 675s returns the new value when no argument is given 675s increases the value by the given argument 675s returns the new value the given argument 675s is aliased as #up 675s #decrement 675s decreases the value by one when no argument is given 675s returns the new value when no argument is given 675s decreases the value by the given argument 675s returns the new value the given argument 675s is aliased as #down 675s #compare_and_set 675s returns false if the value is not found 675s returns true if the value is found 675s sets if the value is found 675s does not set if the value is not found 675s #update 675s passes the current value to the block 675s atomically sets the value to the return value from the block 675s returns the new value 675s construction 675s raises an exception if the initial value is too big 675s raises an exception if the initial value is too small 675s instance methods 675s value is synchronized 675s value= is synchronized 675s increment is synchronized 675s decrement is synchronized 675s compare_and_set is synchronized 675s 675s Concurrent::JavaAtomicFixnum 675s it should behave like atomic_fixnum 675s construction 675s sets the initial value 675s defaults the initial value to zero 675s raises an exception if the initial value is not a Fixnum 675s #value 675s returns the current value 675s #value= 675s sets the #value to the given `Fixnum` 675s returns the new value 675s raises and exception if the value is not a `Fixnum` 675s #increment 675s increases the value by one when no argument is given 675s returns the new value when no argument is given 675s increases the value by the given argument 675s returns the new value the given argument 675s is aliased as #up 675s #decrement 675s decreases the value by one when no argument is given 675s returns the new value when no argument is given 675s decreases the value by the given argument 675s returns the new value the given argument 675s is aliased as #down 675s #compare_and_set 675s returns false if the value is not found 675s returns true if the value is found 675s sets if the value is found 675s does not set if the value is not found 675s #update 675s passes the current value to the block 675s atomically sets the value to the return value from the block 675s returns the new value 675s 675s Concurrent::AtomicFixnum 675s does not load the C extension 676s inherits from JavaAtomicFixnum 676s #to_s and #inspect 676s includes the value 676s 676s Concurrent::AtomicMarkableReference 676s .initialize 676s constructs the object 676s has sane defaults 676s #set 676s sets the value and mark 676s #try_update! 676s updates the value and mark 676s raises ConcurrentUpdateError when attempting to set inside of block 676s #try_update 676s updates the value and mark 676s returns nil when attempting to set inside of block 676s #update 676s updates the value and mark 676s retries until update succeeds 676s #compare_and_set 676s when objects have the same identity 676s sets the value and mark 676s when objects have the different identity 676s it does not set the value or mark 676s when comparing Numeric objects 676s Non-idepotent Float 676s sets the value and mark 676s BigNum 676s sets the value and mark 676s Rational 676s sets the value and mark 676s Rational 676s is successful 676s 676s Concurrent::AtomicReference 676s it should behave like atomic_reference 676s test_construct 676s test_value 676s test_update 676s test_try_update 676s test_try_update_bang 676s test_swap 676s test_try_update_fails 676s test_try_update_bang_fails 676s test_update_retries 676s test_numeric_cas 676s #to_s and #inspect 676s includes the value 676s 676s Concurrent::MutexAtomicReference 676s it should behave like atomic_reference 676s test_construct 676s test_value 676s test_update 676s test_try_update 676s test_try_update_bang 676s test_swap 676s test_try_update_fails 676s test_try_update_bang_fails 676s test_update_retries 676s test_numeric_cas 676s 676s Concurrent::JavaAtomicReference 676s it should behave like atomic_reference 676s test_construct 676s test_value 676s test_update 676s test_try_update 676s test_try_update_bang 676s test_swap 676s test_try_update_fails 676s test_try_update_bang_fails 676s test_update_retries 676s test_numeric_cas 676s 676s Concurrent::AtomicReference 676s does not load the C extension 676s inherits from JavaAtomicReference 676s 676s Concurrent::MutexCountDownLatch 676s it should behave like count_down_latch 676s #initialize 676s raises an exception if the initial count is less than zero 676s raises an exception if the initial count is not an integer 676s defaults the count to 1 676s #count 676s should be the value passed to the constructor 676s should be decreased after every count down 676s should not go below zero 676s #wait 676s blocks indefinitely, and is kill-able 676s blocks indefinitely with timeout, and is kill-able 676s count set to zero 676s should return true immediately 676s should return true immediately with timeout 676s non zero count 676s should block thread until counter is set to zero 676s should block until counter is set to zero with timeout 676s should block until timeout and return false when counter is not set to zero 676s spurious wake ups 677s should resist to spurious wake ups without timeout 677s should resist to spurious wake ups with timeout 677s 677s Concurrent::JavaCountDownLatch 677s it should behave like count_down_latch 677s #initialize 677s raises an exception if the initial count is less than zero 677s raises an exception if the initial count is not an integer 677s defaults the count to 1 677s #count 677s should be the value passed to the constructor 677s should be decreased after every count down 677s should not go below zero 677s #wait 677s blocks indefinitely, and is kill-able 677s blocks indefinitely with timeout, and is kill-able 677s count set to zero 677s should return true immediately 677s should return true immediately with timeout 677s non zero count 677s should block thread until counter is set to zero 677s should block until counter is set to zero with timeout 677s should block until timeout and return false when counter is not set to zero 677s 677s Concurrent::CountDownLatch 677s inherits from JavaCountDownLatch 677s 677s Concurrent::CyclicBarrier 677s #initialize 677s raises an exception if the initial count is less than 1 677s raises an exception if the initial count is not an integer 677s #parties 677s should be the value passed to the constructor 677s #number_waiting 677s without any waiting thread 677s should be equal to zero 677s with waiting threads 678s should be equal to the waiting threads count 678s #broken? 678s should not be broken when created 678s should not be broken when reset is called without waiting thread 678s reset 678s should release all waiting threads 678s #wait 678s without timeout 678s should block the thread 678s should release all threads when their number matches the desired one 678s returns true when released 678s executes the block once 678s can be reused 678s return false if barrier has been reset 678s with timeout 678s timeout not expiring 678s should block the thread 678s should release all threads when their number matches the desired one 678s returns true when released 678s timeout expiring 678s returns false 678s breaks the barrier and release all other threads 679s breaks the barrier and release all other threads 2 679s does not execute the block on timeout 679s #broken barrier 679s should not accept new threads 679s can be reset 679s spurious wake ups 679s should resist to spurious wake ups without timeout 679s should resist to spurious wake ups with timeout 679s 679s Concurrent::Event 679s #initialize 679s sets the state to unset 679s #set? 679s returns true when the event has been set 679s returns false if the event is unset 679s #set 680s triggers the event 680s sets the state to set 680s #try? 680s triggers the event if not already set 680s returns true if not previously set 680s returns false if previously set 680s #reset 680s does not change the state of an unset event 680s does not trigger an unset event 680s returns true when called on an unset event 680s sets the state of a set event to unset 680s returns true when called on a set event 680s #wait 680s returns immediately when the event has been set 680s returns true once the event is set 680s blocks indefinitely when the timer is nil 680s blocks indefinitely 680s stops waiting when the timer expires 681s returns false when the timer expires 681s triggers multiple waiting threads 681s behaves appropriately if wait begins while #set is processing 681s spurious wake ups 682s should resist to spurious wake ups without timeout 682s should resist spurious wake ups with timeout 682s 682s Concurrent::FiberLocalVar 682s #initialize 682s can set an initial value 682s sets nil as a default initial value 682s sets the same initial value for all fibers 682s can set a block to be called to get the initial value 682s when attempting to set both an initial value and a block 682s is expected to raise ArgumentError 682s #value 682s returns the current value 682s returns the value after modification 682s when using a block to initialize the value 682s calls the block to initialize the value 682s sets the block return value as the current value 682s calls the block to initialize the value for each fiber 682s #value= 682s sets a new value 682s returns the new value 682s does not modify the initial value for other fibers 682s does not modify the value for other fibers 682s 682s Concurrent::FiberLocalVar 682s uses FiberLocalVar if Mutex is per Fiber 682s 682s Concurrent::ReadWriteLock 682s #write_locked? 682s returns true when the write lock is held 682s returns false when the write lock is not held 682s returns false when the write lock is not held but there are readers 682s #has_waiters? 682s returns false when no locks are held 682s returns false when there are readers but no writers 682s returns true when the write lock is held and there are waiting readers 682s returns true when the write lock is held and there are waiting writers 682s #with_read_lock 682s acquires the lock 682s returns the value of the block operation 682s releases the lock 682s raises an exception if no block is given 682s raises an exception if maximum lock limit is exceeded 682s releases the lock when an exception is raised 682s #with_write_lock 682s acquires the lock 682s returns the value of the block operation 682s releases the lock 682s raises an exception if no block is given 682s raises an exception if maximum lock limit is exceeded 682s releases the lock when an exception is raised 682s #acquire_read_lock 682s increments the lock count 682s waits for a running writer to finish 682s does not wait for any running readers 682s raises an exception if maximum lock limit is exceeded 682s returns true if the lock is acquired 682s #release_read_lock 682s decrements the counter 682s unblocks waiting writers 682s returns true if the lock is released 682s returns true if the lock was never set 682s #acquire_write_lock 682s increments the lock count 682s waits for a running writer to finish 682s waits for a running reader to finish 682s raises an exception if maximum lock limit is exceeded 682s returns true if the lock is acquired 682s #release_write_lock 683s decrements the counter 683s unblocks waiting readers 683s unblocks waiting writers 683s returns true if the lock is released 683s returns true if the lock was never set 683s 683s Concurrent::ReentrantReadWriteLock 684s can survive a torture test 684s read lock 684s allows other read locks to be acquired at the same time 684s can be acquired more than once 684s can be acquired while holding a write lock 684s can be upgraded to a write lock 684s can be upgraded to a write lock when read lock acquired more than once 684s cannot be released when not held 684s cannot be released more times than it was taken 684s wakes up waiting writers when the last read lock is released 684s write lock 684s cannot be acquired when another thread holds a write lock 684s cannot be acquired when another thread holds a read lock 684s can be acquired more than once 684s can be acquired while holding a read lock 684s can be downgraded to a read lock 684s cannot be released when not held 684s cannot be released more times than it was taken 684s wakes up waiting readers when the write lock is released 684s wakes up waiting writers when the write lock is released 684s #with_read_lock 684s acquires read block before yielding, then releases it 684s releases read lock if an exception is raised in block 684s #with_write_lock 684s acquires write block before yielding, then releases it 684s releases write lock if an exception is raised in block 684s #try_read_lock 684s returns false immediately if read lock cannot be obtained 684s acquires read lock and returns true if it can do so without blocking 684s can acquire a read lock if a read lock is already held 684s can acquire a read lock if a write lock is already held 684s #try_write_lock 684s returns false immediately if write lock cannot be obtained 684s acquires write lock and returns true if it can do so without blocking 684s can acquire a write lock if a read lock is already held 684s can acquire a write lock if a write lock is already held 684s 684s Concurrent::ReentrantReadWriteLock 684s can acquire locks in separate fibers 684s 684s Concurrent::MutexSemaphore 684s it should behave like semaphore 684s #initialize 684s raises an exception if the initial count is not an integer 684s when initializing with 0 684s is expected not to equal nil 684s when initializing with -1 684s is expected to eq 0 684s #acquire 684s without block 684s permits available 684s should return nil immediately 684s not enough permits available 684s should block thread until permits are available 684s when acquiring negative permits 684s raises ArgumentError 684s with block 684s permits available 684s should acquire permits, run the block, release permits, and return block return value 684s if the block raises, the permit is still released 684s not enough permits available 684s should block thread until permits are available 684s when acquiring negative permits 684s raises ArgumentError 684s #drain_permits 684s drains all available permits 684s drains nothing in no permits are available 684s #try_acquire 684s without block 684s without timeout 684s acquires immediately if permits are available 684s returns false immediately in no permits are available 684s when trying to acquire negative permits 684s is expected to raise ArgumentError 684s with timeout 684s acquires immediately if permits are available 684s acquires when permits are available within timeout 684s returns false on timeout 684s with block 684s without timeout 684s acquires immediately if permits are available and returns block return value 684s releases permit if block raises 684s returns false immediately in no permits are available 684s when trying to acquire negative permits 685s is expected not to change `semaphore.available_permits` 685s with timeout 685s acquires immediately if permits are available, and returns block return value 685s releases permits if block raises 685s acquires when permits are available within timeout, and returns block return value 685s returns false on timeout 685s #reduce_permits 685s raises ArgumentError if reducing by negative number 685s reduces permits below zero 685s reduces permits 685s reduces zero permits 685s #release 685s increases the number of available permits by one 685s when a number of permits is specified 685s increases the number of available permits by the specified value 685s when permits is set to negative number 685s is expected to raise ArgumentError 685s 685s Concurrent::JavaSemaphore 685s it should behave like semaphore 685s #initialize 685s raises an exception if the initial count is not an integer 685s when initializing with 0 685s is expected not to equal nil 685s when initializing with -1 685s is expected to eq 0 685s #acquire 685s without block 685s permits available 685s should return nil immediately 685s not enough permits available 686s should block thread until permits are available 686s when acquiring negative permits 686s raises ArgumentError 686s with block 686s permits available 686s should acquire permits, run the block, release permits, and return block return value 686s if the block raises, the permit is still released 686s not enough permits available 686s should block thread until permits are available 686s when acquiring negative permits 686s raises ArgumentError 686s #drain_permits 686s drains all available permits 686s drains nothing in no permits are available 686s #try_acquire 686s without block 686s without timeout 686s acquires immediately if permits are available 686s returns false immediately in no permits are available 686s when trying to acquire negative permits 686s is expected to raise ArgumentError 686s with timeout 686s acquires immediately if permits are available 686s acquires when permits are available within timeout 686s returns false on timeout 686s with block 686s without timeout 686s acquires immediately if permits are available and returns block return value 686s releases permit if block raises 686s returns false immediately in no permits are available 686s when trying to acquire negative permits 686s is expected not to change `semaphore.available_permits` 686s with timeout 686s acquires immediately if permits are available, and returns block return value 686s releases permits if block raises 686s acquires when permits are available within timeout, and returns block return value 686s returns false on timeout 686s #reduce_permits 686s raises ArgumentError if reducing by negative number 686s reduces permits below zero 686s reduces permits 686s reduces zero permits 686s #release 686s increases the number of available permits by one 686s when a number of permits is specified 686s increases the number of available permits by the specified value 686s when permits is set to negative number 686s is expected to raise ArgumentError 686s 686s Concurrent::Semaphore 686s inherits from JavaSemaphore 686s 686s Concurrent::ThreadLocalVar 686s #initialize 686s can set an initial value 686s sets nil as a default initial value 686s sets the same initial value for all threads 686s can set a block to be called to get the initial value 686s when attempting to set both an initial value and a block 686s is expected to raise ArgumentError 686s #value 686s returns the current value 686s returns the value after modification 686s when using a block to initialize the value 686s calls the block to initialize the value 686s sets the block return value as the current value 686s calls the block to initialize the value for each thread 686s #value= 686s sets a new value 686s returns the new value 686s does not modify the initial value for other threads 686s does not modify the value for other threads 686s 686s Concurrent 686s Cancellation 686s basic 686s is expected to be falsey 686s is expected to be truthy 686s is expected to be falsey 686s is expected to eq 2 686s #join 686s 686s Concurrent::Channel::Buffer::Base 686s is expected to eq 0 686s is expected to be blocking 686s is expected to raise NotImplementedError 686s is expected to raise NotImplementedError 686s is expected to raise NotImplementedError 686s is expected to raise NotImplementedError 686s is expected to raise NotImplementedError 686s is expected to raise NotImplementedError 686s is expected to raise NotImplementedError 686s is expected to raise NotImplementedError 686s is expected not to be closed 686s is expected to be closed 686s 686s Concurrent::Channel::Buffer::Buffered 686s is expected to be blocking 686s behaves like channel_buffered_buffer 686s behaves like channel_buffer 686s is expected to respond to #blocking? 686s #capacity 686s is expected to be >= 0 686s #size 686s returns zero upon initialization 686s #empty? 686s returns true when empty 686s #full? 686s returns false when not full 686s #put 686s does not enqueue the item when closed 686s returns false when closed 686s #offer 686s returns true on success 686s does not enqueue the item when closed 686s returns false immediately when closed 686s #take 686s returns Concurrent::NULL when closed 686s #next 686s returns Concurrent::NULL, false when closed 686s #poll 686s returns the next item immediately if available 686s returns Concurrent::NULL immediately if no item is available 686s returns Concurrent::NULL when closed 686s #close 686s sets #closed? to false 686s returns true when not previously closed 686s returns false when already closed 686s #closed? 686s returns true when new 686s returns false after #close 686s #initialize 686s raises an exception if size <= 0 686s #capacity 686s returns the maximum capacity of the buffer 686s #size 686s is 0 when first created 686s returns the number of items in the buffer 687s is 0 when there are taking threads but no putting threads 687s #empty? 687s returns true when empty 687s #put 687s enqueues the item when size > 0, not full, and not closed 687s returns true when the item is put 687s #offer 687s enqueues the item immediately when not full and not closed 687s #take 687s returns the first item when not empty 687s blocks until not empty 687s returns Concurrent::NULL when closed and empty 687s #next 687s blocks until not empty 687s returns , true when there is only one item and not closed 687s returns , true when there are multiple items 687s returns , true when closed and last item 687s returns Concurrent::NULL, false when closed and no items remain 687s #full? 687s returns true when at max capacity 687s #put 687s blocks when at capacity until a thread is ready to take 687s #offer 687s returns false immediately when full 687s 687s Concurrent::Channel::Buffer::Dropping 687s is expected not to be blocking 687s behaves like channel_buffered_buffer 687s behaves like channel_buffer 687s is expected to respond to #blocking? 687s #capacity 687s is expected to be >= 0 687s #size 687s returns zero upon initialization 687s #empty? 687s returns true when empty 687s #full? 687s returns false when not full 687s #put 687s does not enqueue the item when closed 687s returns false when closed 687s #offer 687s returns true on success 687s does not enqueue the item when closed 687s returns false immediately when closed 687s #take 687s returns Concurrent::NULL when closed 687s #next 687s returns Concurrent::NULL, false when closed 687s #poll 687s returns the next item immediately if available 687s returns Concurrent::NULL immediately if no item is available 687s returns Concurrent::NULL when closed 687s #close 687s sets #closed? to false 687s returns true when not previously closed 687s returns false when already closed 687s #closed? 687s returns true when new 687s returns false after #close 687s #initialize 687s raises an exception if size <= 0 687s #capacity 687s returns the maximum capacity of the buffer 687s #size 687s is 0 when first created 687s returns the number of items in the buffer 688s is 0 when there are taking threads but no putting threads 688s #empty? 688s returns true when empty 688s #put 688s enqueues the item when size > 0, not full, and not closed 688s returns true when the item is put 688s #offer 688s enqueues the item immediately when not full and not closed 688s #take 688s returns the first item when not empty 688s blocks until not empty 688s returns Concurrent::NULL when closed and empty 688s #next 688s blocks until not empty 688s returns , true when there is only one item and not closed 688s returns , true when there are multiple items 688s returns , true when closed and last item 688s returns Concurrent::NULL, false when closed and no items remain 688s #put 688s does not block when full 688s drops the last value when full 688s #offer 688s returns true immediately when full 688s drops the last value when full 688s 688s Concurrent::Channel::Buffer::Sliding 688s is expected not to be blocking 688s behaves like channel_buffered_buffer 688s behaves like channel_buffer 688s is expected to respond to #blocking? 688s #capacity 688s is expected to be >= 0 688s #size 688s returns zero upon initialization 688s #empty? 688s returns true when empty 688s #full? 688s returns false when not full 688s #put 688s does not enqueue the item when closed 688s returns false when closed 688s #offer 688s returns true on success 688s does not enqueue the item when closed 688s returns false immediately when closed 688s #take 688s returns Concurrent::NULL when closed 688s #next 688s returns Concurrent::NULL, false when closed 688s #poll 688s returns the next item immediately if available 688s returns Concurrent::NULL immediately if no item is available 688s returns Concurrent::NULL when closed 688s #close 688s sets #closed? to false 688s returns true when not previously closed 688s returns false when already closed 688s #closed? 688s returns true when new 688s returns false after #close 688s #initialize 688s raises an exception if size <= 0 688s #capacity 688s returns the maximum capacity of the buffer 688s #size 688s is 0 when first created 688s returns the number of items in the buffer 688s is 0 when there are taking threads but no putting threads 688s #empty? 688s returns true when empty 688s #put 688s enqueues the item when size > 0, not full, and not closed 689s returns true when the item is put 689s #offer 689s enqueues the item immediately when not full and not closed 689s #take 689s returns the first item when not empty 689s blocks until not empty 689s returns Concurrent::NULL when closed and empty 689s #next 689s blocks until not empty 689s returns , true when there is only one item and not closed 689s returns , true when there are multiple items 689s returns , true when closed and last item 689s returns Concurrent::NULL, false when closed and no items remain 689s #put 689s does not block when full 689s drops the first value when full 689s #offer 689s returns true immediately when full 689s drops the first value when full 689s 689s Concurrent::Channel::Buffer::Ticker 689s behaves like channel_timing_buffer 689s is expected to be blocking 689s #capacity 689s is expected to eq 1 689s #size 689s is expected to eq 0 689s #empty? 689s is expected not to be empty 689s #full? 689s is expected to be full 689s #put 689s is expected to equal false 689s #offer 689s is expected to equal false 689s #take 689s blocks when the timer is not ready 689s returns a Tick 689s triggers after the specified time interval 689s returns Concurrent::NULL when closed 689s #poll 689s returns Concurrent::NULL when the timer is not ready 690s returns a Tick 690s returns Concurrent::NULL when closed 690s triggers after the specified time interval 690s #next 690s blocks when the timer is not ready 690s returns a Tick when open 690s returns Concurrent::NULL, false when closed 690s triggers after the specified time interval 690s #close 690s sets #closed? to false 690s returns true when not previously closed 690s returns false when already closed 690s #closed? 690s returns true when new 690s returns false after #close 690s #take 691s triggers until closed 691s returns Concurrent::NULL when closed after trigger 691s #poll 691s triggers until closed 691s #next 691s triggers until closed 691s returns true for more while open 691s returns false for more once closed 691s 691s Concurrent::Channel::Buffer::Timer 691s behaves like channel_timing_buffer 691s is expected to be blocking 691s #capacity 691s is expected to eq 1 691s #size 691s is expected to eq 0 691s #empty? 691s is expected not to be empty 691s #full? 691s is expected to be full 691s #put 691s is expected to equal false 691s #offer 691s is expected to equal false 691s #take 692s blocks when the timer is not ready 692s returns a Tick 692s triggers after the specified time interval 692s returns Concurrent::NULL when closed 692s #poll 692s returns Concurrent::NULL when the timer is not ready 692s returns a Tick 692s returns Concurrent::NULL when closed 692s triggers after the specified time interval 692s #next 692s blocks when the timer is not ready 692s returns a Tick when open 692s returns Concurrent::NULL, false when closed 693s triggers after the specified time interval 693s #close 693s sets #closed? to false 693s returns true when not previously closed 693s returns false when already closed 693s #closed? 693s returns true when new 693s returns false after #close 693s #take 693s closes automatically on first take 693s #poll 693s closes automatically on first take 693s #next 693s closes automatically on first take 693s returns false for more 693s 693s Concurrent::Channel::Buffer::Unbuffered 693s is expected to be blocking 693s is expected to eq 1 693s behaves like channel_buffer 693s is expected to respond to #blocking? 693s #capacity 693s is expected to be >= 0 693s #size 693s returns zero upon initialization 693s #empty? 693s returns true when empty 693s #full? 693s returns false when not full 693s #put 693s does not enqueue the item when closed 693s returns false when closed 693s #offer 693s returns true on success 693s does not enqueue the item when closed 693s returns false immediately when closed 693s #take 693s returns Concurrent::NULL when closed 693s #next 693s returns Concurrent::NULL, false when closed 693s #poll 693s returns the next item immediately if available 693s returns Concurrent::NULL immediately if no item is available 693s returns Concurrent::NULL when closed 693s #close 693s sets #closed? to false 693s returns true when not previously closed 693s returns false when already closed 693s #closed? 693s returns true when new 693s returns false after #close 693s #size 693s is 0 when first created 694s is 1 when a putting thread is waiting 694s is 0 when there are taking threads but no putting threads 694s #empty? 694s is true when there are no putting threads 694s is false when there are waiting putting threads 694s #full? 694s is false when there are no putting threads 694s is false when there are waiting putting threads 694s #put 694s does not enqueue the item when closed 694s returns false when closed 694s blocks until a thread is ready to take 695s delivers when closed after put starts 695s #offer 695s returns false immediately when a put in in progress 695s gives the item to a waiting taker and returns true 695s #take 695s returns false immediately when a put in in progress 695s gives the item to a waiting taker and returns true 695s #next 696s blocks when no putting and returns , true when one arrives 696s returns , true when there are multiple putting 696s returns , true when closed and last item 696s returns Concurrent::NULL, false when closed and no items remain 696s 696s channel integration tests 696s A Tour of Go 697s channels.rb 697s buffered-channels.rb 697s range-and-close.rb 697s select.rb 697s default-selection.rb (PENDING: flaky) 697s Go By Example 697s channels.rb 698s channel-buffering.rb 699s channel-synchronization.rb 699s channel-directions.rb 701s select.rb 704s timeouts.rb 705s non-blocking-channel-operations.rb 705s closing-channels.rb 705s range-over-channels.rb 707s timers.rb 709s ticker.rb 712s worker-pools.rb 714s rate-limiting.rb 714s 714s Concurrent::Channel::Tick 714s initializes to current time when no argument given 714s initializes to the given monotonic time 714s #utc returns a Time object in UTC 714s #epoch returns the UTC time as epoch seconds 714s #to_s formats as a time 714s comparison 714s correctly compares to a Numeric (monotonic) 714s correctly compares to a Time 714s correctly compares to a Tick 714s 714s Concurrent::Channel 714s initialization 714s raises an exception when the :buffer is invalid 714s is :unbuffered when neither :buffer nore :capacity is given 714s is :unbuffered when :unbuffered is given 714s is :unbuffered when :buffered and capacity: 0 714s raises an exception when both :unbuffered and :capacity are given 714s is :buffered when :capacity > 0 and no :buffer given 714s is :buffered when :buffered given 714s raises an exception when :buffered given without :capacity 714s raises an exception when :buffered and :capacity < 0 714s is :dropping when :dropping and :capacity > 0 714s raises an exception when :dropping given without :capacity 714s raises an exception when :dropping and :capacity < 1 714s is :sliding when :sliding and :capacity > 0 714s raises an exception when :sliding given without :capacity 714s raises an exception when :sliding and :capacity < 1 714s uses the given buffer 714s factories 714s is expected to receive new(10) 1 time 714s is expected to receive new(10) 1 time 714s #put 714s returns true on success 714s returns false on failure 714s rejects when the validator returns false 714s rejects when the validator raises an exception 714s rejects nil 714s put! 714s returns true on success 714s raises an exception on failure 714s rejects when the validator returns false 714s rejects when the validator raises an exception 714s rejects nil 714s put? 714s returns a just Maybe on success 714s returns a nothing Maybe on failure 714s rejects when the validator returns false 714s rejects when the validator raises an exception 714s accepts nil 714s #offer 714s returns true on success 714s returns false on failure 714s rejects when the validator returns false 714s rejects when the validator raises an exception 714s rejects nil 714s offer! 714s returns true on success 714s raises an exception on failure 714s rejects when the validator returns false 714s rejects when the validator raises an exception 714s rejects nil 714s offer? 714s returns a just Maybe on success 714s returns a nothing Maybe on failure 714s rejects when the validator returns false 714s rejects when the validator raises an exception 714s accepts nil 714s #take 714s takes the next item when not empty 714s returns nil on failure 714s #take! 714s takes the next item when not empty 714s raises an exception on failure 714s #take? 714s returns a just Maybe on success 714s returns a nothing Maybe on failure 714s #next 714s returns , true when there is one item 714s returns , true when there are multiple items 714s returns nil, false when empty and closed 714s returns , true when closed and last item 714s returns nil, false when closed and no items remain 714s #next? 714s returns a just Maybe and true when there is one item 714s returns a just Maybe, true when there are multiple items 714s returns a nothing Maybe and false on failure 714s #poll 714s returns the next item immediately if available 714s returns nil immediately if no item is available 714s returns nil on failure 714s #poll! 715s returns the next item immediately if available 715s raises an exception immediately if no item is available 715s raises an exception on failure 715s #poll? 715s returns a just Maybe immediately if available 715s returns a nothing Maybe immediately if no item is available 715s returns a nothing Maybe on failure 715s .each 715s raises and exception when no block is given 715s iterates until the channel is closed 715s goroutines 715s .go 715s raises an exception when no block is given 715s is expected to receive post(1, 2, 3) 1 time 715s .go_via 715s raises an exception when no block is given 715s is expected to receive post(1, 2, 3) 1 time 715s .go_loop 715s raises an exception when no block is given 715s loops until the block returns false 715s .go_loop_via 715s raises an exception when no block is given 715s loops until the block returns false 715s select 715s raises an exception when no block is given 715s passes a selector to the block 715s is expected to be truthy 715s 715s Concurrent::Collection::CopyOnNotifyObserverSet 715s behaves like an observer set 715s #add_observer 715s with arguments 715s should return the observer 715s with a block 715s should return the observer based on a block 715s #notify_observers 715s should return the observer set 715s with a single observer 715s should update a registered observer without arguments 715s should update a registered observer with arguments 715s should notify an observer using the chosen method 715s should notify an observer once using the last added method 715s should notify an observer from a block 715s can be called many times 715s with many observers 715s should notify all observer using the chosen method 715s with a block 715s calls the block once for every observer 715s passes the block return value to the update method 715s accepts blocks returning a single value 715s accepts block return values that include arrays 715s raises an exception if given both arguments and a block 715s #count_observers 715s should be zero after initialization 715s should be 1 after the first observer is added 715s should be 1 if the same observer is added many times 715s should be equal to the number of unique observers 715s #delete_observer 715s should not notify a deleted observer 715s can delete a non added observer 715s should return the observer 715s #delete_observers 715s should remove all observers 715s should return the observer set 715s #notify_and_delete_observers 715s should notify all observers 715s should clear observers 715s can be called many times without any other notification 715s should return the observer set 715s 715s Concurrent::Collection::CopyOnWriteObserverSet 715s behaves like an observer set 715s #add_observer 715s with arguments 715s should return the observer 715s with a block 715s should return the observer based on a block 715s #notify_observers 715s should return the observer set 715s with a single observer 715s should update a registered observer without arguments 715s should update a registered observer with arguments 715s should notify an observer using the chosen method 715s should notify an observer once using the last added method 715s should notify an observer from a block 715s can be called many times 715s with many observers 715s should notify all observer using the chosen method 715s with a block 715s calls the block once for every observer 715s passes the block return value to the update method 715s accepts blocks returning a single value 715s accepts block return values that include arrays 715s raises an exception if given both arguments and a block 715s #count_observers 715s should be zero after initialization 715s should be 1 after the first observer is added 715s should be 1 if the same observer is added many times 715s should be equal to the number of unique observers 715s #delete_observer 715s should not notify a deleted observer 715s can delete a non added observer 715s should return the observer 715s #delete_observers 715s should remove all observers 715s should return the observer set 715s #notify_and_delete_observers 715s should notify all observers 715s should clear observers 715s can be called many times without any other notification 715s should return the observer set 715s 715s Concurrent::Collection::RubyNonConcurrentPriorityQueue 715s it should behave like priority_queue 715s #initialize 715s sorts from high to low when :order is :max 715s sorts from high to low when :order is :high 715s sorts from low to high when :order is :min 715s sorts from low to high when :order is :low 715s sorts from high to low by default 715s #clear 715s removes all items from a populated queue 715s has no effect on an empty queue 715s is expected to be truthy 715s #delete 715s deletes the requested item when found 715s deletes the requested item when it is the first element 715s deletes the requested item when it is the last element 715s deletes multiple matching items when present 715s returns true when found 715s returns false when not found 715s returns false when called on an empty queue 715s deletes the requested item when it is "smaller" than the last element 715s #empty? 715s returns true for an empty queue 715s returns false for a populated queue 715s #include? 715s returns true if the item is found 715s returns false if the item is not found 715s returns false when the queue is empty 715s is aliased as #has_priority? 715s #length 715s returns the length of a populated queue 715s returns zero when the queue is empty 715s is aliased as #size 715s #peek 715s returns the item at the head of the queue 715s does not remove the item from the queue 715s returns nil when the queue is empty 715s #pop 715s returns the item at the head of the queue 715s removes the item from the queue 715s returns nil when the queue is empty 715s returns nil when called multiple times while empty 715s is aliased as #deq 715s is aliased as #shift 715s #push 715s raises an exception when attempting to enqueue nil 715s adds the item to the queue 716s sorts the new item in priority order 716s arbitrarily orders equal items with respect to each other 716s is expected to be truthy 716s is aliased as << 716s is aliased as enq 716s .from_list 716s creates an empty queue from an empty list 716s creates a sorted, populated queue from an Array 716s creates a sorted, populated queue from a Hash 716s 716s Concurrent::Collection::JavaNonConcurrentPriorityQueue 716s it should behave like priority_queue 716s #initialize 716s sorts from high to low when :order is :max 716s sorts from high to low when :order is :high 716s sorts from low to high when :order is :min 716s sorts from low to high when :order is :low 716s sorts from high to low by default 716s #clear 716s removes all items from a populated queue 716s has no effect on an empty queue 716s is expected to be truthy 716s #delete 716s deletes the requested item when found 716s deletes the requested item when it is the first element 716s deletes the requested item when it is the last element 716s deletes multiple matching items when present 716s returns true when found 716s returns false when not found 716s returns false when called on an empty queue 716s deletes the requested item when it is "smaller" than the last element 716s #empty? 716s returns true for an empty queue 716s returns false for a populated queue 716s #include? 716s returns true if the item is found 716s returns false if the item is not found 716s returns false when the queue is empty 716s is aliased as #has_priority? 716s #length 716s returns the length of a populated queue 716s returns zero when the queue is empty 716s is aliased as #size 716s #peek 716s returns the item at the head of the queue 716s does not remove the item from the queue 716s returns nil when the queue is empty 716s #pop 716s returns the item at the head of the queue 716s removes the item from the queue 716s returns nil when the queue is empty 716s returns nil when called multiple times while empty 716s is aliased as #deq 716s is aliased as #shift 716s #push 716s raises an exception when attempting to enqueue nil 716s adds the item to the queue 716s sorts the new item in priority order 716s arbitrarily orders equal items with respect to each other 716s is expected to be truthy 716s is aliased as << 716s is aliased as enq 716s .from_list 716s creates an empty queue from an empty list 716s creates a sorted, populated queue from an Array 716s creates a sorted, populated queue from a Hash 716s 716s Concurrent::Collection::NonConcurrentPriorityQueue 716s inherits from JavaNonConcurrentPriorityQueue 716s 716s Concurrent::Concern::Obligation 716s unscheduled 716s it should behave like incomplete 716s should be not completed 716s should be incomplete 716s #value 716s should return immediately if timeout is zero 716s should block on the event if timeout is not set 716s should block on the event if timeout is not zero 716s #value! 716s should return immediately if timeout is zero 716s should block on the event if timeout is not set 716s should block on the event if timeout is not zero 716s #no_error! 716s should return immediately if timeout is zero 716s should block on the event if timeout is not set 716s should block on the event if timeout is not zero 716s pending 716s it should behave like incomplete 716s should be not completed 716s should be incomplete 716s #value 716s should return immediately if timeout is zero 716s should block on the event if timeout is not set 716s should block on the event if timeout is not zero 716s #value! 716s should return immediately if timeout is zero 716s should block on the event if timeout is not set 716s should block on the event if timeout is not zero 716s #no_error! 716s should return immediately if timeout is zero 716s should block on the event if timeout is not set 716s should block on the event if timeout is not zero 716s fulfilled 716s should be completed 716s should be not incomplete 716s #value 716s should return immediately if timeout is zero 716s should return immediately if timeout is not set 716s should return immediately if timeout is not zero 716s #value! 716s should return immediately if timeout is zero 716s should return immediately if timeout is not set 716s should return immediately if timeout is not zero 716s #no_error! 716s should return immediately if timeout is zero 716s should return immediately if timeout is not set 716s should return immediately if timeout is not zero 716s rejected 716s should be completed 716s should be not incomplete 716s #value 716s should return immediately if timeout is zero 716s should return immediately if timeout is not set 716s should return immediately if timeout is not zero 716s #value! 716s should return immediately if timeout is zero 716s should return immediately if timeout is not set 716s should return immediately if timeout is not zero 716s #no_error! 716s should return immediately if timeout is zero 716s should return immediately if timeout is not set 716s should return immediately if timeout is not zero 716s #compare_and_set_state 716s unexpected state 716s should return false if state is not the expected one 716s should not change the state if current is not the expected one 716s expected state 716s should return true if state is the expected one 716s should not change the state if current is not the expected one 716s #if_state 716s should raise without block 716s should return false if state is not expected 716s should the block value if state is expected 716s should execute the block within the mutex 716s #get_arguments_from 716s returns an empty array when opts is not given 716s returns an empty array when opts is an empty hash 716s returns an empty array when there is no :args key 716s returns an empty array when the :args key has a nil value 716s returns a one-element array when the :args key has a non-array value 716s returns an array when when the :args key has an array value 716s returns the given array when the :args key has a complex array value 716s 716s Concurrent::Concern::Observable 716s does not initialize set by by default 716s uses the given observer set 716s delegates #add_observer 716s delegates #with_observer 716s delegates #delete_observer 716s delegates #delete_observers 716s delegates #count_observers 716s 716s configuration 716s global executors 716s creates a global timer set 716s creates a global fast executor 716s creates a global io executor 716s 716s dataflow 716s raises an exception when no block given 716s #dataflow uses the global fast executor 716s #dataflow_with uses the given executor 716s #dataflow_with raises an exception when no executor given 716s accepts zero or more dependencies 716s accepts uncompleted dependencies 716s accepts completed dependencies 716s raises an exception if any dependencies are not IVars 716s doesn't raise exceptions from dependencies, unless called with ! 716s returns a Future 716s does not schedule the Future 716s if no dependencies are completed 716s if one dependency of two is completed 716s schedules the Future when all dependencies are available 716s if there is just one 716s if there is more than one 716s counts already executed dependencies 716s if there is just one 716s if there is more than one 716s passes the values of dependencies into the block 716s if there is just one 716s if there is more than one 716s module function 716s can be called as Concurrent.dataflow and Concurrent.dataflow_with 716s 716s Concurrent::Delay 716s behavior 716s it should behave like dereferenceable 716s defaults :dup_on_deref to false 716s calls #dup when the :dup_on_deref option is true 716s defaults :freeze_on_deref to false 716s calls #freeze when the :freeze_on_deref option is true 716s defaults :copy_on_deref to nil 716s calls the block when the :copy_on_deref option is passed a proc 716s calls the :copy block first followed by #dup followed by #freeze 716s does not call #dup when #dup_on_deref is set and the value is nil 716s does not call #freeze when #freeze_on_deref is set and the value is nil 716s does not call the #copy_on_deref block when the value is nil 716s supports dereference flags with observers 716s it should behave like obligation 716s #state 716s is :pending when first created 716s is :fulfilled when the handler completes 716s is :rejected when the handler raises an exception 716s #value 716s returns nil when reaching the optional timeout value 716s returns immediately when timeout is zero 717s returns the value when fulfilled before timeout 717s returns nil when timeout reached 717s is nil when :pending 717s blocks the caller when :pending and timeout is nil 717s is nil when :rejected 717s is set to the return value of the block when :fulfilled 717s #reason 717s is nil when :pending 717s is nil when :fulfilled 717s is set to error object of the exception when :rejected 717s #initialize 717s sets the state to :pending 717s raises an exception when no block given 717s #reconfigure 717s returns value of block used in reconfiguration 717s returns false when process completed? 717s #value 717s does not call the block before #value is called 717s calls the block when #value is called 717s only calls the block once no matter how often #value is called 717s raises when called recursively 717s can be called twice 717s 717s Concurrent 717s Promises::Channel 717s #capacity 717s #to_s 717s #(try_)push(_op) 717s #(try_)pop(_op) 717s #(try_)pop(_op)_matching 717s #(try_)select(_op) 717s exchanging 717s integration 717s 717s Concurrent 717s ErlangActor 717s on thread 717s is expected to eq [:bad_message, -1] 717s behaves like erlang actor 717s run to termination 717s run to termination with arguments 717s #receive 717s pid has name 717s receives message 717s receives message with matchers 717s spawn(link: true) 717s termination 717s monitoring 717s (de)monitor 717s demonitor 717s demonitor should leave the down message in the inbox if it's already there 717s notifications 1 717s notifications 2 717s linking 717s links 717s unlinks 717s link dead 717s link dead when trapping 717s exit/1 when linked 717s 1 717s 2 717s 3 717s 4 717s 5 717s 6 717s 7 717s 8 717s 9 717s exit/2 when linked 717s 1 717s 2 717s 3 717s 4 717s 5 717s 6 718s 7 718s 8 718s 9 718s 10 718s 11 718s 12 718s 13 718s asking 718s replies 718s timing out (PENDING: flaky on truffleruby and jruby) 718s rejects on no reply 718s on pool 718s receives message repeatedly with keep 718s class defined 718s behaves like erlang actor 718s run to termination 718s run to termination with arguments 718s #receive 718s pid has name 718s receives message 718s receives message with matchers 718s spawn(link: true) 718s termination 718s monitoring 718s (de)monitor 718s demonitor 719s demonitor should leave the down message in the inbox if it's already there 719s notifications 1 719s notifications 2 719s linking 719s links 719s unlinks 719s link dead 719s link dead when trapping 719s exit/1 when linked 719s 1 719s 2 719s 3 719s 4 719s 5 719s 6 719s 7 719s 8 719s 9 719s exit/2 when linked 719s 1 719s 2 719s 3 719s 4 719s 5 719s 6 719s 7 719s 8 719s 9 719s 10 719s 11 719s 12 719s 13 719s asking 719s replies 719s timing out (PENDING: flaky on truffleruby and jruby) 719s rejects on no reply 719s 719s Concurrent::Edge::LockFreeLinkedSet 719s .new 719s when passed default val 719s uses the val arg as data for each node 719s #add 719s appends to the linked set 719s in a multi-threaded environment 719s adds the items to the set 719s #<< 719s appends to the linked set and returns self 719s returns self regardless of whether it was logically added 719s #contains? 719s when checking if set includes a value 719s returns true if a value exists 719s compares object using Object#hash 719s returns false for values not in the set 719s when set is empty 719s does not break 719s when set is long 720s does not break 720s in a multi-threaded environment 720s correctly check that the set contains the item 720s #remove 720s when item is inside of set 720s the item is no longer visible to the user 720s allows for the item to be added despite being physically present 720s in a multi-threaded environment 720s adds the items to the set 720s does not recognize the existence of the item when removed 720s when item is not inside of set 720s does not remove to value 720s the set remains intact 720s when the set is empty 720s remove does not break 720s when the set is large 721s remove successfully removes the node 721s 721s Concurrent::RubyExchanger 721s behaves like exchanger 721s #exchange 721s behaves like exchanger method with indefinite timeout 721s blocks indefinitely 721s receives the other value 721s can be reused 721s behaves like exchanger method with finite timeout 721s blocks until timeout 721s receives the other value 721s can be reused 721s behaves like exchanger method cross-thread interactions 721s when first, waits for a second 721s allows multiple firsts to cancel if necessary 721s #exchange! 721s behaves like exchanger method with indefinite timeout 721s blocks indefinitely 721s receives the other value 721s can be reused 721s behaves like exchanger method with finite timeout 721s blocks until timeout 721s receives the other value 721s can be reused 721s behaves like exchanger method cross-thread interactions 722s when first, waits for a second 722s allows multiple firsts to cancel if necessary 722s #try_exchange 722s behaves like exchanger method with indefinite timeout 722s blocks indefinitely 722s receives the other value 722s can be reused 722s behaves like exchanger method with finite timeout 722s blocks until timeout 722s receives the other value 722s can be reused 722s behaves like exchanger method cross-thread interactions 722s when first, waits for a second 722s allows multiple firsts to cancel if necessary 722s 722s Concurrent::JavaExchanger 722s behaves like exchanger 722s #exchange 722s behaves like exchanger method with indefinite timeout 722s blocks indefinitely 722s receives the other value 722s can be reused 722s behaves like exchanger method with finite timeout 722s blocks until timeout 722s receives the other value 722s can be reused 722s behaves like exchanger method cross-thread interactions 723s when first, waits for a second 723s allows multiple firsts to cancel if necessary 723s #exchange! 723s behaves like exchanger method with indefinite timeout 723s blocks indefinitely 723s receives the other value 723s can be reused 723s behaves like exchanger method with finite timeout 723s blocks until timeout 723s receives the other value 723s can be reused 723s behaves like exchanger method cross-thread interactions 723s when first, waits for a second 724s allows multiple firsts to cancel if necessary 724s #try_exchange 724s behaves like exchanger method with indefinite timeout 724s blocks indefinitely 724s receives the other value 724s can be reused 724s behaves like exchanger method with finite timeout 724s blocks until timeout 724s receives the other value 724s can be reused 724s behaves like exchanger method cross-thread interactions 724s when first, waits for a second 724s allows multiple firsts to cancel if necessary 724s 724s Concurrent::Exchanger 724s class hierarchy 724s inherits from JavaExchanger 724s 724s Concurrent::CachedThreadPool 724s it should behave like thread_pool 724s it should behave like executor_service 724s it should behave like global_thread_pool 724s #post 724s raises an exception if no block is given 724s returns true when the block is added to the queue 724s calls the block with the given arguments 724s aliases #<< 724s #post 725s rejects the block while shutting down 725s rejects the block once shutdown 725s auto terminate 731s does not stop shutdown 731s #running? 731s returns true when the thread pool is running 731s returns false when the thread pool is shutting down 731s returns false when the thread pool is shutdown 731s returns false when the thread pool is killed 731s #shuttingdown? 731s returns false when the thread pool is running 732s returns true when the thread pool is shutting down 732s returns false when the thread pool is shutdown 732s #shutdown? 732s returns false when the thread pool is running 732s returns false when the thread pool is shutting down 732s returns true when the thread pool is shutdown 732s #shutdown 732s stops accepting new tasks 733s allows in-progress tasks to complete 733s allows pending tasks to complete 733s #shutdown followed by #wait_for_termination 733s allows in-progress tasks to complete 733s allows pending tasks to complete 733s stops accepting/running new tasks 733s #kill 733s stops accepting new tasks 734s rejects all pending tasks 734s #wait_for_termination 734s immediately returns true when no operations are pending 734s returns true after shutdown has complete 734s returns true when shutdown successfully completes before timeout 734s returns false when shutdown fails to complete before timeout 735s waits forever when no timeout value is given 735s #auto_terminate? 735s returns true by default 735s returns true when :enable_at_exit_handler is true 735s returns false when :enable_at_exit_handler is false 735s #length 735s returns zero on creation 735s returns zero once shut down 735s #scheduled_task_count 735s returns zero on creation 735s returns the approximate number of tasks that have been post thus far 735s returns the approximate number of tasks that were post 735s #completed_task_count 735s returns zero on creation 735s #shutdown 736s allows threads to exit normally 736s #initialize 736s sets :max_length to DEFAULT_MAX_POOL_SIZE 736s sets :min_length to DEFAULT_MIN_POOL_SIZE 736s sets :idletime to DEFAULT_THREAD_IDLETIMEOUT 736s sets :max_queue to DEFAULT_MAX_QUEUE_SIZE 736s #min_length 736s returns zero on creation 736s returns zero while running 736s returns zero once shutdown 736s #max_length 736s returns :max_length on creation 736s returns :max_length while running 736s returns :max_length once shutdown 736s #largest_length 736s returns zero on creation 736s returns a non-zero number once tasks have been received 736s returns a non-zero number after shutdown if tasks have been received 736s #idletime 736s returns the thread idletime 736s runtime-specific implementation 736s #initialize 736s sets :fallback_policy correctly 736s defaults :fallback_policy to :abort 736s raises an exception if given an invalid :fallback_policy 736s stress 737s is expected to be <= 200 738s is expected to be <= 4 738s 738s Concurrent::FixedThreadPool 738s it should behave like thread_pool 738s it should behave like executor_service 738s it should behave like global_thread_pool 738s #post 738s raises an exception if no block is given 738s returns true when the block is added to the queue 738s calls the block with the given arguments 738s aliases #<< 738s #post 739s rejects the block while shutting down 739s rejects the block once shutdown 739s auto terminate 745s does not stop shutdown 745s #running? 745s returns true when the thread pool is running 745s returns false when the thread pool is shutting down 745s returns false when the thread pool is shutdown 745s returns false when the thread pool is killed 745s #shuttingdown? 745s returns false when the thread pool is running 746s returns true when the thread pool is shutting down 746s returns false when the thread pool is shutdown 746s #shutdown? 746s returns false when the thread pool is running 746s returns false when the thread pool is shutting down 746s returns true when the thread pool is shutdown 746s #shutdown 746s stops accepting new tasks 746s allows in-progress tasks to complete 747s allows pending tasks to complete 747s #shutdown followed by #wait_for_termination 747s allows in-progress tasks to complete 747s allows pending tasks to complete 747s stops accepting/running new tasks 747s #kill 747s stops accepting new tasks 747s rejects all pending tasks 747s #wait_for_termination 747s immediately returns true when no operations are pending 748s returns true after shutdown has complete 748s returns true when shutdown successfully completes before timeout 748s returns false when shutdown fails to complete before timeout 749s waits forever when no timeout value is given 749s #auto_terminate? 749s returns true by default 749s returns true when :enable_at_exit_handler is true 749s returns false when :enable_at_exit_handler is false 749s #length 749s returns zero on creation 749s returns zero once shut down 749s #scheduled_task_count 749s returns zero on creation 749s returns the approximate number of tasks that have been post thus far 749s returns the approximate number of tasks that were post 749s #completed_task_count 749s returns zero on creation 749s #shutdown 750s allows threads to exit normally 750s #initialize default values 750s defaults :min_length correctly 750s defaults :max_length correctly 750s defaults :fallback_policy to :abort 750s defaults :idletime correctly 750s defaults default :max_queue to zero 750s #initialize explicit values 750s raises an exception when the pool length is less than one 750s sets explicit :max_queue correctly 750s correctly sets valid :fallback_policy 750s correctly sets valid :idletime 750s raises an exception if given an invalid :fallback_policy 750s #min_length 750s returns :num_threads on creation 750s returns :num_threads while running 750s returns :num_threads once shutdown 750s #max_length 750s returns :num_threads on creation 750s returns :num_threads while running 750s returns :num_threads once shutdown 750s #length 750s returns :num_threads while running 750s #largest_length 750s returns zero on creation 750s returns :num_threads while running 750s returns :num_threads once shutdown 750s #kill 750s attempts to kill all in-progress tasks 750s worker creation and caching 750s never creates more than :num_threads threads 750s fallback policy 751s raises an error when overflow on abort 752s discards when fallback_policy is :discard 752s uses the calling thread for overflow under caller_runs 752s runtime-specific implementation 752s sets :fallback_policy correctly 752s 752s Concurrent::ImmediateExecutor 752s it should behave like executor_service 752s it should behave like global_thread_pool 752s #post 752s raises an exception if no block is given 752s returns true when the block is added to the queue 752s calls the block with the given arguments 752s aliases #<< 752s #post 753s rejects the block while shutting down 753s rejects the block once shutdown 753s auto terminate 759s does not stop shutdown 759s #running? 759s returns true when the thread pool is running 759s returns false when the thread pool is shutting down 759s returns false when the thread pool is shutdown 759s returns false when the thread pool is killed 759s #shuttingdown? 759s returns false when the thread pool is running 759s returns true when the thread pool is shutting down (PENDING: will never be in shuttingdown? state) 759s returns false when the thread pool is shutdown 759s #shutdown? 759s returns false when the thread pool is running 759s returns false when the thread pool is shutting down (PENDING: will never be in shuttingdown? state) 759s returns true when the thread pool is shutdown 759s #shutdown 760s stops accepting new tasks 760s allows in-progress tasks to complete 760s allows pending tasks to complete 760s #shutdown followed by #wait_for_termination 760s allows in-progress tasks to complete 761s allows pending tasks to complete 761s stops accepting/running new tasks 761s #kill 761s stops accepting new tasks 762s rejects all pending tasks 762s #wait_for_termination 762s immediately returns true when no operations are pending 762s returns true after shutdown has complete 763s returns true when shutdown successfully completes before timeout 763s returns false when shutdown fails to complete before timeout 764s waits forever when no timeout value is given 764s 764s Concurrent::IndirectImmediateExecutor 764s runs its tasks synchronously 764s runs the task on a separate thread 764s it should behave like executor_service 764s it should behave like global_thread_pool 764s #post 764s raises an exception if no block is given 764s returns true when the block is added to the queue 764s calls the block with the given arguments 764s aliases #<< 764s #post 765s rejects the block while shutting down 765s rejects the block once shutdown 765s auto terminate 771s does not stop shutdown 771s #running? 771s returns true when the thread pool is running 771s returns false when the thread pool is shutting down 771s returns false when the thread pool is shutdown 771s returns false when the thread pool is killed 771s #shuttingdown? 771s returns false when the thread pool is running 771s returns true when the thread pool is shutting down (PENDING: will never be in shuttingdown? state) 771s returns false when the thread pool is shutdown 771s #shutdown? 771s returns false when the thread pool is running 771s returns false when the thread pool is shutting down (PENDING: will never be in shuttingdown? state) 771s returns true when the thread pool is shutdown 771s #shutdown 771s stops accepting new tasks 772s allows in-progress tasks to complete 772s allows pending tasks to complete 772s #shutdown followed by #wait_for_termination 772s allows in-progress tasks to complete 773s allows pending tasks to complete 773s stops accepting/running new tasks 773s #kill 773s stops accepting new tasks 774s rejects all pending tasks 774s #wait_for_termination 774s immediately returns true when no operations are pending 774s returns true after shutdown has complete 775s returns true when shutdown successfully completes before timeout 775s returns false when shutdown fails to complete before timeout 776s waits forever when no timeout value is given 776s 776s Concurrent::JavaSingleThreadExecutor 776s it should behave like executor_service 776s it should behave like global_thread_pool 776s #post 776s raises an exception if no block is given 776s returns true when the block is added to the queue 776s calls the block with the given arguments 776s aliases #<< 776s #post 777s rejects the block while shutting down 777s rejects the block once shutdown 777s auto terminate 783s does not stop shutdown 783s #running? 783s returns true when the thread pool is running 783s returns false when the thread pool is shutting down 783s returns false when the thread pool is shutdown 783s returns false when the thread pool is killed 783s #shuttingdown? 783s returns false when the thread pool is running 784s returns true when the thread pool is shutting down 784s returns false when the thread pool is shutdown 784s #shutdown? 784s returns false when the thread pool is running 784s returns false when the thread pool is shutting down 784s returns true when the thread pool is shutdown 784s #shutdown 784s stops accepting new tasks 785s allows in-progress tasks to complete 785s allows pending tasks to complete 785s #shutdown followed by #wait_for_termination 785s allows in-progress tasks to complete 786s allows pending tasks to complete 786s stops accepting/running new tasks 786s #kill 786s stops accepting new tasks 786s rejects all pending tasks 786s #wait_for_termination 786s immediately returns true when no operations are pending 786s returns true after shutdown has complete 787s returns true when shutdown successfully completes before timeout 787s returns false when shutdown fails to complete before timeout 787s waits forever when no timeout value is given 787s 787s Concurrent::JavaThreadPoolExecutor 787s it should behave like thread_pool 787s it should behave like executor_service 787s it should behave like global_thread_pool 787s #post 787s raises an exception if no block is given 787s returns true when the block is added to the queue 787s calls the block with the given arguments 787s aliases #<< 787s #post 788s rejects the block while shutting down 788s rejects the block once shutdown 788s auto terminate 794s does not stop shutdown 794s #running? 794s returns true when the thread pool is running 794s returns false when the thread pool is shutting down 794s returns false when the thread pool is shutdown 794s returns false when the thread pool is killed 794s #shuttingdown? 794s returns false when the thread pool is running 795s returns true when the thread pool is shutting down 795s returns false when the thread pool is shutdown 795s #shutdown? 795s returns false when the thread pool is running 795s returns false when the thread pool is shutting down 795s returns true when the thread pool is shutdown 795s #shutdown 796s stops accepting new tasks 796s allows in-progress tasks to complete 796s allows pending tasks to complete 796s #shutdown followed by #wait_for_termination 796s allows in-progress tasks to complete 797s allows pending tasks to complete 797s stops accepting/running new tasks 797s #kill 797s stops accepting new tasks 797s rejects all pending tasks 797s #wait_for_termination 797s immediately returns true when no operations are pending 797s returns true after shutdown has complete 798s returns true when shutdown successfully completes before timeout 798s returns false when shutdown fails to complete before timeout 798s waits forever when no timeout value is given 798s #auto_terminate? 798s returns true by default 798s returns true when :enable_at_exit_handler is true 798s returns false when :enable_at_exit_handler is false 798s #length 798s returns zero on creation 799s returns zero once shut down 799s #scheduled_task_count 799s returns zero on creation 799s returns the approximate number of tasks that have been post thus far 799s returns the approximate number of tasks that were post 799s #completed_task_count 799s returns zero on creation 799s #shutdown 800s allows threads to exit normally 800s it should behave like thread_pool_executor 800s #initialize defaults 800s defaults :min_length to DEFAULT_MIN_POOL_SIZE 800s defaults :max_length to DEFAULT_MAX_POOL_SIZE 800s defaults :idletime to DEFAULT_THREAD_IDLETIMEOUT 800s defaults :max_queue to DEFAULT_MAX_QUEUE_SIZE 800s defaults :fallback_policy to :abort 800s defaults :name to nil 800s #initialize explicit values 800s sets :min_threads 800s sets :max_threads 800s sets :idletime 800s doesn't allow max_threads < min_threads 800s accepts all valid fallback policies 800s raises an exception if :max_threads is less than zero 800s raises an exception if :min_threads is less than zero 800s raises an exception if :max_threads greater than the max allowable 800s raises an exception if :max_threads is less than :min_threads 800s raises an exception if given an invalid :fallback_policy 800s sets :name 800s #max_queue 800s returns the set value on creation 800s returns the set value when running 800s returns the set value after stopping 800s #synchronous 800s cannot be set unless `max_queue` is zero 800s executes fallback policy once max_threads has been reached 800s #queue_length 800s returns zero on creation 800s returns zero when there are no enqueued tasks 800s returns the size of the queue when tasks are enqueued 800s returns zero when stopped 800s can never be greater than :max_queue 800s #remaining_capacity 800s returns -1 when :max_queue is set to zero 800s returns :max_length on creation 800s returns :max_length when stopped 800s #active_count 800s returns the number of threads that are actively executing tasks. 800s #fallback_policy 800s :abort 800s #post raises an error when the queue is at capacity 800s #<< raises an error when the queue is at capacity 800s #post raises an error when the executor is shutting down 800s #<< raises an error when the executor is shutting down 800s a #post task is never executed when the queue is at capacity 800s a #<< task is never executed when the queue is at capacity 800s :discard 800s a #post task is never executed when the queue is at capacity 800s a #<< task is never executed when the queue is at capacity 800s a #post task is never executed when the executor is shutting down 800s a #<< task is never executed when the executor is shutting down 800s #post returns false when the executor is shutting down 800s :caller_runs 800s #post does not create any new threads when the queue is at capacity 800s native console only tested on i386, x86_64, powerpc64, aarch64, s390x 800s #<< executes the task on the current thread when the queue is at capacity 800s #post executes the task on the current thread when the queue is at capacity 800s #post executes the task on the current thread when the executor is shutting down 800s #<< executes the task on the current thread when the executor is shutting down 800s #post does not block other jobs running on the worker threads 800s prune 800s is a no-op, pruning is handled by the JVM 800s #overload_policy 801s :abort maps to AbortPolicy 801s :discard maps to DiscardPolicy 801s :caller_runs maps to CallerRunsPolicy 801s 801s Concurrent::RubySingleThreadExecutor 801s it should behave like executor_service 801s it should behave like global_thread_pool 801s #post 801s raises an exception if no block is given 801s returns true when the block is added to the queue 801s calls the block with the given arguments 801s aliases #<< 801s #post 802s rejects the block while shutting down 802s rejects the block once shutdown 802s auto terminate 807s does not stop shutdown 807s #running? 807s returns true when the thread pool is running 808s returns false when the thread pool is shutting down 808s returns false when the thread pool is shutdown 808s returns false when the thread pool is killed 808s #shuttingdown? 808s returns false when the thread pool is running 808s returns true when the thread pool is shutting down 808s returns false when the thread pool is shutdown 808s #shutdown? 808s returns false when the thread pool is running 809s returns false when the thread pool is shutting down 809s returns true when the thread pool is shutdown 809s #shutdown 809s stops accepting new tasks 809s allows in-progress tasks to complete 810s allows pending tasks to complete 810s #shutdown followed by #wait_for_termination 810s allows in-progress tasks to complete 810s allows pending tasks to complete 810s stops accepting/running new tasks 810s #kill 811s stops accepting new tasks 811s rejects all pending tasks 811s #wait_for_termination 811s immediately returns true when no operations are pending 811s returns true after shutdown has complete 811s returns true when shutdown successfully completes before timeout 811s returns false when shutdown fails to complete before timeout 812s waits forever when no timeout value is given 812s 812s Concurrent::RubyThreadPoolExecutor 812s it should behave like thread_pool 812s it should behave like executor_service 812s it should behave like global_thread_pool 812s #post 812s raises an exception if no block is given 812s returns true when the block is added to the queue 812s calls the block with the given arguments 812s aliases #<< 812s #post 813s rejects the block while shutting down 813s rejects the block once shutdown 813s auto terminate 819s does not stop shutdown 819s #running? 819s returns true when the thread pool is running 819s returns false when the thread pool is shutting down 819s returns false when the thread pool is shutdown 819s returns false when the thread pool is killed 819s #shuttingdown? 819s returns false when the thread pool is running 820s returns true when the thread pool is shutting down 820s returns false when the thread pool is shutdown 820s #shutdown? 820s returns false when the thread pool is running 820s returns false when the thread pool is shutting down 820s returns true when the thread pool is shutdown 820s #shutdown 820s stops accepting new tasks 820s allows in-progress tasks to complete 821s allows pending tasks to complete 821s #shutdown followed by #wait_for_termination 821s allows in-progress tasks to complete 821s allows pending tasks to complete 821s stops accepting/running new tasks 821s #kill 821s stops accepting new tasks 821s rejects all pending tasks 821s #wait_for_termination 821s immediately returns true when no operations are pending 822s returns true after shutdown has complete 822s returns true when shutdown successfully completes before timeout 822s returns false when shutdown fails to complete before timeout 823s waits forever when no timeout value is given 823s #auto_terminate? 823s returns true by default 823s returns true when :enable_at_exit_handler is true 823s returns false when :enable_at_exit_handler is false 823s #length 823s returns zero on creation 823s returns zero once shut down 823s #scheduled_task_count 823s returns zero on creation 823s returns the approximate number of tasks that have been post thus far 823s returns the approximate number of tasks that were post 823s #completed_task_count 823s returns zero on creation 823s #shutdown 824s allows threads to exit normally 824s it should behave like thread_pool_executor 824s #initialize defaults 824s defaults :min_length to DEFAULT_MIN_POOL_SIZE 824s defaults :max_length to DEFAULT_MAX_POOL_SIZE 824s defaults :idletime to DEFAULT_THREAD_IDLETIMEOUT 824s defaults :max_queue to DEFAULT_MAX_QUEUE_SIZE 824s defaults :fallback_policy to :abort 824s defaults :name to nil 824s #initialize explicit values 824s sets :min_threads 824s sets :max_threads 824s sets :idletime 824s doesn't allow max_threads < min_threads 824s accepts all valid fallback policies 824s raises an exception if :max_threads is less than zero 824s raises an exception if :min_threads is less than zero 824s raises an exception if :max_threads greater than the max allowable 824s raises an exception if :max_threads is less than :min_threads 824s raises an exception if given an invalid :fallback_policy 824s sets :name 824s #max_queue 824s returns the set value on creation 824s returns the set value when running 824s returns the set value after stopping 824s #synchronous 824s cannot be set unless `max_queue` is zero 824s executes fallback policy once max_threads has been reached 824s #queue_length 824s returns zero on creation 824s returns zero when there are no enqueued tasks 824s returns the size of the queue when tasks are enqueued 824s returns zero when stopped 824s can never be greater than :max_queue 824s #remaining_capacity 824s returns -1 when :max_queue is set to zero 824s returns :max_length on creation 824s returns :max_length when stopped 824s #active_count 824s returns the number of threads that are actively executing tasks. 824s #fallback_policy 824s :abort 824s #post raises an error when the queue is at capacity 824s #<< raises an error when the queue is at capacity 824s #post raises an error when the executor is shutting down 824s #<< raises an error when the executor is shutting down 824s a #post task is never executed when the queue is at capacity 824s a #<< task is never executed when the queue is at capacity 824s :discard 824s a #post task is never executed when the queue is at capacity 824s a #<< task is never executed when the queue is at capacity 824s a #post task is never executed when the executor is shutting down 824s a #<< task is never executed when the executor is shutting down 824s #post returns false when the executor is shutting down 824s :caller_runs 824s #post does not create any new threads when the queue is at capacity 824s #<< executes the task on the current thread when the queue is at capacity 824s #post executes the task on the current thread when the queue is at capacity 824s #post executes the task on the current thread when the executor is shutting down 825s #<< executes the task on the current thread when the executor is shutting down 825s #post does not block other jobs running on the worker threads 825s #remaining_capacity 825s returns :max_length when no tasks are enqueued 825s returns the remaining capacity when tasks are enqueued 825s threads naming 825s without pool name 825s sets counted name 825s with pool name 825s sets counted name 825s 825s Concurrent::SafeTaskExecutor 825s #execute 825s happy execution 825s should return success 825s should return task value 825s should return a nil reason 825s passes all arguments to #execute to the task 825s protectes #execute with a mutex 825s failing execution 825s should return false success 825s should return a nil value 825s should return the reason 825s rescues Exception when :rescue_exception is true 825s rescues StandardError when :rescue_exception is false 825s rescues StandardError by default 825s 825s Concurrent::SerializedExecutionDelegator 825s it should behave like executor_service 825s it should behave like global_thread_pool 825s #post 825s raises an exception if no block is given 825s returns true when the block is added to the queue 825s calls the block with the given arguments 825s aliases #<< 825s #post 826s rejects the block while shutting down 826s rejects the block once shutdown 826s auto terminate 831s does not stop shutdown 831s #running? 831s returns true when the thread pool is running 832s returns false when the thread pool is shutting down 832s returns false when the thread pool is shutdown 832s returns false when the thread pool is killed 832s #shuttingdown? 832s returns false when the thread pool is running 832s returns true when the thread pool is shutting down (PENDING: will never be in shuttingdown? state) 832s returns false when the thread pool is shutdown 832s #shutdown? 832s returns false when the thread pool is running 832s returns false when the thread pool is shutting down (PENDING: will never be in shuttingdown? state) 832s returns true when the thread pool is shutdown 832s #shutdown 832s stops accepting new tasks 832s allows in-progress tasks to complete 832s allows pending tasks to complete 832s #shutdown followed by #wait_for_termination 833s allows in-progress tasks to complete 833s allows pending tasks to complete 833s stops accepting/running new tasks 833s #kill 833s stops accepting new tasks 835s rejects all pending tasks 835s #wait_for_termination 835s immediately returns true when no operations are pending 835s returns true after shutdown has complete 835s returns true when shutdown successfully completes before timeout 835s returns false when shutdown fails to complete before timeout 836s waits forever when no timeout value is given 836s 836s Concurrent::SimpleExecutorService 836s it should behave like executor_service 836s it should behave like global_thread_pool 836s #post 836s raises an exception if no block is given 836s returns true when the block is added to the queue 836s calls the block with the given arguments 836s aliases #<< 836s #post 837s rejects the block while shutting down 837s rejects the block once shutdown 837s auto terminate 842s does not stop shutdown 842s #running? 842s returns true when the thread pool is running 843s returns false when the thread pool is shutting down 843s returns false when the thread pool is shutdown 843s returns false when the thread pool is killed 843s #shuttingdown? 843s returns false when the thread pool is running 844s returns true when the thread pool is shutting down 844s returns false when the thread pool is shutdown 844s #shutdown? 844s returns false when the thread pool is running 844s returns false when the thread pool is shutting down 844s returns true when the thread pool is shutdown 844s #shutdown 844s stops accepting new tasks 844s allows in-progress tasks to complete 845s allows pending tasks to complete 845s #shutdown followed by #wait_for_termination 845s allows in-progress tasks to complete 845s allows pending tasks to complete 845s stops accepting/running new tasks 845s #kill 845s stops accepting new tasks 845s rejects all pending tasks 845s #wait_for_termination 845s immediately returns true when no operations are pending 845s returns true after shutdown has complete 846s returns true when shutdown successfully completes before timeout 846s returns false when shutdown fails to complete before timeout 847s waits forever when no timeout value is given 847s #post 847s creates a new thread for a call without arguments 847s executes a call without arguments 847s creates a new thread for a call with arguments 847s executes a call with one argument 847s executes a call with multiple arguments 847s aliases #<< 847s SimpleExecutorService.post 847s creates a new thread for a call without arguments 847s executes a call without arguments 847s creates a new thread for a call with arguments 847s executes a call with one argument 847s executes a call with multiple arguments 847s aliases #<< 847s 847s Concurrent::SingleThreadExecutor 847s inherits from JavaSingleThreadExecutor 847s 847s Concurrent::ThreadPoolExecutor 847s inherits from JavaThreadPoolExecutor 847s 847s Concurrent::TimerSet 847s construction 847s uses the executor given at construction 847s uses the global io executor be default 847s #post 847s raises an exception when given a task with a delay less than zero 847s raises an exception when no block given 847s immediately posts a task when the delay is zero 847s execution 847s executes a given task when given an interval in seconds 847s returns an IVar when posting a task 847s executes a given task when given an interval in seconds, even if longer tasks have been scheduled 847s passes all arguments to the task on execution 847s does not execute tasks early 847s executes all tasks scheduled for the same time 847s executes tasks with different times in schedule order 848s executes tasks with different times in schedule time 848s continues to execute new tasks even after the queue is emptied 848s safely handles an executor raising RejectedExecutionError 848s resolution 848s sets the IVar value on success when delay is zero 848s sets the IVar value on success when given a delay 848s sets the IVar reason on failure when delay is zero 849s sets the IVar reason on failure when given a delay 849s task cancellation 849s fails to cancel the task once processing has begun 849s fails to cancel the task once processing is complete 849s cancels a pending task 849s returns false when not running 849s task rescheduling 849s raises an exception when given an invalid time 849s does not change the current schedule when given an invalid time 849s reschdules a pending and unpost task when given a valid time 849s returns false once the task has been post to the executor 849s returns false once the task is processing 849s returns false once the task has is complete 849s returns false when not running 849s task resetting 849s calls #reschedule with the original delay 849s termination 849s cancels all pending tasks on #shutdown 849s cancels all pending tasks on #kill 849s stops the monitor thread on #shutdown 849s kills the monitor thread on #kill 849s rejects tasks once shutdown 849s rejects tasks once killed 849s #wait_for_termination returns true if shutdown completes before timeout 849s #wait_for_termination returns false on timeout 849s state 849s is running? when first created 849s is running? after tasks have been post 849s is shutdown? after shutdown completes 849s is shutdown? after being killed 849s 849s Concurrent::WrappingExecutor 849s is expected to be a kind of Concurrent::WrappingExecutor 849s is expected to respond to #post 849s is expected to respond to #can_overflow? 849s is expected to respond to #serialized? 849s #post 849s with passthrough wrapper 849s is expected to equal # 849s with wrapper modifying args 849s is expected to equal # 849s with wrapper modifying task 849s is expected to equal # 849s 849s Concurrent::Future 849s it should behave like ivar 849s it should behave like obligation 849s #state 849s is :pending when first created 849s is :fulfilled when the handler completes 849s is :rejected when the handler raises an exception 849s #value 849s returns nil when reaching the optional timeout value 849s returns immediately when timeout is zero 854s returns the value when fulfilled before timeout 854s returns nil when timeout reached 854s is nil when :pending 859s blocks the caller when :pending and timeout is nil 859s is nil when :rejected 859s is set to the return value of the block when :fulfilled 859s #reason 859s is nil when :pending 859s is nil when :fulfilled 859s is set to error object of the exception when :rejected 859s it should behave like dereferenceable 860s defaults :dup_on_deref to false 860s calls #dup when the :dup_on_deref option is true 860s defaults :freeze_on_deref to false 860s calls #freeze when the :freeze_on_deref option is true 861s defaults :copy_on_deref to nil 861s calls the block when the :copy_on_deref option is passed a proc 861s calls the :copy block first followed by #dup followed by #freeze 861s does not call #dup when #dup_on_deref is set and the value is nil 861s does not call #freeze when #freeze_on_deref is set and the value is nil 861s does not call the #copy_on_deref block when the value is nil 862s supports dereference flags with observers 862s it should behave like observable 862s #add_observer 862s adds an observer if called before first notification 862s adds an observer with :func if called before first notification 862s creates an observer from a block if called before first notification 862s raises an exception if not given an observer or a block 862s raises an exception when given both an observer and a block 862s #delete_observer 862s deletes the given observer if called before first notification 862s returns the removed observer if found in the observer set 862s returns the given observer even when not found in the observer set 862s #delete_observers 862s deletes all observers when called before first notification 862s returns self 862s #count_observers 862s returns zero for a new observable object 862s returns a count of registered observers if called before first notification 862s returns zero after #delete_observers has been called 862s first notification 862s calls the #update method on all observers without a specified :func 862s calls the appropriate function on all observers which specified a :func 862s calls the proc for all observers added as a block 863s does not notify any observers removed with #delete_observer 864s does not notify any observers after #delete_observers called 864s initialization 864s sets the state to incomplete 864s #set 864s sets the state to be fulfilled 864s sets the value 864s raises an exception if set more than once 864s returns self 864s fulfils when given a block which executes successfully 864s rejects when given a block which raises an exception 864s raises an exception when given a value and a block 864s raises an exception when given neither a value nor a block 864s #fail 864s sets the state to be rejected 864s sets the value to be nil 864s sets the reason to the given exception 864s raises an exception if set more than once 864s defaults the reason to a StandardError 864s returns self 864s #try_set 864s when unset 864s assigns the value 864s assigns the block result 864s returns true 864s when fulfilled 864s does not assign the value 864s does not assign the block result 864s returns false 864s when rejected 864s does not assign the value 864s does not assign the block result 864s has a nil value 864s returns false 864s it should behave like thread_arguments 864s passes an empty array when opts is not given 864s passes an empty array when opts is an empty hash 864s passes an empty array when there is no :args key 864s passes an empty array when the :args key has a nil value 864s passes a one-element array when the :args key has a non-array value 864s passes an array when when the :args key has an array value 864s passes the given array when the :args key has a complex array value 864s allows the given arguments array to be dereferenced 864s #initialize 864s sets the state to :unscheduled 864s raises an exception when no block given 864s uses the executor given with the :executor option 864s uses the global io executor by default 864s instance #execute 864s does nothing unless the state is :unscheduled 864s posts the block given on construction 864s sets the state to :pending 864s returns self 864s class #execute 864s creates a new Future 864s passes the block to the new Future 864s calls #execute on the new Future 864s fulfillment 864s sets the state to :processing while the task is executing 864s passes all arguments to handler 864s sets the value to the result of the handler 864s sets the state to :fulfilled when the block completes 864s sets the value to nil when the handler raises an exception 864s sets the value to nil when the handler raises Exception 864s sets the reason to the Exception instance when the handler raises Exception 864s sets the state to :rejected when the handler raises an exception 864s aliases 864s aliases #realized? for #fulfilled? 865s aliases #deref for #value 865s cancellation 865s #cancel 865s fails to cancel the task once processing has begun 865s fails to cancel the task once processing is complete 865s cancels a pending task 865s #wait_or_cancel 865s returns true if the operation completes before timeout 865s cancels the task on timeout 865s observation 865s notifies all observers on fulfillment 865s notifies all observers on rejection 865s notifies an observer added after fulfillment 865s notifies an observer added after rejection 865s does not notify existing observers when a new observer added after fulfillment 865s does not notify existing observers when a new observer added after rejection 865s deadlock avoidance 865s should notify observers outside mutex lock 865s should notify a new observer added after fulfillment outside lock 865s 865s Concurrent::Hash 865s .[] 865s when initializing with no arguments 865s is expected to be empty 865s when initializing with an even number of arguments 865s creates a hash using the odd position arguments as keys and even position arguments as values 865s when initializing with an array of pairs 865s creates a hash using each pair as a (key, value) pair 865s when initializing with another hash as an argument 865s creates a new hash 865s creates a hash with the same contents as the other hash 865s creates a hash with the results of calling #to_hash on the other array 865s .new 865s when initializing with no arguments 865s is expected to be empty 865s when initialized with a default object 865s uses the default object for non-existing keys 865s when initialized with a block 865s calls the block for non-existing keys 865s returns the results of calling the block for non-existing key 865s concurrency 865s is expected to be empty 865s 865s Concurrent::ImmutableStruct 865s it should behave like struct 865s definition 865s registers the class when given a class name 865s registers the class when given a class name which is defined in the ancestors 865s creates an anonymous class when given at least one member 865s raises an exception when given an invalid class name 865s defines a getter for each member 865s raises an exception when given no members 865s raise an exception when given an invalid member 865s evalues a given block against the new class 865s construction 865s sets all absent members to nil 865s sets all given members in order 865s raises an exception when extra members are given 865s properties 865s #length 865s returns the number of struct members 865s #members 865s returns the struct members as an array of symbols 865s returns a different object than the array passed at definition 865s #size 865s returns the number of struct members 865s #values 865s returns the values of the struct as an array in order 865s #values_at 865s returns the value at the given offset 865s returns the values at multiple given offsets 865s returns values at offsets in a given range 865s returns values for multiple ranges 865s returns values for ranges and offsets 865s accessors 865s #[member] 865s retrieves the value when given a valid symbol member 865s retrieves the value when given a valid string member 865s raises an exception when given a non-existent symbol member 865s raises an exception when given a non-existent string member 865s #[index] 865s retrieves the value when given a valid index 865s raises an exception when given an out-of-bound index 865s comparison 865s #== 865s returns true if other has same struct subclass and equal values 865s returns false if other has different struct subclass 865s returns false if other has different values 865s #!= 865s returns false if other has same struct subclass and equal values 865s returns true if other has different struct subclass 865s returns true if other has different values 865s enumeration 865s #each 865s yields the value of each struct member in order 865s returns an enumerator when no block is given 865s #each_pair 865s yields the name and value of each struct member in order 865s returns an enumerator when no block is given 865s #select 865s yields each value 865s returns an Array with the values from for which the block returns true 865s returns an enumerator when no block is given 865s conversion 865s #to_s 865s includes the name of the class when registered 865s includes the names of all members 865s includes all values 865s returns the same string as #inspect 865s #to_a 865s returns the to_a for this struct as an array 865s #to_h 865s returns a Hash containing the names and values in order 865s copy 865s #dup 865s shallowly duplicates all members along with the struct 865s discards frozen state of the struct 865s retains frozen state of members 865s discards singleton class 865s copies the singleton class of members 865s #clone 865s shallowly clones all members along with the struct 865s retains frozen state 865s copies the singleton class 865s copies the singleton class of members 865s it should behave like mergeable_struct 865s #merge 865s updates all members with the new values from a given hash 865s calls the given block for each key in `other` 865s retains the value for all members not without values in the given hash 865s raises an exception when given a hash with members not in the struct 865s returns a new object 865s 865s Concurrent::IVar 865s it should behave like ivar 865s it should behave like obligation 865s #state 865s is :pending when first created 865s is :fulfilled when the handler completes 865s is :rejected when the handler raises an exception 865s #value 865s returns nil when reaching the optional timeout value 865s returns immediately when timeout is zero 865s returns the value when fulfilled before timeout 865s returns nil when timeout reached 865s is nil when :pending 865s blocks the caller when :pending and timeout is nil 865s is nil when :rejected 865s is set to the return value of the block when :fulfilled 865s #reason 865s is nil when :pending 865s is nil when :fulfilled 865s is set to error object of the exception when :rejected 865s it should behave like dereferenceable 865s defaults :dup_on_deref to false 865s calls #dup when the :dup_on_deref option is true 865s defaults :freeze_on_deref to false 865s calls #freeze when the :freeze_on_deref option is true 865s defaults :copy_on_deref to nil 865s calls the block when the :copy_on_deref option is passed a proc 865s calls the :copy block first followed by #dup followed by #freeze 865s does not call #dup when #dup_on_deref is set and the value is nil 865s does not call #freeze when #freeze_on_deref is set and the value is nil 865s does not call the #copy_on_deref block when the value is nil 865s supports dereference flags with observers 865s it should behave like observable 865s #add_observer 865s adds an observer if called before first notification 865s adds an observer with :func if called before first notification 865s creates an observer from a block if called before first notification 865s raises an exception if not given an observer or a block 865s raises an exception when given both an observer and a block 865s #delete_observer 865s deletes the given observer if called before first notification 865s returns the removed observer if found in the observer set 865s returns the given observer even when not found in the observer set 865s #delete_observers 865s deletes all observers when called before first notification 865s returns self 865s #count_observers 865s returns zero for a new observable object 865s returns a count of registered observers if called before first notification 865s returns zero after #delete_observers has been called 865s first notification 865s calls the #update method on all observers without a specified :func 865s calls the appropriate function on all observers which specified a :func 865s calls the proc for all observers added as a block 866s does not notify any observers removed with #delete_observer 867s does not notify any observers after #delete_observers called 867s initialization 867s sets the state to incomplete 867s #set 867s sets the state to be fulfilled 867s sets the value 867s raises an exception if set more than once 867s returns self 867s fulfils when given a block which executes successfully 868s rejects when given a block which raises an exception 868s raises an exception when given a value and a block 868s raises an exception when given neither a value nor a block 868s #fail 868s sets the state to be rejected 868s sets the value to be nil 868s sets the reason to the given exception 868s raises an exception if set more than once 868s defaults the reason to a StandardError 868s returns self 868s #try_set 868s when unset 868s assigns the value 868s assigns the block result 868s returns true 868s when fulfilled 868s does not assign the value 868s does not assign the block result 868s returns false 868s when rejected 868s does not assign the value 868s does not assign the block result 868s has a nil value 868s returns false 868s #initialize 868s does not have to set an initial value 868s does not set an initial value if you pass NULL 868s can set an initial value 868s can set an initial value with a block 868s raises an exception if given both a value and a block 868s observation 868s notifies all observers on #set 868s deadlock avoidance 868s should notify observers outside mutex lock 868s should notify a new observer added after fulfillment outside lock 868s 868s Concurrent::LazyRegister 868s example at ./spec/concurrent/lazy_register_spec.rb:6 (PENDING: Not yet implemented) 868s 868s Concurrent::Map 868s default_proc is called with the Concurrent::Map and the key 868s default_proc is called with the Concurrent::Map and the key after #dup 868s concurrency 868s retrieval 868s #put_if_absent 868s updates dont block reads 868s collision resistance 878s collision resistance with arrays 878s #replace_pair 878s #replace_if_exists 878s #get_and_set 878s #key 878s #key? 878s #value? 878s #delete 878s #delete_pair 878s default proc 879s falsy default proc 879s #clear 879s #keys 879s #values 879s #each_key 879s #each_value 879s #empty 879s options validation 879s initial capacity options validation 879s load factor options validation 879s #size 879s #get_or_default 879s #dup,#clone 879s is unfreezable 879s marshal dump load 879s marshal dump does not work with default proc 879s #inspect 879s #compute_if_absent 879s works in default_proc 879s common 879s with return 879s exception 879s atomicity 879s #compute_if_present 879s common 879s with return 879s exception 879s #compute 879s common 879s with return 879s exception 879s #merge_pair 879s common 879s with return 879s exception 879s #fetch 879s common 879s falsy 879s with return 879s #fetch_or_store 879s common 879s falsy 879s with return 879s #each_pair 879s it should behave like collection_each 879s common 879s pair iterator 879s allows modification 879s when no block is given 879s returns an enumerator 879s returns an object which is enumerable 879s #each 879s it should behave like collection_each 879s common 879s pair iterator 879s allows modification 879s when no block is given 879s returns an enumerator 879s returns an object which is enumerable 879s 879s Concurrent::Maybe 879s construction 879s hides Maybe.new 879s Maybe.from 879s raises an exception when no block is given 879s passes all arguments to the block 879s creates a Just Maybe on success 879s sets the value to the block result on success 879s creates a Nothing Maybe on exception 879s sets the reason to the error object on exception 879s Maybe.just 879s creates a new Just Maybe 879s Maybe.nothing 879s creates a new Nothing Maybe 879s uses the given Error object 879s creates a new error object with the given string 879s creates a new error object when given nothing 879s when just 879s #just? returns true 879s #fulfilled? returns true 879s #nothing? returns false 879s #rejected? returns false 879s #just returns the value 879s #value returns the value 879s #nothing returns NONE 879s #reason returns NONE 879s when nothing 879s #just? returns false 879s #fulfilled? returns false 879s #nothing? returns true 879s #rejected? returns true 879s #just returns NONE 879s #value returns NONE 879s #nothing returns the raised error 879s #reason returns the raised error 879s comparison 879s something is not equal to nothing 879s nothing is equal to nothing 879s something is equal to the same value 879s something is not equal to a different value 879s something is greater than a smaller value 879s something is less than a bigger value 879s nothing is not less than nothing 879s nothing is not greater than nothing 879s #or 879s returns the value when something 879s returns the other when nothing 879s 879s monotonic_time 879s behavior 879s returns seconds as float 879s returns a Float when unit = :float_second 879s returns a Float when unit = :float_millisecond 879s returns a Float when unit = :float_microsecond 879s returns an Integer when unit = :second 879s returns an Integer when unit = :millisecond 879s returns an Integer when unit = :microsecond 879s returns an Integer when unit = :nanosecond 879s raises ArgumentError on unknown units 879s 879s Concurrent::MutableStruct 879s it should behave like struct 879s definition 879s registers the class when given a class name 879s /tmp/autopkgtest.MLwnt6/build.YAB/src/spec/concurrent/struct_shared.rb:15: warning: already initialized constant ValidClassName2 879s registers the class when given a class name which is defined in the ancestors 879s creates an anonymous class when given at least one member 879s raises an exception when given an invalid class name 879s defines a getter for each member 879s raises an exception when given no members 879s raise an exception when given an invalid member 879s evalues a given block against the new class 879s construction 879s sets all absent members to nil 879s sets all given members in order 879s raises an exception when extra members are given 879s properties 879s #length 879s returns the number of struct members 879s #members 879s returns the struct members as an array of symbols 879s returns a different object than the array passed at definition 879s #size 879s returns the number of struct members 879s #values 879s returns the values of the struct as an array in order 879s #values_at 879s returns the value at the given offset 879s returns the values at multiple given offsets 879s returns values at offsets in a given range 879s returns values for multiple ranges 879s returns values for ranges and offsets 879s accessors 879s #[member] 879s retrieves the value when given a valid symbol member 879s retrieves the value when given a valid string member 879s raises an exception when given a non-existent symbol member 879s raises an exception when given a non-existent string member 879s #[index] 879s retrieves the value when given a valid index 879s raises an exception when given an out-of-bound index 879s comparison 879s #== 879s returns true if other has same struct subclass and equal values 879s returns false if other has different struct subclass 879s returns false if other has different values 879s #!= 879s returns false if other has same struct subclass and equal values 879s returns true if other has different struct subclass 879s returns true if other has different values 879s enumeration 879s #each 879s yields the value of each struct member in order 879s returns an enumerator when no block is given 879s #each_pair 879s yields the name and value of each struct member in order 879s returns an enumerator when no block is given 879s #select 879s yields each value 879s returns an Array with the values from for which the block returns true 879s returns an enumerator when no block is given 879s conversion 879s #to_s 879s includes the name of the class when registered 879s includes the names of all members 879s includes all values 879s returns the same string as #inspect 879s #to_a 879s returns the to_a for this struct as an array 879s #to_h 879s returns a Hash containing the names and values in order 879s copy 879s #dup 879s shallowly duplicates all members along with the struct 879s discards frozen state of the struct 879s retains frozen state of members 879s discards singleton class 879s copies the singleton class of members 879s #clone 879s shallowly clones all members along with the struct 879s retains frozen state 879s copies the singleton class 879s copies the singleton class of members 879s it should behave like mergeable_struct 879s #merge 879s updates all members with the new values from a given hash 879s calls the given block for each key in `other` 879s retains the value for all members not without values in the given hash 879s raises an exception when given a hash with members not in the struct 879s returns a new object 879s definition 879s defines a setter for each member 879s #[member]= 879s sets the value when given a valid symbol member 879s sets the value when given a valid string member 879s raises an exception when given a non-existent symbol member 879s raises an exception when given a non-existent string member 879s #[index]= 879s sets the value when given a valid index 879s raises an exception when given an out-of-bound index 879s synchronization 879s protects #values 879s protects #values_at 879s protects #[index] 879s protects #[member] 879s protects getter methods 879s protects #[index]= 879s protects #[member]= 879s protects getter methods 879s protects #to_s 879s protects #inspect 879s protects #merge 879s protects #to_h 879s protects #== 879s protects #each 879s protects #each_pair 879s protects #select 879s protects #initialize_copy 879s copy 879s #dup 879s mutates only the copy 879s #clone 879s mutates only the copy 879s 879s Concurrent::MVar 879s behavior 879s it should behave like dereferenceable 879s defaults :dup_on_deref to false 879s calls #dup when the :dup_on_deref option is true 879s defaults :freeze_on_deref to false 879s calls #freeze when the :freeze_on_deref option is true 879s defaults :copy_on_deref to nil 879s calls the block when the :copy_on_deref option is passed a proc 879s calls the :copy block first followed by #dup followed by #freeze 879s does not call #dup when #dup_on_deref is set and the value is nil 879s does not call #freeze when #freeze_on_deref is set and the value is nil 879s does not call the #copy_on_deref block when the value is nil 880s supports dereference flags with observers 880s #initialize 880s accepts no initial value 880s accepts an empty initial value 880s accepts an initial value 880s accepts a nil initial value 880s #take 880s sets the MVar to empty 880s returns the value on a full MVar 880s waits for another thread to #put 880s returns TIMEOUT on timeout on an empty MVar 880s #borrow 880s /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 880s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 880s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/yield.rb:101 880s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/yield.rb:7 880s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/yield.rb:6 880s
at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/yield.rb:5 880s require at org/jruby/RubyKernel.java:1184 880s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 880s yield_with_args at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers.rb:920 880s Concurrent at /tmp/autopkgtest.MLwnt6/build.YAB/src/spec/concurrent/mvar_spec.rb:78 880s instance_exec at org/jruby/RubyBasicObject.java:2620 880s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:263 880s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 880s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 880s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 880s run_around_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:624 880s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 880s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 880s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 880s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:259 880s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:646 880s map at org/jruby/RubyArray.java:2803 880s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:651 880s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:607 880s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:608 880s map at org/jruby/RubyArray.java:2803 880s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:608 880s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121 880s map at org/jruby/RubyArray.java:2803 880s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:145 880s with_suite_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:2091 880s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:116 880s report at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/reporter.rb:74 880s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:115 880s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:89 880s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:71 880s invoke at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:45 880s
at /usr/bin/rspec:4 880s 880s /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 880s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 880s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/yield.rb:149 880s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/yield.rb:7 880s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/yield.rb:6 880s
at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/yield.rb:5 880s require at org/jruby/RubyKernel.java:1184 880s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 880s yield_with_args at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers.rb:920 880s Concurrent at /tmp/autopkgtest.MLwnt6/build.YAB/src/spec/concurrent/mvar_spec.rb:78 880s instance_exec at org/jruby/RubyBasicObject.java:2620 880s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:263 880s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 880s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 880s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 880s run_around_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:624 880s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 880s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 880s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 880s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:259 880s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:646 880s map at org/jruby/RubyArray.java:2803 880s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:651 880s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:607 880s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:608 880s map at org/jruby/RubyArray.java:2803 880s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:608 880s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121 880s map at org/jruby/RubyArray.java:2803 880s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:145 880s with_suite_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:2091 880s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:116 880s report at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/reporter.rb:74 880s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:115 880s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:89 880s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:71 880s invoke at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:45 880s
at /usr/bin/rspec:4 880s 880s yields current value to the block and puts back value 880s puts back value even if an exception is raised 880s returns the returned value of the block 880s /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 880s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 880s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/yield.rb:296 880s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/yield.rb:7 880s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/yield.rb:6 880s
at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/yield.rb:5 880s require at org/jruby/RubyKernel.java:1184 880s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 880s yield_with_args at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers.rb:920 880s Concurrent at /tmp/autopkgtest.MLwnt6/build.YAB/src/spec/concurrent/mvar_spec.rb:78 880s instance_exec at org/jruby/RubyBasicObject.java:2620 880s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:263 880s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 880s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 880s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 880s run_around_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:624 880s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 880s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 880s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 880s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:259 880s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:646 880s map at org/jruby/RubyArray.java:2803 880s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:651 880s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:607 880s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:608 880s map at org/jruby/RubyArray.java:2803 880s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:608 880s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121 880s map at org/jruby/RubyArray.java:2803 880s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:145 880s with_suite_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:2091 880s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:116 880s report at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/reporter.rb:74 880s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:115 880s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:89 880s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:71 880s invoke at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:45 880s
at /usr/bin/rspec:4 880s 880s returns TIMEOUT on timeout on an empty MVar 880s #put 880s sets the MVar to be empty 880s sets a new value on an empty MVar 880s waits for another thread to #take 880s returns TIMEOUT on timeout on a full MVar 880s returns the value 880s #empty? 880s returns true on an empty MVar 880s returns false on a full MVar 880s #full? 880s returns false on an empty MVar 880s returns true on a full MVar 880s #modify 880s raises an exception when no block given 880s modifies a full MVar 880s returns the unmodified value 880s waits for another thread to #put 881s is atomic 881s returns TIMEOUT on timeout on an empty MVar 881s #try_put! 881s returns true an empty MVar 881s returns false on a full MVar 881s sets an empty MVar to be full 881s #try_take! 881s returns EMPTY an empty MVar 881s returns the value on a full MVar 881s sets a full MVar to be empty 881s #set! 881s sets an empty MVar to be full 881s sets a full MVar to be full 881s returns EMPTY on an empty MVar 881s returns the original value on a full MVar 881s #modify! 881s raises an exception when no block given 881s modifies a full MVar 881s modifies an empty MVar 881s can be used to set a full MVar to empty 881s can be used to set an empty MVar to empty 881s returns the unmodified value 881s spurious wake ups 881s #take 882s waits for another thread to #put 882s returns TIMEOUT on timeout on an empty MVar 882s #modify 883s waits for another thread to #put 883s returns TIMEOUT on timeout on an empty MVar 883s #put 884s waits for another thread to #take 884s returns TIMEOUT on timeout on a full MVar 884s 884s Concurrent::Options 884s .executor_from_options 884s returns the given :executor 884s returns the global io executor when :executor is :io 884s returns the global fast executor when :executor is :fast 884s returns an immediate executor when :executor is :immediate 884s raises an exception when :executor is an unrecognized symbol 884s 884s Concurrent::ProcessingActor 884s is expected to eq "ab" 884s 884s Concurrent::Promise 884s it should behave like ivar 884s it should behave like obligation 884s #state 884s is :pending when first created 884s is :fulfilled when the handler completes 884s is :rejected when the handler raises an exception 884s #value 884s returns nil when reaching the optional timeout value 884s returns immediately when timeout is zero 889s returns the value when fulfilled before timeout 889s returns nil when timeout reached 889s is nil when :pending 894s blocks the caller when :pending and timeout is nil 894s is nil when :rejected 894s is set to the return value of the block when :fulfilled 894s #reason 894s is nil when :pending 894s is nil when :fulfilled 894s is set to error object of the exception when :rejected 894s it should behave like dereferenceable 894s defaults :dup_on_deref to false 895s calls #dup when the :dup_on_deref option is true 895s defaults :freeze_on_deref to false 895s calls #freeze when the :freeze_on_deref option is true 896s defaults :copy_on_deref to nil 896s calls the block when the :copy_on_deref option is passed a proc 896s calls the :copy block first followed by #dup followed by #freeze 896s does not call #dup when #dup_on_deref is set and the value is nil 896s does not call #freeze when #freeze_on_deref is set and the value is nil 896s does not call the #copy_on_deref block when the value is nil 896s supports dereference flags with observers 896s it should behave like observable 896s #add_observer 896s adds an observer if called before first notification 896s adds an observer with :func if called before first notification 896s creates an observer from a block if called before first notification 896s raises an exception if not given an observer or a block 896s raises an exception when given both an observer and a block 896s #delete_observer 896s deletes the given observer if called before first notification 896s returns the removed observer if found in the observer set 896s returns the given observer even when not found in the observer set 896s #delete_observers 896s deletes all observers when called before first notification 896s returns self 896s #count_observers 896s returns zero for a new observable object 896s returns a count of registered observers if called before first notification 896s returns zero after #delete_observers has been called 896s first notification 897s calls the #update method on all observers without a specified :func 897s calls the appropriate function on all observers which specified a :func 897s calls the proc for all observers added as a block 898s does not notify any observers removed with #delete_observer 899s does not notify any observers after #delete_observers called 899s initialization 899s sets the state to incomplete 899s #set 899s sets the state to be fulfilled 899s sets the value 899s raises an exception if set more than once 899s returns self 899s fulfils when given a block which executes successfully 899s rejects when given a block which raises an exception 899s raises an exception when given a value and a block 899s raises an exception when given neither a value nor a block 899s #fail 899s sets the state to be rejected 899s sets the value to be nil 899s sets the reason to the given exception 899s raises an exception if set more than once 899s defaults the reason to a StandardError 899s returns self 899s #try_set 899s when unset 899s assigns the value 899s assigns the block result 899s returns true 899s when fulfilled 899s does not assign the value 899s does not assign the block result 899s returns false 899s when rejected 899s does not assign the value 899s does not assign the block result 899s has a nil value 899s returns false 899s it should behave like thread_arguments 899s passes an empty array when opts is not given 899s passes an empty array when opts is an empty hash 899s passes an empty array when there is no :args key 899s passes an empty array when the :args key has a nil value 899s passes a one-element array when the :args key has a non-array value 899s passes an array when when the :args key has an array value 899s passes the given array when the :args key has a complex array value 899s allows the given arguments array to be dereferenced 899s initializers 899s .fulfill 899s should return a Promise 899s should return a fulfilled Promise 899s should return a Promise with set value 899s .reject 899s should return a Promise 899s should return a rejected Promise 899s should return a Promise with set reason 899s .new 899s should return an unscheduled Promise 899s .execute 899s creates a new Promise 899s passes the block to the new Promise 899s calls #execute on the new Promise 899s #execute 899s unscheduled 900s sets the promise to :pending 900s posts the block given in construction 900s pending 900s sets the promise to :pending 900s does not post again 900s with children 900s when called on the root 901s should set all promises to :pending 901s when called on a child 902s should set all promises to :pending 902s when called on child after parent completes 902s sets state to :pending immediately 902s #then 902s returns a new promise when a block is passed 902s returns a new promise when a rescuer is passed 902s returns a new promise when a block and rescuer are passed 902s returns a new promise when a block, rescuer and executor are passed 902s supports setting the executor using a named parameter 902s should have block or rescuers 902s can be called more than once 902s unscheduled 902s returns a new promise 902s returns an unscheduled promise 902s pending 902s returns a new promise 902s returns a pending promise 902s fulfilled 902s returns a new Promise 902s notifies fulfillment to new child 902s rejected 902s returns a new Promise when :rejected 902s notifies rejection to new child 902s on_success 902s should have a block 902s returns a new promise 902s #rescue 902s returns a new promise 902s #flat_map 902s returns a promise 902s succeeds if both promises succeed 902s fails if the left promise fails 902s fails if the right promise fails 902s fails if the generating block fails 902s #zip 902s executes the returned Promise by default 902s executes the returned Promise when execute is true 902s does not execute the returned Promise when execute is false 902s allows setting executor for Promise chain 902s yields the results as an array 902s fails if one component fails 902s preserves ordering of the executed promises 902s .zip 902s executes the returned Promise by default 902s executes the returned Promise when execute is true 902s does not execute the returned Promise when execute is false 903s allows setting executor for Promise chain 903s yields the results as an array 903s fails if one component fails 903s preserves ordering of the executed promises 903s aggregators 903s .all? 903s returns a new Promise 903s does not execute the returned Promise 903s executes the #then condition when all components succeed 903s executes the #then condition when no promises are given 903s executes the #rescue handler if even one component fails 903s .any? 903s returns a new Promise 903s does not execute the returned Promise 903s executes the #then condition when any components succeed 903s executes the #then condition when no promises are given 903s executes the #rescue handler if all componenst fail 903s fulfillment 903s passes the result of each block to all its children 903s sets the promise value to the result if its block 903s sets the promise state to :fulfilled if the block completes 903s passes the last result through when a promise has no block 903s uses result as fulfillment value when a promise has no block 903s can manage long chain 903s #set 903s #can only be called on the root promise 903s triggers children 903s can be called with a block 903s #fail 903s can only be called on the root promise 903s rejects children 903s rejection 903s passes the reason to all its children 903s sets the promise value to the result if its block 903s sets the promise state to :rejected if the block completes 903s uses reason as rejection reason when a promise has no rescue callable 903s rejects on Exception 903s aliases 903s aliases #realized? for #fulfilled? 903s aliases #deref for #value 903s aliases #catch for #rescue 903s aliases #on_error for #rescue 903s 903s Concurrent::Promises 903s zip_futures_over 903s chain_resolvable 903s event 903s future 903s .future 903s executes 903s executes with args 903s .delay 903s is expected to eq 2 903s .schedule 903s scheduled execution 903s scheduled execution in graph 903s .event 903s is expected to equal true 903s .future without block 903s is expected to eq 0 903s .any_resolved 903s continues on first result 903s .any_fulfilled 903s continues on first result 903s treats a resolved Event as a fulfilled Future 903s treats a pending Event as a pending Future 903s .zip 903s waits for all results 903s when a future raises an error 903s raises a concurrent error 903s when deeply nested 903s raises the original error 903s .zip_events 903s waits for all and returns event 903s .rejected_future 903s raises the correct error when passed an unraised error 903s Future 903s has sync and async callbacks 903s wait supports setting timeout 904s wait! supports setting timeout 904s value supports setting timeout 904s value! supports setting timeout 904s reason supports setting timeout 904s result supports setting timeout 904s chains 904s chains with correct arguments 904s constructs promise like tree 904s allows graphs 904s resolves future when Exception raised 904s runs 904s can be risen when rejected 904s #flat 904s returns value of inner future 904s propagates rejection of inner future 904s it propagates rejection of the future which was suppose to provide inner future 904s rejects if inner value is not a future 904s accepts inner event 904s propagates requests for values to delayed futures 904s has shortcuts 904s ResolvableEvent 904s #wait 904s #resolve(raise_on_reassign = true) 904s #resolve(raise_on_reassign = false) 904s reservation 904s ResolvableFuture 904s #wait 904s #wait! 904s #value 904s #value! 904s #reason 904s result 904s reservation 904s atomic_resolution 904s interoperability 904s with erlang actor 904s with channel 904s value! 904s does not return spuriously with timeout 904s does not return spuriously without timeout 904s 904s Concurrent::ScheduledTask 904s behavior 904s it should behave like obligation 904s #state 904s is :pending when first created 904s is :fulfilled when the handler completes 904s is :rejected when the handler raises an exception 904s #value 904s returns nil when reaching the optional timeout value 904s returns immediately when timeout is zero 905s returns the value when fulfilled before timeout 905s returns nil when timeout reached 905s is nil when :pending 906s blocks the caller when :pending and timeout is nil 906s is nil when :rejected 906s is set to the return value of the block when :fulfilled 906s #reason 906s is nil when :pending 906s is nil when :fulfilled 906s is set to error object of the exception when :rejected 906s it should behave like dereferenceable 906s defaults :dup_on_deref to false 906s calls #dup when the :dup_on_deref option is true 906s defaults :freeze_on_deref to false 906s calls #freeze when the :freeze_on_deref option is true 906s defaults :copy_on_deref to nil 906s calls the block when the :copy_on_deref option is passed a proc 906s calls the :copy block first followed by #dup followed by #freeze 906s does not call #dup when #dup_on_deref is set and the value is nil 906s does not call #freeze when #freeze_on_deref is set and the value is nil 906s does not call the #copy_on_deref block when the value is nil 906s supports dereference flags with observers 906s it should behave like observable 906s #add_observer 906s adds an observer if called before first notification 906s adds an observer with :func if called before first notification 906s creates an observer from a block if called before first notification 906s raises an exception if not given an observer or a block 906s raises an exception when given both an observer and a block 906s #delete_observer 906s deletes the given observer if called before first notification 906s returns the removed observer if found in the observer set 906s returns the given observer even when not found in the observer set 906s #delete_observers 906s deletes all observers when called before first notification 906s returns self 906s #count_observers 906s returns zero for a new observable object 906s returns a count of registered observers if called before first notification 906s returns zero after #delete_observers has been called 906s first notification 906s calls the #update method on all observers without a specified :func 907s calls the appropriate function on all observers which specified a :func 907s calls the proc for all observers added as a block 908s does not notify any observers removed with #delete_observer 909s does not notify any observers after #delete_observers called 909s #initialize 909s accepts a number of seconds (from now) as the schedule time 909s raises an exception when seconds is less than zero 909s raises an exception when no block given 909s sets the initial state to :unscheduled 909s instance #execute 909s does nothing unless the state is :unscheduled 909s sets the sate to :pending 909s returns self 909s class #execute 909s creates a new ScheduledTask 909s passes the block to the new ScheduledTask 909s calls #execute on the new ScheduledTask 909s execution 909s passes :args from the options to the block 909s uses the :executor from the options 909s uses the :timer_set from the options 909s sets the state to :processing when the task is running 909s #cancel 910s returns false if the task has already been performed 910s returns false if the task is already in progress 910s cancels the task if it has not yet scheduled 911s cancels the task if it has not yet started 911s returns true on success 911s sets the reason to CancelledOperationError when cancelled 911s observation 911s returns true for an observer added while :unscheduled 911s returns true for an observer added while :pending 911s returns true for an observer added while :processing 911s notifies all observers on fulfillment 911s notifies all observers on rejection 911s 911s Concurrent::Set 911s .[] 911s when initializing with no arguments 911s is expected to be empty 911s when initializing with arguments 911s creates a set with the given objects 911s .new 911s when initializing with no arguments 911s is expected to be empty 911s when initializing with an enumerable object 911s creates a set with the contents of the enumerable object 911s when initializing with a block argument 911s creates a set with the contents of the enumerable object 911s concurrency 911s #add and #delete 911s force context switch 915s #each 915s 915s Concurrent::SettableStruct 915s it should behave like struct 915s definition 915s registers the class when given a class name 915s /tmp/autopkgtest.MLwnt6/build.YAB/src/spec/concurrent/struct_shared.rb:15: warning: already initialized constant ValidClassName2 915s registers the class when given a class name which is defined in the ancestors 915s creates an anonymous class when given at least one member 915s raises an exception when given an invalid class name 915s defines a getter for each member 915s raises an exception when given no members 915s raise an exception when given an invalid member 915s evalues a given block against the new class 915s construction 915s sets all absent members to nil 915s sets all given members in order 915s raises an exception when extra members are given 915s properties 915s #length 915s returns the number of struct members 915s #members 915s returns the struct members as an array of symbols 915s returns a different object than the array passed at definition 915s #size 915s returns the number of struct members 915s #values 915s returns the values of the struct as an array in order 915s #values_at 915s returns the value at the given offset 915s returns the values at multiple given offsets 915s returns values at offsets in a given range 915s returns values for multiple ranges 915s returns values for ranges and offsets 915s accessors 915s #[member] 915s retrieves the value when given a valid symbol member 915s retrieves the value when given a valid string member 915s raises an exception when given a non-existent symbol member 915s raises an exception when given a non-existent string member 915s #[index] 915s retrieves the value when given a valid index 915s raises an exception when given an out-of-bound index 915s comparison 915s #== 915s returns true if other has same struct subclass and equal values 915s returns false if other has different struct subclass 915s returns false if other has different values 915s #!= 915s returns false if other has same struct subclass and equal values 915s returns true if other has different struct subclass 915s returns true if other has different values 915s enumeration 915s #each 915s yields the value of each struct member in order 915s returns an enumerator when no block is given 915s #each_pair 915s yields the name and value of each struct member in order 915s returns an enumerator when no block is given 915s #select 915s yields each value 915s returns an Array with the values from for which the block returns true 915s returns an enumerator when no block is given 915s conversion 915s #to_s 915s includes the name of the class when registered 915s includes the names of all members 915s includes all values 915s returns the same string as #inspect 915s #to_a 915s returns the to_a for this struct as an array 915s #to_h 915s returns a Hash containing the names and values in order 915s copy 915s #dup 915s shallowly duplicates all members along with the struct 915s discards frozen state of the struct 915s retains frozen state of members 915s discards singleton class 915s copies the singleton class of members 915s #clone 915s shallowly clones all members along with the struct 915s retains frozen state 915s copies the singleton class 915s copies the singleton class of members 915s it should behave like mergeable_struct 915s #merge 915s updates all members with the new values from a given hash 915s calls the given block for each key in `other` 915s retains the value for all members not without values in the given hash 915s raises an exception when given a hash with members not in the struct 915s returns a new object 915s definition 915s defines a setter for each member 915s #[member]= 915s sets the value when given a valid symbol member 915s sets the value when given a valid string member 916s raises an exception when given a non-existent symbol member 916s raises an exception when given a non-existent string member 916s raises an exception when given a symbol member that has already been set 916s raises an exception when given a string member that has already been set 916s #[index]= 916s sets the value when given a valid index 916s raises an exception when given an out-of-bound index 916s raises an exception when given an index that has already been set 916s synchronization 916s protects #values 916s protects #values_at 916s protects #[index] 916s protects #[member] 916s protects getter methods 916s protects #[index]= 916s protects #[member]= 916s protects getter methods 916s protects #to_s 916s protects #inspect 916s protects #to_h 916s protects #merge 916s protects #== 916s protects #each 916s protects #each_pair 916s protects #select 916s protects #initialize_copy 916s copy 916s #dup 916s retains settability of members 916s #clone 916s retains settability of members 916s 916s Concurrent::Synchronization 916s Concurrent::Synchronization::Object 916s does not ensure visibility when not needed 916s does ensure visibility when specified 916s does ensure visibility when specified in a parent 916s does ensure visibility once when specified in child again 916s it should behave like attr_volatile 916s older writes are always visible 916s Concurrent::Synchronization::LockableObject 916s final field always visible 916s #wait 916s puts the current thread to sleep 916s allows the sleeping thread to be killed 916s releases the lock on the current object 916s can be called from within a #synchronize block 916s #synchronize 916s allows only one thread to execute count 916s signaling 916s for now pending, tested pretty well by Event (PENDING: Not yet implemented) 916s it should behave like attr_volatile 916s older writes are always visible 916s Concurrent::Synchronization::Volatile module 916s it should behave like attr_volatile 916s older writes are always visible 916s attr_atomic 916s is expected to be == b 916s 916s Concurrent::SynchronizedDelegator 916s wraps array 916s synchronizes access 916s synchronizes access with block 916s 916s Concurrent 916s Throttle 916s acquiring 916s #to_s 916s #on 917s capacity limited 917s 917s Concurrent::TimerTask 917s dereferenceable 917s it should behave like dereferenceable 917s defaults :dup_on_deref to false 917s calls #dup when the :dup_on_deref option is true 917s defaults :freeze_on_deref to false 918s calls #freeze when the :freeze_on_deref option is true 918s defaults :copy_on_deref to nil 918s calls the block when the :copy_on_deref option is passed a proc 918s calls the :copy block first followed by #dup followed by #freeze 918s does not call #dup when #dup_on_deref is set and the value is nil 918s does not call #freeze when #freeze_on_deref is set and the value is nil 919s does not call the #copy_on_deref block when the value is nil 919s supports dereference flags with observers 919s observable 919s it should behave like observable 919s #add_observer 919s adds an observer if called before first notification 919s adds an observer with :func if called before first notification 919s creates an observer from a block if called before first notification 919s raises an exception if not given an observer or a block 919s raises an exception when given both an observer and a block 919s #delete_observer 919s deletes the given observer if called before first notification 919s returns the removed observer if found in the observer set 919s returns the given observer even when not found in the observer set 919s #delete_observers 919s deletes all observers when called before first notification 919s returns self 919s #count_observers 919s returns zero for a new observable object 919s returns a count of registered observers if called before first notification 919s returns zero after #delete_observers has been called 919s first notification 919s calls the #update method on all observers without a specified :func 919s calls the appropriate function on all observers which specified a :func 919s calls the proc for all observers added as a block 921s does not notify any observers removed with #delete_observer 922s does not notify any observers after #delete_observers called 922s created with #new 922s #initialize 922s raises an exception if no block given 922s raises an exception if :execution_interval is not greater than zero 922s raises an exception if :execution_interval is not an integer 922s uses the default execution interval when no interval is given 922s uses the given execution interval 922s raises an exception if :interval_type is not a valid value 922s uses the default :interval_type when no type is given 922s uses the given interval type 922s #kill 922s returns true on success 922s #shutdown 922s returns true on success 922s arguments 922s raises an exception if no block given 922s TimeTask timeouts are now ignored as these were not able to be implemented correctly 922s #execution_interval is writeable 922s raises on invalid interval_type 922s TimeTask timeouts are now ignored as these were not able to be implemented correctly 922s #timeout_interval being written produces a warning 922s execution 922s runs the block immediately when the :run_now option is true 922s waits for :execution_interval seconds when the :run_now option is false 922s waits for :execution_interval seconds when the :run_now option is not given 922s passes a "self" reference to the block as the sole argument 922s uses the global executor by default 922s uses a custom executor when given 923s uses a fixed delay when set 923s uses a fixed rate when set 923s observation 923s notifies all observers on success 923s notifies all observers on error 923s 923s Concurrent::TVar 923s #initialize 923s accepts an initial value 923s #value 923s gets the value 923s #value= 923s sets the value 924s 924s #atomically 924s raises an exception when no block given 924s raises the same exception that was raised in Concurrent::atomically 924s retries on abort 924s commits writes if the transaction succeeds 924s undoes writes if the transaction is aborted 924s provides atomicity 924s nests 924s reflects transactional writes from within the same transaction 924s 924s #abort_transaction 924s raises an exception outside an #atomically block 924s 924s #leave_transaction 924s raises an exception outside an #atomically block 924s neither commits nor aborts a transaction 924s 924s #processor_count 924s retuns a positive integer 924s 924s #physical_processor_count 924s retuns a positive integer 924s 924s #cpu_quota 924s returns #compute_cpu_quota 924s returns nil if no quota is detected 924s returns nil if cgroups v2 sets no limit 924s returns a float if cgroups v2 sets a limit 924s returns nil if cgroups v1 sets no limit 924s returns nil if cgroups v1 and cpu.cfs_quota_us is -1 924s returns a float if cgroups v1 sets a limit 924s 924s #available_processor_count 924s returns #processor_count if #cpu_quota is nil 924s returns #processor_count if #cpu_quota is higher 924s returns #cpu_quota if #cpu_quota is lower than #processor_count 924s 924s #cpu_shares 924s returns a float when cgroups v2 sets a cpu.weight 924s returns a float if cgroups v1 sets a cpu.shares 924s 924s Finished in 4 minutes 28.7 seconds (files took 7.97 seconds to load) 924s 3009 examples, 0 failures, 17 pending 924s 924s autopkgtest [16:50:40]: test jruby: -----------------------] 928s jruby PASS 928s autopkgtest [16:50:44]: test jruby: - - - - - - - - - - results - - - - - - - - - - 932s autopkgtest [16:50:48]: @@@@@@@@@@@@@@@@@@@@ summary 932s ruby PASS 932s jruby PASS