0s autopkgtest [21:17:57]: starting date and time: 2026-02-03 21:17:57+0000 0s autopkgtest [21:17:57]: git checkout: 508d4a25 a-v-ssh wait_for_ssh: demote "ssh connection failed" to a debug message 0s autopkgtest [21:17:57]: host juju-7f2275-prod-proposed-migration-environment-9; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.scqxp9xg/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,localhost,localdomain,internal,login.ubuntu.com,archive.ubuntu.com,ports.ubuntu.com,security.ubuntu.com,ddebs.ubuntu.com,changelogs.ubuntu.com,keyserver.ubuntu.com,launchpadlibrarian.net,launchpadcontent.net,launchpad.net,keystone.ps5.canonical.com,objectstorage.prodstack5.canonical.com,radosgw.ps5.canonical.com\n" >> /etc/environment' --apt-pocket=proposed=src:ruby3.3 --apt-upgrade ruby-concurrent --timeout-short=300 --timeout-copy=20000 --timeout-build=20000 --env=ADT_TEST_TRIGGERS=ruby3.3/3.3.8-2ubuntu3 -- lxd -r lxd-armhf-10.145.243.229 lxd-armhf-10.145.243.229:autopkgtest/ubuntu/resolute/armhf 21s autopkgtest [21:18:18]: testbed dpkg architecture: armhf 23s autopkgtest [21:18:20]: testbed apt version: 3.1.14 27s autopkgtest [21:18:24]: @@@@@@@@@@@@@@@@@@@@ test bed setup 29s autopkgtest [21:18:26]: testbed release detected to be: None 37s autopkgtest [21:18:34]: updating testbed package index (apt update) 39s Get:1 http://ftpmaster.internal/ubuntu resolute-proposed InRelease [124 kB] 39s Get:2 http://ftpmaster.internal/ubuntu resolute InRelease [124 kB] 39s Get:3 http://ftpmaster.internal/ubuntu resolute-updates InRelease [124 kB] 40s Get:4 http://ftpmaster.internal/ubuntu resolute-security InRelease [124 kB] 40s Get:5 http://ftpmaster.internal/ubuntu resolute-proposed/restricted Sources [5260 B] 40s Get:6 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse Sources [27.9 kB] 40s Get:7 http://ftpmaster.internal/ubuntu resolute-proposed/universe Sources [1343 kB] 40s Get:8 http://ftpmaster.internal/ubuntu resolute-proposed/main Sources [242 kB] 40s Get:9 http://ftpmaster.internal/ubuntu resolute-proposed/main armhf Packages [283 kB] 40s Get:10 http://ftpmaster.internal/ubuntu resolute-proposed/universe armhf Packages [1070 kB] 41s Get:11 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse armhf Packages [6336 B] 41s Get:12 http://ftpmaster.internal/ubuntu resolute/main Sources [1400 kB] 41s Get:13 http://ftpmaster.internal/ubuntu resolute/multiverse Sources [310 kB] 41s Get:14 http://ftpmaster.internal/ubuntu resolute/universe Sources [21.3 MB] 43s Get:15 http://ftpmaster.internal/ubuntu resolute/main armhf Packages [1373 kB] 43s Get:16 http://ftpmaster.internal/ubuntu resolute/universe armhf Packages [15.0 MB] 44s Get:17 http://ftpmaster.internal/ubuntu resolute/multiverse armhf Packages [176 kB] 47s Fetched 43.1 MB in 8s (5636 kB/s) 48s Reading package lists... 54s autopkgtest [21:18:51]: upgrading testbed (apt dist-upgrade and autopurge) 56s Reading package lists... 56s Building dependency tree... 56s Reading state information... 56s Calculating upgrade... 57s The following packages will be upgraded: 57s powermgmt-base systemd-hwe-hwdb 57s 2 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 57s Need to get 11.0 kB of archives. 57s After this operation, 1024 B of additional disk space will be used. 57s Get:1 http://ftpmaster.internal/ubuntu resolute/main armhf systemd-hwe-hwdb all 259.0.1 [3152 B] 57s Get:2 http://ftpmaster.internal/ubuntu resolute/main armhf powermgmt-base all 1.38ubuntu2 [7878 B] 58s Fetched 11.0 kB in 0s (48.7 kB/s) 58s (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 ... 68394 files and directories currently installed.) 58s Preparing to unpack .../systemd-hwe-hwdb_259.0.1_all.deb ... 58s Unpacking systemd-hwe-hwdb (259.0.1) over (257.7.1) ... 58s Preparing to unpack .../powermgmt-base_1.38ubuntu2_all.deb ... 58s Unpacking powermgmt-base (1.38ubuntu2) over (1.38ubuntu1) ... 58s Setting up powermgmt-base (1.38ubuntu2) ... 58s Setting up systemd-hwe-hwdb (259.0.1) ... 58s Processing triggers for udev (259-1ubuntu3) ... 59s Processing triggers for man-db (2.13.1-1) ... 62s Reading package lists... 62s Building dependency tree... 62s Reading state information... 62s Solving dependencies... 63s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 65s autopkgtest [21:19:02]: rebooting testbed after setup commands that affected boot 108s autopkgtest [21:19:45]: testbed running kernel: Linux 6.8.0-87-generic #88~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Tue Oct 14 14:00:09 UTC 2 134s autopkgtest [21:20:11]: @@@@@@@@@@@@@@@@@@@@ apt-source ruby-concurrent 149s Get:1 http://ftpmaster.internal/ubuntu resolute/universe ruby-concurrent 1.3.4-1 (dsc) [1707 B] 149s Get:2 http://ftpmaster.internal/ubuntu resolute/universe ruby-concurrent 1.3.4-1 (tar) [1005 kB] 149s Get:3 http://ftpmaster.internal/ubuntu resolute/universe ruby-concurrent 1.3.4-1 (diff) [6016 B] 149s gpgv: Signature made Tue Feb 4 18:01:40 2025 UTC 149s gpgv: using EDDSA key 84CFFDC21520F88306EC29D152699AB63F9F2BC3 149s gpgv: Can't check signature: No public key 149s dpkg-source: warning: cannot verify inline signature for ./ruby-concurrent_1.3.4-1.dsc: no acceptable signature found 150s autopkgtest [21:20:27]: testing package ruby-concurrent version 1.3.4-1 152s autopkgtest [21:20:29]: build not needed 156s autopkgtest [21:20:33]: test ruby: preparing testbed 158s Reading package lists... 158s Building dependency tree... 158s Reading state information... 159s Solving dependencies... 159s The following NEW packages will be installed: 159s gem2deb-test-runner libruby libruby3.3 rake ruby ruby-concurrent 159s ruby-concurrent-ext ruby-csv ruby-did-you-mean ruby-diff-lcs ruby-minitest 159s ruby-net-telnet ruby-power-assert ruby-rspec ruby-rspec-core 159s ruby-rspec-expectations ruby-rspec-mocks ruby-rspec-support 159s ruby-ruby2-keywords ruby-rubygems ruby-test-unit ruby-timecop ruby-webrick 159s ruby-xmlrpc ruby3.3 rubygems-integration 159s 0 upgraded, 26 newly installed, 0 to remove and 0 not upgraded. 159s Need to get 7037 kB of archives. 159s After this operation, 38.7 MB of additional disk space will be used. 159s Get:1 http://ftpmaster.internal/ubuntu resolute/main armhf rubygems-integration all 1.19build1 [5666 B] 159s Get:2 http://ftpmaster.internal/ubuntu resolute/main armhf ruby-csv all 3.3.4-1 [43.0 kB] 159s Get:3 http://ftpmaster.internal/ubuntu resolute/main armhf ruby-did-you-mean all 1.6.3-2build1 [14.9 kB] 159s Get:4 http://ftpmaster.internal/ubuntu resolute/main armhf ruby-net-telnet all 0.2.0-1build1 [13.5 kB] 159s Get:5 http://ftpmaster.internal/ubuntu resolute/main armhf ruby-ruby2-keywords all 0.0.5-1build1 [4398 B] 159s Get:6 http://ftpmaster.internal/ubuntu resolute/main armhf ruby-webrick all 1.9.1-1 [60.8 kB] 160s Get:7 http://ftpmaster.internal/ubuntu resolute/main armhf ruby-xmlrpc all 0.3.3-2build1 [24.9 kB] 160s Get:8 http://ftpmaster.internal/ubuntu resolute-proposed/main armhf libruby3.3 armhf 3.3.8-2ubuntu3 [5593 kB] 161s Get:9 http://ftpmaster.internal/ubuntu resolute-proposed/main armhf ruby3.3 armhf 3.3.8-2ubuntu3 [49.0 kB] 161s Get:10 http://ftpmaster.internal/ubuntu resolute/main armhf libruby armhf 1:3.3 [5162 B] 161s Get:11 http://ftpmaster.internal/ubuntu resolute/main armhf ruby-rubygems all 3.6.7-2ubuntu1 [332 kB] 161s Get:12 http://ftpmaster.internal/ubuntu resolute/main armhf ruby armhf 1:3.3 [3670 B] 161s Get:13 http://ftpmaster.internal/ubuntu resolute/main armhf rake all 13.2.1-1build1 [45.9 kB] 161s Get:14 http://ftpmaster.internal/ubuntu resolute/universe armhf ruby-minitest all 5.26.1-1 [49.3 kB] 161s Get:15 http://ftpmaster.internal/ubuntu resolute/universe armhf ruby-power-assert all 2.0.5-1 [12.0 kB] 161s Get:16 http://ftpmaster.internal/ubuntu resolute/universe armhf ruby-test-unit all 3.6.2-1 [67.0 kB] 161s Get:17 http://ftpmaster.internal/ubuntu resolute/universe armhf gem2deb-test-runner armhf 2.2.5 [18.3 kB] 161s Get:18 http://ftpmaster.internal/ubuntu resolute/universe armhf ruby-concurrent all 1.3.4-1 [283 kB] 161s Get:19 http://ftpmaster.internal/ubuntu resolute/universe armhf ruby-concurrent-ext armhf 1.3.4-1 [8586 B] 161s Get:20 http://ftpmaster.internal/ubuntu resolute/universe armhf ruby-diff-lcs all 1.5.1-1 [22.8 kB] 161s Get:21 http://ftpmaster.internal/ubuntu resolute/universe armhf ruby-rspec-support all 3.13.0c0e0m0s1-2 [29.2 kB] 161s Get:22 http://ftpmaster.internal/ubuntu resolute/universe armhf ruby-rspec-core all 3.13.0c0e0m0s1-2 [164 kB] 161s Get:23 http://ftpmaster.internal/ubuntu resolute/universe armhf ruby-rspec-expectations all 3.13.0c0e0m0s1-2 [89.8 kB] 161s Get:24 http://ftpmaster.internal/ubuntu resolute/universe armhf ruby-rspec-mocks all 3.13.0c0e0m0s1-2 [81.0 kB] 161s Get:25 http://ftpmaster.internal/ubuntu resolute/universe armhf ruby-rspec all 3.13.0c0e0m0s1-2 [3500 B] 161s Get:26 http://ftpmaster.internal/ubuntu resolute/universe armhf ruby-timecop all 0.9.10-1.1 [11.5 kB] 161s Fetched 7037 kB in 2s (3995 kB/s) 161s Selecting previously unselected package rubygems-integration. 161s (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 ... 68395 files and directories currently installed.) 161s Preparing to unpack .../00-rubygems-integration_1.19build1_all.deb ... 161s Unpacking rubygems-integration (1.19build1) ... 161s Selecting previously unselected package ruby-csv. 161s Preparing to unpack .../01-ruby-csv_3.3.4-1_all.deb ... 161s Unpacking ruby-csv (3.3.4-1) ... 161s Selecting previously unselected package ruby-did-you-mean. 162s Preparing to unpack .../02-ruby-did-you-mean_1.6.3-2build1_all.deb ... 162s Unpacking ruby-did-you-mean (1.6.3-2build1) ... 162s Selecting previously unselected package ruby-net-telnet. 162s Preparing to unpack .../03-ruby-net-telnet_0.2.0-1build1_all.deb ... 162s Unpacking ruby-net-telnet (0.2.0-1build1) ... 162s Selecting previously unselected package ruby-ruby2-keywords. 162s Preparing to unpack .../04-ruby-ruby2-keywords_0.0.5-1build1_all.deb ... 162s Unpacking ruby-ruby2-keywords (0.0.5-1build1) ... 162s Selecting previously unselected package ruby-webrick. 162s Preparing to unpack .../05-ruby-webrick_1.9.1-1_all.deb ... 162s Unpacking ruby-webrick (1.9.1-1) ... 162s Selecting previously unselected package ruby-xmlrpc. 162s Preparing to unpack .../06-ruby-xmlrpc_0.3.3-2build1_all.deb ... 162s Unpacking ruby-xmlrpc (0.3.3-2build1) ... 162s Selecting previously unselected package libruby3.3:armhf. 162s Preparing to unpack .../07-libruby3.3_3.3.8-2ubuntu3_armhf.deb ... 162s Unpacking libruby3.3:armhf (3.3.8-2ubuntu3) ... 162s Selecting previously unselected package ruby3.3. 162s Preparing to unpack .../08-ruby3.3_3.3.8-2ubuntu3_armhf.deb ... 162s Unpacking ruby3.3 (3.3.8-2ubuntu3) ... 162s Selecting previously unselected package libruby:armhf. 162s Preparing to unpack .../09-libruby_1%3a3.3_armhf.deb ... 162s Unpacking libruby:armhf (1:3.3) ... 162s Selecting previously unselected package ruby-rubygems. 162s Preparing to unpack .../10-ruby-rubygems_3.6.7-2ubuntu1_all.deb ... 162s Unpacking ruby-rubygems (3.6.7-2ubuntu1) ... 162s Selecting previously unselected package ruby. 162s Preparing to unpack .../11-ruby_1%3a3.3_armhf.deb ... 162s Unpacking ruby (1:3.3) ... 162s Selecting previously unselected package rake. 162s Preparing to unpack .../12-rake_13.2.1-1build1_all.deb ... 162s Unpacking rake (13.2.1-1build1) ... 162s Selecting previously unselected package ruby-minitest. 162s Preparing to unpack .../13-ruby-minitest_5.26.1-1_all.deb ... 162s Unpacking ruby-minitest (5.26.1-1) ... 162s Selecting previously unselected package ruby-power-assert. 162s Preparing to unpack .../14-ruby-power-assert_2.0.5-1_all.deb ... 162s Unpacking ruby-power-assert (2.0.5-1) ... 162s Selecting previously unselected package ruby-test-unit. 162s Preparing to unpack .../15-ruby-test-unit_3.6.2-1_all.deb ... 162s Unpacking ruby-test-unit (3.6.2-1) ... 163s Selecting previously unselected package gem2deb-test-runner. 163s Preparing to unpack .../16-gem2deb-test-runner_2.2.5_armhf.deb ... 163s Unpacking gem2deb-test-runner (2.2.5) ... 163s Selecting previously unselected package ruby-concurrent. 163s Preparing to unpack .../17-ruby-concurrent_1.3.4-1_all.deb ... 163s Unpacking ruby-concurrent (1.3.4-1) ... 163s Selecting previously unselected package ruby-concurrent-ext. 163s Preparing to unpack .../18-ruby-concurrent-ext_1.3.4-1_armhf.deb ... 163s Unpacking ruby-concurrent-ext (1.3.4-1) ... 163s Selecting previously unselected package ruby-diff-lcs. 163s Preparing to unpack .../19-ruby-diff-lcs_1.5.1-1_all.deb ... 163s Unpacking ruby-diff-lcs (1.5.1-1) ... 163s Selecting previously unselected package ruby-rspec-support. 163s Preparing to unpack .../20-ruby-rspec-support_3.13.0c0e0m0s1-2_all.deb ... 163s Unpacking ruby-rspec-support (3.13.0c0e0m0s1-2) ... 163s Selecting previously unselected package ruby-rspec-core. 163s Preparing to unpack .../21-ruby-rspec-core_3.13.0c0e0m0s1-2_all.deb ... 163s Unpacking ruby-rspec-core (3.13.0c0e0m0s1-2) ... 163s Selecting previously unselected package ruby-rspec-expectations. 163s Preparing to unpack .../22-ruby-rspec-expectations_3.13.0c0e0m0s1-2_all.deb ... 163s Unpacking ruby-rspec-expectations (3.13.0c0e0m0s1-2) ... 163s Selecting previously unselected package ruby-rspec-mocks. 163s Preparing to unpack .../23-ruby-rspec-mocks_3.13.0c0e0m0s1-2_all.deb ... 163s Unpacking ruby-rspec-mocks (3.13.0c0e0m0s1-2) ... 163s Selecting previously unselected package ruby-rspec. 163s Preparing to unpack .../24-ruby-rspec_3.13.0c0e0m0s1-2_all.deb ... 163s Unpacking ruby-rspec (3.13.0c0e0m0s1-2) ... 163s Selecting previously unselected package ruby-timecop. 163s Preparing to unpack .../25-ruby-timecop_0.9.10-1.1_all.deb ... 163s Unpacking ruby-timecop (0.9.10-1.1) ... 163s Setting up ruby-ruby2-keywords (0.0.5-1build1) ... 163s Setting up ruby-power-assert (2.0.5-1) ... 163s Setting up rubygems-integration (1.19build1) ... 163s Setting up ruby-concurrent (1.3.4-1) ... 163s Setting up ruby-timecop (0.9.10-1.1) ... 163s Setting up ruby-minitest (5.26.1-1) ... 163s Setting up ruby-test-unit (3.6.2-1) ... 163s Setting up ruby-net-telnet (0.2.0-1build1) ... 163s Setting up ruby-csv (3.3.4-1) ... 163s Setting up ruby-rspec-support (3.13.0c0e0m0s1-2) ... 163s Setting up ruby-webrick (1.9.1-1) ... 163s Setting up ruby-did-you-mean (1.6.3-2build1) ... 163s Setting up ruby-xmlrpc (0.3.3-2build1) ... 163s Setting up rake (13.2.1-1build1) ... 163s Setting up libruby3.3:armhf (3.3.8-2ubuntu3) ... 163s Setting up ruby3.3 (3.3.8-2ubuntu3) ... 163s Setting up libruby:armhf (1:3.3) ... 163s Setting up ruby (1:3.3) ... 163s Setting up ruby-rspec-core (3.13.0c0e0m0s1-2) ... 163s Setting up ruby-diff-lcs (1.5.1-1) ... 163s Setting up ruby-rubygems (3.6.7-2ubuntu1) ... 163s Setting up gem2deb-test-runner (2.2.5) ... 163s Setting up ruby-concurrent-ext (1.3.4-1) ... 163s Setting up ruby-rspec-expectations (3.13.0c0e0m0s1-2) ... 163s Setting up ruby-rspec-mocks (3.13.0c0e0m0s1-2) ... 163s Setting up ruby-rspec (3.13.0c0e0m0s1-2) ... 163s Processing triggers for libc-bin (2.42-2ubuntu4) ... 163s Processing triggers for man-db (2.13.1-1) ... 174s autopkgtest [21:20:51]: 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 174s autopkgtest [21:20:51]: test ruby: [----------------------- 176s 176s ┌──────────────────────────────────────────────────────────────────────────────┐ 176s │ Run tests for ruby3.3 from debian/ruby-tests.rake │ 176s └──────────────────────────────────────────────────────────────────────────────┘ 176s 176s RUBYLIB=. GEM_PATH= ruby3.3 -S rake --rakelibdir /gem2deb-nonexistent -f debian/ruby-tests.rake 176s mv lib ./.gem2deb.lib 176s mv ext ./.gem2deb.ext 177s /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 177s Run options: exclude {:stress=>true} 177s 177s Randomized with seed 1 177s 177s Concurrent::IVar 177s #initialize 177s can set an initial value 177s does not have to set an initial value 177s can set an initial value with a block 177s does not set an initial value if you pass NULL 177s raises an exception if given both a value and a block 177s observation 177s notifies all observers on #set 177s deadlock avoidance 177s should notify observers outside mutex lock 177s should notify a new observer added after fulfillment outside lock 177s it should behave like ivar 177s initialization 177s sets the state to incomplete 177s it should behave like dereferenceable 177s does not call #freeze when #freeze_on_deref is set and the value is nil 177s defaults :copy_on_deref to nil 177s defaults :dup_on_deref to false 177s supports dereference flags with observers 177s calls #freeze when the :freeze_on_deref option is true 177s defaults :freeze_on_deref to false 177s does not call #dup when #dup_on_deref is set and the value is nil 177s calls #dup when the :dup_on_deref option is true 177s calls the block when the :copy_on_deref option is passed a proc 177s does not call the #copy_on_deref block when the value is nil 177s calls the :copy block first followed by #dup followed by #freeze 177s it should behave like obligation 177s #value 177s returns nil when reaching the optional timeout value 177s is nil when :pending 177s blocks the caller when :pending and timeout is nil 177s returns the value when fulfilled before timeout 177s is set to the return value of the block when :fulfilled 177s is nil when :rejected 177s returns nil when timeout reached 177s returns immediately when timeout is zero 177s #state 177s is :pending when first created 177s is :fulfilled when the handler completes 177s is :rejected when the handler raises an exception 177s #reason 177s is nil when :fulfilled 177s is set to error object of the exception when :rejected 177s is nil when :pending 177s it should behave like observable 177s #delete_observer 177s deletes the given observer if called before first notification 177s returns the given observer even when not found in the observer set 177s returns the removed observer if found in the observer set 177s #add_observer 177s raises an exception if not given an observer or a block 177s adds an observer if called before first notification 178s raises an exception when given both an observer and a block 178s creates an observer from a block if called before first notification 178s adds an observer with :func if called before first notification 178s first notification 178s does not notify any observers after #delete_observers called 178s calls the appropriate function on all observers which specified a :func 179s does not notify any observers removed with #delete_observer 180s calls the proc for all observers added as a block 180s calls the #update method on all observers without a specified :func 180s #count_observers 180s returns zero for a new observable object 180s returns a count of registered observers if called before first notification 180s returns zero after #delete_observers has been called 180s #delete_observers 180s deletes all observers when called before first notification 180s returns self 180s #set 180s raises an exception when given neither a value nor a block 180s raises an exception if set more than once 180s rejects when given a block which raises an exception 180s returns self 180s sets the state to be fulfilled 180s fulfils when given a block which executes successfully 180s raises an exception when given a value and a block 180s sets the value 180s #fail 180s sets the reason to the given exception 180s raises an exception if set more than once 180s sets the value to be nil 180s returns self 180s defaults the reason to a StandardError 180s sets the state to be rejected 180s #try_set 180s when unset 180s assigns the value 180s assigns the block result 180s returns true 180s when rejected 180s does not assign the block result 180s returns false 180s has a nil value 180s does not assign the value 180s when fulfilled 180s does not assign the value 180s returns false 180s does not assign the block result 180s 180s Concurrent::LazyRegister 180s example at ./spec/concurrent/lazy_register_spec.rb:6 (PENDING: Not yet implemented) 180s 180s dataflow 180s #dataflow uses the global fast executor 180s #dataflow_with raises an exception when no executor given 180s raises an exception when no block given 180s accepts completed dependencies 180s doesn't raise exceptions from dependencies, unless called with ! 180s returns a Future 180s accepts zero or more dependencies 180s accepts uncompleted dependencies 180s #dataflow_with uses the given executor 180s raises an exception if any dependencies are not IVars 180s passes the values of dependencies into the block 180s if there is more than one 180s if there is just one 180s does not schedule the Future 180s if no dependencies are completed 180s if one dependency of two is completed 180s module function 180s can be called as Concurrent.dataflow and Concurrent.dataflow_with 180s counts already executed dependencies 180s if there is more than one 180s if there is just one 180s schedules the Future when all dependencies are available 180s if there is more than one 180s if there is just one 180s 180s Concurrent::MutableStruct 180s #[member]= 180s sets the value when given a valid string member 180s sets the value when given a valid symbol member 180s raises an exception when given a non-existent symbol member 180s raises an exception when given a non-existent string member 180s synchronization 180s protects #[member] 180s protects #values 180s protects #to_h 180s protects getter methods 180s protects #each_pair 180s protects getter methods 180s protects #inspect 180s protects #[member]= 180s protects #to_s 180s protects #values_at 180s protects #merge 180s protects #initialize_copy 180s protects #[index]= 180s protects #== 180s protects #each 180s protects #[index] 180s protects #select 180s definition 180s defines a setter for each member 180s copy 180s #clone 180s mutates only the copy 180s #dup 180s mutates only the copy 180s #[index]= 180s sets the value when given a valid index 180s raises an exception when given an out-of-bound index 180s it should behave like struct 180s properties 180s #members 180s returns a different object than the array passed at definition 180s returns the struct members as an array of symbols 180s #size 180s returns the number of struct members 180s #values 180s returns the values of the struct as an array in order 180s #values_at 180s returns values for ranges and offsets 180s returns the values at multiple given offsets 180s returns values at offsets in a given range 180s returns the value at the given offset 180s returns values for multiple ranges 180s #length 180s returns the number of struct members 180s comparison 180s #!= 180s returns false if other has same struct subclass and equal values 180s returns true if other has different values 180s returns true if other has different struct subclass 180s #== 180s returns true if other has same struct subclass and equal values 180s returns false if other has different struct subclass 180s returns false if other has different values 180s definition 180s registers the class when given a class name which is defined in the ancestors 180s raises an exception when given an invalid class name 180s raises an exception when given no members 180s raise an exception when given an invalid member 180s defines a getter for each member 180s registers the class when given a class name 180s evalues a given block against the new class 180s creates an anonymous class when given at least one member 180s conversion 180s #to_a 180s returns the to_a for this struct as an array 180s #to_s 180s returns the same string as #inspect 180s includes the name of the class when registered 180s includes the names of all members 180s includes all values 180s #to_h 180s returns a Hash containing the names and values in order 180s accessors 180s #[index] 180s retrieves the value when given a valid index 180s raises an exception when given an out-of-bound index 180s #[member] 180s retrieves the value when given a valid string member 180s raises an exception when given a non-existent string member 180s raises an exception when given a non-existent symbol member 180s retrieves the value when given a valid symbol member 180s enumeration 180s #select 180s yields each value 180s returns an enumerator when no block is given 180s returns an Array with the values from for which the block returns true 180s #each 180s returns an enumerator when no block is given 180s yields the value of each struct member in order 180s #each_pair 180s returns an enumerator when no block is given 180s yields the name and value of each struct member in order 180s construction 180s raises an exception when extra members are given 180s sets all absent members to nil 180s sets all given members in order 180s copy 180s #dup 180s discards singleton class 180s shallowly duplicates all members along with the struct 180s discards frozen state of the struct 180s retains frozen state of members 180s copies the singleton class of members 180s #clone 180s retains frozen state 180s copies the singleton class 180s copies the singleton class of members 180s shallowly clones all members along with the struct 180s it should behave like mergeable_struct 180s #merge 180s calls the given block for each key in `other` 180s raises an exception when given a hash with members not in the struct 180s returns a new object 180s retains the value for all members not without values in the given hash 180s updates all members with the new values from a given hash 180s 180s Concurrent 180s Cancellation 180s basic 180s is expected to be falsey 180s is expected to be truthy 180s #join 180s is expected to eq 2 180s is expected to be falsey 180s 180s #atomically 180s provides atomicity 180s raises an exception when no block given 180s reflects transactional writes from within the same transaction 180s undoes writes if the transaction is aborted 180s commits writes if the transaction succeeds 180s retries on abort 180s nests 180s raises the same exception that was raised in Concurrent::atomically 180s 180s Concurrent::Set 180s .[] 180s when initializing with arguments 180s creates a set with the given objects 180s when initializing with no arguments 180s is expected to be empty 180s .new 180s when initializing with no arguments 180s is expected to be empty 180s when initializing with an enumerable object 180s creates a set with the contents of the enumerable object 180s when initializing with a block argument 180s creates a set with the contents of the enumerable object 180s concurrency 180s #each 180s force context switch 181s #add and #delete 181s 181s Concurrent::Delay 181s #reconfigure 181s returns value of block used in reconfiguration 181s returns false when process completed? 181s #value 181s can be called twice 181s calls the block when #value is called 181s raises when called recursively 181s does not call the block before #value is called 181s only calls the block once no matter how often #value is called 181s behavior 181s it should behave like dereferenceable 181s calls the block when the :copy_on_deref option is passed a proc 181s defaults :copy_on_deref to nil 181s does not call #freeze when #freeze_on_deref is set and the value is nil 181s calls #dup when the :dup_on_deref option is true 181s does not call #dup when #dup_on_deref is set and the value is nil 181s defaults :dup_on_deref to false 181s supports dereference flags with observers 181s does not call the #copy_on_deref block when the value is nil 181s calls the :copy block first followed by #dup followed by #freeze 181s defaults :freeze_on_deref to false 181s calls #freeze when the :freeze_on_deref option is true 181s it should behave like obligation 181s #reason 181s is nil when :pending 181s is nil when :fulfilled 181s is set to error object of the exception when :rejected 181s #value 181s is nil when :rejected 181s is set to the return value of the block when :fulfilled 181s returns immediately when timeout is zero 181s blocks the caller when :pending and timeout is nil 181s returns nil when reaching the optional timeout value 181s returns nil when timeout reached 181s returns the value when fulfilled before timeout 182s is nil when :pending 182s #state 182s is :pending when first created 182s is :rejected when the handler raises an exception 182s is :fulfilled when the handler completes 182s #initialize 182s raises an exception when no block given 182s sets the state to :pending 182s 182s Concurrent::Promise 182s #rescue 182s returns a new promise 182s it should behave like thread_arguments 182s passes a one-element array when the :args key has a non-array value 182s passes an empty array when opts is not given 182s passes an empty array when the :args key has a nil value 182s passes an empty array when opts is an empty hash 182s allows the given arguments array to be dereferenced 182s passes the given array when the :args key has a complex array value 182s passes an array when when the :args key has an array value 182s passes an empty array when there is no :args key 182s aliases 182s aliases #realized? for #fulfilled? 182s aliases #catch for #rescue 182s aliases #deref for #value 182s aliases #on_error for #rescue 182s fulfillment 182s can manage long chain 182s sets the promise state to :fulfilled if the block completes 182s passes the result of each block to all its children 182s sets the promise value to the result if its block 182s uses result as fulfillment value when a promise has no block 182s passes the last result through when a promise has no block 182s #fail 182s can only be called on the root promise 182s rejects children 182s #set 182s triggers children 182s can be called with a block 182s #can only be called on the root promise 182s rejection 182s sets the promise value to the result if its block 182s passes the reason to all its children 182s rejects on Exception 182s sets the promise state to :rejected if the block completes 182s uses reason as rejection reason when a promise has no rescue callable 182s .zip 182s does not execute the returned Promise when execute is false 182s preserves ordering of the executed promises 182s executes the returned Promise by default 182s allows setting executor for Promise chain 182s fails if one component fails 182s executes the returned Promise when execute is true 182s yields the results as an array 182s aggregators 182s .any? 182s executes the #then condition when any components succeed 182s executes the #rescue handler if all componenst fail 182s does not execute the returned Promise 182s returns a new Promise 182s executes the #then condition when no promises are given 182s .all? 182s executes the #then condition when all components succeed 182s executes the #rescue handler if even one component fails 182s returns a new Promise 182s does not execute the returned Promise 182s executes the #then condition when no promises are given 182s initializers 182s .execute 182s passes the block to the new Promise 182s calls #execute on the new Promise 182s creates a new Promise 182s .fulfill 182s should return a Promise with set value 182s should return a fulfilled Promise 182s should return a Promise 182s .reject 182s should return a Promise with set reason 182s should return a Promise 182s should return a rejected Promise 182s .new 182s should return an unscheduled Promise 182s #then 182s should have block or rescuers 182s returns a new promise when a block and rescuer are passed 182s returns a new promise when a block is passed 182s returns a new promise when a rescuer is passed 182s can be called more than once 182s supports setting the executor using a named parameter 182s returns a new promise when a block, rescuer and executor are passed 182s fulfilled 182s returns a new Promise 182s notifies fulfillment to new child 182s rejected 182s returns a new Promise when :rejected 182s notifies rejection to new child 182s pending 182s returns a new promise 182s returns a pending promise 182s unscheduled 182s returns a new promise 182s returns an unscheduled promise 182s on_success 182s returns a new promise 182s should have a block 182s #execute 182s with children 182s when called on a child 183s should set all promises to :pending 183s when called on child after parent completes 183s sets state to :pending immediately 183s when called on the root 184s should set all promises to :pending 184s pending 184s does not post again 184s sets the promise to :pending 184s unscheduled 184s posts the block given in construction 185s sets the promise to :pending 185s #flat_map 185s returns a promise 185s fails if the left promise fails 185s fails if the right promise fails 185s fails if the generating block fails 185s succeeds if both promises succeed 185s #zip 185s allows setting executor for Promise chain 185s fails if one component fails 185s executes the returned Promise when execute is true 185s does not execute the returned Promise when execute is false 185s executes the returned Promise by default 185s preserves ordering of the executed promises 185s yields the results as an array 185s it should behave like ivar 185s #set 185s raises an exception if set more than once 185s returns self 185s raises an exception when given neither a value nor a block 185s raises an exception when given a value and a block 185s rejects when given a block which raises an exception 185s sets the state to be fulfilled 185s sets the value 185s fulfils when given a block which executes successfully 185s #try_set 185s when fulfilled 185s returns false 185s does not assign the value 185s does not assign the block result 185s when rejected 185s returns false 185s does not assign the block result 185s has a nil value 185s does not assign the value 185s when unset 185s returns true 185s assigns the value 185s assigns the block result 185s it should behave like observable 185s #add_observer 185s adds an observer with :func if called before first notification 185s raises an exception if not given an observer or a block 185s creates an observer from a block if called before first notification 185s adds an observer if called before first notification 185s raises an exception when given both an observer and a block 185s #count_observers 185s returns zero for a new observable object 185s returns a count of registered observers if called before first notification 185s returns zero after #delete_observers has been called 185s first notification 186s does not notify any observers removed with #delete_observer 187s does not notify any observers after #delete_observers called 187s calls the proc for all observers added as a block 187s calls the appropriate function on all observers which specified a :func 187s calls the #update method on all observers without a specified :func 187s #delete_observer 187s returns the given observer even when not found in the observer set 187s returns the removed observer if found in the observer set 187s deletes the given observer if called before first notification 187s #delete_observers 187s returns self 187s deletes all observers when called before first notification 187s initialization 187s sets the state to incomplete 187s #fail 187s sets the state to be rejected 187s sets the value to be nil 187s raises an exception if set more than once 187s defaults the reason to a StandardError 187s sets the reason to the given exception 187s returns self 187s it should behave like dereferenceable 188s calls the block when the :copy_on_deref option is passed a proc 188s defaults :copy_on_deref to nil 188s does not call #freeze when #freeze_on_deref is set and the value is nil 188s calls #dup when the :dup_on_deref option is true 188s supports dereference flags with observers 189s calls #freeze when the :freeze_on_deref option is true 189s calls the :copy block first followed by #dup followed by #freeze 189s defaults :dup_on_deref to false 189s defaults :freeze_on_deref to false 189s does not call #dup when #dup_on_deref is set and the value is nil 190s does not call the #copy_on_deref block when the value is nil 190s it should behave like obligation 190s #value 195s blocks the caller when :pending and timeout is nil 195s returns nil when reaching the optional timeout value 195s is set to the return value of the block when :fulfilled 195s is nil when :pending 195s returns nil when timeout reached 195s returns immediately when timeout is zero 195s is nil when :rejected 200s returns the value when fulfilled before timeout 200s #reason 200s is nil when :fulfilled 200s is nil when :pending 200s is set to error object of the exception when :rejected 200s #state 200s is :pending when first created 200s is :fulfilled when the handler completes 200s is :rejected when the handler raises an exception 200s 200s Concurrent::TVar 200s #value 200s gets the value 200s #initialize 200s accepts an initial value 200s #value= 200s sets the value 200s 200s Concurrent::Async 200s object creation 200s initializes synchronization 200s passes all args to the original constructor 200s delegates to the original constructor 200s passes a given block to the original constructor 200s #await 200s raises an error when calling a method that does not exist 200s raises an error when passing too few arguments 200s sets the reason when giving too many optional arguments 200s supports methods with blocks 200s sets the value on success 200s supports attribute accessors 200s returns a :fulfilled IVar 200s runs the future on the global executor 200s returns the existence of the method 200s raises an error when pasing too many arguments (arity >= 0) 200s sets the reason on failure 200s #validate_argc 200s raises an exception for too many args on a method with positive arity 200s raises an exception for too many args on a zero arity method 200s does not raise an exception for correct negative arity 200s raises an exception for too few args on a method with negative arity 200s raises an exception when the method is not defined 200s raises an exception for too few args on a method with positive arity 200s does not raise an exception for correct positive arity 200s does not raise an exception for correct zero arity 200s fork safety 200s does not hang when forked 200s locking 200s uses the same lock for both #async and #await 200s #async 200s sets the reason on failure 200s raises an error when calling a method that does not exist 200s supports methods with blocks 200s returns the existence of the method 200s raises an error when passing too few arguments 200s raises an error when pasing too many arguments (arity >= 0) 200s supports attribute accessors 200s runs the future on the global executor 200s returns a :pending IVar 200s sets the value on success 200s sets the reason when giving too many optional arguments 200s 200s Concurrent::MVar 200s #take 200s returns TIMEOUT on timeout on an empty MVar 200s waits for another thread to #put 200s returns the value on a full MVar 200s sets the MVar to empty 200s spurious wake ups 200s #put 201s returns TIMEOUT on timeout on a full MVar 201s waits for another thread to #take 201s #modify 202s waits for another thread to #put 202s returns TIMEOUT on timeout on an empty MVar 202s #take 203s waits for another thread to #put 203s returns TIMEOUT on timeout on an empty MVar 203s #empty? 203s returns false on a full MVar 203s returns true on an empty MVar 203s #set! 203s sets a full MVar to be full 203s returns EMPTY on an empty MVar 203s sets an empty MVar to be full 203s returns the original value on a full MVar 203s #modify! 203s raises an exception when no block given 203s modifies an empty MVar 203s returns the unmodified value 203s can be used to set an empty MVar to empty 203s can be used to set a full MVar to empty 203s modifies a full MVar 203s #initialize 203s accepts an initial value 203s accepts a nil initial value 203s accepts no initial value 203s accepts an empty initial value 203s #try_take! 203s returns EMPTY an empty MVar 203s returns the value on a full MVar 203s sets a full MVar to be empty 203s #borrow 203s returns TIMEOUT on timeout on an empty MVar 203s yields current value to the block and puts back value 203s returns the returned value of the block 203s puts back value even if an exception is raised 203s #put 203s returns the value 203s sets a new value on an empty MVar 203s waits for another thread to #take 203s sets the MVar to be empty 203s returns TIMEOUT on timeout on a full MVar 203s #full? 203s returns true on a full MVar 203s returns false on an empty MVar 203s #try_put! 203s returns false on a full MVar 203s returns true an empty MVar 203s sets an empty MVar to be full 203s #modify 203s waits for another thread to #put 204s returns TIMEOUT on timeout on an empty MVar 205s is atomic 205s raises an exception when no block given 205s modifies a full MVar 205s returns the unmodified value 205s behavior 205s it should behave like dereferenceable 205s calls the block when the :copy_on_deref option is passed a proc 205s defaults :copy_on_deref to nil 205s supports dereference flags with observers 205s does not call #freeze when #freeze_on_deref is set and the value is nil 205s defaults :dup_on_deref to false 205s does not call #dup when #dup_on_deref is set and the value is nil 205s calls the :copy block first followed by #dup followed by #freeze 205s defaults :freeze_on_deref to false 205s calls #freeze when the :freeze_on_deref option is true 205s does not call the #copy_on_deref block when the value is nil 205s calls #dup when the :dup_on_deref option is true 205s 205s configuration 205s global executors 205s creates a global fast executor 205s creates a global timer set 205s creates a global io executor 205s 205s Concurrent::TimerTask 205s execution 205s uses a custom executor when given 205s waits for :execution_interval seconds when the :run_now option is not given 205s uses a fixed rate when set 206s uses a fixed delay when set 206s passes a "self" reference to the block as the sole argument 206s uses the global executor by default 206s waits for :execution_interval seconds when the :run_now option is false 206s runs the block immediately when the :run_now option is true 206s arguments 206s TimeTask timeouts are now ignored as these were not able to be implemented correctly 206s #timeout_interval being written produces a warning 206s TimeTask timeouts are now ignored as these were not able to be implemented correctly 206s #execution_interval is writeable 206s raises an exception if no block given 206s raises on invalid interval_type 206s observation 206s notifies all observers on error 206s notifies all observers on success 206s dereferenceable 206s it should behave like dereferenceable 206s defaults :freeze_on_deref to false 207s defaults :copy_on_deref to nil 207s calls #freeze when the :freeze_on_deref option is true 207s does not call the #copy_on_deref block when the value is nil 207s does not call #freeze when #freeze_on_deref is set and the value is nil 207s does not call #dup when #dup_on_deref is set and the value is nil 207s calls the block when the :copy_on_deref option is passed a proc 208s defaults :dup_on_deref to false 208s calls the :copy block first followed by #dup followed by #freeze 208s calls #dup when the :dup_on_deref option is true 208s supports dereference flags with observers 208s created with #new 208s #kill 208s returns true on success 208s #shutdown 208s returns true on success 208s #initialize 208s uses the default execution interval when no interval is given 208s uses the given execution interval 208s raises an exception if :execution_interval is not greater than zero 208s uses the default :interval_type when no type is given 208s raises an exception if :execution_interval is not an integer 208s raises an exception if :interval_type is not a valid value 208s uses the given interval type 208s raises an exception if no block given 208s observable 208s it should behave like observable 208s #delete_observer 208s deletes the given observer if called before first notification 208s returns the given observer even when not found in the observer set 208s returns the removed observer if found in the observer set 208s #count_observers 208s returns zero after #delete_observers has been called 208s returns a count of registered observers if called before first notification 208s returns zero for a new observable object 208s #delete_observers 208s returns self 208s deletes all observers when called before first notification 208s first notification 208s calls the #update method on all observers without a specified :func 209s calls the appropriate function on all observers which specified a :func 209s calls the proc for all observers added as a block 210s does not notify any observers removed with #delete_observer 211s does not notify any observers after #delete_observers called 211s #add_observer 211s creates an observer from a block if called before first notification 211s raises an exception if not given an observer or a block 211s raises an exception when given both an observer and a block 211s adds an observer with :func if called before first notification 211s adds an observer if called before first notification 211s 211s Concurrent::Hash 211s .[] 211s when initializing with another hash as an argument 211s creates a hash with the results of calling #to_hash on the other array 211s creates a new hash 211s creates a hash with the same contents as the other hash 211s when initializing with an array of pairs 211s creates a hash using each pair as a (key, value) pair 211s when initializing with no arguments 211s is expected to be empty 211s when initializing with an even number of arguments 211s creates a hash using the odd position arguments as keys and even position arguments as values 211s .new 211s when initialized with a block 211s calls the block for non-existing keys 211s returns the results of calling the block for non-existing key 211s when initializing with no arguments 211s is expected to be empty 211s when initialized with a default object 211s uses the default object for non-existing keys 211s concurrency 212s is expected to be empty 212s 212s Concurrent::SettableStruct 212s it should behave like mergeable_struct 212s #merge 212s raises an exception when given a hash with members not in the struct 212s calls the given block for each key in `other` 212s retains the value for all members not without values in the given hash 212s updates all members with the new values from a given hash 212s returns a new object 212s definition 212s /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 212s /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 212s /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 212s /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 212s defines a setter for each member 212s #[index]= 212s raises an exception when given an out-of-bound index 212s raises an exception when given an index that has already been set 212s sets the value when given a valid index 212s it should behave like struct 212s construction 212s /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 212s /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 212s /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 212s /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 212s sets all absent members to nil 212s /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 212s /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 212s /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 212s /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 212s raises an exception when extra members are given 212s /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 212s /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 212s /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 212s /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 212s sets all given members in order 212s accessors 212s #[member] 212s raises an exception when given a non-existent string member 212s retrieves the value when given a valid string member 212s raises an exception when given a non-existent symbol member 212s retrieves the value when given a valid symbol member 212s #[index] 212s retrieves the value when given a valid index 212s raises an exception when given an out-of-bound index 212s definition 212s evalues a given block against the new class 212s raises an exception when given an invalid class name 212s raises an exception when given no members 212s creates an anonymous class when given at least one member 212s raise an exception when given an invalid member 212s registers the class when given a class name 212s /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 212s /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 212s /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 212s /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 212s defines a getter for each member 212s /tmp/autopkgtest.mNG2Ba/build.zLC/src/spec/concurrent/struct_shared.rb:15: warning: already initialized constant ValidClassName2 212s /tmp/autopkgtest.mNG2Ba/build.zLC/src/spec/concurrent/struct_shared.rb:15: warning: previous definition of ValidClassName2 was here 212s registers the class when given a class name which is defined in the ancestors 212s conversion 212s #to_h 212s returns a Hash containing the names and values in order 212s #to_a 212s returns the to_a for this struct as an array 212s #to_s 212s includes all values 212s returns the same string as #inspect 212s includes the name of the class when registered 212s includes the names of all members 212s copy 212s #clone 212s shallowly clones all members along with the struct 212s copies the singleton class 212s copies the singleton class of members 212s retains frozen state 212s #dup 212s shallowly duplicates all members along with the struct 212s retains frozen state of members 212s discards singleton class 212s discards frozen state of the struct 212s copies the singleton class of members 212s properties 212s #values_at 212s returns values at offsets in a given range 212s returns values for multiple ranges 212s returns the values at multiple given offsets 212s returns the value at the given offset 212s returns values for ranges and offsets 212s #size 212s returns the number of struct members 212s #members 212s returns the struct members as an array of symbols 212s returns a different object than the array passed at definition 212s #values 212s returns the values of the struct as an array in order 212s #length 212s returns the number of struct members 212s enumeration 212s #each_pair 212s returns an enumerator when no block is given 212s yields the name and value of each struct member in order 212s #select 212s yields each value 212s returns an Array with the values from for which the block returns true 212s returns an enumerator when no block is given 212s #each 212s yields the value of each struct member in order 212s returns an enumerator when no block is given 212s comparison 212s #!= 212s returns true if other has different values 212s returns true if other has different struct subclass 212s returns false if other has same struct subclass and equal values 212s #== 212s returns true if other has same struct subclass and equal values 212s returns false if other has different values 212s returns false if other has different struct subclass 212s #[member]= 212s raises an exception when given a string member that has already been set 212s sets the value when given a valid string member 212s raises an exception when given a non-existent string member 212s raises an exception when given a symbol member that has already been set 212s raises an exception when given a non-existent symbol member 212s sets the value when given a valid symbol member 212s synchronization 212s protects getter methods 212s protects #select 212s protects #each_pair 212s protects #inspect 212s protects #[index] 212s protects getter methods 212s protects #to_h 212s protects #initialize_copy 212s protects #[member]= 212s protects #each 212s protects #[index]= 212s protects #values 212s protects #== 212s protects #[member] 212s protects #values_at 212s protects #to_s 212s protects #merge 212s copy 212s #clone 212s retains settability of members 212s #dup 212s retains settability of members 212s 212s Concurrent::ImmutableStruct 212s it should behave like struct 212s accessors 212s #[member] 212s retrieves the value when given a valid string member 212s retrieves the value when given a valid symbol member 212s raises an exception when given a non-existent string member 212s raises an exception when given a non-existent symbol member 212s #[index] 212s retrieves the value when given a valid index 212s raises an exception when given an out-of-bound index 212s definition 212s evalues a given block against the new class 212s raise an exception when given an invalid member 212s defines a getter for each member 212s creates an anonymous class when given at least one member 212s /tmp/autopkgtest.mNG2Ba/build.zLC/src/spec/concurrent/struct_shared.rb:15: warning: already initialized constant ValidClassName2 212s /tmp/autopkgtest.mNG2Ba/build.zLC/src/spec/concurrent/struct_shared.rb:15: warning: previous definition of ValidClassName2 was here 212s registers the class when given a class name which is defined in the ancestors 212s raises an exception when given an invalid class name 212s raises an exception when given no members 212s registers the class when given a class name 212s conversion 212s #to_s 212s returns the same string as #inspect 212s includes the names of all members 212s includes the name of the class when registered 212s includes all values 212s #to_a 212s returns the to_a for this struct as an array 212s #to_h 212s returns a Hash containing the names and values in order 212s properties 212s #values_at 212s returns values for multiple ranges 212s returns the values at multiple given offsets 212s returns values for ranges and offsets 212s returns values at offsets in a given range 212s returns the value at the given offset 212s #members 212s returns the struct members as an array of symbols 212s returns a different object than the array passed at definition 212s #size 212s returns the number of struct members 212s #length 212s returns the number of struct members 212s #values 212s returns the values of the struct as an array in order 212s comparison 212s #!= 212s returns false if other has same struct subclass and equal values 212s returns true if other has different struct subclass 212s returns true if other has different values 212s #== 212s returns true if other has same struct subclass and equal values 212s returns false if other has different struct subclass 212s returns false if other has different values 212s copy 212s #dup 212s shallowly duplicates all members along with the struct 212s discards frozen state of the struct 212s retains frozen state of members 212s discards singleton class 212s copies the singleton class of members 212s #clone 212s copies the singleton class 212s retains frozen state 212s copies the singleton class of members 212s shallowly clones all members along with the struct 212s construction 212s raises an exception when extra members are given 212s sets all given members in order 212s sets all absent members to nil 212s enumeration 212s #each_pair 212s yields the name and value of each struct member in order 212s returns an enumerator when no block is given 212s #each 212s returns an enumerator when no block is given 212s yields the value of each struct member in order 212s #select 212s returns an enumerator when no block is given 212s yields each value 212s returns an Array with the values from for which the block returns true 212s it should behave like mergeable_struct 212s #merge 212s raises an exception when given a hash with members not in the struct 212s returns a new object 212s updates all members with the new values from a given hash 212s retains the value for all members not without values in the given hash 212s calls the given block for each key in `other` 212s 212s Concurrent::Array 212s concurrency 212s is expected to be empty 212s .new 212s when initializing with a size argument 212s creates an array with size elements set to nil 212s when initializing with a block argument 212s creates an array with size elements set to the default value 212s when initializing with a default value argument 212s creates an array with size elements set to the default value 212s when initializing with no arguments 212s is expected to be empty 212s when initializing with another array as an argument 212s creates an array with the results of calling #to_ary on the other array 212s creates an array with the same contents as the other array 212s creates a new array 212s .[] 212s when initializing with no arguments 212s is expected to be empty 212s when initializing with arguments 212s creates an array with the given objects 212s #slice 212s correctly initializes the monitor 212s 212s Concurrent::Channel 212s #next? 212s returns a just Maybe, true when there are multiple items 212s returns a nothing Maybe and false on failure 212s returns a just Maybe and true when there is one item 212s #take! 212s raises an exception on failure 212s takes the next item when not empty 212s #take? 212s returns a nothing Maybe on failure 212s returns a just Maybe on success 212s #next 212s returns , true when closed and last item 212s returns nil, false when closed and no items remain 212s returns , true when there are multiple items 212s returns nil, false when empty and closed 212s returns , true when there is one item 212s #take 212s returns nil on failure 212s takes the next item when not empty 212s #offer 212s returns true on success 212s rejects nil 212s rejects when the validator raises an exception 212s returns false on failure 212s rejects when the validator returns false 212s put? 212s returns a nothing Maybe on failure 212s rejects when the validator raises an exception 212s accepts nil 212s rejects when the validator returns false 212s returns a just Maybe on success 212s #poll? 212s returns a nothing Maybe immediately if no item is available 212s returns a just Maybe immediately if available 212s returns a nothing Maybe on failure 212s offer? 212s returns a just Maybe on success 212s accepts nil 212s rejects when the validator raises an exception 212s rejects when the validator returns false 212s returns a nothing Maybe on failure 212s offer! 212s returns true on success 212s rejects when the validator raises an exception 212s raises an exception on failure 212s rejects nil 212s rejects when the validator returns false 212s #poll! 212s raises an exception on failure 212s returns the next item immediately if available 212s raises an exception immediately if no item is available 212s #poll 212s returns nil on failure 212s returns nil immediately if no item is available 212s returns the next item immediately if available 212s .each 212s iterates until the channel is closed 212s raises and exception when no block is given 212s put! 212s raises an exception on failure 212s returns true on success 212s rejects when the validator raises an exception 212s rejects nil 212s rejects when the validator returns false 212s factories 212s is expected to receive new(10) 1 time 212s is expected to receive new(10) 1 time 212s goroutines 212s .go_via 212s raises an exception when no block is given 212s is expected to receive post(1, 2, 3) 1 time 212s .go 212s raises an exception when no block is given 212s is expected to receive post(1, 2, 3) 1 time 212s .go_loop 212s loops until the block returns false 212s raises an exception when no block is given 212s .go_loop_via 212s raises an exception when no block is given 212s loops until the block returns false 212s select 212s is expected to be truthy 212s raises an exception when no block is given 212s passes a selector to the block 212s #put 212s rejects when the validator returns false 212s rejects nil 212s rejects when the validator raises an exception 212s returns false on failure 212s returns true on success 212s initialization 212s raises an exception when the :buffer is invalid 212s raises an exception when :dropping given without :capacity 212s is :buffered when :capacity > 0 and no :buffer given 212s is :unbuffered when neither :buffer nore :capacity is given 212s raises an exception when :buffered given without :capacity 212s is :sliding when :sliding and :capacity > 0 212s raises an exception when :buffered and :capacity < 0 212s is :buffered when :buffered given 212s is :dropping when :dropping and :capacity > 0 212s raises an exception when :sliding given without :capacity 212s is :unbuffered when :buffered and capacity: 0 212s raises an exception when :sliding and :capacity < 1 212s raises an exception when both :unbuffered and :capacity are given 212s is :unbuffered when :unbuffered is given 212s uses the given buffer 212s raises an exception when :dropping and :capacity < 1 212s 212s Concurrent::Exchanger 212s class hierarchy 212s inherits from RubyExchanger 212s 212s Concurrent::ProcessingActor 212s is expected to eq "ab" 212s 212s Concurrent::Promises 212s zip_futures_over 212s .event 212s is expected to equal true 212s .zip_events 212s waits for all and returns event 212s Future 213s can be risen when rejected 213s has sync and async callbacks 213s chains with correct arguments 213s runs 213s value! supports setting timeout 213s result supports setting timeout 213s wait! supports setting timeout 213s chains 213s wait supports setting timeout 213s value supports setting timeout 213s constructs promise like tree 213s resolves future when Exception raised 213s allows graphs 213s reason supports setting timeout 213s #flat 213s it propagates rejection of the future which was suppose to provide inner future 213s propagates requests for values to delayed futures 213s rejects if inner value is not a future 213s accepts inner event 213s returns value of inner future 213s propagates rejection of inner future 213s has shortcuts 213s ResolvableEvent 213s #resolve(raise_on_reassign = true) 213s #wait 213s #resolve(raise_on_reassign = false) 213s reservation 213s .any_fulfilled 213s continues on first result 213s treats a resolved Event as a fulfilled Future 213s treats a pending Event as a pending Future 213s .rejected_future 213s raises the correct error when passed an unraised error 213s chain_resolvable 213s future 213s event 213s .future without block 213s is expected to eq 0 213s .zip 213s waits for all results 213s when a future raises an error 213s raises a concurrent error 213s when deeply nested 213s raises the original error 213s value! 213s does not return spuriously without timeout 213s does not return spuriously with timeout 213s .future 213s executes 213s executes with args 213s .any_resolved 213s continues on first result 213s .delay 213s is expected to eq 2 213s ResolvableFuture 213s #wait! 213s result 213s #wait 213s atomic_resolution 213s #value! 213s #value 213s reservation 213s #reason 213s interoperability 213s with erlang actor 213s with channel 213s with processing actor 213s .schedule 213s scheduled execution in graph 213s scheduled execution 213s 213s Concurrent::Atom 213s #compare_and_set 213s returns true if the current value matches 213s returns false if the current value does not match 213s rejects the new value if the current value does not match 213s returns false if the validator returns false 213s sets the new value if the current value matches 213s returns false if the validator raises an exception 213s rejects the new value if the validator returns false 213s rejects the new value if the validator raises an exception 213s #reset 213s returns the new value on success 213s returns the new value on success 213s returns the old value if the validator returns false 213s returns the old value if the validator raises an exception 213s sets the new value 213s #swap 213s rejects the new value if the validator returns false 213s rejects the new value if the validator raises an exception 213s reraises the exception from block 213s returns the new value on success 213s calls the block more than once if the value changes underneath 213s sets the new value to the result of the block 213s returns the old value if the validator returns false 213s raises an exception when no block is given 213s passes all arguments to the block 213s returns the old value if the validator raises an exception 213s passes the current value to the block 213s observable 213s behaves like observable 213s first notification 214s does not notify any observers removed with #delete_observer 214s calls the appropriate function on all observers which specified a :func 215s does not notify any observers after #delete_observers called 215s calls the proc for all observers added as a block 215s calls the #update method on all observers without a specified :func 215s #add_observer 215s creates an observer from a block if called before first notification 215s adds an observer with :func if called before first notification 215s adds an observer if called before first notification 215s raises an exception if not given an observer or a block 215s raises an exception when given both an observer and a block 215s #delete_observer 215s returns the given observer even when not found in the observer set 215s returns the removed observer if found in the observer set 215s deletes the given observer if called before first notification 215s #count_observers 215s returns a count of registered observers if called before first notification 215s returns zero after #delete_observers has been called 215s returns zero for a new observable object 215s #delete_observers 215s deletes all observers when called before first notification 215s returns self 215s construction 215s sets the initial value to the given value 215s 215s Concurrent::Future 215s it should behave like thread_arguments 215s passes an empty array when there is no :args key 215s allows the given arguments array to be dereferenced 215s passes an array when when the :args key has an array value 215s passes the given array when the :args key has a complex array value 215s passes an empty array when opts is not given 215s passes a one-element array when the :args key has a non-array value 215s passes an empty array when opts is an empty hash 215s passes an empty array when the :args key has a nil value 215s class #execute 215s calls #execute on the new Future 215s creates a new Future 215s passes the block to the new Future 215s #initialize 215s raises an exception when no block given 215s sets the state to :unscheduled 215s uses the executor given with the :executor option 215s uses the global io executor by default 215s cancellation 215s #wait_or_cancel 215s returns true if the operation completes before timeout 215s cancels the task on timeout 215s #cancel 215s fails to cancel the task once processing has begun 215s fails to cancel the task once processing is complete 215s cancels a pending task 215s instance #execute 215s posts the block given on construction 215s returns self 215s does nothing unless the state is :unscheduled 215s sets the state to :pending 215s fulfillment 216s sets the state to :rejected when the handler raises an exception 216s sets the value to nil when the handler raises Exception 216s sets the value to nil when the handler raises an exception 216s sets the reason to the Exception instance when the handler raises Exception 216s sets the value to the result of the handler 216s passes all arguments to handler 216s sets the state to :processing while the task is executing 216s sets the state to :fulfilled when the block completes 216s aliases 216s aliases #deref for #value 216s aliases #realized? for #fulfilled? 216s it should behave like ivar 216s #try_set 216s when unset 216s assigns the value 216s returns true 216s assigns the block result 216s when fulfilled 216s does not assign the block result 216s does not assign the value 216s returns false 216s when rejected 216s does not assign the value 216s has a nil value 216s does not assign the block result 216s returns false 216s #fail 216s sets the state to be rejected 216s defaults the reason to a StandardError 216s sets the value to be nil 216s sets the reason to the given exception 216s raises an exception if set more than once 216s returns self 216s it should behave like obligation 216s #reason 216s is nil when :fulfilled 216s is set to error object of the exception when :rejected 216s is nil when :pending 216s #value 216s returns nil when timeout reached 216s is nil when :pending 216s is nil when :rejected 216s returns nil when reaching the optional timeout value 221s returns the value when fulfilled before timeout 226s blocks the caller when :pending and timeout is nil 226s is set to the return value of the block when :fulfilled 226s returns immediately when timeout is zero 226s #state 226s is :fulfilled when the handler completes 226s is :pending when first created 226s is :rejected when the handler raises an exception 226s it should behave like dereferenceable 226s calls #dup when the :dup_on_deref option is true 226s supports dereference flags with observers 226s defaults :copy_on_deref to nil 227s does not call the #copy_on_deref block when the value is nil 227s calls the :copy block first followed by #dup followed by #freeze 227s does not call #freeze when #freeze_on_deref is set and the value is nil 227s calls #freeze when the :freeze_on_deref option is true 227s calls the block when the :copy_on_deref option is passed a proc 227s defaults :freeze_on_deref to false 228s does not call #dup when #dup_on_deref is set and the value is nil 228s defaults :dup_on_deref to false 228s it should behave like observable 228s #delete_observers 228s returns self 228s deletes all observers when called before first notification 228s #add_observer 228s adds an observer with :func if called before first notification 228s raises an exception if not given an observer or a block 228s creates an observer from a block if called before first notification 228s raises an exception when given both an observer and a block 228s adds an observer if called before first notification 228s #count_observers 228s returns zero after #delete_observers has been called 228s returns zero for a new observable object 228s returns a count of registered observers if called before first notification 228s first notification 228s calls the appropriate function on all observers which specified a :func 229s does not notify any observers removed with #delete_observer 229s calls the proc for all observers added as a block 230s does not notify any observers after #delete_observers called 230s calls the #update method on all observers without a specified :func 230s #delete_observer 230s returns the removed observer if found in the observer set 230s deletes the given observer if called before first notification 230s returns the given observer even when not found in the observer set 230s #set 230s fulfils when given a block which executes successfully 230s raises an exception when given neither a value nor a block 230s sets the state to be fulfilled 230s raises an exception if set more than once 230s raises an exception when given a value and a block 230s sets the value 230s returns self 230s rejects when given a block which raises an exception 230s initialization 230s sets the state to incomplete 230s observation 230s notifies an observer added after fulfillment 230s does not notify existing observers when a new observer added after fulfillment 230s notifies all observers on fulfillment 230s does not notify existing observers when a new observer added after rejection 230s notifies an observer added after rejection 230s notifies all observers on rejection 230s deadlock avoidance 230s should notify observers outside mutex lock 230s should notify a new observer added after fulfillment outside lock 230s 230s #leave_transaction 230s neither commits nor aborts a transaction 230s raises an exception outside an #atomically block 230s 230s Concurrent::Actor 230s forbids Immediate executor 230s links atomically 230s links 230s dead letter routing 230s logs by deafault 230s messaging 230s is expected to eq 4 230s termination 230s terminates with all its children 231s spawning 231s terminates on failed initialization and raises with spawn! 231s terminates on failed initialization 231s terminates on failed message processing 231s Actor#spawn! 231s spawn 231s executor should be global 231s returns arg 231s #name 231s is expected to eq "ping" 231s #path 231s is expected to eq "/ping" 231s #reference 231s is expected to eq # 231s #parent 231s is expected to eq # 231s context_spawn_by_hash 231s executor should be global 231s returns arg 231s #reference 231s is expected to eq # 231s #path 231s is expected to eq "/ping" 231s #parent 231s is expected to eq # 231s #name 231s is expected to eq "ping" 231s context_spawn 231s executor should be global 231s returns arg 231s #reference 231s is expected to eq # 231s #parent 231s is expected to eq # 231s #path 231s is expected to eq "/ping" 231s #name 231s is expected to eq "ping" 231s spawn_by_hash 231s returns arg 231s executor should be global 231s #name 231s is expected to eq "ping" 231s #parent 231s is expected to eq # 231s #path 231s is expected to eq "/ping" 231s #reference 231s is expected to eq # 231s pausing 231s pauses on error and resets 231s pauses on error and resumes 231s pauses on error and restarts 231s envelope 231s is expected to eq # 231s pool 231s supports asks 231s message redirecting 231s is evaluated by child 231s children 231s has children set after a child is created 231s 231s monotonic_time 231s behavior 231s returns a Float when unit = :float_second 231s returns seconds as float 231s returns an Integer when unit = :millisecond 231s returns an Integer when unit = :nanosecond 231s returns an Integer when unit = :microsecond 231s raises ArgumentError on unknown units 231s returns a Float when unit = :float_microsecond 231s returns a Float when unit = :float_millisecond 231s returns an Integer when unit = :second 231s 231s #abort_transaction 231s raises an exception outside an #atomically block 231s 231s Concurrent 231s Throttle 231s capacity limited 231s acquiring 231s #to_s 231s #on 231s 231s Concurrent::Maybe 231s comparison 231s something is less than a bigger value 231s nothing is not greater than nothing 231s something is not equal to nothing 231s something is not equal to a different value 231s something is greater than a smaller value 231s nothing is equal to nothing 231s something is equal to the same value 231s nothing is not less than nothing 231s construction 231s hides Maybe.new 231s Maybe.nothing 231s creates a new Nothing Maybe 231s creates a new error object when given nothing 231s creates a new error object with the given string 231s uses the given Error object 231s Maybe.just 231s creates a new Just Maybe 231s Maybe.from 231s creates a Just Maybe on success 231s passes all arguments to the block 231s sets the reason to the error object on exception 231s creates a Nothing Maybe on exception 231s sets the value to the block result on success 231s raises an exception when no block is given 231s when just 231s #nothing returns NONE 231s #fulfilled? returns true 231s #nothing? returns false 231s #reason returns NONE 231s #rejected? returns false 231s #just? returns true 231s #value returns the value 231s #just returns the value 231s when nothing 231s #nothing returns the raised error 231s #rejected? returns true 231s #just returns NONE 231s #value returns NONE 231s #nothing? returns true 231s #reason returns the raised error 231s #just? returns false 231s #fulfilled? returns false 231s #or 231s returns the other when nothing 231s returns the value when something 231s 231s Concurrent::Options 231s .executor_from_options 231s raises an exception when :executor is an unrecognized symbol 231s returns the global io executor when :executor is :io 231s returns an immediate executor when :executor is :immediate 231s returns the global fast executor when :executor is :fast 231s returns the given :executor 231s 231s Concurrent::RubyExchanger 232s Good: 10000, Bad (timeout): 0, Ugly: 0 232s stress test 232s behaves like exchanger 232s #try_exchange 232s behaves like exchanger method with indefinite timeout 232s blocks indefinitely 232s receives the other value 232s can be reused 232s behaves like exchanger method with finite timeout 232s can be reused 232s receives the other value 232s blocks until timeout 232s behaves like exchanger method cross-thread interactions 232s allows multiple firsts to cancel if necessary 232s when first, waits for a second 232s #exchange 232s behaves like exchanger method with finite timeout 232s blocks until timeout 232s can be reused 232s receives the other value 232s behaves like exchanger method cross-thread interactions 232s allows multiple firsts to cancel if necessary 233s when first, waits for a second 233s behaves like exchanger method with indefinite timeout 233s receives the other value 233s can be reused 233s blocks indefinitely 233s #exchange! 233s behaves like exchanger method with indefinite timeout 233s blocks indefinitely 233s receives the other value 233s can be reused 233s behaves like exchanger method cross-thread interactions 233s allows multiple firsts to cancel if necessary 233s when first, waits for a second 233s behaves like exchanger method with finite timeout 233s blocks until timeout 233s receives the other value 233s can be reused 233s 233s Concurrent::ScheduledTask 233s #initialize 233s raises an exception when no block given 233s sets the initial state to :unscheduled 233s raises an exception when seconds is less than zero 233s accepts a number of seconds (from now) as the schedule time 233s behavior 233s it should behave like obligation 233s #reason 233s is set to error object of the exception when :rejected 233s is nil when :pending 233s is nil when :fulfilled 233s #value 233s is set to the return value of the block when :fulfilled 233s returns nil when timeout reached 233s returns nil when reaching the optional timeout value 234s blocks the caller when :pending and timeout is nil 234s returns immediately when timeout is zero 235s returns the value when fulfilled before timeout 235s is nil when :pending 235s is nil when :rejected 235s #state 235s is :fulfilled when the handler completes 235s is :pending when first created 235s is :rejected when the handler raises an exception 235s it should behave like dereferenceable 235s calls #dup when the :dup_on_deref option is true 235s calls #freeze when the :freeze_on_deref option is true 235s defaults :freeze_on_deref to false 235s defaults :dup_on_deref to false 235s calls the :copy block first followed by #dup followed by #freeze 235s calls the block when the :copy_on_deref option is passed a proc 235s supports dereference flags with observers 235s does not call the #copy_on_deref block when the value is nil 235s does not call #freeze when #freeze_on_deref is set and the value is nil 235s does not call #dup when #dup_on_deref is set and the value is nil 235s defaults :copy_on_deref to nil 235s it should behave like observable 235s first notification 236s does not notify any observers after #delete_observers called 236s calls the appropriate function on all observers which specified a :func 237s calls the proc for all observers added as a block 238s does not notify any observers removed with #delete_observer 238s calls the #update method on all observers without a specified :func 238s #count_observers 238s returns zero after #delete_observers has been called 238s returns a count of registered observers if called before first notification 238s returns zero for a new observable object 238s #add_observer 238s creates an observer from a block if called before first notification 238s raises an exception if not given an observer or a block 238s adds an observer with :func if called before first notification 238s adds an observer if called before first notification 238s raises an exception when given both an observer and a block 238s #delete_observers 238s deletes all observers when called before first notification 238s returns self 238s #delete_observer 238s returns the removed observer if found in the observer set 238s deletes the given observer if called before first notification 238s returns the given observer even when not found in the observer set 238s class #execute 238s passes the block to the new ScheduledTask 238s creates a new ScheduledTask 238s calls #execute on the new ScheduledTask 238s instance #execute 238s returns self 238s sets the sate to :pending 238s does nothing unless the state is :unscheduled 238s execution 238s passes :args from the options to the block 238s uses the :executor from the options 238s uses the :timer_set from the options 238s sets the state to :processing when the task is running 238s observation 238s notifies all observers on rejection 238s notifies all observers on fulfillment 238s returns true for an observer added while :pending 238s returns true for an observer added while :unscheduled 239s returns true for an observer added while :processing 239s #cancel 239s returns true on success 239s returns false if the task has already been performed 239s cancels the task if it has not yet scheduled 239s sets the reason to CancelledOperationError when cancelled 240s cancels the task if it has not yet started 240s returns false if the task is already in progress 240s 240s Concurrent::Synchronization 240s Concurrent::Synchronization::Object 240s does not ensure visibility when not needed 240s does ensure visibility when specified in a parent 240s does ensure visibility once when specified in child again 240s does ensure visibility when specified 240s it should behave like attr_volatile 241s older writes are always visible 241s Concurrent::Synchronization::Volatile module 241s it should behave like attr_volatile 242s older writes are always visible 242s Concurrent::Synchronization::LockableObject 242s final field always visible 242s #synchronize 242s allows only one thread to execute count 242s #wait 243s allows the sleeping thread to be killed 243s releases the lock on the current object 243s can be called from within a #synchronize block 243s puts the current thread to sleep 243s it should behave like attr_volatile 244s older writes are always visible 244s signaling 244s for now pending, tested pretty well by Event (PENDING: Not yet implemented) 244s attr_atomic 244s is expected to be == b 244s 244s Concurrent::Map 244s #key? 244s is unfreezable 244s default_proc is called with the Concurrent::Map and the key after #dup 244s options validation 244s #delete_pair 244s #put_if_absent 245s collision resistance 245s concurrency 245s #values 245s default_proc is called with the Concurrent::Map and the key 245s #get_and_set 245s #size 245s #replace_if_exists 245s initial capacity options validation 245s #get_or_default 245s #each_key 245s #clear 245s retrieval 245s collision resistance with arrays 245s marshal dump does not work with default proc 245s #value? 245s #delete 245s default proc 245s #empty 245s #keys 245s marshal dump load 245s load factor options validation 245s updates dont block reads 245s #each_value 245s #inspect 245s falsy default proc 245s #key 245s #replace_pair 245s #dup,#clone 245s #compute 245s exception 245s common 245s with return 245s #compute_if_present 245s common 245s exception 245s with return 245s #fetch 245s common 245s falsy 245s with return 245s #merge_pair 245s exception 245s common 245s with return 245s #each 245s it should behave like collection_each 245s common 245s allows modification 245s pair iterator 245s when no block is given 245s returns an object which is enumerable 245s returns an enumerator 245s #each_pair 245s it should behave like collection_each 245s common 245s pair iterator 245s allows modification 245s when no block is given 245s returns an enumerator 245s returns an object which is enumerable 245s #compute_if_absent 245s atomicity 245s exception 245s works in default_proc 245s common 245s with return 245s #fetch_or_store 245s falsy 245s common 245s with return 245s 245s Concurrent::Agent 245s nested actions 245s occur in the order they ar post 245s work with immediate execution 245s initialization 245s sets #failed? to false 245s sets the initial error to nil 245s defaults the error mode to :continue when an error handler is given 245s defaults the error mode to :fail when no error handler is given 245s sets the error mode when given a valid value 245s sets the initial value 245s raises an error when given an invalid error mode 245s action processing 245s when validation raises an error the handler will be called 245s upon validation the new value will be set to the block return value 245s the given block will be passed any provided arguments 245s when validation raises an error the value will not change 245s the return value will be passed to the validator function 245s any recursive action dispatches will run after the value has been updated 245s when validation fails the handler will be called 245s when the action raises an error the validator will not be called 245s when the action raises an error the handler will be called 245s when validation returns false the value will not change 245s on success all observers will be notified 245s the given block will be passed the current value 245s when the action raises an error the value will not change 245s posting 245s with #send 245s returns false when #failed? 245s returns true when the job is post 245s posts to the global fast executor 245s does not wait for the action to process 245s with #send_off 245s does not wait for the action to process 245s returns true when the job is post 245s returns false when #failed? 245s posts to the global io executor 245s with #send! 245s returns true when the job is post 245s raises an error when #failed? 245s posts to the global fast executor 245s does not wait for the action to process 245s with #send_off! 245s does not wait for the action to process 245s posts to the global io executor 245s returns true when the job is post 245s raises an error when #failed? 245s with #send_via 245s returns true when the job is post 245s posts to the given executor 245s returns false when #failed? 245s with #<< 245s posts to the global io executor 245s returns self when #failed? 245s returns self when the job is post 245s does not wait for the action to process 245s with #send_via! 245s posts to the given executor 245s raises an error when #failed? 245s returns true when the job is post 245s with #post 245s posts to the global io executor 245s returns true when the job is post 245s does not wait for the action to process 245s returns false when #failed? 245s error handling 245s the agent will be passed to the handler 245s the exception will be passed to the handler 245s does not trigger observation 245s #restart 245s when #failed? 245s raises an error if the new value is not valid 245s does not trigger observation 245s sets #failed? to true 245s clears the error 245s does not clear the action queue when :clear_actions is false 246s resumes action processing if actions are enqueued 246s sets the new value 246s does not clear the action queue when :clear_actions is not given 246s removes all actions from the queue when :clear_actions is true 246s when not #failed? 246s raises an error 246s observable 246s behaves like observable 246s #delete_observer 246s deletes the given observer if called before first notification 246s returns the given observer even when not found in the observer set 246s returns the removed observer if found in the observer set 246s #count_observers 246s returns zero after #delete_observers has been called 246s returns zero for a new observable object 246s returns a count of registered observers if called before first notification 246s first notification 246s calls the appropriate function on all observers which specified a :func 247s does not notify any observers after #delete_observers called 247s calls the proc for all observers added as a block 248s does not notify any observers removed with #delete_observer 248s calls the #update method on all observers without a specified :func 248s #add_observer 248s raises an exception if not given an observer or a block 248s raises an exception when given both an observer and a block 248s adds an observer if called before first notification 248s adds an observer with :func if called before first notification 248s creates an observer from a block if called before first notification 248s #delete_observers 248s deletes all observers when called before first notification 248s returns self 248s waiting 248s with .await_for 248s returns true when all prior actions for all agents have processed 249s returns false on timeout 249s returns true when there are no pending actions 249s with #await_for 249s does not block on actions from other threads 249s returns true when there are no pending actions 250s returns false on timeout 250s returns false if restarted with :clear_actions true (PENDING: the timing is nearly impossible) 251s returns true when all prior actions have processed 251s with #await_for! 251s raises an error if restarted with :clear_actions true (PENDING: the timing is nearly impossible) 251s does not block on actions from other threads 252s raises an error on timeout 252s returns true when there are no pending actions 253s returns true when all prior actions have processed 253s with #await 254s blocks indefinitely 255s returns true when all prior actions have processed 255s returns self when there are no pending actions 255s does not block on actions from other threads 255s blocks forever if restarted with :clear_actions true (PENDING: the timing is nearly impossible) 255s with await_for! 256s raises an exception on timeout 256s returns true when all prior actions for all agents have processed 256s returns true when there are no pending actions 256s with .await 256s returns true when all prior actions on all agents have processed 256s with #wait 257s returns true when all prior actions have processed 258s blocks indefinitely when timeout is nil 258s does not block on actions from other threads 258s returns false when timeout is given and restarted with :clear_actions true (PENDING: the timing is nearly impossible) 258s returns true when there are no pending actions and a timeout is given 259s returns false on timeout 259s blocks forever when timeout is nil and restarted with :clear_actions true (PENDING: the timing is nearly impossible) 259s returns true when there are no pending actions and timeout is nil 259s the await job 259s does not trigger the error mode 259s does not change the value 259s waits for nested actions 259s does not trigger observers 259s validation 259s rejects the new value when the validator returns false 259s sets the error when the error mode is :fail and the validator raises an error 259s sets the error when the error mode is :fail and the validator returns false 259s does not set an error when the error mode is :continue and the validator returns false 259s does not trigger observation when validation fails 259s does not set an error when the error mode is :continue and the validator raises an error 259s sets the new value when the validator returns true 259s rejects the new value when the validator raises an error 259s error mode 259s :continue 259s does not block further action processing 259s does not set an error when the action raises an error 259s sets #failed? to false 259s does not set an error when the validator raises an error 259s does not set an error when the validator returns false 259s :fail 259s blocks all further action processing until a restart 259s sets the error when the validator raises an error 259s sets #failed? to true 259s sets the error when the action raises an error 259s sets the error when the validator returns false 259s 259s Finished in 1 minute 22.18 seconds (files took 0.57533 seconds to load) 259s 1426 examples, 0 failures, 7 pending 259s 259s Randomized with seed 1 259s 259s mv ./.gem2deb.lib lib 259s mv ./.gem2deb.ext ext 260s autopkgtest [21:22:17]: test ruby: -----------------------] 264s autopkgtest [21:22:21]: test ruby: - - - - - - - - - - results - - - - - - - - - - 264s ruby PASS 268s autopkgtest [21:22:25]: test jruby: preparing testbed 291s autopkgtest [21:22:48]: testbed dpkg architecture: armhf 293s autopkgtest [21:22:50]: testbed apt version: 3.1.14 297s autopkgtest [21:22:54]: @@@@@@@@@@@@@@@@@@@@ test bed setup 299s autopkgtest [21:22:56]: testbed release detected to be: resolute 307s autopkgtest [21:23:04]: updating testbed package index (apt update) 309s Get:1 http://ftpmaster.internal/ubuntu resolute-proposed InRelease [124 kB] 309s Get:2 http://ftpmaster.internal/ubuntu resolute InRelease [124 kB] 309s Get:3 http://ftpmaster.internal/ubuntu resolute-updates InRelease [124 kB] 309s Get:4 http://ftpmaster.internal/ubuntu resolute-security InRelease [124 kB] 309s Get:5 http://ftpmaster.internal/ubuntu resolute-proposed/universe Sources [1343 kB] 309s Get:6 http://ftpmaster.internal/ubuntu resolute-proposed/restricted Sources [5260 B] 309s Get:7 http://ftpmaster.internal/ubuntu resolute-proposed/main Sources [242 kB] 309s Get:8 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse Sources [27.9 kB] 309s Get:9 http://ftpmaster.internal/ubuntu resolute-proposed/main armhf Packages [283 kB] 310s Get:10 http://ftpmaster.internal/ubuntu resolute-proposed/universe armhf Packages [1070 kB] 310s Get:11 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse armhf Packages [6336 B] 310s Get:12 http://ftpmaster.internal/ubuntu resolute/universe Sources [21.3 MB] 310s Get:13 http://ftpmaster.internal/ubuntu resolute/multiverse Sources [310 kB] 310s Get:14 http://ftpmaster.internal/ubuntu resolute/main Sources [1400 kB] 310s Get:15 http://ftpmaster.internal/ubuntu resolute/main armhf Packages [1373 kB] 310s Get:16 http://ftpmaster.internal/ubuntu resolute/universe armhf Packages [15.0 MB] 311s Get:17 http://ftpmaster.internal/ubuntu resolute/multiverse armhf Packages [176 kB] 314s Fetched 43.1 MB in 5s (8217 kB/s) 316s Reading package lists... 321s autopkgtest [21:23:18]: upgrading testbed (apt dist-upgrade and autopurge) 322s Reading package lists... 323s Building dependency tree... 323s Reading state information... 323s Calculating upgrade... 324s The following packages will be upgraded: 324s powermgmt-base systemd-hwe-hwdb 324s 2 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 324s Need to get 11.0 kB of archives. 324s After this operation, 1024 B of additional disk space will be used. 324s Get:1 http://ftpmaster.internal/ubuntu resolute/main armhf systemd-hwe-hwdb all 259.0.1 [3152 B] 324s Get:2 http://ftpmaster.internal/ubuntu resolute/main armhf powermgmt-base all 1.38ubuntu2 [7878 B] 324s Fetched 11.0 kB in 0s (45.5 kB/s) 325s (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 ... 68394 files and directories currently installed.) 325s Preparing to unpack .../systemd-hwe-hwdb_259.0.1_all.deb ... 325s Unpacking systemd-hwe-hwdb (259.0.1) over (257.7.1) ... 325s Preparing to unpack .../powermgmt-base_1.38ubuntu2_all.deb ... 325s Unpacking powermgmt-base (1.38ubuntu2) over (1.38ubuntu1) ... 325s Setting up powermgmt-base (1.38ubuntu2) ... 325s Setting up systemd-hwe-hwdb (259.0.1) ... 325s Processing triggers for udev (259-1ubuntu3) ... 326s Processing triggers for man-db (2.13.1-1) ... 329s Reading package lists... 330s Building dependency tree... 330s Reading state information... 330s Solving dependencies... 332s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 334s autopkgtest [21:23:31]: rebooting testbed after setup commands that affected boot 400s Reading package lists... 400s Building dependency tree... 400s Reading state information... 401s Solving dependencies... 401s The following NEW packages will be installed: 401s ca-certificates-java default-jre-headless java-common jruby libasm-java 401s libbackport9-java libbcpkix-java libbcprov-java libbctls-java libbcutil-java 401s libdirgra-java libfixposix4t64 libhawtjni-runtime-java 401s libheadius-options-java libinvokebinder-java libjansi-native-java 401s libjansi1-java libjcodings-java libjffi-java libjffi-jni libjitescript-java 401s libjline2-java libjnr-constants-java libjnr-enxio-java libjnr-ffi-java 401s libjnr-netdb-java libjnr-posix-java libjnr-unixsocket-java 401s libjnr-x86asm-java libjoda-time-java libjpeg-turbo8 libjpeg8 401s libjruby-joni-java libjzlib-java liblcms2-2 libpcsclite1 libruby libruby3.3 401s libsnakeyaml-engine-java openjdk-21-jre-headless rake ruby ruby-concurrent 401s ruby-concurrent-ext ruby-csv ruby-did-you-mean ruby-diff-lcs ruby-net-telnet 401s ruby-rspec ruby-rspec-core ruby-rspec-expectations ruby-rspec-mocks 401s ruby-rspec-support ruby-ruby2-keywords ruby-rubygems ruby-timecop 401s ruby-webrick ruby-xmlrpc ruby3.3 rubygems-integration 401s 0 upgraded, 60 newly installed, 0 to remove and 0 not upgraded. 401s Need to get 84.1 MB of archives. 401s After this operation, 262 MB of additional disk space will be used. 401s Get:1 http://ftpmaster.internal/ubuntu resolute/main armhf ca-certificates-java all 20240118build1 [11.7 kB] 401s Get:2 http://ftpmaster.internal/ubuntu resolute/main armhf java-common all 0.76build1 [6956 B] 401s Get:3 http://ftpmaster.internal/ubuntu resolute/main armhf liblcms2-2 armhf 2.17-1 [139 kB] 402s Get:4 http://ftpmaster.internal/ubuntu resolute/main armhf libjpeg-turbo8 armhf 2.1.5-4ubuntu2 [127 kB] 402s Get:5 http://ftpmaster.internal/ubuntu resolute/main armhf libjpeg8 armhf 8c-2ubuntu11 [2148 B] 402s Get:6 http://ftpmaster.internal/ubuntu resolute/main armhf libpcsclite1 armhf 2.4.1-1 [25.3 kB] 402s Get:7 http://ftpmaster.internal/ubuntu resolute/main armhf openjdk-21-jre-headless armhf 21.0.10+7-1 [39.8 MB] 403s Get:8 http://ftpmaster.internal/ubuntu resolute/main armhf default-jre-headless armhf 2:1.21-76build1 [3268 B] 403s Get:9 http://ftpmaster.internal/ubuntu resolute/universe armhf libasm-java all 9.8-2 [388 kB] 403s Get:10 http://ftpmaster.internal/ubuntu resolute/universe armhf libbackport9-java all 1.10-2build1 [13.2 kB] 403s Get:11 http://ftpmaster.internal/ubuntu resolute/universe armhf libbcprov-java all 1.80-3 [5468 kB] 403s Get:12 http://ftpmaster.internal/ubuntu resolute/universe armhf libbcutil-java all 1.80-3 [545 kB] 403s Get:13 http://ftpmaster.internal/ubuntu resolute/universe armhf libbcpkix-java all 1.80-3 [913 kB] 403s Get:14 http://ftpmaster.internal/ubuntu resolute/universe armhf libbctls-java all 1.80-3 [645 kB] 403s Get:15 http://ftpmaster.internal/ubuntu resolute/universe armhf libdirgra-java all 0.4-2build1 [21.8 kB] 403s Get:16 http://ftpmaster.internal/ubuntu resolute/universe armhf libfixposix4t64 armhf 1:0.5.1-1+nmu1.1build2 [14.4 kB] 403s Get:17 http://ftpmaster.internal/ubuntu resolute/universe armhf libheadius-options-java all 1.7-1build1 [18.3 kB] 403s Get:18 http://ftpmaster.internal/ubuntu resolute/universe armhf libinvokebinder-java all 1.14-1build1 [52.1 kB] 403s Get:19 http://ftpmaster.internal/ubuntu resolute/universe armhf libhawtjni-runtime-java all 1.18-1build1 [28.4 kB] 403s Get:20 http://ftpmaster.internal/ubuntu resolute/universe armhf libjansi-native-java all 1.8-2build1 [23.6 kB] 403s Get:21 http://ftpmaster.internal/ubuntu resolute/universe armhf libjansi1-java all 1.18-3.1build1 [56.3 kB] 404s Get:22 http://ftpmaster.internal/ubuntu resolute/universe armhf libjcodings-java all 1.0.58-1build1 [1474 kB] 404s Get:23 http://ftpmaster.internal/ubuntu resolute/universe armhf libjffi-jni armhf 1.3.13+ds-1build1 [25.1 kB] 404s Get:24 http://ftpmaster.internal/ubuntu resolute/universe armhf libjffi-java all 1.3.13+ds-1build1 [111 kB] 404s Get:25 http://ftpmaster.internal/ubuntu resolute/universe armhf libjitescript-java all 0.4.3-1build1 [24.5 kB] 404s Get:26 http://ftpmaster.internal/ubuntu resolute/universe armhf libjline2-java all 2.14.6-6 [152 kB] 404s Get:27 http://ftpmaster.internal/ubuntu resolute/universe armhf libjnr-constants-java all 0.10.4-2build1 [1416 kB] 404s Get:28 http://ftpmaster.internal/ubuntu resolute/universe armhf libjnr-x86asm-java all 1.0.2-6build1 [216 kB] 404s Get:29 http://ftpmaster.internal/ubuntu resolute/universe armhf libjnr-ffi-java all 2.2.15-2build1 [632 kB] 404s Get:30 http://ftpmaster.internal/ubuntu resolute/universe armhf libjnr-enxio-java all 0.32.16-1build1 [33.8 kB] 404s Get:31 http://ftpmaster.internal/ubuntu resolute/universe armhf libjnr-netdb-java all 1.2.0+dfsg-1build1 [58.7 kB] 404s Get:32 http://ftpmaster.internal/ubuntu resolute/universe armhf libjnr-posix-java all 3.1.18-1build1 [268 kB] 404s Get:33 http://ftpmaster.internal/ubuntu resolute/universe armhf libjnr-unixsocket-java all 0.38.21-3 [46.8 kB] 404s Get:34 http://ftpmaster.internal/ubuntu resolute/universe armhf libjoda-time-java all 2.10.14-1 [535 kB] 404s Get:35 http://ftpmaster.internal/ubuntu resolute/universe armhf libjruby-joni-java all 2.2.1-1build1 [221 kB] 404s Get:36 http://ftpmaster.internal/ubuntu resolute/universe armhf libjzlib-java all 1.1.3-3build1 [76.7 kB] 404s Get:37 http://ftpmaster.internal/ubuntu resolute/universe armhf libsnakeyaml-engine-java all 2.7+ds-3build1 [258 kB] 404s Get:38 http://ftpmaster.internal/ubuntu resolute/universe armhf jruby all 9.4.8.0+ds-3ubuntu1 [23.4 MB] 404s Get:39 http://ftpmaster.internal/ubuntu resolute/main armhf rubygems-integration all 1.19build1 [5666 B] 404s Get:40 http://ftpmaster.internal/ubuntu resolute-proposed/main armhf ruby3.3 armhf 3.3.8-2ubuntu3 [49.0 kB] 404s Get:41 http://ftpmaster.internal/ubuntu resolute/main armhf ruby-rubygems all 3.6.7-2ubuntu1 [332 kB] 404s Get:42 http://ftpmaster.internal/ubuntu resolute/main armhf ruby armhf 1:3.3 [3670 B] 404s Get:43 http://ftpmaster.internal/ubuntu resolute/main armhf rake all 13.2.1-1build1 [45.9 kB] 404s Get:44 http://ftpmaster.internal/ubuntu resolute/main armhf ruby-csv all 3.3.4-1 [43.0 kB] 404s Get:45 http://ftpmaster.internal/ubuntu resolute/main armhf ruby-did-you-mean all 1.6.3-2build1 [14.9 kB] 404s Get:46 http://ftpmaster.internal/ubuntu resolute/main armhf ruby-net-telnet all 0.2.0-1build1 [13.5 kB] 404s Get:47 http://ftpmaster.internal/ubuntu resolute/main armhf ruby-ruby2-keywords all 0.0.5-1build1 [4398 B] 404s Get:48 http://ftpmaster.internal/ubuntu resolute/main armhf ruby-webrick all 1.9.1-1 [60.8 kB] 404s Get:49 http://ftpmaster.internal/ubuntu resolute/main armhf ruby-xmlrpc all 0.3.3-2build1 [24.9 kB] 404s Get:50 http://ftpmaster.internal/ubuntu resolute-proposed/main armhf libruby3.3 armhf 3.3.8-2ubuntu3 [5593 kB] 405s Get:51 http://ftpmaster.internal/ubuntu resolute/main armhf libruby armhf 1:3.3 [5162 B] 405s Get:52 http://ftpmaster.internal/ubuntu resolute/universe armhf ruby-concurrent all 1.3.4-1 [283 kB] 405s Get:53 http://ftpmaster.internal/ubuntu resolute/universe armhf ruby-concurrent-ext armhf 1.3.4-1 [8586 B] 405s Get:54 http://ftpmaster.internal/ubuntu resolute/universe armhf ruby-diff-lcs all 1.5.1-1 [22.8 kB] 405s Get:55 http://ftpmaster.internal/ubuntu resolute/universe armhf ruby-rspec-support all 3.13.0c0e0m0s1-2 [29.2 kB] 405s Get:56 http://ftpmaster.internal/ubuntu resolute/universe armhf ruby-rspec-core all 3.13.0c0e0m0s1-2 [164 kB] 405s Get:57 http://ftpmaster.internal/ubuntu resolute/universe armhf ruby-rspec-expectations all 3.13.0c0e0m0s1-2 [89.8 kB] 405s Get:58 http://ftpmaster.internal/ubuntu resolute/universe armhf ruby-rspec-mocks all 3.13.0c0e0m0s1-2 [81.0 kB] 405s Get:59 http://ftpmaster.internal/ubuntu resolute/universe armhf ruby-rspec all 3.13.0c0e0m0s1-2 [3500 B] 405s Get:60 http://ftpmaster.internal/ubuntu resolute/universe armhf ruby-timecop all 0.9.10-1.1 [11.5 kB] 405s Fetched 84.1 MB in 3s (24.3 MB/s) 405s Selecting previously unselected package ca-certificates-java. 405s (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 ... 68395 files and directories currently installed.) 405s Preparing to unpack .../00-ca-certificates-java_20240118build1_all.deb ... 405s Unpacking ca-certificates-java (20240118build1) ... 405s Selecting previously unselected package java-common. 405s Preparing to unpack .../01-java-common_0.76build1_all.deb ... 405s Unpacking java-common (0.76build1) ... 405s Selecting previously unselected package liblcms2-2:armhf. 405s Preparing to unpack .../02-liblcms2-2_2.17-1_armhf.deb ... 405s Unpacking liblcms2-2:armhf (2.17-1) ... 406s Selecting previously unselected package libjpeg-turbo8:armhf. 406s Preparing to unpack .../03-libjpeg-turbo8_2.1.5-4ubuntu2_armhf.deb ... 406s Unpacking libjpeg-turbo8:armhf (2.1.5-4ubuntu2) ... 406s Selecting previously unselected package libjpeg8:armhf. 406s Preparing to unpack .../04-libjpeg8_8c-2ubuntu11_armhf.deb ... 406s Unpacking libjpeg8:armhf (8c-2ubuntu11) ... 406s Selecting previously unselected package libpcsclite1:armhf. 406s Preparing to unpack .../05-libpcsclite1_2.4.1-1_armhf.deb ... 406s Unpacking libpcsclite1:armhf (2.4.1-1) ... 406s Selecting previously unselected package openjdk-21-jre-headless:armhf. 406s Preparing to unpack .../06-openjdk-21-jre-headless_21.0.10+7-1_armhf.deb ... 406s Unpacking openjdk-21-jre-headless:armhf (21.0.10+7-1) ... 407s Selecting previously unselected package default-jre-headless. 407s Preparing to unpack .../07-default-jre-headless_2%3a1.21-76build1_armhf.deb ... 407s Unpacking default-jre-headless (2:1.21-76build1) ... 407s Selecting previously unselected package libasm-java. 407s Preparing to unpack .../08-libasm-java_9.8-2_all.deb ... 407s Unpacking libasm-java (9.8-2) ... 407s Selecting previously unselected package libbackport9-java. 407s Preparing to unpack .../09-libbackport9-java_1.10-2build1_all.deb ... 407s Unpacking libbackport9-java (1.10-2build1) ... 407s Selecting previously unselected package libbcprov-java. 407s Preparing to unpack .../10-libbcprov-java_1.80-3_all.deb ... 407s Unpacking libbcprov-java (1.80-3) ... 407s Selecting previously unselected package libbcutil-java. 407s Preparing to unpack .../11-libbcutil-java_1.80-3_all.deb ... 407s Unpacking libbcutil-java (1.80-3) ... 407s Selecting previously unselected package libbcpkix-java. 407s Preparing to unpack .../12-libbcpkix-java_1.80-3_all.deb ... 407s Unpacking libbcpkix-java (1.80-3) ... 407s Selecting previously unselected package libbctls-java. 407s Preparing to unpack .../13-libbctls-java_1.80-3_all.deb ... 407s Unpacking libbctls-java (1.80-3) ... 407s Selecting previously unselected package libdirgra-java. 407s Preparing to unpack .../14-libdirgra-java_0.4-2build1_all.deb ... 407s Unpacking libdirgra-java (0.4-2build1) ... 407s Selecting previously unselected package libfixposix4t64:armhf. 407s Preparing to unpack .../15-libfixposix4t64_1%3a0.5.1-1+nmu1.1build2_armhf.deb ... 407s Unpacking libfixposix4t64:armhf (1:0.5.1-1+nmu1.1build2) ... 407s Selecting previously unselected package libheadius-options-java. 407s Preparing to unpack .../16-libheadius-options-java_1.7-1build1_all.deb ... 407s Unpacking libheadius-options-java (1.7-1build1) ... 408s Selecting previously unselected package libinvokebinder-java. 408s Preparing to unpack .../17-libinvokebinder-java_1.14-1build1_all.deb ... 408s Unpacking libinvokebinder-java (1.14-1build1) ... 408s Selecting previously unselected package libhawtjni-runtime-java. 408s Preparing to unpack .../18-libhawtjni-runtime-java_1.18-1build1_all.deb ... 408s Unpacking libhawtjni-runtime-java (1.18-1build1) ... 408s Selecting previously unselected package libjansi-native-java. 408s Preparing to unpack .../19-libjansi-native-java_1.8-2build1_all.deb ... 408s Unpacking libjansi-native-java (1.8-2build1) ... 408s Selecting previously unselected package libjansi1-java. 408s Preparing to unpack .../20-libjansi1-java_1.18-3.1build1_all.deb ... 408s Unpacking libjansi1-java (1.18-3.1build1) ... 408s Selecting previously unselected package libjcodings-java. 408s Preparing to unpack .../21-libjcodings-java_1.0.58-1build1_all.deb ... 408s Unpacking libjcodings-java (1.0.58-1build1) ... 408s Selecting previously unselected package libjffi-jni:armhf. 408s Preparing to unpack .../22-libjffi-jni_1.3.13+ds-1build1_armhf.deb ... 408s Unpacking libjffi-jni:armhf (1.3.13+ds-1build1) ... 408s Selecting previously unselected package libjffi-java. 408s Preparing to unpack .../23-libjffi-java_1.3.13+ds-1build1_all.deb ... 408s Unpacking libjffi-java (1.3.13+ds-1build1) ... 408s Selecting previously unselected package libjitescript-java. 408s Preparing to unpack .../24-libjitescript-java_0.4.3-1build1_all.deb ... 408s Unpacking libjitescript-java (0.4.3-1build1) ... 408s Selecting previously unselected package libjline2-java. 408s Preparing to unpack .../25-libjline2-java_2.14.6-6_all.deb ... 408s Unpacking libjline2-java (2.14.6-6) ... 408s Selecting previously unselected package libjnr-constants-java. 408s Preparing to unpack .../26-libjnr-constants-java_0.10.4-2build1_all.deb ... 408s Unpacking libjnr-constants-java (0.10.4-2build1) ... 408s Selecting previously unselected package libjnr-x86asm-java. 408s Preparing to unpack .../27-libjnr-x86asm-java_1.0.2-6build1_all.deb ... 408s Unpacking libjnr-x86asm-java (1.0.2-6build1) ... 408s Selecting previously unselected package libjnr-ffi-java. 408s Preparing to unpack .../28-libjnr-ffi-java_2.2.15-2build1_all.deb ... 408s Unpacking libjnr-ffi-java (2.2.15-2build1) ... 408s Selecting previously unselected package libjnr-enxio-java. 408s Preparing to unpack .../29-libjnr-enxio-java_0.32.16-1build1_all.deb ... 408s Unpacking libjnr-enxio-java (0.32.16-1build1) ... 408s Selecting previously unselected package libjnr-netdb-java. 408s Preparing to unpack .../30-libjnr-netdb-java_1.2.0+dfsg-1build1_all.deb ... 408s Unpacking libjnr-netdb-java (1.2.0+dfsg-1build1) ... 408s Selecting previously unselected package libjnr-posix-java. 408s Preparing to unpack .../31-libjnr-posix-java_3.1.18-1build1_all.deb ... 408s Unpacking libjnr-posix-java (3.1.18-1build1) ... 408s Selecting previously unselected package libjnr-unixsocket-java. 408s Preparing to unpack .../32-libjnr-unixsocket-java_0.38.21-3_all.deb ... 408s Unpacking libjnr-unixsocket-java (0.38.21-3) ... 408s Selecting previously unselected package libjoda-time-java. 408s Preparing to unpack .../33-libjoda-time-java_2.10.14-1_all.deb ... 408s Unpacking libjoda-time-java (2.10.14-1) ... 408s Selecting previously unselected package libjruby-joni-java. 409s Preparing to unpack .../34-libjruby-joni-java_2.2.1-1build1_all.deb ... 409s Unpacking libjruby-joni-java (2.2.1-1build1) ... 409s Selecting previously unselected package libjzlib-java. 409s Preparing to unpack .../35-libjzlib-java_1.1.3-3build1_all.deb ... 409s Unpacking libjzlib-java (1.1.3-3build1) ... 409s Selecting previously unselected package libsnakeyaml-engine-java. 409s Preparing to unpack .../36-libsnakeyaml-engine-java_2.7+ds-3build1_all.deb ... 409s Unpacking libsnakeyaml-engine-java (2.7+ds-3build1) ... 409s Selecting previously unselected package jruby. 409s Preparing to unpack .../37-jruby_9.4.8.0+ds-3ubuntu1_all.deb ... 409s Unpacking jruby (9.4.8.0+ds-3ubuntu1) ... 409s Selecting previously unselected package rubygems-integration. 409s Preparing to unpack .../38-rubygems-integration_1.19build1_all.deb ... 409s Unpacking rubygems-integration (1.19build1) ... 409s Selecting previously unselected package ruby3.3. 409s Preparing to unpack .../39-ruby3.3_3.3.8-2ubuntu3_armhf.deb ... 409s Unpacking ruby3.3 (3.3.8-2ubuntu3) ... 409s Selecting previously unselected package ruby-rubygems. 409s Preparing to unpack .../40-ruby-rubygems_3.6.7-2ubuntu1_all.deb ... 409s Unpacking ruby-rubygems (3.6.7-2ubuntu1) ... 409s Selecting previously unselected package ruby. 409s Preparing to unpack .../41-ruby_1%3a3.3_armhf.deb ... 409s Unpacking ruby (1:3.3) ... 409s Selecting previously unselected package rake. 409s Preparing to unpack .../42-rake_13.2.1-1build1_all.deb ... 409s Unpacking rake (13.2.1-1build1) ... 409s Selecting previously unselected package ruby-csv. 409s Preparing to unpack .../43-ruby-csv_3.3.4-1_all.deb ... 409s Unpacking ruby-csv (3.3.4-1) ... 409s Selecting previously unselected package ruby-did-you-mean. 409s Preparing to unpack .../44-ruby-did-you-mean_1.6.3-2build1_all.deb ... 409s Unpacking ruby-did-you-mean (1.6.3-2build1) ... 409s Selecting previously unselected package ruby-net-telnet. 409s Preparing to unpack .../45-ruby-net-telnet_0.2.0-1build1_all.deb ... 409s Unpacking ruby-net-telnet (0.2.0-1build1) ... 410s Selecting previously unselected package ruby-ruby2-keywords. 410s Preparing to unpack .../46-ruby-ruby2-keywords_0.0.5-1build1_all.deb ... 410s Unpacking ruby-ruby2-keywords (0.0.5-1build1) ... 410s Selecting previously unselected package ruby-webrick. 410s Preparing to unpack .../47-ruby-webrick_1.9.1-1_all.deb ... 410s Unpacking ruby-webrick (1.9.1-1) ... 410s Selecting previously unselected package ruby-xmlrpc. 410s Preparing to unpack .../48-ruby-xmlrpc_0.3.3-2build1_all.deb ... 410s Unpacking ruby-xmlrpc (0.3.3-2build1) ... 410s Selecting previously unselected package libruby3.3:armhf. 410s Preparing to unpack .../49-libruby3.3_3.3.8-2ubuntu3_armhf.deb ... 410s Unpacking libruby3.3:armhf (3.3.8-2ubuntu3) ... 410s Selecting previously unselected package libruby:armhf. 410s Preparing to unpack .../50-libruby_1%3a3.3_armhf.deb ... 410s Unpacking libruby:armhf (1:3.3) ... 410s Selecting previously unselected package ruby-concurrent. 410s Preparing to unpack .../51-ruby-concurrent_1.3.4-1_all.deb ... 410s Unpacking ruby-concurrent (1.3.4-1) ... 410s Selecting previously unselected package ruby-concurrent-ext. 410s Preparing to unpack .../52-ruby-concurrent-ext_1.3.4-1_armhf.deb ... 410s Unpacking ruby-concurrent-ext (1.3.4-1) ... 410s Selecting previously unselected package ruby-diff-lcs. 410s Preparing to unpack .../53-ruby-diff-lcs_1.5.1-1_all.deb ... 410s Unpacking ruby-diff-lcs (1.5.1-1) ... 411s Selecting previously unselected package ruby-rspec-support. 411s Preparing to unpack .../54-ruby-rspec-support_3.13.0c0e0m0s1-2_all.deb ... 411s Unpacking ruby-rspec-support (3.13.0c0e0m0s1-2) ... 411s Selecting previously unselected package ruby-rspec-core. 411s Preparing to unpack .../55-ruby-rspec-core_3.13.0c0e0m0s1-2_all.deb ... 411s Unpacking ruby-rspec-core (3.13.0c0e0m0s1-2) ... 411s Selecting previously unselected package ruby-rspec-expectations. 411s Preparing to unpack .../56-ruby-rspec-expectations_3.13.0c0e0m0s1-2_all.deb ... 411s Unpacking ruby-rspec-expectations (3.13.0c0e0m0s1-2) ... 411s Selecting previously unselected package ruby-rspec-mocks. 411s Preparing to unpack .../57-ruby-rspec-mocks_3.13.0c0e0m0s1-2_all.deb ... 411s Unpacking ruby-rspec-mocks (3.13.0c0e0m0s1-2) ... 411s Selecting previously unselected package ruby-rspec. 411s Preparing to unpack .../58-ruby-rspec_3.13.0c0e0m0s1-2_all.deb ... 411s Unpacking ruby-rspec (3.13.0c0e0m0s1-2) ... 411s Selecting previously unselected package ruby-timecop. 411s Preparing to unpack .../59-ruby-timecop_0.9.10-1.1_all.deb ... 411s Unpacking ruby-timecop (0.9.10-1.1) ... 411s Setting up libbcprov-java (1.80-3) ... 411s Setting up liblcms2-2:armhf (2.17-1) ... 411s Setting up libfixposix4t64:armhf (1:0.5.1-1+nmu1.1build2) ... 411s Setting up ruby-ruby2-keywords (0.0.5-1build1) ... 411s Setting up java-common (0.76build1) ... 411s Setting up libbcutil-java (1.80-3) ... 411s Setting up libasm-java (9.8-2) ... 411s Setting up rubygems-integration (1.19build1) ... 411s Setting up libheadius-options-java (1.7-1build1) ... 411s Setting up libbctls-java (1.80-3) ... 411s Setting up ruby-concurrent (1.3.4-1) ... 411s Setting up libjnr-x86asm-java (1.0.2-6build1) ... 411s Setting up ruby-timecop (0.9.10-1.1) ... 411s Setting up libjzlib-java (1.1.3-3build1) ... 411s Setting up libbackport9-java (1.10-2build1) ... 411s Setting up libjitescript-java (0.4.3-1build1) ... 411s Setting up libsnakeyaml-engine-java (2.7+ds-3build1) ... 411s Setting up ruby-net-telnet (0.2.0-1build1) ... 411s Setting up ruby-csv (3.3.4-1) ... 411s Setting up libpcsclite1:armhf (2.4.1-1) ... 411s Setting up libjpeg-turbo8:armhf (2.1.5-4ubuntu2) ... 411s Setting up ruby-rspec-support (3.13.0c0e0m0s1-2) ... 411s Setting up libjoda-time-java (2.10.14-1) ... 411s Setting up libjcodings-java (1.0.58-1build1) ... 411s Setting up ruby-webrick (1.9.1-1) ... 411s Setting up libinvokebinder-java (1.14-1build1) ... 411s Setting up libjffi-jni:armhf (1.3.13+ds-1build1) ... 411s Setting up ca-certificates-java (20240118build1) ... 411s No JRE found. Skipping Java certificates setup. 411s Setting up ruby-did-you-mean (1.6.3-2build1) ... 411s Setting up libbcpkix-java (1.80-3) ... 411s Setting up ruby-xmlrpc (0.3.3-2build1) ... 411s Setting up libhawtjni-runtime-java (1.18-1build1) ... 411s Setting up libdirgra-java (0.4-2build1) ... 411s Setting up libjnr-constants-java (0.10.4-2build1) ... 411s Setting up libjpeg8:armhf (8c-2ubuntu11) ... 411s Setting up libjffi-java (1.3.13+ds-1build1) ... 411s Setting up openjdk-21-jre-headless:armhf (21.0.10+7-1) ... 411s update-alternatives: using /usr/lib/jvm/java-21-openjdk-armhf/bin/java to provide /usr/bin/java (java) in auto mode 411s update-alternatives: using /usr/lib/jvm/java-21-openjdk-armhf/bin/jpackage to provide /usr/bin/jpackage (jpackage) in auto mode 411s update-alternatives: using /usr/lib/jvm/java-21-openjdk-armhf/bin/keytool to provide /usr/bin/keytool (keytool) in auto mode 411s update-alternatives: using /usr/lib/jvm/java-21-openjdk-armhf/bin/rmiregistry to provide /usr/bin/rmiregistry (rmiregistry) in auto mode 411s update-alternatives: using /usr/lib/jvm/java-21-openjdk-armhf/lib/jexec to provide /usr/bin/jexec (jexec) in auto mode 411s Setting up libjruby-joni-java (2.2.1-1build1) ... 411s Setting up libjansi-native-java (1.8-2build1) ... 411s Setting up libjansi1-java (1.18-3.1build1) ... 411s Setting up libjline2-java (2.14.6-6) ... 411s Setting up libjnr-ffi-java (2.2.15-2build1) ... 411s Setting up libjnr-enxio-java (0.32.16-1build1) ... 411s Setting up libjnr-netdb-java (1.2.0+dfsg-1build1) ... 411s Setting up libjnr-posix-java (3.1.18-1build1) ... 411s Setting up libjnr-unixsocket-java (0.38.21-3) ... 411s Setting up rake (13.2.1-1build1) ... 411s Setting up libruby3.3:armhf (3.3.8-2ubuntu3) ... 411s Setting up ruby3.3 (3.3.8-2ubuntu3) ... 411s Setting up libruby:armhf (1:3.3) ... 411s Setting up ruby (1:3.3) ... 411s Setting up ruby-rspec-core (3.13.0c0e0m0s1-2) ... 411s Setting up ruby-diff-lcs (1.5.1-1) ... 411s Setting up ruby-rubygems (3.6.7-2ubuntu1) ... 411s Setting up ruby-concurrent-ext (1.3.4-1) ... 411s Setting up ruby-rspec-expectations (3.13.0c0e0m0s1-2) ... 411s Setting up ruby-rspec-mocks (3.13.0c0e0m0s1-2) ... 411s Setting up ruby-rspec (3.13.0c0e0m0s1-2) ... 411s Processing triggers for libc-bin (2.42-2ubuntu4) ... 411s Processing triggers for man-db (2.13.1-1) ... 412s Processing triggers for ca-certificates-java (20240118build1) ... 413s Adding debian:ACCVRAIZ1.pem 413s Adding debian:AC_RAIZ_FNMT-RCM.pem 413s Adding debian:AC_RAIZ_FNMT-RCM_SERVIDORES_SEGUROS.pem 413s Adding debian:ANF_Secure_Server_Root_CA.pem 413s Adding debian:Actalis_Authentication_Root_CA.pem 413s Adding debian:AffirmTrust_Commercial.pem 413s Adding debian:AffirmTrust_Networking.pem 413s Adding debian:AffirmTrust_Premium.pem 413s Adding debian:AffirmTrust_Premium_ECC.pem 413s Adding debian:Amazon_Root_CA_1.pem 413s Adding debian:Amazon_Root_CA_2.pem 413s Adding debian:Amazon_Root_CA_3.pem 413s Adding debian:Amazon_Root_CA_4.pem 413s Adding debian:Atos_TrustedRoot_2011.pem 413s Adding debian:Atos_TrustedRoot_Root_CA_ECC_TLS_2021.pem 413s Adding debian:Atos_TrustedRoot_Root_CA_RSA_TLS_2021.pem 413s Adding debian:Autoridad_de_Certificacion_Firmaprofesional_CIF_A62634068.pem 413s Adding debian:BJCA_Global_Root_CA1.pem 413s Adding debian:BJCA_Global_Root_CA2.pem 413s Adding debian:Baltimore_CyberTrust_Root.pem 413s Adding debian:Buypass_Class_2_Root_CA.pem 413s Adding debian:Buypass_Class_3_Root_CA.pem 413s Adding debian:CA_Disig_Root_R2.pem 413s Adding debian:CFCA_EV_ROOT.pem 413s Adding debian:COMODO_Certification_Authority.pem 413s Adding debian:COMODO_ECC_Certification_Authority.pem 413s Adding debian:COMODO_RSA_Certification_Authority.pem 413s Adding debian:Certainly_Root_E1.pem 413s Adding debian:Certainly_Root_R1.pem 413s Adding debian:Certigna.pem 413s Adding debian:Certigna_Root_CA.pem 413s Adding debian:Certum_EC-384_CA.pem 413s Adding debian:Certum_Trusted_Network_CA.pem 413s Adding debian:Certum_Trusted_Network_CA_2.pem 413s Adding debian:Certum_Trusted_Root_CA.pem 413s Adding debian:CommScope_Public_Trust_ECC_Root-01.pem 413s Adding debian:CommScope_Public_Trust_ECC_Root-02.pem 413s Adding debian:CommScope_Public_Trust_RSA_Root-01.pem 413s Adding debian:CommScope_Public_Trust_RSA_Root-02.pem 413s Adding debian:Comodo_AAA_Services_root.pem 413s Adding debian:D-TRUST_BR_Root_CA_1_2020.pem 413s Adding debian:D-TRUST_BR_Root_CA_2_2023.pem 413s Adding debian:D-TRUST_EV_Root_CA_1_2020.pem 413s Adding debian:D-TRUST_EV_Root_CA_2_2023.pem 413s Adding debian:D-TRUST_Root_Class_3_CA_2_2009.pem 413s Adding debian:D-TRUST_Root_Class_3_CA_2_EV_2009.pem 413s Adding debian:DigiCert_Assured_ID_Root_CA.pem 413s Adding debian:DigiCert_Assured_ID_Root_G2.pem 413s Adding debian:DigiCert_Assured_ID_Root_G3.pem 413s Adding debian:DigiCert_Global_Root_CA.pem 413s Adding debian:DigiCert_Global_Root_G2.pem 413s Adding debian:DigiCert_Global_Root_G3.pem 413s Adding debian:DigiCert_High_Assurance_EV_Root_CA.pem 413s Adding debian:DigiCert_TLS_ECC_P384_Root_G5.pem 413s Adding debian:DigiCert_TLS_RSA4096_Root_G5.pem 413s Adding debian:DigiCert_Trusted_Root_G4.pem 413s Adding debian:Entrust.net_Premium_2048_Secure_Server_CA.pem 413s Adding debian:Entrust_Root_Certification_Authority.pem 413s Adding debian:Entrust_Root_Certification_Authority_-_EC1.pem 413s Adding debian:Entrust_Root_Certification_Authority_-_G2.pem 413s Adding debian:FIRMAPROFESIONAL_CA_ROOT-A_WEB.pem 413s Adding debian:GDCA_TrustAUTH_R5_ROOT.pem 413s Adding debian:GLOBALTRUST_2020.pem 413s Adding debian:GTS_Root_R1.pem 413s Adding debian:GTS_Root_R2.pem 413s Adding debian:GTS_Root_R3.pem 413s Adding debian:GTS_Root_R4.pem 413s Adding debian:GlobalSign_ECC_Root_CA_-_R4.pem 413s Adding debian:GlobalSign_ECC_Root_CA_-_R5.pem 413s Adding debian:GlobalSign_Root_CA.pem 413s Adding debian:GlobalSign_Root_CA_-_R3.pem 413s Adding debian:GlobalSign_Root_CA_-_R6.pem 413s Adding debian:GlobalSign_Root_E46.pem 413s Adding debian:GlobalSign_Root_R46.pem 413s Adding debian:Go_Daddy_Class_2_CA.pem 413s Adding debian:Go_Daddy_Root_Certificate_Authority_-_G2.pem 413s Adding debian:HARICA_TLS_ECC_Root_CA_2021.pem 413s Adding debian:HARICA_TLS_RSA_Root_CA_2021.pem 413s Adding debian:Hellenic_Academic_and_Research_Institutions_ECC_RootCA_2015.pem 413s Adding debian:Hellenic_Academic_and_Research_Institutions_RootCA_2015.pem 413s Adding debian:HiPKI_Root_CA_-_G1.pem 413s Adding debian:Hongkong_Post_Root_CA_3.pem 413s Adding debian:ISRG_Root_X1.pem 413s Adding debian:ISRG_Root_X2.pem 413s Adding debian:IdenTrust_Commercial_Root_CA_1.pem 413s Adding debian:IdenTrust_Public_Sector_Root_CA_1.pem 413s Adding debian:Izenpe.com.pem 413s Adding debian:Microsec_e-Szigno_Root_CA_2009.pem 413s Adding debian:Microsoft_ECC_Root_Certificate_Authority_2017.pem 413s Adding debian:Microsoft_RSA_Root_Certificate_Authority_2017.pem 413s Adding debian:NAVER_Global_Root_Certification_Authority.pem 413s Adding debian:NetLock_Arany_=Class_Gold=_Főtanúsítvány.pem 413s Adding debian:OISTE_WISeKey_Global_Root_GB_CA.pem 413s Adding debian:OISTE_WISeKey_Global_Root_GC_CA.pem 413s Adding debian:QuoVadis_Root_CA_1_G3.pem 413s Adding debian:QuoVadis_Root_CA_2.pem 413s Adding debian:QuoVadis_Root_CA_2_G3.pem 413s Adding debian:QuoVadis_Root_CA_3.pem 413s Adding debian:QuoVadis_Root_CA_3_G3.pem 413s Adding debian:SSL.com_EV_Root_Certification_Authority_ECC.pem 413s Adding debian:SSL.com_EV_Root_Certification_Authority_RSA_R2.pem 413s Adding debian:SSL.com_Root_Certification_Authority_ECC.pem 413s Adding debian:SSL.com_Root_Certification_Authority_RSA.pem 413s Adding debian:SSL.com_TLS_ECC_Root_CA_2022.pem 413s Adding debian:SSL.com_TLS_RSA_Root_CA_2022.pem 413s Adding debian:SZAFIR_ROOT_CA2.pem 413s Adding debian:Sectigo_Public_Server_Authentication_Root_E46.pem 413s Adding debian:Sectigo_Public_Server_Authentication_Root_R46.pem 413s Adding debian:SecureSign_Root_CA12.pem 413s Adding debian:SecureSign_Root_CA14.pem 413s Adding debian:SecureSign_Root_CA15.pem 413s Adding debian:SecureTrust_CA.pem 413s Adding debian:Secure_Global_CA.pem 413s Adding debian:Security_Communication_ECC_RootCA1.pem 413s Adding debian:Security_Communication_RootCA2.pem 413s Adding debian:Starfield_Class_2_CA.pem 413s Adding debian:Starfield_Root_Certificate_Authority_-_G2.pem 413s Adding debian:Starfield_Services_Root_Certificate_Authority_-_G2.pem 413s Adding debian:SwissSign_Gold_CA_-_G2.pem 413s Adding debian:T-TeleSec_GlobalRoot_Class_2.pem 413s Adding debian:T-TeleSec_GlobalRoot_Class_3.pem 413s Adding debian:TUBITAK_Kamu_SM_SSL_Kok_Sertifikasi_-_Surum_1.pem 413s Adding debian:TWCA_CYBER_Root_CA.pem 413s Adding debian:TWCA_Global_Root_CA.pem 413s Adding debian:TWCA_Root_Certification_Authority.pem 413s Adding debian:Telekom_Security_TLS_ECC_Root_2020.pem 413s Adding debian:Telekom_Security_TLS_RSA_Root_2023.pem 413s Adding debian:TeliaSonera_Root_CA_v1.pem 413s Adding debian:Telia_Root_CA_v2.pem 413s Adding debian:TrustAsia_Global_Root_CA_G3.pem 413s Adding debian:TrustAsia_Global_Root_CA_G4.pem 413s Adding debian:Trustwave_Global_Certification_Authority.pem 413s Adding debian:Trustwave_Global_ECC_P256_Certification_Authority.pem 413s Adding debian:Trustwave_Global_ECC_P384_Certification_Authority.pem 413s Adding debian:TunTrust_Root_CA.pem 413s Adding debian:UCA_Extended_Validation_Root.pem 413s Adding debian:UCA_Global_G2_Root.pem 413s Adding debian:USERTrust_ECC_Certification_Authority.pem 413s Adding debian:USERTrust_RSA_Certification_Authority.pem 413s Adding debian:XRamp_Global_CA_Root.pem 413s Adding debian:certSIGN_ROOT_CA.pem 413s Adding debian:certSIGN_Root_CA_G2.pem 413s Adding debian:e-Szigno_Root_CA_2017.pem 413s Adding debian:ePKI_Root_Certification_Authority.pem 413s Adding debian:emSign_ECC_Root_CA_-_C3.pem 413s Adding debian:emSign_ECC_Root_CA_-_G3.pem 413s Adding debian:emSign_Root_CA_-_C1.pem 413s Adding debian:emSign_Root_CA_-_G1.pem 413s Adding debian:vTrus_ECC_Root_CA.pem 413s Adding debian:vTrus_Root_CA.pem 414s done. 414s Setting up default-jre-headless (2:1.21-76build1) ... 414s Setting up jruby (9.4.8.0+ds-3ubuntu1) ... 437s autopkgtest [21:25:14]: test jruby: [----------------------- 439s installing concurrent-ruby-1.3.4 gem into temporary GEM_HOME for jruby ... 439s installing concurrent-ruby-edge-0.7.1 gem into temporary GEM_HOME for jruby ... 439s installing diff-lcs-1.5.1 gem into temporary GEM_HOME for jruby ... 439s installing rspec-core-3.13.0 gem into temporary GEM_HOME for jruby ... 439s installing rspec-expectations-3.13.0 gem into temporary GEM_HOME for jruby ... 439s installing rspec-mocks-3.13.0 gem into temporary GEM_HOME for jruby ... 439s installing rspec-support-3.13.1 gem into temporary GEM_HOME for jruby ... 439s installing timecop-0.9.10 gem into temporary GEM_HOME for jruby ... 445s /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85: warning: loading in progress, circular require considered harmful - /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/options.rb require at org/jruby/RubyKernel.java:1184 445s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 445s at /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/options.rb:6 445s
at /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/options.rb:3 445s require at org/jruby/RubyKernel.java:1184 445s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 445s
at /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/scheduled_task.rb:8 445s require at org/jruby/RubyKernel.java:1184 445s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 445s
at /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/executor/timer_set.rb:1 445s require at org/jruby/RubyKernel.java:1184 445s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 445s
at /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/executors.rb:20 445s require at org/jruby/RubyKernel.java:1184 445s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 445s
at /usr/share/rubygems-integration/all/gems/concurrent-ruby-edge-0.7.1/lib/concurrent-ruby-edge/concurrent/actor/core.rb:4 445s require at org/jruby/RubyKernel.java:1184 445s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 445s at /usr/share/rubygems-integration/all/gems/concurrent-ruby-edge-0.7.1/lib/concurrent-ruby-edge/concurrent/actor.rb:25 445s at /usr/share/rubygems-integration/all/gems/concurrent-ruby-edge-0.7.1/lib/concurrent-ruby-edge/concurrent/actor.rb:17 445s
at /usr/share/rubygems-integration/all/gems/concurrent-ruby-edge-0.7.1/lib/concurrent-ruby-edge/concurrent/actor.rb:7 445s require at org/jruby/RubyKernel.java:1184 445s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:160 445s
at /tmp/autopkgtest.mNG2Ba/build.zLC/src/spec/concurrent/actor_spec.rb:1 445s load at org/jruby/RubyKernel.java:1220 445s load_file_handling_errors at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:2138 445s load_spec_files at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:1638 445s each at org/jruby/RubyArray.java:1981 445s load_spec_files at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:1636 445s setup at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:102 445s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:86 445s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:71 445s invoke at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:45 445s
at /usr/bin/rspec:4 445s 445s /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85: warning: loading in progress, circular require considered harmful - /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/executor/timer_set.rb require at org/jruby/RubyKernel.java:1184 445s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 445s at /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/executor/timer_set.rb:19 445s
at /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/executor/timer_set.rb:9 445s require at org/jruby/RubyKernel.java:1184 445s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 445s
at /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/executors.rb:20 445s require at org/jruby/RubyKernel.java:1184 445s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 445s
at /usr/share/rubygems-integration/all/gems/concurrent-ruby-edge-0.7.1/lib/concurrent-ruby-edge/concurrent/actor/core.rb:4 445s require at org/jruby/RubyKernel.java:1184 445s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 445s at /usr/share/rubygems-integration/all/gems/concurrent-ruby-edge-0.7.1/lib/concurrent-ruby-edge/concurrent/actor.rb:25 445s at /usr/share/rubygems-integration/all/gems/concurrent-ruby-edge-0.7.1/lib/concurrent-ruby-edge/concurrent/actor.rb:17 445s
at /usr/share/rubygems-integration/all/gems/concurrent-ruby-edge-0.7.1/lib/concurrent-ruby-edge/concurrent/actor.rb:7 445s require at org/jruby/RubyKernel.java:1184 445s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:160 445s
at /tmp/autopkgtest.mNG2Ba/build.zLC/src/spec/concurrent/actor_spec.rb:1 445s load at org/jruby/RubyKernel.java:1220 445s load_file_handling_errors at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:2138 445s load_spec_files at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:1638 445s each at org/jruby/RubyArray.java:1981 445s load_spec_files at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:1636 445s setup at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:102 445s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:86 445s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:71 445s invoke at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:45 445s
at /usr/bin/rspec:4 445s 450s /usr/share/jruby/lib/ruby/stdlib/date.rb:471: warning: previous definition of strptime was here 450s /usr/share/jruby/lib/ruby/stdlib/date.rb:490: warning: previous definition of parse was here 450s /usr/share/jruby/lib/ruby/stdlib/date.rb:737: warning: previous definition of parse was here 452s Run options: exclude {:stress=>true} 452s 452s Concurrent::Actor 452s /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 452s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 452s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:30 452s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:3 452s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:2 452s
at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:1 452s require at org/jruby/RubyKernel.java:1184 452s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 452s be_truthy at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers.rb:311 452s
at /tmp/autopkgtest.mNG2Ba/build.zLC/src/spec/spec_helper.rb:50 452s instance_exec at org/jruby/RubyBasicObject.java:2620 452s instance_exec at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:457 452s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:365 452s run_owned_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:529 452s each at org/jruby/RubyArray.java:1981 452s run_owned_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:528 452s run_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:615 452s reverse_each at org/jruby/RubyArray.java:2063 452s run_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:614 452s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:484 452s run_before_example at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:505 452s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:261 452s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 452s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 452s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 452s run_around_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:624 452s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 452s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 452s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 452s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:259 452s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:646 452s map at org/jruby/RubyArray.java:2803 452s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:651 452s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:607 452s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121 452s map at org/jruby/RubyArray.java:2803 452s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121 452s with_suite_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:2091 452s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:116 452s report at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/reporter.rb:74 452s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:115 452s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:89 452s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:71 452s invoke at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:45 452s
at /usr/bin/rspec:4 452s 452s /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 452s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 452s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:53 452s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:3 452s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:2 452s
at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:1 452s require at org/jruby/RubyKernel.java:1184 452s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 452s be_truthy at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers.rb:311 452s
at /tmp/autopkgtest.mNG2Ba/build.zLC/src/spec/spec_helper.rb:50 452s instance_exec at org/jruby/RubyBasicObject.java:2620 452s instance_exec at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:457 452s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:365 452s run_owned_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:529 452s each at org/jruby/RubyArray.java:1981 452s run_owned_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:528 452s run_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:615 452s reverse_each at org/jruby/RubyArray.java:2063 452s run_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:614 452s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:484 452s run_before_example at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:505 452s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:261 452s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 452s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 452s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 452s run_around_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:624 452s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 452s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 452s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 452s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:259 452s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:646 452s map at org/jruby/RubyArray.java:2803 452s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:651 452s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:607 452s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121 452s map at org/jruby/RubyArray.java:2803 452s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121 452s with_suite_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:2091 452s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:116 452s report at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/reporter.rb:74 452s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:115 452s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:89 452s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:71 452s invoke at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:45 452s
at /usr/bin/rspec:4 452s 452s forbids Immediate executor 452s /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 452s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 452s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:74 452s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:3 452s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:2 452s
at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:1 452s require at org/jruby/RubyKernel.java:1184 452s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 452s be_truthy at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers.rb:311 452s
at /tmp/autopkgtest.mNG2Ba/build.zLC/src/spec/spec_helper.rb:50 452s instance_exec at org/jruby/RubyBasicObject.java:2620 452s instance_exec at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:457 452s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:365 452s run_owned_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:529 452s each at org/jruby/RubyArray.java:1981 452s run_owned_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:528 452s run_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:615 452s reverse_each at org/jruby/RubyArray.java:2063 452s run_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:614 452s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:484 452s run_before_example at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:505 452s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:261 452s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 452s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 452s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 452s run_around_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:624 452s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 452s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 452s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 452s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:259 452s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:646 452s map at org/jruby/RubyArray.java:2803 452s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:651 452s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:607 452s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121 452s map at org/jruby/RubyArray.java:2803 452s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121 452s with_suite_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:2091 452s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:116 452s report at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/reporter.rb:74 452s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:115 452s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:89 452s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:71 452s invoke at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:45 452s
at /usr/bin/rspec:4 452s 452s /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 452s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 452s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:101 452s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:3 452s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:2 452s
at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:1 452s require at org/jruby/RubyKernel.java:1184 452s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 452s be_truthy at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers.rb:311 452s
at /tmp/autopkgtest.mNG2Ba/build.zLC/src/spec/spec_helper.rb:50 452s instance_exec at org/jruby/RubyBasicObject.java:2620 452s instance_exec at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:457 452s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:365 452s run_owned_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:529 452s each at org/jruby/RubyArray.java:1981 452s run_owned_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:528 452s run_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:615 452s reverse_each at org/jruby/RubyArray.java:2063 452s run_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:614 452s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:484 452s run_before_example at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:505 452s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:261 452s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 452s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 452s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 452s run_around_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:624 452s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 452s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 452s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 452s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:259 452s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:646 452s map at org/jruby/RubyArray.java:2803 452s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:651 452s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:607 452s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121 452s map at org/jruby/RubyArray.java:2803 452s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121 452s with_suite_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:2091 452s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:116 452s report at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/reporter.rb:74 452s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:115 452s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:89 452s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:71 452s invoke at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:45 452s
at /usr/bin/rspec:4 452s 452s /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 452s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 452s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:136 452s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:3 452s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:2 452s
at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:1 452s require at org/jruby/RubyKernel.java:1184 452s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 452s be_truthy at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers.rb:311 452s
at /tmp/autopkgtest.mNG2Ba/build.zLC/src/spec/spec_helper.rb:50 452s instance_exec at org/jruby/RubyBasicObject.java:2620 452s instance_exec at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:457 452s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:365 452s run_owned_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:529 452s each at org/jruby/RubyArray.java:1981 452s run_owned_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:528 452s run_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:615 452s reverse_each at org/jruby/RubyArray.java:2063 452s run_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:614 452s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:484 452s run_before_example at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:505 452s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:261 452s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 452s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 452s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 452s run_around_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:624 452s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 452s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 452s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 452s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:259 452s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:646 452s map at org/jruby/RubyArray.java:2803 452s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:651 452s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:607 452s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121 452s map at org/jruby/RubyArray.java:2803 452s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121 452s with_suite_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:2091 452s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:116 452s report at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/reporter.rb:74 452s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:115 452s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:89 452s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:71 452s invoke at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:45 452s
at /usr/bin/rspec:4 452s 452s links 452s links atomically 452s spawning 452s terminates on failed initialization 452s terminates on failed initialization and raises with spawn! 452s terminates on failed message processing 452s Actor#spawn! 452s spawn 452s executor should be global 452s returns arg 452s #path 453s is expected to eq "/ping" 453s #parent 453s is expected to eq # 453s #name 453s is expected to eq "ping" 453s #reference 453s is expected to eq # 453s context_spawn 453s executor should be global 453s returns arg 453s #path 453s is expected to eq "/ping" 453s #parent 453s is expected to eq # 453s #name 453s is expected to eq "ping" 453s #reference 453s is expected to eq # 453s spawn_by_hash 453s executor should be global 453s returns arg 453s #path 453s is expected to eq "/ping" 453s #parent 453s is expected to eq # 453s #name 453s is expected to eq "ping" 453s #reference 453s is expected to eq # 453s context_spawn_by_hash 453s executor should be global 453s returns arg 453s #path 453s is expected to eq "/ping" 453s #parent 453s is expected to eq # 453s #name 453s is expected to eq "ping" 453s #reference 453s is expected to eq # 453s messaging 453s is expected to eq 4 453s children 453s has children set after a child is created 453s envelope 453s /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 453s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 453s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/has.rb:125 453s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/has.rb:3 453s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/has.rb:2 453s
at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/has.rb:1 453s require at org/jruby/RubyKernel.java:1184 453s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 453s method_missing at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers.rb:964 453s method_missing at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:767 453s Actor at /tmp/autopkgtest.mNG2Ba/build.zLC/src/spec/concurrent/actor_spec.rb:136 453s instance_exec at org/jruby/RubyBasicObject.java:2620 453s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:263 453s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 453s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 453s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 453s run_around_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:624 453s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 453s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 453s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 453s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:259 453s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:646 453s map at org/jruby/RubyArray.java:2803 453s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:651 453s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:607 453s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:608 453s map at org/jruby/RubyArray.java:2803 453s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:608 453s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121 453s map at org/jruby/RubyArray.java:2803 453s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121 453s with_suite_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:2091 453s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:116 453s report at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/reporter.rb:74 453s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:115 453s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:89 453s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:71 453s invoke at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:45 453s
at /usr/bin/rspec:4 453s 453s is expected to eq # 453s termination 453s terminates with all its children 453s dead letter routing 453s logs by deafault 453s message redirecting 453s is evaluated by child 453s pausing 453s pauses on error and resumes 453s pauses on error and resets 453s pauses on error and restarts 453s pool 453s supports asks 453s 454s Concurrent::Agent 454s initialization 454s sets the initial value 454s sets the initial error to nil 454s sets the error mode when given a valid value 454s defaults the error mode to :continue when an error handler is given 454s defaults the error mode to :fail when no error handler is given 454s raises an error when given an invalid error mode 454s sets #failed? to false 454s action processing 454s the given block will be passed the current value 454s the given block will be passed any provided arguments 454s the return value will be passed to the validator function 454s upon validation the new value will be set to the block return value 454s on success all observers will be notified 454s any recursive action dispatches will run after the value has been updated 454s when the action raises an error the value will not change 454s when the action raises an error the validator will not be called 454s when validation returns false the value will not change 454s when validation raises an error the value will not change 454s when the action raises an error the handler will be called 454s when validation fails the handler will be called 454s when validation raises an error the handler will be called 454s validation 454s sets the new value when the validator returns true 454s rejects the new value when the validator returns false 454s rejects the new value when the validator raises an error 454s sets the error when the error mode is :fail and the validator returns false 454s sets the error when the error mode is :fail and the validator raises an error 454s does not set an error when the error mode is :continue and the validator returns false 454s does not set an error when the error mode is :continue and the validator raises an error 454s does not trigger observation when validation fails 454s error handling 454s the agent will be passed to the handler 454s the exception will be passed to the handler 454s does not trigger observation 454s error mode 454s :continue 454s does not set an error when the validator returns false 454s does not set an error when the validator raises an error 454s does not set an error when the action raises an error 454s does not block further action processing 454s sets #failed? to false 454s :fail 454s sets the error when the validator returns false 454s sets the error when the validator raises an error 454s sets the error when the action raises an error 454s blocks all further action processing until a restart 454s sets #failed? to true 454s nested actions 454s occur in the order they ar post 454s work with immediate execution 454s posting 454s with #send 454s returns true when the job is post 454s returns false when #failed? 454s posts to the global fast executor 454s does not wait for the action to process 454s with #send! 454s returns true when the job is post 454s raises an error when #failed? 454s posts to the global fast executor 454s does not wait for the action to process 454s with #send_off 454s returns true when the job is post 454s returns false when #failed? 454s posts to the global io executor 454s does not wait for the action to process 454s with #send_off! 454s returns true when the job is post 454s raises an error when #failed? 454s posts to the global io executor 454s does not wait for the action to process 454s with #send_via 455s returns true when the job is post 455s returns false when #failed? 455s posts to the given executor 455s with #send_via! 455s returns true when the job is post 455s raises an error when #failed? 455s posts to the given executor 455s with #post 455s returns true when the job is post 455s returns false when #failed? 455s posts to the global io executor 455s does not wait for the action to process 455s with #<< 455s returns self when the job is post 455s returns self when #failed? 455s posts to the global io executor 455s does not wait for the action to process 455s #restart 455s when #failed? 455s raises an error if the new value is not valid 455s sets the new value 455s clears the error 455s sets #failed? to true 455s removes all actions from the queue when :clear_actions is true 455s does not clear the action queue when :clear_actions is false 455s does not clear the action queue when :clear_actions is not given 455s resumes action processing if actions are enqueued 455s does not trigger observation 455s when not #failed? 455s raises an error 455s waiting 455s the await job 455s does not change the value 455s does not trigger the error mode 456s does not trigger observers 456s waits for nested actions 456s with #await 456s returns self when there are no pending actions 456s does not block on actions from other threads 457s blocks indefinitely 458s returns true when all prior actions have processed 458s blocks forever if restarted with :clear_actions true (PENDING: the timing is nearly impossible) 458s with #await_for 458s returns true when there are no pending actions 458s does not block on actions from other threads 459s returns true when all prior actions have processed 460s returns false on timeout 460s returns false if restarted with :clear_actions true (PENDING: the timing is nearly impossible) 460s with #await_for! 460s returns true when there are no pending actions 460s does not block on actions from other threads 461s returns true when all prior actions have processed 462s raises an error on timeout 462s raises an error if restarted with :clear_actions true (PENDING: the timing is nearly impossible) 462s with #wait 462s returns true when there are no pending actions and timeout is nil 462s returns true when there are no pending actions and a timeout is given 462s does not block on actions from other threads 463s blocks indefinitely when timeout is nil 463s blocks forever when timeout is nil and restarted with :clear_actions true (PENDING: the timing is nearly impossible) 464s returns true when all prior actions have processed 465s returns false on timeout 465s returns false when timeout is given and restarted with :clear_actions true (PENDING: the timing is nearly impossible) 465s with .await 465s returns true when all prior actions on all agents have processed 465s with .await_for 465s returns true when there are no pending actions 465s returns true when all prior actions for all agents have processed 466s returns false on timeout 466s with await_for! 466s returns true when there are no pending actions 466s returns true when all prior actions for all agents have processed 467s raises an exception on timeout 467s observable 467s behaves like observable 467s #add_observer 467s adds an observer if called before first notification 467s adds an observer with :func if called before first notification 467s creates an observer from a block if called before first notification 467s raises an exception if not given an observer or a block 467s raises an exception when given both an observer and a block 467s #delete_observer 467s deletes the given observer if called before first notification 467s returns the removed observer if found in the observer set 467s returns the given observer even when not found in the observer set 467s #delete_observers 467s deletes all observers when called before first notification 467s returns self 467s #count_observers 467s returns zero for a new observable object 467s returns a count of registered observers if called before first notification 467s returns zero after #delete_observers has been called 467s first notification 467s calls the #update method on all observers without a specified :func 467s calls the appropriate function on all observers which specified a :func 467s calls the proc for all observers added as a block 468s does not notify any observers removed with #delete_observer 469s does not notify any observers after #delete_observers called 469s 469s Concurrent::Array 469s .[] 469s when initializing with no arguments 469s is expected to be empty 469s when initializing with arguments 469s creates an array with the given objects 469s .new 469s when initializing with no arguments 469s is expected to be empty 469s when initializing with a size argument 469s creates an array with size elements set to nil 469s when initializing with a default value argument 469s creates an array with size elements set to the default value 469s when initializing with a block argument 469s creates an array with size elements set to the default value 469s when initializing with another array as an argument 469s creates a new array 469s creates an array with the same contents as the other array 469s creates an array with the results of calling #to_ary on the other array 469s concurrency 469s is expected to be empty 469s #slice 469s correctly initializes the monitor 469s 469s Concurrent::Async 469s object creation 469s delegates to the original constructor 469s passes all args to the original constructor 469s passes a given block to the original constructor 469s initializes synchronization 469s #validate_argc 469s raises an exception when the method is not defined 469s raises an exception for too many args on a zero arity method 469s does not raise an exception for correct zero arity 469s raises an exception for too many args on a method with positive arity 469s raises an exception for too few args on a method with positive arity 469s does not raise an exception for correct positive arity 469s raises an exception for too few args on a method with negative arity 469s does not raise an exception for correct negative arity 469s #async 469s raises an error when calling a method that does not exist 469s raises an error when passing too few arguments 469s raises an error when pasing too many arguments (arity >= 0) 469s returns the existence of the method 469s returns a :pending IVar 469s runs the future on the global executor 469s sets the value on success 469s sets the reason on failure 469s sets the reason when giving too many optional arguments 469s supports attribute accessors 469s supports methods with blocks 469s #await 469s raises an error when calling a method that does not exist 469s raises an error when passing too few arguments 469s raises an error when pasing too many arguments (arity >= 0) 469s returns the existence of the method 469s returns a :fulfilled IVar 470s runs the future on the global executor 470s sets the value on success 470s sets the reason on failure 470s sets the reason when giving too many optional arguments 470s supports attribute accessors 470s supports methods with blocks 470s locking 470s uses the same lock for both #async and #await 470s fork safety 470s does not hang when forked (PENDING: Platform does not support fork) 470s 470s Concurrent::Atom 470s construction 470s sets the initial value to the given value 470s #compare_and_set 470s sets the new value if the current value matches 470s returns true if the current value matches 470s rejects the new value if the current value does not match 470s returns false if the current value does not match 470s rejects the new value if the validator returns false 470s rejects the new value if the validator raises an exception 470s returns false if the validator returns false 470s returns false if the validator raises an exception 470s #swap 470s raises an exception when no block is given 470s passes the current value to the block 470s passes all arguments to the block 470s sets the new value to the result of the block 470s rejects the new value if the validator returns false 470s rejects the new value if the validator raises an exception 470s returns the new value on success 470s returns the old value if the validator returns false 470s returns the old value if the validator raises an exception 470s calls the block more than once if the value changes underneath 470s reraises the exception from block 470s #reset 470s sets the new value 470s returns the new value on success 470s returns the new value on success 470s returns the old value if the validator returns false 470s returns the old value if the validator raises an exception 470s observable 470s behaves like observable 470s #add_observer 470s adds an observer if called before first notification 470s adds an observer with :func if called before first notification 470s creates an observer from a block if called before first notification 470s raises an exception if not given an observer or a block 470s raises an exception when given both an observer and a block 470s #delete_observer 470s deletes the given observer if called before first notification 470s returns the removed observer if found in the observer set 470s returns the given observer even when not found in the observer set 470s #delete_observers 470s deletes all observers when called before first notification 470s returns self 470s #count_observers 470s returns zero for a new observable object 470s returns a count of registered observers if called before first notification 470s returns zero after #delete_observers has been called 470s first notification 470s calls the #update method on all observers without a specified :func 470s calls the appropriate function on all observers which specified a :func 470s calls the proc for all observers added as a block 471s does not notify any observers removed with #delete_observer 472s does not notify any observers after #delete_observers called 472s 472s Concurrent::MutexAtomicBoolean 472s it should behave like atomic_boolean 472s construction 472s sets the initial value 472s defaults the initial value to false 472s evaluates the truthiness of a true value 472s evaluates the truthiness of a false value 472s #value 472s returns the current value 472s #value= 472s sets the #value to the given `Boolean` 472s returns the new value 472s evaluates the truthiness of a true value 472s evaluates the truthiness of a false value 472s #true? 472s is expected to equal true 472s is expected to equal false 472s #false? 472s is expected to equal false 472s is expected to equal true 472s #make_true 472s makes a false value true and returns true 472s keeps a true value true and returns false 472s #make_false 472s makes a true value false and returns true 472s keeps a false value false and returns false 472s instance methods 472s value is synchronized 472s value= is synchronized 472s true? is synchronized 472s false? is synchronized 472s make_true is synchronized 472s make_false is synchronized 472s 472s Concurrent::JavaAtomicBoolean 472s it should behave like atomic_boolean 472s construction 472s sets the initial value 472s defaults the initial value to false 472s evaluates the truthiness of a true value 472s evaluates the truthiness of a false value 472s #value 472s returns the current value 472s #value= 472s sets the #value to the given `Boolean` 472s returns the new value 472s evaluates the truthiness of a true value 472s evaluates the truthiness of a false value 472s #true? 473s is expected to equal true 473s is expected to equal false 473s #false? 473s is expected to equal false 473s is expected to equal true 473s #make_true 473s makes a false value true and returns true 473s keeps a true value true and returns false 473s #make_false 473s makes a true value false and returns true 473s keeps a false value false and returns false 473s 473s Concurrent::AtomicBoolean 473s does not load the C extension 473s inherits from JavaAtomicBoolean 473s #to_s and #inspect 473s includes the value 473s 473s Concurrent::MutexAtomicFixnum 473s it should behave like atomic_fixnum 473s construction 473s sets the initial value 473s defaults the initial value to zero 473s raises an exception if the initial value is not a Fixnum 473s #value 473s returns the current value 473s #value= 473s sets the #value to the given `Fixnum` 473s returns the new value 473s raises and exception if the value is not a `Fixnum` 473s #increment 473s increases the value by one when no argument is given 473s returns the new value when no argument is given 473s increases the value by the given argument 473s returns the new value the given argument 473s is aliased as #up 473s #decrement 473s decreases the value by one when no argument is given 473s returns the new value when no argument is given 473s decreases the value by the given argument 473s returns the new value the given argument 473s is aliased as #down 473s #compare_and_set 473s returns false if the value is not found 473s returns true if the value is found 473s sets if the value is found 473s does not set if the value is not found 473s #update 473s passes the current value to the block 473s atomically sets the value to the return value from the block 473s returns the new value 473s construction 473s raises an exception if the initial value is too big 473s raises an exception if the initial value is too small 473s instance methods 473s value is synchronized 473s value= is synchronized 473s increment is synchronized 473s decrement is synchronized 473s compare_and_set is synchronized 473s 473s Concurrent::JavaAtomicFixnum 473s it should behave like atomic_fixnum 473s construction 473s sets the initial value 473s defaults the initial value to zero 473s raises an exception if the initial value is not a Fixnum 473s #value 473s returns the current value 473s #value= 473s sets the #value to the given `Fixnum` 473s returns the new value 473s raises and exception if the value is not a `Fixnum` 473s #increment 473s increases the value by one when no argument is given 473s returns the new value when no argument is given 473s increases the value by the given argument 473s returns the new value the given argument 473s is aliased as #up 473s #decrement 473s decreases the value by one when no argument is given 473s returns the new value when no argument is given 473s decreases the value by the given argument 473s returns the new value the given argument 473s is aliased as #down 473s #compare_and_set 473s returns false if the value is not found 473s returns true if the value is found 473s sets if the value is found 473s does not set if the value is not found 473s #update 473s passes the current value to the block 473s atomically sets the value to the return value from the block 473s returns the new value 473s 473s Concurrent::AtomicFixnum 473s does not load the C extension 473s inherits from JavaAtomicFixnum 473s #to_s and #inspect 473s includes the value 473s 473s Concurrent::AtomicMarkableReference 473s .initialize 473s constructs the object 473s has sane defaults 473s #set 473s sets the value and mark 473s #try_update! 473s updates the value and mark 473s raises ConcurrentUpdateError when attempting to set inside of block 473s #try_update 473s updates the value and mark 473s returns nil when attempting to set inside of block 473s #update 473s updates the value and mark 473s retries until update succeeds 473s #compare_and_set 473s when objects have the same identity 473s sets the value and mark 473s when objects have the different identity 473s it does not set the value or mark 473s when comparing Numeric objects 473s Non-idepotent Float 473s sets the value and mark 473s BigNum 473s sets the value and mark 473s Rational 473s sets the value and mark 473s Rational 473s is successful 473s 473s Concurrent::AtomicReference 473s it should behave like atomic_reference 473s test_construct 473s test_value 473s test_update 473s test_try_update 473s test_try_update_bang 473s test_swap 473s test_try_update_fails 473s test_try_update_bang_fails 473s test_update_retries 473s test_numeric_cas 473s #to_s and #inspect 473s includes the value 473s 473s Concurrent::MutexAtomicReference 473s it should behave like atomic_reference 473s test_construct 473s test_value 473s test_update 473s test_try_update 473s test_try_update_bang 473s test_swap 473s test_try_update_fails 473s test_try_update_bang_fails 473s test_update_retries 473s test_numeric_cas 473s 473s Concurrent::JavaAtomicReference 473s it should behave like atomic_reference 473s test_construct 473s test_value 473s test_update 473s test_try_update 473s test_try_update_bang 473s test_swap 473s test_try_update_fails 473s test_try_update_bang_fails 473s test_update_retries 473s test_numeric_cas 473s 473s Concurrent::AtomicReference 473s does not load the C extension 473s inherits from JavaAtomicReference 473s 473s Concurrent::MutexCountDownLatch 473s it should behave like count_down_latch 473s #initialize 473s raises an exception if the initial count is less than zero 473s raises an exception if the initial count is not an integer 473s defaults the count to 1 473s #count 473s should be the value passed to the constructor 473s should be decreased after every count down 473s should not go below zero 473s #wait 473s blocks indefinitely, and is kill-able 473s blocks indefinitely with timeout, and is kill-able 473s count set to zero 473s should return true immediately 473s should return true immediately with timeout 473s non zero count 473s should block thread until counter is set to zero 473s should block until counter is set to zero with timeout 473s should block until timeout and return false when counter is not set to zero 473s spurious wake ups 474s should resist to spurious wake ups without timeout 474s should resist to spurious wake ups with timeout 474s 474s Concurrent::JavaCountDownLatch 474s it should behave like count_down_latch 474s #initialize 474s raises an exception if the initial count is less than zero 474s raises an exception if the initial count is not an integer 474s defaults the count to 1 474s #count 474s should be the value passed to the constructor 474s should be decreased after every count down 474s should not go below zero 474s #wait 474s blocks indefinitely, and is kill-able 474s blocks indefinitely with timeout, and is kill-able 474s count set to zero 474s should return true immediately 474s should return true immediately with timeout 474s non zero count 474s should block thread until counter is set to zero 475s should block until counter is set to zero with timeout 475s should block until timeout and return false when counter is not set to zero 475s 475s Concurrent::CountDownLatch 475s inherits from JavaCountDownLatch 475s 475s Concurrent::CyclicBarrier 475s #initialize 475s raises an exception if the initial count is less than 1 475s raises an exception if the initial count is not an integer 475s #parties 475s should be the value passed to the constructor 475s #number_waiting 475s without any waiting thread 475s should be equal to zero 475s with waiting threads 475s should be equal to the waiting threads count 475s #broken? 475s should not be broken when created 475s should not be broken when reset is called without waiting thread 475s reset 475s should release all waiting threads 475s #wait 475s without timeout 475s should block the thread 475s should release all threads when their number matches the desired one 475s returns true when released 475s executes the block once 475s can be reused 475s return false if barrier has been reset 475s with timeout 475s timeout not expiring 475s should block the thread 475s should release all threads when their number matches the desired one 475s returns true when released 475s timeout expiring 475s returns false 476s breaks the barrier and release all other threads 476s breaks the barrier and release all other threads 2 476s does not execute the block on timeout 476s #broken barrier 476s should not accept new threads 476s can be reset 476s spurious wake ups 476s should resist to spurious wake ups without timeout 477s should resist to spurious wake ups with timeout 477s 477s Concurrent::Event 477s #initialize 477s sets the state to unset 477s #set? 477s returns true when the event has been set 477s returns false if the event is unset 477s #set 477s triggers the event 477s sets the state to set 477s #try? 477s triggers the event if not already set 477s returns true if not previously set 477s returns false if previously set 477s #reset 477s does not change the state of an unset event 477s does not trigger an unset event 477s returns true when called on an unset event 477s sets the state of a set event to unset 477s returns true when called on a set event 477s #wait 477s returns immediately when the event has been set 477s returns true once the event is set 477s blocks indefinitely when the timer is nil 477s blocks indefinitely 477s stops waiting when the timer expires 478s returns false when the timer expires 478s triggers multiple waiting threads 478s behaves appropriately if wait begins while #set is processing 478s spurious wake ups 479s should resist to spurious wake ups without timeout 479s should resist spurious wake ups with timeout 479s 479s Concurrent::FiberLocalVar 479s #initialize 479s can set an initial value 479s sets nil as a default initial value 479s sets the same initial value for all fibers 479s can set a block to be called to get the initial value 479s when attempting to set both an initial value and a block 479s is expected to raise ArgumentError 479s #value 479s returns the current value 479s returns the value after modification 479s when using a block to initialize the value 479s calls the block to initialize the value 479s sets the block return value as the current value 479s calls the block to initialize the value for each fiber 479s #value= 479s sets a new value 479s returns the new value 479s does not modify the initial value for other fibers 479s does not modify the value for other fibers 479s 479s Concurrent::FiberLocalVar 479s uses FiberLocalVar if Mutex is per Fiber 479s 479s Concurrent::ReadWriteLock 479s #write_locked? 479s returns true when the write lock is held 479s returns false when the write lock is not held 479s returns false when the write lock is not held but there are readers 479s #has_waiters? 479s returns false when no locks are held 479s returns false when there are readers but no writers 479s returns true when the write lock is held and there are waiting readers 479s returns true when the write lock is held and there are waiting writers 479s #with_read_lock 479s acquires the lock 479s returns the value of the block operation 479s releases the lock 479s raises an exception if no block is given 479s raises an exception if maximum lock limit is exceeded 479s releases the lock when an exception is raised 479s #with_write_lock 479s acquires the lock 479s returns the value of the block operation 479s releases the lock 479s raises an exception if no block is given 479s raises an exception if maximum lock limit is exceeded 479s releases the lock when an exception is raised 479s #acquire_read_lock 479s increments the lock count 479s waits for a running writer to finish 479s does not wait for any running readers 479s raises an exception if maximum lock limit is exceeded 479s returns true if the lock is acquired 479s #release_read_lock 479s decrements the counter 479s unblocks waiting writers 479s returns true if the lock is released 479s returns true if the lock was never set 479s #acquire_write_lock 480s increments the lock count 480s waits for a running writer to finish 480s waits for a running reader to finish 480s raises an exception if maximum lock limit is exceeded 480s returns true if the lock is acquired 480s #release_write_lock 480s decrements the counter 480s unblocks waiting readers 480s unblocks waiting writers 480s returns true if the lock is released 480s returns true if the lock was never set 480s 480s Concurrent::ReentrantReadWriteLock 481s can survive a torture test 481s read lock 481s allows other read locks to be acquired at the same time 481s can be acquired more than once 481s can be acquired while holding a write lock 481s can be upgraded to a write lock 481s can be upgraded to a write lock when read lock acquired more than once 481s cannot be released when not held 481s cannot be released more times than it was taken 481s wakes up waiting writers when the last read lock is released 481s write lock 481s cannot be acquired when another thread holds a write lock 481s cannot be acquired when another thread holds a read lock 481s can be acquired more than once 481s can be acquired while holding a read lock 481s can be downgraded to a read lock 481s cannot be released when not held 481s cannot be released more times than it was taken 481s wakes up waiting readers when the write lock is released 481s wakes up waiting writers when the write lock is released 481s #with_read_lock 481s acquires read block before yielding, then releases it 481s releases read lock if an exception is raised in block 481s #with_write_lock 481s acquires write block before yielding, then releases it 481s releases write lock if an exception is raised in block 481s #try_read_lock 481s returns false immediately if read lock cannot be obtained 481s acquires read lock and returns true if it can do so without blocking 481s can acquire a read lock if a read lock is already held 481s can acquire a read lock if a write lock is already held 481s #try_write_lock 481s returns false immediately if write lock cannot be obtained 481s acquires write lock and returns true if it can do so without blocking 481s can acquire a write lock if a read lock is already held 481s can acquire a write lock if a write lock is already held 481s 481s Concurrent::ReentrantReadWriteLock 481s can acquire locks in separate fibers 481s 481s Concurrent::MutexSemaphore 481s it should behave like semaphore 481s #initialize 481s raises an exception if the initial count is not an integer 481s when initializing with 0 481s is expected not to equal nil 481s when initializing with -1 481s is expected to eq 0 481s #acquire 481s without block 481s permits available 481s should return nil immediately 481s not enough permits available 481s should block thread until permits are available 481s when acquiring negative permits 481s raises ArgumentError 481s with block 481s permits available 481s should acquire permits, run the block, release permits, and return block return value 481s if the block raises, the permit is still released 481s not enough permits available 482s should block thread until permits are available 482s when acquiring negative permits 482s raises ArgumentError 482s #drain_permits 482s drains all available permits 482s drains nothing in no permits are available 482s #try_acquire 482s without block 482s without timeout 482s acquires immediately if permits are available 482s returns false immediately in no permits are available 482s when trying to acquire negative permits 482s is expected to raise ArgumentError 482s with timeout 482s acquires immediately if permits are available 482s acquires when permits are available within timeout 482s returns false on timeout 482s with block 482s without timeout 482s acquires immediately if permits are available and returns block return value 482s releases permit if block raises 482s returns false immediately in no permits are available 482s when trying to acquire negative permits 482s is expected not to change `semaphore.available_permits` 482s with timeout 482s acquires immediately if permits are available, and returns block return value 482s releases permits if block raises 483s acquires when permits are available within timeout, and returns block return value 483s returns false on timeout 483s #reduce_permits 483s raises ArgumentError if reducing by negative number 483s reduces permits below zero 483s reduces permits 483s reduces zero permits 483s #release 483s increases the number of available permits by one 483s when a number of permits is specified 483s increases the number of available permits by the specified value 483s when permits is set to negative number 483s is expected to raise ArgumentError 483s 483s Concurrent::JavaSemaphore 483s it should behave like semaphore 483s #initialize 483s raises an exception if the initial count is not an integer 483s when initializing with 0 483s is expected not to equal nil 483s when initializing with -1 483s is expected to eq 0 483s #acquire 483s without block 483s permits available 483s should return nil immediately 483s not enough permits available 483s should block thread until permits are available 483s when acquiring negative permits 483s raises ArgumentError 483s with block 483s permits available 483s should acquire permits, run the block, release permits, and return block return value 483s if the block raises, the permit is still released 483s not enough permits available 483s should block thread until permits are available 483s when acquiring negative permits 483s raises ArgumentError 483s #drain_permits 483s drains all available permits 483s drains nothing in no permits are available 483s #try_acquire 483s without block 483s without timeout 483s acquires immediately if permits are available 483s returns false immediately in no permits are available 483s when trying to acquire negative permits 483s is expected to raise ArgumentError 483s with timeout 483s acquires immediately if permits are available 483s acquires when permits are available within timeout 483s returns false on timeout 483s with block 483s without timeout 483s acquires immediately if permits are available and returns block return value 483s releases permit if block raises 483s returns false immediately in no permits are available 483s when trying to acquire negative permits 483s is expected not to change `semaphore.available_permits` 483s with timeout 483s acquires immediately if permits are available, and returns block return value 483s releases permits if block raises 483s acquires when permits are available within timeout, and returns block return value 483s returns false on timeout 483s #reduce_permits 483s raises ArgumentError if reducing by negative number 483s reduces permits below zero 483s reduces permits 483s reduces zero permits 483s #release 483s increases the number of available permits by one 483s when a number of permits is specified 483s increases the number of available permits by the specified value 483s when permits is set to negative number 483s is expected to raise ArgumentError 483s 483s Concurrent::Semaphore 484s inherits from JavaSemaphore 484s 484s Concurrent::ThreadLocalVar 484s #initialize 484s can set an initial value 484s sets nil as a default initial value 484s sets the same initial value for all threads 484s can set a block to be called to get the initial value 484s when attempting to set both an initial value and a block 484s is expected to raise ArgumentError 484s #value 484s returns the current value 484s returns the value after modification 484s when using a block to initialize the value 484s calls the block to initialize the value 484s sets the block return value as the current value 484s calls the block to initialize the value for each thread 484s #value= 484s sets a new value 484s returns the new value 484s does not modify the initial value for other threads 484s does not modify the value for other threads 484s 484s Concurrent 484s Cancellation 484s basic 484s is expected to be falsey 484s is expected to be truthy 484s is expected to be falsey 484s is expected to eq 2 484s #join 484s 484s Concurrent::Channel::Buffer::Base 484s is expected to eq 0 484s is expected to be blocking 484s is expected to raise NotImplementedError 484s is expected to raise NotImplementedError 484s is expected to raise NotImplementedError 484s is expected to raise NotImplementedError 484s is expected to raise NotImplementedError 484s is expected to raise NotImplementedError 484s is expected to raise NotImplementedError 484s is expected to raise NotImplementedError 484s is expected not to be closed 484s is expected to be closed 484s 484s Concurrent::Channel::Buffer::Buffered 484s is expected to be blocking 484s behaves like channel_buffered_buffer 484s behaves like channel_buffer 484s is expected to respond to #blocking? 484s #capacity 484s is expected to be >= 0 484s #size 484s returns zero upon initialization 484s #empty? 484s returns true when empty 484s #full? 484s returns false when not full 484s #put 484s does not enqueue the item when closed 484s returns false when closed 484s #offer 484s returns true on success 484s does not enqueue the item when closed 484s returns false immediately when closed 484s #take 484s returns Concurrent::NULL when closed 484s #next 484s returns Concurrent::NULL, false when closed 484s #poll 484s returns the next item immediately if available 484s returns Concurrent::NULL immediately if no item is available 484s returns Concurrent::NULL when closed 484s #close 484s sets #closed? to false 484s returns true when not previously closed 484s returns false when already closed 484s #closed? 484s returns true when new 484s returns false after #close 484s #initialize 484s raises an exception if size <= 0 484s #capacity 484s returns the maximum capacity of the buffer 484s #size 484s is 0 when first created 484s returns the number of items in the buffer 484s is 0 when there are taking threads but no putting threads 484s #empty? 484s returns true when empty 484s #put 484s enqueues the item when size > 0, not full, and not closed 484s returns true when the item is put 484s #offer 484s enqueues the item immediately when not full and not closed 484s #take 484s returns the first item when not empty 484s blocks until not empty 484s returns Concurrent::NULL when closed and empty 484s #next 485s blocks until not empty 485s returns , true when there is only one item and not closed 485s returns , true when there are multiple items 485s returns , true when closed and last item 485s returns Concurrent::NULL, false when closed and no items remain 485s #full? 485s returns true when at max capacity 485s #put 485s blocks when at capacity until a thread is ready to take 485s #offer 485s returns false immediately when full 485s 485s Concurrent::Channel::Buffer::Dropping 485s is expected not to be blocking 485s behaves like channel_buffered_buffer 485s behaves like channel_buffer 485s is expected to respond to #blocking? 485s #capacity 485s is expected to be >= 0 485s #size 485s returns zero upon initialization 485s #empty? 485s returns true when empty 485s #full? 485s returns false when not full 485s #put 485s does not enqueue the item when closed 485s returns false when closed 485s #offer 485s returns true on success 485s does not enqueue the item when closed 485s returns false immediately when closed 485s #take 485s returns Concurrent::NULL when closed 485s #next 485s returns Concurrent::NULL, false when closed 485s #poll 485s returns the next item immediately if available 485s returns Concurrent::NULL immediately if no item is available 485s returns Concurrent::NULL when closed 485s #close 485s sets #closed? to false 485s returns true when not previously closed 485s returns false when already closed 485s #closed? 485s returns true when new 485s returns false after #close 485s #initialize 485s raises an exception if size <= 0 485s #capacity 485s returns the maximum capacity of the buffer 485s #size 485s is 0 when first created 485s returns the number of items in the buffer 485s is 0 when there are taking threads but no putting threads 485s #empty? 485s returns true when empty 485s #put 485s enqueues the item when size > 0, not full, and not closed 485s returns true when the item is put 485s #offer 485s enqueues the item immediately when not full and not closed 485s #take 485s returns the first item when not empty 485s blocks until not empty 485s returns Concurrent::NULL when closed and empty 485s #next 486s blocks until not empty 486s returns , true when there is only one item and not closed 486s returns , true when there are multiple items 486s returns , true when closed and last item 486s returns Concurrent::NULL, false when closed and no items remain 486s #put 486s does not block when full 486s drops the last value when full 486s #offer 486s returns true immediately when full 486s drops the last value when full 486s 486s Concurrent::Channel::Buffer::Sliding 486s is expected not to be blocking 486s behaves like channel_buffered_buffer 486s behaves like channel_buffer 486s is expected to respond to #blocking? 486s #capacity 486s is expected to be >= 0 486s #size 486s returns zero upon initialization 486s #empty? 486s returns true when empty 486s #full? 486s returns false when not full 486s #put 486s does not enqueue the item when closed 486s returns false when closed 486s #offer 486s returns true on success 486s does not enqueue the item when closed 486s returns false immediately when closed 486s #take 486s returns Concurrent::NULL when closed 486s #next 486s returns Concurrent::NULL, false when closed 486s #poll 486s returns the next item immediately if available 486s returns Concurrent::NULL immediately if no item is available 486s returns Concurrent::NULL when closed 486s #close 486s sets #closed? to false 486s returns true when not previously closed 486s returns false when already closed 486s #closed? 486s returns true when new 486s returns false after #close 486s #initialize 486s raises an exception if size <= 0 486s #capacity 486s returns the maximum capacity of the buffer 486s #size 486s is 0 when first created 486s returns the number of items in the buffer 486s is 0 when there are taking threads but no putting threads 486s #empty? 486s returns true when empty 486s #put 486s enqueues the item when size > 0, not full, and not closed 486s returns true when the item is put 486s #offer 486s enqueues the item immediately when not full and not closed 486s #take 486s returns the first item when not empty 486s blocks until not empty 486s returns Concurrent::NULL when closed and empty 486s #next 487s blocks until not empty 487s returns , true when there is only one item and not closed 487s returns , true when there are multiple items 487s returns , true when closed and last item 487s returns Concurrent::NULL, false when closed and no items remain 487s #put 487s does not block when full 487s drops the first value when full 487s #offer 487s returns true immediately when full 487s drops the first value when full 487s 487s Concurrent::Channel::Buffer::Ticker 487s behaves like channel_timing_buffer 487s is expected to be blocking 487s #capacity 487s is expected to eq 1 487s #size 487s is expected to eq 0 487s #empty? 487s is expected not to be empty 487s #full? 487s is expected to be full 487s #put 487s is expected to equal false 487s #offer 487s is expected to equal false 487s #take 487s blocks when the timer is not ready 487s returns a Tick 487s triggers after the specified time interval 487s returns Concurrent::NULL when closed 487s #poll 487s returns Concurrent::NULL when the timer is not ready 487s returns a Tick 487s returns Concurrent::NULL when closed 488s triggers after the specified time interval 488s #next 488s blocks when the timer is not ready 488s returns a Tick when open 488s returns Concurrent::NULL, false when closed 488s triggers after the specified time interval 488s #close 488s sets #closed? to false 488s returns true when not previously closed 488s returns false when already closed 488s #closed? 488s returns true when new 488s returns false after #close 488s #take 488s triggers until closed 488s returns Concurrent::NULL when closed after trigger 488s #poll 489s triggers until closed 489s #next 489s triggers until closed 489s returns true for more while open 489s returns false for more once closed 489s 489s Concurrent::Channel::Buffer::Timer 489s behaves like channel_timing_buffer 489s is expected to be blocking 489s #capacity 489s is expected to eq 1 489s #size 489s is expected to eq 0 489s #empty? 489s is expected not to be empty 489s #full? 489s is expected to be full 489s #put 489s is expected to equal false 489s #offer 489s is expected to equal false 489s #take 489s blocks when the timer is not ready 489s returns a Tick 490s triggers after the specified time interval 490s returns Concurrent::NULL when closed 490s #poll 490s returns Concurrent::NULL when the timer is not ready 490s returns a Tick 490s returns Concurrent::NULL when closed 490s triggers after the specified time interval 490s #next 490s blocks when the timer is not ready 490s returns a Tick when open 490s returns Concurrent::NULL, false when closed 490s triggers after the specified time interval 490s #close 490s sets #closed? to false 490s returns true when not previously closed 490s returns false when already closed 490s #closed? 490s returns true when new 490s returns false after #close 490s #take 490s closes automatically on first take 490s #poll 491s closes automatically on first take 491s #next 491s closes automatically on first take 491s returns false for more 491s 491s Concurrent::Channel::Buffer::Unbuffered 491s is expected to be blocking 491s is expected to eq 1 491s behaves like channel_buffer 491s is expected to respond to #blocking? 491s #capacity 491s is expected to be >= 0 491s #size 491s returns zero upon initialization 491s #empty? 491s returns true when empty 491s #full? 491s returns false when not full 491s #put 491s does not enqueue the item when closed 491s returns false when closed 491s #offer 491s returns true on success 491s does not enqueue the item when closed 491s returns false immediately when closed 491s #take 491s returns Concurrent::NULL when closed 491s #next 491s returns Concurrent::NULL, false when closed 491s #poll 491s returns the next item immediately if available 491s returns Concurrent::NULL immediately if no item is available 491s returns Concurrent::NULL when closed 491s #close 491s sets #closed? to false 491s returns true when not previously closed 491s returns false when already closed 491s #closed? 491s returns true when new 491s returns false after #close 491s #size 491s is 0 when first created 492s is 1 when a putting thread is waiting 492s is 0 when there are taking threads but no putting threads 492s #empty? 492s is true when there are no putting threads 492s is false when there are waiting putting threads 492s #full? 492s is false when there are no putting threads 492s is false when there are waiting putting threads 492s #put 492s does not enqueue the item when closed 492s returns false when closed 492s blocks until a thread is ready to take 493s delivers when closed after put starts 493s #offer 493s returns false immediately when a put in in progress 493s gives the item to a waiting taker and returns true 493s #take 493s returns false immediately when a put in in progress 493s gives the item to a waiting taker and returns true 493s #next 494s blocks when no putting and returns , true when one arrives 494s returns , true when there are multiple putting 494s returns , true when closed and last item 494s returns Concurrent::NULL, false when closed and no items remain 494s 494s channel integration tests 494s A Tour of Go 494s channels.rb 495s buffered-channels.rb 495s range-and-close.rb 495s select.rb 495s default-selection.rb (PENDING: flaky) 495s Go By Example 495s channels.rb 496s channel-buffering.rb 497s channel-synchronization.rb 497s channel-directions.rb 499s select.rb 503s timeouts.rb 503s non-blocking-channel-operations.rb 503s closing-channels.rb 503s range-over-channels.rb 505s timers.rb 507s ticker.rb 510s worker-pools.rb 512s rate-limiting.rb 512s 512s Concurrent::Channel::Tick 512s initializes to current time when no argument given 512s initializes to the given monotonic time 512s #utc returns a Time object in UTC 512s #epoch returns the UTC time as epoch seconds 512s #to_s formats as a time 512s comparison 512s correctly compares to a Numeric (monotonic) 512s correctly compares to a Time 512s correctly compares to a Tick 512s 512s Concurrent::Channel 512s initialization 512s raises an exception when the :buffer is invalid 512s is :unbuffered when neither :buffer nore :capacity is given 512s is :unbuffered when :unbuffered is given 512s is :unbuffered when :buffered and capacity: 0 512s raises an exception when both :unbuffered and :capacity are given 512s is :buffered when :capacity > 0 and no :buffer given 512s is :buffered when :buffered given 512s raises an exception when :buffered given without :capacity 512s raises an exception when :buffered and :capacity < 0 512s is :dropping when :dropping and :capacity > 0 512s raises an exception when :dropping given without :capacity 512s raises an exception when :dropping and :capacity < 1 512s is :sliding when :sliding and :capacity > 0 512s raises an exception when :sliding given without :capacity 512s raises an exception when :sliding and :capacity < 1 512s uses the given buffer 512s factories 512s is expected to receive new(10) 1 time 512s is expected to receive new(10) 1 time 512s #put 512s returns true on success 512s returns false on failure 512s rejects when the validator returns false 512s rejects when the validator raises an exception 512s rejects nil 512s put! 512s returns true on success 512s raises an exception on failure 512s rejects when the validator returns false 512s rejects when the validator raises an exception 512s rejects nil 512s put? 512s returns a just Maybe on success 512s returns a nothing Maybe on failure 512s rejects when the validator returns false 512s rejects when the validator raises an exception 512s accepts nil 512s #offer 512s returns true on success 512s returns false on failure 512s rejects when the validator returns false 512s rejects when the validator raises an exception 512s rejects nil 512s offer! 512s returns true on success 512s raises an exception on failure 512s rejects when the validator returns false 512s rejects when the validator raises an exception 513s rejects nil 513s offer? 513s returns a just Maybe on success 513s returns a nothing Maybe on failure 513s rejects when the validator returns false 513s rejects when the validator raises an exception 513s accepts nil 513s #take 513s takes the next item when not empty 513s returns nil on failure 513s #take! 513s takes the next item when not empty 513s raises an exception on failure 513s #take? 513s returns a just Maybe on success 513s returns a nothing Maybe on failure 513s #next 513s returns , true when there is one item 513s returns , true when there are multiple items 513s returns nil, false when empty and closed 513s returns , true when closed and last item 513s returns nil, false when closed and no items remain 513s #next? 513s returns a just Maybe and true when there is one item 513s returns a just Maybe, true when there are multiple items 513s returns a nothing Maybe and false on failure 513s #poll 513s returns the next item immediately if available 513s returns nil immediately if no item is available 513s returns nil on failure 513s #poll! 513s returns the next item immediately if available 513s raises an exception immediately if no item is available 513s raises an exception on failure 513s #poll? 513s returns a just Maybe immediately if available 513s returns a nothing Maybe immediately if no item is available 513s returns a nothing Maybe on failure 513s .each 513s raises and exception when no block is given 513s iterates until the channel is closed 513s goroutines 513s .go 513s raises an exception when no block is given 513s is expected to receive post(1, 2, 3) 1 time 513s .go_via 513s raises an exception when no block is given 513s is expected to receive post(1, 2, 3) 1 time 513s .go_loop 513s raises an exception when no block is given 513s loops until the block returns false 513s .go_loop_via 513s raises an exception when no block is given 513s loops until the block returns false 513s select 513s raises an exception when no block is given 513s passes a selector to the block 513s is expected to be truthy 513s 513s Concurrent::Collection::CopyOnNotifyObserverSet 513s behaves like an observer set 513s #add_observer 513s with arguments 513s should return the observer 513s with a block 513s should return the observer based on a block 513s #notify_observers 513s should return the observer set 513s with a single observer 513s should update a registered observer without arguments 513s should update a registered observer with arguments 513s should notify an observer using the chosen method 513s should notify an observer once using the last added method 513s should notify an observer from a block 513s can be called many times 513s with many observers 513s should notify all observer using the chosen method 513s with a block 513s calls the block once for every observer 513s passes the block return value to the update method 513s accepts blocks returning a single value 513s accepts block return values that include arrays 513s raises an exception if given both arguments and a block 513s #count_observers 513s should be zero after initialization 513s should be 1 after the first observer is added 513s should be 1 if the same observer is added many times 513s should be equal to the number of unique observers 513s #delete_observer 513s should not notify a deleted observer 513s can delete a non added observer 513s should return the observer 513s #delete_observers 513s should remove all observers 513s should return the observer set 513s #notify_and_delete_observers 513s should notify all observers 513s should clear observers 513s can be called many times without any other notification 513s should return the observer set 513s 513s Concurrent::Collection::CopyOnWriteObserverSet 513s behaves like an observer set 513s #add_observer 513s with arguments 513s should return the observer 513s with a block 513s should return the observer based on a block 513s #notify_observers 513s should return the observer set 513s with a single observer 513s should update a registered observer without arguments 513s should update a registered observer with arguments 513s should notify an observer using the chosen method 513s should notify an observer once using the last added method 513s should notify an observer from a block 513s can be called many times 513s with many observers 513s should notify all observer using the chosen method 513s with a block 513s calls the block once for every observer 513s passes the block return value to the update method 514s accepts blocks returning a single value 514s accepts block return values that include arrays 514s raises an exception if given both arguments and a block 514s #count_observers 514s should be zero after initialization 514s should be 1 after the first observer is added 514s should be 1 if the same observer is added many times 514s should be equal to the number of unique observers 514s #delete_observer 514s should not notify a deleted observer 514s can delete a non added observer 514s should return the observer 514s #delete_observers 514s should remove all observers 514s should return the observer set 514s #notify_and_delete_observers 514s should notify all observers 514s should clear observers 514s can be called many times without any other notification 514s should return the observer set 514s 514s Concurrent::Collection::RubyNonConcurrentPriorityQueue 514s it should behave like priority_queue 514s #initialize 514s sorts from high to low when :order is :max 514s sorts from high to low when :order is :high 514s sorts from low to high when :order is :min 514s sorts from low to high when :order is :low 514s sorts from high to low by default 514s #clear 514s removes all items from a populated queue 514s has no effect on an empty queue 514s is expected to be truthy 514s #delete 514s deletes the requested item when found 514s deletes the requested item when it is the first element 514s deletes the requested item when it is the last element 514s deletes multiple matching items when present 514s returns true when found 514s returns false when not found 514s returns false when called on an empty queue 514s deletes the requested item when it is "smaller" than the last element 514s #empty? 514s returns true for an empty queue 514s returns false for a populated queue 514s #include? 514s returns true if the item is found 514s returns false if the item is not found 514s returns false when the queue is empty 514s is aliased as #has_priority? 514s #length 514s returns the length of a populated queue 514s returns zero when the queue is empty 514s is aliased as #size 514s #peek 514s returns the item at the head of the queue 514s does not remove the item from the queue 514s returns nil when the queue is empty 514s #pop 514s returns the item at the head of the queue 514s removes the item from the queue 514s returns nil when the queue is empty 514s returns nil when called multiple times while empty 514s is aliased as #deq 514s is aliased as #shift 514s #push 514s raises an exception when attempting to enqueue nil 514s adds the item to the queue 514s sorts the new item in priority order 514s arbitrarily orders equal items with respect to each other 514s is expected to be truthy 514s is aliased as << 514s is aliased as enq 514s .from_list 514s creates an empty queue from an empty list 514s creates a sorted, populated queue from an Array 514s creates a sorted, populated queue from a Hash 514s 514s Concurrent::Collection::JavaNonConcurrentPriorityQueue 514s it should behave like priority_queue 514s #initialize 514s sorts from high to low when :order is :max 514s sorts from high to low when :order is :high 514s sorts from low to high when :order is :min 514s sorts from low to high when :order is :low 514s sorts from high to low by default 514s #clear 514s removes all items from a populated queue 514s has no effect on an empty queue 514s is expected to be truthy 514s #delete 514s deletes the requested item when found 514s deletes the requested item when it is the first element 514s deletes the requested item when it is the last element 514s deletes multiple matching items when present 514s returns true when found 514s returns false when not found 514s returns false when called on an empty queue 514s deletes the requested item when it is "smaller" than the last element 514s #empty? 514s returns true for an empty queue 514s returns false for a populated queue 514s #include? 514s returns true if the item is found 514s returns false if the item is not found 514s returns false when the queue is empty 514s is aliased as #has_priority? 514s #length 514s returns the length of a populated queue 514s returns zero when the queue is empty 514s is aliased as #size 514s #peek 514s returns the item at the head of the queue 514s does not remove the item from the queue 514s returns nil when the queue is empty 514s #pop 514s returns the item at the head of the queue 514s removes the item from the queue 514s returns nil when the queue is empty 514s returns nil when called multiple times while empty 514s is aliased as #deq 514s is aliased as #shift 514s #push 514s raises an exception when attempting to enqueue nil 514s adds the item to the queue 514s sorts the new item in priority order 514s arbitrarily orders equal items with respect to each other 514s is expected to be truthy 514s is aliased as << 514s is aliased as enq 514s .from_list 514s creates an empty queue from an empty list 514s creates a sorted, populated queue from an Array 514s creates a sorted, populated queue from a Hash 514s 514s Concurrent::Collection::NonConcurrentPriorityQueue 514s inherits from JavaNonConcurrentPriorityQueue 514s 514s Concurrent::Concern::Obligation 514s unscheduled 514s it should behave like incomplete 514s should be not completed 514s should be incomplete 514s #value 514s should return immediately if timeout is zero 514s should block on the event if timeout is not set 514s should block on the event if timeout is not zero 514s #value! 514s should return immediately if timeout is zero 514s should block on the event if timeout is not set 514s should block on the event if timeout is not zero 514s #no_error! 514s should return immediately if timeout is zero 514s should block on the event if timeout is not set 514s should block on the event if timeout is not zero 514s pending 514s it should behave like incomplete 514s should be not completed 514s should be incomplete 514s #value 514s should return immediately if timeout is zero 514s should block on the event if timeout is not set 514s should block on the event if timeout is not zero 514s #value! 514s should return immediately if timeout is zero 514s should block on the event if timeout is not set 514s should block on the event if timeout is not zero 514s #no_error! 514s should return immediately if timeout is zero 514s should block on the event if timeout is not set 514s should block on the event if timeout is not zero 514s fulfilled 514s should be completed 514s should be not incomplete 514s #value 514s should return immediately if timeout is zero 514s should return immediately if timeout is not set 514s should return immediately if timeout is not zero 514s #value! 514s should return immediately if timeout is zero 514s should return immediately if timeout is not set 514s should return immediately if timeout is not zero 514s #no_error! 514s should return immediately if timeout is zero 514s should return immediately if timeout is not set 514s should return immediately if timeout is not zero 514s rejected 514s should be completed 514s should be not incomplete 514s #value 514s should return immediately if timeout is zero 514s should return immediately if timeout is not set 514s should return immediately if timeout is not zero 514s #value! 514s should return immediately if timeout is zero 514s should return immediately if timeout is not set 514s should return immediately if timeout is not zero 514s #no_error! 514s should return immediately if timeout is zero 514s should return immediately if timeout is not set 514s should return immediately if timeout is not zero 514s #compare_and_set_state 514s unexpected state 514s should return false if state is not the expected one 514s should not change the state if current is not the expected one 514s expected state 514s should return true if state is the expected one 514s should not change the state if current is not the expected one 514s #if_state 514s should raise without block 514s should return false if state is not expected 514s should the block value if state is expected 514s should execute the block within the mutex 514s #get_arguments_from 514s returns an empty array when opts is not given 514s returns an empty array when opts is an empty hash 514s returns an empty array when there is no :args key 514s returns an empty array when the :args key has a nil value 514s returns a one-element array when the :args key has a non-array value 514s returns an array when when the :args key has an array value 514s returns the given array when the :args key has a complex array value 514s 514s Concurrent::Concern::Observable 514s does not initialize set by by default 514s uses the given observer set 514s delegates #add_observer 514s delegates #with_observer 514s delegates #delete_observer 514s delegates #delete_observers 514s delegates #count_observers 514s 514s configuration 514s global executors 514s creates a global timer set 514s creates a global fast executor 514s creates a global io executor 514s 514s dataflow 514s raises an exception when no block given 514s #dataflow uses the global fast executor 514s #dataflow_with uses the given executor 514s #dataflow_with raises an exception when no executor given 514s accepts zero or more dependencies 515s accepts uncompleted dependencies 515s accepts completed dependencies 515s raises an exception if any dependencies are not IVars 515s doesn't raise exceptions from dependencies, unless called with ! 515s returns a Future 515s does not schedule the Future 515s if no dependencies are completed 515s if one dependency of two is completed 515s schedules the Future when all dependencies are available 515s if there is just one 515s if there is more than one 515s counts already executed dependencies 515s if there is just one 515s if there is more than one 515s passes the values of dependencies into the block 515s if there is just one 515s if there is more than one 515s module function 515s can be called as Concurrent.dataflow and Concurrent.dataflow_with 515s 515s Concurrent::Delay 515s behavior 515s it should behave like dereferenceable 515s defaults :dup_on_deref to false 515s calls #dup when the :dup_on_deref option is true 515s defaults :freeze_on_deref to false 515s calls #freeze when the :freeze_on_deref option is true 515s defaults :copy_on_deref to nil 515s calls the block when the :copy_on_deref option is passed a proc 515s calls the :copy block first followed by #dup followed by #freeze 515s does not call #dup when #dup_on_deref is set and the value is nil 515s does not call #freeze when #freeze_on_deref is set and the value is nil 515s does not call the #copy_on_deref block when the value is nil 515s supports dereference flags with observers 515s it should behave like obligation 515s #state 515s is :pending when first created 515s is :fulfilled when the handler completes 515s is :rejected when the handler raises an exception 515s #value 515s returns nil when reaching the optional timeout value 515s returns immediately when timeout is zero 515s returns the value when fulfilled before timeout 515s returns nil when timeout reached 515s is nil when :pending 515s blocks the caller when :pending and timeout is nil 515s is nil when :rejected 515s is set to the return value of the block when :fulfilled 515s #reason 515s is nil when :pending 515s is nil when :fulfilled 515s is set to error object of the exception when :rejected 515s #initialize 515s sets the state to :pending 515s raises an exception when no block given 515s #reconfigure 515s returns value of block used in reconfiguration 515s returns false when process completed? 515s #value 515s does not call the block before #value is called 515s calls the block when #value is called 515s only calls the block once no matter how often #value is called 515s raises when called recursively 515s can be called twice 515s 515s Concurrent 515s Promises::Channel 515s #capacity 515s #to_s 515s #(try_)push(_op) 515s #(try_)pop(_op) 515s #(try_)pop(_op)_matching 515s #(try_)select(_op) 515s exchanging 515s integration 515s 515s Concurrent 515s ErlangActor 515s on thread 515s is expected to eq [:bad_message, -1] 515s behaves like erlang actor 515s run to termination 515s run to termination with arguments 515s #receive 515s pid has name 515s receives message 515s receives message with matchers 515s spawn(link: true) 515s termination 515s monitoring 515s (de)monitor 515s demonitor 516s demonitor should leave the down message in the inbox if it's already there 516s notifications 1 516s notifications 2 516s linking 516s links 516s unlinks 516s link dead 516s link dead when trapping 516s exit/1 when linked 516s 1 516s 2 516s 3 516s 4 516s 5 516s 6 516s 7 516s 8 516s 9 516s exit/2 when linked 516s 1 516s 2 516s 3 516s 4 516s 5 516s 6 516s 7 516s 8 516s 9 516s 10 516s 11 516s 12 516s 13 516s asking 516s replies 516s timing out (PENDING: flaky on truffleruby and jruby) 516s rejects on no reply 516s on pool 516s receives message repeatedly with keep 516s class defined 516s behaves like erlang actor 516s run to termination 516s run to termination with arguments 516s #receive 516s pid has name 516s receives message 516s receives message with matchers 516s spawn(link: true) 516s termination 516s monitoring 517s (de)monitor 517s demonitor 517s demonitor should leave the down message in the inbox if it's already there 517s notifications 1 517s notifications 2 517s linking 517s links 517s unlinks 517s link dead 517s link dead when trapping 517s exit/1 when linked 517s 1 517s 2 517s 3 517s 4 517s 5 517s 6 517s 7 517s 8 517s 9 517s exit/2 when linked 517s 1 517s 2 517s 3 517s 4 517s 5 517s 6 517s 7 517s 8 517s 9 517s 10 517s 11 517s 12 517s 13 517s asking 517s replies 517s timing out (PENDING: flaky on truffleruby and jruby) 517s rejects on no reply 517s 517s Concurrent::Edge::LockFreeLinkedSet 517s .new 517s when passed default val 517s uses the val arg as data for each node 517s #add 517s appends to the linked set 517s in a multi-threaded environment 517s adds the items to the set 517s #<< 517s appends to the linked set and returns self 517s returns self regardless of whether it was logically added 517s #contains? 517s when checking if set includes a value 517s returns true if a value exists 517s compares object using Object#hash 517s returns false for values not in the set 517s when set is empty 517s does not break 517s when set is long 518s does not break 518s in a multi-threaded environment 518s correctly check that the set contains the item 518s #remove 518s when item is inside of set 518s the item is no longer visible to the user 518s allows for the item to be added despite being physically present 518s in a multi-threaded environment 518s adds the items to the set 518s does not recognize the existence of the item when removed 518s when item is not inside of set 518s does not remove to value 518s the set remains intact 518s when the set is empty 518s remove does not break 518s when the set is large 519s remove successfully removes the node 519s 519s Concurrent::RubyExchanger 519s behaves like exchanger 519s #exchange 519s behaves like exchanger method with indefinite timeout 519s blocks indefinitely 519s receives the other value 519s can be reused 519s behaves like exchanger method with finite timeout 519s blocks until timeout 519s receives the other value 519s can be reused 519s behaves like exchanger method cross-thread interactions 519s when first, waits for a second 519s allows multiple firsts to cancel if necessary 519s #exchange! 519s behaves like exchanger method with indefinite timeout 519s blocks indefinitely 519s receives the other value 519s can be reused 519s behaves like exchanger method with finite timeout 519s blocks until timeout 519s receives the other value 519s can be reused 519s behaves like exchanger method cross-thread interactions 519s when first, waits for a second 520s allows multiple firsts to cancel if necessary 520s #try_exchange 520s behaves like exchanger method with indefinite timeout 520s blocks indefinitely 520s receives the other value 520s can be reused 520s behaves like exchanger method with finite timeout 520s blocks until timeout 520s receives the other value 520s can be reused 520s behaves like exchanger method cross-thread interactions 520s when first, waits for a second 520s allows multiple firsts to cancel if necessary 520s 520s Concurrent::JavaExchanger 520s behaves like exchanger 520s #exchange 520s behaves like exchanger method with indefinite timeout 520s blocks indefinitely 520s receives the other value 520s can be reused 520s behaves like exchanger method with finite timeout 521s blocks until timeout 521s receives the other value 521s can be reused 521s behaves like exchanger method cross-thread interactions 521s when first, waits for a second 521s allows multiple firsts to cancel if necessary 521s #exchange! 521s behaves like exchanger method with indefinite timeout 521s blocks indefinitely 521s receives the other value 521s can be reused 521s behaves like exchanger method with finite timeout 521s blocks until timeout 521s receives the other value 521s can be reused 521s behaves like exchanger method cross-thread interactions 521s when first, waits for a second 522s allows multiple firsts to cancel if necessary 522s #try_exchange 522s behaves like exchanger method with indefinite timeout 522s blocks indefinitely 522s receives the other value 522s can be reused 522s behaves like exchanger method with finite timeout 522s blocks until timeout 522s receives the other value 522s can be reused 522s behaves like exchanger method cross-thread interactions 522s when first, waits for a second 522s allows multiple firsts to cancel if necessary 522s 522s Concurrent::Exchanger 522s class hierarchy 522s inherits from JavaExchanger 522s 522s Concurrent::CachedThreadPool 522s it should behave like thread_pool 523s it should behave like executor_service 523s it should behave like global_thread_pool 523s #post 523s raises an exception if no block is given 523s returns true when the block is added to the queue 523s calls the block with the given arguments 523s aliases #<< 523s #post 524s rejects the block while shutting down 524s rejects the block once shutdown 524s auto terminate 529s does not stop shutdown 529s #running? 529s returns true when the thread pool is running 530s returns false when the thread pool is shutting down 530s returns false when the thread pool is shutdown 530s returns false when the thread pool is killed 530s #shuttingdown? 530s returns false when the thread pool is running 530s returns true when the thread pool is shutting down 530s returns false when the thread pool is shutdown 530s #shutdown? 530s returns false when the thread pool is running 531s returns false when the thread pool is shutting down 531s returns true when the thread pool is shutdown 531s #shutdown 531s stops accepting new tasks 531s allows in-progress tasks to complete 531s allows pending tasks to complete 531s #shutdown followed by #wait_for_termination 532s allows in-progress tasks to complete 532s allows pending tasks to complete 532s stops accepting/running new tasks 532s #kill 532s stops accepting new tasks 532s rejects all pending tasks 532s #wait_for_termination 532s immediately returns true when no operations are pending 532s returns true after shutdown has complete 533s returns true when shutdown successfully completes before timeout 533s returns false when shutdown fails to complete before timeout 534s waits forever when no timeout value is given 534s #auto_terminate? 534s returns true by default 534s returns true when :enable_at_exit_handler is true 534s returns false when :enable_at_exit_handler is false 534s #length 534s returns zero on creation 534s returns zero once shut down 534s #scheduled_task_count 534s returns zero on creation 534s returns the approximate number of tasks that have been post thus far 534s returns the approximate number of tasks that were post 534s #completed_task_count 534s returns zero on creation 534s #shutdown 535s allows threads to exit normally 535s #initialize 535s sets :max_length to DEFAULT_MAX_POOL_SIZE 535s sets :min_length to DEFAULT_MIN_POOL_SIZE 535s sets :idletime to DEFAULT_THREAD_IDLETIMEOUT 535s sets :max_queue to DEFAULT_MAX_QUEUE_SIZE 535s #min_length 535s returns zero on creation 535s returns zero while running 535s returns zero once shutdown 535s #max_length 535s returns :max_length on creation 535s returns :max_length while running 535s returns :max_length once shutdown 535s #largest_length 535s returns zero on creation 535s returns a non-zero number once tasks have been received 535s returns a non-zero number after shutdown if tasks have been received 535s #idletime 535s returns the thread idletime 535s runtime-specific implementation 535s #initialize 535s sets :fallback_policy correctly 535s defaults :fallback_policy to :abort 535s raises an exception if given an invalid :fallback_policy 535s stress 536s is expected to be <= 200 536s is expected to be <= 4 536s 536s Concurrent::FixedThreadPool 536s it should behave like thread_pool 536s it should behave like executor_service 536s it should behave like global_thread_pool 536s #post 536s raises an exception if no block is given 536s returns true when the block is added to the queue 536s calls the block with the given arguments 536s aliases #<< 536s #post 537s rejects the block while shutting down 538s rejects the block once shutdown 538s auto terminate 543s does not stop shutdown 543s #running? 543s returns true when the thread pool is running 543s returns false when the thread pool is shutting down 543s returns false when the thread pool is shutdown 543s returns false when the thread pool is killed 543s #shuttingdown? 543s returns false when the thread pool is running 544s returns true when the thread pool is shutting down 544s returns false when the thread pool is shutdown 544s #shutdown? 544s returns false when the thread pool is running 544s returns false when the thread pool is shutting down 544s returns true when the thread pool is shutdown 544s #shutdown 545s stops accepting new tasks 545s allows in-progress tasks to complete 545s allows pending tasks to complete 545s #shutdown followed by #wait_for_termination 545s allows in-progress tasks to complete 545s allows pending tasks to complete 545s stops accepting/running new tasks 545s #kill 546s stops accepting new tasks 546s rejects all pending tasks 546s #wait_for_termination 546s immediately returns true when no operations are pending 546s returns true after shutdown has complete 546s returns true when shutdown successfully completes before timeout 547s returns false when shutdown fails to complete before timeout 547s waits forever when no timeout value is given 547s #auto_terminate? 547s returns true by default 547s returns true when :enable_at_exit_handler is true 547s returns false when :enable_at_exit_handler is false 547s #length 547s returns zero on creation 547s returns zero once shut down 547s #scheduled_task_count 547s returns zero on creation 547s returns the approximate number of tasks that have been post thus far 547s returns the approximate number of tasks that were post 547s #completed_task_count 547s returns zero on creation 547s #shutdown 548s allows threads to exit normally 548s #initialize default values 548s defaults :min_length correctly 548s defaults :max_length correctly 548s defaults :fallback_policy to :abort 548s defaults :idletime correctly 548s defaults default :max_queue to zero 548s #initialize explicit values 548s raises an exception when the pool length is less than one 548s sets explicit :max_queue correctly 548s correctly sets valid :fallback_policy 548s correctly sets valid :idletime 548s raises an exception if given an invalid :fallback_policy 548s #min_length 548s returns :num_threads on creation 548s returns :num_threads while running 548s returns :num_threads once shutdown 548s #max_length 548s returns :num_threads on creation 548s returns :num_threads while running 548s returns :num_threads once shutdown 548s #length 548s returns :num_threads while running 548s #largest_length 548s returns zero on creation 548s returns :num_threads while running 548s returns :num_threads once shutdown 548s #kill 549s attempts to kill all in-progress tasks 549s worker creation and caching 549s never creates more than :num_threads threads 549s fallback policy 549s raises an error when overflow on abort 550s discards when fallback_policy is :discard 550s uses the calling thread for overflow under caller_runs 550s runtime-specific implementation 550s sets :fallback_policy correctly 550s 550s Concurrent::ImmediateExecutor 550s it should behave like executor_service 550s it should behave like global_thread_pool 550s #post 550s raises an exception if no block is given 550s returns true when the block is added to the queue 550s calls the block with the given arguments 550s aliases #<< 550s #post 551s rejects the block while shutting down 551s rejects the block once shutdown 551s auto terminate 557s does not stop shutdown 557s #running? 557s returns true when the thread pool is running 557s returns false when the thread pool is shutting down 557s returns false when the thread pool is shutdown 557s returns false when the thread pool is killed 557s #shuttingdown? 557s returns false when the thread pool is running 557s returns true when the thread pool is shutting down (PENDING: will never be in shuttingdown? state) 557s returns false when the thread pool is shutdown 557s #shutdown? 557s returns false when the thread pool is running 558s returns false when the thread pool is shutting down (PENDING: will never be in shuttingdown? state) 558s returns true when the thread pool is shutdown 558s #shutdown 558s stops accepting new tasks 558s allows in-progress tasks to complete 558s allows pending tasks to complete 558s #shutdown followed by #wait_for_termination 558s allows in-progress tasks to complete 559s allows pending tasks to complete 559s stops accepting/running new tasks 559s #kill 559s stops accepting new tasks 561s rejects all pending tasks 561s #wait_for_termination 561s immediately returns true when no operations are pending 561s returns true after shutdown has complete 561s returns true when shutdown successfully completes before timeout 561s returns false when shutdown fails to complete before timeout 562s waits forever when no timeout value is given 562s 562s Concurrent::IndirectImmediateExecutor 562s runs its tasks synchronously 562s runs the task on a separate thread 562s it should behave like executor_service 562s it should behave like global_thread_pool 562s #post 562s raises an exception if no block is given 562s returns true when the block is added to the queue 562s calls the block with the given arguments 562s aliases #<< 562s #post 563s rejects the block while shutting down 563s rejects the block once shutdown 563s auto terminate 569s does not stop shutdown 569s #running? 569s returns true when the thread pool is running 569s returns false when the thread pool is shutting down 569s returns false when the thread pool is shutdown 569s returns false when the thread pool is killed 569s #shuttingdown? 569s returns false when the thread pool is running 569s returns true when the thread pool is shutting down (PENDING: will never be in shuttingdown? state) 569s returns false when the thread pool is shutdown 569s #shutdown? 569s returns false when the thread pool is running 569s returns false when the thread pool is shutting down (PENDING: will never be in shuttingdown? state) 569s returns true when the thread pool is shutdown 569s #shutdown 569s stops accepting new tasks 570s allows in-progress tasks to complete 570s allows pending tasks to complete 570s #shutdown followed by #wait_for_termination 570s allows in-progress tasks to complete 571s allows pending tasks to complete 571s stops accepting/running new tasks 571s #kill 571s stops accepting new tasks 572s rejects all pending tasks 572s #wait_for_termination 572s immediately returns true when no operations are pending 572s returns true after shutdown has complete 573s returns true when shutdown successfully completes before timeout 573s returns false when shutdown fails to complete before timeout 574s waits forever when no timeout value is given 574s 574s Concurrent::JavaSingleThreadExecutor 574s it should behave like executor_service 574s it should behave like global_thread_pool 574s #post 574s raises an exception if no block is given 574s returns true when the block is added to the queue 574s calls the block with the given arguments 574s aliases #<< 574s #post 575s rejects the block while shutting down 575s rejects the block once shutdown 575s auto terminate 580s does not stop shutdown 580s #running? 580s returns true when the thread pool is running 581s returns false when the thread pool is shutting down 581s returns false when the thread pool is shutdown 581s returns false when the thread pool is killed 581s #shuttingdown? 581s returns false when the thread pool is running 581s returns true when the thread pool is shutting down 581s returns false when the thread pool is shutdown 581s #shutdown? 581s returns false when the thread pool is running 582s returns false when the thread pool is shutting down 582s returns true when the thread pool is shutdown 582s #shutdown 582s stops accepting new tasks 582s allows in-progress tasks to complete 583s allows pending tasks to complete 583s #shutdown followed by #wait_for_termination 583s allows in-progress tasks to complete 583s allows pending tasks to complete 584s stops accepting/running new tasks 584s #kill 584s stops accepting new tasks 584s rejects all pending tasks 584s #wait_for_termination 584s immediately returns true when no operations are pending 584s returns true after shutdown has complete 585s returns true when shutdown successfully completes before timeout 585s returns false when shutdown fails to complete before timeout 585s waits forever when no timeout value is given 585s 585s Concurrent::JavaThreadPoolExecutor 585s it should behave like thread_pool 585s it should behave like executor_service 585s it should behave like global_thread_pool 585s #post 585s raises an exception if no block is given 585s returns true when the block is added to the queue 585s calls the block with the given arguments 585s aliases #<< 585s #post 586s rejects the block while shutting down 586s rejects the block once shutdown 586s auto terminate 592s does not stop shutdown 592s #running? 592s returns true when the thread pool is running 592s returns false when the thread pool is shutting down 592s returns false when the thread pool is shutdown 592s returns false when the thread pool is killed 592s #shuttingdown? 592s returns false when the thread pool is running 593s returns true when the thread pool is shutting down 593s returns false when the thread pool is shutdown 593s #shutdown? 593s returns false when the thread pool is running 593s returns false when the thread pool is shutting down 594s returns true when the thread pool is shutdown 594s #shutdown 594s stops accepting new tasks 594s allows in-progress tasks to complete 594s allows pending tasks to complete 594s #shutdown followed by #wait_for_termination 594s allows in-progress tasks to complete 595s allows pending tasks to complete 595s stops accepting/running new tasks 595s #kill 595s stops accepting new tasks 595s rejects all pending tasks 595s #wait_for_termination 595s immediately returns true when no operations are pending 595s returns true after shutdown has complete 596s returns true when shutdown successfully completes before timeout 596s returns false when shutdown fails to complete before timeout 596s waits forever when no timeout value is given 596s #auto_terminate? 596s returns true by default 596s returns true when :enable_at_exit_handler is true 596s returns false when :enable_at_exit_handler is false 596s #length 596s returns zero on creation 597s returns zero once shut down 597s #scheduled_task_count 597s returns zero on creation 597s returns the approximate number of tasks that have been post thus far 597s returns the approximate number of tasks that were post 597s #completed_task_count 597s returns zero on creation 597s #shutdown 598s allows threads to exit normally 598s it should behave like thread_pool_executor 598s #initialize defaults 598s defaults :min_length to DEFAULT_MIN_POOL_SIZE 598s defaults :max_length to DEFAULT_MAX_POOL_SIZE 598s defaults :idletime to DEFAULT_THREAD_IDLETIMEOUT 598s defaults :max_queue to DEFAULT_MAX_QUEUE_SIZE 598s defaults :fallback_policy to :abort 598s defaults :name to nil 598s #initialize explicit values 598s sets :min_threads 598s sets :max_threads 598s sets :idletime 598s doesn't allow max_threads < min_threads 598s accepts all valid fallback policies 598s raises an exception if :max_threads is less than zero 598s raises an exception if :min_threads is less than zero 598s raises an exception if :max_threads greater than the max allowable 598s raises an exception if :max_threads is less than :min_threads 598s raises an exception if given an invalid :fallback_policy 598s sets :name 598s #max_queue 598s returns the set value on creation 598s returns the set value when running 598s returns the set value after stopping 598s #synchronous 598s cannot be set unless `max_queue` is zero 598s executes fallback policy once max_threads has been reached 598s #queue_length 598s returns zero on creation 598s returns zero when there are no enqueued tasks 598s returns the size of the queue when tasks are enqueued 598s returns zero when stopped 598s can never be greater than :max_queue 598s #remaining_capacity 598s returns -1 when :max_queue is set to zero 598s returns :max_length on creation 598s returns :max_length when stopped 598s #active_count 598s returns the number of threads that are actively executing tasks. 598s #fallback_policy 598s :abort 598s #post raises an error when the queue is at capacity 598s #<< raises an error when the queue is at capacity 598s #post raises an error when the executor is shutting down 598s #<< raises an error when the executor is shutting down 598s a #post task is never executed when the queue is at capacity 598s a #<< task is never executed when the queue is at capacity 598s :discard 598s a #post task is never executed when the queue is at capacity 598s a #<< task is never executed when the queue is at capacity 598s a #post task is never executed when the executor is shutting down 598s a #<< task is never executed when the executor is shutting down 598s #post returns false when the executor is shutting down 598s :caller_runs 598s #post does not create any new threads when the queue is at capacity 599s native console only tested on i386, x86_64, powerpc64, aarch64, s390x 599s #<< executes the task on the current thread when the queue is at capacity 599s #post executes the task on the current thread when the queue is at capacity 599s #post executes the task on the current thread when the executor is shutting down 599s #<< executes the task on the current thread when the executor is shutting down 599s #post does not block other jobs running on the worker threads 599s prune 599s is a no-op, pruning is handled by the JVM 599s #overload_policy 599s :abort maps to AbortPolicy 599s :discard maps to DiscardPolicy 599s :caller_runs maps to CallerRunsPolicy 599s 599s Concurrent::RubySingleThreadExecutor 599s it should behave like executor_service 599s it should behave like global_thread_pool 599s #post 599s raises an exception if no block is given 599s returns true when the block is added to the queue 599s calls the block with the given arguments 599s aliases #<< 599s #post 600s rejects the block while shutting down 600s rejects the block once shutdown 600s auto terminate 606s does not stop shutdown 606s #running? 606s returns true when the thread pool is running 606s returns false when the thread pool is shutting down 606s returns false when the thread pool is shutdown 606s returns false when the thread pool is killed 606s #shuttingdown? 606s returns false when the thread pool is running 607s returns true when the thread pool is shutting down 607s returns false when the thread pool is shutdown 607s #shutdown? 607s returns false when the thread pool is running 607s returns false when the thread pool is shutting down 607s returns true when the thread pool is shutdown 607s #shutdown 608s stops accepting new tasks 608s allows in-progress tasks to complete 608s allows pending tasks to complete 608s #shutdown followed by #wait_for_termination 608s allows in-progress tasks to complete 609s allows pending tasks to complete 609s stops accepting/running new tasks 609s #kill 609s stops accepting new tasks 609s rejects all pending tasks 609s #wait_for_termination 609s immediately returns true when no operations are pending 610s returns true after shutdown has complete 610s returns true when shutdown successfully completes before timeout 610s returns false when shutdown fails to complete before timeout 611s waits forever when no timeout value is given 611s 611s Concurrent::RubyThreadPoolExecutor 611s it should behave like thread_pool 611s it should behave like executor_service 611s it should behave like global_thread_pool 611s #post 611s raises an exception if no block is given 611s returns true when the block is added to the queue 611s calls the block with the given arguments 611s aliases #<< 611s #post 612s rejects the block while shutting down 612s rejects the block once shutdown 612s auto terminate 617s does not stop shutdown 617s #running? 617s returns true when the thread pool is running 618s returns false when the thread pool is shutting down 618s returns false when the thread pool is shutdown 618s returns false when the thread pool is killed 618s #shuttingdown? 618s returns false when the thread pool is running 618s returns true when the thread pool is shutting down 618s returns false when the thread pool is shutdown 618s #shutdown? 618s returns false when the thread pool is running 619s returns false when the thread pool is shutting down 619s returns true when the thread pool is shutdown 619s #shutdown 619s stops accepting new tasks 619s allows in-progress tasks to complete 619s allows pending tasks to complete 619s #shutdown followed by #wait_for_termination 619s allows in-progress tasks to complete 620s allows pending tasks to complete 620s stops accepting/running new tasks 620s #kill 620s stops accepting new tasks 620s rejects all pending tasks 620s #wait_for_termination 620s immediately returns true when no operations are pending 620s returns true after shutdown has complete 621s returns true when shutdown successfully completes before timeout 621s returns false when shutdown fails to complete before timeout 621s waits forever when no timeout value is given 621s #auto_terminate? 621s returns true by default 621s returns true when :enable_at_exit_handler is true 621s returns false when :enable_at_exit_handler is false 621s #length 621s returns zero on creation 621s returns zero once shut down 621s #scheduled_task_count 621s returns zero on creation 621s returns the approximate number of tasks that have been post thus far 622s returns the approximate number of tasks that were post 622s #completed_task_count 622s returns zero on creation 622s #shutdown 623s allows threads to exit normally 623s it should behave like thread_pool_executor 623s #initialize defaults 623s defaults :min_length to DEFAULT_MIN_POOL_SIZE 623s defaults :max_length to DEFAULT_MAX_POOL_SIZE 623s defaults :idletime to DEFAULT_THREAD_IDLETIMEOUT 623s defaults :max_queue to DEFAULT_MAX_QUEUE_SIZE 623s defaults :fallback_policy to :abort 623s defaults :name to nil 623s #initialize explicit values 623s sets :min_threads 623s sets :max_threads 623s sets :idletime 623s doesn't allow max_threads < min_threads 623s accepts all valid fallback policies 623s raises an exception if :max_threads is less than zero 623s raises an exception if :min_threads is less than zero 623s raises an exception if :max_threads greater than the max allowable 623s raises an exception if :max_threads is less than :min_threads 623s raises an exception if given an invalid :fallback_policy 623s sets :name 623s #max_queue 623s returns the set value on creation 623s returns the set value when running 623s returns the set value after stopping 623s #synchronous 623s cannot be set unless `max_queue` is zero 623s executes fallback policy once max_threads has been reached 623s #queue_length 623s returns zero on creation 623s returns zero when there are no enqueued tasks 623s returns the size of the queue when tasks are enqueued 623s returns zero when stopped 623s can never be greater than :max_queue 623s #remaining_capacity 623s returns -1 when :max_queue is set to zero 623s returns :max_length on creation 623s returns :max_length when stopped 623s #active_count 623s returns the number of threads that are actively executing tasks. 623s #fallback_policy 623s :abort 623s #post raises an error when the queue is at capacity 623s #<< raises an error when the queue is at capacity 623s #post raises an error when the executor is shutting down 623s #<< raises an error when the executor is shutting down 623s a #post task is never executed when the queue is at capacity 623s a #<< task is never executed when the queue is at capacity 623s :discard 623s a #post task is never executed when the queue is at capacity 623s a #<< task is never executed when the queue is at capacity 623s a #post task is never executed when the executor is shutting down 623s a #<< task is never executed when the executor is shutting down 623s #post returns false when the executor is shutting down 623s :caller_runs 623s #post does not create any new threads when the queue is at capacity 623s #<< executes the task on the current thread when the queue is at capacity 623s #post executes the task on the current thread when the queue is at capacity 623s #post executes the task on the current thread when the executor is shutting down 623s #<< executes the task on the current thread when the executor is shutting down 623s #post does not block other jobs running on the worker threads 623s #remaining_capacity 623s returns :max_length when no tasks are enqueued 623s returns the remaining capacity when tasks are enqueued 623s threads naming 623s without pool name 623s sets counted name 623s with pool name 623s sets counted name 623s 623s Concurrent::SafeTaskExecutor 623s #execute 623s happy execution 623s should return success 623s should return task value 623s should return a nil reason 623s passes all arguments to #execute to the task 623s protectes #execute with a mutex 623s failing execution 623s should return false success 623s should return a nil value 623s should return the reason 623s rescues Exception when :rescue_exception is true 623s rescues StandardError when :rescue_exception is false 623s rescues StandardError by default 623s 623s Concurrent::SerializedExecutionDelegator 623s it should behave like executor_service 623s it should behave like global_thread_pool 623s #post 623s raises an exception if no block is given 623s returns true when the block is added to the queue 623s calls the block with the given arguments 623s aliases #<< 623s #post 624s rejects the block while shutting down 625s rejects the block once shutdown 625s auto terminate 630s does not stop shutdown 630s #running? 630s returns true when the thread pool is running 631s returns false when the thread pool is shutting down 631s returns false when the thread pool is shutdown 631s returns false when the thread pool is killed 631s #shuttingdown? 631s returns false when the thread pool is running 631s returns true when the thread pool is shutting down (PENDING: will never be in shuttingdown? state) 631s returns false when the thread pool is shutdown 631s #shutdown? 631s returns false when the thread pool is running 631s returns false when the thread pool is shutting down (PENDING: will never be in shuttingdown? state) 631s returns true when the thread pool is shutdown 631s #shutdown 631s stops accepting new tasks 631s allows in-progress tasks to complete 632s allows pending tasks to complete 632s #shutdown followed by #wait_for_termination 632s allows in-progress tasks to complete 632s allows pending tasks to complete 632s stops accepting/running new tasks 632s #kill 633s stops accepting new tasks 634s rejects all pending tasks 634s #wait_for_termination 634s immediately returns true when no operations are pending 634s returns true after shutdown has complete 635s returns true when shutdown successfully completes before timeout 635s returns false when shutdown fails to complete before timeout 635s waits forever when no timeout value is given 635s 635s Concurrent::SimpleExecutorService 635s it should behave like executor_service 635s it should behave like global_thread_pool 635s #post 635s raises an exception if no block is given 635s returns true when the block is added to the queue 635s calls the block with the given arguments 635s aliases #<< 635s #post 636s rejects the block while shutting down 636s rejects the block once shutdown 636s auto terminate 642s does not stop shutdown 642s #running? 642s returns true when the thread pool is running 642s returns false when the thread pool is shutting down 642s returns false when the thread pool is shutdown 642s returns false when the thread pool is killed 642s #shuttingdown? 642s returns false when the thread pool is running 643s returns true when the thread pool is shutting down 643s returns false when the thread pool is shutdown 643s #shutdown? 643s returns false when the thread pool is running 643s returns false when the thread pool is shutting down 643s returns true when the thread pool is shutdown 643s #shutdown 644s stops accepting new tasks 644s allows in-progress tasks to complete 644s allows pending tasks to complete 644s #shutdown followed by #wait_for_termination 644s allows in-progress tasks to complete 644s allows pending tasks to complete 644s stops accepting/running new tasks 644s #kill 644s stops accepting new tasks 645s rejects all pending tasks 645s #wait_for_termination 645s immediately returns true when no operations are pending 645s returns true after shutdown has complete 645s returns true when shutdown successfully completes before timeout 645s returns false when shutdown fails to complete before timeout 646s waits forever when no timeout value is given 646s #post 646s creates a new thread for a call without arguments 646s executes a call without arguments 646s creates a new thread for a call with arguments 646s executes a call with one argument 646s executes a call with multiple arguments 646s aliases #<< 646s SimpleExecutorService.post 646s creates a new thread for a call without arguments 646s executes a call without arguments 646s creates a new thread for a call with arguments 646s executes a call with one argument 646s executes a call with multiple arguments 646s aliases #<< 646s 646s Concurrent::SingleThreadExecutor 646s inherits from JavaSingleThreadExecutor 646s 646s Concurrent::ThreadPoolExecutor 646s inherits from JavaThreadPoolExecutor 646s 646s Concurrent::TimerSet 646s construction 646s uses the executor given at construction 646s uses the global io executor be default 646s #post 646s raises an exception when given a task with a delay less than zero 646s raises an exception when no block given 646s immediately posts a task when the delay is zero 646s execution 646s executes a given task when given an interval in seconds 646s returns an IVar when posting a task 646s executes a given task when given an interval in seconds, even if longer tasks have been scheduled 646s passes all arguments to the task on execution 647s does not execute tasks early 647s executes all tasks scheduled for the same time 647s executes tasks with different times in schedule order 647s executes tasks with different times in schedule time 647s continues to execute new tasks even after the queue is emptied 648s safely handles an executor raising RejectedExecutionError 648s resolution 648s sets the IVar value on success when delay is zero 648s sets the IVar value on success when given a delay 648s sets the IVar reason on failure when delay is zero 648s sets the IVar reason on failure when given a delay 648s task cancellation 648s fails to cancel the task once processing has begun 648s fails to cancel the task once processing is complete 648s cancels a pending task 648s returns false when not running 648s task rescheduling 648s raises an exception when given an invalid time 648s does not change the current schedule when given an invalid time 648s reschdules a pending and unpost task when given a valid time 648s returns false once the task has been post to the executor 648s returns false once the task is processing 648s returns false once the task has is complete 648s returns false when not running 648s task resetting 648s calls #reschedule with the original delay 648s termination 648s cancels all pending tasks on #shutdown 648s cancels all pending tasks on #kill 648s stops the monitor thread on #shutdown 648s kills the monitor thread on #kill 648s rejects tasks once shutdown 648s rejects tasks once killed 648s #wait_for_termination returns true if shutdown completes before timeout 649s #wait_for_termination returns false on timeout 649s state 649s is running? when first created 649s is running? after tasks have been post 649s is shutdown? after shutdown completes 649s is shutdown? after being killed 649s 649s Concurrent::WrappingExecutor 649s is expected to be a kind of Concurrent::WrappingExecutor 649s is expected to respond to #post 649s is expected to respond to #can_overflow? 649s is expected to respond to #serialized? 649s #post 649s with passthrough wrapper 649s is expected to equal # 649s with wrapper modifying args 649s is expected to equal # 649s with wrapper modifying task 649s is expected to equal # 649s 649s Concurrent::Future 649s it should behave like ivar 649s it should behave like obligation 649s #state 649s is :pending when first created 649s is :fulfilled when the handler completes 649s is :rejected when the handler raises an exception 649s #value 649s returns nil when reaching the optional timeout value 649s returns immediately when timeout is zero 654s returns the value when fulfilled before timeout 654s returns nil when timeout reached 654s is nil when :pending 659s blocks the caller when :pending and timeout is nil 659s is nil when :rejected 659s is set to the return value of the block when :fulfilled 659s #reason 659s is nil when :pending 659s is nil when :fulfilled 659s is set to error object of the exception when :rejected 659s it should behave like dereferenceable 659s defaults :dup_on_deref to false 659s calls #dup when the :dup_on_deref option is true 659s defaults :freeze_on_deref to false 660s calls #freeze when the :freeze_on_deref option is true 660s defaults :copy_on_deref to nil 660s calls the block when the :copy_on_deref option is passed a proc 660s calls the :copy block first followed by #dup followed by #freeze 660s does not call #dup when #dup_on_deref is set and the value is nil 661s does not call #freeze when #freeze_on_deref is set and the value is nil 661s does not call the #copy_on_deref block when the value is nil 661s supports dereference flags with observers 661s it should behave like observable 661s #add_observer 661s adds an observer if called before first notification 661s adds an observer with :func if called before first notification 661s creates an observer from a block if called before first notification 661s raises an exception if not given an observer or a block 661s raises an exception when given both an observer and a block 661s #delete_observer 661s deletes the given observer if called before first notification 661s returns the removed observer if found in the observer set 661s returns the given observer even when not found in the observer set 661s #delete_observers 661s deletes all observers when called before first notification 661s returns self 661s #count_observers 661s returns zero for a new observable object 661s returns a count of registered observers if called before first notification 661s returns zero after #delete_observers has been called 661s first notification 661s calls the #update method on all observers without a specified :func 661s calls the appropriate function on all observers which specified a :func 661s calls the proc for all observers added as a block 662s does not notify any observers removed with #delete_observer 663s does not notify any observers after #delete_observers called 663s initialization 663s sets the state to incomplete 663s #set 663s sets the state to be fulfilled 663s sets the value 663s raises an exception if set more than once 663s returns self 663s fulfils when given a block which executes successfully 663s rejects when given a block which raises an exception 663s raises an exception when given a value and a block 663s raises an exception when given neither a value nor a block 663s #fail 663s sets the state to be rejected 663s sets the value to be nil 663s sets the reason to the given exception 663s raises an exception if set more than once 663s defaults the reason to a StandardError 663s returns self 663s #try_set 663s when unset 663s assigns the value 663s assigns the block result 663s returns true 663s when fulfilled 663s does not assign the value 663s does not assign the block result 663s returns false 663s when rejected 663s does not assign the value 663s does not assign the block result 664s has a nil value 664s returns false 664s it should behave like thread_arguments 664s passes an empty array when opts is not given 664s passes an empty array when opts is an empty hash 664s passes an empty array when there is no :args key 664s passes an empty array when the :args key has a nil value 664s passes a one-element array when the :args key has a non-array value 664s passes an array when when the :args key has an array value 664s passes the given array when the :args key has a complex array value 664s allows the given arguments array to be dereferenced 664s #initialize 664s sets the state to :unscheduled 664s raises an exception when no block given 664s uses the executor given with the :executor option 664s uses the global io executor by default 664s instance #execute 664s does nothing unless the state is :unscheduled 664s posts the block given on construction 664s sets the state to :pending 664s returns self 664s class #execute 664s creates a new Future 664s passes the block to the new Future 664s calls #execute on the new Future 664s fulfillment 664s sets the state to :processing while the task is executing 664s passes all arguments to handler 664s sets the value to the result of the handler 664s sets the state to :fulfilled when the block completes 664s sets the value to nil when the handler raises an exception 664s sets the value to nil when the handler raises Exception 664s sets the reason to the Exception instance when the handler raises Exception 664s sets the state to :rejected when the handler raises an exception 664s aliases 664s aliases #realized? for #fulfilled? 664s aliases #deref for #value 664s cancellation 664s #cancel 664s fails to cancel the task once processing has begun 664s fails to cancel the task once processing is complete 664s cancels a pending task 664s #wait_or_cancel 664s returns true if the operation completes before timeout 664s cancels the task on timeout 664s observation 664s notifies all observers on fulfillment 664s notifies all observers on rejection 664s notifies an observer added after fulfillment 664s notifies an observer added after rejection 664s does not notify existing observers when a new observer added after fulfillment 664s does not notify existing observers when a new observer added after rejection 664s deadlock avoidance 664s should notify observers outside mutex lock 664s should notify a new observer added after fulfillment outside lock 664s 664s Concurrent::Hash 664s .[] 664s when initializing with no arguments 664s is expected to be empty 664s when initializing with an even number of arguments 664s creates a hash using the odd position arguments as keys and even position arguments as values 664s when initializing with an array of pairs 664s creates a hash using each pair as a (key, value) pair 664s when initializing with another hash as an argument 664s creates a new hash 664s creates a hash with the same contents as the other hash 664s creates a hash with the results of calling #to_hash on the other array 664s .new 664s when initializing with no arguments 664s is expected to be empty 664s when initialized with a default object 664s uses the default object for non-existing keys 664s when initialized with a block 664s calls the block for non-existing keys 664s returns the results of calling the block for non-existing key 664s concurrency 664s is expected to be empty 664s 664s Concurrent::ImmutableStruct 664s it should behave like struct 664s definition 664s registers the class when given a class name 664s registers the class when given a class name which is defined in the ancestors 664s creates an anonymous class when given at least one member 664s raises an exception when given an invalid class name 664s defines a getter for each member 664s raises an exception when given no members 664s raise an exception when given an invalid member 664s evalues a given block against the new class 664s construction 664s sets all absent members to nil 664s sets all given members in order 664s raises an exception when extra members are given 664s properties 665s #length 665s returns the number of struct members 665s #members 665s returns the struct members as an array of symbols 665s returns a different object than the array passed at definition 665s #size 665s returns the number of struct members 665s #values 665s returns the values of the struct as an array in order 665s #values_at 665s returns the value at the given offset 665s returns the values at multiple given offsets 665s returns values at offsets in a given range 665s returns values for multiple ranges 665s returns values for ranges and offsets 665s accessors 665s #[member] 665s retrieves the value when given a valid symbol member 665s retrieves the value when given a valid string member 665s raises an exception when given a non-existent symbol member 665s raises an exception when given a non-existent string member 665s #[index] 665s retrieves the value when given a valid index 665s raises an exception when given an out-of-bound index 665s comparison 665s #== 665s returns true if other has same struct subclass and equal values 665s returns false if other has different struct subclass 665s returns false if other has different values 665s #!= 665s returns false if other has same struct subclass and equal values 665s returns true if other has different struct subclass 665s returns true if other has different values 665s enumeration 665s #each 665s yields the value of each struct member in order 665s returns an enumerator when no block is given 665s #each_pair 665s yields the name and value of each struct member in order 665s returns an enumerator when no block is given 665s #select 665s yields each value 665s returns an Array with the values from for which the block returns true 665s returns an enumerator when no block is given 665s conversion 665s #to_s 665s includes the name of the class when registered 665s includes the names of all members 665s includes all values 665s returns the same string as #inspect 665s #to_a 665s returns the to_a for this struct as an array 665s #to_h 665s returns a Hash containing the names and values in order 665s copy 665s #dup 665s shallowly duplicates all members along with the struct 665s discards frozen state of the struct 665s retains frozen state of members 665s discards singleton class 665s copies the singleton class of members 665s #clone 665s shallowly clones all members along with the struct 665s retains frozen state 665s copies the singleton class 665s copies the singleton class of members 665s it should behave like mergeable_struct 665s #merge 665s updates all members with the new values from a given hash 665s calls the given block for each key in `other` 665s retains the value for all members not without values in the given hash 665s raises an exception when given a hash with members not in the struct 665s returns a new object 665s 665s Concurrent::IVar 665s it should behave like ivar 665s it should behave like obligation 665s #state 665s is :pending when first created 665s is :fulfilled when the handler completes 665s is :rejected when the handler raises an exception 665s #value 665s returns nil when reaching the optional timeout value 665s returns immediately when timeout is zero 665s returns the value when fulfilled before timeout 665s returns nil when timeout reached 665s is nil when :pending 665s blocks the caller when :pending and timeout is nil 665s is nil when :rejected 665s is set to the return value of the block when :fulfilled 665s #reason 665s is nil when :pending 665s is nil when :fulfilled 665s is set to error object of the exception when :rejected 665s it should behave like dereferenceable 665s defaults :dup_on_deref to false 665s calls #dup when the :dup_on_deref option is true 665s defaults :freeze_on_deref to false 665s calls #freeze when the :freeze_on_deref option is true 665s defaults :copy_on_deref to nil 665s calls the block when the :copy_on_deref option is passed a proc 665s calls the :copy block first followed by #dup followed by #freeze 665s does not call #dup when #dup_on_deref is set and the value is nil 665s does not call #freeze when #freeze_on_deref is set and the value is nil 665s does not call the #copy_on_deref block when the value is nil 665s supports dereference flags with observers 665s it should behave like observable 665s #add_observer 665s adds an observer if called before first notification 665s adds an observer with :func if called before first notification 665s creates an observer from a block if called before first notification 665s raises an exception if not given an observer or a block 665s raises an exception when given both an observer and a block 665s #delete_observer 665s deletes the given observer if called before first notification 665s returns the removed observer if found in the observer set 665s returns the given observer even when not found in the observer set 665s #delete_observers 665s deletes all observers when called before first notification 665s returns self 665s #count_observers 665s returns zero for a new observable object 665s returns a count of registered observers if called before first notification 665s returns zero after #delete_observers has been called 665s first notification 665s calls the #update method on all observers without a specified :func 665s calls the appropriate function on all observers which specified a :func 665s calls the proc for all observers added as a block 666s does not notify any observers removed with #delete_observer 667s does not notify any observers after #delete_observers called 667s initialization 667s sets the state to incomplete 667s #set 667s sets the state to be fulfilled 667s sets the value 667s raises an exception if set more than once 667s returns self 667s fulfils when given a block which executes successfully 667s rejects when given a block which raises an exception 667s raises an exception when given a value and a block 667s raises an exception when given neither a value nor a block 667s #fail 667s sets the state to be rejected 667s sets the value to be nil 667s sets the reason to the given exception 667s raises an exception if set more than once 667s defaults the reason to a StandardError 667s returns self 667s #try_set 667s when unset 667s assigns the value 667s assigns the block result 667s returns true 667s when fulfilled 667s does not assign the value 667s does not assign the block result 667s returns false 667s when rejected 667s does not assign the value 667s does not assign the block result 667s has a nil value 667s returns false 667s #initialize 667s does not have to set an initial value 667s does not set an initial value if you pass NULL 667s can set an initial value 667s can set an initial value with a block 667s raises an exception if given both a value and a block 667s observation 667s notifies all observers on #set 667s deadlock avoidance 667s should notify observers outside mutex lock 667s should notify a new observer added after fulfillment outside lock 667s 667s Concurrent::LazyRegister 667s example at ./spec/concurrent/lazy_register_spec.rb:6 (PENDING: Not yet implemented) 667s 667s Concurrent::Map 668s default_proc is called with the Concurrent::Map and the key 668s default_proc is called with the Concurrent::Map and the key after #dup 668s concurrency 668s retrieval 668s #put_if_absent 668s updates dont block reads 668s collision resistance 680s collision resistance with arrays 680s #replace_pair 680s #replace_if_exists 680s #get_and_set 680s #key 680s #key? 680s #value? 680s #delete 680s #delete_pair 680s default proc 680s falsy default proc 680s #clear 680s #keys 680s #values 680s #each_key 680s #each_value 680s #empty 680s options validation 680s initial capacity options validation 680s load factor options validation 680s #size 680s #get_or_default 680s #dup,#clone 680s is unfreezable 680s marshal dump load 680s marshal dump does not work with default proc 680s #inspect 680s #compute_if_absent 680s works in default_proc 680s common 680s with return 680s exception 681s atomicity 681s #compute_if_present 681s common 681s with return 681s exception 681s #compute 681s common 681s with return 681s exception 681s #merge_pair 681s common 681s with return 681s exception 681s #fetch 681s common 681s falsy 681s with return 681s #fetch_or_store 681s common 681s falsy 681s with return 681s #each_pair 681s it should behave like collection_each 681s common 681s pair iterator 681s allows modification 681s when no block is given 681s returns an enumerator 681s returns an object which is enumerable 681s #each 681s it should behave like collection_each 681s common 681s pair iterator 681s allows modification 681s when no block is given 681s returns an enumerator 681s returns an object which is enumerable 681s 681s Concurrent::Maybe 681s construction 681s hides Maybe.new 681s Maybe.from 681s raises an exception when no block is given 681s passes all arguments to the block 681s creates a Just Maybe on success 681s sets the value to the block result on success 681s creates a Nothing Maybe on exception 681s sets the reason to the error object on exception 681s Maybe.just 681s creates a new Just Maybe 681s Maybe.nothing 681s creates a new Nothing Maybe 681s uses the given Error object 681s creates a new error object with the given string 681s creates a new error object when given nothing 681s when just 681s #just? returns true 681s #fulfilled? returns true 681s #nothing? returns false 681s #rejected? returns false 681s #just returns the value 681s #value returns the value 681s #nothing returns NONE 681s #reason returns NONE 681s when nothing 681s #just? returns false 681s #fulfilled? returns false 681s #nothing? returns true 681s #rejected? returns true 681s #just returns NONE 681s #value returns NONE 681s #nothing returns the raised error 681s #reason returns the raised error 681s comparison 681s something is not equal to nothing 681s nothing is equal to nothing 681s something is equal to the same value 681s something is not equal to a different value 681s something is greater than a smaller value 681s something is less than a bigger value 681s nothing is not less than nothing 681s nothing is not greater than nothing 681s #or 681s returns the value when something 681s returns the other when nothing 681s 681s monotonic_time 681s behavior 681s returns seconds as float 681s returns a Float when unit = :float_second 681s returns a Float when unit = :float_millisecond 681s returns a Float when unit = :float_microsecond 681s returns an Integer when unit = :second 681s returns an Integer when unit = :millisecond 681s returns an Integer when unit = :microsecond 681s returns an Integer when unit = :nanosecond 681s raises ArgumentError on unknown units 681s 681s Concurrent::MutableStruct 681s it should behave like struct 681s definition 681s registers the class when given a class name 681s /tmp/autopkgtest.mNG2Ba/build.zLC/src/spec/concurrent/struct_shared.rb:15: warning: already initialized constant ValidClassName2 681s registers the class when given a class name which is defined in the ancestors 681s creates an anonymous class when given at least one member 681s raises an exception when given an invalid class name 681s defines a getter for each member 681s raises an exception when given no members 681s raise an exception when given an invalid member 681s evalues a given block against the new class 681s construction 681s sets all absent members to nil 681s sets all given members in order 681s raises an exception when extra members are given 681s properties 681s #length 681s returns the number of struct members 681s #members 681s returns the struct members as an array of symbols 681s returns a different object than the array passed at definition 681s #size 681s returns the number of struct members 681s #values 681s returns the values of the struct as an array in order 681s #values_at 681s returns the value at the given offset 681s returns the values at multiple given offsets 681s returns values at offsets in a given range 681s returns values for multiple ranges 681s returns values for ranges and offsets 681s accessors 681s #[member] 681s retrieves the value when given a valid symbol member 681s retrieves the value when given a valid string member 681s raises an exception when given a non-existent symbol member 681s raises an exception when given a non-existent string member 681s #[index] 681s retrieves the value when given a valid index 681s raises an exception when given an out-of-bound index 681s comparison 681s #== 681s returns true if other has same struct subclass and equal values 681s returns false if other has different struct subclass 681s returns false if other has different values 681s #!= 681s returns false if other has same struct subclass and equal values 681s returns true if other has different struct subclass 681s returns true if other has different values 681s enumeration 681s #each 681s yields the value of each struct member in order 681s returns an enumerator when no block is given 681s #each_pair 681s yields the name and value of each struct member in order 681s returns an enumerator when no block is given 681s #select 681s yields each value 681s returns an Array with the values from for which the block returns true 681s returns an enumerator when no block is given 681s conversion 681s #to_s 681s includes the name of the class when registered 681s includes the names of all members 681s includes all values 681s returns the same string as #inspect 681s #to_a 681s returns the to_a for this struct as an array 681s #to_h 681s returns a Hash containing the names and values in order 681s copy 681s #dup 681s shallowly duplicates all members along with the struct 681s discards frozen state of the struct 681s retains frozen state of members 681s discards singleton class 681s copies the singleton class of members 681s #clone 681s shallowly clones all members along with the struct 681s retains frozen state 681s copies the singleton class 681s copies the singleton class of members 681s it should behave like mergeable_struct 681s #merge 681s updates all members with the new values from a given hash 681s calls the given block for each key in `other` 681s retains the value for all members not without values in the given hash 681s raises an exception when given a hash with members not in the struct 681s returns a new object 681s definition 681s defines a setter for each member 681s #[member]= 681s sets the value when given a valid symbol member 681s sets the value when given a valid string member 681s raises an exception when given a non-existent symbol member 681s raises an exception when given a non-existent string member 681s #[index]= 681s sets the value when given a valid index 681s raises an exception when given an out-of-bound index 681s synchronization 681s protects #values 681s protects #values_at 681s protects #[index] 681s protects #[member] 681s protects getter methods 681s protects #[index]= 681s protects #[member]= 681s protects getter methods 681s protects #to_s 681s protects #inspect 681s protects #merge 681s protects #to_h 681s protects #== 681s protects #each 681s protects #each_pair 681s protects #select 681s protects #initialize_copy 681s copy 681s #dup 681s mutates only the copy 681s #clone 681s mutates only the copy 681s 681s Concurrent::MVar 681s behavior 681s it should behave like dereferenceable 681s defaults :dup_on_deref to false 681s calls #dup when the :dup_on_deref option is true 681s defaults :freeze_on_deref to false 681s calls #freeze when the :freeze_on_deref option is true 681s defaults :copy_on_deref to nil 681s calls the block when the :copy_on_deref option is passed a proc 681s calls the :copy block first followed by #dup followed by #freeze 681s does not call #dup when #dup_on_deref is set and the value is nil 681s does not call #freeze when #freeze_on_deref is set and the value is nil 681s does not call the #copy_on_deref block when the value is nil 681s supports dereference flags with observers 681s #initialize 681s accepts no initial value 681s accepts an empty initial value 681s accepts an initial value 681s accepts a nil initial value 681s #take 681s sets the MVar to empty 681s returns the value on a full MVar 681s waits for another thread to #put 681s returns TIMEOUT on timeout on an empty MVar 681s #borrow 681s /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 681s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 681s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/yield.rb:101 681s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/yield.rb:7 681s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/yield.rb:6 681s
at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/yield.rb:5 681s require at org/jruby/RubyKernel.java:1184 681s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 681s yield_with_args at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers.rb:920 681s Concurrent at /tmp/autopkgtest.mNG2Ba/build.zLC/src/spec/concurrent/mvar_spec.rb:78 681s instance_exec at org/jruby/RubyBasicObject.java:2620 681s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:263 681s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 681s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 681s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 681s run_around_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:624 681s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 681s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 681s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 681s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:259 681s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:646 681s map at org/jruby/RubyArray.java:2803 681s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:651 681s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:607 681s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:608 681s map at org/jruby/RubyArray.java:2803 681s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:608 681s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121 681s map at org/jruby/RubyArray.java:2803 681s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:145 681s with_suite_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:2091 681s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:116 681s report at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/reporter.rb:74 681s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:115 681s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:89 681s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:71 681s invoke at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:45 681s
at /usr/bin/rspec:4 681s 681s /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 681s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 681s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/yield.rb:149 681s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/yield.rb:7 681s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/yield.rb:6 681s
at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/yield.rb:5 681s require at org/jruby/RubyKernel.java:1184 681s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 681s yield_with_args at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers.rb:920 681s Concurrent at /tmp/autopkgtest.mNG2Ba/build.zLC/src/spec/concurrent/mvar_spec.rb:78 681s instance_exec at org/jruby/RubyBasicObject.java:2620 681s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:263 681s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 681s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 681s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 681s run_around_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:624 681s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 681s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 681s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 681s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:259 681s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:646 681s map at org/jruby/RubyArray.java:2803 681s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:651 681s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:607 681s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:608 681s map at org/jruby/RubyArray.java:2803 681s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:608 681s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121 681s map at org/jruby/RubyArray.java:2803 681s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:145 681s with_suite_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:2091 681s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:116 681s report at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/reporter.rb:74 681s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:115 681s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:89 681s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:71 681s invoke at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:45 681s
at /usr/bin/rspec:4 681s 681s yields current value to the block and puts back value 682s puts back value even if an exception is raised 682s returns the returned value of the block 682s /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 682s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 682s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/yield.rb:296 682s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/yield.rb:7 682s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/yield.rb:6 682s
at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/yield.rb:5 682s require at org/jruby/RubyKernel.java:1184 682s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 682s yield_with_args at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers.rb:920 682s Concurrent at /tmp/autopkgtest.mNG2Ba/build.zLC/src/spec/concurrent/mvar_spec.rb:78 682s instance_exec at org/jruby/RubyBasicObject.java:2620 682s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:263 682s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 682s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 682s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 682s run_around_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:624 682s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 682s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 682s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 682s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:259 682s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:646 682s map at org/jruby/RubyArray.java:2803 682s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:651 682s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:607 682s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:608 682s map at org/jruby/RubyArray.java:2803 682s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:608 682s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121 682s map at org/jruby/RubyArray.java:2803 682s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:145 682s with_suite_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:2091 682s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:116 682s report at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/reporter.rb:74 682s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:115 682s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:89 682s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:71 682s invoke at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:45 682s
at /usr/bin/rspec:4 682s 682s returns TIMEOUT on timeout on an empty MVar 682s #put 682s sets the MVar to be empty 682s sets a new value on an empty MVar 682s waits for another thread to #take 682s returns TIMEOUT on timeout on a full MVar 682s returns the value 682s #empty? 682s returns true on an empty MVar 682s returns false on a full MVar 682s #full? 682s returns false on an empty MVar 682s returns true on a full MVar 682s #modify 682s raises an exception when no block given 682s modifies a full MVar 682s returns the unmodified value 682s waits for another thread to #put 683s is atomic 683s returns TIMEOUT on timeout on an empty MVar 683s #try_put! 683s returns true an empty MVar 683s returns false on a full MVar 683s sets an empty MVar to be full 683s #try_take! 683s returns EMPTY an empty MVar 683s returns the value on a full MVar 683s sets a full MVar to be empty 683s #set! 683s sets an empty MVar to be full 683s sets a full MVar to be full 683s returns EMPTY on an empty MVar 683s returns the original value on a full MVar 683s #modify! 683s raises an exception when no block given 683s modifies a full MVar 683s modifies an empty MVar 683s can be used to set a full MVar to empty 683s can be used to set an empty MVar to empty 683s returns the unmodified value 683s spurious wake ups 683s #take 684s waits for another thread to #put 684s returns TIMEOUT on timeout on an empty MVar 684s #modify 685s waits for another thread to #put 685s returns TIMEOUT on timeout on an empty MVar 685s #put 685s waits for another thread to #take 686s returns TIMEOUT on timeout on a full MVar 686s 686s Concurrent::Options 686s .executor_from_options 686s returns the given :executor 686s returns the global io executor when :executor is :io 686s returns the global fast executor when :executor is :fast 686s returns an immediate executor when :executor is :immediate 686s raises an exception when :executor is an unrecognized symbol 686s 686s Concurrent::ProcessingActor 686s is expected to eq "ab" 686s 686s Concurrent::Promise 686s it should behave like ivar 686s it should behave like obligation 686s #state 686s is :pending when first created 686s is :fulfilled when the handler completes 686s is :rejected when the handler raises an exception 686s #value 686s returns nil when reaching the optional timeout value 686s returns immediately when timeout is zero 691s returns the value when fulfilled before timeout 691s returns nil when timeout reached 691s is nil when :pending 696s blocks the caller when :pending and timeout is nil 696s is nil when :rejected 696s is set to the return value of the block when :fulfilled 696s #reason 696s is nil when :pending 696s is nil when :fulfilled 696s is set to error object of the exception when :rejected 696s it should behave like dereferenceable 696s defaults :dup_on_deref to false 696s calls #dup when the :dup_on_deref option is true 697s defaults :freeze_on_deref to false 697s calls #freeze when the :freeze_on_deref option is true 697s defaults :copy_on_deref to nil 697s calls the block when the :copy_on_deref option is passed a proc 698s calls the :copy block first followed by #dup followed by #freeze 698s does not call #dup when #dup_on_deref is set and the value is nil 698s does not call #freeze when #freeze_on_deref is set and the value is nil 698s does not call the #copy_on_deref block when the value is nil 698s supports dereference flags with observers 698s it should behave like observable 698s #add_observer 698s adds an observer if called before first notification 698s adds an observer with :func if called before first notification 698s creates an observer from a block if called before first notification 698s raises an exception if not given an observer or a block 698s raises an exception when given both an observer and a block 698s #delete_observer 698s deletes the given observer if called before first notification 698s returns the removed observer if found in the observer set 698s returns the given observer even when not found in the observer set 698s #delete_observers 698s deletes all observers when called before first notification 698s returns self 698s #count_observers 698s returns zero for a new observable object 698s returns a count of registered observers if called before first notification 698s returns zero after #delete_observers has been called 698s first notification 698s calls the #update method on all observers without a specified :func 698s calls the appropriate function on all observers which specified a :func 698s calls the proc for all observers added as a block 700s does not notify any observers removed with #delete_observer 701s does not notify any observers after #delete_observers called 701s initialization 701s sets the state to incomplete 701s #set 701s sets the state to be fulfilled 701s sets the value 701s raises an exception if set more than once 701s returns self 701s fulfils when given a block which executes successfully 701s rejects when given a block which raises an exception 701s raises an exception when given a value and a block 701s raises an exception when given neither a value nor a block 701s #fail 701s sets the state to be rejected 701s sets the value to be nil 701s sets the reason to the given exception 701s raises an exception if set more than once 701s defaults the reason to a StandardError 701s returns self 701s #try_set 701s when unset 701s assigns the value 701s assigns the block result 701s returns true 701s when fulfilled 701s does not assign the value 701s does not assign the block result 701s returns false 701s when rejected 701s does not assign the value 701s does not assign the block result 701s has a nil value 701s returns false 701s it should behave like thread_arguments 701s passes an empty array when opts is not given 701s passes an empty array when opts is an empty hash 701s passes an empty array when there is no :args key 701s passes an empty array when the :args key has a nil value 701s passes a one-element array when the :args key has a non-array value 701s passes an array when when the :args key has an array value 701s passes the given array when the :args key has a complex array value 701s allows the given arguments array to be dereferenced 701s initializers 701s .fulfill 701s should return a Promise 701s should return a fulfilled Promise 701s should return a Promise with set value 701s .reject 701s should return a Promise 701s should return a rejected Promise 701s should return a Promise with set reason 701s .new 701s should return an unscheduled Promise 701s .execute 701s creates a new Promise 701s passes the block to the new Promise 701s calls #execute on the new Promise 701s #execute 701s unscheduled 702s sets the promise to :pending 702s posts the block given in construction 702s pending 702s sets the promise to :pending 702s does not post again 702s with children 702s when called on the root 703s should set all promises to :pending 703s when called on a child 704s should set all promises to :pending 704s when called on child after parent completes 704s sets state to :pending immediately 704s #then 704s returns a new promise when a block is passed 704s returns a new promise when a rescuer is passed 704s returns a new promise when a block and rescuer are passed 704s returns a new promise when a block, rescuer and executor are passed 704s supports setting the executor using a named parameter 704s should have block or rescuers 704s can be called more than once 704s unscheduled 704s returns a new promise 704s returns an unscheduled promise 704s pending 704s returns a new promise 704s returns a pending promise 704s fulfilled 704s returns a new Promise 704s notifies fulfillment to new child 704s rejected 704s returns a new Promise when :rejected 704s notifies rejection to new child 704s on_success 704s should have a block 704s returns a new promise 704s #rescue 704s returns a new promise 704s #flat_map 704s returns a promise 704s succeeds if both promises succeed 704s fails if the left promise fails 704s fails if the right promise fails 704s fails if the generating block fails 704s #zip 704s executes the returned Promise by default 704s executes the returned Promise when execute is true 704s does not execute the returned Promise when execute is false 704s allows setting executor for Promise chain 704s yields the results as an array 704s fails if one component fails 704s preserves ordering of the executed promises 704s .zip 704s executes the returned Promise by default 704s executes the returned Promise when execute is true 704s does not execute the returned Promise when execute is false 704s allows setting executor for Promise chain 704s yields the results as an array 704s fails if one component fails 704s preserves ordering of the executed promises 704s aggregators 704s .all? 704s returns a new Promise 704s does not execute the returned Promise 704s executes the #then condition when all components succeed 704s executes the #then condition when no promises are given 704s executes the #rescue handler if even one component fails 704s .any? 704s returns a new Promise 704s does not execute the returned Promise 704s executes the #then condition when any components succeed 704s executes the #then condition when no promises are given 704s executes the #rescue handler if all componenst fail 704s fulfillment 705s passes the result of each block to all its children 705s sets the promise value to the result if its block 705s sets the promise state to :fulfilled if the block completes 705s passes the last result through when a promise has no block 705s uses result as fulfillment value when a promise has no block 705s can manage long chain 705s #set 705s #can only be called on the root promise 705s triggers children 705s can be called with a block 705s #fail 705s can only be called on the root promise 705s rejects children 705s rejection 705s passes the reason to all its children 705s sets the promise value to the result if its block 705s sets the promise state to :rejected if the block completes 705s uses reason as rejection reason when a promise has no rescue callable 705s rejects on Exception 705s aliases 705s aliases #realized? for #fulfilled? 705s aliases #deref for #value 705s aliases #catch for #rescue 705s aliases #on_error for #rescue 705s 705s Concurrent::Promises 705s zip_futures_over 705s chain_resolvable 705s event 705s future 705s .future 705s executes 705s executes with args 705s .delay 705s is expected to eq 2 705s .schedule 705s scheduled execution 705s scheduled execution in graph 705s .event 705s is expected to equal true 705s .future without block 705s is expected to eq 0 705s .any_resolved 705s continues on first result 705s .any_fulfilled 705s continues on first result 705s treats a resolved Event as a fulfilled Future 705s treats a pending Event as a pending Future 705s .zip 705s waits for all results 705s when a future raises an error 705s raises a concurrent error 705s when deeply nested 705s raises the original error 705s .zip_events 705s waits for all and returns event 705s .rejected_future 705s raises the correct error when passed an unraised error 705s Future 705s has sync and async callbacks 705s wait supports setting timeout 705s wait! supports setting timeout 705s value supports setting timeout 705s value! supports setting timeout 705s reason supports setting timeout 705s result supports setting timeout 705s chains 705s chains with correct arguments 705s constructs promise like tree 705s allows graphs 705s resolves future when Exception raised 705s runs 705s can be risen when rejected 705s #flat 705s returns value of inner future 705s propagates rejection of inner future 705s it propagates rejection of the future which was suppose to provide inner future 705s rejects if inner value is not a future 705s accepts inner event 705s propagates requests for values to delayed futures 705s has shortcuts 705s ResolvableEvent 705s #wait 705s #resolve(raise_on_reassign = true) 705s #resolve(raise_on_reassign = false) 705s reservation 705s ResolvableFuture 705s #wait 705s #wait! 705s #value 705s #value! 705s #reason 705s result 705s reservation 705s atomic_resolution 705s interoperability 705s with erlang actor 705s with channel 705s value! 706s does not return spuriously with timeout 706s does not return spuriously without timeout 706s 706s Concurrent::ScheduledTask 706s behavior 706s it should behave like obligation 706s #state 706s is :pending when first created 706s is :fulfilled when the handler completes 706s is :rejected when the handler raises an exception 706s #value 706s returns nil when reaching the optional timeout value 706s returns immediately when timeout is zero 707s returns the value when fulfilled before timeout 707s returns nil when timeout reached 707s is nil when :pending 708s blocks the caller when :pending and timeout is nil 708s is nil when :rejected 708s is set to the return value of the block when :fulfilled 708s #reason 708s is nil when :pending 708s is nil when :fulfilled 708s is set to error object of the exception when :rejected 708s it should behave like dereferenceable 708s defaults :dup_on_deref to false 708s calls #dup when the :dup_on_deref option is true 708s defaults :freeze_on_deref to false 708s calls #freeze when the :freeze_on_deref option is true 708s defaults :copy_on_deref to nil 708s calls the block when the :copy_on_deref option is passed a proc 708s calls the :copy block first followed by #dup followed by #freeze 708s does not call #dup when #dup_on_deref is set and the value is nil 708s does not call #freeze when #freeze_on_deref is set and the value is nil 708s does not call the #copy_on_deref block when the value is nil 708s supports dereference flags with observers 708s it should behave like observable 708s #add_observer 708s adds an observer if called before first notification 708s adds an observer with :func if called before first notification 708s creates an observer from a block if called before first notification 708s raises an exception if not given an observer or a block 708s raises an exception when given both an observer and a block 708s #delete_observer 708s deletes the given observer if called before first notification 708s returns the removed observer if found in the observer set 708s returns the given observer even when not found in the observer set 708s #delete_observers 708s deletes all observers when called before first notification 708s returns self 708s #count_observers 708s returns zero for a new observable object 708s returns a count of registered observers if called before first notification 708s returns zero after #delete_observers has been called 708s first notification 708s calls the #update method on all observers without a specified :func 708s calls the appropriate function on all observers which specified a :func 708s calls the proc for all observers added as a block 710s does not notify any observers removed with #delete_observer 711s does not notify any observers after #delete_observers called 711s #initialize 711s accepts a number of seconds (from now) as the schedule time 711s raises an exception when seconds is less than zero 711s raises an exception when no block given 711s sets the initial state to :unscheduled 711s instance #execute 711s does nothing unless the state is :unscheduled 711s sets the sate to :pending 711s returns self 711s class #execute 711s creates a new ScheduledTask 712s passes the block to the new ScheduledTask (FAILED - 1) 712s calls #execute on the new ScheduledTask 712s execution 712s passes :args from the options to the block 712s uses the :executor from the options 712s uses the :timer_set from the options 714s sets the state to :processing when the task is running (FAILED - 2) 714s #cancel 715s returns false if the task has already been performed (FAILED - 3) 716s returns false if the task is already in progress (FAILED - 4) 716s cancels the task if it has not yet scheduled 717s cancels the task if it has not yet started 717s returns true on success 717s sets the reason to CancelledOperationError when cancelled 717s observation 717s returns true for an observer added while :unscheduled 717s returns true for an observer added while :pending 717s returns true for an observer added while :processing 718s notifies all observers on fulfillment (FAILED - 5) 719s notifies all observers on rejection (FAILED - 6) 719s 719s Concurrent::Set 719s .[] 719s when initializing with no arguments 719s is expected to be empty 719s when initializing with arguments 719s creates a set with the given objects 719s .new 719s when initializing with no arguments 719s is expected to be empty 719s when initializing with an enumerable object 719s creates a set with the contents of the enumerable object 719s when initializing with a block argument 719s creates a set with the contents of the enumerable object 719s concurrency 720s #add and #delete 720s force context switch 724s #each 724s 724s Concurrent::SettableStruct 724s it should behave like struct 724s definition 724s registers the class when given a class name 724s /tmp/autopkgtest.mNG2Ba/build.zLC/src/spec/concurrent/struct_shared.rb:15: warning: already initialized constant ValidClassName2 724s registers the class when given a class name which is defined in the ancestors 724s creates an anonymous class when given at least one member 724s raises an exception when given an invalid class name 724s defines a getter for each member 724s raises an exception when given no members 724s raise an exception when given an invalid member 724s evalues a given block against the new class 724s construction 724s sets all absent members to nil 724s sets all given members in order 724s raises an exception when extra members are given 724s properties 724s #length 724s returns the number of struct members 724s #members 724s returns the struct members as an array of symbols 724s returns a different object than the array passed at definition 724s #size 724s returns the number of struct members 724s #values 724s returns the values of the struct as an array in order 724s #values_at 724s returns the value at the given offset 724s returns the values at multiple given offsets 724s returns values at offsets in a given range 724s returns values for multiple ranges 724s returns values for ranges and offsets 724s accessors 724s #[member] 724s retrieves the value when given a valid symbol member 724s retrieves the value when given a valid string member 724s raises an exception when given a non-existent symbol member 724s raises an exception when given a non-existent string member 724s #[index] 724s retrieves the value when given a valid index 724s raises an exception when given an out-of-bound index 724s comparison 724s #== 724s returns true if other has same struct subclass and equal values 724s returns false if other has different struct subclass 724s returns false if other has different values 724s #!= 724s returns false if other has same struct subclass and equal values 724s returns true if other has different struct subclass 724s returns true if other has different values 724s enumeration 724s #each 724s yields the value of each struct member in order 724s returns an enumerator when no block is given 724s #each_pair 724s yields the name and value of each struct member in order 724s returns an enumerator when no block is given 724s #select 724s yields each value 724s returns an Array with the values from for which the block returns true 724s returns an enumerator when no block is given 724s conversion 724s #to_s 724s includes the name of the class when registered 724s includes the names of all members 724s includes all values 724s returns the same string as #inspect 724s #to_a 724s returns the to_a for this struct as an array 724s #to_h 724s returns a Hash containing the names and values in order 724s copy 724s #dup 724s shallowly duplicates all members along with the struct 724s discards frozen state of the struct 724s retains frozen state of members 724s discards singleton class 724s copies the singleton class of members 724s #clone 724s shallowly clones all members along with the struct 724s retains frozen state 724s copies the singleton class 724s copies the singleton class of members 724s it should behave like mergeable_struct 724s #merge 724s updates all members with the new values from a given hash 724s calls the given block for each key in `other` 724s retains the value for all members not without values in the given hash 724s raises an exception when given a hash with members not in the struct 724s returns a new object 724s definition 724s defines a setter for each member 724s #[member]= 724s sets the value when given a valid symbol member 724s sets the value when given a valid string member 724s raises an exception when given a non-existent symbol member 724s raises an exception when given a non-existent string member 724s raises an exception when given a symbol member that has already been set 724s raises an exception when given a string member that has already been set 724s #[index]= 724s sets the value when given a valid index 724s raises an exception when given an out-of-bound index 724s raises an exception when given an index that has already been set 724s synchronization 724s protects #values 724s protects #values_at 724s protects #[index] 724s protects #[member] 724s protects getter methods 724s protects #[index]= 724s protects #[member]= 724s protects getter methods 724s protects #to_s 724s protects #inspect 724s protects #to_h 724s protects #merge 724s protects #== 724s protects #each 724s protects #each_pair 724s protects #select 724s protects #initialize_copy 724s copy 724s #dup 724s retains settability of members 724s #clone 724s retains settability of members 724s 724s Concurrent::Synchronization 724s Concurrent::Synchronization::Object 724s does not ensure visibility when not needed 724s does ensure visibility when specified 724s does ensure visibility when specified in a parent 724s does ensure visibility once when specified in child again 724s it should behave like attr_volatile 724s older writes are always visible 724s Concurrent::Synchronization::LockableObject 724s final field always visible 724s #wait 724s puts the current thread to sleep 725s allows the sleeping thread to be killed 725s releases the lock on the current object 725s can be called from within a #synchronize block 725s #synchronize 725s allows only one thread to execute count 725s signaling 725s for now pending, tested pretty well by Event (PENDING: Not yet implemented) 725s it should behave like attr_volatile 725s older writes are always visible 725s Concurrent::Synchronization::Volatile module 725s it should behave like attr_volatile 725s older writes are always visible 725s attr_atomic 725s is expected to be == b 725s 725s Concurrent::SynchronizedDelegator 725s wraps array 725s synchronizes access 725s synchronizes access with block 725s 725s Concurrent 725s Throttle 725s acquiring 725s #to_s 725s #on 725s capacity limited 725s 725s Concurrent::TimerTask 725s dereferenceable 725s it should behave like dereferenceable 726s defaults :dup_on_deref to false 726s calls #dup when the :dup_on_deref option is true 726s defaults :freeze_on_deref to false 726s calls #freeze when the :freeze_on_deref option is true 727s defaults :copy_on_deref to nil 727s calls the block when the :copy_on_deref option is passed a proc 727s calls the :copy block first followed by #dup followed by #freeze 727s does not call #dup when #dup_on_deref is set and the value is nil 727s does not call #freeze when #freeze_on_deref is set and the value is nil 727s does not call the #copy_on_deref block when the value is nil 728s supports dereference flags with observers 728s observable 728s it should behave like observable 728s #add_observer 728s adds an observer if called before first notification 728s adds an observer with :func if called before first notification 728s creates an observer from a block if called before first notification 728s raises an exception if not given an observer or a block 728s raises an exception when given both an observer and a block 728s #delete_observer 728s deletes the given observer if called before first notification 728s returns the removed observer if found in the observer set 728s returns the given observer even when not found in the observer set 728s #delete_observers 728s deletes all observers when called before first notification 728s returns self 728s #count_observers 728s returns zero for a new observable object 728s returns a count of registered observers if called before first notification 728s returns zero after #delete_observers has been called 728s first notification 729s calls the #update method on all observers without a specified :func (FAILED - 7) 730s calls the appropriate function on all observers which specified a :func (FAILED - 8) 731s calls the proc for all observers added as a block (FAILED - 9) 732s does not notify any observers removed with #delete_observer 734s does not notify any observers after #delete_observers called 734s created with #new 734s #initialize 734s raises an exception if no block given 734s raises an exception if :execution_interval is not greater than zero 734s raises an exception if :execution_interval is not an integer 734s uses the default execution interval when no interval is given 734s uses the given execution interval 734s raises an exception if :interval_type is not a valid value 734s uses the default :interval_type when no type is given 734s uses the given interval type 734s #kill 734s returns true on success 734s #shutdown 734s returns true on success 734s arguments 734s raises an exception if no block given 734s #execution_interval is writeable 734s raises on invalid interval_type 734s #timeout_interval being written produces a warning 734s execution 734s runs the block immediately when the :run_now option is true 734s TimeTask timeouts are now ignored as these were not able to be implemented correctly 734s TimeTask timeouts are now ignored as these were not able to be implemented correctly 735s waits for :execution_interval seconds when the :run_now option is false (FAILED - 10) 736s waits for :execution_interval seconds when the :run_now option is not given (FAILED - 11) 736s passes a "self" reference to the block as the sole argument 736s uses the global executor by default 736s uses a custom executor when given 737s uses a fixed delay when set (FAILED - 12) 737s uses a fixed rate when set 737s observation 738s notifies all observers on success (FAILED - 13) 739s notifies all observers on error (FAILED - 14) 739s 739s Concurrent::TVar 739s #initialize 739s accepts an initial value 739s #value 739s gets the value 739s #value= 739s sets the value 739s 739s #atomically 739s raises an exception when no block given 739s raises the same exception that was raised in Concurrent::atomically 739s retries on abort 739s commits writes if the transaction succeeds 739s undoes writes if the transaction is aborted 739s provides atomicity 739s nests 739s reflects transactional writes from within the same transaction 739s 739s #abort_transaction 739s raises an exception outside an #atomically block 739s 739s #leave_transaction 739s raises an exception outside an #atomically block 739s neither commits nor aborts a transaction 739s 739s #processor_count 739s retuns a positive integer 739s 739s #physical_processor_count 739s retuns a positive integer 739s 739s #cpu_quota 739s returns #compute_cpu_quota 739s returns nil if no quota is detected 739s returns nil if cgroups v2 sets no limit 739s returns a float if cgroups v2 sets a limit 739s returns nil if cgroups v1 sets no limit 739s returns nil if cgroups v1 and cpu.cfs_quota_us is -1 739s returns a float if cgroups v1 sets a limit 739s 739s #available_processor_count 739s returns #processor_count if #cpu_quota is nil 739s returns #processor_count if #cpu_quota is higher 739s returns #cpu_quota if #cpu_quota is lower than #processor_count 739s 739s #cpu_shares 739s returns a float when cgroups v2 sets a cpu.weight 739s returns a float if cgroups v1 sets a cpu.shares 740s 740s Failures: 740s 740s 1) Concurrent::ScheduledTask class #execute passes the block to the new ScheduledTask 740s Failure/Error: expect(@expected).to be_truthy 740s 740s expected: truthy value 740s got: false 740s # /usr/share/rubygems-integration/all/gems/rspec-support-3.13.1/lib/rspec/support.rb:110:in `block in Support' 740s # /usr/share/rubygems-integration/all/gems/rspec-support-3.13.1/lib/rspec/support.rb:119:in `notify_failure' 740s # /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/expectations/fail_with.rb:35:in `fail_with' 740s # /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/expectations/handler.rb:40:in `handle_failure' 740s # /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/expectations/handler.rb:56:in `block in handle_matcher' 740s # /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/expectations/handler.rb:27:in `with_matcher' 740s # /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/expectations/handler.rb:48:in `handle_matcher' 740s # /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/expectations/expectation_target.rb:65:in `to' 740s # /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/expectations/expectation_target.rb:101:in `to' 740s # ./spec/concurrent/scheduled_task_spec.rb:120:in `block in Concurrent' 740s # org/jruby/RubyBasicObject.java:2620:in `instance_exec' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:263:in `block in run' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511:in `block in with_around_and_singleton_context_hooks' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468:in `block in with_around_example_hooks' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486:in `block in run' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:624:in `run_around_example_hooks_for' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486:in `run' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468:in `with_around_example_hooks' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511:in `with_around_and_singleton_context_hooks' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:259:in `run' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:646:in `block in run_examples' 740s # org/jruby/RubyArray.java:2803:in `map' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:651:in `run_examples' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:607:in `run' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:608:in `block in run' 740s # org/jruby/RubyArray.java:2803:in `map' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:608:in `run' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121:in `block in run_specs' 740s # org/jruby/RubyArray.java:2803:in `map' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:145:in `block in run_specs' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:2091:in `with_suite_hooks' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:116:in `block in run_specs' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/reporter.rb:74:in `report' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:115:in `run_specs' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:89:in `run' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:71:in `run' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:45:in `invoke' 740s # /usr/bin/rspec:4:in `
' 740s 740s 2) Concurrent::ScheduledTask execution sets the state to :processing when the task is running 740s Failure/Error: expect(state).to eq :processing 740s 740s expected: :processing 740s got: :pending 740s 740s (compared using ==) 740s 740s Diff: 740s @@ -1 +1 @@ 740s -:processing 740s +:pending 740s # /usr/share/rubygems-integration/all/gems/rspec-support-3.13.1/lib/rspec/support.rb:110:in `block in Support' 740s # /usr/share/rubygems-integration/all/gems/rspec-support-3.13.1/lib/rspec/support.rb:119:in `notify_failure' 740s # /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/expectations/fail_with.rb:35:in `fail_with' 740s # /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/expectations/handler.rb:38:in `handle_failure' 740s # /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/expectations/handler.rb:56:in `block in handle_matcher' 740s # /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/expectations/handler.rb:27:in `with_matcher' 740s # /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/expectations/handler.rb:48:in `handle_matcher' 740s # /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/expectations/expectation_target.rb:65:in `to' 740s # /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/expectations/expectation_target.rb:101:in `to' 740s # ./spec/concurrent/scheduled_task_spec.rb:173:in `block in Concurrent' 740s # org/jruby/RubyBasicObject.java:2620:in `instance_exec' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:263:in `block in run' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511:in `block in with_around_and_singleton_context_hooks' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468:in `block in with_around_example_hooks' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486:in `block in run' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:624:in `run_around_example_hooks_for' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486:in `run' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468:in `with_around_example_hooks' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511:in `with_around_and_singleton_context_hooks' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:259:in `run' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:646:in `block in run_examples' 740s # org/jruby/RubyArray.java:2803:in `map' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:651:in `run_examples' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:607:in `run' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:608:in `block in run' 740s # org/jruby/RubyArray.java:2803:in `map' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:608:in `run' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121:in `block in run_specs' 740s # org/jruby/RubyArray.java:2803:in `map' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:145:in `block in run_specs' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:2091:in `with_suite_hooks' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:116:in `block in run_specs' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/reporter.rb:74:in `report' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:115:in `run_specs' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:89:in `run' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:71:in `run' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:45:in `invoke' 740s # /usr/bin/rspec:4:in `
' 740s 740s 3) Concurrent::ScheduledTask#cancel returns false if the task has already been performed 740s Failure/Error: expect(task.cancel).to be_falsey 740s 740s expected: falsey value 740s got: true 740s # /usr/share/rubygems-integration/all/gems/rspec-support-3.13.1/lib/rspec/support.rb:110:in `block in Support' 740s # /usr/share/rubygems-integration/all/gems/rspec-support-3.13.1/lib/rspec/support.rb:119:in `notify_failure' 740s # /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/expectations/fail_with.rb:35:in `fail_with' 740s # /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/expectations/handler.rb:40:in `handle_failure' 740s # /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/expectations/handler.rb:56:in `block in handle_matcher' 740s # /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/expectations/handler.rb:27:in `with_matcher' 740s # /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/expectations/handler.rb:48:in `handle_matcher' 740s # /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/expectations/expectation_target.rb:65:in `to' 740s # /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/expectations/expectation_target.rb:101:in `to' 740s # ./spec/concurrent/scheduled_task_spec.rb:182:in `block in Concurrent' 740s # org/jruby/RubyBasicObject.java:2620:in `instance_exec' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:263:in `block in run' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511:in `block in with_around_and_singleton_context_hooks' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468:in `block in with_around_example_hooks' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486:in `block in run' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:624:in `run_around_example_hooks_for' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486:in `run' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468:in `with_around_example_hooks' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511:in `with_around_and_singleton_context_hooks' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:259:in `run' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:646:in `block in run_examples' 740s # org/jruby/RubyArray.java:2803:in `map' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:651:in `run_examples' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:607:in `run' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:608:in `block in run' 740s # org/jruby/RubyArray.java:2803:in `map' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:608:in `run' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121:in `block in run_specs' 740s # org/jruby/RubyArray.java:2803:in `map' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:145:in `block in run_specs' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:2091:in `with_suite_hooks' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:116:in `block in run_specs' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/reporter.rb:74:in `report' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:115:in `run_specs' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:89:in `run' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:71:in `run' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:45:in `invoke' 740s # /usr/bin/rspec:4:in `
' 740s 740s 4) Concurrent::ScheduledTask#cancel returns false if the task is already in progress 740s Failure/Error: expect(task.cancel).to be_falsey 740s 740s expected: falsey value 740s got: true 740s # /usr/share/rubygems-integration/all/gems/rspec-support-3.13.1/lib/rspec/support.rb:110:in `block in Support' 740s # /usr/share/rubygems-integration/all/gems/rspec-support-3.13.1/lib/rspec/support.rb:119:in `notify_failure' 740s # /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/expectations/fail_with.rb:35:in `fail_with' 740s # /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/expectations/handler.rb:40:in `handle_failure' 740s # /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/expectations/handler.rb:56:in `block in handle_matcher' 740s # /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/expectations/handler.rb:27:in `with_matcher' 740s # /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/expectations/handler.rb:48:in `handle_matcher' 740s # /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/expectations/expectation_target.rb:65:in `to' 740s # /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/expectations/expectation_target.rb:101:in `to' 740s # ./spec/concurrent/scheduled_task_spec.rb:192:in `block in Concurrent' 740s # org/jruby/RubyBasicObject.java:2620:in `instance_exec' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:263:in `block in run' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511:in `block in with_around_and_singleton_context_hooks' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468:in `block in with_around_example_hooks' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486:in `block in run' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:624:in `run_around_example_hooks_for' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486:in `run' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468:in `with_around_example_hooks' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511:in `with_around_and_singleton_context_hooks' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:259:in `run' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:646:in `block in run_examples' 740s # org/jruby/RubyArray.java:2803:in `map' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:651:in `run_examples' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:607:in `run' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:608:in `block in run' 740s # org/jruby/RubyArray.java:2803:in `map' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:608:in `run' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121:in `block in run_specs' 740s # org/jruby/RubyArray.java:2803:in `map' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:145:in `block in run_specs' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:2091:in `with_suite_hooks' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:116:in `block in run_specs' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/reporter.rb:74:in `report' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:115:in `run_specs' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:89:in `run' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:71:in `run' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:45:in `invoke' 740s # /usr/bin/rspec:4:in `
' 740s 740s 5) Concurrent::ScheduledTask observation notifies all observers on fulfillment 740s Failure/Error: expect(observer.value).to eq(42) 740s 740s expected: 42 740s got: nil 740s 740s (compared using ==) 740s # /usr/share/rubygems-integration/all/gems/rspec-support-3.13.1/lib/rspec/support.rb:110:in `block in Support' 740s # /usr/share/rubygems-integration/all/gems/rspec-support-3.13.1/lib/rspec/support.rb:119:in `notify_failure' 740s # /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/expectations/fail_with.rb:35:in `fail_with' 740s # /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/expectations/handler.rb:38:in `handle_failure' 740s # /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/expectations/handler.rb:56:in `block in handle_matcher' 740s # /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/expectations/handler.rb:27:in `with_matcher' 740s # /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/expectations/handler.rb:48:in `handle_matcher' 740s # /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/expectations/expectation_target.rb:65:in `to' 740s # /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/expectations/expectation_target.rb:101:in `to' 740s # ./spec/concurrent/scheduled_task_spec.rb:269:in `block in Concurrent' 740s # org/jruby/RubyBasicObject.java:2620:in `instance_exec' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:263:in `block in run' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511:in `block in with_around_and_singleton_context_hooks' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468:in `block in with_around_example_hooks' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486:in `block in run' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:624:in `run_around_example_hooks_for' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486:in `run' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468:in `with_around_example_hooks' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511:in `with_around_and_singleton_context_hooks' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:259:in `run' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:646:in `block in run_examples' 740s # org/jruby/RubyArray.java:2803:in `map' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:651:in `run_examples' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:607:in `run' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:608:in `block in run' 740s # org/jruby/RubyArray.java:2803:in `map' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:608:in `run' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121:in `block in run_specs' 740s # org/jruby/RubyArray.java:2803:in `map' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:145:in `block in run_specs' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:2091:in `with_suite_hooks' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:116:in `block in run_specs' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/reporter.rb:74:in `report' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:115:in `run_specs' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:89:in `run' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:71:in `run' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:45:in `invoke' 740s # /usr/bin/rspec:4:in `
' 740s 740s 6) Concurrent::ScheduledTask observation notifies all observers on rejection 740s Failure/Error: expect(observer.reason).to be_a(StandardError) 740s expected nil to be a kind of StandardError 740s # /usr/share/rubygems-integration/all/gems/rspec-support-3.13.1/lib/rspec/support.rb:110:in `block in Support' 740s # /usr/share/rubygems-integration/all/gems/rspec-support-3.13.1/lib/rspec/support.rb:119:in `notify_failure' 740s # /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/expectations/fail_with.rb:35:in `fail_with' 740s # /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/expectations/handler.rb:40:in `handle_failure' 740s # /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/expectations/handler.rb:56:in `block in handle_matcher' 740s # /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/expectations/handler.rb:27:in `with_matcher' 740s # /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/expectations/handler.rb:48:in `handle_matcher' 740s # /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/expectations/expectation_target.rb:65:in `to' 740s # /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/expectations/expectation_target.rb:101:in `to' 740s # ./spec/concurrent/scheduled_task_spec.rb:278:in `block in Concurrent' 740s # org/jruby/RubyBasicObject.java:2620:in `instance_exec' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:263:in `block in run' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511:in `block in with_around_and_singleton_context_hooks' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468:in `block in with_around_example_hooks' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486:in `block in run' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:624:in `run_around_example_hooks_for' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486:in `run' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468:in `with_around_example_hooks' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511:in `with_around_and_singleton_context_hooks' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:259:in `run' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:646:in `block in run_examples' 740s # org/jruby/RubyArray.java:2803:in `map' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:651:in `run_examples' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:607:in `run' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:608:in `block in run' 740s # org/jruby/RubyArray.java:2803:in `map' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:608:in `run' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121:in `block in run_specs' 740s # org/jruby/RubyArray.java:2803:in `map' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:145:in `block in run_specs' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:2091:in `with_suite_hooks' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:116:in `block in run_specs' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/reporter.rb:74:in `report' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:115:in `run_specs' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:89:in `run' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:71:in `run' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:45:in `invoke' 740s # /usr/bin/rspec:4:in `
' 740s 740s 7) Concurrent::TimerTask observable it should behave like observable first notification calls the #update method on all observers without a specified :func 740s Failure/Error: expect(latch.count).to eq 0 740s 740s expected: 0 740s got: 5 740s 740s (compared using ==) 740s Shared Example Group: :observable called from ./spec/concurrent/timer_task_spec.rb:51 740s # /usr/share/rubygems-integration/all/gems/rspec-support-3.13.1/lib/rspec/support.rb:110:in `block in Support' 740s # /usr/share/rubygems-integration/all/gems/rspec-support-3.13.1/lib/rspec/support.rb:119:in `notify_failure' 740s # /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/expectations/fail_with.rb:35:in `fail_with' 740s # /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/expectations/handler.rb:38:in `handle_failure' 740s # /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/expectations/handler.rb:56:in `block in handle_matcher' 740s # /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/expectations/handler.rb:27:in `with_matcher' 740s # /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/expectations/handler.rb:48:in `handle_matcher' 740s # /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/expectations/expectation_target.rb:65:in `to' 740s # /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/expectations/expectation_target.rb:101:in `to' 740s # ./spec/concurrent/concern/observable_shared.rb:128:in `block in
' 740s # org/jruby/RubyBasicObject.java:2620:in `instance_exec' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:263:in `block in run' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511:in `block in with_around_and_singleton_context_hooks' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468:in `block in with_around_example_hooks' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486:in `block in run' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:624:in `run_around_example_hooks_for' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486:in `run' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468:in `with_around_example_hooks' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511:in `with_around_and_singleton_context_hooks' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:259:in `run' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:646:in `block in run_examples' 740s # org/jruby/RubyArray.java:2803:in `map' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:651:in `run_examples' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:607:in `run' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:608:in `block in run' 740s # org/jruby/RubyArray.java:2803:in `map' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:608:in `run' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:608:in `block in run' 740s # org/jruby/RubyArray.java:2803:in `map' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:608:in `run' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:608:in `block in run' 740s # org/jruby/RubyArray.java:2803:in `map' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:608:in `run' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121:in `block in run_specs' 740s # org/jruby/RubyArray.java:2803:in `map' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:145:in `block in run_specs' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:2091:in `with_suite_hooks' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:116:in `block in run_specs' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/reporter.rb:74:in `report' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:115:in `run_specs' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:89:in `run' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:71:in `run' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:45:in `invoke' 740s # /usr/bin/rspec:4:in `
' 740s 740s 8) Concurrent::TimerTask observable it should behave like observable first notification calls the appropriate function on all observers which specified a :func 740s Failure/Error: expect(latch.count).to eq 0 740s 740s expected: 0 740s got: 5 740s 740s (compared using ==) 740s Shared Example Group: :observable called from ./spec/concurrent/timer_task_spec.rb:51 740s # /usr/share/rubygems-integration/all/gems/rspec-support-3.13.1/lib/rspec/support.rb:110:in `block in Support' 740s # /usr/share/rubygems-integration/all/gems/rspec-support-3.13.1/lib/rspec/support.rb:119:in `notify_failure' 740s # /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/expectations/fail_with.rb:35:in `fail_with' 740s # /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/expectations/handler.rb:38:in `handle_failure' 740s # /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/expectations/handler.rb:56:in `block in handle_matcher' 740s # /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/expectations/handler.rb:27:in `with_matcher' 740s # /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/expectations/handler.rb:48:in `handle_matcher' 740s # /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/expectations/expectation_target.rb:65:in `to' 740s # /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/expectations/expectation_target.rb:101:in `to' 740s # ./spec/concurrent/concern/observable_shared.rb:139:in `block in
' 740s # org/jruby/RubyBasicObject.java:2620:in `instance_exec' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:263:in `block in run' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511:in `block in with_around_and_singleton_context_hooks' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468:in `block in with_around_example_hooks' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486:in `block in run' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:624:in `run_around_example_hooks_for' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486:in `run' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468:in `with_around_example_hooks' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511:in `with_around_and_singleton_context_hooks' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:259:in `run' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:646:in `block in run_examples' 740s # org/jruby/RubyArray.java:2803:in `map' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:651:in `run_examples' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:607:in `run' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:608:in `block in run' 740s # org/jruby/RubyArray.java:2803:in `map' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:608:in `run' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:608:in `block in run' 740s # org/jruby/RubyArray.java:2803:in `map' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:608:in `run' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:608:in `block in run' 740s # org/jruby/RubyArray.java:2803:in `map' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:608:in `run' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121:in `block in run_specs' 740s # org/jruby/RubyArray.java:2803:in `map' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:145:in `block in run_specs' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:2091:in `with_suite_hooks' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:116:in `block in run_specs' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/reporter.rb:74:in `report' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:115:in `run_specs' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:89:in `run' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:71:in `run' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:45:in `invoke' 740s # /usr/bin/rspec:4:in `
' 740s 740s 9) Concurrent::TimerTask observable it should behave like observable first notification calls the proc for all observers added as a block 740s Failure/Error: expect(latch.count).to eq 0 740s 740s expected: 0 740s got: 5 740s 740s (compared using ==) 740s Shared Example Group: :observable called from ./spec/concurrent/timer_task_spec.rb:51 740s # /usr/share/rubygems-integration/all/gems/rspec-support-3.13.1/lib/rspec/support.rb:110:in `block in Support' 740s # /usr/share/rubygems-integration/all/gems/rspec-support-3.13.1/lib/rspec/support.rb:119:in `notify_failure' 740s # /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/expectations/fail_with.rb:35:in `fail_with' 740s # /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/expectations/handler.rb:38:in `handle_failure' 740s # /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/expectations/handler.rb:56:in `block in handle_matcher' 740s # /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/expectations/handler.rb:27:in `with_matcher' 740s # /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/expectations/handler.rb:48:in `handle_matcher' 740s # /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/expectations/expectation_target.rb:65:in `to' 740s # /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/expectations/expectation_target.rb:101:in `to' 740s # ./spec/concurrent/concern/observable_shared.rb:149:in `block in
' 740s # org/jruby/RubyBasicObject.java:2620:in `instance_exec' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:263:in `block in run' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511:in `block in with_around_and_singleton_context_hooks' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468:in `block in with_around_example_hooks' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486:in `block in run' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:624:in `run_around_example_hooks_for' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486:in `run' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468:in `with_around_example_hooks' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511:in `with_around_and_singleton_context_hooks' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:259:in `run' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:646:in `block in run_examples' 740s # org/jruby/RubyArray.java:2803:in `map' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:651:in `run_examples' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:607:in `run' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:608:in `block in run' 740s # org/jruby/RubyArray.java:2803:in `map' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:608:in `run' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:608:in `block in run' 740s # org/jruby/RubyArray.java:2803:in `map' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:608:in `run' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:608:in `block in run' 740s # org/jruby/RubyArray.java:2803:in `map' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:608:in `run' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121:in `block in run_specs' 740s # org/jruby/RubyArray.java:2803:in `map' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:145:in `block in run_specs' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:2091:in `with_suite_hooks' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:116:in `block in run_specs' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/reporter.rb:74:in `report' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:115:in `run_specs' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:89:in `run' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:71:in `run' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:45:in `invoke' 740s # /usr/bin/rspec:4:in `
' 740s 740s 10) Concurrent::TimerTask execution waits for :execution_interval seconds when the :run_now option is false 740s Failure/Error: expect(latch.wait(1)).to be_truthy 740s 740s expected: truthy value 740s got: false 740s # /usr/share/rubygems-integration/all/gems/rspec-support-3.13.1/lib/rspec/support.rb:110:in `block in Support' 740s # /usr/share/rubygems-integration/all/gems/rspec-support-3.13.1/lib/rspec/support.rb:119:in `notify_failure' 740s # /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/expectations/fail_with.rb:35:in `fail_with' 740s # /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/expectations/handler.rb:40:in `handle_failure' 740s # /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/expectations/handler.rb:56:in `block in handle_matcher' 740s # /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/expectations/handler.rb:27:in `with_matcher' 740s # /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/expectations/handler.rb:48:in `handle_matcher' 740s # /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/expectations/expectation_target.rb:65:in `to' 740s # /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/expectations/expectation_target.rb:101:in `to' 740s # ./spec/concurrent/timer_task_spec.rb:196:in `block in Concurrent' 740s # org/jruby/RubyBasicObject.java:2620:in `instance_exec' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:263:in `block in run' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511:in `block in with_around_and_singleton_context_hooks' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468:in `block in with_around_example_hooks' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486:in `block in run' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:624:in `run_around_example_hooks_for' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486:in `run' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468:in `with_around_example_hooks' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511:in `with_around_and_singleton_context_hooks' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:259:in `run' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:646:in `block in run_examples' 740s # org/jruby/RubyArray.java:2803:in `map' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:651:in `run_examples' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:607:in `run' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:608:in `block in run' 740s # org/jruby/RubyArray.java:2803:in `map' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:608:in `run' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121:in `block in run_specs' 740s # org/jruby/RubyArray.java:2803:in `map' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:145:in `block in run_specs' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:2091:in `with_suite_hooks' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:116:in `block in run_specs' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/reporter.rb:74:in `report' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:115:in `run_specs' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:89:in `run' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:71:in `run' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:45:in `invoke' 740s # /usr/bin/rspec:4:in `
' 740s 740s 11) Concurrent::TimerTask execution waits for :execution_interval seconds when the :run_now option is not given 740s Failure/Error: expect(latch.wait(1)).to be_truthy 740s 740s expected: truthy value 740s got: false 740s # /usr/share/rubygems-integration/all/gems/rspec-support-3.13.1/lib/rspec/support.rb:110:in `block in Support' 740s # /usr/share/rubygems-integration/all/gems/rspec-support-3.13.1/lib/rspec/support.rb:119:in `notify_failure' 740s # /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/expectations/fail_with.rb:35:in `fail_with' 740s # /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/expectations/handler.rb:40:in `handle_failure' 740s # /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/expectations/handler.rb:56:in `block in handle_matcher' 740s # /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/expectations/handler.rb:27:in `with_matcher' 740s # /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/expectations/handler.rb:48:in `handle_matcher' 740s # /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/expectations/expectation_target.rb:65:in `to' 740s # /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/expectations/expectation_target.rb:101:in `to' 740s # ./spec/concurrent/timer_task_spec.rb:204:in `block in Concurrent' 740s # org/jruby/RubyBasicObject.java:2620:in `instance_exec' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:263:in `block in run' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511:in `block in with_around_and_singleton_context_hooks' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468:in `block in with_around_example_hooks' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486:in `block in run' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:624:in `run_around_example_hooks_for' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486:in `run' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468:in `with_around_example_hooks' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511:in `with_around_and_singleton_context_hooks' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:259:in `run' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:646:in `block in run_examples' 740s # org/jruby/RubyArray.java:2803:in `map' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:651:in `run_examples' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:607:in `run' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:608:in `block in run' 740s # org/jruby/RubyArray.java:2803:in `map' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:608:in `run' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121:in `block in run_specs' 740s # org/jruby/RubyArray.java:2803:in `map' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:145:in `block in run_specs' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:2091:in `with_suite_hooks' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:116:in `block in run_specs' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/reporter.rb:74:in `report' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:115:in `run_specs' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:89:in `run' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:71:in `run' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:45:in `invoke' 740s # /usr/bin/rspec:4:in `
' 740s 740s 12) Concurrent::TimerTask execution uses a fixed delay when set 740s Failure/Error: expect(latch.count).to eq(0) 740s 740s expected: 0 740s got: 1 740s 740s (compared using ==) 740s # /usr/share/rubygems-integration/all/gems/rspec-support-3.13.1/lib/rspec/support.rb:110:in `block in Support' 740s # /usr/share/rubygems-integration/all/gems/rspec-support-3.13.1/lib/rspec/support.rb:119:in `notify_failure' 740s # /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/expectations/fail_with.rb:35:in `fail_with' 740s # /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/expectations/handler.rb:38:in `handle_failure' 740s # /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/expectations/handler.rb:56:in `block in handle_matcher' 740s # /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/expectations/handler.rb:27:in `with_matcher' 740s # /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/expectations/handler.rb:48:in `handle_matcher' 740s # /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/expectations/expectation_target.rb:65:in `to' 740s # /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/expectations/expectation_target.rb:101:in `to' 740s # ./spec/concurrent/timer_task_spec.rb:263:in `block in Concurrent' 740s # org/jruby/RubyBasicObject.java:2620:in `instance_exec' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:263:in `block in run' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511:in `block in with_around_and_singleton_context_hooks' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468:in `block in with_around_example_hooks' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486:in `block in run' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:624:in `run_around_example_hooks_for' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486:in `run' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468:in `with_around_example_hooks' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511:in `with_around_and_singleton_context_hooks' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:259:in `run' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:646:in `block in run_examples' 740s # org/jruby/RubyArray.java:2803:in `map' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:651:in `run_examples' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:607:in `run' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:608:in `block in run' 740s # org/jruby/RubyArray.java:2803:in `map' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:608:in `run' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121:in `block in run_specs' 740s # org/jruby/RubyArray.java:2803:in `map' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:145:in `block in run_specs' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:2091:in `with_suite_hooks' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:116:in `block in run_specs' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/reporter.rb:74:in `report' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:115:in `run_specs' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:89:in `run' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:71:in `run' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:45:in `invoke' 740s # /usr/bin/rspec:4:in `
' 740s 740s 13) Concurrent::TimerTask observation notifies all observers on success 740s Failure/Error: expect(observer.value).to eq(42) 740s 740s expected: 42 740s got: nil 740s 740s (compared using ==) 740s # /usr/share/rubygems-integration/all/gems/rspec-support-3.13.1/lib/rspec/support.rb:110:in `block in Support' 740s # /usr/share/rubygems-integration/all/gems/rspec-support-3.13.1/lib/rspec/support.rb:119:in `notify_failure' 740s # /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/expectations/fail_with.rb:35:in `fail_with' 740s # /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/expectations/handler.rb:38:in `handle_failure' 740s # /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/expectations/handler.rb:56:in `block in handle_matcher' 740s # /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/expectations/handler.rb:27:in `with_matcher' 740s # /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/expectations/handler.rb:48:in `handle_matcher' 740s # /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/expectations/expectation_target.rb:65:in `to' 740s # /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/expectations/expectation_target.rb:101:in `to' 740s # ./spec/concurrent/timer_task_spec.rb:309:in `block in Concurrent' 740s # org/jruby/RubyBasicObject.java:2620:in `instance_exec' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:263:in `block in run' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511:in `block in with_around_and_singleton_context_hooks' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468:in `block in with_around_example_hooks' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486:in `block in run' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:624:in `run_around_example_hooks_for' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486:in `run' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468:in `with_around_example_hooks' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511:in `with_around_and_singleton_context_hooks' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:259:in `run' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:646:in `block in run_examples' 740s # org/jruby/RubyArray.java:2803:in `map' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:651:in `run_examples' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:607:in `run' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:608:in `block in run' 740s # org/jruby/RubyArray.java:2803:in `map' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:608:in `run' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121:in `block in run_specs' 740s # org/jruby/RubyArray.java:2803:in `map' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:145:in `block in run_specs' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:2091:in `with_suite_hooks' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:116:in `block in run_specs' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/reporter.rb:74:in `report' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:115:in `run_specs' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:89:in `run' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:71:in `run' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:45:in `invoke' 740s # /usr/bin/rspec:4:in `
' 740s 740s 14) Concurrent::TimerTask observation notifies all observers on error 740s Failure/Error: expect(observer.ex).to be_a(ArgumentError) 740s expected nil to be a kind of ArgumentError 740s # /usr/share/rubygems-integration/all/gems/rspec-support-3.13.1/lib/rspec/support.rb:110:in `block in Support' 740s # /usr/share/rubygems-integration/all/gems/rspec-support-3.13.1/lib/rspec/support.rb:119:in `notify_failure' 740s # /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/expectations/fail_with.rb:35:in `fail_with' 740s # /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/expectations/handler.rb:40:in `handle_failure' 740s # /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/expectations/handler.rb:56:in `block in handle_matcher' 740s # /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/expectations/handler.rb:27:in `with_matcher' 740s # /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/expectations/handler.rb:48:in `handle_matcher' 740s # /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/expectations/expectation_target.rb:65:in `to' 740s # /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/expectations/expectation_target.rb:101:in `to' 740s # ./spec/concurrent/timer_task_spec.rb:320:in `block in Concurrent' 740s # org/jruby/RubyBasicObject.java:2620:in `instance_exec' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:263:in `block in run' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511:in `block in with_around_and_singleton_context_hooks' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468:in `block in with_around_example_hooks' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486:in `block in run' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:624:in `run_around_example_hooks_for' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486:in `run' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468:in `with_around_example_hooks' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511:in `with_around_and_singleton_context_hooks' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:259:in `run' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:646:in `block in run_examples' 740s # org/jruby/RubyArray.java:2803:in `map' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:651:in `run_examples' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:607:in `run' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:608:in `block in run' 740s # org/jruby/RubyArray.java:2803:in `map' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:608:in `run' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121:in `block in run_specs' 740s # org/jruby/RubyArray.java:2803:in `map' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:145:in `block in run_specs' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:2091:in `with_suite_hooks' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:116:in `block in run_specs' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/reporter.rb:74:in `report' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:115:in `run_specs' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:89:in `run' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:71:in `run' 740s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:45:in `invoke' 740s # /usr/bin/rspec:4:in `
' 740s 740s Finished in 4 minutes 47.3 seconds (files took 8.78 seconds to load) 740s 3009 examples, 14 failures, 17 pending 740s 740s Failed examples: 740s 740s rspec ./spec/concurrent/scheduled_task_spec.rb:116 # Concurrent::ScheduledTask class #execute passes the block to the new ScheduledTask 740s rspec ./spec/concurrent/scheduled_task_spec.rb:163 # Concurrent::ScheduledTask execution sets the state to :processing when the task is running 740s rspec ./spec/concurrent/scheduled_task_spec.rb:179 # Concurrent::ScheduledTask#cancel returns false if the task has already been performed 740s rspec ./spec/concurrent/scheduled_task_spec.rb:185 # Concurrent::ScheduledTask#cancel returns false if the task is already in progress 740s rspec ./spec/concurrent/scheduled_task_spec.rb:265 # Concurrent::ScheduledTask observation notifies all observers on fulfillment 740s rspec ./spec/concurrent/scheduled_task_spec.rb:273 # Concurrent::ScheduledTask observation notifies all observers on rejection 740s rspec ./spec/concurrent/timer_task_spec.rb[1:2:1:5:1] # Concurrent::TimerTask observable it should behave like observable first notification calls the #update method on all observers without a specified :func 740s rspec ./spec/concurrent/timer_task_spec.rb[1:2:1:5:2] # Concurrent::TimerTask observable it should behave like observable first notification calls the appropriate function on all observers which specified a :func 740s rspec ./spec/concurrent/timer_task_spec.rb[1:2:1:5:3] # Concurrent::TimerTask observable it should behave like observable first notification calls the proc for all observers added as a block 740s rspec ./spec/concurrent/timer_task_spec.rb:192 # Concurrent::TimerTask execution waits for :execution_interval seconds when the :run_now option is false 740s rspec ./spec/concurrent/timer_task_spec.rb:200 # Concurrent::TimerTask execution waits for :execution_interval seconds when the :run_now option is not given 740s rspec ./spec/concurrent/timer_task_spec.rb:249 # Concurrent::TimerTask execution uses a fixed delay when set 740s rspec ./spec/concurrent/timer_task_spec.rb:304 # Concurrent::TimerTask observation notifies all observers on success 740s rspec ./spec/concurrent/timer_task_spec.rb:314 # Concurrent::TimerTask observation notifies all observers on error 740s 741s autopkgtest [21:30:18]: test jruby: -----------------------] 745s autopkgtest [21:30:22]: test jruby: - - - - - - - - - - results - - - - - - - - - - 745s jruby FLAKY non-zero exit status 1 749s autopkgtest [21:30:26]: @@@@@@@@@@@@@@@@@@@@ summary 749s ruby PASS 749s jruby FLAKY non-zero exit status 1