0s autopkgtest [07:04:33]: starting date and time: 2026-02-10 07:04:33+0000 0s autopkgtest [07:04:33]: git checkout: 508d4a25 a-v-ssh wait_for_ssh: demote "ssh connection failed" to a debug message 0s autopkgtest [07:04:33]: host juju-7f2275-prod-proposed-migration-environment-9; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.p7er_szg/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:ruby-concurrent --apt-upgrade ruby-concurrent --timeout-short=300 --timeout-copy=20000 --timeout-build=20000 --env=ADT_TEST_TRIGGERS=ruby-concurrent/1.3.6-1 -- lxd -r lxd-armhf-10.145.243.232 lxd-armhf-10.145.243.232:autopkgtest/ubuntu/resolute/armhf 21s autopkgtest [07:04:54]: testbed dpkg architecture: armhf 23s autopkgtest [07:04:56]: testbed apt version: 3.1.15 27s autopkgtest [07:05:00]: @@@@@@@@@@@@@@@@@@@@ test bed setup 29s autopkgtest [07:05:02]: testbed release detected to be: None 37s autopkgtest [07:05:10]: updating testbed package index (apt update) 39s Get:1 http://ftpmaster.internal/ubuntu resolute-proposed InRelease [124 kB] 40s Get:2 http://ftpmaster.internal/ubuntu resolute InRelease [124 kB] 40s Hit:3 http://ftpmaster.internal/ubuntu resolute-updates InRelease 40s Hit:4 http://ftpmaster.internal/ubuntu resolute-security InRelease 40s Get:5 http://ftpmaster.internal/ubuntu resolute-proposed/main Sources [178 kB] 41s Get:6 http://ftpmaster.internal/ubuntu resolute-proposed/universe Sources [1727 kB] 45s Get:7 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse Sources [31.1 kB] 45s Get:8 http://ftpmaster.internal/ubuntu resolute-proposed/main armhf Packages [249 kB] 46s Get:9 http://ftpmaster.internal/ubuntu resolute-proposed/universe armhf Packages [1556 kB] 49s Get:10 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse armhf Packages [8156 B] 49s Get:11 http://ftpmaster.internal/ubuntu resolute/universe Sources [21.3 MB] 77s Get:12 http://ftpmaster.internal/ubuntu resolute/main Sources [1404 kB] 79s Get:13 http://ftpmaster.internal/ubuntu resolute/main armhf Packages [1386 kB] 80s Get:14 http://ftpmaster.internal/ubuntu resolute/universe armhf Packages [15.1 MB] 96s Fetched 43.2 MB in 57s (758 kB/s) 97s Reading package lists... 104s autopkgtest [07:06:17]: upgrading testbed (apt dist-upgrade and autopurge) 106s Reading package lists... 106s Building dependency tree... 106s Reading state information... 106s Calculating upgrade... 107s The following packages will be upgraded: 107s libbrotli1 107s 1 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 107s Need to get 318 kB of archives. 107s After this operation, 0 B of additional disk space will be used. 107s Get:1 http://ftpmaster.internal/ubuntu resolute/main armhf libbrotli1 armhf 1.2.0-3 [318 kB] 108s Fetched 318 kB in 1s (464 kB/s) 108s (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 ... 68691 files and directories currently installed.) 108s Preparing to unpack .../libbrotli1_1.2.0-3_armhf.deb ... 108s Unpacking libbrotli1:armhf (1.2.0-3) over (1.1.0-2build6) ... 108s Setting up libbrotli1:armhf (1.2.0-3) ... 108s Processing triggers for libc-bin (2.42-2ubuntu4) ... 111s Reading package lists... 111s Building dependency tree... 111s Reading state information... 111s Solving dependencies... 112s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 114s autopkgtest [07:06:27]: rebooting testbed after setup commands that affected boot 159s autopkgtest [07:07:12]: 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 186s autopkgtest [07:07:39]: @@@@@@@@@@@@@@@@@@@@ apt-source ruby-concurrent 203s Get:1 http://ftpmaster.internal/ubuntu resolute-proposed/universe ruby-concurrent 1.3.6-1 (dsc) [2312 B] 203s Get:2 http://ftpmaster.internal/ubuntu resolute-proposed/universe ruby-concurrent 1.3.6-1 (tar) [1006 kB] 203s Get:3 http://ftpmaster.internal/ubuntu resolute-proposed/universe ruby-concurrent 1.3.6-1 (diff) [6228 B] 204s gpgv: Signature made Mon Feb 9 19:00:48 2026 UTC 204s gpgv: using RSA key 5C7ABEA20F8630459CC8C8B5E27F2CF8458C2FA4 204s gpgv: Can't check signature: No public key 204s dpkg-source: warning: cannot verify inline signature for ./ruby-concurrent_1.3.6-1.dsc: no acceptable signature found 204s autopkgtest [07:07:57]: testing package ruby-concurrent version 1.3.6-1 206s autopkgtest [07:07:59]: build not needed 209s autopkgtest [07:08:02]: test ruby: preparing testbed 211s Reading package lists... 211s Building dependency tree... 211s Reading state information... 212s Solving dependencies... 212s The following NEW packages will be installed: 212s gem2deb-test-runner libruby libruby3.3 rake ruby ruby-concurrent 212s ruby-concurrent-ext ruby-csv ruby-did-you-mean ruby-diff-lcs ruby-minitest 212s ruby-net-telnet ruby-power-assert ruby-rspec ruby-rspec-core 212s ruby-rspec-expectations ruby-rspec-mocks ruby-rspec-support 212s ruby-ruby2-keywords ruby-rubygems ruby-test-unit ruby-timecop ruby-webrick 212s ruby-xmlrpc ruby3.3 rubygems-integration 212s 0 upgraded, 26 newly installed, 0 to remove and 0 not upgraded. 212s Need to get 7049 kB of archives. 212s After this operation, 38.7 MB of additional disk space will be used. 212s Get:1 http://ftpmaster.internal/ubuntu resolute/main armhf rubygems-integration all 1.19build1 [5666 B] 212s Get:2 http://ftpmaster.internal/ubuntu resolute/main armhf ruby-csv all 3.3.4-1 [43.0 kB] 213s Get:3 http://ftpmaster.internal/ubuntu resolute/main armhf ruby-did-you-mean all 1.6.3-2build1 [14.9 kB] 213s Get:4 http://ftpmaster.internal/ubuntu resolute/main armhf ruby-net-telnet all 0.2.0-1build1 [13.5 kB] 213s Get:5 http://ftpmaster.internal/ubuntu resolute/main armhf ruby-ruby2-keywords all 0.0.5-1build1 [4398 B] 213s Get:6 http://ftpmaster.internal/ubuntu resolute/main armhf ruby-webrick all 1.9.1-1build1 [60.9 kB] 213s Get:7 http://ftpmaster.internal/ubuntu resolute/main armhf ruby-xmlrpc all 0.3.3-2build1 [24.9 kB] 213s Get:8 http://ftpmaster.internal/ubuntu resolute/main armhf libruby3.3 armhf 3.3.8-2ubuntu2 [5595 kB] 220s Get:9 http://ftpmaster.internal/ubuntu resolute/main armhf ruby3.3 armhf 3.3.8-2ubuntu2 [59.0 kB] 220s Get:10 http://ftpmaster.internal/ubuntu resolute/main armhf libruby armhf 1:3.3 [5162 B] 220s Get:11 http://ftpmaster.internal/ubuntu resolute/main armhf ruby-rubygems all 3.6.7-2ubuntu2 [332 kB] 220s Get:12 http://ftpmaster.internal/ubuntu resolute/main armhf ruby armhf 1:3.3 [3670 B] 220s Get:13 http://ftpmaster.internal/ubuntu resolute/main armhf rake all 13.2.1-1build1 [45.9 kB] 220s Get:14 http://ftpmaster.internal/ubuntu resolute/universe armhf ruby-minitest all 5.26.1-1 [49.3 kB] 220s Get:15 http://ftpmaster.internal/ubuntu resolute/universe armhf ruby-power-assert all 3.0.1-1 [11.4 kB] 220s Get:16 http://ftpmaster.internal/ubuntu resolute/universe armhf ruby-test-unit all 3.6.2-1 [67.0 kB] 220s Get:17 http://ftpmaster.internal/ubuntu resolute/universe armhf gem2deb-test-runner armhf 2.2.5 [18.3 kB] 220s Get:18 http://ftpmaster.internal/ubuntu resolute-proposed/universe armhf ruby-concurrent all 1.3.6-1 [284 kB] 221s Get:19 http://ftpmaster.internal/ubuntu resolute-proposed/universe armhf ruby-concurrent-ext armhf 1.3.6-1 [8848 B] 221s Get:20 http://ftpmaster.internal/ubuntu resolute/universe armhf ruby-diff-lcs all 1.5.1-1 [22.8 kB] 221s Get:21 http://ftpmaster.internal/ubuntu resolute/universe armhf ruby-rspec-support all 3.13.0c0e0m0s1-2 [29.2 kB] 221s Get:22 http://ftpmaster.internal/ubuntu resolute/universe armhf ruby-rspec-core all 3.13.0c0e0m0s1-2 [164 kB] 221s Get:23 http://ftpmaster.internal/ubuntu resolute/universe armhf ruby-rspec-expectations all 3.13.0c0e0m0s1-2 [89.8 kB] 221s Get:24 http://ftpmaster.internal/ubuntu resolute/universe armhf ruby-rspec-mocks all 3.13.0c0e0m0s1-2 [81.0 kB] 221s Get:25 http://ftpmaster.internal/ubuntu resolute/universe armhf ruby-rspec all 3.13.0c0e0m0s1-2 [3500 B] 221s Get:26 http://ftpmaster.internal/ubuntu resolute/universe armhf ruby-timecop all 0.9.10-1.1 [11.5 kB] 222s Fetched 7049 kB in 9s (790 kB/s) 222s Selecting previously unselected package rubygems-integration. 222s (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 ... 68691 files and directories currently installed.) 222s Preparing to unpack .../00-rubygems-integration_1.19build1_all.deb ... 222s Unpacking rubygems-integration (1.19build1) ... 222s Selecting previously unselected package ruby-csv. 222s Preparing to unpack .../01-ruby-csv_3.3.4-1_all.deb ... 222s Unpacking ruby-csv (3.3.4-1) ... 222s Selecting previously unselected package ruby-did-you-mean. 222s Preparing to unpack .../02-ruby-did-you-mean_1.6.3-2build1_all.deb ... 222s Unpacking ruby-did-you-mean (1.6.3-2build1) ... 222s Selecting previously unselected package ruby-net-telnet. 222s Preparing to unpack .../03-ruby-net-telnet_0.2.0-1build1_all.deb ... 222s Unpacking ruby-net-telnet (0.2.0-1build1) ... 222s Selecting previously unselected package ruby-ruby2-keywords. 222s Preparing to unpack .../04-ruby-ruby2-keywords_0.0.5-1build1_all.deb ... 222s Unpacking ruby-ruby2-keywords (0.0.5-1build1) ... 222s Selecting previously unselected package ruby-webrick. 222s Preparing to unpack .../05-ruby-webrick_1.9.1-1build1_all.deb ... 222s Unpacking ruby-webrick (1.9.1-1build1) ... 222s Selecting previously unselected package ruby-xmlrpc. 222s Preparing to unpack .../06-ruby-xmlrpc_0.3.3-2build1_all.deb ... 222s Unpacking ruby-xmlrpc (0.3.3-2build1) ... 222s Selecting previously unselected package libruby3.3:armhf. 222s Preparing to unpack .../07-libruby3.3_3.3.8-2ubuntu2_armhf.deb ... 222s Unpacking libruby3.3:armhf (3.3.8-2ubuntu2) ... 222s Selecting previously unselected package ruby3.3. 223s Preparing to unpack .../08-ruby3.3_3.3.8-2ubuntu2_armhf.deb ... 223s Unpacking ruby3.3 (3.3.8-2ubuntu2) ... 223s Selecting previously unselected package libruby:armhf. 223s Preparing to unpack .../09-libruby_1%3a3.3_armhf.deb ... 223s Unpacking libruby:armhf (1:3.3) ... 223s Selecting previously unselected package ruby-rubygems. 223s Preparing to unpack .../10-ruby-rubygems_3.6.7-2ubuntu2_all.deb ... 223s Unpacking ruby-rubygems (3.6.7-2ubuntu2) ... 223s Selecting previously unselected package ruby. 223s Preparing to unpack .../11-ruby_1%3a3.3_armhf.deb ... 223s Unpacking ruby (1:3.3) ... 223s Selecting previously unselected package rake. 223s Preparing to unpack .../12-rake_13.2.1-1build1_all.deb ... 223s Unpacking rake (13.2.1-1build1) ... 223s Selecting previously unselected package ruby-minitest. 223s Preparing to unpack .../13-ruby-minitest_5.26.1-1_all.deb ... 223s Unpacking ruby-minitest (5.26.1-1) ... 223s Selecting previously unselected package ruby-power-assert. 223s Preparing to unpack .../14-ruby-power-assert_3.0.1-1_all.deb ... 223s Unpacking ruby-power-assert (3.0.1-1) ... 223s Selecting previously unselected package ruby-test-unit. 223s Preparing to unpack .../15-ruby-test-unit_3.6.2-1_all.deb ... 223s Unpacking ruby-test-unit (3.6.2-1) ... 223s Selecting previously unselected package gem2deb-test-runner. 223s Preparing to unpack .../16-gem2deb-test-runner_2.2.5_armhf.deb ... 223s Unpacking gem2deb-test-runner (2.2.5) ... 223s Selecting previously unselected package ruby-concurrent. 223s Preparing to unpack .../17-ruby-concurrent_1.3.6-1_all.deb ... 223s Unpacking ruby-concurrent (1.3.6-1) ... 223s Selecting previously unselected package ruby-concurrent-ext. 223s Preparing to unpack .../18-ruby-concurrent-ext_1.3.6-1_armhf.deb ... 223s Unpacking ruby-concurrent-ext (1.3.6-1) ... 223s Selecting previously unselected package ruby-diff-lcs. 223s Preparing to unpack .../19-ruby-diff-lcs_1.5.1-1_all.deb ... 223s Unpacking ruby-diff-lcs (1.5.1-1) ... 223s Selecting previously unselected package ruby-rspec-support. 223s Preparing to unpack .../20-ruby-rspec-support_3.13.0c0e0m0s1-2_all.deb ... 223s Unpacking ruby-rspec-support (3.13.0c0e0m0s1-2) ... 223s Selecting previously unselected package ruby-rspec-core. 223s Preparing to unpack .../21-ruby-rspec-core_3.13.0c0e0m0s1-2_all.deb ... 223s Unpacking ruby-rspec-core (3.13.0c0e0m0s1-2) ... 223s Selecting previously unselected package ruby-rspec-expectations. 223s Preparing to unpack .../22-ruby-rspec-expectations_3.13.0c0e0m0s1-2_all.deb ... 223s Unpacking ruby-rspec-expectations (3.13.0c0e0m0s1-2) ... 223s Selecting previously unselected package ruby-rspec-mocks. 223s Preparing to unpack .../23-ruby-rspec-mocks_3.13.0c0e0m0s1-2_all.deb ... 223s Unpacking ruby-rspec-mocks (3.13.0c0e0m0s1-2) ... 223s Selecting previously unselected package ruby-rspec. 223s Preparing to unpack .../24-ruby-rspec_3.13.0c0e0m0s1-2_all.deb ... 223s Unpacking ruby-rspec (3.13.0c0e0m0s1-2) ... 223s Selecting previously unselected package ruby-timecop. 223s Preparing to unpack .../25-ruby-timecop_0.9.10-1.1_all.deb ... 223s Unpacking ruby-timecop (0.9.10-1.1) ... 223s Setting up ruby-ruby2-keywords (0.0.5-1build1) ... 223s Setting up ruby-power-assert (3.0.1-1) ... 223s Setting up rubygems-integration (1.19build1) ... 223s Setting up ruby-concurrent (1.3.6-1) ... 223s Setting up ruby-timecop (0.9.10-1.1) ... 223s Setting up ruby-minitest (5.26.1-1) ... 223s Setting up ruby-test-unit (3.6.2-1) ... 223s Setting up ruby-net-telnet (0.2.0-1build1) ... 223s Setting up ruby-csv (3.3.4-1) ... 223s Setting up ruby-rspec-support (3.13.0c0e0m0s1-2) ... 223s Setting up ruby-webrick (1.9.1-1build1) ... 223s Setting up ruby-did-you-mean (1.6.3-2build1) ... 223s Setting up ruby-xmlrpc (0.3.3-2build1) ... 223s Setting up rake (13.2.1-1build1) ... 223s Setting up libruby3.3:armhf (3.3.8-2ubuntu2) ... 223s Setting up ruby3.3 (3.3.8-2ubuntu2) ... 223s Setting up libruby:armhf (1:3.3) ... 223s Setting up ruby (1:3.3) ... 223s Setting up ruby-rspec-core (3.13.0c0e0m0s1-2) ... 223s Setting up ruby-diff-lcs (1.5.1-1) ... 223s Setting up ruby-rubygems (3.6.7-2ubuntu2) ... 223s Setting up gem2deb-test-runner (2.2.5) ... 223s Setting up ruby-concurrent-ext (1.3.6-1) ... 223s Setting up ruby-rspec-expectations (3.13.0c0e0m0s1-2) ... 223s Setting up ruby-rspec-mocks (3.13.0c0e0m0s1-2) ... 223s Setting up ruby-rspec (3.13.0c0e0m0s1-2) ... 223s Processing triggers for libc-bin (2.42-2ubuntu4) ... 223s Processing triggers for man-db (2.13.1-1build1) ... 234s autopkgtest [07:08:27]: 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 234s autopkgtest [07:08:27]: test ruby: [----------------------- 237s 237s ┌──────────────────────────────────────────────────────────────────────────────┐ 237s │ Run tests for ruby3.3 from debian/ruby-tests.rake │ 237s └──────────────────────────────────────────────────────────────────────────────┘ 237s 237s RUBYLIB=. GEM_PATH= ruby3.3 -S rake --rakelibdir /gem2deb-nonexistent -f debian/ruby-tests.rake 237s mv lib ./.gem2deb.lib 237s mv ext ./.gem2deb.ext 237s /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 238s Run options: exclude {:stress=>true} 238s 238s Randomized with seed 1 238s 238s Concurrent::IVar 238s #initialize 238s can set an initial value 238s does not have to set an initial value 238s can set an initial value with a block 238s does not set an initial value if you pass NULL 238s raises an exception if given both a value and a block 238s observation 238s notifies all observers on #set 238s deadlock avoidance 238s should notify observers outside mutex lock 238s should notify a new observer added after fulfillment outside lock 238s it should behave like ivar 238s initialization 238s sets the state to incomplete 238s it should behave like dereferenceable 238s does not call #freeze when #freeze_on_deref is set and the value is nil 238s defaults :copy_on_deref to nil 238s defaults :dup_on_deref to false 238s supports dereference flags with observers 238s calls #freeze when the :freeze_on_deref option is true 238s defaults :freeze_on_deref to false 238s does not call #dup when #dup_on_deref is set and the value is nil 238s calls #dup when the :dup_on_deref option is true 238s calls the block when the :copy_on_deref option is passed a proc 238s does not call the #copy_on_deref block when the value is nil 238s calls the :copy block first followed by #dup followed by #freeze 238s it should behave like obligation 238s #value 238s returns nil when reaching the optional timeout value 238s is nil when :pending 238s blocks the caller when :pending and timeout is nil 238s returns the value when fulfilled before timeout 238s is set to the return value of the block when :fulfilled 238s is nil when :rejected 238s returns nil when timeout reached 238s returns immediately when timeout is zero 238s #state 238s is :pending when first created 238s is :fulfilled when the handler completes 238s is :rejected when the handler raises an exception 238s #reason 238s is nil when :fulfilled 238s is set to error object of the exception when :rejected 238s is nil when :pending 238s it should behave like observable 238s #delete_observer 238s deletes the given observer if called before first notification 238s returns the given observer even when not found in the observer set 238s returns the removed observer if found in the observer set 238s #add_observer 238s raises an exception if not given an observer or a block 238s adds an observer if called before first notification 238s raises an exception when given both an observer and a block 238s creates an observer from a block if called before first notification 238s adds an observer with :func if called before first notification 238s first notification 239s does not notify any observers after #delete_observers called 239s calls the appropriate function on all observers which specified a :func 240s does not notify any observers removed with #delete_observer 240s calls the proc for all observers added as a block 240s calls the #update method on all observers without a specified :func 240s #count_observers 240s returns zero for a new observable object 240s returns a count of registered observers if called before first notification 240s returns zero after #delete_observers has been called 240s #delete_observers 240s deletes all observers when called before first notification 240s returns self 240s #set 240s raises an exception when given neither a value nor a block 240s raises an exception if set more than once 240s rejects when given a block which raises an exception 240s returns self 240s sets the state to be fulfilled 240s fulfils when given a block which executes successfully 240s raises an exception when given a value and a block 240s sets the value 240s #fail 240s sets the reason to the given exception 240s raises an exception if set more than once 240s sets the value to be nil 240s returns self 240s defaults the reason to a StandardError 240s sets the state to be rejected 240s #try_set 240s when unset 240s assigns the value 240s assigns the block result 240s returns true 240s when rejected 240s does not assign the block result 240s returns false 240s has a nil value 240s does not assign the value 240s when fulfilled 240s does not assign the value 240s returns false 240s does not assign the block result 240s 240s Concurrent::LazyRegister 240s example at ./spec/concurrent/lazy_register_spec.rb:6 (PENDING: Not yet implemented) 240s 240s dataflow 240s #dataflow uses the global fast executor 240s #dataflow_with raises an exception when no executor given 240s raises an exception when no block given 240s accepts completed dependencies 240s doesn't raise exceptions from dependencies, unless called with ! 240s returns a Future 240s accepts zero or more dependencies 240s accepts uncompleted dependencies 240s #dataflow_with uses the given executor 240s raises an exception if any dependencies are not IVars 240s passes the values of dependencies into the block 240s if there is more than one 240s if there is just one 240s does not schedule the Future 240s if no dependencies are completed 240s if one dependency of two is completed 240s module function 240s can be called as Concurrent.dataflow and Concurrent.dataflow_with 240s counts already executed dependencies 240s if there is more than one 240s if there is just one 240s schedules the Future when all dependencies are available 240s if there is more than one 240s if there is just one 240s 240s Concurrent::MutableStruct 240s #[member]= 240s sets the value when given a valid string member 240s sets the value when given a valid symbol member 240s raises an exception when given a non-existent symbol member 240s raises an exception when given a non-existent string member 240s synchronization 240s protects #[member] 240s protects #values 240s protects #to_h 240s protects getter methods 240s protects #each_pair 240s protects getter methods 240s protects #inspect 240s protects #[member]= 240s protects #to_s 240s protects #values_at 240s protects #merge 240s protects #initialize_copy 240s protects #[index]= 240s protects #== 240s protects #each 240s protects #[index] 240s protects #select 240s definition 240s defines a setter for each member 240s copy 240s #clone 240s mutates only the copy 240s #dup 240s mutates only the copy 240s #[index]= 240s sets the value when given a valid index 240s raises an exception when given an out-of-bound index 240s it should behave like struct 240s properties 240s #members 240s returns a different object than the array passed at definition 240s returns the struct members as an array of symbols 240s #size 240s returns the number of struct members 240s #values 240s returns the values of the struct as an array in order 240s #values_at 240s returns values for ranges and offsets 240s returns the values at multiple given offsets 240s returns values at offsets in a given range 240s returns the value at the given offset 240s returns values for multiple ranges 240s #length 240s returns the number of struct members 240s comparison 240s #!= 240s returns false if other has same struct subclass and equal values 240s returns true if other has different values 240s returns true if other has different struct subclass 240s #== 240s returns true if other has same struct subclass and equal values 240s returns false if other has different struct subclass 240s returns false if other has different values 240s definition 240s registers the class when given a class name which is defined in the ancestors 240s ignores methods on ancestor classes 240s defines a getter for each member 240s raises an exception when given no members 240s raises an exception when given an invalid class name 240s registers the class when given a class name 240s raise an exception when given an invalid member 240s evalues a given block against the new class 240s creates an anonymous class when given at least one member 240s conversion 240s #to_a 240s returns the to_a for this struct as an array 240s #to_s 240s returns the same string as #inspect 240s includes the name of the class when registered 240s includes the names of all members 240s includes all values 240s #to_h 240s returns a Hash containing the names and values in order 240s accessors 240s #[index] 240s retrieves the value when given a valid index 240s raises an exception when given an out-of-bound index 240s #[member] 240s retrieves the value when given a valid string member 240s raises an exception when given a non-existent string member 240s raises an exception when given a non-existent symbol member 240s retrieves the value when given a valid symbol member 240s enumeration 240s #select 240s yields each value 240s returns an enumerator when no block is given 240s returns an Array with the values from for which the block returns true 240s #each 240s returns an enumerator when no block is given 240s yields the value of each struct member in order 240s #each_pair 240s returns an enumerator when no block is given 240s yields the name and value of each struct member in order 240s construction 240s raises an exception when extra members are given 240s sets all absent members to nil 240s sets all given members in order 240s copy 240s #dup 240s discards singleton class 240s shallowly duplicates all members along with the struct 240s discards frozen state of the struct 240s retains frozen state of members 240s copies the singleton class of members 240s #clone 240s retains frozen state 240s copies the singleton class 240s copies the singleton class of members 240s shallowly clones all members along with the struct 240s it should behave like mergeable_struct 240s #merge 240s calls the given block for each key in `other` 240s raises an exception when given a hash with members not in the struct 240s returns a new object 240s retains the value for all members not without values in the given hash 240s updates all members with the new values from a given hash 240s 240s Concurrent 240s Cancellation 240s basic 240s is expected to be falsey 240s is expected to be truthy 240s #join 240s is expected to eq 2 240s is expected to be falsey 240s 240s #atomically 240s provides atomicity 240s raises an exception when no block given 240s reflects transactional writes from within the same transaction 240s undoes writes if the transaction is aborted 240s commits writes if the transaction succeeds 240s retries on abort 240s nests 240s raises the same exception that was raised in Concurrent::atomically 240s 240s Concurrent::Set 240s .[] 240s when initializing with arguments 240s creates a set with the given objects 240s when initializing with no arguments 240s is expected to be empty 240s .new 240s when initializing with no arguments 240s is expected to be empty 240s when initializing with an enumerable object 240s creates a set with the contents of the enumerable object 240s when initializing with a block argument 240s creates a set with the contents of the enumerable object 240s concurrency 240s #each 240s force context switch 241s #add and #delete 241s 241s Concurrent::Delay 241s #reconfigure 241s returns value of block used in reconfiguration 241s returns false when process completed? 241s #value 241s can be called twice 241s calls the block when #value is called 241s raises when called recursively 241s does not call the block before #value is called 242s only calls the block once no matter how often #value is called 242s behavior 242s it should behave like dereferenceable 242s calls the block when the :copy_on_deref option is passed a proc 242s defaults :copy_on_deref to nil 242s does not call #freeze when #freeze_on_deref is set and the value is nil 242s calls #dup when the :dup_on_deref option is true 242s does not call #dup when #dup_on_deref is set and the value is nil 242s defaults :dup_on_deref to false 242s supports dereference flags with observers 242s does not call the #copy_on_deref block when the value is nil 242s calls the :copy block first followed by #dup followed by #freeze 242s defaults :freeze_on_deref to false 242s calls #freeze when the :freeze_on_deref option is true 242s it should behave like obligation 242s #reason 242s is nil when :pending 242s is nil when :fulfilled 242s is set to error object of the exception when :rejected 242s #value 242s is nil when :rejected 242s is set to the return value of the block when :fulfilled 242s returns immediately when timeout is zero 242s blocks the caller when :pending and timeout is nil 242s returns nil when reaching the optional timeout value 242s returns nil when timeout reached 242s returns the value when fulfilled before timeout 242s is nil when :pending 242s #state 242s is :pending when first created 242s is :rejected when the handler raises an exception 242s is :fulfilled when the handler completes 242s #initialize 242s raises an exception when no block given 242s sets the state to :pending 242s 242s Concurrent::Promise 242s #rescue 242s returns a new promise 242s it should behave like thread_arguments 242s passes a one-element array when the :args key has a non-array value 242s passes an empty array when opts is not given 242s passes an empty array when the :args key has a nil value 242s passes an empty array when opts is an empty hash 242s allows the given arguments array to be dereferenced 242s passes the given array when the :args key has a complex array value 242s passes an array when when the :args key has an array value 242s passes an empty array when there is no :args key 242s aliases 242s aliases #realized? for #fulfilled? 242s aliases #catch for #rescue 242s aliases #deref for #value 242s aliases #on_error for #rescue 242s fulfillment 242s can manage long chain 242s sets the promise state to :fulfilled if the block completes 242s passes the result of each block to all its children 242s sets the promise value to the result if its block 242s uses result as fulfillment value when a promise has no block 242s passes the last result through when a promise has no block 242s #fail 242s can only be called on the root promise 242s rejects children 242s #set 242s triggers children 242s can be called with a block 242s #can only be called on the root promise 242s rejection 242s sets the promise value to the result if its block 242s passes the reason to all its children 242s rejects on Exception 242s sets the promise state to :rejected if the block completes 242s uses reason as rejection reason when a promise has no rescue callable 242s .zip 242s does not execute the returned Promise when execute is false 242s preserves ordering of the executed promises 242s executes the returned Promise by default 242s allows setting executor for Promise chain 242s fails if one component fails 242s executes the returned Promise when execute is true 242s yields the results as an array 242s aggregators 242s .any? 242s executes the #then condition when any components succeed 242s executes the #rescue handler if all componenst fail 242s does not execute the returned Promise 242s returns a new Promise 242s executes the #then condition when no promises are given 242s .all? 242s executes the #then condition when all components succeed 242s executes the #rescue handler if even one component fails 242s returns a new Promise 242s does not execute the returned Promise 242s executes the #then condition when no promises are given 242s initializers 242s .execute 242s passes the block to the new Promise 242s calls #execute on the new Promise 242s creates a new Promise 242s .fulfill 242s should return a Promise with set value 242s should return a fulfilled Promise 242s should return a Promise 242s .reject 242s should return a Promise with set reason 242s should return a Promise 242s should return a rejected Promise 242s .new 242s should return an unscheduled Promise 242s #then 242s should have block or rescuers 242s returns a new promise when a block and rescuer are passed 242s returns a new promise when a block is passed 242s returns a new promise when a rescuer is passed 242s can be called more than once 242s supports setting the executor using a named parameter 242s returns a new promise when a block, rescuer and executor are passed 242s fulfilled 242s returns a new Promise 242s notifies fulfillment to new child 242s rejected 242s returns a new Promise when :rejected 242s notifies rejection to new child 242s pending 242s returns a new promise 242s returns a pending promise 242s unscheduled 242s returns a new promise 242s returns an unscheduled promise 242s on_success 242s returns a new promise 242s should have a block 242s #execute 242s with children 242s when called on a child 243s should set all promises to :pending 243s when called on child after parent completes 243s sets state to :pending immediately 243s when called on the root 244s should set all promises to :pending 244s pending 244s does not post again 244s sets the promise to :pending 244s unscheduled 244s posts the block given in construction 245s sets the promise to :pending 245s #flat_map 245s returns a promise 245s fails if the left promise fails 245s fails if the right promise fails 245s fails if the generating block fails 245s succeeds if both promises succeed 245s #zip 245s allows setting executor for Promise chain 245s fails if one component fails 245s executes the returned Promise when execute is true 245s does not execute the returned Promise when execute is false 245s executes the returned Promise by default 245s preserves ordering of the executed promises 245s yields the results as an array 245s it should behave like ivar 245s #set 245s raises an exception if set more than once 245s returns self 245s raises an exception when given neither a value nor a block 245s raises an exception when given a value and a block 245s rejects when given a block which raises an exception 245s sets the state to be fulfilled 245s sets the value 245s fulfils when given a block which executes successfully 245s #try_set 245s when fulfilled 245s returns false 245s does not assign the value 245s does not assign the block result 245s when rejected 245s returns false 245s does not assign the block result 245s has a nil value 245s does not assign the value 245s when unset 245s returns true 245s assigns the value 245s assigns the block result 245s it should behave like observable 245s #add_observer 245s adds an observer with :func if called before first notification 245s raises an exception if not given an observer or a block 245s creates an observer from a block if called before first notification 245s adds an observer if called before first notification 245s raises an exception when given both an observer and a block 245s #count_observers 245s returns zero for a new observable object 245s returns a count of registered observers if called before first notification 245s returns zero after #delete_observers has been called 245s first notification 246s does not notify any observers removed with #delete_observer 247s does not notify any observers after #delete_observers called 247s calls the proc for all observers added as a block 248s calls the appropriate function on all observers which specified a :func 248s calls the #update method on all observers without a specified :func 248s #delete_observer 248s returns the given observer even when not found in the observer set 248s returns the removed observer if found in the observer set 248s deletes the given observer if called before first notification 248s #delete_observers 248s returns self 248s deletes all observers when called before first notification 248s initialization 248s sets the state to incomplete 248s #fail 248s sets the state to be rejected 248s sets the value to be nil 248s raises an exception if set more than once 248s defaults the reason to a StandardError 248s sets the reason to the given exception 248s returns self 248s it should behave like dereferenceable 248s calls the block when the :copy_on_deref option is passed a proc 248s defaults :copy_on_deref to nil 248s does not call #freeze when #freeze_on_deref is set and the value is nil 248s calls #dup when the :dup_on_deref option is true 249s supports dereference flags with observers 249s calls #freeze when the :freeze_on_deref option is true 249s calls the :copy block first followed by #dup followed by #freeze 249s defaults :dup_on_deref to false 250s defaults :freeze_on_deref to false 250s does not call #dup when #dup_on_deref is set and the value is nil 250s does not call the #copy_on_deref block when the value is nil 250s it should behave like obligation 250s #value 255s blocks the caller when :pending and timeout is nil 255s returns nil when reaching the optional timeout value 255s is set to the return value of the block when :fulfilled 255s is nil when :pending 255s returns nil when timeout reached 255s returns immediately when timeout is zero 255s is nil when :rejected 260s returns the value when fulfilled before timeout 260s #reason 260s is nil when :fulfilled 260s is nil when :pending 260s is set to error object of the exception when :rejected 260s #state 260s is :pending when first created 260s is :fulfilled when the handler completes 260s is :rejected when the handler raises an exception 260s 260s Concurrent::TVar 260s #value 260s gets the value 260s #initialize 260s accepts an initial value 260s #value= 260s sets the value 260s 260s Concurrent::Async 260s object creation 260s initializes synchronization 260s passes all args to the original constructor 260s delegates to the original constructor 260s passes a given block to the original constructor 260s #await 260s raises an error when calling a method that does not exist 260s raises an error when passing too few arguments 260s sets the reason when giving too many optional arguments 260s supports methods with blocks 260s sets the value on success 260s supports attribute accessors 260s returns a :fulfilled IVar 260s runs the future on the global executor 260s returns the existence of the method 260s raises an error when passing too many arguments (arity >= 0) 260s sets the reason on failure 260s #validate_argc 260s raises an exception for too many args on a method with positive arity 260s raises an exception for too many args on a zero arity method 260s does not raise an exception for correct negative arity 260s raises an exception for too few args on a method with negative arity 260s raises an exception when the method is not defined 260s raises an exception for too few args on a method with positive arity 260s does not raise an exception for correct positive arity 260s does not raise an exception for correct zero arity 260s fork safety 260s does not hang when forked 260s locking 260s uses the same lock for both #async and #await 260s #async 260s sets the reason on failure 260s raises an error when calling a method that does not exist 260s supports methods with blocks 260s returns the existence of the method 260s raises an error when passing too few arguments 260s raises an error when passing too many arguments (arity >= 0) 260s supports attribute accessors 260s runs the future on the global executor 260s returns a :pending IVar 260s sets the value on success 260s sets the reason when giving too many optional arguments 260s 260s Concurrent::MVar 260s #take 260s returns TIMEOUT on timeout on an empty MVar 261s waits for another thread to #put 261s returns the value on a full MVar 261s sets the MVar to empty 261s spurious wake ups 261s #put 261s returns TIMEOUT on timeout on a full MVar 261s waits for another thread to #take 261s #modify 262s waits for another thread to #put 262s returns TIMEOUT on timeout on an empty MVar 262s #take 263s waits for another thread to #put 263s returns TIMEOUT on timeout on an empty MVar 263s #empty? 263s returns false on a full MVar 263s returns true on an empty MVar 263s #set! 263s sets a full MVar to be full 263s returns EMPTY on an empty MVar 263s sets an empty MVar to be full 263s returns the original value on a full MVar 263s #modify! 263s raises an exception when no block given 263s modifies an empty MVar 263s returns the unmodified value 263s can be used to set an empty MVar to empty 263s can be used to set a full MVar to empty 263s modifies a full MVar 263s #initialize 263s accepts an initial value 263s accepts a nil initial value 263s accepts no initial value 263s accepts an empty initial value 263s #try_take! 263s returns EMPTY an empty MVar 263s returns the value on a full MVar 263s sets a full MVar to be empty 263s #borrow 263s returns TIMEOUT on timeout on an empty MVar 263s yields current value to the block and puts back value 263s returns the returned value of the block 263s puts back value even if an exception is raised 263s #put 263s returns the value 263s sets a new value on an empty MVar 263s waits for another thread to #take 263s sets the MVar to be empty 264s returns TIMEOUT on timeout on a full MVar 264s #full? 264s returns true on a full MVar 264s returns false on an empty MVar 264s #try_put! 264s returns false on a full MVar 264s returns true an empty MVar 264s sets an empty MVar to be full 264s #modify 264s waits for another thread to #put 264s returns TIMEOUT on timeout on an empty MVar 265s is atomic 265s raises an exception when no block given 265s modifies a full MVar 265s returns the unmodified value 265s behavior 265s it should behave like dereferenceable 265s calls the block when the :copy_on_deref option is passed a proc 265s defaults :copy_on_deref to nil 265s supports dereference flags with observers 265s does not call #freeze when #freeze_on_deref is set and the value is nil 265s defaults :dup_on_deref to false 265s does not call #dup when #dup_on_deref is set and the value is nil 265s calls the :copy block first followed by #dup followed by #freeze 265s defaults :freeze_on_deref to false 265s calls #freeze when the :freeze_on_deref option is true 265s does not call the #copy_on_deref block when the value is nil 265s calls #dup when the :dup_on_deref option is true 265s 265s configuration 265s global executors 265s creates a global fast executor 265s creates a global timer set 265s creates a global io executor 265s 265s Concurrent::TimerTask 265s execution 265s uses a custom executor when given 265s waits for :execution_interval seconds when the :run_now option is not given 265s uses a fixed rate when set 266s uses a fixed delay when set 266s passes a "self" reference to the block as the sole argument 266s uses the global executor by default 266s waits for :execution_interval seconds when the :run_now option is false 266s runs the block immediately when the :run_now option is true 266s arguments 266s TimeTask timeouts are now ignored as these were not able to be implemented correctly 266s #timeout_interval being written produces a warning 266s TimeTask timeouts are now ignored as these were not able to be implemented correctly 266s #execution_interval is writeable 266s raises an exception if no block given 266s raises on invalid interval_type 266s observation 266s notifies all observers on error 266s notifies all observers on success 266s dereferenceable 266s it should behave like dereferenceable 266s defaults :freeze_on_deref to false 267s defaults :copy_on_deref to nil 267s calls #freeze when the :freeze_on_deref option is true 267s does not call the #copy_on_deref block when the value is nil 267s does not call #freeze when #freeze_on_deref is set and the value is nil 267s does not call #dup when #dup_on_deref is set and the value is nil 267s calls the block when the :copy_on_deref option is passed a proc 268s defaults :dup_on_deref to false 268s calls the :copy block first followed by #dup followed by #freeze 268s calls #dup when the :dup_on_deref option is true 268s supports dereference flags with observers 268s created with #new 268s #kill 268s returns true on success 268s #shutdown 269s will cancel pre-shutdown task even if restarted to avoid double-runs 269s returns true on success 269s #initialize 269s uses the default execution interval when no interval is given 269s uses the given execution interval 269s raises an exception if :execution_interval is not greater than zero 269s uses the default :interval_type when no type is given 269s raises an exception if :execution_interval is not an integer 269s raises an exception if :interval_type is not a valid value 269s uses the given interval type 269s raises an exception if no block given 269s observable 269s it should behave like observable 269s #delete_observer 269s deletes the given observer if called before first notification 269s returns the given observer even when not found in the observer set 269s returns the removed observer if found in the observer set 269s #count_observers 269s returns zero after #delete_observers has been called 269s returns a count of registered observers if called before first notification 269s returns zero for a new observable object 269s #delete_observers 269s returns self 269s deletes all observers when called before first notification 269s first notification 269s calls the #update method on all observers without a specified :func 269s calls the appropriate function on all observers which specified a :func 269s calls the proc for all observers added as a block 271s does not notify any observers removed with #delete_observer 272s does not notify any observers after #delete_observers called 272s #add_observer 272s creates an observer from a block if called before first notification 272s raises an exception if not given an observer or a block 272s raises an exception when given both an observer and a block 272s adds an observer with :func if called before first notification 272s adds an observer if called before first notification 272s 272s Concurrent::Hash 272s .[] 272s when initializing with another hash as an argument 272s creates a hash with the results of calling #to_hash on the other array 272s creates a new hash 272s creates a hash with the same contents as the other hash 272s when initializing with an array of pairs 272s creates a hash using each pair as a (key, value) pair 272s when initializing with no arguments 272s is expected to be empty 272s when initializing with an even number of arguments 272s creates a hash using the odd position arguments as keys and even position arguments as values 272s .new 272s when initialized with a block 272s calls the block for non-existing keys 272s returns the results of calling the block for non-existing key 272s when initializing with no arguments 272s is expected to be empty 272s when initialized with a default object 272s uses the default object for non-existing keys 272s concurrency 272s is expected to be empty 272s 272s Concurrent::SettableStruct 272s it should behave like mergeable_struct 272s #merge 272s raises an exception when given a hash with members not in the struct 272s calls the given block for each key in `other` 272s retains the value for all members not without values in the given hash 272s updates all members with the new values from a given hash 272s returns a new object 272s definition 272s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/settable_struct.rb:121: warning: method redefined; discarding old baz 272s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/synchronization/abstract_struct.rb:161: warning: previous definition of baz was here 272s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/settable_struct.rb:121: warning: method redefined; discarding old baz 272s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/synchronization/abstract_struct.rb:161: warning: previous definition of baz was here 272s defines a setter for each member 272s #[index]= 272s raises an exception when given an out-of-bound index 272s raises an exception when given an index that has already been set 272s sets the value when given a valid index 272s it should behave like struct 272s construction 272s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/settable_struct.rb:121: warning: method redefined; discarding old baz 272s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/synchronization/abstract_struct.rb:161: warning: previous definition of baz was here 272s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/settable_struct.rb:121: warning: method redefined; discarding old baz 272s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/synchronization/abstract_struct.rb:161: warning: previous definition of baz was here 272s sets all absent members to nil 272s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/settable_struct.rb:121: warning: method redefined; discarding old baz 272s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/synchronization/abstract_struct.rb:161: warning: previous definition of baz was here 272s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/settable_struct.rb:121: warning: method redefined; discarding old baz 272s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/synchronization/abstract_struct.rb:161: warning: previous definition of baz was here 272s raises an exception when extra members are given 272s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/settable_struct.rb:121: warning: method redefined; discarding old baz 272s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/synchronization/abstract_struct.rb:161: warning: previous definition of baz was here 272s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/settable_struct.rb:121: warning: method redefined; discarding old baz 272s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/synchronization/abstract_struct.rb:161: warning: previous definition of baz was here 272s sets all given members in order 272s accessors 272s #[member] 272s raises an exception when given a non-existent string member 272s retrieves the value when given a valid string member 272s raises an exception when given a non-existent symbol member 272s retrieves the value when given a valid symbol member 272s #[index] 272s retrieves the value when given a valid index 272s raises an exception when given an out-of-bound index 272s definition 272s raise an exception when given an invalid member 272s evalues a given block against the new class 272s ignores methods on ancestor classes 272s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/settable_struct.rb:121: warning: method redefined; discarding old baz 272s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/synchronization/abstract_struct.rb:161: warning: previous definition of baz was here 272s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/settable_struct.rb:121: warning: method redefined; discarding old baz 272s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/synchronization/abstract_struct.rb:161: warning: previous definition of baz was here 272s defines a getter for each member 272s creates an anonymous class when given at least one member 272s raises an exception when given no members 272s registers the class when given a class name 272s raises an exception when given an invalid class name 272s /tmp/autopkgtest.4WcEcV/build.abN/src/spec/concurrent/struct_shared.rb:15: warning: already initialized constant ValidClassName2 272s /tmp/autopkgtest.4WcEcV/build.abN/src/spec/concurrent/struct_shared.rb:15: warning: previous definition of ValidClassName2 was here 272s registers the class when given a class name which is defined in the ancestors 272s conversion 272s #to_h 272s returns a Hash containing the names and values in order 272s #to_a 272s returns the to_a for this struct as an array 272s #to_s 272s includes all values 272s returns the same string as #inspect 272s includes the name of the class when registered 272s includes the names of all members 272s copy 272s #clone 272s shallowly clones all members along with the struct 272s copies the singleton class 272s copies the singleton class of members 272s retains frozen state 272s #dup 272s shallowly duplicates all members along with the struct 272s retains frozen state of members 272s discards singleton class 272s discards frozen state of the struct 272s copies the singleton class of members 272s properties 272s #values_at 272s returns values at offsets in a given range 272s returns values for multiple ranges 272s returns the values at multiple given offsets 272s returns the value at the given offset 272s returns values for ranges and offsets 272s #size 272s returns the number of struct members 272s #members 272s returns the struct members as an array of symbols 272s returns a different object than the array passed at definition 272s #values 272s returns the values of the struct as an array in order 272s #length 272s returns the number of struct members 272s enumeration 272s #each_pair 272s returns an enumerator when no block is given 272s yields the name and value of each struct member in order 272s #select 272s yields each value 272s returns an Array with the values from for which the block returns true 272s returns an enumerator when no block is given 272s #each 272s yields the value of each struct member in order 272s returns an enumerator when no block is given 272s comparison 272s #!= 272s returns true if other has different values 272s returns true if other has different struct subclass 272s returns false if other has same struct subclass and equal values 272s #== 272s returns true if other has same struct subclass and equal values 272s returns false if other has different values 272s returns false if other has different struct subclass 272s #[member]= 272s raises an exception when given a string member that has already been set 272s sets the value when given a valid string member 272s raises an exception when given a non-existent string member 272s raises an exception when given a symbol member that has already been set 272s raises an exception when given a non-existent symbol member 272s sets the value when given a valid symbol member 272s synchronization 272s protects getter methods 272s protects #select 272s protects #each_pair 272s protects #inspect 272s protects #[index] 272s protects getter methods 272s protects #to_h 272s protects #initialize_copy 272s protects #[member]= 272s protects #each 272s protects #[index]= 272s protects #values 272s protects #== 272s protects #[member] 272s protects #values_at 272s protects #to_s 272s protects #merge 272s copy 272s #clone 272s retains settability of members 272s #dup 272s retains settability of members 272s 272s Concurrent::ImmutableStruct 272s it should behave like struct 272s accessors 272s #[member] 272s retrieves the value when given a valid string member 272s retrieves the value when given a valid symbol member 272s raises an exception when given a non-existent string member 272s raises an exception when given a non-existent symbol member 272s #[index] 272s retrieves the value when given a valid index 272s raises an exception when given an out-of-bound index 272s definition 272s raise an exception when given an invalid member 272s raises an exception when given no members 272s evalues a given block against the new class 272s raises an exception when given an invalid class name 272s creates an anonymous class when given at least one member 272s /tmp/autopkgtest.4WcEcV/build.abN/src/spec/concurrent/struct_shared.rb:15: warning: already initialized constant ValidClassName2 272s /tmp/autopkgtest.4WcEcV/build.abN/src/spec/concurrent/struct_shared.rb:15: warning: previous definition of ValidClassName2 was here 272s registers the class when given a class name which is defined in the ancestors 272s ignores methods on ancestor classes 272s defines a getter for each member 272s registers the class when given a class name 272s conversion 272s #to_s 272s returns the same string as #inspect 272s includes the names of all members 272s includes the name of the class when registered 272s includes all values 272s #to_a 272s returns the to_a for this struct as an array 272s #to_h 272s returns a Hash containing the names and values in order 272s properties 272s #values_at 273s returns values for multiple ranges 273s returns the values at multiple given offsets 273s returns values for ranges and offsets 273s returns values at offsets in a given range 273s returns the value at the given offset 273s #members 273s returns the struct members as an array of symbols 273s returns a different object than the array passed at definition 273s #size 273s returns the number of struct members 273s #length 273s returns the number of struct members 273s #values 273s returns the values of the struct as an array in order 273s comparison 273s #!= 273s returns false if other has same struct subclass and equal values 273s returns true if other has different struct subclass 273s returns true if other has different values 273s #== 273s returns true if other has same struct subclass and equal values 273s returns false if other has different struct subclass 273s returns false if other has different values 273s copy 273s #dup 273s shallowly duplicates all members along with the struct 273s discards frozen state of the struct 273s retains frozen state of members 273s discards singleton class 273s copies the singleton class of members 273s #clone 273s copies the singleton class 273s retains frozen state 273s copies the singleton class of members 273s shallowly clones all members along with the struct 273s construction 273s raises an exception when extra members are given 273s sets all given members in order 273s sets all absent members to nil 273s enumeration 273s #each_pair 273s yields the name and value of each struct member in order 273s returns an enumerator when no block is given 273s #each 273s returns an enumerator when no block is given 273s yields the value of each struct member in order 273s #select 273s returns an enumerator when no block is given 273s yields each value 273s returns an Array with the values from for which the block returns true 273s it should behave like mergeable_struct 273s #merge 273s raises an exception when given a hash with members not in the struct 273s returns a new object 273s updates all members with the new values from a given hash 273s retains the value for all members not without values in the given hash 273s calls the given block for each key in `other` 273s 273s Concurrent::Array 273s concurrency 273s is expected to be empty 273s .new 273s when initializing with a size argument 273s creates an array with size elements set to nil 273s when initializing with a block argument 273s creates an array with size elements set to the default value 273s when initializing with a default value argument 273s creates an array with size elements set to the default value 273s when initializing with no arguments 273s is expected to be empty 273s when initializing with another array as an argument 273s creates an array with the results of calling #to_ary on the other array 273s creates an array with the same contents as the other array 273s creates a new array 273s .[] 273s when initializing with no arguments 273s is expected to be empty 273s when initializing with arguments 273s creates an array with the given objects 273s #slice 273s correctly initializes the monitor 273s 273s Concurrent::Channel 273s #next? 273s returns a just Maybe, true when there are multiple items 273s returns a nothing Maybe and false on failure 273s returns a just Maybe and true when there is one item 273s #take! 273s raises an exception on failure 273s takes the next item when not empty 273s #take? 273s returns a nothing Maybe on failure 273s returns a just Maybe on success 273s #next 273s returns , true when closed and last item 273s returns nil, false when closed and no items remain 273s returns , true when there are multiple items 273s returns nil, false when empty and closed 273s returns , true when there is one item 273s #take 273s returns nil on failure 273s takes the next item when not empty 273s #offer 273s returns true on success 273s rejects nil 273s rejects when the validator raises an exception 273s returns false on failure 273s rejects when the validator returns false 273s put? 273s returns a nothing Maybe on failure 273s rejects when the validator raises an exception 273s accepts nil 273s rejects when the validator returns false 273s returns a just Maybe on success 273s #poll? 273s returns a nothing Maybe immediately if no item is available 273s returns a just Maybe immediately if available 273s returns a nothing Maybe on failure 273s offer? 273s returns a just Maybe on success 273s accepts nil 273s rejects when the validator raises an exception 273s rejects when the validator returns false 273s returns a nothing Maybe on failure 273s offer! 273s returns true on success 273s rejects when the validator raises an exception 273s raises an exception on failure 273s rejects nil 273s rejects when the validator returns false 273s #poll! 273s raises an exception on failure 273s returns the next item immediately if available 273s raises an exception immediately if no item is available 273s #poll 273s returns nil on failure 273s returns nil immediately if no item is available 273s returns the next item immediately if available 273s .each 273s iterates until the channel is closed 273s raises and exception when no block is given 273s put! 273s raises an exception on failure 273s returns true on success 273s rejects when the validator raises an exception 273s rejects nil 273s rejects when the validator returns false 273s factories 273s is expected to receive new(10) 1 time 273s is expected to receive new(10) 1 time 273s goroutines 273s .go_via 273s raises an exception when no block is given 273s is expected to receive post(1, 2, 3) 1 time 273s .go 273s raises an exception when no block is given 273s is expected to receive post(1, 2, 3) 1 time 273s .go_loop 273s loops until the block returns false 273s raises an exception when no block is given 273s .go_loop_via 273s raises an exception when no block is given 273s loops until the block returns false 273s select 273s is expected to be truthy 273s raises an exception when no block is given 273s passes a selector to the block 273s #put 273s rejects when the validator returns false 273s rejects nil 273s rejects when the validator raises an exception 273s returns false on failure 273s returns true on success 273s initialization 273s raises an exception when the :buffer is invalid 273s raises an exception when :dropping given without :capacity 273s is :buffered when :capacity > 0 and no :buffer given 273s is :unbuffered when neither :buffer nore :capacity is given 273s raises an exception when :buffered given without :capacity 273s is :sliding when :sliding and :capacity > 0 273s raises an exception when :buffered and :capacity < 0 273s is :buffered when :buffered given 273s is :dropping when :dropping and :capacity > 0 273s raises an exception when :sliding given without :capacity 273s is :unbuffered when :buffered and capacity: 0 273s raises an exception when :sliding and :capacity < 1 273s raises an exception when both :unbuffered and :capacity are given 273s is :unbuffered when :unbuffered is given 273s uses the given buffer 273s raises an exception when :dropping and :capacity < 1 273s 273s Concurrent::Exchanger 273s class hierarchy 273s inherits from RubyExchanger 273s 273s Concurrent::ProcessingActor 273s is expected to eq "ab" 273s 273s Concurrent::Promises 273s zip_futures_over 273s .event 273s is expected to equal true 273s .zip_events 273s waits for all and returns event 273s Future 273s can be risen when rejected 273s has sync and async callbacks 273s chains with correct arguments 273s runs 273s value! supports setting timeout 273s result supports setting timeout 273s wait! supports setting timeout 273s chains 273s wait supports setting timeout 273s value supports setting timeout 273s constructs promise like tree 273s resolves future when Exception raised 273s allows graphs 273s reason supports setting timeout 273s #flat 273s it propagates rejection of the future which was suppose to provide inner future 273s propagates requests for values to delayed futures 273s rejects if inner value is not a future 273s accepts inner event 273s returns value of inner future 273s propagates rejection of inner future 273s has shortcuts 273s ResolvableEvent 273s #resolve(raise_on_reassign = true) 273s #wait 273s #resolve(raise_on_reassign = false) 273s reservation 273s .any_fulfilled 273s continues on first result 273s treats a resolved Event as a fulfilled Future 273s treats a pending Event as a pending Future 273s .rejected_future 273s raises the correct error when passed an unraised error 273s chain_resolvable 273s future 273s event 273s .future without block 273s is expected to eq 0 273s .zip 273s waits for all results 273s when a future raises an error 273s raises a concurrent error 273s when deeply nested 273s raises the original error 273s value! 273s does not return spuriously without timeout 273s does not return spuriously with timeout 273s .future 273s executes 273s executes with args 273s .any_resolved 273s continues on first result 273s .delay 273s is expected to eq 2 273s ResolvableFuture 273s #wait! 273s result 273s #wait 273s atomic_resolution 273s #value! 273s #value 273s reservation 273s #reason 273s interoperability 273s with erlang actor 273s with channel 273s with processing actor 273s .schedule 274s scheduled execution in graph 274s scheduled execution 274s 274s Concurrent::Atom 274s #compare_and_set 274s returns true if the current value matches 274s returns false if the current value does not match 274s rejects the new value if the current value does not match 274s returns false if the validator returns false 274s sets the new value if the current value matches 274s returns false if the validator raises an exception 274s rejects the new value if the validator returns false 274s rejects the new value if the validator raises an exception 274s #reset 274s returns the new value on success 274s returns the new value on success 274s returns the old value if the validator returns false 274s returns the old value if the validator raises an exception 274s sets the new value 274s #swap 274s rejects the new value if the validator returns false 274s rejects the new value if the validator raises an exception 274s reraises the exception from block 274s returns the new value on success 274s calls the block more than once if the value changes underneath 274s sets the new value to the result of the block 274s returns the old value if the validator returns false 274s raises an exception when no block is given 274s passes all arguments to the block 274s returns the old value if the validator raises an exception 274s passes the current value to the block 274s observable 274s behaves like observable 274s first notification 275s does not notify any observers removed with #delete_observer 275s calls the appropriate function on all observers which specified a :func 276s does not notify any observers after #delete_observers called 276s calls the proc for all observers added as a block 276s calls the #update method on all observers without a specified :func 276s #add_observer 276s creates an observer from a block if called before first notification 276s adds an observer with :func if called before first notification 276s adds an observer if called before first notification 276s raises an exception if not given an observer or a block 276s raises an exception when given both an observer and a block 276s #delete_observer 276s returns the given observer even when not found in the observer set 276s returns the removed observer if found in the observer set 276s deletes the given observer if called before first notification 276s #count_observers 276s returns a count of registered observers if called before first notification 276s returns zero after #delete_observers has been called 276s returns zero for a new observable object 276s #delete_observers 276s deletes all observers when called before first notification 276s returns self 276s construction 276s sets the initial value to the given value 276s 276s Concurrent::Future 276s it should behave like thread_arguments 276s passes an empty array when there is no :args key 276s allows the given arguments array to be dereferenced 276s passes an array when when the :args key has an array value 276s passes the given array when the :args key has a complex array value 276s passes an empty array when opts is not given 276s passes a one-element array when the :args key has a non-array value 276s passes an empty array when opts is an empty hash 276s passes an empty array when the :args key has a nil value 276s class #execute 276s calls #execute on the new Future 276s creates a new Future 276s passes the block to the new Future 276s #initialize 276s raises an exception when no block given 276s sets the state to :unscheduled 276s uses the executor given with the :executor option 276s uses the global io executor by default 276s cancellation 276s #wait_or_cancel 276s returns true if the operation completes before timeout 276s cancels the task on timeout 276s #cancel 276s fails to cancel the task once processing has begun 276s fails to cancel the task once processing is complete 276s cancels a pending task 276s instance #execute 276s posts the block given on construction 276s returns self 276s does nothing unless the state is :unscheduled 276s sets the state to :pending 276s fulfillment 276s sets the state to :rejected when the handler raises an exception 276s sets the value to nil when the handler raises Exception 276s sets the value to nil when the handler raises an exception 276s sets the reason to the Exception instance when the handler raises Exception 276s sets the value to the result of the handler 276s passes all arguments to handler 276s sets the state to :processing while the task is executing 276s sets the state to :fulfilled when the block completes 276s aliases 276s aliases #deref for #value 276s aliases #realized? for #fulfilled? 276s it should behave like ivar 276s #try_set 276s when unset 276s assigns the value 276s returns true 276s assigns the block result 276s when fulfilled 276s does not assign the block result 276s does not assign the value 276s returns false 276s when rejected 276s does not assign the value 276s has a nil value 276s does not assign the block result 276s returns false 276s #fail 276s sets the state to be rejected 276s defaults the reason to a StandardError 276s sets the value to be nil 276s sets the reason to the given exception 276s raises an exception if set more than once 276s returns self 276s it should behave like obligation 276s #reason 276s is nil when :fulfilled 276s is set to error object of the exception when :rejected 276s is nil when :pending 276s #value 276s returns nil when timeout reached 276s is nil when :pending 276s is nil when :rejected 276s returns nil when reaching the optional timeout value 281s returns the value when fulfilled before timeout 286s blocks the caller when :pending and timeout is nil 286s is set to the return value of the block when :fulfilled 286s returns immediately when timeout is zero 286s #state 286s is :fulfilled when the handler completes 286s is :pending when first created 286s is :rejected when the handler raises an exception 286s it should behave like dereferenceable 286s calls #dup when the :dup_on_deref option is true 287s supports dereference flags with observers 287s defaults :copy_on_deref to nil 287s does not call the #copy_on_deref block when the value is nil 287s calls the :copy block first followed by #dup followed by #freeze 287s does not call #freeze when #freeze_on_deref is set and the value is nil 287s calls #freeze when the :freeze_on_deref option is true 288s calls the block when the :copy_on_deref option is passed a proc 288s defaults :freeze_on_deref to false 288s does not call #dup when #dup_on_deref is set and the value is nil 288s defaults :dup_on_deref to false 288s it should behave like observable 288s #delete_observers 288s returns self 288s deletes all observers when called before first notification 288s #add_observer 288s adds an observer with :func if called before first notification 288s raises an exception if not given an observer or a block 288s creates an observer from a block if called before first notification 288s raises an exception when given both an observer and a block 288s adds an observer if called before first notification 288s #count_observers 288s returns zero after #delete_observers has been called 288s returns zero for a new observable object 288s returns a count of registered observers if called before first notification 288s first notification 288s calls the appropriate function on all observers which specified a :func 290s does not notify any observers removed with #delete_observer 290s calls the proc for all observers added as a block 291s does not notify any observers after #delete_observers called 291s calls the #update method on all observers without a specified :func 291s #delete_observer 291s returns the removed observer if found in the observer set 291s deletes the given observer if called before first notification 291s returns the given observer even when not found in the observer set 291s #set 291s fulfils when given a block which executes successfully 291s raises an exception when given neither a value nor a block 291s sets the state to be fulfilled 291s raises an exception if set more than once 291s raises an exception when given a value and a block 291s sets the value 291s returns self 291s rejects when given a block which raises an exception 291s initialization 291s sets the state to incomplete 291s observation 291s notifies an observer added after fulfillment 291s does not notify existing observers when a new observer added after fulfillment 291s notifies all observers on fulfillment 291s does not notify existing observers when a new observer added after rejection 291s notifies an observer added after rejection 291s notifies all observers on rejection 291s deadlock avoidance 291s should notify observers outside mutex lock 291s should notify a new observer added after fulfillment outside lock 291s 291s #leave_transaction 291s neither commits nor aborts a transaction 291s raises an exception outside an #atomically block 291s 291s Concurrent::Actor 291s forbids Immediate executor 291s links atomically 291s links 291s dead letter routing 291s logs by default 291s messaging 291s is expected to eq 4 291s termination 291s terminates with all its children 291s spawning 291s terminates on failed initialization and raises with spawn! 291s terminates on failed initialization 291s terminates on failed message processing 291s Actor#spawn! 291s spawn 291s executor should be global 291s returns arg 291s #name 291s is expected to eq "ping" 291s #path 291s is expected to eq "/ping" 291s #reference 291s is expected to eq # 291s #parent 291s is expected to eq # 291s context_spawn_by_hash 291s executor should be global 291s returns arg 291s #reference 291s is expected to eq # 291s #path 291s is expected to eq "/ping" 291s #parent 291s is expected to eq # 291s #name 291s is expected to eq "ping" 291s context_spawn 291s executor should be global 291s returns arg 291s #reference 291s is expected to eq # 291s #parent 291s is expected to eq # 291s #path 291s is expected to eq "/ping" 291s #name 291s is expected to eq "ping" 291s spawn_by_hash 291s returns arg 291s executor should be global 291s #name 291s is expected to eq "ping" 291s #parent 291s is expected to eq # 291s #path 291s is expected to eq "/ping" 291s #reference 291s is expected to eq # 291s pausing 291s pauses on error and resets 291s pauses on error and resumes 291s pauses on error and restarts 291s envelope 291s is expected to eq # 291s pool 291s supports asks 291s message redirecting 291s is evaluated by child 291s children 291s has children set after a child is created 291s 291s monotonic_time 291s behavior 291s returns a Float when unit = :float_second 291s returns seconds as float 291s returns an Integer when unit = :millisecond 291s returns an Integer when unit = :nanosecond 291s returns an Integer when unit = :microsecond 291s raises ArgumentError on unknown units 291s returns a Float when unit = :float_microsecond 291s returns a Float when unit = :float_millisecond 291s returns an Integer when unit = :second 291s 291s #abort_transaction 291s raises an exception outside an #atomically block 291s 291s Concurrent 291s Throttle 292s capacity limited 292s acquiring 292s #to_s 292s #on 292s 292s Concurrent::Maybe 292s comparison 292s something is less than a bigger value 292s nothing is not greater than nothing 292s something is not equal to nothing 292s something is not equal to a different value 292s something is greater than a smaller value 292s nothing is equal to nothing 292s something is equal to the same value 292s nothing is not less than nothing 292s construction 292s hides Maybe.new 292s Maybe.nothing 292s creates a new Nothing Maybe 292s creates a new error object when given nothing 292s creates a new error object with the given string 292s uses the given Error object 292s Maybe.just 292s creates a new Just Maybe 292s Maybe.from 292s creates a Just Maybe on success 292s passes all arguments to the block 292s sets the reason to the error object on exception 292s creates a Nothing Maybe on exception 292s sets the value to the block result on success 292s raises an exception when no block is given 292s when just 292s #nothing returns NONE 292s #fulfilled? returns true 292s #nothing? returns false 292s #reason returns NONE 292s #rejected? returns false 292s #just? returns true 292s #value returns the value 292s #just returns the value 292s when nothing 292s #nothing returns the raised error 292s #rejected? returns true 292s #just returns NONE 292s #value returns NONE 292s #nothing? returns true 292s #reason returns the raised error 292s #just? returns false 292s #fulfilled? returns false 292s #or 292s returns the other when nothing 292s returns the value when something 292s 292s Concurrent::Options 292s .executor_from_options 292s raises an exception when :executor is an unrecognized symbol 292s returns the global io executor when :executor is :io 292s returns an immediate executor when :executor is :immediate 292s returns the global fast executor when :executor is :fast 292s returns the given :executor 292s 292s Concurrent::RubyExchanger 292s Good: 10000, Bad (timeout): 0, Ugly: 0 292s stress test 292s behaves like exchanger 292s #try_exchange 292s behaves like exchanger method with indefinite timeout 292s blocks indefinitely 292s receives the other value 292s can be reused 292s behaves like exchanger method with finite timeout 292s can be reused 292s receives the other value 293s blocks until timeout 293s behaves like exchanger method cross-thread interactions 293s allows multiple firsts to cancel if necessary 293s when first, waits for a second 293s #exchange 293s behaves like exchanger method with finite timeout 293s blocks until timeout 293s can be reused 293s receives the other value 293s behaves like exchanger method cross-thread interactions 293s allows multiple firsts to cancel if necessary 293s when first, waits for a second 293s behaves like exchanger method with indefinite timeout 293s receives the other value 293s can be reused 293s blocks indefinitely 293s #exchange! 293s behaves like exchanger method with indefinite timeout 293s blocks indefinitely 293s receives the other value 293s can be reused 293s behaves like exchanger method cross-thread interactions 294s allows multiple firsts to cancel if necessary 294s when first, waits for a second 294s behaves like exchanger method with finite timeout 294s blocks until timeout 294s receives the other value 294s can be reused 294s 294s Concurrent::ScheduledTask 294s #initialize 294s raises an exception when no block given 294s sets the initial state to :unscheduled 294s raises an exception when seconds is less than zero 294s accepts a number of seconds (from now) as the schedule time 294s behavior 294s it should behave like obligation 294s #reason 294s is set to error object of the exception when :rejected 294s is nil when :pending 294s is nil when :fulfilled 294s #value 294s is set to the return value of the block when :fulfilled 294s returns nil when timeout reached 294s returns nil when reaching the optional timeout value 295s blocks the caller when :pending and timeout is nil 295s returns immediately when timeout is zero 296s returns the value when fulfilled before timeout 296s is nil when :pending 296s is nil when :rejected 296s #state 296s is :fulfilled when the handler completes 296s is :pending when first created 296s is :rejected when the handler raises an exception 296s it should behave like dereferenceable 296s calls #dup when the :dup_on_deref option is true 296s calls #freeze when the :freeze_on_deref option is true 296s defaults :freeze_on_deref to false 296s defaults :dup_on_deref to false 296s calls the :copy block first followed by #dup followed by #freeze 296s calls the block when the :copy_on_deref option is passed a proc 296s supports dereference flags with observers 296s does not call the #copy_on_deref block when the value is nil 296s does not call #freeze when #freeze_on_deref is set and the value is nil 296s does not call #dup when #dup_on_deref is set and the value is nil 296s defaults :copy_on_deref to nil 296s it should behave like observable 296s first notification 297s does not notify any observers after #delete_observers called 297s calls the appropriate function on all observers which specified a :func 297s calls the proc for all observers added as a block 299s does not notify any observers removed with #delete_observer 299s calls the #update method on all observers without a specified :func 299s #count_observers 299s returns zero after #delete_observers has been called 299s returns a count of registered observers if called before first notification 299s returns zero for a new observable object 299s #add_observer 299s creates an observer from a block if called before first notification 299s raises an exception if not given an observer or a block 299s adds an observer with :func if called before first notification 299s adds an observer if called before first notification 299s raises an exception when given both an observer and a block 299s #delete_observers 299s deletes all observers when called before first notification 299s returns self 299s #delete_observer 299s returns the removed observer if found in the observer set 299s deletes the given observer if called before first notification 299s returns the given observer even when not found in the observer set 299s class #execute 299s passes the block to the new ScheduledTask 299s creates a new ScheduledTask 299s calls #execute on the new ScheduledTask 299s instance #execute 299s returns self 299s sets the sate to :pending 299s does nothing unless the state is :unscheduled 299s execution 299s passes :args from the options to the block 299s uses the :executor from the options 299s uses the :timer_set from the options 299s sets the state to :processing when the task is running 299s observation 299s notifies all observers on rejection 299s notifies all observers on fulfillment 299s returns true for an observer added while :pending 299s returns true for an observer added while :unscheduled 299s returns true for an observer added while :processing 299s #cancel 299s returns true on success 300s returns false if the task has already been performed 300s cancels the task if it has not yet scheduled 300s sets the reason to CancelledOperationError when cancelled 301s cancels the task if it has not yet started 301s returns false if the task is already in progress 301s 301s Concurrent::Synchronization 301s Concurrent::Synchronization::Object 301s does not ensure visibility when not needed 301s does ensure visibility when specified in a parent 301s does ensure visibility once when specified in child again 301s does ensure visibility when specified 301s it should behave like attr_volatile 302s older writes are always visible 302s Concurrent::Synchronization::Volatile module 302s it should behave like attr_volatile 303s older writes are always visible 303s Concurrent::Synchronization::LockableObject 303s final field always visible 303s #synchronize 303s allows only one thread to execute count 303s #wait 303s allows the sleeping thread to be killed 303s releases the lock on the current object 303s can be called from within a #synchronize block 303s puts the current thread to sleep 303s it should behave like attr_volatile 305s older writes are always visible 305s signaling 305s for now pending, tested pretty well by Event (PENDING: Not yet implemented) 305s attr_atomic 305s is expected to be == b 305s 305s Concurrent::Map 305s #key? 305s is unfreezable 305s default_proc is called with the Concurrent::Map and the key after #dup 305s options validation 305s #delete_pair 305s #put_if_absent 306s collision resistance 306s concurrency 306s #values 306s default_proc is called with the Concurrent::Map and the key 306s #get_and_set 306s #size 306s #replace_if_exists 306s initial capacity options validation 306s #get_or_default 306s #each_key 306s #clear 306s retrieval 306s collision resistance with arrays 306s marshal dump does not work with default proc 306s #value? 306s #delete 306s default proc 306s #empty 306s #keys 306s marshal dump load 306s load factor options validation 306s updates dont block reads 306s #each_value 306s #inspect 306s falsy default proc 306s #key 306s #replace_pair 306s #dup,#clone 306s #compute 306s exception 306s common 306s with return 306s #compute_if_present 306s common 306s exception 306s with return 306s #fetch 306s common 306s falsy 306s with return 306s #merge_pair 306s exception 306s common 306s with return 306s #each 306s it should behave like collection_each 306s common 306s allows modification 306s pair iterator 306s when no block is given 306s returns an object which is enumerable 306s returns an enumerator 306s #each_pair 306s it should behave like collection_each 306s common 306s pair iterator 306s allows modification 306s when no block is given 306s returns an enumerator 306s returns an object which is enumerable 306s #compute_if_absent 306s atomicity 306s exception 306s works in default_proc 306s common 306s with return 306s #fetch_or_store 306s falsy 306s common 306s with return 306s 306s Concurrent::Agent 306s nested actions 306s occur in the order they ar post 306s work with immediate execution 306s initialization 306s sets #failed? to false 306s sets the initial error to nil 306s defaults the error mode to :continue when an error handler is given 306s defaults the error mode to :fail when no error handler is given 306s sets the error mode when given a valid value 306s sets the initial value 306s raises an error when given an invalid error mode 306s action processing 306s when validation raises an error the handler will be called 306s upon validation the new value will be set to the block return value 306s the given block will be passed any provided arguments 306s when validation raises an error the value will not change 306s the return value will be passed to the validator function 306s any recursive action dispatches will run after the value has been updated 306s when validation fails the handler will be called 306s when the action raises an error the validator will not be called 306s when the action raises an error the handler will be called 306s when validation returns false the value will not change 306s on success all observers will be notified 306s the given block will be passed the current value 306s when the action raises an error the value will not change 306s posting 306s with #send 306s returns false when #failed? 306s returns true when the job is post 306s posts to the global fast executor 306s does not wait for the action to process 306s with #send_off 306s does not wait for the action to process 306s returns true when the job is post 306s returns false when #failed? 306s posts to the global io executor 306s with #send! 306s returns true when the job is post 306s raises an error when #failed? 306s posts to the global fast executor 306s does not wait for the action to process 306s with #send_off! 306s does not wait for the action to process 306s posts to the global io executor 306s returns true when the job is post 306s raises an error when #failed? 306s with #send_via 306s returns true when the job is post 306s posts to the given executor 306s returns false when #failed? 306s with #<< 306s posts to the global io executor 306s returns self when #failed? 306s returns self when the job is post 306s does not wait for the action to process 306s with #send_via! 306s posts to the given executor 306s raises an error when #failed? 306s returns true when the job is post 306s with #post 306s posts to the global io executor 306s returns true when the job is post 306s does not wait for the action to process 306s returns false when #failed? 306s error handling 306s the agent will be passed to the handler 306s the exception will be passed to the handler 306s does not trigger observation 306s #restart 306s when #failed? 306s raises an error if the new value is not valid 306s does not trigger observation 306s sets #failed? to true 306s clears the error 306s does not clear the action queue when :clear_actions is false 306s resumes action processing if actions are enqueued 306s sets the new value 306s does not clear the action queue when :clear_actions is not given 306s removes all actions from the queue when :clear_actions is true 306s when not #failed? 306s raises an error 306s observable 306s behaves like observable 306s #delete_observer 306s deletes the given observer if called before first notification 306s returns the given observer even when not found in the observer set 306s returns the removed observer if found in the observer set 306s #count_observers 306s returns zero after #delete_observers has been called 306s returns zero for a new observable object 306s returns a count of registered observers if called before first notification 306s first notification 306s calls the appropriate function on all observers which specified a :func 307s does not notify any observers after #delete_observers called 307s calls the proc for all observers added as a block 308s does not notify any observers removed with #delete_observer 308s calls the #update method on all observers without a specified :func 308s #add_observer 308s raises an exception if not given an observer or a block 308s raises an exception when given both an observer and a block 308s adds an observer if called before first notification 308s adds an observer with :func if called before first notification 308s creates an observer from a block if called before first notification 308s #delete_observers 308s deletes all observers when called before first notification 309s returns self 309s waiting 309s with .await_for 309s returns true when all prior actions for all agents have processed 309s returns false on timeout 309s returns true when there are no pending actions 309s with #await_for 309s does not block on actions from other threads 309s returns true when there are no pending actions 310s returns false on timeout 310s returns false if restarted with :clear_actions true (PENDING: the timing is nearly impossible) 311s returns true when all prior actions have processed 311s with #await_for! 311s raises an error if restarted with :clear_actions true (PENDING: the timing is nearly impossible) 311s does not block on actions from other threads 312s raises an error on timeout 312s returns true when there are no pending actions 313s returns true when all prior actions have processed 313s with #await 314s blocks indefinitely 315s returns true when all prior actions have processed 315s returns self when there are no pending actions 315s does not block on actions from other threads 315s blocks forever if restarted with :clear_actions true (PENDING: the timing is nearly impossible) 315s with await_for! 316s raises an exception on timeout 316s returns true when all prior actions for all agents have processed 316s returns true when there are no pending actions 316s with .await 316s returns true when all prior actions on all agents have processed 316s with #wait 317s returns true when all prior actions have processed 318s blocks indefinitely when timeout is nil 318s does not block on actions from other threads 318s returns false when timeout is given and restarted with :clear_actions true (PENDING: the timing is nearly impossible) 318s returns true when there are no pending actions and a timeout is given 319s returns false on timeout 319s blocks forever when timeout is nil and restarted with :clear_actions true (PENDING: the timing is nearly impossible) 319s returns true when there are no pending actions and timeout is nil 319s the await job 319s does not trigger the error mode 320s does not change the value 320s waits for nested actions 320s does not trigger observers 320s validation 320s rejects the new value when the validator returns false 320s sets the error when the error mode is :fail and the validator raises an error 320s sets the error when the error mode is :fail and the validator returns false 320s does not set an error when the error mode is :continue and the validator returns false 320s does not trigger observation when validation fails 320s does not set an error when the error mode is :continue and the validator raises an error 320s sets the new value when the validator returns true 320s rejects the new value when the validator raises an error 320s error mode 320s :continue 320s does not block further action processing 320s does not set an error when the action raises an error 320s sets #failed? to false 320s does not set an error when the validator raises an error 320s does not set an error when the validator returns false 320s :fail 320s blocks all further action processing until a restart 320s sets the error when the validator raises an error 320s sets #failed? to true 320s sets the error when the action raises an error 320s sets the error when the validator returns false 320s 320s Finished in 1 minute 22.39 seconds (files took 0.51527 seconds to load) 320s 1430 examples, 0 failures, 7 pending 320s 320s Randomized with seed 1 320s 320s mv ./.gem2deb.lib lib 320s mv ./.gem2deb.ext ext 321s autopkgtest [07:09:54]: test ruby: -----------------------] 325s ruby PASS 325s autopkgtest [07:09:58]: test ruby: - - - - - - - - - - results - - - - - - - - - - 329s autopkgtest [07:10:02]: test jruby: preparing testbed 357s autopkgtest [07:10:30]: testbed dpkg architecture: armhf 359s autopkgtest [07:10:32]: testbed apt version: 3.1.15 365s autopkgtest [07:10:38]: @@@@@@@@@@@@@@@@@@@@ test bed setup 367s autopkgtest [07:10:40]: testbed release detected to be: resolute 376s autopkgtest [07:10:49]: updating testbed package index (apt update) 378s Get:1 http://ftpmaster.internal/ubuntu resolute-proposed InRelease [124 kB] 379s Get:2 http://ftpmaster.internal/ubuntu resolute InRelease [124 kB] 379s Hit:3 http://ftpmaster.internal/ubuntu resolute-updates InRelease 379s Hit:4 http://ftpmaster.internal/ubuntu resolute-security InRelease 379s Get:5 http://ftpmaster.internal/ubuntu resolute-proposed/universe Sources [1727 kB] 382s Get:6 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse Sources [31.1 kB] 382s Get:7 http://ftpmaster.internal/ubuntu resolute-proposed/main Sources [178 kB] 382s Get:8 http://ftpmaster.internal/ubuntu resolute-proposed/main armhf Packages [249 kB] 383s Get:9 http://ftpmaster.internal/ubuntu resolute-proposed/universe armhf Packages [1556 kB] 385s Get:10 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse armhf Packages [8156 B] 385s Get:11 http://ftpmaster.internal/ubuntu resolute/universe Sources [21.3 MB] 408s Get:12 http://ftpmaster.internal/ubuntu resolute/main Sources [1404 kB] 410s Get:13 http://ftpmaster.internal/ubuntu resolute/main armhf Packages [1386 kB] 412s Get:14 http://ftpmaster.internal/ubuntu resolute/universe armhf Packages [15.1 MB] 431s Fetched 43.2 MB in 53s (818 kB/s) 432s Reading package lists... 438s autopkgtest [07:11:51]: upgrading testbed (apt dist-upgrade and autopurge) 440s Reading package lists... 440s Building dependency tree... 440s Reading state information... 441s Calculating upgrade... 441s The following packages will be upgraded: 441s libbrotli1 442s 1 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 442s Need to get 318 kB of archives. 442s After this operation, 0 B of additional disk space will be used. 442s Get:1 http://ftpmaster.internal/ubuntu resolute/main armhf libbrotli1 armhf 1.2.0-3 [318 kB] 443s Fetched 318 kB in 1s (413 kB/s) 443s (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 ... 68691 files and directories currently installed.) 443s Preparing to unpack .../libbrotli1_1.2.0-3_armhf.deb ... 443s Unpacking libbrotli1:armhf (1.2.0-3) over (1.1.0-2build6) ... 443s Setting up libbrotli1:armhf (1.2.0-3) ... 443s Processing triggers for libc-bin (2.42-2ubuntu4) ... 445s Reading package lists... 446s Building dependency tree... 446s Reading state information... 446s Solving dependencies... 447s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 449s autopkgtest [07:12:02]: rebooting testbed after setup commands that affected boot 519s Reading package lists... 519s Building dependency tree... 519s Reading state information... 519s Solving dependencies... 520s The following NEW packages will be installed: 520s ca-certificates-java default-jre-headless java-common jruby libasm-java 520s libbackport9-java libbcpkix-java libbcprov-java libbctls-java libbcutil-java 520s libdirgra-java libfixposix4t64 libhawtjni-runtime-java 520s libheadius-options-java libinvokebinder-java libjansi-native-java 520s libjansi1-java libjcodings-java libjffi-java libjffi-jni libjitescript-java 520s libjline2-java libjnr-constants-java libjnr-enxio-java libjnr-ffi-java 520s libjnr-netdb-java libjnr-posix-java libjnr-unixsocket-java 520s libjnr-x86asm-java libjoda-time-java libjpeg-turbo8 libjpeg8 520s libjruby-joni-java libjzlib-java liblcms2-2 libpcsclite1 libruby libruby3.3 520s libsnakeyaml-engine-java openjdk-21-jre-headless rake ruby ruby-concurrent 520s ruby-concurrent-ext ruby-csv ruby-did-you-mean ruby-diff-lcs ruby-net-telnet 520s ruby-rspec ruby-rspec-core ruby-rspec-expectations ruby-rspec-mocks 520s ruby-rspec-support ruby-ruby2-keywords ruby-rubygems ruby-timecop 520s ruby-webrick ruby-xmlrpc ruby3.3 rubygems-integration 520s 0 upgraded, 60 newly installed, 0 to remove and 0 not upgraded. 520s Need to get 84.1 MB of archives. 520s After this operation, 262 MB of additional disk space will be used. 520s Get:1 http://ftpmaster.internal/ubuntu resolute/main armhf ca-certificates-java all 20240118build1 [11.7 kB] 520s Get:2 http://ftpmaster.internal/ubuntu resolute/main armhf java-common all 0.76build1 [6956 B] 520s Get:3 http://ftpmaster.internal/ubuntu resolute/main armhf liblcms2-2 armhf 2.17-1 [139 kB] 521s Get:4 http://ftpmaster.internal/ubuntu resolute/main armhf libjpeg-turbo8 armhf 2.1.5-4ubuntu3 [129 kB] 521s Get:5 http://ftpmaster.internal/ubuntu resolute/main armhf libjpeg8 armhf 8c-2ubuntu12 [2142 B] 521s Get:6 http://ftpmaster.internal/ubuntu resolute/main armhf libpcsclite1 armhf 2.4.1-1 [25.3 kB] 521s Get:7 http://ftpmaster.internal/ubuntu resolute/main armhf openjdk-21-jre-headless armhf 21.0.10+7-1 [39.8 MB] 567s Get:8 http://ftpmaster.internal/ubuntu resolute/main armhf default-jre-headless armhf 2:1.21-76build1 [3268 B] 567s Get:9 http://ftpmaster.internal/ubuntu resolute/universe armhf libasm-java all 9.8-2 [388 kB] 567s Get:10 http://ftpmaster.internal/ubuntu resolute/universe armhf libbackport9-java all 1.10-2build1 [13.2 kB] 567s Get:11 http://ftpmaster.internal/ubuntu resolute/universe armhf libbcprov-java all 1.80-3 [5468 kB] 574s Get:12 http://ftpmaster.internal/ubuntu resolute/universe armhf libbcutil-java all 1.80-3 [545 kB] 574s Get:13 http://ftpmaster.internal/ubuntu resolute/universe armhf libbcpkix-java all 1.80-3 [913 kB] 576s Get:14 http://ftpmaster.internal/ubuntu resolute/universe armhf libbctls-java all 1.80-3 [645 kB] 576s Get:15 http://ftpmaster.internal/ubuntu resolute/universe armhf libdirgra-java all 0.4-2build1 [21.8 kB] 576s Get:16 http://ftpmaster.internal/ubuntu resolute/universe armhf libfixposix4t64 armhf 1:0.5.1-1+nmu1.1build2 [14.4 kB] 576s Get:17 http://ftpmaster.internal/ubuntu resolute/universe armhf libheadius-options-java all 1.7-1build1 [18.3 kB] 576s Get:18 http://ftpmaster.internal/ubuntu resolute/universe armhf libinvokebinder-java all 1.14-1build1 [52.1 kB] 577s Get:19 http://ftpmaster.internal/ubuntu resolute/universe armhf libhawtjni-runtime-java all 1.18-1build1 [28.4 kB] 577s Get:20 http://ftpmaster.internal/ubuntu resolute/universe armhf libjansi-native-java all 1.8-2build1 [23.6 kB] 577s Get:21 http://ftpmaster.internal/ubuntu resolute/universe armhf libjansi1-java all 1.18-3.1build1 [56.3 kB] 577s Get:22 http://ftpmaster.internal/ubuntu resolute/universe armhf libjcodings-java all 1.0.58-1build1 [1474 kB] 579s Get:23 http://ftpmaster.internal/ubuntu resolute/universe armhf libjffi-jni armhf 1.3.13+ds-1build1 [25.1 kB] 579s Get:24 http://ftpmaster.internal/ubuntu resolute/universe armhf libjffi-java all 1.3.13+ds-1build1 [111 kB] 579s Get:25 http://ftpmaster.internal/ubuntu resolute/universe armhf libjitescript-java all 0.4.3-1build1 [24.5 kB] 579s Get:26 http://ftpmaster.internal/ubuntu resolute/universe armhf libjline2-java all 2.14.6-6 [152 kB] 579s Get:27 http://ftpmaster.internal/ubuntu resolute/universe armhf libjnr-constants-java all 0.10.4-2build1 [1416 kB] 581s Get:28 http://ftpmaster.internal/ubuntu resolute/universe armhf libjnr-x86asm-java all 1.0.2-6build1 [216 kB] 581s Get:29 http://ftpmaster.internal/ubuntu resolute/universe armhf libjnr-ffi-java all 2.2.15-2build1 [632 kB] 582s Get:30 http://ftpmaster.internal/ubuntu resolute/universe armhf libjnr-enxio-java all 0.32.16-1build1 [33.8 kB] 582s Get:31 http://ftpmaster.internal/ubuntu resolute/universe armhf libjnr-netdb-java all 1.2.0+dfsg-1build1 [58.7 kB] 582s Get:32 http://ftpmaster.internal/ubuntu resolute/universe armhf libjnr-posix-java all 3.1.18-1build1 [268 kB] 582s Get:33 http://ftpmaster.internal/ubuntu resolute/universe armhf libjnr-unixsocket-java all 0.38.21-3 [46.8 kB] 582s Get:34 http://ftpmaster.internal/ubuntu resolute/universe armhf libjoda-time-java all 2.10.14-1 [535 kB] 583s Get:35 http://ftpmaster.internal/ubuntu resolute/universe armhf libjruby-joni-java all 2.2.1-1build1 [221 kB] 583s Get:36 http://ftpmaster.internal/ubuntu resolute/universe armhf libjzlib-java all 1.1.3-3build1 [76.7 kB] 583s Get:37 http://ftpmaster.internal/ubuntu resolute/universe armhf libsnakeyaml-engine-java all 2.7+ds-3build1 [258 kB] 583s Get:38 http://ftpmaster.internal/ubuntu resolute/universe armhf jruby all 9.4.8.0+ds-3ubuntu1 [23.4 MB] 610s Get:39 http://ftpmaster.internal/ubuntu resolute/main armhf rubygems-integration all 1.19build1 [5666 B] 610s Get:40 http://ftpmaster.internal/ubuntu resolute/main armhf ruby3.3 armhf 3.3.8-2ubuntu2 [59.0 kB] 610s Get:41 http://ftpmaster.internal/ubuntu resolute/main armhf ruby-rubygems all 3.6.7-2ubuntu2 [332 kB] 611s Get:42 http://ftpmaster.internal/ubuntu resolute/main armhf ruby armhf 1:3.3 [3670 B] 611s Get:43 http://ftpmaster.internal/ubuntu resolute/main armhf rake all 13.2.1-1build1 [45.9 kB] 611s Get:44 http://ftpmaster.internal/ubuntu resolute/main armhf ruby-csv all 3.3.4-1 [43.0 kB] 611s Get:45 http://ftpmaster.internal/ubuntu resolute/main armhf ruby-did-you-mean all 1.6.3-2build1 [14.9 kB] 611s Get:46 http://ftpmaster.internal/ubuntu resolute/main armhf ruby-net-telnet all 0.2.0-1build1 [13.5 kB] 611s Get:47 http://ftpmaster.internal/ubuntu resolute/main armhf ruby-ruby2-keywords all 0.0.5-1build1 [4398 B] 611s Get:48 http://ftpmaster.internal/ubuntu resolute/main armhf ruby-webrick all 1.9.1-1build1 [60.9 kB] 611s Get:49 http://ftpmaster.internal/ubuntu resolute/main armhf ruby-xmlrpc all 0.3.3-2build1 [24.9 kB] 611s Get:50 http://ftpmaster.internal/ubuntu resolute/main armhf libruby3.3 armhf 3.3.8-2ubuntu2 [5595 kB] 617s Get:51 http://ftpmaster.internal/ubuntu resolute/main armhf libruby armhf 1:3.3 [5162 B] 617s Get:52 http://ftpmaster.internal/ubuntu resolute-proposed/universe armhf ruby-concurrent all 1.3.6-1 [284 kB] 617s Get:53 http://ftpmaster.internal/ubuntu resolute-proposed/universe armhf ruby-concurrent-ext armhf 1.3.6-1 [8848 B] 617s Get:54 http://ftpmaster.internal/ubuntu resolute/universe armhf ruby-diff-lcs all 1.5.1-1 [22.8 kB] 617s Get:55 http://ftpmaster.internal/ubuntu resolute/universe armhf ruby-rspec-support all 3.13.0c0e0m0s1-2 [29.2 kB] 617s Get:56 http://ftpmaster.internal/ubuntu resolute/universe armhf ruby-rspec-core all 3.13.0c0e0m0s1-2 [164 kB] 617s Get:57 http://ftpmaster.internal/ubuntu resolute/universe armhf ruby-rspec-expectations all 3.13.0c0e0m0s1-2 [89.8 kB] 618s Get:58 http://ftpmaster.internal/ubuntu resolute/universe armhf ruby-rspec-mocks all 3.13.0c0e0m0s1-2 [81.0 kB] 618s Get:59 http://ftpmaster.internal/ubuntu resolute/universe armhf ruby-rspec all 3.13.0c0e0m0s1-2 [3500 B] 618s Get:60 http://ftpmaster.internal/ubuntu resolute/universe armhf ruby-timecop all 0.9.10-1.1 [11.5 kB] 618s Fetched 84.1 MB in 1min 37s (863 kB/s) 618s Selecting previously unselected package ca-certificates-java. 618s (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 ... 68691 files and directories currently installed.) 618s Preparing to unpack .../00-ca-certificates-java_20240118build1_all.deb ... 618s Unpacking ca-certificates-java (20240118build1) ... 618s Selecting previously unselected package java-common. 618s Preparing to unpack .../01-java-common_0.76build1_all.deb ... 618s Unpacking java-common (0.76build1) ... 618s Selecting previously unselected package liblcms2-2:armhf. 618s Preparing to unpack .../02-liblcms2-2_2.17-1_armhf.deb ... 618s Unpacking liblcms2-2:armhf (2.17-1) ... 618s Selecting previously unselected package libjpeg-turbo8:armhf. 618s Preparing to unpack .../03-libjpeg-turbo8_2.1.5-4ubuntu3_armhf.deb ... 618s Unpacking libjpeg-turbo8:armhf (2.1.5-4ubuntu3) ... 618s Selecting previously unselected package libjpeg8:armhf. 618s Preparing to unpack .../04-libjpeg8_8c-2ubuntu12_armhf.deb ... 618s Unpacking libjpeg8:armhf (8c-2ubuntu12) ... 618s Selecting previously unselected package libpcsclite1:armhf. 618s Preparing to unpack .../05-libpcsclite1_2.4.1-1_armhf.deb ... 618s Unpacking libpcsclite1:armhf (2.4.1-1) ... 618s Selecting previously unselected package openjdk-21-jre-headless:armhf. 618s Preparing to unpack .../06-openjdk-21-jre-headless_21.0.10+7-1_armhf.deb ... 618s Unpacking openjdk-21-jre-headless:armhf (21.0.10+7-1) ... 620s Selecting previously unselected package default-jre-headless. 620s Preparing to unpack .../07-default-jre-headless_2%3a1.21-76build1_armhf.deb ... 620s Unpacking default-jre-headless (2:1.21-76build1) ... 620s Selecting previously unselected package libasm-java. 620s Preparing to unpack .../08-libasm-java_9.8-2_all.deb ... 620s Unpacking libasm-java (9.8-2) ... 620s Selecting previously unselected package libbackport9-java. 620s Preparing to unpack .../09-libbackport9-java_1.10-2build1_all.deb ... 620s Unpacking libbackport9-java (1.10-2build1) ... 620s Selecting previously unselected package libbcprov-java. 620s Preparing to unpack .../10-libbcprov-java_1.80-3_all.deb ... 620s Unpacking libbcprov-java (1.80-3) ... 620s Selecting previously unselected package libbcutil-java. 620s Preparing to unpack .../11-libbcutil-java_1.80-3_all.deb ... 620s Unpacking libbcutil-java (1.80-3) ... 620s Selecting previously unselected package libbcpkix-java. 620s Preparing to unpack .../12-libbcpkix-java_1.80-3_all.deb ... 620s Unpacking libbcpkix-java (1.80-3) ... 620s Selecting previously unselected package libbctls-java. 620s Preparing to unpack .../13-libbctls-java_1.80-3_all.deb ... 620s Unpacking libbctls-java (1.80-3) ... 620s Selecting previously unselected package libdirgra-java. 620s Preparing to unpack .../14-libdirgra-java_0.4-2build1_all.deb ... 620s Unpacking libdirgra-java (0.4-2build1) ... 620s Selecting previously unselected package libfixposix4t64:armhf. 620s Preparing to unpack .../15-libfixposix4t64_1%3a0.5.1-1+nmu1.1build2_armhf.deb ... 620s Unpacking libfixposix4t64:armhf (1:0.5.1-1+nmu1.1build2) ... 620s Selecting previously unselected package libheadius-options-java. 620s Preparing to unpack .../16-libheadius-options-java_1.7-1build1_all.deb ... 620s Unpacking libheadius-options-java (1.7-1build1) ... 620s Selecting previously unselected package libinvokebinder-java. 620s Preparing to unpack .../17-libinvokebinder-java_1.14-1build1_all.deb ... 620s Unpacking libinvokebinder-java (1.14-1build1) ... 620s Selecting previously unselected package libhawtjni-runtime-java. 620s Preparing to unpack .../18-libhawtjni-runtime-java_1.18-1build1_all.deb ... 620s Unpacking libhawtjni-runtime-java (1.18-1build1) ... 620s Selecting previously unselected package libjansi-native-java. 620s Preparing to unpack .../19-libjansi-native-java_1.8-2build1_all.deb ... 620s Unpacking libjansi-native-java (1.8-2build1) ... 620s Selecting previously unselected package libjansi1-java. 620s Preparing to unpack .../20-libjansi1-java_1.18-3.1build1_all.deb ... 620s Unpacking libjansi1-java (1.18-3.1build1) ... 620s Selecting previously unselected package libjcodings-java. 621s Preparing to unpack .../21-libjcodings-java_1.0.58-1build1_all.deb ... 621s Unpacking libjcodings-java (1.0.58-1build1) ... 621s Selecting previously unselected package libjffi-jni:armhf. 621s Preparing to unpack .../22-libjffi-jni_1.3.13+ds-1build1_armhf.deb ... 621s Unpacking libjffi-jni:armhf (1.3.13+ds-1build1) ... 621s Selecting previously unselected package libjffi-java. 621s Preparing to unpack .../23-libjffi-java_1.3.13+ds-1build1_all.deb ... 621s Unpacking libjffi-java (1.3.13+ds-1build1) ... 621s Selecting previously unselected package libjitescript-java. 621s Preparing to unpack .../24-libjitescript-java_0.4.3-1build1_all.deb ... 621s Unpacking libjitescript-java (0.4.3-1build1) ... 621s Selecting previously unselected package libjline2-java. 621s Preparing to unpack .../25-libjline2-java_2.14.6-6_all.deb ... 621s Unpacking libjline2-java (2.14.6-6) ... 621s Selecting previously unselected package libjnr-constants-java. 621s Preparing to unpack .../26-libjnr-constants-java_0.10.4-2build1_all.deb ... 621s Unpacking libjnr-constants-java (0.10.4-2build1) ... 621s Selecting previously unselected package libjnr-x86asm-java. 621s Preparing to unpack .../27-libjnr-x86asm-java_1.0.2-6build1_all.deb ... 621s Unpacking libjnr-x86asm-java (1.0.2-6build1) ... 621s Selecting previously unselected package libjnr-ffi-java. 621s Preparing to unpack .../28-libjnr-ffi-java_2.2.15-2build1_all.deb ... 621s Unpacking libjnr-ffi-java (2.2.15-2build1) ... 621s Selecting previously unselected package libjnr-enxio-java. 621s Preparing to unpack .../29-libjnr-enxio-java_0.32.16-1build1_all.deb ... 621s Unpacking libjnr-enxio-java (0.32.16-1build1) ... 621s Selecting previously unselected package libjnr-netdb-java. 621s Preparing to unpack .../30-libjnr-netdb-java_1.2.0+dfsg-1build1_all.deb ... 621s Unpacking libjnr-netdb-java (1.2.0+dfsg-1build1) ... 621s Selecting previously unselected package libjnr-posix-java. 621s Preparing to unpack .../31-libjnr-posix-java_3.1.18-1build1_all.deb ... 621s Unpacking libjnr-posix-java (3.1.18-1build1) ... 621s Selecting previously unselected package libjnr-unixsocket-java. 621s Preparing to unpack .../32-libjnr-unixsocket-java_0.38.21-3_all.deb ... 621s Unpacking libjnr-unixsocket-java (0.38.21-3) ... 621s Selecting previously unselected package libjoda-time-java. 621s Preparing to unpack .../33-libjoda-time-java_2.10.14-1_all.deb ... 621s Unpacking libjoda-time-java (2.10.14-1) ... 621s Selecting previously unselected package libjruby-joni-java. 621s Preparing to unpack .../34-libjruby-joni-java_2.2.1-1build1_all.deb ... 621s Unpacking libjruby-joni-java (2.2.1-1build1) ... 621s Selecting previously unselected package libjzlib-java. 621s Preparing to unpack .../35-libjzlib-java_1.1.3-3build1_all.deb ... 621s Unpacking libjzlib-java (1.1.3-3build1) ... 621s Selecting previously unselected package libsnakeyaml-engine-java. 621s Preparing to unpack .../36-libsnakeyaml-engine-java_2.7+ds-3build1_all.deb ... 621s Unpacking libsnakeyaml-engine-java (2.7+ds-3build1) ... 621s Selecting previously unselected package jruby. 621s Preparing to unpack .../37-jruby_9.4.8.0+ds-3ubuntu1_all.deb ... 621s Unpacking jruby (9.4.8.0+ds-3ubuntu1) ... 622s Selecting previously unselected package rubygems-integration. 622s Preparing to unpack .../38-rubygems-integration_1.19build1_all.deb ... 622s Unpacking rubygems-integration (1.19build1) ... 622s Selecting previously unselected package ruby3.3. 622s Preparing to unpack .../39-ruby3.3_3.3.8-2ubuntu2_armhf.deb ... 622s Unpacking ruby3.3 (3.3.8-2ubuntu2) ... 622s Selecting previously unselected package ruby-rubygems. 622s Preparing to unpack .../40-ruby-rubygems_3.6.7-2ubuntu2_all.deb ... 622s Unpacking ruby-rubygems (3.6.7-2ubuntu2) ... 622s Selecting previously unselected package ruby. 622s Preparing to unpack .../41-ruby_1%3a3.3_armhf.deb ... 622s Unpacking ruby (1:3.3) ... 622s Selecting previously unselected package rake. 622s Preparing to unpack .../42-rake_13.2.1-1build1_all.deb ... 622s Unpacking rake (13.2.1-1build1) ... 622s Selecting previously unselected package ruby-csv. 622s Preparing to unpack .../43-ruby-csv_3.3.4-1_all.deb ... 622s Unpacking ruby-csv (3.3.4-1) ... 622s Selecting previously unselected package ruby-did-you-mean. 622s Preparing to unpack .../44-ruby-did-you-mean_1.6.3-2build1_all.deb ... 622s Unpacking ruby-did-you-mean (1.6.3-2build1) ... 622s Selecting previously unselected package ruby-net-telnet. 622s Preparing to unpack .../45-ruby-net-telnet_0.2.0-1build1_all.deb ... 622s Unpacking ruby-net-telnet (0.2.0-1build1) ... 622s Selecting previously unselected package ruby-ruby2-keywords. 622s Preparing to unpack .../46-ruby-ruby2-keywords_0.0.5-1build1_all.deb ... 622s Unpacking ruby-ruby2-keywords (0.0.5-1build1) ... 622s Selecting previously unselected package ruby-webrick. 622s Preparing to unpack .../47-ruby-webrick_1.9.1-1build1_all.deb ... 622s Unpacking ruby-webrick (1.9.1-1build1) ... 622s Selecting previously unselected package ruby-xmlrpc. 622s Preparing to unpack .../48-ruby-xmlrpc_0.3.3-2build1_all.deb ... 622s Unpacking ruby-xmlrpc (0.3.3-2build1) ... 622s Selecting previously unselected package libruby3.3:armhf. 622s Preparing to unpack .../49-libruby3.3_3.3.8-2ubuntu2_armhf.deb ... 622s Unpacking libruby3.3:armhf (3.3.8-2ubuntu2) ... 623s Selecting previously unselected package libruby:armhf. 623s Preparing to unpack .../50-libruby_1%3a3.3_armhf.deb ... 623s Unpacking libruby:armhf (1:3.3) ... 623s Selecting previously unselected package ruby-concurrent. 623s Preparing to unpack .../51-ruby-concurrent_1.3.6-1_all.deb ... 623s Unpacking ruby-concurrent (1.3.6-1) ... 623s Selecting previously unselected package ruby-concurrent-ext. 623s Preparing to unpack .../52-ruby-concurrent-ext_1.3.6-1_armhf.deb ... 623s Unpacking ruby-concurrent-ext (1.3.6-1) ... 623s Selecting previously unselected package ruby-diff-lcs. 623s Preparing to unpack .../53-ruby-diff-lcs_1.5.1-1_all.deb ... 623s Unpacking ruby-diff-lcs (1.5.1-1) ... 623s Selecting previously unselected package ruby-rspec-support. 623s Preparing to unpack .../54-ruby-rspec-support_3.13.0c0e0m0s1-2_all.deb ... 623s Unpacking ruby-rspec-support (3.13.0c0e0m0s1-2) ... 623s Selecting previously unselected package ruby-rspec-core. 623s Preparing to unpack .../55-ruby-rspec-core_3.13.0c0e0m0s1-2_all.deb ... 623s Unpacking ruby-rspec-core (3.13.0c0e0m0s1-2) ... 623s Selecting previously unselected package ruby-rspec-expectations. 623s Preparing to unpack .../56-ruby-rspec-expectations_3.13.0c0e0m0s1-2_all.deb ... 623s Unpacking ruby-rspec-expectations (3.13.0c0e0m0s1-2) ... 623s Selecting previously unselected package ruby-rspec-mocks. 623s Preparing to unpack .../57-ruby-rspec-mocks_3.13.0c0e0m0s1-2_all.deb ... 623s Unpacking ruby-rspec-mocks (3.13.0c0e0m0s1-2) ... 623s Selecting previously unselected package ruby-rspec. 623s Preparing to unpack .../58-ruby-rspec_3.13.0c0e0m0s1-2_all.deb ... 623s Unpacking ruby-rspec (3.13.0c0e0m0s1-2) ... 623s Selecting previously unselected package ruby-timecop. 623s Preparing to unpack .../59-ruby-timecop_0.9.10-1.1_all.deb ... 623s Unpacking ruby-timecop (0.9.10-1.1) ... 623s Setting up libbcprov-java (1.80-3) ... 623s Setting up liblcms2-2:armhf (2.17-1) ... 623s Setting up libfixposix4t64:armhf (1:0.5.1-1+nmu1.1build2) ... 623s Setting up ruby-ruby2-keywords (0.0.5-1build1) ... 623s Setting up java-common (0.76build1) ... 623s Setting up libbcutil-java (1.80-3) ... 623s Setting up libasm-java (9.8-2) ... 623s Setting up rubygems-integration (1.19build1) ... 623s Setting up libheadius-options-java (1.7-1build1) ... 623s Setting up libbctls-java (1.80-3) ... 623s Setting up ruby-concurrent (1.3.6-1) ... 623s Setting up libjnr-x86asm-java (1.0.2-6build1) ... 623s Setting up ruby-timecop (0.9.10-1.1) ... 623s Setting up libjzlib-java (1.1.3-3build1) ... 623s Setting up libbackport9-java (1.10-2build1) ... 623s Setting up libjitescript-java (0.4.3-1build1) ... 623s Setting up libsnakeyaml-engine-java (2.7+ds-3build1) ... 623s Setting up ruby-net-telnet (0.2.0-1build1) ... 623s Setting up ruby-csv (3.3.4-1) ... 623s Setting up libpcsclite1:armhf (2.4.1-1) ... 623s Setting up libjpeg-turbo8:armhf (2.1.5-4ubuntu3) ... 623s Setting up ruby-rspec-support (3.13.0c0e0m0s1-2) ... 623s Setting up libjoda-time-java (2.10.14-1) ... 623s Setting up libjcodings-java (1.0.58-1build1) ... 623s Setting up ruby-webrick (1.9.1-1build1) ... 623s Setting up libinvokebinder-java (1.14-1build1) ... 623s Setting up libjffi-jni:armhf (1.3.13+ds-1build1) ... 623s Setting up ca-certificates-java (20240118build1) ... 623s No JRE found. Skipping Java certificates setup. 623s Setting up ruby-did-you-mean (1.6.3-2build1) ... 623s Setting up libbcpkix-java (1.80-3) ... 623s Setting up ruby-xmlrpc (0.3.3-2build1) ... 623s Setting up libhawtjni-runtime-java (1.18-1build1) ... 623s Setting up libdirgra-java (0.4-2build1) ... 623s Setting up libjnr-constants-java (0.10.4-2build1) ... 623s Setting up libjpeg8:armhf (8c-2ubuntu12) ... 623s Setting up libjffi-java (1.3.13+ds-1build1) ... 623s Setting up openjdk-21-jre-headless:armhf (21.0.10+7-1) ... 624s update-alternatives: using /usr/lib/jvm/java-21-openjdk-armhf/bin/java to provide /usr/bin/java (java) in auto mode 624s update-alternatives: using /usr/lib/jvm/java-21-openjdk-armhf/bin/jpackage to provide /usr/bin/jpackage (jpackage) in auto mode 624s update-alternatives: using /usr/lib/jvm/java-21-openjdk-armhf/bin/keytool to provide /usr/bin/keytool (keytool) in auto mode 624s update-alternatives: using /usr/lib/jvm/java-21-openjdk-armhf/bin/rmiregistry to provide /usr/bin/rmiregistry (rmiregistry) in auto mode 624s update-alternatives: using /usr/lib/jvm/java-21-openjdk-armhf/lib/jexec to provide /usr/bin/jexec (jexec) in auto mode 624s Setting up libjruby-joni-java (2.2.1-1build1) ... 624s Setting up libjansi-native-java (1.8-2build1) ... 624s Setting up libjansi1-java (1.18-3.1build1) ... 624s Setting up libjline2-java (2.14.6-6) ... 624s Setting up libjnr-ffi-java (2.2.15-2build1) ... 624s Setting up libjnr-enxio-java (0.32.16-1build1) ... 624s Setting up libjnr-netdb-java (1.2.0+dfsg-1build1) ... 624s Setting up libjnr-posix-java (3.1.18-1build1) ... 624s Setting up libjnr-unixsocket-java (0.38.21-3) ... 624s Setting up rake (13.2.1-1build1) ... 624s Setting up libruby3.3:armhf (3.3.8-2ubuntu2) ... 624s Setting up ruby3.3 (3.3.8-2ubuntu2) ... 624s Setting up libruby:armhf (1:3.3) ... 624s Setting up ruby (1:3.3) ... 624s Setting up ruby-rspec-core (3.13.0c0e0m0s1-2) ... 624s Setting up ruby-diff-lcs (1.5.1-1) ... 624s Setting up ruby-rubygems (3.6.7-2ubuntu2) ... 624s Setting up ruby-concurrent-ext (1.3.6-1) ... 624s Setting up ruby-rspec-expectations (3.13.0c0e0m0s1-2) ... 624s Setting up ruby-rspec-mocks (3.13.0c0e0m0s1-2) ... 624s Setting up ruby-rspec (3.13.0c0e0m0s1-2) ... 624s Processing triggers for libc-bin (2.42-2ubuntu4) ... 624s Processing triggers for man-db (2.13.1-1build1) ... 625s Processing triggers for ca-certificates-java (20240118build1) ... 626s Adding debian:ACCVRAIZ1.pem 626s Adding debian:AC_RAIZ_FNMT-RCM.pem 626s Adding debian:AC_RAIZ_FNMT-RCM_SERVIDORES_SEGUROS.pem 626s Adding debian:ANF_Secure_Server_Root_CA.pem 626s Adding debian:Actalis_Authentication_Root_CA.pem 626s Adding debian:AffirmTrust_Commercial.pem 626s Adding debian:AffirmTrust_Networking.pem 626s Adding debian:AffirmTrust_Premium.pem 626s Adding debian:AffirmTrust_Premium_ECC.pem 626s Adding debian:Amazon_Root_CA_1.pem 626s Adding debian:Amazon_Root_CA_2.pem 626s Adding debian:Amazon_Root_CA_3.pem 626s Adding debian:Amazon_Root_CA_4.pem 626s Adding debian:Atos_TrustedRoot_2011.pem 626s Adding debian:Atos_TrustedRoot_Root_CA_ECC_TLS_2021.pem 626s Adding debian:Atos_TrustedRoot_Root_CA_RSA_TLS_2021.pem 626s Adding debian:Autoridad_de_Certificacion_Firmaprofesional_CIF_A62634068.pem 626s Adding debian:BJCA_Global_Root_CA1.pem 626s Adding debian:BJCA_Global_Root_CA2.pem 626s Adding debian:Baltimore_CyberTrust_Root.pem 626s Adding debian:Buypass_Class_2_Root_CA.pem 626s Adding debian:Buypass_Class_3_Root_CA.pem 626s Adding debian:CA_Disig_Root_R2.pem 626s Adding debian:CFCA_EV_ROOT.pem 626s Adding debian:COMODO_Certification_Authority.pem 626s Adding debian:COMODO_ECC_Certification_Authority.pem 626s Adding debian:COMODO_RSA_Certification_Authority.pem 626s Adding debian:Certainly_Root_E1.pem 626s Adding debian:Certainly_Root_R1.pem 626s Adding debian:Certigna.pem 626s Adding debian:Certigna_Root_CA.pem 626s Adding debian:Certum_EC-384_CA.pem 626s Adding debian:Certum_Trusted_Network_CA.pem 626s Adding debian:Certum_Trusted_Network_CA_2.pem 626s Adding debian:Certum_Trusted_Root_CA.pem 626s Adding debian:CommScope_Public_Trust_ECC_Root-01.pem 626s Adding debian:CommScope_Public_Trust_ECC_Root-02.pem 626s Adding debian:CommScope_Public_Trust_RSA_Root-01.pem 626s Adding debian:CommScope_Public_Trust_RSA_Root-02.pem 626s Adding debian:Comodo_AAA_Services_root.pem 626s Adding debian:D-TRUST_BR_Root_CA_1_2020.pem 626s Adding debian:D-TRUST_BR_Root_CA_2_2023.pem 626s Adding debian:D-TRUST_EV_Root_CA_1_2020.pem 626s Adding debian:D-TRUST_EV_Root_CA_2_2023.pem 626s Adding debian:D-TRUST_Root_Class_3_CA_2_2009.pem 626s Adding debian:D-TRUST_Root_Class_3_CA_2_EV_2009.pem 626s Adding debian:DigiCert_Assured_ID_Root_CA.pem 626s Adding debian:DigiCert_Assured_ID_Root_G2.pem 626s Adding debian:DigiCert_Assured_ID_Root_G3.pem 626s Adding debian:DigiCert_Global_Root_CA.pem 626s Adding debian:DigiCert_Global_Root_G2.pem 626s Adding debian:DigiCert_Global_Root_G3.pem 626s Adding debian:DigiCert_High_Assurance_EV_Root_CA.pem 626s Adding debian:DigiCert_TLS_ECC_P384_Root_G5.pem 626s Adding debian:DigiCert_TLS_RSA4096_Root_G5.pem 626s Adding debian:DigiCert_Trusted_Root_G4.pem 626s Adding debian:Entrust.net_Premium_2048_Secure_Server_CA.pem 626s Adding debian:Entrust_Root_Certification_Authority.pem 626s Adding debian:Entrust_Root_Certification_Authority_-_EC1.pem 626s Adding debian:Entrust_Root_Certification_Authority_-_G2.pem 626s Adding debian:FIRMAPROFESIONAL_CA_ROOT-A_WEB.pem 626s Adding debian:GDCA_TrustAUTH_R5_ROOT.pem 626s Adding debian:GLOBALTRUST_2020.pem 626s Adding debian:GTS_Root_R1.pem 626s Adding debian:GTS_Root_R2.pem 626s Adding debian:GTS_Root_R3.pem 626s Adding debian:GTS_Root_R4.pem 626s Adding debian:GlobalSign_ECC_Root_CA_-_R4.pem 626s Adding debian:GlobalSign_ECC_Root_CA_-_R5.pem 626s Adding debian:GlobalSign_Root_CA.pem 626s Adding debian:GlobalSign_Root_CA_-_R3.pem 626s Adding debian:GlobalSign_Root_CA_-_R6.pem 626s Adding debian:GlobalSign_Root_E46.pem 626s Adding debian:GlobalSign_Root_R46.pem 626s Adding debian:Go_Daddy_Class_2_CA.pem 626s Adding debian:Go_Daddy_Root_Certificate_Authority_-_G2.pem 626s Adding debian:HARICA_TLS_ECC_Root_CA_2021.pem 626s Adding debian:HARICA_TLS_RSA_Root_CA_2021.pem 626s Adding debian:Hellenic_Academic_and_Research_Institutions_ECC_RootCA_2015.pem 626s Adding debian:Hellenic_Academic_and_Research_Institutions_RootCA_2015.pem 626s Adding debian:HiPKI_Root_CA_-_G1.pem 626s Adding debian:Hongkong_Post_Root_CA_3.pem 626s Adding debian:ISRG_Root_X1.pem 626s Adding debian:ISRG_Root_X2.pem 626s Adding debian:IdenTrust_Commercial_Root_CA_1.pem 626s Adding debian:IdenTrust_Public_Sector_Root_CA_1.pem 626s Adding debian:Izenpe.com.pem 626s Adding debian:Microsec_e-Szigno_Root_CA_2009.pem 626s Adding debian:Microsoft_ECC_Root_Certificate_Authority_2017.pem 626s Adding debian:Microsoft_RSA_Root_Certificate_Authority_2017.pem 626s Adding debian:NAVER_Global_Root_Certification_Authority.pem 626s Adding debian:NetLock_Arany_=Class_Gold=_Főtanúsítvány.pem 626s Adding debian:OISTE_WISeKey_Global_Root_GB_CA.pem 626s Adding debian:OISTE_WISeKey_Global_Root_GC_CA.pem 626s Adding debian:QuoVadis_Root_CA_1_G3.pem 626s Adding debian:QuoVadis_Root_CA_2.pem 626s Adding debian:QuoVadis_Root_CA_2_G3.pem 626s Adding debian:QuoVadis_Root_CA_3.pem 626s Adding debian:QuoVadis_Root_CA_3_G3.pem 626s Adding debian:SSL.com_EV_Root_Certification_Authority_ECC.pem 626s Adding debian:SSL.com_EV_Root_Certification_Authority_RSA_R2.pem 626s Adding debian:SSL.com_Root_Certification_Authority_ECC.pem 626s Adding debian:SSL.com_Root_Certification_Authority_RSA.pem 626s Adding debian:SSL.com_TLS_ECC_Root_CA_2022.pem 626s Adding debian:SSL.com_TLS_RSA_Root_CA_2022.pem 626s Adding debian:SZAFIR_ROOT_CA2.pem 626s Adding debian:Sectigo_Public_Server_Authentication_Root_E46.pem 626s Adding debian:Sectigo_Public_Server_Authentication_Root_R46.pem 626s Adding debian:SecureSign_Root_CA12.pem 626s Adding debian:SecureSign_Root_CA14.pem 626s Adding debian:SecureSign_Root_CA15.pem 626s Adding debian:SecureTrust_CA.pem 626s Adding debian:Secure_Global_CA.pem 626s Adding debian:Security_Communication_ECC_RootCA1.pem 626s Adding debian:Security_Communication_RootCA2.pem 626s Adding debian:Starfield_Class_2_CA.pem 626s Adding debian:Starfield_Root_Certificate_Authority_-_G2.pem 626s Adding debian:Starfield_Services_Root_Certificate_Authority_-_G2.pem 626s Adding debian:SwissSign_Gold_CA_-_G2.pem 626s Adding debian:T-TeleSec_GlobalRoot_Class_2.pem 626s Adding debian:T-TeleSec_GlobalRoot_Class_3.pem 626s Adding debian:TUBITAK_Kamu_SM_SSL_Kok_Sertifikasi_-_Surum_1.pem 626s Adding debian:TWCA_CYBER_Root_CA.pem 626s Adding debian:TWCA_Global_Root_CA.pem 626s Adding debian:TWCA_Root_Certification_Authority.pem 626s Adding debian:Telekom_Security_TLS_ECC_Root_2020.pem 626s Adding debian:Telekom_Security_TLS_RSA_Root_2023.pem 626s Adding debian:TeliaSonera_Root_CA_v1.pem 626s Adding debian:Telia_Root_CA_v2.pem 626s Adding debian:TrustAsia_Global_Root_CA_G3.pem 626s Adding debian:TrustAsia_Global_Root_CA_G4.pem 626s Adding debian:Trustwave_Global_Certification_Authority.pem 626s Adding debian:Trustwave_Global_ECC_P256_Certification_Authority.pem 626s Adding debian:Trustwave_Global_ECC_P384_Certification_Authority.pem 626s Adding debian:TunTrust_Root_CA.pem 626s Adding debian:UCA_Extended_Validation_Root.pem 626s Adding debian:UCA_Global_G2_Root.pem 626s Adding debian:USERTrust_ECC_Certification_Authority.pem 626s Adding debian:USERTrust_RSA_Certification_Authority.pem 626s Adding debian:XRamp_Global_CA_Root.pem 626s Adding debian:certSIGN_ROOT_CA.pem 626s Adding debian:certSIGN_Root_CA_G2.pem 626s Adding debian:e-Szigno_Root_CA_2017.pem 626s Adding debian:ePKI_Root_Certification_Authority.pem 626s Adding debian:emSign_ECC_Root_CA_-_C3.pem 626s Adding debian:emSign_ECC_Root_CA_-_G3.pem 626s Adding debian:emSign_Root_CA_-_C1.pem 626s Adding debian:emSign_Root_CA_-_G1.pem 626s Adding debian:vTrus_ECC_Root_CA.pem 626s Adding debian:vTrus_Root_CA.pem 626s done. 626s Setting up default-jre-headless (2:1.21-76build1) ... 626s Setting up jruby (9.4.8.0+ds-3ubuntu1) ... 645s autopkgtest [07:15:18]: test jruby: [----------------------- 647s installing concurrent-ruby-1.3.6 gem into temporary GEM_HOME for jruby ... 647s installing concurrent-ruby-edge-0.7.2 gem into temporary GEM_HOME for jruby ... 647s installing diff-lcs-1.5.1 gem into temporary GEM_HOME for jruby ... 647s installing rspec-core-3.13.0 gem into temporary GEM_HOME for jruby ... 647s installing rspec-expectations-3.13.0 gem into temporary GEM_HOME for jruby ... 647s installing rspec-mocks-3.13.0 gem into temporary GEM_HOME for jruby ... 647s installing rspec-support-3.13.1 gem into temporary GEM_HOME for jruby ... 647s installing timecop-0.9.10 gem into temporary GEM_HOME for jruby ... 654s /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85: warning: loading in progress, circular require considered harmful - /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/options.rb require at org/jruby/RubyKernel.java:1184 654s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 654s at /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/options.rb:6 654s
at /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/options.rb:3 654s require at org/jruby/RubyKernel.java:1184 654s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 654s
at /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/scheduled_task.rb:8 654s require at org/jruby/RubyKernel.java:1184 654s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 654s
at /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/executor/timer_set.rb:1 654s require at org/jruby/RubyKernel.java:1184 654s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 654s
at /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/executors.rb:19 654s require at org/jruby/RubyKernel.java:1184 654s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 654s
at /usr/share/rubygems-integration/all/gems/concurrent-ruby-edge-0.7.2/lib/concurrent-ruby-edge/concurrent/actor/core.rb:4 654s require at org/jruby/RubyKernel.java:1184 654s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 654s at /usr/share/rubygems-integration/all/gems/concurrent-ruby-edge-0.7.2/lib/concurrent-ruby-edge/concurrent/actor.rb:25 654s at /usr/share/rubygems-integration/all/gems/concurrent-ruby-edge-0.7.2/lib/concurrent-ruby-edge/concurrent/actor.rb:17 654s
at /usr/share/rubygems-integration/all/gems/concurrent-ruby-edge-0.7.2/lib/concurrent-ruby-edge/concurrent/actor.rb:7 654s require at org/jruby/RubyKernel.java:1184 654s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:160 654s
at /tmp/autopkgtest.4WcEcV/build.abN/src/spec/concurrent/actor_spec.rb:1 654s load at org/jruby/RubyKernel.java:1220 654s load_file_handling_errors at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:2138 654s load_spec_files at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:1638 654s each at org/jruby/RubyArray.java:1981 654s load_spec_files at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:1636 654s setup at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:102 654s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:86 654s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:71 654s invoke at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:45 654s
at /usr/bin/rspec:4 654s 654s /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85: warning: loading in progress, circular require considered harmful - /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/executor/timer_set.rb require at org/jruby/RubyKernel.java:1184 654s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 654s at /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/executor/timer_set.rb:19 654s
at /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/executor/timer_set.rb:9 654s require at org/jruby/RubyKernel.java:1184 654s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 654s
at /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/executors.rb:19 654s require at org/jruby/RubyKernel.java:1184 654s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 654s
at /usr/share/rubygems-integration/all/gems/concurrent-ruby-edge-0.7.2/lib/concurrent-ruby-edge/concurrent/actor/core.rb:4 654s require at org/jruby/RubyKernel.java:1184 654s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 654s at /usr/share/rubygems-integration/all/gems/concurrent-ruby-edge-0.7.2/lib/concurrent-ruby-edge/concurrent/actor.rb:25 654s at /usr/share/rubygems-integration/all/gems/concurrent-ruby-edge-0.7.2/lib/concurrent-ruby-edge/concurrent/actor.rb:17 654s
at /usr/share/rubygems-integration/all/gems/concurrent-ruby-edge-0.7.2/lib/concurrent-ruby-edge/concurrent/actor.rb:7 654s require at org/jruby/RubyKernel.java:1184 654s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:160 654s
at /tmp/autopkgtest.4WcEcV/build.abN/src/spec/concurrent/actor_spec.rb:1 654s load at org/jruby/RubyKernel.java:1220 654s load_file_handling_errors at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:2138 654s load_spec_files at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:1638 654s each at org/jruby/RubyArray.java:1981 654s load_spec_files at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:1636 654s setup at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:102 654s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:86 654s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:71 654s invoke at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:45 654s
at /usr/bin/rspec:4 654s 659s /usr/share/jruby/lib/ruby/stdlib/date.rb:471: warning: previous definition of strptime was here 659s /usr/share/jruby/lib/ruby/stdlib/date.rb:490: warning: previous definition of parse was here 659s /usr/share/jruby/lib/ruby/stdlib/date.rb:737: warning: previous definition of parse was here 660s Run options: exclude {:stress=>true} 660s 660s Concurrent::Actor 660s /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 660s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 660s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:30 660s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:3 660s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:2 660s
at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:1 660s require at org/jruby/RubyKernel.java:1184 660s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 660s be_truthy at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers.rb:311 660s
at /tmp/autopkgtest.4WcEcV/build.abN/src/spec/spec_helper.rb:50 660s instance_exec at org/jruby/RubyBasicObject.java:2620 660s instance_exec at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:457 660s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:365 660s run_owned_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:529 660s each at org/jruby/RubyArray.java:1981 660s run_owned_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:528 660s run_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:615 660s reverse_each at org/jruby/RubyArray.java:2063 660s run_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:614 660s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:484 660s run_before_example at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:505 660s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:261 660s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 660s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 660s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 660s run_around_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:624 660s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 660s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 660s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 660s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:259 660s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:646 660s map at org/jruby/RubyArray.java:2803 660s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:651 660s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:607 660s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121 660s map at org/jruby/RubyArray.java:2803 660s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121 660s with_suite_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:2091 660s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:116 660s report at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/reporter.rb:74 660s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:115 660s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:89 660s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:71 660s invoke at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:45 660s
at /usr/bin/rspec:4 660s 660s /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 660s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 660s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:53 660s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:3 660s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:2 660s
at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:1 660s require at org/jruby/RubyKernel.java:1184 660s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 660s be_truthy at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers.rb:311 660s
at /tmp/autopkgtest.4WcEcV/build.abN/src/spec/spec_helper.rb:50 660s instance_exec at org/jruby/RubyBasicObject.java:2620 660s instance_exec at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:457 660s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:365 660s run_owned_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:529 660s each at org/jruby/RubyArray.java:1981 660s run_owned_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:528 660s run_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:615 660s reverse_each at org/jruby/RubyArray.java:2063 660s run_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:614 660s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:484 660s run_before_example at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:505 660s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:261 660s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 660s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 660s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 660s run_around_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:624 660s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 660s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 660s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 660s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:259 660s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:646 660s map at org/jruby/RubyArray.java:2803 660s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:651 660s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:607 660s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121 660s map at org/jruby/RubyArray.java:2803 660s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121 660s with_suite_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:2091 660s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:116 660s report at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/reporter.rb:74 660s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:115 660s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:89 660s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:71 660s invoke at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:45 660s
at /usr/bin/rspec:4 660s 660s forbids Immediate executor 661s /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 661s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 661s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:74 661s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:3 661s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:2 661s
at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:1 661s require at org/jruby/RubyKernel.java:1184 661s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 661s be_truthy at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers.rb:311 661s
at /tmp/autopkgtest.4WcEcV/build.abN/src/spec/spec_helper.rb:50 661s instance_exec at org/jruby/RubyBasicObject.java:2620 661s instance_exec at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:457 661s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:365 661s run_owned_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:529 661s each at org/jruby/RubyArray.java:1981 661s run_owned_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:528 661s run_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:615 661s reverse_each at org/jruby/RubyArray.java:2063 661s run_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:614 661s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:484 661s run_before_example at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:505 661s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:261 661s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 661s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 661s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 661s run_around_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:624 661s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 661s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 661s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 661s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:259 661s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:646 661s map at org/jruby/RubyArray.java:2803 661s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:651 661s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:607 661s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121 661s map at org/jruby/RubyArray.java:2803 661s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121 661s with_suite_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:2091 661s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:116 661s report at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/reporter.rb:74 661s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:115 661s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:89 661s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:71 661s invoke at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:45 661s
at /usr/bin/rspec:4 661s 661s /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 661s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 661s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:101 661s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:3 661s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:2 661s
at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:1 661s require at org/jruby/RubyKernel.java:1184 661s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 661s be_truthy at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers.rb:311 661s
at /tmp/autopkgtest.4WcEcV/build.abN/src/spec/spec_helper.rb:50 661s instance_exec at org/jruby/RubyBasicObject.java:2620 661s instance_exec at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:457 661s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:365 661s run_owned_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:529 661s each at org/jruby/RubyArray.java:1981 661s run_owned_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:528 661s run_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:615 661s reverse_each at org/jruby/RubyArray.java:2063 661s run_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:614 661s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:484 661s run_before_example at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:505 661s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:261 661s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 661s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 661s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 661s run_around_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:624 661s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 661s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 661s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 661s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:259 661s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:646 661s map at org/jruby/RubyArray.java:2803 661s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:651 661s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:607 661s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121 661s map at org/jruby/RubyArray.java:2803 661s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121 661s with_suite_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:2091 661s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:116 661s report at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/reporter.rb:74 661s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:115 661s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:89 661s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:71 661s invoke at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:45 661s
at /usr/bin/rspec:4 661s 661s /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 661s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 661s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:136 661s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:3 661s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:2 661s
at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:1 661s require at org/jruby/RubyKernel.java:1184 661s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 661s be_truthy at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers.rb:311 661s
at /tmp/autopkgtest.4WcEcV/build.abN/src/spec/spec_helper.rb:50 661s instance_exec at org/jruby/RubyBasicObject.java:2620 661s instance_exec at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:457 661s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:365 661s run_owned_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:529 661s each at org/jruby/RubyArray.java:1981 661s run_owned_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:528 661s run_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:615 661s reverse_each at org/jruby/RubyArray.java:2063 661s run_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:614 661s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:484 661s run_before_example at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:505 661s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:261 661s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 661s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 661s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 661s run_around_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:624 661s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 661s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 661s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 661s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:259 661s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:646 661s map at org/jruby/RubyArray.java:2803 661s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:651 661s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:607 661s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121 661s map at org/jruby/RubyArray.java:2803 661s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121 661s with_suite_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:2091 661s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:116 661s report at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/reporter.rb:74 661s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:115 661s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:89 661s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:71 661s invoke at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:45 661s
at /usr/bin/rspec:4 661s 661s links 661s links atomically 661s spawning 661s terminates on failed initialization 661s terminates on failed initialization and raises with spawn! 661s terminates on failed message processing 661s Actor#spawn! 661s spawn 661s executor should be global 661s returns arg 661s #path 661s is expected to eq "/ping" 661s #parent 661s is expected to eq # 661s #name 661s is expected to eq "ping" 661s #reference 661s is expected to eq # 661s context_spawn 661s executor should be global 661s returns arg 661s #path 661s is expected to eq "/ping" 661s #parent 661s is expected to eq # 661s #name 661s is expected to eq "ping" 661s #reference 661s is expected to eq # 661s spawn_by_hash 661s executor should be global 661s returns arg 661s #path 661s is expected to eq "/ping" 661s #parent 661s is expected to eq # 661s #name 661s is expected to eq "ping" 661s #reference 661s is expected to eq # 661s context_spawn_by_hash 661s executor should be global 661s returns arg 661s #path 661s is expected to eq "/ping" 661s #parent 661s is expected to eq # 661s #name 661s is expected to eq "ping" 661s #reference 661s is expected to eq # 661s messaging 661s is expected to eq 4 661s children 661s has children set after a child is created 661s envelope 661s /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 661s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 661s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/has.rb:125 661s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/has.rb:3 661s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/has.rb:2 661s
at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/has.rb:1 661s require at org/jruby/RubyKernel.java:1184 661s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 661s method_missing at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers.rb:964 661s method_missing at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:767 661s Actor at /tmp/autopkgtest.4WcEcV/build.abN/src/spec/concurrent/actor_spec.rb:136 661s instance_exec at org/jruby/RubyBasicObject.java:2620 661s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:263 661s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 661s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 661s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 661s run_around_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:624 661s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 661s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 661s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 661s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:259 661s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:646 661s map at org/jruby/RubyArray.java:2803 661s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:651 661s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:607 661s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:608 661s map at org/jruby/RubyArray.java:2803 661s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:608 661s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121 661s map at org/jruby/RubyArray.java:2803 661s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121 661s with_suite_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:2091 661s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:116 661s report at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/reporter.rb:74 661s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:115 661s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:89 661s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:71 661s invoke at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:45 661s
at /usr/bin/rspec:4 661s 661s is expected to eq # 661s termination 662s terminates with all its children 662s dead letter routing 662s logs by default 662s message redirecting 662s is evaluated by child 662s pausing 662s pauses on error and resumes 662s pauses on error and resets 662s pauses on error and restarts 662s pool 662s supports asks 662s 662s Concurrent::Agent 662s initialization 662s sets the initial value 662s sets the initial error to nil 662s sets the error mode when given a valid value 662s defaults the error mode to :continue when an error handler is given 662s defaults the error mode to :fail when no error handler is given 662s raises an error when given an invalid error mode 662s sets #failed? to false 662s action processing 662s the given block will be passed the current value 662s the given block will be passed any provided arguments 662s the return value will be passed to the validator function 662s upon validation the new value will be set to the block return value 662s on success all observers will be notified 662s any recursive action dispatches will run after the value has been updated 662s when the action raises an error the value will not change 662s when the action raises an error the validator will not be called 662s when validation returns false the value will not change 662s when validation raises an error the value will not change 662s when the action raises an error the handler will be called 662s when validation fails the handler will be called 662s when validation raises an error the handler will be called 662s validation 662s sets the new value when the validator returns true 662s rejects the new value when the validator returns false 662s rejects the new value when the validator raises an error 662s sets the error when the error mode is :fail and the validator returns false 662s sets the error when the error mode is :fail and the validator raises an error 662s does not set an error when the error mode is :continue and the validator returns false 662s does not set an error when the error mode is :continue and the validator raises an error 662s does not trigger observation when validation fails 662s error handling 662s the agent will be passed to the handler 662s the exception will be passed to the handler 662s does not trigger observation 662s error mode 662s :continue 662s does not set an error when the validator returns false 662s does not set an error when the validator raises an error 662s does not set an error when the action raises an error 662s does not block further action processing 662s sets #failed? to false 662s :fail 662s sets the error when the validator returns false 662s sets the error when the validator raises an error 662s sets the error when the action raises an error 662s blocks all further action processing until a restart 662s sets #failed? to true 662s nested actions 662s occur in the order they ar post 662s work with immediate execution 662s posting 662s with #send 662s returns true when the job is post 663s returns false when #failed? 663s posts to the global fast executor 663s does not wait for the action to process 663s with #send! 663s returns true when the job is post 663s raises an error when #failed? 663s posts to the global fast executor 663s does not wait for the action to process 663s with #send_off 663s returns true when the job is post 663s returns false when #failed? 663s posts to the global io executor 663s does not wait for the action to process 663s with #send_off! 663s returns true when the job is post 663s raises an error when #failed? 663s posts to the global io executor 663s does not wait for the action to process 663s with #send_via 663s returns true when the job is post 663s returns false when #failed? 663s posts to the given executor 663s with #send_via! 663s returns true when the job is post 663s raises an error when #failed? 663s posts to the given executor 663s with #post 663s returns true when the job is post 663s returns false when #failed? 663s posts to the global io executor 663s does not wait for the action to process 663s with #<< 663s returns self when the job is post 663s returns self when #failed? 663s posts to the global io executor 663s does not wait for the action to process 663s #restart 663s when #failed? 663s raises an error if the new value is not valid 663s sets the new value 663s clears the error 663s sets #failed? to true 663s removes all actions from the queue when :clear_actions is true 663s does not clear the action queue when :clear_actions is false 663s does not clear the action queue when :clear_actions is not given 664s resumes action processing if actions are enqueued 664s does not trigger observation 664s when not #failed? 664s raises an error 664s waiting 664s the await job 664s does not change the value 664s does not trigger the error mode 664s does not trigger observers 664s waits for nested actions 664s with #await 664s returns self when there are no pending actions 664s does not block on actions from other threads 665s blocks indefinitely 666s returns true when all prior actions have processed 666s blocks forever if restarted with :clear_actions true (PENDING: the timing is nearly impossible) 666s with #await_for 666s returns true when there are no pending actions 666s does not block on actions from other threads 667s returns true when all prior actions have processed 668s returns false on timeout 668s returns false if restarted with :clear_actions true (PENDING: the timing is nearly impossible) 668s with #await_for! 668s returns true when there are no pending actions 668s does not block on actions from other threads 669s returns true when all prior actions have processed 670s raises an error on timeout 670s raises an error if restarted with :clear_actions true (PENDING: the timing is nearly impossible) 670s with #wait 670s returns true when there are no pending actions and timeout is nil 670s returns true when there are no pending actions and a timeout is given 670s does not block on actions from other threads 671s blocks indefinitely when timeout is nil 671s blocks forever when timeout is nil and restarted with :clear_actions true (PENDING: the timing is nearly impossible) 672s returns true when all prior actions have processed 673s returns false on timeout 673s returns false when timeout is given and restarted with :clear_actions true (PENDING: the timing is nearly impossible) 673s with .await 673s returns true when all prior actions on all agents have processed 673s with .await_for 673s returns true when there are no pending actions 673s returns true when all prior actions for all agents have processed 674s returns false on timeout 674s with await_for! 674s returns true when there are no pending actions 674s returns true when all prior actions for all agents have processed 675s raises an exception on timeout 675s observable 675s behaves like observable 675s #add_observer 675s adds an observer if called before first notification 675s adds an observer with :func if called before first notification 675s creates an observer from a block if called before first notification 675s raises an exception if not given an observer or a block 675s raises an exception when given both an observer and a block 675s #delete_observer 675s deletes the given observer if called before first notification 675s returns the removed observer if found in the observer set 675s returns the given observer even when not found in the observer set 675s #delete_observers 675s deletes all observers when called before first notification 675s returns self 675s #count_observers 675s returns zero for a new observable object 675s returns a count of registered observers if called before first notification 675s returns zero after #delete_observers has been called 675s first notification 675s calls the #update method on all observers without a specified :func 675s calls the appropriate function on all observers which specified a :func 675s calls the proc for all observers added as a block 676s does not notify any observers removed with #delete_observer 677s does not notify any observers after #delete_observers called 677s 677s Concurrent::Array 677s .[] 677s when initializing with no arguments 677s is expected to be empty 677s when initializing with arguments 677s creates an array with the given objects 677s .new 677s when initializing with no arguments 677s is expected to be empty 677s when initializing with a size argument 677s creates an array with size elements set to nil 677s when initializing with a default value argument 677s creates an array with size elements set to the default value 677s when initializing with a block argument 677s creates an array with size elements set to the default value 677s when initializing with another array as an argument 677s creates a new array 677s creates an array with the same contents as the other array 677s creates an array with the results of calling #to_ary on the other array 677s concurrency 678s is expected to be empty 678s #slice 678s correctly initializes the monitor 678s 678s Concurrent::Async 678s object creation 678s delegates to the original constructor 678s passes all args to the original constructor 678s passes a given block to the original constructor 678s initializes synchronization 678s #validate_argc 678s raises an exception when the method is not defined 678s raises an exception for too many args on a zero arity method 678s does not raise an exception for correct zero arity 678s raises an exception for too many args on a method with positive arity 678s raises an exception for too few args on a method with positive arity 678s does not raise an exception for correct positive arity 678s raises an exception for too few args on a method with negative arity 678s does not raise an exception for correct negative arity 678s #async 678s raises an error when calling a method that does not exist 678s raises an error when passing too few arguments 678s raises an error when passing too many arguments (arity >= 0) 678s returns the existence of the method 678s returns a :pending IVar 678s runs the future on the global executor 678s sets the value on success 678s sets the reason on failure 678s sets the reason when giving too many optional arguments 678s supports attribute accessors 678s supports methods with blocks 678s #await 678s raises an error when calling a method that does not exist 678s raises an error when passing too few arguments 678s raises an error when passing too many arguments (arity >= 0) 678s returns the existence of the method 678s returns a :fulfilled IVar 678s runs the future on the global executor 678s sets the value on success 678s sets the reason on failure 678s sets the reason when giving too many optional arguments 678s supports attribute accessors 678s supports methods with blocks 678s locking 678s uses the same lock for both #async and #await 678s fork safety 678s does not hang when forked (PENDING: Platform does not support fork) 678s 678s Concurrent::Atom 678s construction 678s sets the initial value to the given value 678s #compare_and_set 678s sets the new value if the current value matches 678s returns true if the current value matches 678s rejects the new value if the current value does not match 678s returns false if the current value does not match 678s rejects the new value if the validator returns false 678s rejects the new value if the validator raises an exception 678s returns false if the validator returns false 678s returns false if the validator raises an exception 678s #swap 678s raises an exception when no block is given 678s passes the current value to the block 678s passes all arguments to the block 678s sets the new value to the result of the block 678s rejects the new value if the validator returns false 678s rejects the new value if the validator raises an exception 678s returns the new value on success 678s returns the old value if the validator returns false 678s returns the old value if the validator raises an exception 678s calls the block more than once if the value changes underneath 678s reraises the exception from block 678s #reset 678s sets the new value 678s returns the new value on success 678s returns the new value on success 678s returns the old value if the validator returns false 678s returns the old value if the validator raises an exception 678s observable 678s behaves like observable 678s #add_observer 678s adds an observer if called before first notification 678s adds an observer with :func if called before first notification 679s creates an observer from a block if called before first notification 679s raises an exception if not given an observer or a block 679s raises an exception when given both an observer and a block 679s #delete_observer 679s deletes the given observer if called before first notification 679s returns the removed observer if found in the observer set 679s returns the given observer even when not found in the observer set 679s #delete_observers 679s deletes all observers when called before first notification 679s returns self 679s #count_observers 679s returns zero for a new observable object 679s returns a count of registered observers if called before first notification 679s returns zero after #delete_observers has been called 679s first notification 679s calls the #update method on all observers without a specified :func 679s calls the appropriate function on all observers which specified a :func 679s calls the proc for all observers added as a block 680s does not notify any observers removed with #delete_observer 681s does not notify any observers after #delete_observers called 681s 681s Concurrent::MutexAtomicBoolean 681s it should behave like atomic_boolean 681s construction 681s sets the initial value 681s defaults the initial value to false 681s evaluates the truthiness of a true value 681s evaluates the truthiness of a false value 681s #value 681s returns the current value 681s #value= 681s sets the #value to the given `Boolean` 681s returns the new value 681s evaluates the truthiness of a true value 681s evaluates the truthiness of a false value 681s #true? 681s is expected to equal true 681s is expected to equal false 681s #false? 681s is expected to equal false 681s is expected to equal true 681s #make_true 681s makes a false value true and returns true 681s keeps a true value true and returns false 681s #make_false 681s makes a true value false and returns true 681s keeps a false value false and returns false 681s instance methods 681s value is synchronized 681s value= is synchronized 681s true? is synchronized 681s false? is synchronized 681s make_true is synchronized 681s make_false is synchronized 681s 681s Concurrent::JavaAtomicBoolean 681s it should behave like atomic_boolean 681s construction 681s sets the initial value 681s defaults the initial value to false 681s evaluates the truthiness of a true value 681s evaluates the truthiness of a false value 681s #value 681s returns the current value 681s #value= 681s sets the #value to the given `Boolean` 681s returns the new value 681s evaluates the truthiness of a true value 681s evaluates the truthiness of a false value 681s #true? 681s is expected to equal true 681s is expected to equal false 681s #false? 681s is expected to equal false 681s is expected to equal true 681s #make_true 681s makes a false value true and returns true 681s keeps a true value true and returns false 681s #make_false 681s makes a true value false and returns true 681s keeps a false value false and returns false 681s 681s Concurrent::AtomicBoolean 681s does not load the C extension 681s inherits from JavaAtomicBoolean 681s #to_s and #inspect 681s includes the value 681s 681s Concurrent::MutexAtomicFixnum 681s it should behave like atomic_fixnum 681s construction 681s sets the initial value 681s defaults the initial value to zero 681s raises an exception if the initial value is not a Fixnum 681s #value 681s returns the current value 681s #value= 681s sets the #value to the given `Fixnum` 681s returns the new value 681s raises and exception if the value is not a `Fixnum` 681s #increment 681s increases the value by one when no argument is given 681s returns the new value when no argument is given 681s increases the value by the given argument 681s returns the new value the given argument 681s is aliased as #up 681s #decrement 681s decreases the value by one when no argument is given 681s returns the new value when no argument is given 681s decreases the value by the given argument 681s returns the new value the given argument 681s is aliased as #down 681s #compare_and_set 681s returns false if the value is not found 681s returns true if the value is found 681s sets if the value is found 681s does not set if the value is not found 681s #update 681s passes the current value to the block 681s atomically sets the value to the return value from the block 681s returns the new value 681s construction 681s raises an exception if the initial value is too big 681s raises an exception if the initial value is too small 681s instance methods 681s value is synchronized 681s value= is synchronized 681s increment is synchronized 681s decrement is synchronized 681s compare_and_set is synchronized 681s 681s Concurrent::JavaAtomicFixnum 681s it should behave like atomic_fixnum 681s construction 681s sets the initial value 681s defaults the initial value to zero 681s raises an exception if the initial value is not a Fixnum 681s #value 681s returns the current value 681s #value= 681s sets the #value to the given `Fixnum` 681s returns the new value 681s raises and exception if the value is not a `Fixnum` 681s #increment 681s increases the value by one when no argument is given 681s returns the new value when no argument is given 681s increases the value by the given argument 681s returns the new value the given argument 681s is aliased as #up 681s #decrement 681s decreases the value by one when no argument is given 681s returns the new value when no argument is given 681s decreases the value by the given argument 681s returns the new value the given argument 681s is aliased as #down 681s #compare_and_set 681s returns false if the value is not found 681s returns true if the value is found 681s sets if the value is found 681s does not set if the value is not found 681s #update 681s passes the current value to the block 681s atomically sets the value to the return value from the block 681s returns the new value 681s 681s Concurrent::AtomicFixnum 681s does not load the C extension 681s inherits from JavaAtomicFixnum 681s #to_s and #inspect 681s includes the value 681s 681s Concurrent::AtomicMarkableReference 681s .initialize 681s constructs the object 681s has sane defaults 681s #set 681s sets the value and mark 681s #try_update! 681s updates the value and mark 681s raises ConcurrentUpdateError when attempting to set inside of block 681s #try_update 681s updates the value and mark 681s returns nil when attempting to set inside of block 681s #update 681s updates the value and mark 681s retries until update succeeds 681s #compare_and_set 681s when objects have the same identity 681s sets the value and mark 681s when objects have the different identity 681s it does not set the value or mark 681s when comparing Numeric objects 681s Non-idepotent Float 681s sets the value and mark 681s BigNum 681s sets the value and mark 681s Rational 681s sets the value and mark 681s Rational 681s is successful 681s 681s Concurrent::AtomicReference 681s it should behave like atomic_reference 681s test_construct 681s test_value 681s test_update 681s test_try_update 681s test_try_update_bang 681s test_swap 681s test_try_update_fails 681s test_try_update_bang_fails 681s test_update_retries 681s test_numeric_cas 681s #to_s and #inspect 681s includes the value 681s 681s Concurrent::MutexAtomicReference 681s it should behave like atomic_reference 681s test_construct 681s test_value 681s test_update 681s test_try_update 681s test_try_update_bang 681s test_swap 681s test_try_update_fails 681s test_try_update_bang_fails 681s test_update_retries 681s test_numeric_cas 681s 681s Concurrent::JavaAtomicReference 681s it should behave like atomic_reference 681s test_construct 681s test_value 681s test_update 681s test_try_update 681s test_try_update_bang 681s test_swap 681s test_try_update_fails 681s test_try_update_bang_fails 681s test_update_retries 681s test_numeric_cas 681s 681s Concurrent::AtomicReference 681s does not load the C extension 681s inherits from JavaAtomicReference 681s 681s Concurrent::MutexCountDownLatch 681s it should behave like count_down_latch 681s #initialize 681s raises an exception if the initial count is less than zero 681s raises an exception if the initial count is not an integer 681s defaults the count to 1 681s #count 681s should be the value passed to the constructor 681s should be decreased after every count down 681s should not go below zero 681s #wait 681s blocks indefinitely, and is kill-able 681s blocks indefinitely with timeout, and is kill-able 681s count set to zero 681s should return true immediately 681s should return true immediately with timeout 681s non zero count 681s should block thread until counter is set to zero 681s should block until counter is set to zero with timeout 682s should block until timeout and return false when counter is not set to zero 682s spurious wake ups 682s should resist to spurious wake ups without timeout 683s should resist to spurious wake ups with timeout 683s 683s Concurrent::JavaCountDownLatch 683s it should behave like count_down_latch 683s #initialize 683s raises an exception if the initial count is less than zero 683s raises an exception if the initial count is not an integer 683s defaults the count to 1 683s #count 683s should be the value passed to the constructor 683s should be decreased after every count down 683s should not go below zero 683s #wait 683s blocks indefinitely, and is kill-able 683s blocks indefinitely with timeout, and is kill-able 683s count set to zero 683s should return true immediately 683s should return true immediately with timeout 683s non zero count 683s should block thread until counter is set to zero 683s should block until counter is set to zero with timeout 683s should block until timeout and return false when counter is not set to zero 683s 683s Concurrent::CountDownLatch 683s inherits from JavaCountDownLatch 683s 683s Concurrent::CyclicBarrier 683s #initialize 683s raises an exception if the initial count is less than 1 683s raises an exception if the initial count is not an integer 683s #parties 683s should be the value passed to the constructor 683s #number_waiting 683s without any waiting thread 683s should be equal to zero 683s with waiting threads 683s should be equal to the waiting threads count 683s #broken? 683s should not be broken when created 683s should not be broken when reset is called without waiting thread 683s reset 683s should release all waiting threads 683s #wait 683s without timeout 683s should block the thread 683s should release all threads when their number matches the desired one 683s returns true when released 683s executes the block once 683s can be reused 683s return false if barrier has been reset 683s with timeout 683s timeout not expiring 684s should block the thread 684s should release all threads when their number matches the desired one 684s returns true when released 684s timeout expiring 684s returns false 684s breaks the barrier and release all other threads 684s breaks the barrier and release all other threads 2 684s does not execute the block on timeout 684s #broken barrier 684s should not accept new threads 684s can be reset 684s spurious wake ups 685s should resist to spurious wake ups without timeout 685s should resist to spurious wake ups with timeout 685s 685s Concurrent::Event 685s #initialize 685s sets the state to unset 685s #set? 685s returns true when the event has been set 685s returns false if the event is unset 685s #set 685s triggers the event 685s sets the state to set 685s #try? 685s triggers the event if not already set 685s returns true if not previously set 685s returns false if previously set 685s #reset 685s does not change the state of an unset event 685s does not trigger an unset event 685s returns true when called on an unset event 685s sets the state of a set event to unset 685s returns true when called on a set event 685s #wait 685s returns immediately when the event has been set 685s returns true once the event is set 685s blocks indefinitely when the timer is nil 685s blocks indefinitely 686s stops waiting when the timer expires 687s returns false when the timer expires 687s triggers multiple waiting threads 687s behaves appropriately if wait begins while #set is processing 687s spurious wake ups 687s should resist to spurious wake ups without timeout 687s should resist spurious wake ups with timeout 688s 688s Concurrent::FiberLocalVar 688s #initialize 688s can set an initial value 688s sets nil as a default initial value 688s sets the same initial value for all fibers 688s can set a block to be called to get the initial value 688s when attempting to set both an initial value and a block 688s is expected to raise ArgumentError 688s #value 688s returns the current value 688s returns the value after modification 688s when using a block to initialize the value 688s calls the block to initialize the value 688s sets the block return value as the current value 688s calls the block to initialize the value for each fiber 688s #value= 688s sets a new value 688s returns the new value 688s does not modify the initial value for other fibers 688s does not modify the value for other fibers 688s 688s Concurrent::FiberLocalVar 688s uses FiberLocalVar if Mutex is per Fiber 688s 688s Concurrent::ReadWriteLock 688s #write_locked? 688s returns true when the write lock is held 688s returns false when the write lock is not held 688s returns false when the write lock is not held but there are readers 688s #has_waiters? 688s returns false when no locks are held 688s returns false when there are readers but no writers 688s returns true when the write lock is held and there are waiting readers 688s returns true when the write lock is held and there are waiting writers 688s #with_read_lock 688s acquires the lock 688s returns the value of the block operation 688s releases the lock 688s raises an exception if no block is given 688s raises an exception if maximum lock limit is exceeded 688s releases the lock when an exception is raised 688s #with_write_lock 688s acquires the lock 688s returns the value of the block operation 688s releases the lock 688s raises an exception if no block is given 688s raises an exception if maximum lock limit is exceeded 688s releases the lock when an exception is raised 688s #acquire_read_lock 688s increments the lock count 688s waits for a running writer to finish 688s does not wait for any running readers 688s raises an exception if maximum lock limit is exceeded 688s returns true if the lock is acquired 688s #release_read_lock 688s decrements the counter 688s unblocks waiting writers 688s returns true if the lock is released 688s returns true if the lock was never set 688s #acquire_write_lock 688s increments the lock count 688s waits for a running writer to finish 688s waits for a running reader to finish 688s raises an exception if maximum lock limit is exceeded 688s returns true if the lock is acquired 688s #release_write_lock 688s decrements the counter 688s unblocks waiting readers 688s unblocks waiting writers 688s returns true if the lock is released 688s returns true if the lock was never set 688s 688s Concurrent::ReentrantReadWriteLock 689s can survive a torture test 689s read lock 689s allows other read locks to be acquired at the same time 689s can be acquired more than once 689s can be acquired while holding a write lock 689s can be upgraded to a write lock 689s can be upgraded to a write lock when read lock acquired more than once 689s cannot be released when not held 689s cannot be released more times than it was taken 689s wakes up waiting writers when the last read lock is released 689s write lock 689s cannot be acquired when another thread holds a write lock 689s cannot be acquired when another thread holds a read lock 689s can be acquired more than once 689s can be acquired while holding a read lock 689s can be downgraded to a read lock 689s cannot be released when not held 689s cannot be released more times than it was taken 689s wakes up waiting readers when the write lock is released 689s wakes up waiting writers when the write lock is released 689s #with_read_lock 689s acquires read block before yielding, then releases it 689s releases read lock if an exception is raised in block 689s #with_write_lock 689s acquires write block before yielding, then releases it 689s releases write lock if an exception is raised in block 689s #try_read_lock 689s returns false immediately if read lock cannot be obtained 689s acquires read lock and returns true if it can do so without blocking 689s can acquire a read lock if a read lock is already held 689s can acquire a read lock if a write lock is already held 689s #try_write_lock 689s returns false immediately if write lock cannot be obtained 689s acquires write lock and returns true if it can do so without blocking 689s can acquire a write lock if a read lock is already held 689s can acquire a write lock if a write lock is already held 689s 689s Concurrent::ReentrantReadWriteLock 689s can acquire locks in separate fibers 689s 689s Concurrent::MutexSemaphore 689s it should behave like semaphore 689s #initialize 689s raises an exception if the initial count is not an integer 689s when initializing with 0 689s is expected not to equal nil 689s when initializing with -1 689s is expected to eq 0 689s #acquire 689s without block 689s permits available 689s should return nil immediately 689s not enough permits available 690s should block thread until permits are available 690s when acquiring negative permits 690s raises ArgumentError 690s with block 690s permits available 690s should acquire permits, run the block, release permits, and return block return value 690s if the block raises, the permit is still released 690s not enough permits available 690s should block thread until permits are available 690s when acquiring negative permits 690s raises ArgumentError 690s #drain_permits 690s drains all available permits 690s drains nothing in no permits are available 690s #try_acquire 690s without block 690s without timeout 690s acquires immediately if permits are available 690s returns false immediately in no permits are available 690s when trying to acquire negative permits 690s is expected to raise ArgumentError 690s with timeout 690s acquires immediately if permits are available 690s acquires when permits are available within timeout 690s returns false on timeout 690s with block 690s without timeout 690s acquires immediately if permits are available and returns block return value 690s releases permit if block raises 690s returns false immediately in no permits are available 690s when trying to acquire negative permits 691s is expected not to change `semaphore.available_permits` 691s with timeout 691s acquires immediately if permits are available, and returns block return value 691s releases permits if block raises 691s acquires when permits are available within timeout, and returns block return value 691s returns false on timeout 691s #reduce_permits 691s raises ArgumentError if reducing by negative number 691s reduces permits below zero 691s reduces permits 691s reduces zero permits 691s #release 691s increases the number of available permits by one 691s when a number of permits is specified 691s increases the number of available permits by the specified value 691s when permits is set to negative number 691s is expected to raise ArgumentError 691s 691s Concurrent::JavaSemaphore 691s it should behave like semaphore 691s #initialize 691s raises an exception if the initial count is not an integer 691s when initializing with 0 691s is expected not to equal nil 691s when initializing with -1 691s is expected to eq 0 691s #acquire 691s without block 691s permits available 691s should return nil immediately 691s not enough permits available 691s should block thread until permits are available 691s when acquiring negative permits 691s raises ArgumentError 691s with block 691s permits available 691s should acquire permits, run the block, release permits, and return block return value 691s if the block raises, the permit is still released 691s not enough permits available 691s should block thread until permits are available 691s when acquiring negative permits 691s raises ArgumentError 691s #drain_permits 691s drains all available permits 691s drains nothing in no permits are available 691s #try_acquire 691s without block 691s without timeout 691s acquires immediately if permits are available 691s returns false immediately in no permits are available 691s when trying to acquire negative permits 691s is expected to raise ArgumentError 691s with timeout 691s acquires immediately if permits are available 692s acquires when permits are available within timeout 692s returns false on timeout 692s with block 692s without timeout 692s acquires immediately if permits are available and returns block return value 692s releases permit if block raises 692s returns false immediately in no permits are available 692s when trying to acquire negative permits 692s is expected not to change `semaphore.available_permits` 692s with timeout 692s acquires immediately if permits are available, and returns block return value 692s releases permits if block raises 692s acquires when permits are available within timeout, and returns block return value 692s returns false on timeout 692s #reduce_permits 692s raises ArgumentError if reducing by negative number 692s reduces permits below zero 692s reduces permits 692s reduces zero permits 692s #release 692s increases the number of available permits by one 692s when a number of permits is specified 692s increases the number of available permits by the specified value 692s when permits is set to negative number 692s is expected to raise ArgumentError 692s 692s Concurrent::Semaphore 692s inherits from JavaSemaphore 692s 692s Concurrent::ThreadLocalVar 692s #initialize 692s can set an initial value 692s sets nil as a default initial value 692s sets the same initial value for all threads 692s can set a block to be called to get the initial value 692s when attempting to set both an initial value and a block 692s is expected to raise ArgumentError 692s #value 692s returns the current value 692s returns the value after modification 692s when using a block to initialize the value 692s calls the block to initialize the value 692s sets the block return value as the current value 692s calls the block to initialize the value for each thread 692s #value= 692s sets a new value 692s returns the new value 692s does not modify the initial value for other threads 692s does not modify the value for other threads 692s 692s Concurrent 692s Cancellation 692s basic 692s is expected to be falsey 692s is expected to be truthy 692s is expected to be falsey 692s is expected to eq 2 692s #join 692s 692s Concurrent::Channel::Buffer::Base 692s is expected to eq 0 692s is expected to be blocking 692s is expected to raise NotImplementedError 692s is expected to raise NotImplementedError 692s is expected to raise NotImplementedError 692s is expected to raise NotImplementedError 692s is expected to raise NotImplementedError 692s is expected to raise NotImplementedError 692s is expected to raise NotImplementedError 692s is expected to raise NotImplementedError 692s is expected not to be closed 692s is expected to be closed 692s 692s Concurrent::Channel::Buffer::Buffered 692s is expected to be blocking 692s behaves like channel_buffered_buffer 692s behaves like channel_buffer 692s is expected to respond to #blocking? 692s #capacity 692s is expected to be >= 0 692s #size 692s returns zero upon initialization 692s #empty? 692s returns true when empty 692s #full? 692s returns false when not full 692s #put 692s does not enqueue the item when closed 692s returns false when closed 692s #offer 692s returns true on success 692s does not enqueue the item when closed 692s returns false immediately when closed 692s #take 692s returns Concurrent::NULL when closed 692s #next 692s returns Concurrent::NULL, false when closed 692s #poll 692s returns the next item immediately if available 692s returns Concurrent::NULL immediately if no item is available 692s returns Concurrent::NULL when closed 692s #close 692s sets #closed? to false 692s returns true when not previously closed 692s returns false when already closed 692s #closed? 692s returns true when new 692s returns false after #close 692s #initialize 692s raises an exception if size <= 0 692s #capacity 692s returns the maximum capacity of the buffer 692s #size 692s is 0 when first created 692s returns the number of items in the buffer 692s is 0 when there are taking threads but no putting threads 692s #empty? 692s returns true when empty 692s #put 692s enqueues the item when size > 0, not full, and not closed 692s returns true when the item is put 692s #offer 692s enqueues the item immediately when not full and not closed 692s #take 692s returns the first item when not empty 693s blocks until not empty 693s returns Concurrent::NULL when closed and empty 693s #next 693s blocks until not empty 693s returns , true when there is only one item and not closed 693s returns , true when there are multiple items 693s returns , true when closed and last item 693s returns Concurrent::NULL, false when closed and no items remain 693s #full? 693s returns true when at max capacity 693s #put 693s blocks when at capacity until a thread is ready to take 693s #offer 693s returns false immediately when full 693s 693s Concurrent::Channel::Buffer::Dropping 693s is expected not to be blocking 693s behaves like channel_buffered_buffer 693s behaves like channel_buffer 693s is expected to respond to #blocking? 693s #capacity 693s is expected to be >= 0 693s #size 693s returns zero upon initialization 693s #empty? 693s returns true when empty 693s #full? 693s returns false when not full 693s #put 693s does not enqueue the item when closed 693s returns false when closed 693s #offer 693s returns true on success 693s does not enqueue the item when closed 693s returns false immediately when closed 693s #take 693s returns Concurrent::NULL when closed 693s #next 693s returns Concurrent::NULL, false when closed 693s #poll 693s returns the next item immediately if available 693s returns Concurrent::NULL immediately if no item is available 693s returns Concurrent::NULL when closed 693s #close 693s sets #closed? to false 693s returns true when not previously closed 693s returns false when already closed 693s #closed? 693s returns true when new 693s returns false after #close 693s #initialize 693s raises an exception if size <= 0 693s #capacity 693s returns the maximum capacity of the buffer 693s #size 693s is 0 when first created 693s returns the number of items in the buffer 694s is 0 when there are taking threads but no putting threads 694s #empty? 694s returns true when empty 694s #put 694s enqueues the item when size > 0, not full, and not closed 694s returns true when the item is put 694s #offer 694s enqueues the item immediately when not full and not closed 694s #take 694s returns the first item when not empty 694s blocks until not empty 694s returns Concurrent::NULL when closed and empty 694s #next 694s blocks until not empty 694s returns , true when there is only one item and not closed 694s returns , true when there are multiple items 694s returns , true when closed and last item 694s returns Concurrent::NULL, false when closed and no items remain 694s #put 694s does not block when full 694s drops the last value when full 694s #offer 694s returns true immediately when full 694s drops the last value when full 694s 694s Concurrent::Channel::Buffer::Sliding 694s is expected not to be blocking 694s behaves like channel_buffered_buffer 694s behaves like channel_buffer 694s is expected to respond to #blocking? 694s #capacity 694s is expected to be >= 0 694s #size 694s returns zero upon initialization 694s #empty? 694s returns true when empty 694s #full? 694s returns false when not full 694s #put 694s does not enqueue the item when closed 694s returns false when closed 694s #offer 694s returns true on success 694s does not enqueue the item when closed 694s returns false immediately when closed 694s #take 694s returns Concurrent::NULL when closed 694s #next 694s returns Concurrent::NULL, false when closed 694s #poll 694s returns the next item immediately if available 694s returns Concurrent::NULL immediately if no item is available 694s returns Concurrent::NULL when closed 694s #close 694s sets #closed? to false 694s returns true when not previously closed 694s returns false when already closed 694s #closed? 694s returns true when new 694s returns false after #close 694s #initialize 694s raises an exception if size <= 0 694s #capacity 694s returns the maximum capacity of the buffer 694s #size 694s is 0 when first created 694s returns the number of items in the buffer 694s is 0 when there are taking threads but no putting threads 694s #empty? 694s returns true when empty 694s #put 694s enqueues the item when size > 0, not full, and not closed 694s returns true when the item is put 694s #offer 694s enqueues the item immediately when not full and not closed 694s #take 694s returns the first item when not empty 694s blocks until not empty 694s returns Concurrent::NULL when closed and empty 694s #next 695s blocks until not empty 695s returns , true when there is only one item and not closed 695s returns , true when there are multiple items 695s returns , true when closed and last item 695s returns Concurrent::NULL, false when closed and no items remain 695s #put 695s does not block when full 695s drops the first value when full 695s #offer 695s returns true immediately when full 695s drops the first value when full 695s 695s Concurrent::Channel::Buffer::Ticker 695s behaves like channel_timing_buffer 695s is expected to be blocking 695s #capacity 695s is expected to eq 1 695s #size 695s is expected to eq 0 695s #empty? 695s is expected not to be empty 695s #full? 695s is expected to be full 695s #put 695s is expected to equal false 695s #offer 695s is expected to equal false 695s #take 695s blocks when the timer is not ready 695s returns a Tick 695s triggers after the specified time interval 695s returns Concurrent::NULL when closed 695s #poll 695s returns Concurrent::NULL when the timer is not ready 695s returns a Tick 695s returns Concurrent::NULL when closed 695s triggers after the specified time interval 695s #next 696s blocks when the timer is not ready 696s returns a Tick when open 696s returns Concurrent::NULL, false when closed 696s triggers after the specified time interval 696s #close 696s sets #closed? to false 696s returns true when not previously closed 696s returns false when already closed 696s #closed? 696s returns true when new 696s returns false after #close 696s #take 696s triggers until closed 696s returns Concurrent::NULL when closed after trigger 696s #poll 697s triggers until closed 697s #next 697s triggers until closed 697s returns true for more while open 697s returns false for more once closed 697s 697s Concurrent::Channel::Buffer::Timer 697s behaves like channel_timing_buffer 697s is expected to be blocking 697s #capacity 697s is expected to eq 1 697s #size 697s is expected to eq 0 697s #empty? 697s is expected not to be empty 697s #full? 697s is expected to be full 697s #put 697s is expected to equal false 697s #offer 697s is expected to equal false 697s #take 697s blocks when the timer is not ready 697s returns a Tick 698s triggers after the specified time interval 698s returns Concurrent::NULL when closed 698s #poll 698s returns Concurrent::NULL when the timer is not ready 698s returns a Tick 698s returns Concurrent::NULL when closed 698s triggers after the specified time interval 698s #next 698s blocks when the timer is not ready 698s returns a Tick when open 698s returns Concurrent::NULL, false when closed 698s triggers after the specified time interval 698s #close 698s sets #closed? to false 698s returns true when not previously closed 698s returns false when already closed 698s #closed? 698s returns true when new 698s returns false after #close 698s #take 698s closes automatically on first take 698s #poll 699s closes automatically on first take 699s #next 699s closes automatically on first take 699s returns false for more 699s 699s Concurrent::Channel::Buffer::Unbuffered 699s is expected to be blocking 699s is expected to eq 1 699s behaves like channel_buffer 699s is expected to respond to #blocking? 699s #capacity 699s is expected to be >= 0 699s #size 699s returns zero upon initialization 699s #empty? 699s returns true when empty 699s #full? 699s returns false when not full 699s #put 699s does not enqueue the item when closed 699s returns false when closed 699s #offer 699s returns true on success 699s does not enqueue the item when closed 699s returns false immediately when closed 699s #take 699s returns Concurrent::NULL when closed 699s #next 699s returns Concurrent::NULL, false when closed 699s #poll 699s returns the next item immediately if available 699s returns Concurrent::NULL immediately if no item is available 699s returns Concurrent::NULL when closed 699s #close 699s sets #closed? to false 699s returns true when not previously closed 699s returns false when already closed 699s #closed? 699s returns true when new 699s returns false after #close 699s #size 699s is 0 when first created 699s is 1 when a putting thread is waiting 700s is 0 when there are taking threads but no putting threads 700s #empty? 700s is true when there are no putting threads 700s is false when there are waiting putting threads 700s #full? 700s is false when there are no putting threads 700s is false when there are waiting putting threads 700s #put 700s does not enqueue the item when closed 700s returns false when closed 700s blocks until a thread is ready to take 700s delivers when closed after put starts 700s #offer 701s returns false immediately when a put in in progress 701s gives the item to a waiting taker and returns true 701s #take 701s returns false immediately when a put in in progress 701s gives the item to a waiting taker and returns true 701s #next 701s blocks when no putting and returns , true when one arrives 702s returns , true when there are multiple putting 702s returns , true when closed and last item 702s returns Concurrent::NULL, false when closed and no items remain 702s 702s channel integration tests 702s A Tour of Go 702s channels.rb 702s buffered-channels.rb 702s range-and-close.rb 703s select.rb 703s default-selection.rb (PENDING: flaky) 703s Go By Example 703s channels.rb 703s channel-buffering.rb 704s channel-synchronization.rb 704s channel-directions.rb 707s select.rb 710s timeouts.rb 710s non-blocking-channel-operations.rb 710s closing-channels.rb 710s range-over-channels.rb 713s timers.rb 714s ticker.rb 718s worker-pools.rb 719s rate-limiting.rb 719s 719s Concurrent::Channel::Tick 719s initializes to current time when no argument given 719s initializes to the given monotonic time 719s #utc returns a Time object in UTC 719s #epoch returns the UTC time as epoch seconds 720s #to_s formats as a time 720s comparison 720s correctly compares to a Numeric (monotonic) 720s correctly compares to a Time 720s correctly compares to a Tick 720s 720s Concurrent::Channel 720s initialization 720s raises an exception when the :buffer is invalid 720s is :unbuffered when neither :buffer nore :capacity is given 720s is :unbuffered when :unbuffered is given 720s is :unbuffered when :buffered and capacity: 0 720s raises an exception when both :unbuffered and :capacity are given 720s is :buffered when :capacity > 0 and no :buffer given 720s is :buffered when :buffered given 720s raises an exception when :buffered given without :capacity 720s raises an exception when :buffered and :capacity < 0 720s is :dropping when :dropping and :capacity > 0 720s raises an exception when :dropping given without :capacity 720s raises an exception when :dropping and :capacity < 1 720s is :sliding when :sliding and :capacity > 0 720s raises an exception when :sliding given without :capacity 720s raises an exception when :sliding and :capacity < 1 720s uses the given buffer 720s factories 720s is expected to receive new(10) 1 time 720s is expected to receive new(10) 1 time 720s #put 720s returns true on success 720s returns false on failure 720s rejects when the validator returns false 720s rejects when the validator raises an exception 720s rejects nil 720s put! 720s returns true on success 720s raises an exception on failure 720s rejects when the validator returns false 720s rejects when the validator raises an exception 720s rejects nil 720s put? 720s returns a just Maybe on success 720s returns a nothing Maybe on failure 720s rejects when the validator returns false 720s rejects when the validator raises an exception 720s accepts nil 720s #offer 720s returns true on success 720s returns false on failure 720s rejects when the validator returns false 720s rejects when the validator raises an exception 720s rejects nil 720s offer! 720s returns true on success 720s raises an exception on failure 720s rejects when the validator returns false 720s rejects when the validator raises an exception 720s rejects nil 720s offer? 720s returns a just Maybe on success 720s returns a nothing Maybe on failure 720s rejects when the validator returns false 720s rejects when the validator raises an exception 720s accepts nil 720s #take 720s takes the next item when not empty 720s returns nil on failure 720s #take! 720s takes the next item when not empty 720s raises an exception on failure 720s #take? 720s returns a just Maybe on success 720s returns a nothing Maybe on failure 720s #next 720s returns , true when there is one item 720s returns , true when there are multiple items 720s returns nil, false when empty and closed 720s returns , true when closed and last item 720s returns nil, false when closed and no items remain 720s #next? 720s returns a just Maybe and true when there is one item 720s returns a just Maybe, true when there are multiple items 720s returns a nothing Maybe and false on failure 720s #poll 720s returns the next item immediately if available 720s returns nil immediately if no item is available 720s returns nil on failure 720s #poll! 720s returns the next item immediately if available 720s raises an exception immediately if no item is available 720s raises an exception on failure 720s #poll? 720s returns a just Maybe immediately if available 720s returns a nothing Maybe immediately if no item is available 720s returns a nothing Maybe on failure 720s .each 720s raises and exception when no block is given 720s iterates until the channel is closed 720s goroutines 720s .go 720s raises an exception when no block is given 720s is expected to receive post(1, 2, 3) 1 time 720s .go_via 720s raises an exception when no block is given 720s is expected to receive post(1, 2, 3) 1 time 720s .go_loop 720s raises an exception when no block is given 720s loops until the block returns false 720s .go_loop_via 720s raises an exception when no block is given 720s loops until the block returns false 720s select 720s raises an exception when no block is given 720s passes a selector to the block 720s is expected to be truthy 720s 720s Concurrent::Collection::CopyOnNotifyObserverSet 720s behaves like an observer set 720s #add_observer 720s with arguments 720s should return the observer 720s with a block 720s should return the observer based on a block 720s #notify_observers 720s should return the observer set 720s with a single observer 720s should update a registered observer without arguments 720s should update a registered observer with arguments 720s should notify an observer using the chosen method 720s should notify an observer once using the last added method 721s should notify an observer from a block 721s can be called many times 721s with many observers 721s should notify all observer using the chosen method 721s with a block 721s calls the block once for every observer 721s passes the block return value to the update method 721s accepts blocks returning a single value 721s accepts block return values that include arrays 721s raises an exception if given both arguments and a block 721s #count_observers 721s should be zero after initialization 721s should be 1 after the first observer is added 721s should be 1 if the same observer is added many times 721s should be equal to the number of unique observers 721s #delete_observer 721s should not notify a deleted observer 721s can delete a non added observer 721s should return the observer 721s #delete_observers 721s should remove all observers 721s should return the observer set 721s #notify_and_delete_observers 721s should notify all observers 721s should clear observers 721s can be called many times without any other notification 721s should return the observer set 721s 721s Concurrent::Collection::CopyOnWriteObserverSet 721s behaves like an observer set 721s #add_observer 721s with arguments 721s should return the observer 721s with a block 721s should return the observer based on a block 721s #notify_observers 721s should return the observer set 721s with a single observer 721s should update a registered observer without arguments 721s should update a registered observer with arguments 721s should notify an observer using the chosen method 721s should notify an observer once using the last added method 721s should notify an observer from a block 721s can be called many times 721s with many observers 721s should notify all observer using the chosen method 721s with a block 721s calls the block once for every observer 721s passes the block return value to the update method 721s accepts blocks returning a single value 721s accepts block return values that include arrays 721s raises an exception if given both arguments and a block 721s #count_observers 721s should be zero after initialization 721s should be 1 after the first observer is added 721s should be 1 if the same observer is added many times 721s should be equal to the number of unique observers 721s #delete_observer 721s should not notify a deleted observer 721s can delete a non added observer 721s should return the observer 721s #delete_observers 721s should remove all observers 721s should return the observer set 721s #notify_and_delete_observers 721s should notify all observers 721s should clear observers 721s can be called many times without any other notification 721s should return the observer set 721s 721s Concurrent::Collection::RubyNonConcurrentPriorityQueue 721s it should behave like priority_queue 721s #initialize 721s sorts from high to low when :order is :max 721s sorts from high to low when :order is :high 721s sorts from low to high when :order is :min 721s sorts from low to high when :order is :low 721s sorts from high to low by default 721s #clear 721s removes all items from a populated queue 721s has no effect on an empty queue 721s is expected to be truthy 721s #delete 721s deletes the requested item when found 721s deletes the requested item when it is the first element 721s deletes the requested item when it is the last element 721s deletes multiple matching items when present 721s returns true when found 721s returns false when not found 721s returns false when called on an empty queue 721s deletes the requested item when it is "smaller" than the last element 721s #empty? 721s returns true for an empty queue 721s returns false for a populated queue 721s #include? 721s returns true if the item is found 721s returns false if the item is not found 721s returns false when the queue is empty 721s is aliased as #has_priority? 721s #length 721s returns the length of a populated queue 721s returns zero when the queue is empty 721s is aliased as #size 721s #peek 721s returns the item at the head of the queue 721s does not remove the item from the queue 721s returns nil when the queue is empty 721s #pop 721s returns the item at the head of the queue 721s removes the item from the queue 721s returns nil when the queue is empty 721s returns nil when called multiple times while empty 721s is aliased as #deq 721s is aliased as #shift 721s #push 721s raises an exception when attempting to enqueue nil 721s adds the item to the queue 721s sorts the new item in priority order 721s arbitrarily orders equal items with respect to each other 721s is expected to be truthy 721s is aliased as << 721s is aliased as enq 721s .from_list 721s creates an empty queue from an empty list 721s creates a sorted, populated queue from an Array 721s creates a sorted, populated queue from a Hash 721s 721s Concurrent::Collection::JavaNonConcurrentPriorityQueue 721s it should behave like priority_queue 721s #initialize 721s sorts from high to low when :order is :max 721s sorts from high to low when :order is :high 721s sorts from low to high when :order is :min 721s sorts from low to high when :order is :low 721s sorts from high to low by default 721s #clear 721s removes all items from a populated queue 721s has no effect on an empty queue 721s is expected to be truthy 721s #delete 721s deletes the requested item when found 721s deletes the requested item when it is the first element 721s deletes the requested item when it is the last element 721s deletes multiple matching items when present 721s returns true when found 721s returns false when not found 721s returns false when called on an empty queue 721s deletes the requested item when it is "smaller" than the last element 721s #empty? 721s returns true for an empty queue 721s returns false for a populated queue 721s #include? 721s returns true if the item is found 721s returns false if the item is not found 721s returns false when the queue is empty 721s is aliased as #has_priority? 721s #length 721s returns the length of a populated queue 721s returns zero when the queue is empty 721s is aliased as #size 721s #peek 721s returns the item at the head of the queue 721s does not remove the item from the queue 721s returns nil when the queue is empty 721s #pop 721s returns the item at the head of the queue 721s removes the item from the queue 721s returns nil when the queue is empty 721s returns nil when called multiple times while empty 721s is aliased as #deq 721s is aliased as #shift 721s #push 721s raises an exception when attempting to enqueue nil 721s adds the item to the queue 721s sorts the new item in priority order 721s arbitrarily orders equal items with respect to each other 721s is expected to be truthy 721s is aliased as << 721s is aliased as enq 721s .from_list 721s creates an empty queue from an empty list 721s creates a sorted, populated queue from an Array 721s creates a sorted, populated queue from a Hash 721s 721s Concurrent::Collection::NonConcurrentPriorityQueue 721s inherits from JavaNonConcurrentPriorityQueue 721s 721s Concurrent::Concern::Obligation 721s unscheduled 721s it should behave like incomplete 721s should be not completed 721s should be incomplete 721s #value 721s should return immediately if timeout is zero 721s should block on the event if timeout is not set 721s should block on the event if timeout is not zero 721s #value! 721s should return immediately if timeout is zero 721s should block on the event if timeout is not set 721s should block on the event if timeout is not zero 721s #no_error! 721s should return immediately if timeout is zero 721s should block on the event if timeout is not set 721s should block on the event if timeout is not zero 721s pending 721s it should behave like incomplete 721s should be not completed 721s should be incomplete 721s #value 721s should return immediately if timeout is zero 721s should block on the event if timeout is not set 721s should block on the event if timeout is not zero 721s #value! 721s should return immediately if timeout is zero 721s should block on the event if timeout is not set 721s should block on the event if timeout is not zero 721s #no_error! 721s should return immediately if timeout is zero 721s should block on the event if timeout is not set 721s should block on the event if timeout is not zero 721s fulfilled 721s should be completed 721s should be not incomplete 721s #value 721s should return immediately if timeout is zero 721s should return immediately if timeout is not set 721s should return immediately if timeout is not zero 721s #value! 721s should return immediately if timeout is zero 721s should return immediately if timeout is not set 721s should return immediately if timeout is not zero 721s #no_error! 721s should return immediately if timeout is zero 721s should return immediately if timeout is not set 722s should return immediately if timeout is not zero 722s rejected 722s should be completed 722s should be not incomplete 722s #value 722s should return immediately if timeout is zero 722s should return immediately if timeout is not set 722s should return immediately if timeout is not zero 722s #value! 722s should return immediately if timeout is zero 722s should return immediately if timeout is not set 722s should return immediately if timeout is not zero 722s #no_error! 722s should return immediately if timeout is zero 722s should return immediately if timeout is not set 722s should return immediately if timeout is not zero 722s #compare_and_set_state 722s unexpected state 722s should return false if state is not the expected one 722s should not change the state if current is not the expected one 722s expected state 722s should return true if state is the expected one 722s should not change the state if current is not the expected one 722s #if_state 722s should raise without block 722s should return false if state is not expected 722s should the block value if state is expected 722s should execute the block within the mutex 722s #get_arguments_from 722s returns an empty array when opts is not given 722s returns an empty array when opts is an empty hash 722s returns an empty array when there is no :args key 722s returns an empty array when the :args key has a nil value 722s returns a one-element array when the :args key has a non-array value 722s returns an array when when the :args key has an array value 722s returns the given array when the :args key has a complex array value 722s 722s Concurrent::Concern::Observable 722s does not initialize set by by default 722s uses the given observer set 722s delegates #add_observer 722s delegates #with_observer 722s delegates #delete_observer 722s delegates #delete_observers 722s delegates #count_observers 722s 722s configuration 722s global executors 722s creates a global timer set 722s creates a global fast executor 722s creates a global io executor 722s 722s dataflow 722s raises an exception when no block given 722s #dataflow uses the global fast executor 722s #dataflow_with uses the given executor 722s #dataflow_with raises an exception when no executor given 722s accepts zero or more dependencies 722s accepts uncompleted dependencies 722s accepts completed dependencies 722s raises an exception if any dependencies are not IVars 722s doesn't raise exceptions from dependencies, unless called with ! 722s returns a Future 722s does not schedule the Future 722s if no dependencies are completed 722s if one dependency of two is completed 722s schedules the Future when all dependencies are available 722s if there is just one 722s if there is more than one 722s counts already executed dependencies 722s if there is just one 722s if there is more than one 722s passes the values of dependencies into the block 722s if there is just one 722s if there is more than one 722s module function 722s can be called as Concurrent.dataflow and Concurrent.dataflow_with 722s 722s Concurrent::Delay 722s behavior 722s it should behave like dereferenceable 722s defaults :dup_on_deref to false 722s calls #dup when the :dup_on_deref option is true 722s defaults :freeze_on_deref to false 722s calls #freeze when the :freeze_on_deref option is true 722s defaults :copy_on_deref to nil 722s calls the block when the :copy_on_deref option is passed a proc 722s calls the :copy block first followed by #dup followed by #freeze 722s does not call #dup when #dup_on_deref is set and the value is nil 722s does not call #freeze when #freeze_on_deref is set and the value is nil 722s does not call the #copy_on_deref block when the value is nil 722s supports dereference flags with observers 722s it should behave like obligation 722s #state 722s is :pending when first created 722s is :fulfilled when the handler completes 722s is :rejected when the handler raises an exception 722s #value 722s returns nil when reaching the optional timeout value 722s returns immediately when timeout is zero 722s returns the value when fulfilled before timeout 722s returns nil when timeout reached 722s is nil when :pending 722s blocks the caller when :pending and timeout is nil 722s is nil when :rejected 722s is set to the return value of the block when :fulfilled 722s #reason 722s is nil when :pending 722s is nil when :fulfilled 722s is set to error object of the exception when :rejected 722s #initialize 722s sets the state to :pending 722s raises an exception when no block given 722s #reconfigure 722s returns value of block used in reconfiguration 722s returns false when process completed? 722s #value 722s does not call the block before #value is called 722s calls the block when #value is called 722s only calls the block once no matter how often #value is called 722s raises when called recursively 722s can be called twice 722s 722s Concurrent 722s Promises::Channel 722s #capacity 722s #to_s 722s #(try_)push(_op) 722s #(try_)pop(_op) 722s #(try_)pop(_op)_matching 722s #(try_)select(_op) 722s exchanging 722s integration 722s 722s Concurrent 722s ErlangActor 722s on thread 723s is expected to eq [:bad_message, -1] 723s behaves like erlang actor 723s run to termination 723s run to termination with arguments 723s #receive 723s pid has name 723s receives message 723s receives message with matchers 723s spawn(link: true) 723s termination 723s monitoring 723s (de)monitor 723s demonitor 723s demonitor should leave the down message in the inbox if it's already there 723s notifications 1 723s notifications 2 723s linking 723s links 723s unlinks 723s link dead 723s link dead when trapping 723s exit/1 when linked 723s 1 723s 2 723s 3 723s 4 723s 5 723s 6 723s 7 723s 8 723s 9 723s exit/2 when linked 723s 1 723s 2 723s 3 723s 4 723s 5 723s 6 723s 7 723s 8 723s 9 723s 10 723s 11 723s 12 723s 13 723s asking 723s replies 723s timing out (PENDING: flaky on truffleruby and jruby) 723s rejects on no reply 723s on pool 723s receives message repeatedly with keep 723s class defined 723s behaves like erlang actor 723s run to termination 723s run to termination with arguments 724s #receive 724s pid has name 724s receives message 724s receives message with matchers 724s spawn(link: true) 724s termination 724s monitoring 724s (de)monitor 724s demonitor 724s demonitor should leave the down message in the inbox if it's already there 724s notifications 1 724s notifications 2 724s linking 724s links 724s unlinks 724s link dead 724s link dead when trapping 724s exit/1 when linked 724s 1 724s 2 724s 3 724s 4 724s 5 724s 6 724s 7 724s 8 724s 9 724s exit/2 when linked 724s 1 724s 2 724s 3 724s 4 724s 5 724s 6 724s 7 724s 8 724s 9 724s 10 724s 11 724s 12 724s 13 724s asking 724s replies 724s timing out (PENDING: flaky on truffleruby and jruby) 724s rejects on no reply 724s 724s Concurrent::Edge::LockFreeLinkedSet 724s .new 724s when passed default val 724s uses the val arg as data for each node 724s #add 724s appends to the linked set 724s in a multi-threaded environment 724s adds the items to the set 724s #<< 724s appends to the linked set and returns self 724s returns self regardless of whether it was logically added 724s #contains? 724s when checking if set includes a value 724s returns true if a value exists 724s compares object using Object#hash 724s returns false for values not in the set 724s when set is empty 724s does not break 724s when set is long 725s does not break 725s in a multi-threaded environment 725s correctly check that the set contains the item 725s #remove 725s when item is inside of set 725s the item is no longer visible to the user 725s allows for the item to be added despite being physically present 725s in a multi-threaded environment 725s adds the items to the set 725s does not recognize the existence of the item when removed 725s when item is not inside of set 725s does not remove to value 725s the set remains intact 725s when the set is empty 725s remove does not break 725s when the set is large 726s remove successfully removes the node 726s 726s Concurrent::RubyExchanger 726s behaves like exchanger 726s #exchange 726s behaves like exchanger method with indefinite timeout 726s blocks indefinitely 726s receives the other value 726s can be reused 726s behaves like exchanger method with finite timeout 726s blocks until timeout 726s receives the other value 726s can be reused 726s behaves like exchanger method cross-thread interactions 726s when first, waits for a second 726s allows multiple firsts to cancel if necessary 726s #exchange! 726s behaves like exchanger method with indefinite timeout 726s blocks indefinitely 726s receives the other value 726s can be reused 726s behaves like exchanger method with finite timeout 726s blocks until timeout 726s receives the other value 726s can be reused 726s behaves like exchanger method cross-thread interactions 727s when first, waits for a second 727s allows multiple firsts to cancel if necessary 727s #try_exchange 727s behaves like exchanger method with indefinite timeout 727s blocks indefinitely 727s receives the other value 727s can be reused 727s behaves like exchanger method with finite timeout 727s blocks until timeout 727s receives the other value 727s can be reused 727s behaves like exchanger method cross-thread interactions 727s when first, waits for a second 728s allows multiple firsts to cancel if necessary 728s 728s Concurrent::JavaExchanger 728s behaves like exchanger 728s #exchange 728s behaves like exchanger method with indefinite timeout 728s blocks indefinitely 728s receives the other value 728s can be reused 728s behaves like exchanger method with finite timeout 728s blocks until timeout 728s receives the other value 728s can be reused 728s behaves like exchanger method cross-thread interactions 728s when first, waits for a second 728s allows multiple firsts to cancel if necessary 728s #exchange! 728s behaves like exchanger method with indefinite timeout 728s blocks indefinitely 728s receives the other value 728s can be reused 728s behaves like exchanger method with finite timeout 728s blocks until timeout 728s receives the other value 728s can be reused 728s behaves like exchanger method cross-thread interactions 729s when first, waits for a second 729s allows multiple firsts to cancel if necessary 729s #try_exchange 729s behaves like exchanger method with indefinite timeout 729s blocks indefinitely 729s receives the other value 729s can be reused 729s behaves like exchanger method with finite timeout 729s blocks until timeout 729s receives the other value 729s can be reused 729s behaves like exchanger method cross-thread interactions 729s when first, waits for a second 730s allows multiple firsts to cancel if necessary 730s 730s Concurrent::Exchanger 730s class hierarchy 730s inherits from JavaExchanger 730s 730s Concurrent::CachedThreadPool 730s it should behave like thread_pool 730s it should behave like executor_service 730s it should behave like global_thread_pool 730s #post 730s raises an exception if no block is given 730s returns true when the block is added to the queue 730s calls the block with the given arguments 730s aliases #<< 730s #post 731s rejects the block while shutting down 731s rejects the block once shutdown 731s auto terminate 737s does not stop shutdown 737s #running? 737s returns true when the thread pool is running 737s returns false when the thread pool is shutting down 737s returns false when the thread pool is shutdown 737s returns false when the thread pool is killed 737s #shuttingdown? 737s returns false when the thread pool is running 738s returns true when the thread pool is shutting down 738s returns false when the thread pool is shutdown 738s #shutdown? 738s returns false when the thread pool is running 738s returns false when the thread pool is shutting down 738s returns true when the thread pool is shutdown 738s #shutdown 738s stops accepting new tasks 739s allows in-progress tasks to complete 739s allows pending tasks to complete 739s #shutdown followed by #wait_for_termination 739s allows in-progress tasks to complete 739s allows pending tasks to complete 739s stops accepting/running new tasks 739s #kill 739s stops accepting new tasks 739s rejects all pending tasks 739s #wait_for_termination 739s immediately returns true when no operations are pending 740s returns true after shutdown has complete 740s returns true when shutdown successfully completes before timeout 740s returns false when shutdown fails to complete before timeout 741s waits forever when no timeout value is given 741s #auto_terminate? 741s returns true by default 741s returns true when :enable_at_exit_handler is true 741s returns false when :enable_at_exit_handler is false 741s #length 741s returns zero on creation 741s returns zero once shut down 741s #scheduled_task_count 741s returns zero on creation 741s returns the approximate number of tasks that have been post thus far 741s returns the approximate number of tasks that were post 741s #completed_task_count 741s returns zero on creation 741s returns the approximate number of tasks that have been completed thus far 741s #shutdown 742s allows threads to exit normally 742s #initialize 742s sets :max_length to DEFAULT_MAX_POOL_SIZE 742s sets :min_length to DEFAULT_MIN_POOL_SIZE 742s sets :idletime to DEFAULT_THREAD_IDLETIMEOUT 742s sets :max_queue to DEFAULT_MAX_QUEUE_SIZE 742s #min_length 742s returns zero on creation 742s returns zero while running 742s returns zero once shutdown 742s #max_length 742s returns :max_length on creation 742s returns :max_length while running 742s returns :max_length once shutdown 742s #largest_length 742s returns zero on creation 742s returns a non-zero number once tasks have been received 742s returns a non-zero number after shutdown if tasks have been received 742s #idletime 742s returns the thread idletime 742s runtime-specific implementation 742s #initialize 742s sets :fallback_policy correctly 742s defaults :fallback_policy to :abort 742s raises an exception if given an invalid :fallback_policy 742s stress 743s is expected to be <= 200 743s is expected to be <= 4 743s 743s Concurrent::FixedThreadPool 743s it should behave like thread_pool 743s it should behave like executor_service 743s it should behave like global_thread_pool 743s #post 743s raises an exception if no block is given 743s returns true when the block is added to the queue 743s calls the block with the given arguments 743s aliases #<< 743s #post 744s rejects the block while shutting down 744s rejects the block once shutdown 744s auto terminate 750s does not stop shutdown 750s #running? 750s returns true when the thread pool is running 750s returns false when the thread pool is shutting down 750s returns false when the thread pool is shutdown 750s returns false when the thread pool is killed 750s #shuttingdown? 750s returns false when the thread pool is running 751s returns true when the thread pool is shutting down 751s returns false when the thread pool is shutdown 751s #shutdown? 751s returns false when the thread pool is running 751s returns false when the thread pool is shutting down 751s returns true when the thread pool is shutdown 751s #shutdown 752s stops accepting new tasks 752s allows in-progress tasks to complete 752s allows pending tasks to complete 752s #shutdown followed by #wait_for_termination 752s allows in-progress tasks to complete 752s allows pending tasks to complete 752s stops accepting/running new tasks 752s #kill 753s stops accepting new tasks 753s rejects all pending tasks 753s #wait_for_termination 753s immediately returns true when no operations are pending 753s returns true after shutdown has complete 753s returns true when shutdown successfully completes before timeout 754s returns false when shutdown fails to complete before timeout 754s waits forever when no timeout value is given 754s #auto_terminate? 754s returns true by default 754s returns true when :enable_at_exit_handler is true 754s returns false when :enable_at_exit_handler is false 754s #length 754s returns zero on creation 754s returns zero once shut down 754s #scheduled_task_count 754s returns zero on creation 754s returns the approximate number of tasks that have been post thus far 754s returns the approximate number of tasks that were post 754s #completed_task_count 754s returns zero on creation 754s returns the approximate number of tasks that have been completed thus far 754s #shutdown 755s allows threads to exit normally 755s #initialize default values 755s defaults :min_length correctly 755s defaults :max_length correctly 755s defaults :fallback_policy to :abort 755s defaults :idletime correctly 755s defaults default :max_queue to zero 755s #initialize explicit values 755s raises an exception when the pool length is less than one 755s sets explicit :max_queue correctly 755s correctly sets valid :fallback_policy 755s correctly sets valid :idletime 755s raises an exception if given an invalid :fallback_policy 755s #min_length 755s returns :num_threads on creation 755s returns :num_threads while running 755s returns :num_threads once shutdown 755s #max_length 755s returns :num_threads on creation 755s returns :num_threads while running 755s returns :num_threads once shutdown 755s #length 755s returns :num_threads while running 755s #largest_length 755s returns zero on creation 755s returns :num_threads while running 755s returns :num_threads once shutdown 755s #kill 756s attempts to kill all in-progress tasks 756s worker creation and caching 756s never creates more than :num_threads threads 756s fallback policy 756s raises an error when overflow on abort 757s discards when fallback_policy is :discard 757s uses the calling thread for overflow under caller_runs 757s runtime-specific implementation 757s sets :fallback_policy correctly 757s 757s Concurrent::ImmediateExecutor 757s it should behave like executor_service 757s it should behave like global_thread_pool 757s #post 757s raises an exception if no block is given 757s returns true when the block is added to the queue 757s calls the block with the given arguments 757s aliases #<< 757s #post 758s rejects the block while shutting down 758s rejects the block once shutdown 758s auto terminate 764s does not stop shutdown 764s #running? 764s returns true when the thread pool is running 765s returns false when the thread pool is shutting down 765s returns false when the thread pool is shutdown 765s returns false when the thread pool is killed 765s #shuttingdown? 765s returns false when the thread pool is running 765s returns true when the thread pool is shutting down (PENDING: will never be in shuttingdown? state) 765s returns false when the thread pool is shutdown 765s #shutdown? 765s returns false when the thread pool is running 765s returns false when the thread pool is shutting down (PENDING: will never be in shuttingdown? state) 765s returns true when the thread pool is shutdown 765s #shutdown 765s stops accepting new tasks 765s allows in-progress tasks to complete 765s allows pending tasks to complete 765s #shutdown followed by #wait_for_termination 766s allows in-progress tasks to complete 766s allows pending tasks to complete 766s stops accepting/running new tasks 766s #kill 767s stops accepting new tasks 768s rejects all pending tasks 768s #wait_for_termination 768s immediately returns true when no operations are pending 768s returns true after shutdown has complete 768s returns true when shutdown successfully completes before timeout 768s returns false when shutdown fails to complete before timeout 769s waits forever when no timeout value is given 769s 769s Concurrent::IndirectImmediateExecutor 769s runs its tasks synchronously 769s runs the task on a separate thread 769s it should behave like executor_service 769s it should behave like global_thread_pool 769s #post 769s raises an exception if no block is given 769s returns true when the block is added to the queue 769s calls the block with the given arguments 769s aliases #<< 769s #post 770s rejects the block while shutting down 770s rejects the block once shutdown 770s auto terminate 776s does not stop shutdown 776s #running? 776s returns true when the thread pool is running 776s returns false when the thread pool is shutting down 776s returns false when the thread pool is shutdown 776s returns false when the thread pool is killed 776s #shuttingdown? 776s returns false when the thread pool is running 776s returns true when the thread pool is shutting down (PENDING: will never be in shuttingdown? state) 776s returns false when the thread pool is shutdown 776s #shutdown? 776s returns false when the thread pool is running 776s returns false when the thread pool is shutting down (PENDING: will never be in shuttingdown? state) 776s returns true when the thread pool is shutdown 776s #shutdown 777s stops accepting new tasks 777s allows in-progress tasks to complete 777s allows pending tasks to complete 777s #shutdown followed by #wait_for_termination 777s allows in-progress tasks to complete 778s allows pending tasks to complete 778s stops accepting/running new tasks 778s #kill 778s stops accepting new tasks 779s rejects all pending tasks 779s #wait_for_termination 779s immediately returns true when no operations are pending 779s returns true after shutdown has complete 780s returns true when shutdown successfully completes before timeout 780s returns false when shutdown fails to complete before timeout 781s waits forever when no timeout value is given 781s 781s Concurrent::JavaSingleThreadExecutor 781s it should behave like executor_service 781s it should behave like global_thread_pool 781s #post 781s raises an exception if no block is given 781s returns true when the block is added to the queue 781s calls the block with the given arguments 781s aliases #<< 781s #post 782s rejects the block while shutting down 782s rejects the block once shutdown 782s auto terminate 787s does not stop shutdown 787s #running? 787s returns true when the thread pool is running 788s returns false when the thread pool is shutting down 788s returns false when the thread pool is shutdown 788s returns false when the thread pool is killed 788s #shuttingdown? 788s returns false when the thread pool is running 788s returns true when the thread pool is shutting down 788s returns false when the thread pool is shutdown 788s #shutdown? 788s returns false when the thread pool is running 789s returns false when the thread pool is shutting down 789s returns true when the thread pool is shutdown 789s #shutdown 789s stops accepting new tasks 789s allows in-progress tasks to complete 790s allows pending tasks to complete 790s #shutdown followed by #wait_for_termination 790s allows in-progress tasks to complete 790s allows pending tasks to complete 791s stops accepting/running new tasks 791s #kill 791s stops accepting new tasks 791s rejects all pending tasks 791s #wait_for_termination 791s immediately returns true when no operations are pending 791s returns true after shutdown has complete 792s returns true when shutdown successfully completes before timeout 792s returns false when shutdown fails to complete before timeout 792s waits forever when no timeout value is given 792s 792s Concurrent::JavaThreadPoolExecutor 792s it should behave like thread_pool 792s it should behave like executor_service 792s it should behave like global_thread_pool 792s #post 792s raises an exception if no block is given 792s returns true when the block is added to the queue 792s calls the block with the given arguments 792s aliases #<< 792s #post 793s rejects the block while shutting down 793s rejects the block once shutdown 793s auto terminate 799s does not stop shutdown 799s #running? 799s returns true when the thread pool is running 799s returns false when the thread pool is shutting down 799s returns false when the thread pool is shutdown 799s returns false when the thread pool is killed 799s #shuttingdown? 799s returns false when the thread pool is running 800s returns true when the thread pool is shutting down 800s returns false when the thread pool is shutdown 800s #shutdown? 800s returns false when the thread pool is running 800s returns false when the thread pool is shutting down 800s returns true when the thread pool is shutdown 800s #shutdown 800s stops accepting new tasks 801s allows in-progress tasks to complete 801s allows pending tasks to complete 801s #shutdown followed by #wait_for_termination 801s allows in-progress tasks to complete 801s allows pending tasks to complete 801s stops accepting/running new tasks 801s #kill 802s stops accepting new tasks 802s rejects all pending tasks 802s #wait_for_termination 802s immediately returns true when no operations are pending 802s returns true after shutdown has complete 802s returns true when shutdown successfully completes before timeout 803s returns false when shutdown fails to complete before timeout 803s waits forever when no timeout value is given 803s #auto_terminate? 803s returns true by default 803s returns true when :enable_at_exit_handler is true 803s returns false when :enable_at_exit_handler is false 803s #length 803s returns zero on creation 803s returns zero once shut down 803s #scheduled_task_count 803s returns zero on creation 803s returns the approximate number of tasks that have been post thus far 803s returns the approximate number of tasks that were post 803s #completed_task_count 803s returns zero on creation 803s returns the approximate number of tasks that have been completed thus far 803s #shutdown 804s allows threads to exit normally 804s it should behave like thread_pool_executor 804s #initialize defaults 804s defaults :min_length to DEFAULT_MIN_POOL_SIZE 804s defaults :max_length to DEFAULT_MAX_POOL_SIZE 804s defaults :idletime to DEFAULT_THREAD_IDLETIMEOUT 804s defaults :max_queue to DEFAULT_MAX_QUEUE_SIZE 804s defaults :fallback_policy to :abort 804s defaults :name to nil 804s #initialize explicit values 804s sets :min_threads 804s sets :max_threads 804s sets :idletime 804s doesn't allow max_threads < min_threads 804s accepts all valid fallback policies 804s raises an exception if :max_threads is less than zero 804s raises an exception if :min_threads is less than zero 804s raises an exception if :max_threads greater than the max allowable 804s raises an exception if :max_threads is less than :min_threads 804s raises an exception if given an invalid :fallback_policy 804s sets :name 804s #max_queue 804s returns the set value on creation 804s returns the set value when running 804s returns the set value after stopping 804s #synchronous 804s cannot be set unless `max_queue` is zero 804s executes fallback policy once max_threads has been reached 804s #queue_length 805s returns zero on creation 805s returns zero when there are no enqueued tasks 805s returns the size of the queue when tasks are enqueued 805s returns zero when stopped 805s can never be greater than :max_queue 805s #remaining_capacity 805s returns -1 when :max_queue is set to zero 805s returns :max_length on creation 805s returns :max_length when stopped 805s #active_count 805s returns the number of threads that are actively executing tasks. 805s #fallback_policy 805s :abort 805s #post raises an error when the queue is at capacity 805s #<< raises an error when the queue is at capacity 805s #post raises an error when the executor is shutting down 805s #<< raises an error when the executor is shutting down 805s a #post task is never executed when the queue is at capacity 805s a #<< task is never executed when the queue is at capacity 805s :discard 805s a #post task is never executed when the queue is at capacity 805s a #<< task is never executed when the queue is at capacity 805s a #post task is never executed when the executor is shutting down 805s a #<< task is never executed when the executor is shutting down 805s #post returns false when the executor is shutting down 805s :caller_runs 805s #post does not create any new threads when the queue is at capacity 805s native console only tested on i386, x86_64, powerpc64, aarch64, s390x 805s #<< executes the task on the current thread when the queue is at capacity 805s #post executes the task on the current thread when the queue is at capacity 805s #post executes the task on the current thread when the executor is shutting down 805s #<< executes the task on the current thread when the executor is shutting down 805s #post does not block other jobs running on the worker threads 805s #overload_policy 805s :abort maps to AbortPolicy 805s :discard maps to DiscardPolicy 805s :caller_runs maps to CallerRunsPolicy 805s 805s Concurrent::RubySingleThreadExecutor 805s it should behave like executor_service 805s it should behave like global_thread_pool 805s #post 805s raises an exception if no block is given 805s returns true when the block is added to the queue 805s calls the block with the given arguments 805s aliases #<< 805s #post 806s rejects the block while shutting down 806s rejects the block once shutdown 806s auto terminate 815s does not stop shutdown 815s #running? 815s returns true when the thread pool is running 815s returns false when the thread pool is shutting down 815s returns false when the thread pool is shutdown 815s returns false when the thread pool is killed 815s #shuttingdown? 815s returns false when the thread pool is running 816s returns true when the thread pool is shutting down 816s returns false when the thread pool is shutdown 816s #shutdown? 816s returns false when the thread pool is running 816s returns false when the thread pool is shutting down 816s returns true when the thread pool is shutdown 816s #shutdown 817s stops accepting new tasks 817s allows in-progress tasks to complete 817s allows pending tasks to complete 817s #shutdown followed by #wait_for_termination 817s allows in-progress tasks to complete 818s allows pending tasks to complete 818s stops accepting/running new tasks 818s #kill 818s stops accepting new tasks 818s rejects all pending tasks 818s #wait_for_termination 818s immediately returns true when no operations are pending 818s returns true after shutdown has complete 819s returns true when shutdown successfully completes before timeout 819s returns false when shutdown fails to complete before timeout 819s waits forever when no timeout value is given 819s 819s Concurrent::RubyThreadPoolExecutor 819s it should behave like thread_pool 819s it should behave like executor_service 819s it should behave like global_thread_pool 819s #post 819s raises an exception if no block is given 819s returns true when the block is added to the queue 819s calls the block with the given arguments 820s aliases #<< 820s #post 821s rejects the block while shutting down 821s rejects the block once shutdown 821s auto terminate 826s does not stop shutdown 826s #running? 826s returns true when the thread pool is running 827s returns false when the thread pool is shutting down 827s returns false when the thread pool is shutdown 827s returns false when the thread pool is killed 827s #shuttingdown? 827s returns false when the thread pool is running 827s returns true when the thread pool is shutting down 827s returns false when the thread pool is shutdown 827s #shutdown? 827s returns false when the thread pool is running 828s returns false when the thread pool is shutting down 828s returns true when the thread pool is shutdown 828s #shutdown 828s stops accepting new tasks 828s allows in-progress tasks to complete 828s allows pending tasks to complete 828s #shutdown followed by #wait_for_termination 828s allows in-progress tasks to complete 829s allows pending tasks to complete 829s stops accepting/running new tasks 829s #kill 829s stops accepting new tasks 829s rejects all pending tasks 829s #wait_for_termination 829s immediately returns true when no operations are pending 829s returns true after shutdown has complete 830s returns true when shutdown successfully completes before timeout 830s returns false when shutdown fails to complete before timeout 830s waits forever when no timeout value is given 830s #auto_terminate? 830s returns true by default 830s returns true when :enable_at_exit_handler is true 830s returns false when :enable_at_exit_handler is false 830s #length 830s returns zero on creation 831s returns zero once shut down 831s #scheduled_task_count 831s returns zero on creation 831s returns the approximate number of tasks that have been post thus far 831s returns the approximate number of tasks that were post 831s #completed_task_count 831s returns zero on creation 831s returns the approximate number of tasks that have been completed thus far 831s #shutdown 832s allows threads to exit normally 832s it should behave like thread_pool_executor 832s #initialize defaults 832s defaults :min_length to DEFAULT_MIN_POOL_SIZE 832s defaults :max_length to DEFAULT_MAX_POOL_SIZE 832s defaults :idletime to DEFAULT_THREAD_IDLETIMEOUT 832s defaults :max_queue to DEFAULT_MAX_QUEUE_SIZE 832s defaults :fallback_policy to :abort 832s defaults :name to nil 832s #initialize explicit values 832s sets :min_threads 832s sets :max_threads 832s sets :idletime 832s doesn't allow max_threads < min_threads 832s accepts all valid fallback policies 832s raises an exception if :max_threads is less than zero 832s raises an exception if :min_threads is less than zero 832s raises an exception if :max_threads greater than the max allowable 832s raises an exception if :max_threads is less than :min_threads 832s raises an exception if given an invalid :fallback_policy 832s sets :name 832s #max_queue 832s returns the set value on creation 832s returns the set value when running 832s returns the set value after stopping 832s #synchronous 832s cannot be set unless `max_queue` is zero 832s executes fallback policy once max_threads has been reached 832s #queue_length 832s returns zero on creation 832s returns zero when there are no enqueued tasks 832s returns the size of the queue when tasks are enqueued 832s returns zero when stopped 832s can never be greater than :max_queue 832s #remaining_capacity 832s returns -1 when :max_queue is set to zero 832s returns :max_length on creation 832s returns :max_length when stopped 832s #active_count 832s returns the number of threads that are actively executing tasks. 832s #fallback_policy 832s :abort 832s #post raises an error when the queue is at capacity 832s #<< raises an error when the queue is at capacity 832s #post raises an error when the executor is shutting down 832s #<< raises an error when the executor is shutting down 832s a #post task is never executed when the queue is at capacity 832s a #<< task is never executed when the queue is at capacity 832s :discard 832s a #post task is never executed when the queue is at capacity 832s a #<< task is never executed when the queue is at capacity 832s a #post task is never executed when the executor is shutting down 832s a #<< task is never executed when the executor is shutting down 832s #post returns false when the executor is shutting down 832s :caller_runs 832s #post does not create any new threads when the queue is at capacity 833s #<< executes the task on the current thread when the queue is at capacity 833s #post executes the task on the current thread when the queue is at capacity 833s #post executes the task on the current thread when the executor is shutting down 833s #<< executes the task on the current thread when the executor is shutting down 833s #post does not block other jobs running on the worker threads 833s #remaining_capacity 833s returns :max_length when no tasks are enqueued 833s returns the remaining capacity when tasks are enqueued 833s threads naming 833s without pool name 833s sets counted name 833s with pool name 833s sets counted name 833s 833s Concurrent::SafeTaskExecutor 833s #execute 833s happy execution 833s should return success 833s should return task value 833s should return a nil reason 833s passes all arguments to #execute to the task 833s protects #execute with a mutex 833s failing execution 833s should return false success 833s should return a nil value 833s should return the reason 833s rescues Exception when :rescue_exception is true 833s rescues StandardError when :rescue_exception is false 833s rescues StandardError by default 833s 833s Concurrent::SerializedExecutionDelegator 833s it should behave like executor_service 833s it should behave like global_thread_pool 833s #post 833s raises an exception if no block is given 833s returns true when the block is added to the queue 833s calls the block with the given arguments 833s aliases #<< 833s #post 834s rejects the block while shutting down 834s rejects the block once shutdown 834s auto terminate 841s does not stop shutdown 841s #running? 841s returns true when the thread pool is running 841s returns false when the thread pool is shutting down 841s returns false when the thread pool is shutdown 841s returns false when the thread pool is killed 841s #shuttingdown? 841s returns false when the thread pool is running 841s returns true when the thread pool is shutting down (PENDING: will never be in shuttingdown? state) 841s returns false when the thread pool is shutdown 841s #shutdown? 841s returns false when the thread pool is running 841s returns false when the thread pool is shutting down (PENDING: will never be in shuttingdown? state) 841s returns true when the thread pool is shutdown 841s #shutdown 841s stops accepting new tasks 842s allows in-progress tasks to complete 842s allows pending tasks to complete 842s #shutdown followed by #wait_for_termination 842s allows in-progress tasks to complete 843s allows pending tasks to complete 843s stops accepting/running new tasks 843s #kill 843s stops accepting new tasks 844s rejects all pending tasks 844s #wait_for_termination 844s immediately returns true when no operations are pending 844s returns true after shutdown has complete 845s returns true when shutdown successfully completes before timeout 845s returns false when shutdown fails to complete before timeout 845s waits forever when no timeout value is given 845s 845s Concurrent::SimpleExecutorService 845s it should behave like executor_service 845s it should behave like global_thread_pool 845s #post 845s raises an exception if no block is given 845s returns true when the block is added to the queue 845s calls the block with the given arguments 845s aliases #<< 846s #post 846s rejects the block while shutting down 847s rejects the block once shutdown 847s auto terminate 853s does not stop shutdown 853s #running? 853s returns true when the thread pool is running 853s returns false when the thread pool is shutting down 853s returns false when the thread pool is shutdown 853s returns false when the thread pool is killed 853s #shuttingdown? 853s returns false when the thread pool is running 854s returns true when the thread pool is shutting down 854s returns false when the thread pool is shutdown 854s #shutdown? 854s returns false when the thread pool is running 855s returns false when the thread pool is shutting down 855s returns true when the thread pool is shutdown 855s #shutdown 855s stops accepting new tasks 855s allows in-progress tasks to complete 855s allows pending tasks to complete 855s #shutdown followed by #wait_for_termination 855s allows in-progress tasks to complete 855s allows pending tasks to complete 855s stops accepting/running new tasks 855s #kill 856s stops accepting new tasks 856s rejects all pending tasks 856s #wait_for_termination 856s immediately returns true when no operations are pending 856s returns true after shutdown has complete 856s returns true when shutdown successfully completes before timeout 857s returns false when shutdown fails to complete before timeout 857s waits forever when no timeout value is given 857s #post 857s creates a new thread for a call without arguments 857s executes a call without arguments 857s creates a new thread for a call with arguments 857s executes a call with one argument 857s executes a call with multiple arguments 857s aliases #<< 857s SimpleExecutorService.post 857s creates a new thread for a call without arguments 857s executes a call without arguments 857s creates a new thread for a call with arguments 857s executes a call with one argument 857s executes a call with multiple arguments 857s aliases #<< 857s 857s Concurrent::SingleThreadExecutor 857s inherits from JavaSingleThreadExecutor 857s 857s Concurrent::ThreadPoolExecutor 857s inherits from JavaThreadPoolExecutor 857s 857s Concurrent::TimerSet 857s construction 857s uses the executor given at construction 857s uses the global io executor be default 857s #post 857s raises an exception when given a task with a delay less than zero 857s raises an exception when no block given 857s immediately posts a task when the delay is zero 857s execution 857s executes a given task when given an interval in seconds 857s returns an IVar when posting a task 857s executes a given task when given an interval in seconds, even if longer tasks have been scheduled 858s passes all arguments to the task on execution 858s does not execute tasks early 858s executes all tasks scheduled for the same time 858s executes tasks with different times in schedule order 858s executes tasks with different times in schedule time 859s continues to execute new tasks even after the queue is emptied 859s safely handles an executor raising RejectedExecutionError 859s resolution 859s sets the IVar value on success when delay is zero 859s sets the IVar value on success when given a delay 859s sets the IVar reason on failure when delay is zero 859s sets the IVar reason on failure when given a delay 859s task cancellation 859s fails to cancel the task once processing has begun 859s fails to cancel the task once processing is complete 859s cancels a pending task 859s returns false when not running 859s task rescheduling 859s raises an exception when given an invalid time 859s does not change the current schedule when given an invalid time 859s reschedules a pending and unpost task when given a valid time 859s returns false once the task has been post to the executor 859s returns false once the task is processing 860s returns false once the task has is complete 860s returns false when not running 860s task resetting 860s calls #reschedule with the original delay 860s termination 860s cancels all pending tasks on #shutdown 860s cancels all pending tasks on #kill 860s stops the monitor thread on #shutdown 860s kills the monitor thread on #kill 860s rejects tasks once shutdown 860s rejects tasks once killed 860s #wait_for_termination returns true if shutdown completes before timeout 860s #wait_for_termination returns false on timeout 860s state 860s is running? when first created 860s is running? after tasks have been post 860s is shutdown? after shutdown completes 860s is shutdown? after being killed 860s 860s Concurrent::WrappingExecutor 860s is expected to be a kind of Concurrent::WrappingExecutor 860s is expected to respond to #post 860s is expected to respond to #can_overflow? 860s is expected to respond to #serialized? 860s #post 860s with passthrough wrapper 860s is expected to equal # 860s with wrapper modifying args 860s is expected to equal # 860s with wrapper modifying task 860s is expected to equal # 860s 860s Concurrent::Future 860s it should behave like ivar 860s it should behave like obligation 860s #state 860s is :pending when first created 860s is :fulfilled when the handler completes 860s is :rejected when the handler raises an exception 860s #value 860s returns nil when reaching the optional timeout value 860s returns immediately when timeout is zero 865s returns the value when fulfilled before timeout 865s returns nil when timeout reached 865s is nil when :pending 870s blocks the caller when :pending and timeout is nil 870s is nil when :rejected 870s is set to the return value of the block when :fulfilled 870s #reason 870s is nil when :pending 870s is nil when :fulfilled 870s is set to error object of the exception when :rejected 870s it should behave like dereferenceable 870s defaults :dup_on_deref to false 870s calls #dup when the :dup_on_deref option is true 871s defaults :freeze_on_deref to false 871s calls #freeze when the :freeze_on_deref option is true 871s defaults :copy_on_deref to nil 871s calls the block when the :copy_on_deref option is passed a proc 872s calls the :copy block first followed by #dup followed by #freeze 872s does not call #dup when #dup_on_deref is set and the value is nil 872s does not call #freeze when #freeze_on_deref is set and the value is nil 872s does not call the #copy_on_deref block when the value is nil 872s supports dereference flags with observers 872s it should behave like observable 872s #add_observer 872s adds an observer if called before first notification 872s adds an observer with :func if called before first notification 872s creates an observer from a block if called before first notification 872s raises an exception if not given an observer or a block 872s raises an exception when given both an observer and a block 872s #delete_observer 872s deletes the given observer if called before first notification 872s returns the removed observer if found in the observer set 872s returns the given observer even when not found in the observer set 872s #delete_observers 872s deletes all observers when called before first notification 872s returns self 872s #count_observers 872s returns zero for a new observable object 872s returns a count of registered observers if called before first notification 872s returns zero after #delete_observers has been called 872s first notification 872s calls the #update method on all observers without a specified :func 872s calls the appropriate function on all observers which specified a :func 873s calls the proc for all observers added as a block 874s does not notify any observers removed with #delete_observer 875s does not notify any observers after #delete_observers called 875s initialization 875s sets the state to incomplete 875s #set 875s sets the state to be fulfilled 875s sets the value 875s raises an exception if set more than once 875s returns self 875s fulfils when given a block which executes successfully 875s rejects when given a block which raises an exception 875s raises an exception when given a value and a block 875s raises an exception when given neither a value nor a block 875s #fail 875s sets the state to be rejected 875s sets the value to be nil 875s sets the reason to the given exception 875s raises an exception if set more than once 875s defaults the reason to a StandardError 875s returns self 875s #try_set 875s when unset 875s assigns the value 875s assigns the block result 875s returns true 875s when fulfilled 875s does not assign the value 875s does not assign the block result 875s returns false 875s when rejected 875s does not assign the value 875s does not assign the block result 875s has a nil value 875s returns false 875s it should behave like thread_arguments 875s passes an empty array when opts is not given 875s passes an empty array when opts is an empty hash 875s passes an empty array when there is no :args key 875s passes an empty array when the :args key has a nil value 875s passes a one-element array when the :args key has a non-array value 875s passes an array when when the :args key has an array value 875s passes the given array when the :args key has a complex array value 875s allows the given arguments array to be dereferenced 875s #initialize 875s sets the state to :unscheduled 875s raises an exception when no block given 875s uses the executor given with the :executor option 875s uses the global io executor by default 875s instance #execute 875s does nothing unless the state is :unscheduled 875s posts the block given on construction 875s sets the state to :pending 875s returns self 875s class #execute 875s creates a new Future 875s passes the block to the new Future 875s calls #execute on the new Future 875s fulfillment 875s sets the state to :processing while the task is executing 875s passes all arguments to handler 875s sets the value to the result of the handler 875s sets the state to :fulfilled when the block completes 875s sets the value to nil when the handler raises an exception 875s sets the value to nil when the handler raises Exception 875s sets the reason to the Exception instance when the handler raises Exception 875s sets the state to :rejected when the handler raises an exception 875s aliases 875s aliases #realized? for #fulfilled? 875s aliases #deref for #value 875s cancellation 875s #cancel 875s fails to cancel the task once processing has begun 875s fails to cancel the task once processing is complete 875s cancels a pending task 875s #wait_or_cancel 875s returns true if the operation completes before timeout 875s cancels the task on timeout 875s observation 875s notifies all observers on fulfillment 875s notifies all observers on rejection 875s notifies an observer added after fulfillment 875s notifies an observer added after rejection 875s does not notify existing observers when a new observer added after fulfillment 875s does not notify existing observers when a new observer added after rejection 875s deadlock avoidance 875s should notify observers outside mutex lock 875s should notify a new observer added after fulfillment outside lock 875s 875s Concurrent::Hash 875s .[] 875s when initializing with no arguments 875s is expected to be empty 875s when initializing with an even number of arguments 875s creates a hash using the odd position arguments as keys and even position arguments as values 875s when initializing with an array of pairs 875s creates a hash using each pair as a (key, value) pair 875s when initializing with another hash as an argument 875s creates a new hash 875s creates a hash with the same contents as the other hash 875s creates a hash with the results of calling #to_hash on the other array 875s .new 875s when initializing with no arguments 875s is expected to be empty 875s when initialized with a default object 875s uses the default object for non-existing keys 875s when initialized with a block 875s calls the block for non-existing keys 875s returns the results of calling the block for non-existing key 875s concurrency 875s is expected to be empty 875s 875s Concurrent::ImmutableStruct 875s it should behave like struct 875s definition 875s registers the class when given a class name 875s registers the class when given a class name which is defined in the ancestors 875s creates an anonymous class when given at least one member 875s ignores methods on ancestor classes 875s raises an exception when given an invalid class name 875s defines a getter for each member 875s raises an exception when given no members 875s raise an exception when given an invalid member 875s evalues a given block against the new class 875s construction 875s sets all absent members to nil 875s sets all given members in order 875s raises an exception when extra members are given 875s properties 875s #length 875s returns the number of struct members 875s #members 875s returns the struct members as an array of symbols 875s returns a different object than the array passed at definition 875s #size 875s returns the number of struct members 875s #values 875s returns the values of the struct as an array in order 875s #values_at 875s returns the value at the given offset 875s returns the values at multiple given offsets 875s returns values at offsets in a given range 875s returns values for multiple ranges 875s returns values for ranges and offsets 875s accessors 875s #[member] 875s retrieves the value when given a valid symbol member 875s retrieves the value when given a valid string member 875s raises an exception when given a non-existent symbol member 876s raises an exception when given a non-existent string member 876s #[index] 876s retrieves the value when given a valid index 876s raises an exception when given an out-of-bound index 876s comparison 876s #== 876s returns true if other has same struct subclass and equal values 876s returns false if other has different struct subclass 876s returns false if other has different values 876s #!= 876s returns false if other has same struct subclass and equal values 876s returns true if other has different struct subclass 876s returns true if other has different values 876s enumeration 876s #each 876s yields the value of each struct member in order 876s returns an enumerator when no block is given 876s #each_pair 876s yields the name and value of each struct member in order 876s returns an enumerator when no block is given 876s #select 876s yields each value 876s returns an Array with the values from for which the block returns true 876s returns an enumerator when no block is given 876s conversion 876s #to_s 876s includes the name of the class when registered 876s includes the names of all members 876s includes all values 876s returns the same string as #inspect 876s #to_a 876s returns the to_a for this struct as an array 876s #to_h 876s returns a Hash containing the names and values in order 876s copy 876s #dup 876s shallowly duplicates all members along with the struct 876s discards frozen state of the struct 876s retains frozen state of members 876s discards singleton class 876s copies the singleton class of members 876s #clone 876s shallowly clones all members along with the struct 876s retains frozen state 876s copies the singleton class 876s copies the singleton class of members 876s it should behave like mergeable_struct 876s #merge 876s updates all members with the new values from a given hash 876s calls the given block for each key in `other` 876s retains the value for all members not without values in the given hash 876s raises an exception when given a hash with members not in the struct 876s returns a new object 876s 876s Concurrent::IVar 876s it should behave like ivar 876s it should behave like obligation 876s #state 876s is :pending when first created 876s is :fulfilled when the handler completes 876s is :rejected when the handler raises an exception 876s #value 876s returns nil when reaching the optional timeout value 876s returns immediately when timeout is zero 876s returns the value when fulfilled before timeout 876s returns nil when timeout reached 876s is nil when :pending 876s blocks the caller when :pending and timeout is nil 876s is nil when :rejected 876s is set to the return value of the block when :fulfilled 876s #reason 876s is nil when :pending 876s is nil when :fulfilled 876s is set to error object of the exception when :rejected 876s it should behave like dereferenceable 876s defaults :dup_on_deref to false 876s calls #dup when the :dup_on_deref option is true 876s defaults :freeze_on_deref to false 876s calls #freeze when the :freeze_on_deref option is true 876s defaults :copy_on_deref to nil 876s calls the block when the :copy_on_deref option is passed a proc 876s calls the :copy block first followed by #dup followed by #freeze 876s does not call #dup when #dup_on_deref is set and the value is nil 876s does not call #freeze when #freeze_on_deref is set and the value is nil 876s does not call the #copy_on_deref block when the value is nil 876s supports dereference flags with observers 876s it should behave like observable 876s #add_observer 876s adds an observer if called before first notification 876s adds an observer with :func if called before first notification 876s creates an observer from a block if called before first notification 876s raises an exception if not given an observer or a block 876s raises an exception when given both an observer and a block 876s #delete_observer 876s deletes the given observer if called before first notification 876s returns the removed observer if found in the observer set 876s returns the given observer even when not found in the observer set 876s #delete_observers 876s deletes all observers when called before first notification 876s returns self 876s #count_observers 876s returns zero for a new observable object 876s returns a count of registered observers if called before first notification 876s returns zero after #delete_observers has been called 876s first notification 876s calls the #update method on all observers without a specified :func 876s calls the appropriate function on all observers which specified a :func 876s calls the proc for all observers added as a block 877s does not notify any observers removed with #delete_observer 878s does not notify any observers after #delete_observers called 878s initialization 878s sets the state to incomplete 878s #set 878s sets the state to be fulfilled 878s sets the value 878s raises an exception if set more than once 878s returns self 878s fulfils when given a block which executes successfully 878s rejects when given a block which raises an exception 878s raises an exception when given a value and a block 878s raises an exception when given neither a value nor a block 878s #fail 878s sets the state to be rejected 878s sets the value to be nil 878s sets the reason to the given exception 878s raises an exception if set more than once 878s defaults the reason to a StandardError 878s returns self 878s #try_set 878s when unset 878s assigns the value 878s assigns the block result 878s returns true 878s when fulfilled 878s does not assign the value 878s does not assign the block result 878s returns false 878s when rejected 878s does not assign the value 878s does not assign the block result 878s has a nil value 878s returns false 878s #initialize 878s does not have to set an initial value 878s does not set an initial value if you pass NULL 878s can set an initial value 878s can set an initial value with a block 878s raises an exception if given both a value and a block 878s observation 878s notifies all observers on #set 878s deadlock avoidance 878s should notify observers outside mutex lock 878s should notify a new observer added after fulfillment outside lock 878s 878s Concurrent::LazyRegister 878s example at ./spec/concurrent/lazy_register_spec.rb:6 (PENDING: Not yet implemented) 878s 878s Concurrent::Map 878s default_proc is called with the Concurrent::Map and the key 878s default_proc is called with the Concurrent::Map and the key after #dup 878s concurrency 878s retrieval 878s #put_if_absent 878s updates dont block reads 878s collision resistance 889s collision resistance with arrays 889s #replace_pair 889s #replace_if_exists 889s #get_and_set 889s #key 889s #key? 889s #value? 889s #delete 889s #delete_pair 889s default proc 889s falsy default proc 889s #clear 889s #keys 889s #values 889s #each_key 889s #each_value 889s #empty 889s options validation 889s initial capacity options validation 889s load factor options validation 889s #size 889s #get_or_default 889s #dup,#clone 889s is unfreezable 889s marshal dump load 889s marshal dump does not work with default proc 889s #inspect 889s #compute_if_absent 889s works in default_proc 889s common 889s with return 889s exception 889s atomicity 889s #compute_if_present 889s common 889s with return 889s exception 889s #compute 889s common 889s with return 889s exception 889s #merge_pair 889s common 889s with return 889s exception 889s #fetch 889s common 889s falsy 889s with return 889s #fetch_or_store 889s common 889s falsy 889s with return 889s #each_pair 889s it should behave like collection_each 889s common 889s pair iterator 889s allows modification 889s when no block is given 889s returns an enumerator 889s returns an object which is enumerable 889s #each 889s it should behave like collection_each 889s common 889s pair iterator 889s allows modification 889s when no block is given 889s returns an enumerator 889s returns an object which is enumerable 889s 889s Concurrent::Maybe 889s construction 889s hides Maybe.new 889s Maybe.from 889s raises an exception when no block is given 889s passes all arguments to the block 889s creates a Just Maybe on success 889s sets the value to the block result on success 889s creates a Nothing Maybe on exception 889s sets the reason to the error object on exception 889s Maybe.just 889s creates a new Just Maybe 889s Maybe.nothing 889s creates a new Nothing Maybe 889s uses the given Error object 889s creates a new error object with the given string 889s creates a new error object when given nothing 889s when just 889s #just? returns true 889s #fulfilled? returns true 889s #nothing? returns false 889s #rejected? returns false 889s #just returns the value 889s #value returns the value 889s #nothing returns NONE 889s #reason returns NONE 889s when nothing 889s #just? returns false 889s #fulfilled? returns false 889s #nothing? returns true 889s #rejected? returns true 889s #just returns NONE 889s #value returns NONE 889s #nothing returns the raised error 889s #reason returns the raised error 889s comparison 889s something is not equal to nothing 889s nothing is equal to nothing 889s something is equal to the same value 889s something is not equal to a different value 889s something is greater than a smaller value 889s something is less than a bigger value 889s nothing is not less than nothing 889s nothing is not greater than nothing 889s #or 889s returns the value when something 889s returns the other when nothing 889s 889s monotonic_time 889s behavior 889s returns seconds as float 889s returns a Float when unit = :float_second 889s returns a Float when unit = :float_millisecond 889s returns a Float when unit = :float_microsecond 889s returns an Integer when unit = :second 889s returns an Integer when unit = :millisecond 889s returns an Integer when unit = :microsecond 889s returns an Integer when unit = :nanosecond 889s raises ArgumentError on unknown units 889s 889s Concurrent::MutableStruct 889s it should behave like struct 889s definition 889s registers the class when given a class name 889s registers the class when given a class name which is defined in the ancestors 889s /tmp/autopkgtest.4WcEcV/build.abN/src/spec/concurrent/struct_shared.rb:15: warning: already initialized constant ValidClassName2 889s creates an anonymous class when given at least one member 889s ignores methods on ancestor classes 889s raises an exception when given an invalid class name 889s defines a getter for each member 889s raises an exception when given no members 889s raise an exception when given an invalid member 889s evalues a given block against the new class 889s construction 890s sets all absent members to nil 890s sets all given members in order 890s raises an exception when extra members are given 890s properties 890s #length 890s returns the number of struct members 890s #members 890s returns the struct members as an array of symbols 890s returns a different object than the array passed at definition 890s #size 890s returns the number of struct members 890s #values 890s returns the values of the struct as an array in order 890s #values_at 890s returns the value at the given offset 890s returns the values at multiple given offsets 890s returns values at offsets in a given range 890s returns values for multiple ranges 890s returns values for ranges and offsets 890s accessors 890s #[member] 890s retrieves the value when given a valid symbol member 890s retrieves the value when given a valid string member 890s raises an exception when given a non-existent symbol member 890s raises an exception when given a non-existent string member 890s #[index] 890s retrieves the value when given a valid index 890s raises an exception when given an out-of-bound index 890s comparison 890s #== 890s returns true if other has same struct subclass and equal values 890s returns false if other has different struct subclass 890s returns false if other has different values 890s #!= 890s returns false if other has same struct subclass and equal values 890s returns true if other has different struct subclass 890s returns true if other has different values 890s enumeration 890s #each 890s yields the value of each struct member in order 890s returns an enumerator when no block is given 890s #each_pair 890s yields the name and value of each struct member in order 890s returns an enumerator when no block is given 890s #select 890s yields each value 890s returns an Array with the values from for which the block returns true 890s returns an enumerator when no block is given 890s conversion 890s #to_s 890s includes the name of the class when registered 890s includes the names of all members 890s includes all values 890s returns the same string as #inspect 890s #to_a 890s returns the to_a for this struct as an array 890s #to_h 890s returns a Hash containing the names and values in order 890s copy 890s #dup 890s shallowly duplicates all members along with the struct 890s discards frozen state of the struct 890s retains frozen state of members 890s discards singleton class 890s copies the singleton class of members 890s #clone 890s shallowly clones all members along with the struct 890s retains frozen state 890s copies the singleton class 890s copies the singleton class of members 890s it should behave like mergeable_struct 890s #merge 890s updates all members with the new values from a given hash 890s calls the given block for each key in `other` 890s retains the value for all members not without values in the given hash 890s raises an exception when given a hash with members not in the struct 890s returns a new object 890s definition 890s defines a setter for each member 890s #[member]= 890s sets the value when given a valid symbol member 890s sets the value when given a valid string member 890s raises an exception when given a non-existent symbol member 890s raises an exception when given a non-existent string member 890s #[index]= 890s sets the value when given a valid index 890s raises an exception when given an out-of-bound index 890s synchronization 890s protects #values 890s protects #values_at 890s protects #[index] 890s protects #[member] 890s protects getter methods 890s protects #[index]= 890s protects #[member]= 890s protects getter methods 890s protects #to_s 890s protects #inspect 890s protects #merge 890s protects #to_h 890s protects #== 890s protects #each 890s protects #each_pair 890s protects #select 890s protects #initialize_copy 890s copy 890s #dup 890s mutates only the copy 890s #clone 890s mutates only the copy 890s 890s Concurrent::MVar 890s behavior 890s it should behave like dereferenceable 890s defaults :dup_on_deref to false 890s calls #dup when the :dup_on_deref option is true 890s defaults :freeze_on_deref to false 890s calls #freeze when the :freeze_on_deref option is true 890s defaults :copy_on_deref to nil 890s calls the block when the :copy_on_deref option is passed a proc 890s calls the :copy block first followed by #dup followed by #freeze 890s does not call #dup when #dup_on_deref is set and the value is nil 890s does not call #freeze when #freeze_on_deref is set and the value is nil 890s does not call the #copy_on_deref block when the value is nil 890s supports dereference flags with observers 890s #initialize 890s accepts no initial value 890s accepts an empty initial value 890s accepts an initial value 890s accepts a nil initial value 890s #take 890s sets the MVar to empty 890s returns the value on a full MVar 890s waits for another thread to #put 891s returns TIMEOUT on timeout on an empty MVar 891s #borrow 891s /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 891s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 891s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/yield.rb:101 891s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/yield.rb:7 891s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/yield.rb:6 891s
at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/yield.rb:5 891s require at org/jruby/RubyKernel.java:1184 891s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 891s yield_with_args at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers.rb:920 891s Concurrent at /tmp/autopkgtest.4WcEcV/build.abN/src/spec/concurrent/mvar_spec.rb:78 891s instance_exec at org/jruby/RubyBasicObject.java:2620 891s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:263 891s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 891s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 891s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 891s run_around_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:624 891s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 891s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 891s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 891s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:259 891s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:646 891s map at org/jruby/RubyArray.java:2803 891s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:651 891s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:607 891s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:608 891s map at org/jruby/RubyArray.java:2803 891s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:608 891s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121 891s map at org/jruby/RubyArray.java:2803 891s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:145 891s with_suite_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:2091 891s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:116 891s report at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/reporter.rb:74 891s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:115 891s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:89 891s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:71 891s invoke at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:45 891s
at /usr/bin/rspec:4 891s 891s /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 891s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 891s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/yield.rb:149 891s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/yield.rb:7 891s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/yield.rb:6 891s
at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/yield.rb:5 891s require at org/jruby/RubyKernel.java:1184 891s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 891s yield_with_args at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers.rb:920 891s Concurrent at /tmp/autopkgtest.4WcEcV/build.abN/src/spec/concurrent/mvar_spec.rb:78 891s instance_exec at org/jruby/RubyBasicObject.java:2620 891s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:263 891s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 891s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 891s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 891s run_around_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:624 891s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 891s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 891s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 891s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:259 891s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:646 891s map at org/jruby/RubyArray.java:2803 891s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:651 891s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:607 891s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:608 891s map at org/jruby/RubyArray.java:2803 891s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:608 891s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121 891s map at org/jruby/RubyArray.java:2803 891s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:145 891s with_suite_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:2091 891s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:116 891s report at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/reporter.rb:74 891s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:115 891s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:89 891s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:71 891s invoke at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:45 891s
at /usr/bin/rspec:4 891s 891s yields current value to the block and puts back value 891s puts back value even if an exception is raised 891s returns the returned value of the block 891s /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 891s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 891s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/yield.rb:296 891s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/yield.rb:7 891s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/yield.rb:6 891s
at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/yield.rb:5 891s require at org/jruby/RubyKernel.java:1184 891s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 891s yield_with_args at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers.rb:920 891s Concurrent at /tmp/autopkgtest.4WcEcV/build.abN/src/spec/concurrent/mvar_spec.rb:78 891s instance_exec at org/jruby/RubyBasicObject.java:2620 891s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:263 891s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 891s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 891s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 891s run_around_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:624 891s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 891s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 891s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 891s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:259 891s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:646 891s map at org/jruby/RubyArray.java:2803 891s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:651 891s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:607 891s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:608 891s map at org/jruby/RubyArray.java:2803 891s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:608 891s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121 891s map at org/jruby/RubyArray.java:2803 891s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:145 891s with_suite_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:2091 891s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:116 891s report at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/reporter.rb:74 891s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:115 891s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:89 891s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:71 891s invoke at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:45 891s
at /usr/bin/rspec:4 891s 891s returns TIMEOUT on timeout on an empty MVar 891s #put 891s sets the MVar to be empty 891s sets a new value on an empty MVar 891s waits for another thread to #take 891s returns TIMEOUT on timeout on a full MVar 891s returns the value 891s #empty? 891s returns true on an empty MVar 891s returns false on a full MVar 891s #full? 891s returns false on an empty MVar 891s returns true on a full MVar 891s #modify 891s raises an exception when no block given 891s modifies a full MVar 891s returns the unmodified value 891s waits for another thread to #put 892s is atomic 892s returns TIMEOUT on timeout on an empty MVar 892s #try_put! 892s returns true an empty MVar 892s returns false on a full MVar 892s sets an empty MVar to be full 892s #try_take! 892s returns EMPTY an empty MVar 892s returns the value on a full MVar 892s sets a full MVar to be empty 892s #set! 892s sets an empty MVar to be full 892s sets a full MVar to be full 892s returns EMPTY on an empty MVar 892s returns the original value on a full MVar 892s #modify! 892s raises an exception when no block given 892s modifies a full MVar 892s modifies an empty MVar 892s can be used to set a full MVar to empty 892s can be used to set an empty MVar to empty 892s returns the unmodified value 892s spurious wake ups 892s #take 893s waits for another thread to #put 893s returns TIMEOUT on timeout on an empty MVar 893s #modify 894s waits for another thread to #put 894s returns TIMEOUT on timeout on an empty MVar 894s #put 895s waits for another thread to #take 895s returns TIMEOUT on timeout on a full MVar 895s 895s Concurrent::Options 895s .executor_from_options 895s returns the given :executor 895s returns the global io executor when :executor is :io 895s returns the global fast executor when :executor is :fast 895s returns an immediate executor when :executor is :immediate 895s raises an exception when :executor is an unrecognized symbol 895s 895s Concurrent::ProcessingActor 895s is expected to eq "ab" 895s 895s Concurrent::Promise 895s it should behave like ivar 895s it should behave like obligation 895s #state 895s is :pending when first created 895s is :fulfilled when the handler completes 895s is :rejected when the handler raises an exception 895s #value 895s returns nil when reaching the optional timeout value 895s returns immediately when timeout is zero 900s returns the value when fulfilled before timeout 900s returns nil when timeout reached 900s is nil when :pending 905s blocks the caller when :pending and timeout is nil 905s is nil when :rejected 905s is set to the return value of the block when :fulfilled 905s #reason 905s is nil when :pending 905s is nil when :fulfilled 905s is set to error object of the exception when :rejected 905s it should behave like dereferenceable 905s defaults :dup_on_deref to false 906s calls #dup when the :dup_on_deref option is true 906s defaults :freeze_on_deref to false 906s calls #freeze when the :freeze_on_deref option is true 906s defaults :copy_on_deref to nil 907s calls the block when the :copy_on_deref option is passed a proc 907s calls the :copy block first followed by #dup followed by #freeze 907s does not call #dup when #dup_on_deref is set and the value is nil 907s does not call #freeze when #freeze_on_deref is set and the value is nil 907s does not call the #copy_on_deref block when the value is nil 907s supports dereference flags with observers 907s it should behave like observable 907s #add_observer 907s adds an observer if called before first notification 907s adds an observer with :func if called before first notification 907s creates an observer from a block if called before first notification 907s raises an exception if not given an observer or a block 907s raises an exception when given both an observer and a block 907s #delete_observer 907s deletes the given observer if called before first notification 907s returns the removed observer if found in the observer set 907s returns the given observer even when not found in the observer set 907s #delete_observers 907s deletes all observers when called before first notification 907s returns self 907s #count_observers 907s returns zero for a new observable object 907s returns a count of registered observers if called before first notification 907s returns zero after #delete_observers has been called 907s first notification 907s calls the #update method on all observers without a specified :func 908s calls the appropriate function on all observers which specified a :func 908s calls the proc for all observers added as a block 909s does not notify any observers removed with #delete_observer 910s does not notify any observers after #delete_observers called 910s initialization 910s sets the state to incomplete 910s #set 910s sets the state to be fulfilled 910s sets the value 910s raises an exception if set more than once 910s returns self 910s fulfils when given a block which executes successfully 910s rejects when given a block which raises an exception 910s raises an exception when given a value and a block 910s raises an exception when given neither a value nor a block 910s #fail 910s sets the state to be rejected 910s sets the value to be nil 910s sets the reason to the given exception 910s raises an exception if set more than once 910s defaults the reason to a StandardError 910s returns self 910s #try_set 910s when unset 910s assigns the value 910s assigns the block result 910s returns true 910s when fulfilled 910s does not assign the value 910s does not assign the block result 910s returns false 910s when rejected 910s does not assign the value 910s does not assign the block result 910s has a nil value 910s returns false 910s it should behave like thread_arguments 910s passes an empty array when opts is not given 910s passes an empty array when opts is an empty hash 910s passes an empty array when there is no :args key 910s passes an empty array when the :args key has a nil value 910s passes a one-element array when the :args key has a non-array value 910s passes an array when when the :args key has an array value 910s passes the given array when the :args key has a complex array value 910s allows the given arguments array to be dereferenced 910s initializers 910s .fulfill 910s should return a Promise 910s should return a fulfilled Promise 910s should return a Promise with set value 910s .reject 910s should return a Promise 910s should return a rejected Promise 910s should return a Promise with set reason 910s .new 910s should return an unscheduled Promise 910s .execute 910s creates a new Promise 910s passes the block to the new Promise 910s calls #execute on the new Promise 910s #execute 910s unscheduled 911s sets the promise to :pending 911s posts the block given in construction 911s pending 911s sets the promise to :pending 911s does not post again 911s with children 911s when called on the root 912s should set all promises to :pending 912s when called on a child 913s should set all promises to :pending 913s when called on child after parent completes 913s sets state to :pending immediately 913s #then 913s returns a new promise when a block is passed 913s returns a new promise when a rescuer is passed 913s returns a new promise when a block and rescuer are passed 913s returns a new promise when a block, rescuer and executor are passed 913s supports setting the executor using a named parameter 913s should have block or rescuers 913s can be called more than once 913s unscheduled 913s returns a new promise 913s returns an unscheduled promise 913s pending 913s returns a new promise 913s returns a pending promise 913s fulfilled 913s returns a new Promise 913s notifies fulfillment to new child 913s rejected 913s returns a new Promise when :rejected 913s notifies rejection to new child 913s on_success 913s should have a block 913s returns a new promise 913s #rescue 913s returns a new promise 913s #flat_map 913s returns a promise 913s succeeds if both promises succeed 913s fails if the left promise fails 913s fails if the right promise fails 913s fails if the generating block fails 913s #zip 913s executes the returned Promise by default 913s executes the returned Promise when execute is true 913s does not execute the returned Promise when execute is false 913s allows setting executor for Promise chain 913s yields the results as an array 913s fails if one component fails 913s preserves ordering of the executed promises 913s .zip 913s executes the returned Promise by default 913s executes the returned Promise when execute is true 913s does not execute the returned Promise when execute is false 913s allows setting executor for Promise chain 913s yields the results as an array 913s fails if one component fails 914s preserves ordering of the executed promises 914s aggregators 914s .all? 914s returns a new Promise 914s does not execute the returned Promise 914s executes the #then condition when all components succeed 914s executes the #then condition when no promises are given 914s executes the #rescue handler if even one component fails 914s .any? 914s returns a new Promise 914s does not execute the returned Promise 914s executes the #then condition when any components succeed 914s executes the #then condition when no promises are given 914s executes the #rescue handler if all componenst fail 914s fulfillment 914s passes the result of each block to all its children 914s sets the promise value to the result if its block 914s sets the promise state to :fulfilled if the block completes 914s passes the last result through when a promise has no block 914s uses result as fulfillment value when a promise has no block 914s can manage long chain 914s #set 914s #can only be called on the root promise 914s triggers children 914s can be called with a block 914s #fail 914s can only be called on the root promise 914s rejects children 914s rejection 914s passes the reason to all its children 914s sets the promise value to the result if its block 914s sets the promise state to :rejected if the block completes 914s uses reason as rejection reason when a promise has no rescue callable 914s rejects on Exception 914s aliases 914s aliases #realized? for #fulfilled? 914s aliases #deref for #value 914s aliases #catch for #rescue 914s aliases #on_error for #rescue 914s 914s Concurrent::Promises 914s zip_futures_over 914s chain_resolvable 914s event 914s future 914s .future 914s executes 914s executes with args 914s .delay 914s is expected to eq 2 914s .schedule 914s scheduled execution 914s scheduled execution in graph 914s .event 914s is expected to equal true 914s .future without block 914s is expected to eq 0 914s .any_resolved 914s continues on first result 914s .any_fulfilled 914s continues on first result 914s treats a resolved Event as a fulfilled Future 914s treats a pending Event as a pending Future 914s .zip 914s waits for all results 914s when a future raises an error 914s raises a concurrent error 914s when deeply nested 914s raises the original error 914s .zip_events 914s waits for all and returns event 914s .rejected_future 914s raises the correct error when passed an unraised error 914s Future 914s has sync and async callbacks 914s wait supports setting timeout 914s wait! supports setting timeout 914s value supports setting timeout 914s value! supports setting timeout 914s reason supports setting timeout 915s result supports setting timeout 915s chains 915s chains with correct arguments 915s constructs promise like tree 915s allows graphs 915s resolves future when Exception raised 915s runs 915s can be risen when rejected 915s #flat 915s returns value of inner future 915s propagates rejection of inner future 915s it propagates rejection of the future which was suppose to provide inner future 915s rejects if inner value is not a future 915s accepts inner event 915s propagates requests for values to delayed futures 915s has shortcuts 915s ResolvableEvent 915s #wait 915s #resolve(raise_on_reassign = true) 915s #resolve(raise_on_reassign = false) 915s reservation 915s ResolvableFuture 915s #wait 915s #wait! 915s #value 915s #value! 915s #reason 915s result 915s reservation 915s atomic_resolution 915s interoperability 915s with erlang actor 915s with channel 915s value! 915s does not return spuriously with timeout 915s does not return spuriously without timeout 915s 915s Concurrent::ScheduledTask 915s behavior 915s it should behave like obligation 915s #state 915s is :pending when first created 915s is :fulfilled when the handler completes 915s is :rejected when the handler raises an exception 915s #value 915s returns nil when reaching the optional timeout value 915s returns immediately when timeout is zero 916s returns the value when fulfilled before timeout 916s returns nil when timeout reached 916s is nil when :pending 917s blocks the caller when :pending and timeout is nil 917s is nil when :rejected 917s is set to the return value of the block when :fulfilled 917s #reason 917s is nil when :pending 917s is nil when :fulfilled 917s is set to error object of the exception when :rejected 917s it should behave like dereferenceable 917s defaults :dup_on_deref to false 917s calls #dup when the :dup_on_deref option is true 917s defaults :freeze_on_deref to false 917s calls #freeze when the :freeze_on_deref option is true 917s defaults :copy_on_deref to nil 917s calls the block when the :copy_on_deref option is passed a proc 917s calls the :copy block first followed by #dup followed by #freeze 917s does not call #dup when #dup_on_deref is set and the value is nil 917s does not call #freeze when #freeze_on_deref is set and the value is nil 917s does not call the #copy_on_deref block when the value is nil 917s supports dereference flags with observers 917s it should behave like observable 917s #add_observer 917s adds an observer if called before first notification 917s adds an observer with :func if called before first notification 917s creates an observer from a block if called before first notification 917s raises an exception if not given an observer or a block 917s raises an exception when given both an observer and a block 917s #delete_observer 917s deletes the given observer if called before first notification 917s returns the removed observer if found in the observer set 917s returns the given observer even when not found in the observer set 917s #delete_observers 917s deletes all observers when called before first notification 917s returns self 917s #count_observers 917s returns zero for a new observable object 917s returns a count of registered observers if called before first notification 917s returns zero after #delete_observers has been called 917s first notification 917s calls the #update method on all observers without a specified :func 918s calls the appropriate function on all observers which specified a :func 918s calls the proc for all observers added as a block 919s does not notify any observers removed with #delete_observer 920s does not notify any observers after #delete_observers called 920s #initialize 920s accepts a number of seconds (from now) as the schedule time 920s raises an exception when seconds is less than zero 920s raises an exception when no block given 920s sets the initial state to :unscheduled 920s instance #execute 920s does nothing unless the state is :unscheduled 920s sets the sate to :pending 920s returns self 920s class #execute 920s creates a new ScheduledTask 920s passes the block to the new ScheduledTask 920s calls #execute on the new ScheduledTask 920s execution 920s passes :args from the options to the block 920s uses the :executor from the options 920s uses the :timer_set from the options 920s sets the state to :processing when the task is running 920s #cancel 920s returns false if the task has already been performed 921s returns false if the task is already in progress 921s cancels the task if it has not yet scheduled 922s cancels the task if it has not yet started 922s returns true on success 922s sets the reason to CancelledOperationError when cancelled 922s observation 922s returns true for an observer added while :unscheduled 922s returns true for an observer added while :pending 922s returns true for an observer added while :processing 922s notifies all observers on fulfillment 922s notifies all observers on rejection 922s 922s Concurrent::Set 922s .[] 922s when initializing with no arguments 922s is expected to be empty 922s when initializing with arguments 922s creates a set with the given objects 922s .new 922s when initializing with no arguments 922s is expected to be empty 922s when initializing with an enumerable object 922s creates a set with the contents of the enumerable object 922s when initializing with a block argument 922s creates a set with the contents of the enumerable object 922s concurrency 922s #add and #delete 922s force context switch 925s /tmp/autopkgtest.4WcEcV/build.abN/src/spec/concurrent/struct_shared.rb:15: warning: already initialized constant ValidClassName2 925s #each 925s 925s Concurrent::SettableStruct 925s it should behave like struct 925s definition 925s registers the class when given a class name 925s registers the class when given a class name which is defined in the ancestors 925s creates an anonymous class when given at least one member 925s ignores methods on ancestor classes 925s raises an exception when given an invalid class name 925s defines a getter for each member 925s raises an exception when given no members 925s raise an exception when given an invalid member 925s evalues a given block against the new class 925s construction 925s sets all absent members to nil 925s sets all given members in order 925s raises an exception when extra members are given 925s properties 925s #length 925s returns the number of struct members 925s #members 925s returns the struct members as an array of symbols 925s returns a different object than the array passed at definition 925s #size 925s returns the number of struct members 925s #values 925s returns the values of the struct as an array in order 925s #values_at 925s returns the value at the given offset 925s returns the values at multiple given offsets 925s returns values at offsets in a given range 925s returns values for multiple ranges 925s returns values for ranges and offsets 925s accessors 925s #[member] 925s retrieves the value when given a valid symbol member 925s retrieves the value when given a valid string member 925s raises an exception when given a non-existent symbol member 925s raises an exception when given a non-existent string member 925s #[index] 925s retrieves the value when given a valid index 925s raises an exception when given an out-of-bound index 925s comparison 925s #== 925s returns true if other has same struct subclass and equal values 925s returns false if other has different struct subclass 925s returns false if other has different values 925s #!= 925s returns false if other has same struct subclass and equal values 925s returns true if other has different struct subclass 925s returns true if other has different values 925s enumeration 925s #each 925s yields the value of each struct member in order 925s returns an enumerator when no block is given 925s #each_pair 925s yields the name and value of each struct member in order 925s returns an enumerator when no block is given 925s #select 925s yields each value 925s returns an Array with the values from for which the block returns true 925s returns an enumerator when no block is given 925s conversion 925s #to_s 925s includes the name of the class when registered 925s includes the names of all members 925s includes all values 925s returns the same string as #inspect 925s #to_a 925s returns the to_a for this struct as an array 925s #to_h 925s returns a Hash containing the names and values in order 925s copy 925s #dup 925s shallowly duplicates all members along with the struct 925s discards frozen state of the struct 925s retains frozen state of members 925s discards singleton class 925s copies the singleton class of members 925s #clone 925s shallowly clones all members along with the struct 925s retains frozen state 925s copies the singleton class 925s copies the singleton class of members 925s it should behave like mergeable_struct 925s #merge 925s updates all members with the new values from a given hash 925s calls the given block for each key in `other` 925s retains the value for all members not without values in the given hash 925s raises an exception when given a hash with members not in the struct 925s returns a new object 925s definition 925s defines a setter for each member 925s #[member]= 925s sets the value when given a valid symbol member 925s sets the value when given a valid string member 925s raises an exception when given a non-existent symbol member 925s raises an exception when given a non-existent string member 925s raises an exception when given a symbol member that has already been set 925s raises an exception when given a string member that has already been set 925s #[index]= 925s sets the value when given a valid index 925s raises an exception when given an out-of-bound index 925s raises an exception when given an index that has already been set 925s synchronization 925s protects #values 925s protects #values_at 925s protects #[index] 925s protects #[member] 925s protects getter methods 925s protects #[index]= 925s protects #[member]= 926s protects getter methods 926s protects #to_s 926s protects #inspect 926s protects #to_h 926s protects #merge 926s protects #== 926s protects #each 926s protects #each_pair 926s protects #select 926s protects #initialize_copy 926s copy 926s #dup 926s retains settability of members 926s #clone 926s retains settability of members 926s 926s Concurrent::Synchronization 926s Concurrent::Synchronization::Object 926s does not ensure visibility when not needed 926s does ensure visibility when specified 926s does ensure visibility when specified in a parent 926s does ensure visibility once when specified in child again 926s it should behave like attr_volatile 926s older writes are always visible 926s Concurrent::Synchronization::LockableObject 926s final field always visible 926s #wait 926s puts the current thread to sleep 926s allows the sleeping thread to be killed 926s releases the lock on the current object 926s can be called from within a #synchronize block 926s #synchronize 926s allows only one thread to execute count 926s signaling 926s for now pending, tested pretty well by Event (PENDING: Not yet implemented) 926s it should behave like attr_volatile 926s older writes are always visible 926s Concurrent::Synchronization::Volatile module 926s it should behave like attr_volatile 926s older writes are always visible 926s attr_atomic 926s is expected to be == b 926s 926s Concurrent::SynchronizedDelegator 926s wraps array 926s synchronizes access 926s synchronizes access with block 926s 926s Concurrent 926s Throttle 926s acquiring 926s #to_s 926s #on 926s capacity limited 926s 926s Concurrent::TimerTask 926s dereferenceable 926s it should behave like dereferenceable 927s defaults :dup_on_deref to false 927s calls #dup when the :dup_on_deref option is true 927s defaults :freeze_on_deref to false 927s calls #freeze when the :freeze_on_deref option is true 928s defaults :copy_on_deref to nil 928s calls the block when the :copy_on_deref option is passed a proc 928s calls the :copy block first followed by #dup followed by #freeze 928s does not call #dup when #dup_on_deref is set and the value is nil 928s does not call #freeze when #freeze_on_deref is set and the value is nil 928s does not call the #copy_on_deref block when the value is nil 929s supports dereference flags with observers 929s observable 929s it should behave like observable 929s #add_observer 929s adds an observer if called before first notification 929s adds an observer with :func if called before first notification 929s creates an observer from a block if called before first notification 929s raises an exception if not given an observer or a block 929s raises an exception when given both an observer and a block 929s #delete_observer 929s deletes the given observer if called before first notification 929s returns the removed observer if found in the observer set 929s returns the given observer even when not found in the observer set 929s #delete_observers 929s deletes all observers when called before first notification 929s returns self 929s #count_observers 929s returns zero for a new observable object 929s returns a count of registered observers if called before first notification 929s returns zero after #delete_observers has been called 929s first notification 929s calls the #update method on all observers without a specified :func 929s calls the appropriate function on all observers which specified a :func 929s calls the proc for all observers added as a block 930s does not notify any observers removed with #delete_observer 932s does not notify any observers after #delete_observers called 932s created with #new 932s #initialize 932s raises an exception if no block given 932s raises an exception if :execution_interval is not greater than zero 932s raises an exception if :execution_interval is not an integer 932s uses the default execution interval when no interval is given 932s uses the given execution interval 932s raises an exception if :interval_type is not a valid value 932s uses the default :interval_type when no type is given 932s uses the given interval type 932s #kill 932s returns true on success 932s #shutdown 932s returns true on success 932s will cancel pre-shutdown task even if restarted to avoid double-runs 932s arguments 932s raises an exception if no block given 932s #execution_interval is writeable 932s TimeTask timeouts are now ignored as these were not able to be implemented correctly 932s raises on invalid interval_type 932s TimeTask timeouts are now ignored as these were not able to be implemented correctly 932s #timeout_interval being written produces a warning 932s execution 932s runs the block immediately when the :run_now option is true 932s waits for :execution_interval seconds when the :run_now option is false 932s waits for :execution_interval seconds when the :run_now option is not given 932s passes a "self" reference to the block as the sole argument 932s uses the global executor by default 932s uses a custom executor when given 933s uses a fixed delay when set 933s uses a fixed rate when set 933s observation 933s notifies all observers on success 934s notifies all observers on error 934s 934s Concurrent::TVar 934s #initialize 934s accepts an initial value 934s #value 934s gets the value 934s #value= 934s sets the value 934s 934s #atomically 934s raises an exception when no block given 934s raises the same exception that was raised in Concurrent::atomically 934s retries on abort 934s commits writes if the transaction succeeds 934s undoes writes if the transaction is aborted 934s provides atomicity 934s nests 934s reflects transactional writes from within the same transaction 934s 934s #abort_transaction 934s raises an exception outside an #atomically block 934s 934s #leave_transaction 934s raises an exception outside an #atomically block 934s neither commits nor aborts a transaction 934s 934s #processor_count 934s returns a positive integer 934s 934s #physical_processor_count 934s returns a positive integer 934s 934s #cpu_quota 934s returns #compute_cpu_quota 934s returns nil if no quota is detected 934s returns nil if cgroups v2 sets no limit 934s returns a float if cgroups v2 sets a limit 934s returns nil if cgroups v1 sets no limit 934s returns nil if cgroups v1 and cpu.cfs_quota_us is -1 934s returns a float if cgroups v1 sets a limit 934s 934s #available_processor_count 934s returns #processor_count if #cpu_quota is nil 934s returns #processor_count if #cpu_quota is higher 934s returns #cpu_quota if #cpu_quota is lower than #processor_count 934s 934s #cpu_shares 934s returns a float when cgroups v2 sets a cpu.weight 934s returns a float if cgroups v1 sets a cpu.shares 934s 934s Finished in 4 minutes 33.3 seconds (files took 8.47 seconds to load) 934s 3016 examples, 0 failures, 17 pending 934s 935s autopkgtest [07:20:08]: test jruby: -----------------------] 942s jruby PASS 942s autopkgtest [07:20:15]: test jruby: - - - - - - - - - - results - - - - - - - - - - 946s autopkgtest [07:20:19]: @@@@@@@@@@@@@@@@@@@@ summary 946s ruby PASS 946s jruby PASS