0s autopkgtest [01:59:22]: starting date and time: 2026-02-07 01:59:22+0000 0s autopkgtest [01:59:22]: git checkout: 4b346b80 nova: make wait_reboot return success even when a no-op 0s autopkgtest [01:59:22]: host juju-7f2275-prod-proposed-migration-environment-2; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.7jvi9gh0/out --timeout-copy=6000 --needs-internet=try --setup-commands /home/ubuntu/autopkgtest-cloud/worker-config-production/setup-canonical.sh --apt-pocket=proposed=src:ruby3.3 --apt-upgrade ruby-concurrent --timeout-short=300 --timeout-copy=20000 --timeout-build=20000 --env=ADT_TEST_TRIGGERS=ruby3.3/3.3.8-2ubuntu3 -- ssh -s /home/ubuntu/autopkgtest/ssh-setup/nova -- --flavor autopkgtest-cpu2-ram4-disk20-arm64 --security-groups autopkgtest-juju-7f2275-prod-proposed-migration-environment-2@sto01-arm64-18.secgroup --name adt-resolute-arm64-ruby-concurrent-20260207-015922-juju-7f2275-prod-proposed-migration-environment-2-a37d3241-3d32-4444-a2fb-87dce61a5d3e --image adt/ubuntu-resolute-arm64-server --keyname testbed-juju-7f2275-prod-proposed-migration-environment-2 --net-id=net_prod-autopkgtest-workers-arm64 -e TERM=linux --mirror=http://ftpmaster.internal/ubuntu/ 4s Creating nova instance adt-resolute-arm64-ruby-concurrent-20260207-015922-juju-7f2275-prod-proposed-migration-environment-2-a37d3241-3d32-4444-a2fb-87dce61a5d3e from image adt/ubuntu-resolute-arm64-server-20260206.img (UUID 52d915c1-d61a-4ba6-a174-862572dd1054)... 53s autopkgtest [02:00:15]: testbed dpkg architecture: arm64 53s autopkgtest [02:00:15]: testbed apt version: 3.1.15 53s autopkgtest [02:00:15]: @@@@@@@@@@@@@@@@@@@@ test bed setup 53s autopkgtest [02:00:15]: testbed release detected to be: None 54s autopkgtest [02:00:16]: updating testbed package index (apt update) 54s Get:1 http://ftpmaster.internal/ubuntu resolute-proposed InRelease [124 kB] 55s Hit:2 http://ftpmaster.internal/ubuntu resolute InRelease 55s Hit:3 http://ftpmaster.internal/ubuntu resolute-updates InRelease 55s Hit:4 http://ftpmaster.internal/ubuntu resolute-security InRelease 55s Get:5 http://ftpmaster.internal/ubuntu resolute-proposed/universe Sources [1707 kB] 55s Get:6 http://ftpmaster.internal/ubuntu resolute-proposed/restricted Sources [10.7 kB] 55s Get:7 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse Sources [36.7 kB] 55s Get:8 http://ftpmaster.internal/ubuntu resolute-proposed/main Sources [206 kB] 55s Get:9 http://ftpmaster.internal/ubuntu resolute-proposed/main arm64 Packages [270 kB] 55s Get:10 http://ftpmaster.internal/ubuntu resolute-proposed/main arm64 c-n-f Metadata [6636 B] 55s Get:11 http://ftpmaster.internal/ubuntu resolute-proposed/restricted arm64 Packages [136 kB] 55s Get:12 http://ftpmaster.internal/ubuntu resolute-proposed/restricted arm64 c-n-f Metadata [328 B] 55s Get:13 http://ftpmaster.internal/ubuntu resolute-proposed/universe arm64 Packages [1424 kB] 55s Get:14 http://ftpmaster.internal/ubuntu resolute-proposed/universe arm64 c-n-f Metadata [35.7 kB] 55s Get:15 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse arm64 Packages [24.5 kB] 55s Get:16 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse arm64 c-n-f Metadata [788 B] 57s Fetched 3982 kB in 1s (4137 kB/s) 57s Reading package lists... 58s Hit:1 http://ftpmaster.internal/ubuntu resolute-proposed InRelease 58s Hit:2 http://ftpmaster.internal/ubuntu resolute InRelease 58s Hit:3 http://ftpmaster.internal/ubuntu resolute-updates InRelease 59s Hit:4 http://ftpmaster.internal/ubuntu resolute-security InRelease 59s Reading package lists... 59s Reading package lists... 60s Building dependency tree... 60s Reading state information... 60s Calculating upgrade... 60s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 61s autopkgtest [02:00:23]: upgrading testbed (apt dist-upgrade and autopurge) 61s Reading package lists... 61s Building dependency tree... 61s Reading state information... 61s Calculating upgrade... 62s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 62s Reading package lists... 62s Building dependency tree... 62s Reading state information... 62s Solving dependencies... 63s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 65s autopkgtest [02:00:27]: testbed running kernel: Linux 6.18.0-9-generic #9-Ubuntu SMP PREEMPT_DYNAMIC Mon Jan 12 16:41:39 UTC 2026 65s autopkgtest [02:00:27]: @@@@@@@@@@@@@@@@@@@@ apt-source ruby-concurrent 68s Get:1 http://ftpmaster.internal/ubuntu resolute/universe ruby-concurrent 1.3.4-1 (dsc) [1707 B] 68s Get:2 http://ftpmaster.internal/ubuntu resolute/universe ruby-concurrent 1.3.4-1 (tar) [1005 kB] 68s Get:3 http://ftpmaster.internal/ubuntu resolute/universe ruby-concurrent 1.3.4-1 (diff) [6016 B] 68s gpgv: Signature made Tue Feb 4 18:01:40 2025 UTC 68s gpgv: using EDDSA key 84CFFDC21520F88306EC29D152699AB63F9F2BC3 68s gpgv: Can't check signature: No public key 68s dpkg-source: warning: cannot verify inline signature for ./ruby-concurrent_1.3.4-1.dsc: no acceptable signature found 68s autopkgtest [02:00:30]: testing package ruby-concurrent version 1.3.4-1 68s autopkgtest [02:00:30]: build not needed 69s autopkgtest [02:00:31]: test ruby: preparing testbed 69s Reading package lists... 69s Building dependency tree... 69s Reading state information... 69s Solving dependencies... 70s The following NEW packages will be installed: 70s gem2deb-test-runner libruby libruby3.3 rake ruby ruby-concurrent 70s ruby-concurrent-ext ruby-csv ruby-did-you-mean ruby-diff-lcs ruby-minitest 70s ruby-net-telnet ruby-power-assert ruby-rspec ruby-rspec-core 70s ruby-rspec-expectations ruby-rspec-mocks ruby-rspec-support 70s ruby-ruby2-keywords ruby-rubygems ruby-test-unit ruby-timecop ruby-webrick 70s ruby-xmlrpc ruby3.3 rubygems-integration 70s 0 upgraded, 26 newly installed, 0 to remove and 0 not upgraded. 70s Need to get 7271 kB of archives. 70s After this operation, 41.0 MB of additional disk space will be used. 70s Get:1 http://ftpmaster.internal/ubuntu resolute/main arm64 rubygems-integration all 1.19build1 [5666 B] 70s Get:2 http://ftpmaster.internal/ubuntu resolute/main arm64 ruby-csv all 3.3.4-1 [43.0 kB] 70s Get:3 http://ftpmaster.internal/ubuntu resolute/main arm64 ruby-did-you-mean all 1.6.3-2build1 [14.9 kB] 70s Get:4 http://ftpmaster.internal/ubuntu resolute/main arm64 ruby-net-telnet all 0.2.0-1build1 [13.5 kB] 70s Get:5 http://ftpmaster.internal/ubuntu resolute/main arm64 ruby-ruby2-keywords all 0.0.5-1build1 [4398 B] 70s Get:6 http://ftpmaster.internal/ubuntu resolute/main arm64 ruby-webrick all 1.9.1-1build1 [60.9 kB] 70s Get:7 http://ftpmaster.internal/ubuntu resolute/main arm64 ruby-xmlrpc all 0.3.3-2build1 [24.9 kB] 70s Get:8 http://ftpmaster.internal/ubuntu resolute-proposed/main arm64 libruby3.3 arm64 3.3.8-2ubuntu3 [5827 kB] 71s Get:9 http://ftpmaster.internal/ubuntu resolute-proposed/main arm64 ruby3.3 arm64 3.3.8-2ubuntu3 [49.1 kB] 71s Get:10 http://ftpmaster.internal/ubuntu resolute/main arm64 libruby arm64 1:3.3 [5164 B] 71s Get:11 http://ftpmaster.internal/ubuntu resolute/main arm64 ruby-rubygems all 3.6.7-2ubuntu2 [332 kB] 71s Get:12 http://ftpmaster.internal/ubuntu resolute/main arm64 ruby arm64 1:3.3 [3668 B] 71s Get:13 http://ftpmaster.internal/ubuntu resolute/main arm64 rake all 13.2.1-1build1 [45.9 kB] 71s Get:14 http://ftpmaster.internal/ubuntu resolute/universe arm64 ruby-minitest all 5.26.1-1 [49.3 kB] 71s Get:15 http://ftpmaster.internal/ubuntu resolute/universe arm64 ruby-power-assert all 2.0.5-1 [12.0 kB] 71s Get:16 http://ftpmaster.internal/ubuntu resolute/universe arm64 ruby-test-unit all 3.6.2-1 [67.0 kB] 71s Get:17 http://ftpmaster.internal/ubuntu resolute/universe arm64 gem2deb-test-runner arm64 2.2.5 [18.3 kB] 71s Get:18 http://ftpmaster.internal/ubuntu resolute/universe arm64 ruby-concurrent all 1.3.4-1 [283 kB] 71s Get:19 http://ftpmaster.internal/ubuntu resolute/universe arm64 ruby-concurrent-ext arm64 1.3.4-1 [9284 B] 71s Get:20 http://ftpmaster.internal/ubuntu resolute/universe arm64 ruby-diff-lcs all 1.5.1-1 [22.8 kB] 71s Get:21 http://ftpmaster.internal/ubuntu resolute/universe arm64 ruby-rspec-support all 3.13.0c0e0m0s1-2 [29.2 kB] 71s Get:22 http://ftpmaster.internal/ubuntu resolute/universe arm64 ruby-rspec-core all 3.13.0c0e0m0s1-2 [164 kB] 71s Get:23 http://ftpmaster.internal/ubuntu resolute/universe arm64 ruby-rspec-expectations all 3.13.0c0e0m0s1-2 [89.8 kB] 71s Get:24 http://ftpmaster.internal/ubuntu resolute/universe arm64 ruby-rspec-mocks all 3.13.0c0e0m0s1-2 [81.0 kB] 71s Get:25 http://ftpmaster.internal/ubuntu resolute/universe arm64 ruby-rspec all 3.13.0c0e0m0s1-2 [3500 B] 71s Get:26 http://ftpmaster.internal/ubuntu resolute/universe arm64 ruby-timecop all 0.9.10-1.1 [11.5 kB] 71s Fetched 7271 kB in 1s (6249 kB/s) 71s Selecting previously unselected package rubygems-integration. 71s (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 ... 89360 files and directories currently installed.) 71s Preparing to unpack .../00-rubygems-integration_1.19build1_all.deb ... 71s Unpacking rubygems-integration (1.19build1) ... 71s Selecting previously unselected package ruby-csv. 71s Preparing to unpack .../01-ruby-csv_3.3.4-1_all.deb ... 71s Unpacking ruby-csv (3.3.4-1) ... 72s Selecting previously unselected package ruby-did-you-mean. 72s Preparing to unpack .../02-ruby-did-you-mean_1.6.3-2build1_all.deb ... 72s Unpacking ruby-did-you-mean (1.6.3-2build1) ... 72s Selecting previously unselected package ruby-net-telnet. 72s Preparing to unpack .../03-ruby-net-telnet_0.2.0-1build1_all.deb ... 72s Unpacking ruby-net-telnet (0.2.0-1build1) ... 72s Selecting previously unselected package ruby-ruby2-keywords. 72s Preparing to unpack .../04-ruby-ruby2-keywords_0.0.5-1build1_all.deb ... 72s Unpacking ruby-ruby2-keywords (0.0.5-1build1) ... 72s Selecting previously unselected package ruby-webrick. 72s Preparing to unpack .../05-ruby-webrick_1.9.1-1build1_all.deb ... 72s Unpacking ruby-webrick (1.9.1-1build1) ... 72s Selecting previously unselected package ruby-xmlrpc. 72s Preparing to unpack .../06-ruby-xmlrpc_0.3.3-2build1_all.deb ... 72s Unpacking ruby-xmlrpc (0.3.3-2build1) ... 72s Selecting previously unselected package libruby3.3:arm64. 72s Preparing to unpack .../07-libruby3.3_3.3.8-2ubuntu3_arm64.deb ... 72s Unpacking libruby3.3:arm64 (3.3.8-2ubuntu3) ... 72s Selecting previously unselected package ruby3.3. 72s Preparing to unpack .../08-ruby3.3_3.3.8-2ubuntu3_arm64.deb ... 72s Unpacking ruby3.3 (3.3.8-2ubuntu3) ... 72s Selecting previously unselected package libruby:arm64. 72s Preparing to unpack .../09-libruby_1%3a3.3_arm64.deb ... 72s Unpacking libruby:arm64 (1:3.3) ... 72s Selecting previously unselected package ruby-rubygems. 72s Preparing to unpack .../10-ruby-rubygems_3.6.7-2ubuntu2_all.deb ... 72s Unpacking ruby-rubygems (3.6.7-2ubuntu2) ... 72s Selecting previously unselected package ruby. 72s Preparing to unpack .../11-ruby_1%3a3.3_arm64.deb ... 72s Unpacking ruby (1:3.3) ... 72s Selecting previously unselected package rake. 72s Preparing to unpack .../12-rake_13.2.1-1build1_all.deb ... 72s Unpacking rake (13.2.1-1build1) ... 72s Selecting previously unselected package ruby-minitest. 72s Preparing to unpack .../13-ruby-minitest_5.26.1-1_all.deb ... 72s Unpacking ruby-minitest (5.26.1-1) ... 72s Selecting previously unselected package ruby-power-assert. 72s Preparing to unpack .../14-ruby-power-assert_2.0.5-1_all.deb ... 72s Unpacking ruby-power-assert (2.0.5-1) ... 72s Selecting previously unselected package ruby-test-unit. 72s Preparing to unpack .../15-ruby-test-unit_3.6.2-1_all.deb ... 72s Unpacking ruby-test-unit (3.6.2-1) ... 72s Selecting previously unselected package gem2deb-test-runner. 72s Preparing to unpack .../16-gem2deb-test-runner_2.2.5_arm64.deb ... 72s Unpacking gem2deb-test-runner (2.2.5) ... 72s Selecting previously unselected package ruby-concurrent. 72s Preparing to unpack .../17-ruby-concurrent_1.3.4-1_all.deb ... 72s Unpacking ruby-concurrent (1.3.4-1) ... 72s Selecting previously unselected package ruby-concurrent-ext. 72s Preparing to unpack .../18-ruby-concurrent-ext_1.3.4-1_arm64.deb ... 72s Unpacking ruby-concurrent-ext (1.3.4-1) ... 72s Selecting previously unselected package ruby-diff-lcs. 72s Preparing to unpack .../19-ruby-diff-lcs_1.5.1-1_all.deb ... 72s Unpacking ruby-diff-lcs (1.5.1-1) ... 72s Selecting previously unselected package ruby-rspec-support. 72s Preparing to unpack .../20-ruby-rspec-support_3.13.0c0e0m0s1-2_all.deb ... 72s Unpacking ruby-rspec-support (3.13.0c0e0m0s1-2) ... 72s Selecting previously unselected package ruby-rspec-core. 73s Preparing to unpack .../21-ruby-rspec-core_3.13.0c0e0m0s1-2_all.deb ... 73s Unpacking ruby-rspec-core (3.13.0c0e0m0s1-2) ... 73s Selecting previously unselected package ruby-rspec-expectations. 73s Preparing to unpack .../22-ruby-rspec-expectations_3.13.0c0e0m0s1-2_all.deb ... 73s Unpacking ruby-rspec-expectations (3.13.0c0e0m0s1-2) ... 73s Selecting previously unselected package ruby-rspec-mocks. 73s Preparing to unpack .../23-ruby-rspec-mocks_3.13.0c0e0m0s1-2_all.deb ... 73s Unpacking ruby-rspec-mocks (3.13.0c0e0m0s1-2) ... 73s Selecting previously unselected package ruby-rspec. 73s Preparing to unpack .../24-ruby-rspec_3.13.0c0e0m0s1-2_all.deb ... 73s Unpacking ruby-rspec (3.13.0c0e0m0s1-2) ... 73s Selecting previously unselected package ruby-timecop. 73s Preparing to unpack .../25-ruby-timecop_0.9.10-1.1_all.deb ... 73s Unpacking ruby-timecop (0.9.10-1.1) ... 73s Setting up ruby-ruby2-keywords (0.0.5-1build1) ... 73s Setting up ruby-power-assert (2.0.5-1) ... 73s Setting up rubygems-integration (1.19build1) ... 73s Setting up ruby-concurrent (1.3.4-1) ... 73s Setting up ruby-timecop (0.9.10-1.1) ... 73s Setting up ruby-minitest (5.26.1-1) ... 73s Setting up ruby-test-unit (3.6.2-1) ... 73s Setting up ruby-net-telnet (0.2.0-1build1) ... 73s Setting up ruby-csv (3.3.4-1) ... 73s Setting up ruby-rspec-support (3.13.0c0e0m0s1-2) ... 73s Setting up ruby-webrick (1.9.1-1build1) ... 73s Setting up ruby-did-you-mean (1.6.3-2build1) ... 73s Setting up ruby-xmlrpc (0.3.3-2build1) ... 73s Setting up rake (13.2.1-1build1) ... 73s Setting up libruby3.3:arm64 (3.3.8-2ubuntu3) ... 73s Setting up ruby3.3 (3.3.8-2ubuntu3) ... 73s Setting up libruby:arm64 (1:3.3) ... 73s Setting up ruby (1:3.3) ... 73s Setting up ruby-rspec-core (3.13.0c0e0m0s1-2) ... 73s Setting up ruby-diff-lcs (1.5.1-1) ... 73s Setting up ruby-rubygems (3.6.7-2ubuntu2) ... 73s Setting up gem2deb-test-runner (2.2.5) ... 73s Setting up ruby-concurrent-ext (1.3.4-1) ... 73s Setting up ruby-rspec-expectations (3.13.0c0e0m0s1-2) ... 73s Setting up ruby-rspec-mocks (3.13.0c0e0m0s1-2) ... 73s Setting up ruby-rspec (3.13.0c0e0m0s1-2) ... 73s Processing triggers for libc-bin (2.42-2ubuntu4) ... 73s Processing triggers for man-db (2.13.1-1) ... 74s autopkgtest [02:00:36]: 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 74s autopkgtest [02:00:36]: test ruby: [----------------------- 75s 75s ┌──────────────────────────────────────────────────────────────────────────────┐ 75s │ Run tests for ruby3.3 from debian/ruby-tests.rake │ 75s └──────────────────────────────────────────────────────────────────────────────┘ 75s 75s RUBYLIB=. GEM_PATH= ruby3.3 -S rake --rakelibdir /gem2deb-nonexistent -f debian/ruby-tests.rake 75s mv lib ./.gem2deb.lib 75s mv ext ./.gem2deb.ext 75s /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 76s Run options: exclude {:stress=>true} 76s 76s Randomized with seed 1 76s 76s Concurrent::IVar 76s #initialize 76s can set an initial value 76s does not have to set an initial value 76s can set an initial value with a block 76s does not set an initial value if you pass NULL 76s raises an exception if given both a value and a block 76s observation 76s notifies all observers on #set 76s deadlock avoidance 76s should notify observers outside mutex lock 76s should notify a new observer added after fulfillment outside lock 76s it should behave like ivar 76s initialization 76s sets the state to incomplete 76s it should behave like dereferenceable 76s does not call #freeze when #freeze_on_deref is set and the value is nil 76s defaults :copy_on_deref to nil 76s defaults :dup_on_deref to false 76s supports dereference flags with observers 76s calls #freeze when the :freeze_on_deref option is true 76s defaults :freeze_on_deref to false 76s does not call #dup when #dup_on_deref is set and the value is nil 76s calls #dup when the :dup_on_deref option is true 76s calls the block when the :copy_on_deref option is passed a proc 76s does not call the #copy_on_deref block when the value is nil 76s calls the :copy block first followed by #dup followed by #freeze 76s it should behave like obligation 76s #value 76s returns nil when reaching the optional timeout value 76s is nil when :pending 76s blocks the caller when :pending and timeout is nil 76s returns the value when fulfilled before timeout 76s is set to the return value of the block when :fulfilled 76s is nil when :rejected 76s returns nil when timeout reached 76s returns immediately when timeout is zero 76s #state 76s is :pending when first created 76s is :fulfilled when the handler completes 76s is :rejected when the handler raises an exception 76s #reason 76s is nil when :fulfilled 76s is set to error object of the exception when :rejected 76s is nil when :pending 76s it should behave like observable 76s #delete_observer 76s deletes the given observer if called before first notification 76s returns the given observer even when not found in the observer set 76s returns the removed observer if found in the observer set 76s #add_observer 76s raises an exception if not given an observer or a block 76s adds an observer if called before first notification 76s raises an exception when given both an observer and a block 76s creates an observer from a block if called before first notification 76s adds an observer with :func if called before first notification 76s first notification 77s does not notify any observers after #delete_observers called 77s calls the appropriate function on all observers which specified a :func 78s does not notify any observers removed with #delete_observer 78s calls the proc for all observers added as a block 78s calls the #update method on all observers without a specified :func 78s #count_observers 78s returns zero for a new observable object 78s returns a count of registered observers if called before first notification 78s returns zero after #delete_observers has been called 78s #delete_observers 78s deletes all observers when called before first notification 78s returns self 78s #set 78s raises an exception when given neither a value nor a block 78s raises an exception if set more than once 78s rejects when given a block which raises an exception 78s returns self 78s sets the state to be fulfilled 78s fulfils when given a block which executes successfully 78s raises an exception when given a value and a block 78s sets the value 78s #fail 78s sets the reason to the given exception 78s raises an exception if set more than once 78s sets the value to be nil 78s returns self 78s defaults the reason to a StandardError 78s sets the state to be rejected 78s #try_set 78s when unset 78s assigns the value 78s assigns the block result 78s returns true 78s when rejected 78s does not assign the block result 78s returns false 78s has a nil value 78s does not assign the value 78s when fulfilled 78s does not assign the value 78s returns false 78s does not assign the block result 78s 78s Concurrent::LazyRegister 78s example at ./spec/concurrent/lazy_register_spec.rb:6 (PENDING: Not yet implemented) 78s 78s dataflow 78s #dataflow uses the global fast executor 78s #dataflow_with raises an exception when no executor given 78s raises an exception when no block given 78s accepts completed dependencies 78s doesn't raise exceptions from dependencies, unless called with ! 78s returns a Future 78s accepts zero or more dependencies 78s accepts uncompleted dependencies 78s #dataflow_with uses the given executor 78s raises an exception if any dependencies are not IVars 78s passes the values of dependencies into the block 78s if there is more than one 78s if there is just one 78s does not schedule the Future 78s if no dependencies are completed 78s if one dependency of two is completed 78s module function 78s can be called as Concurrent.dataflow and Concurrent.dataflow_with 78s counts already executed dependencies 78s if there is more than one 78s if there is just one 78s schedules the Future when all dependencies are available 78s if there is more than one 78s if there is just one 78s 78s Concurrent::MutableStruct 78s #[member]= 78s sets the value when given a valid string member 78s sets the value when given a valid symbol member 78s raises an exception when given a non-existent symbol member 78s raises an exception when given a non-existent string member 78s synchronization 78s protects #[member] 78s protects #values 78s protects #to_h 78s protects getter methods 78s protects #each_pair 78s protects getter methods 78s protects #inspect 78s protects #[member]= 78s protects #to_s 78s protects #values_at 78s protects #merge 78s protects #initialize_copy 78s protects #[index]= 78s protects #== 78s protects #each 78s protects #[index] 78s protects #select 78s definition 78s defines a setter for each member 78s copy 78s #clone 78s mutates only the copy 78s #dup 78s mutates only the copy 78s #[index]= 78s sets the value when given a valid index 78s raises an exception when given an out-of-bound index 78s it should behave like struct 78s properties 78s #members 78s returns a different object than the array passed at definition 78s returns the struct members as an array of symbols 78s #size 78s returns the number of struct members 78s #values 78s returns the values of the struct as an array in order 78s #values_at 78s returns values for ranges and offsets 78s returns the values at multiple given offsets 78s returns values at offsets in a given range 78s returns the value at the given offset 78s returns values for multiple ranges 78s #length 78s returns the number of struct members 78s comparison 78s #!= 78s returns false if other has same struct subclass and equal values 78s returns true if other has different values 78s returns true if other has different struct subclass 78s #== 78s returns true if other has same struct subclass and equal values 78s returns false if other has different struct subclass 78s returns false if other has different values 78s definition 78s registers the class when given a class name which is defined in the ancestors 78s raises an exception when given an invalid class name 78s raises an exception when given no members 78s raise an exception when given an invalid member 78s defines a getter for each member 78s registers the class when given a class name 78s evalues a given block against the new class 78s creates an anonymous class when given at least one member 78s conversion 78s #to_a 78s returns the to_a for this struct as an array 78s #to_s 78s returns the same string as #inspect 78s includes the name of the class when registered 78s includes the names of all members 78s includes all values 78s #to_h 78s returns a Hash containing the names and values in order 78s accessors 78s #[index] 78s retrieves the value when given a valid index 78s raises an exception when given an out-of-bound index 78s #[member] 78s retrieves the value when given a valid string member 78s raises an exception when given a non-existent string member 78s raises an exception when given a non-existent symbol member 78s retrieves the value when given a valid symbol member 78s enumeration 78s #select 78s yields each value 78s returns an enumerator when no block is given 78s returns an Array with the values from for which the block returns true 78s #each 78s returns an enumerator when no block is given 78s yields the value of each struct member in order 78s #each_pair 78s returns an enumerator when no block is given 78s yields the name and value of each struct member in order 78s construction 78s raises an exception when extra members are given 78s sets all absent members to nil 78s sets all given members in order 78s copy 78s #dup 78s discards singleton class 78s shallowly duplicates all members along with the struct 78s discards frozen state of the struct 78s retains frozen state of members 78s copies the singleton class of members 78s #clone 78s retains frozen state 78s copies the singleton class 78s copies the singleton class of members 78s shallowly clones all members along with the struct 78s it should behave like mergeable_struct 78s #merge 78s calls the given block for each key in `other` 78s raises an exception when given a hash with members not in the struct 78s returns a new object 78s retains the value for all members not without values in the given hash 78s updates all members with the new values from a given hash 78s 78s Concurrent 78s Cancellation 78s basic 78s is expected to be falsey 78s is expected to be truthy 78s #join 78s is expected to eq 2 78s is expected to be falsey 78s 78s #atomically 78s provides atomicity 78s raises an exception when no block given 78s reflects transactional writes from within the same transaction 78s undoes writes if the transaction is aborted 78s commits writes if the transaction succeeds 78s retries on abort 78s nests 78s raises the same exception that was raised in Concurrent::atomically 78s 78s Concurrent::Set 78s .[] 78s when initializing with arguments 78s creates a set with the given objects 78s when initializing with no arguments 78s is expected to be empty 78s .new 78s when initializing with no arguments 78s is expected to be empty 78s when initializing with an enumerable object 78s creates a set with the contents of the enumerable object 78s when initializing with a block argument 78s creates a set with the contents of the enumerable object 78s concurrency 78s #each 78s force context switch 79s #add and #delete 79s 79s Concurrent::Delay 79s #reconfigure 79s returns value of block used in reconfiguration 79s returns false when process completed? 79s #value 79s can be called twice 80s calls the block when #value is called 80s raises when called recursively 80s does not call the block before #value is called 80s only calls the block once no matter how often #value is called 80s behavior 80s it should behave like dereferenceable 80s calls the block when the :copy_on_deref option is passed a proc 80s defaults :copy_on_deref to nil 80s does not call #freeze when #freeze_on_deref is set and the value is nil 80s calls #dup when the :dup_on_deref option is true 80s does not call #dup when #dup_on_deref is set and the value is nil 80s defaults :dup_on_deref to false 80s supports dereference flags with observers 80s does not call the #copy_on_deref block when the value is nil 80s calls the :copy block first followed by #dup followed by #freeze 80s defaults :freeze_on_deref to false 80s calls #freeze when the :freeze_on_deref option is true 80s it should behave like obligation 80s #reason 80s is nil when :pending 80s is nil when :fulfilled 80s is set to error object of the exception when :rejected 80s #value 80s is nil when :rejected 80s is set to the return value of the block when :fulfilled 80s returns immediately when timeout is zero 80s blocks the caller when :pending and timeout is nil 80s returns nil when reaching the optional timeout value 80s returns nil when timeout reached 80s returns the value when fulfilled before timeout 80s is nil when :pending 80s #state 80s is :pending when first created 80s is :rejected when the handler raises an exception 80s is :fulfilled when the handler completes 80s #initialize 80s raises an exception when no block given 80s sets the state to :pending 80s 80s Concurrent::Promise 80s #rescue 80s returns a new promise 80s it should behave like thread_arguments 80s passes a one-element array when the :args key has a non-array value 80s passes an empty array when opts is not given 80s passes an empty array when the :args key has a nil value 80s passes an empty array when opts is an empty hash 80s allows the given arguments array to be dereferenced 80s passes the given array when the :args key has a complex array value 80s passes an array when when the :args key has an array value 80s passes an empty array when there is no :args key 80s aliases 80s aliases #realized? for #fulfilled? 80s aliases #catch for #rescue 80s aliases #deref for #value 80s aliases #on_error for #rescue 80s fulfillment 80s can manage long chain 80s sets the promise state to :fulfilled if the block completes 80s passes the result of each block to all its children 80s sets the promise value to the result if its block 80s uses result as fulfillment value when a promise has no block 80s passes the last result through when a promise has no block 80s #fail 80s can only be called on the root promise 80s rejects children 80s #set 80s triggers children 80s can be called with a block 80s #can only be called on the root promise 80s rejection 80s sets the promise value to the result if its block 80s passes the reason to all its children 80s rejects on Exception 80s sets the promise state to :rejected if the block completes 80s uses reason as rejection reason when a promise has no rescue callable 80s .zip 80s does not execute the returned Promise when execute is false 80s preserves ordering of the executed promises 80s executes the returned Promise by default 80s allows setting executor for Promise chain 80s fails if one component fails 80s executes the returned Promise when execute is true 80s yields the results as an array 80s aggregators 80s .any? 80s executes the #then condition when any components succeed 80s executes the #rescue handler if all componenst fail 80s does not execute the returned Promise 80s returns a new Promise 80s executes the #then condition when no promises are given 80s .all? 80s executes the #then condition when all components succeed 80s executes the #rescue handler if even one component fails 80s returns a new Promise 80s does not execute the returned Promise 80s executes the #then condition when no promises are given 80s initializers 80s .execute 80s passes the block to the new Promise 80s calls #execute on the new Promise 80s creates a new Promise 80s .fulfill 80s should return a Promise with set value 80s should return a fulfilled Promise 80s should return a Promise 80s .reject 80s should return a Promise with set reason 80s should return a Promise 80s should return a rejected Promise 80s .new 80s should return an unscheduled Promise 80s #then 80s should have block or rescuers 80s returns a new promise when a block and rescuer are passed 80s returns a new promise when a block is passed 80s returns a new promise when a rescuer is passed 80s can be called more than once 80s supports setting the executor using a named parameter 80s returns a new promise when a block, rescuer and executor are passed 80s fulfilled 80s returns a new Promise 80s notifies fulfillment to new child 80s rejected 80s returns a new Promise when :rejected 80s notifies rejection to new child 80s pending 80s returns a new promise 80s returns a pending promise 80s unscheduled 80s returns a new promise 80s returns an unscheduled promise 80s on_success 80s returns a new promise 80s should have a block 80s #execute 80s with children 80s when called on a child 81s should set all promises to :pending 81s when called on child after parent completes 81s sets state to :pending immediately 81s when called on the root 82s should set all promises to :pending 82s pending 82s does not post again 82s sets the promise to :pending 82s unscheduled 82s posts the block given in construction 83s sets the promise to :pending 83s #flat_map 83s returns a promise 83s fails if the left promise fails 83s fails if the right promise fails 83s fails if the generating block fails 83s succeeds if both promises succeed 83s #zip 83s allows setting executor for Promise chain 83s fails if one component fails 83s executes the returned Promise when execute is true 83s does not execute the returned Promise when execute is false 83s executes the returned Promise by default 83s preserves ordering of the executed promises 83s yields the results as an array 83s it should behave like ivar 83s #set 83s raises an exception if set more than once 83s returns self 83s raises an exception when given neither a value nor a block 83s raises an exception when given a value and a block 83s rejects when given a block which raises an exception 83s sets the state to be fulfilled 83s sets the value 83s fulfils when given a block which executes successfully 83s #try_set 83s when fulfilled 83s returns false 83s does not assign the value 83s does not assign the block result 83s when rejected 83s returns false 83s does not assign the block result 83s has a nil value 83s does not assign the value 83s when unset 83s returns true 83s assigns the value 83s assigns the block result 83s it should behave like observable 83s #add_observer 83s adds an observer with :func if called before first notification 83s raises an exception if not given an observer or a block 83s creates an observer from a block if called before first notification 83s adds an observer if called before first notification 83s raises an exception when given both an observer and a block 83s #count_observers 83s returns zero for a new observable object 83s returns a count of registered observers if called before first notification 83s returns zero after #delete_observers has been called 83s first notification 84s does not notify any observers removed with #delete_observer 85s does not notify any observers after #delete_observers called 85s calls the proc for all observers added as a block 86s calls the appropriate function on all observers which specified a :func 86s calls the #update method on all observers without a specified :func 86s #delete_observer 86s returns the given observer even when not found in the observer set 86s returns the removed observer if found in the observer set 86s deletes the given observer if called before first notification 86s #delete_observers 86s returns self 86s deletes all observers when called before first notification 86s initialization 86s sets the state to incomplete 86s #fail 86s sets the state to be rejected 86s sets the value to be nil 86s raises an exception if set more than once 86s defaults the reason to a StandardError 86s sets the reason to the given exception 86s returns self 86s it should behave like dereferenceable 86s calls the block when the :copy_on_deref option is passed a proc 86s defaults :copy_on_deref to nil 86s does not call #freeze when #freeze_on_deref is set and the value is nil 87s calls #dup when the :dup_on_deref option is true 87s supports dereference flags with observers 87s calls #freeze when the :freeze_on_deref option is true 87s calls the :copy block first followed by #dup followed by #freeze 87s defaults :dup_on_deref to false 88s defaults :freeze_on_deref to false 88s does not call #dup when #dup_on_deref is set and the value is nil 88s does not call the #copy_on_deref block when the value is nil 88s it should behave like obligation 88s #value 93s blocks the caller when :pending and timeout is nil 93s returns nil when reaching the optional timeout value 93s is set to the return value of the block when :fulfilled 93s is nil when :pending 93s returns nil when timeout reached 93s returns immediately when timeout is zero 93s is nil when :rejected 98s returns the value when fulfilled before timeout 98s #reason 98s is nil when :fulfilled 98s is nil when :pending 98s is set to error object of the exception when :rejected 98s #state 98s is :pending when first created 98s is :fulfilled when the handler completes 98s is :rejected when the handler raises an exception 98s 98s Concurrent::TVar 98s #value 98s gets the value 98s #initialize 98s accepts an initial value 98s #value= 98s sets the value 98s 98s Concurrent::Async 98s object creation 98s initializes synchronization 98s passes all args to the original constructor 98s delegates to the original constructor 98s passes a given block to the original constructor 98s #await 98s raises an error when calling a method that does not exist 98s raises an error when passing too few arguments 98s sets the reason when giving too many optional arguments 98s supports methods with blocks 98s sets the value on success 98s supports attribute accessors 98s returns a :fulfilled IVar 98s runs the future on the global executor 98s returns the existence of the method 98s raises an error when pasing too many arguments (arity >= 0) 98s sets the reason on failure 98s #validate_argc 98s raises an exception for too many args on a method with positive arity 98s raises an exception for too many args on a zero arity method 98s does not raise an exception for correct negative arity 98s raises an exception for too few args on a method with negative arity 98s raises an exception when the method is not defined 98s raises an exception for too few args on a method with positive arity 98s does not raise an exception for correct positive arity 98s does not raise an exception for correct zero arity 98s fork safety 98s does not hang when forked 98s locking 98s uses the same lock for both #async and #await 98s #async 98s sets the reason on failure 98s raises an error when calling a method that does not exist 98s supports methods with blocks 98s returns the existence of the method 98s raises an error when passing too few arguments 98s raises an error when pasing too many arguments (arity >= 0) 98s supports attribute accessors 98s runs the future on the global executor 98s returns a :pending IVar 98s sets the value on success 98s sets the reason when giving too many optional arguments 98s 98s Concurrent::MVar 98s #take 99s returns TIMEOUT on timeout on an empty MVar 99s waits for another thread to #put 99s returns the value on a full MVar 99s sets the MVar to empty 99s spurious wake ups 99s #put 99s returns TIMEOUT on timeout on a full MVar 100s waits for another thread to #take 100s #modify 100s waits for another thread to #put 100s returns TIMEOUT on timeout on an empty MVar 100s #take 101s waits for another thread to #put 101s returns TIMEOUT on timeout on an empty MVar 101s #empty? 101s returns false on a full MVar 101s returns true on an empty MVar 101s #set! 101s sets a full MVar to be full 101s returns EMPTY on an empty MVar 101s sets an empty MVar to be full 101s returns the original value on a full MVar 101s #modify! 101s raises an exception when no block given 101s modifies an empty MVar 101s returns the unmodified value 101s can be used to set an empty MVar to empty 101s can be used to set a full MVar to empty 101s modifies a full MVar 101s #initialize 101s accepts an initial value 101s accepts a nil initial value 101s accepts no initial value 101s accepts an empty initial value 101s #try_take! 101s returns EMPTY an empty MVar 101s returns the value on a full MVar 101s sets a full MVar to be empty 101s #borrow 101s returns TIMEOUT on timeout on an empty MVar 101s yields current value to the block and puts back value 101s returns the returned value of the block 101s puts back value even if an exception is raised 101s #put 101s returns the value 101s sets a new value on an empty MVar 102s waits for another thread to #take 102s sets the MVar to be empty 102s returns TIMEOUT on timeout on a full MVar 102s #full? 102s returns true on a full MVar 102s returns false on an empty MVar 102s #try_put! 102s returns false on a full MVar 102s returns true an empty MVar 102s sets an empty MVar to be full 102s #modify 102s waits for another thread to #put 102s returns TIMEOUT on timeout on an empty MVar 103s is atomic 103s raises an exception when no block given 103s modifies a full MVar 103s returns the unmodified value 103s behavior 103s it should behave like dereferenceable 103s calls the block when the :copy_on_deref option is passed a proc 103s defaults :copy_on_deref to nil 103s supports dereference flags with observers 103s does not call #freeze when #freeze_on_deref is set and the value is nil 103s defaults :dup_on_deref to false 103s does not call #dup when #dup_on_deref is set and the value is nil 103s calls the :copy block first followed by #dup followed by #freeze 103s defaults :freeze_on_deref to false 103s calls #freeze when the :freeze_on_deref option is true 103s does not call the #copy_on_deref block when the value is nil 103s calls #dup when the :dup_on_deref option is true 103s 103s configuration 103s global executors 103s creates a global fast executor 103s creates a global timer set 103s creates a global io executor 103s 103s Concurrent::TimerTask 103s execution 103s uses a custom executor when given 103s waits for :execution_interval seconds when the :run_now option is not given 103s uses a fixed rate when set 104s uses a fixed delay when set 104s passes a "self" reference to the block as the sole argument 104s uses the global executor by default 104s waits for :execution_interval seconds when the :run_now option is false 104s runs the block immediately when the :run_now option is true 104s arguments 104s TimeTask timeouts are now ignored as these were not able to be implemented correctly 104s #timeout_interval being written produces a warning 104s TimeTask timeouts are now ignored as these were not able to be implemented correctly 104s #execution_interval is writeable 104s raises an exception if no block given 104s raises on invalid interval_type 104s observation 104s notifies all observers on error 104s notifies all observers on success 104s dereferenceable 104s it should behave like dereferenceable 104s defaults :freeze_on_deref to false 105s defaults :copy_on_deref to nil 105s calls #freeze when the :freeze_on_deref option is true 105s does not call the #copy_on_deref block when the value is nil 105s does not call #freeze when #freeze_on_deref is set and the value is nil 105s does not call #dup when #dup_on_deref is set and the value is nil 106s calls the block when the :copy_on_deref option is passed a proc 106s defaults :dup_on_deref to false 106s calls the :copy block first followed by #dup followed by #freeze 106s calls #dup when the :dup_on_deref option is true 106s supports dereference flags with observers 106s created with #new 106s #kill 106s returns true on success 106s #shutdown 107s returns true on success 107s #initialize 107s uses the default execution interval when no interval is given 107s uses the given execution interval 107s raises an exception if :execution_interval is not greater than zero 107s uses the default :interval_type when no type is given 107s raises an exception if :execution_interval is not an integer 107s raises an exception if :interval_type is not a valid value 107s uses the given interval type 107s raises an exception if no block given 107s observable 107s it should behave like observable 107s #delete_observer 107s deletes the given observer if called before first notification 107s returns the given observer even when not found in the observer set 107s returns the removed observer if found in the observer set 107s #count_observers 107s returns zero after #delete_observers has been called 107s returns a count of registered observers if called before first notification 107s returns zero for a new observable object 107s #delete_observers 107s returns self 107s deletes all observers when called before first notification 107s first notification 107s calls the #update method on all observers without a specified :func 107s calls the appropriate function on all observers which specified a :func 107s calls the proc for all observers added as a block 108s does not notify any observers removed with #delete_observer 110s does not notify any observers after #delete_observers called 110s #add_observer 110s creates an observer from a block if called before first notification 110s raises an exception if not given an observer or a block 110s raises an exception when given both an observer and a block 110s adds an observer with :func if called before first notification 110s adds an observer if called before first notification 110s 110s Concurrent::Hash 110s .[] 110s when initializing with another hash as an argument 110s creates a hash with the results of calling #to_hash on the other array 110s creates a new hash 110s creates a hash with the same contents as the other hash 110s when initializing with an array of pairs 110s creates a hash using each pair as a (key, value) pair 110s when initializing with no arguments 110s is expected to be empty 110s when initializing with an even number of arguments 110s creates a hash using the odd position arguments as keys and even position arguments as values 110s .new 110s when initialized with a block 110s calls the block for non-existing keys 110s returns the results of calling the block for non-existing key 110s when initializing with no arguments 110s is expected to be empty 110s when initialized with a default object 110s uses the default object for non-existing keys 110s concurrency 110s is expected to be empty 110s 110s Concurrent::SettableStruct 110s it should behave like mergeable_struct 110s #merge 110s raises an exception when given a hash with members not in the struct 110s calls the given block for each key in `other` 110s retains the value for all members not without values in the given hash 110s updates all members with the new values from a given hash 110s returns a new object 110s definition 110s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/settable_struct.rb:121: warning: method redefined; discarding old baz 110s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/synchronization/abstract_struct.rb:161: warning: previous definition of baz was here 110s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/settable_struct.rb:121: warning: method redefined; discarding old baz 110s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/synchronization/abstract_struct.rb:161: warning: previous definition of baz was here 110s defines a setter for each member 110s #[index]= 110s raises an exception when given an out-of-bound index 110s raises an exception when given an index that has already been set 110s sets the value when given a valid index 110s it should behave like struct 110s construction 110s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/settable_struct.rb:121: warning: method redefined; discarding old baz 110s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/synchronization/abstract_struct.rb:161: warning: previous definition of baz was here 110s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/settable_struct.rb:121: warning: method redefined; discarding old baz 110s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/synchronization/abstract_struct.rb:161: warning: previous definition of baz was here 110s sets all absent members to nil 110s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/settable_struct.rb:121: warning: method redefined; discarding old baz 110s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/synchronization/abstract_struct.rb:161: warning: previous definition of baz was here 110s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/settable_struct.rb:121: warning: method redefined; discarding old baz 110s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/synchronization/abstract_struct.rb:161: warning: previous definition of baz was here 110s raises an exception when extra members are given 110s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/settable_struct.rb:121: warning: method redefined; discarding old baz 110s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/synchronization/abstract_struct.rb:161: warning: previous definition of baz was here 110s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/settable_struct.rb:121: warning: method redefined; discarding old baz 110s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/synchronization/abstract_struct.rb:161: warning: previous definition of baz was here 110s sets all given members in order 110s accessors 110s #[member] 110s raises an exception when given a non-existent string member 110s retrieves the value when given a valid string member 110s raises an exception when given a non-existent symbol member 110s retrieves the value when given a valid symbol member 110s #[index] 110s retrieves the value when given a valid index 110s raises an exception when given an out-of-bound index 110s definition 110s evalues a given block against the new class 110s raises an exception when given an invalid class name 110s raises an exception when given no members 110s creates an anonymous class when given at least one member 110s raise an exception when given an invalid member 110s registers the class when given a class name 110s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/settable_struct.rb:121: warning: method redefined; discarding old baz 110s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/synchronization/abstract_struct.rb:161: warning: previous definition of baz was here 110s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/settable_struct.rb:121: warning: method redefined; discarding old baz 110s /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/synchronization/abstract_struct.rb:161: warning: previous definition of baz was here 110s defines a getter for each member 110s /tmp/autopkgtest.V4055I/build.adT/src/spec/concurrent/struct_shared.rb:15: warning: already initialized constant ValidClassName2 110s /tmp/autopkgtest.V4055I/build.adT/src/spec/concurrent/struct_shared.rb:15: warning: previous definition of ValidClassName2 was here 110s registers the class when given a class name which is defined in the ancestors 110s conversion 110s #to_h 110s returns a Hash containing the names and values in order 110s #to_a 110s returns the to_a for this struct as an array 110s #to_s 110s includes all values 110s returns the same string as #inspect 110s includes the name of the class when registered 110s includes the names of all members 110s copy 110s #clone 110s shallowly clones all members along with the struct 110s copies the singleton class 110s copies the singleton class of members 110s retains frozen state 110s #dup 110s shallowly duplicates all members along with the struct 110s retains frozen state of members 110s discards singleton class 110s discards frozen state of the struct 110s copies the singleton class of members 110s properties 110s #values_at 110s returns values at offsets in a given range 110s returns values for multiple ranges 110s returns the values at multiple given offsets 110s returns the value at the given offset 110s returns values for ranges and offsets 110s #size 110s returns the number of struct members 110s #members 110s returns the struct members as an array of symbols 110s returns a different object than the array passed at definition 110s #values 110s returns the values of the struct as an array in order 110s #length 110s returns the number of struct members 110s enumeration 110s #each_pair 110s returns an enumerator when no block is given 110s yields the name and value of each struct member in order 110s #select 110s yields each value 110s returns an Array with the values from for which the block returns true 110s returns an enumerator when no block is given 110s #each 110s yields the value of each struct member in order 110s returns an enumerator when no block is given 110s comparison 110s #!= 110s returns true if other has different values 110s returns true if other has different struct subclass 110s returns false if other has same struct subclass and equal values 110s #== 110s returns true if other has same struct subclass and equal values 110s returns false if other has different values 110s returns false if other has different struct subclass 110s #[member]= 110s raises an exception when given a string member that has already been set 110s sets the value when given a valid string member 110s raises an exception when given a non-existent string member 110s raises an exception when given a symbol member that has already been set 110s raises an exception when given a non-existent symbol member 110s sets the value when given a valid symbol member 110s synchronization 110s protects getter methods 110s protects #select 110s protects #each_pair 110s protects #inspect 110s protects #[index] 110s protects getter methods 110s protects #to_h 110s protects #initialize_copy 110s protects #[member]= 110s protects #each 110s protects #[index]= 110s protects #values 110s protects #== 110s protects #[member] 110s protects #values_at 110s protects #to_s 110s protects #merge 110s copy 110s #clone 110s retains settability of members 110s #dup 110s retains settability of members 110s 110s Concurrent::ImmutableStruct 110s it should behave like struct 110s accessors 110s #[member] 110s retrieves the value when given a valid string member 110s retrieves the value when given a valid symbol member 110s raises an exception when given a non-existent string member 110s raises an exception when given a non-existent symbol member 110s #[index] 110s retrieves the value when given a valid index 110s raises an exception when given an out-of-bound index 110s definition 110s evalues a given block against the new class 110s raise an exception when given an invalid member 110s defines a getter for each member 110s creates an anonymous class when given at least one member 110s /tmp/autopkgtest.V4055I/build.adT/src/spec/concurrent/struct_shared.rb:15: warning: already initialized constant ValidClassName2 110s /tmp/autopkgtest.V4055I/build.adT/src/spec/concurrent/struct_shared.rb:15: warning: previous definition of ValidClassName2 was here 110s registers the class when given a class name which is defined in the ancestors 110s raises an exception when given an invalid class name 110s raises an exception when given no members 110s registers the class when given a class name 110s conversion 110s #to_s 110s returns the same string as #inspect 110s includes the names of all members 110s includes the name of the class when registered 110s includes all values 110s #to_a 110s returns the to_a for this struct as an array 110s #to_h 110s returns a Hash containing the names and values in order 110s properties 110s #values_at 110s returns values for multiple ranges 110s returns the values at multiple given offsets 110s returns values for ranges and offsets 110s returns values at offsets in a given range 110s returns the value at the given offset 110s #members 110s returns the struct members as an array of symbols 110s returns a different object than the array passed at definition 110s #size 110s returns the number of struct members 110s #length 110s returns the number of struct members 110s #values 110s returns the values of the struct as an array in order 110s comparison 110s #!= 110s returns false if other has same struct subclass and equal values 110s returns true if other has different struct subclass 110s returns true if other has different values 110s #== 110s returns true if other has same struct subclass and equal values 110s returns false if other has different struct subclass 110s returns false if other has different values 110s copy 110s #dup 110s shallowly duplicates all members along with the struct 110s discards frozen state of the struct 110s retains frozen state of members 110s discards singleton class 110s copies the singleton class of members 110s #clone 110s copies the singleton class 110s retains frozen state 110s copies the singleton class of members 110s shallowly clones all members along with the struct 110s construction 110s raises an exception when extra members are given 110s sets all given members in order 110s sets all absent members to nil 110s enumeration 110s #each_pair 110s yields the name and value of each struct member in order 110s returns an enumerator when no block is given 110s #each 110s returns an enumerator when no block is given 110s yields the value of each struct member in order 110s #select 110s returns an enumerator when no block is given 110s yields each value 110s returns an Array with the values from for which the block returns true 110s it should behave like mergeable_struct 110s #merge 110s raises an exception when given a hash with members not in the struct 110s returns a new object 110s updates all members with the new values from a given hash 110s retains the value for all members not without values in the given hash 110s calls the given block for each key in `other` 110s 110s Concurrent::Array 110s concurrency 110s is expected to be empty 110s .new 110s when initializing with a size argument 110s creates an array with size elements set to nil 110s when initializing with a block argument 110s creates an array with size elements set to the default value 110s when initializing with a default value argument 110s creates an array with size elements set to the default value 110s when initializing with no arguments 110s is expected to be empty 110s when initializing with another array as an argument 110s creates an array with the results of calling #to_ary on the other array 110s creates an array with the same contents as the other array 110s creates a new array 110s .[] 110s when initializing with no arguments 110s is expected to be empty 110s when initializing with arguments 110s creates an array with the given objects 110s #slice 110s correctly initializes the monitor 110s 110s Concurrent::Channel 110s #next? 110s returns a just Maybe, true when there are multiple items 110s returns a nothing Maybe and false on failure 110s returns a just Maybe and true when there is one item 110s #take! 110s raises an exception on failure 110s takes the next item when not empty 110s #take? 110s returns a nothing Maybe on failure 110s returns a just Maybe on success 110s #next 110s returns , true when closed and last item 110s returns nil, false when closed and no items remain 110s returns , true when there are multiple items 110s returns nil, false when empty and closed 110s returns , true when there is one item 110s #take 110s returns nil on failure 110s takes the next item when not empty 110s #offer 110s returns true on success 110s rejects nil 110s rejects when the validator raises an exception 110s returns false on failure 110s rejects when the validator returns false 110s put? 110s returns a nothing Maybe on failure 110s rejects when the validator raises an exception 110s accepts nil 110s rejects when the validator returns false 110s returns a just Maybe on success 110s #poll? 110s returns a nothing Maybe immediately if no item is available 110s returns a just Maybe immediately if available 110s returns a nothing Maybe on failure 110s offer? 110s returns a just Maybe on success 110s accepts nil 110s rejects when the validator raises an exception 110s rejects when the validator returns false 110s returns a nothing Maybe on failure 110s offer! 110s returns true on success 110s rejects when the validator raises an exception 110s raises an exception on failure 110s rejects nil 110s rejects when the validator returns false 110s #poll! 110s raises an exception on failure 111s returns the next item immediately if available 111s raises an exception immediately if no item is available 111s #poll 111s returns nil on failure 111s returns nil immediately if no item is available 111s returns the next item immediately if available 111s .each 111s iterates until the channel is closed 111s raises and exception when no block is given 111s put! 111s raises an exception on failure 111s returns true on success 111s rejects when the validator raises an exception 111s rejects nil 111s rejects when the validator returns false 111s factories 111s is expected to receive new(10) 1 time 111s is expected to receive new(10) 1 time 111s goroutines 111s .go_via 111s raises an exception when no block is given 111s is expected to receive post(1, 2, 3) 1 time 111s .go 111s raises an exception when no block is given 111s is expected to receive post(1, 2, 3) 1 time 111s .go_loop 111s loops until the block returns false 111s raises an exception when no block is given 111s .go_loop_via 111s raises an exception when no block is given 111s loops until the block returns false 111s select 111s is expected to be truthy 111s raises an exception when no block is given 111s passes a selector to the block 111s #put 111s rejects when the validator returns false 111s rejects nil 111s rejects when the validator raises an exception 111s returns false on failure 111s returns true on success 111s initialization 111s raises an exception when the :buffer is invalid 111s raises an exception when :dropping given without :capacity 111s is :buffered when :capacity > 0 and no :buffer given 111s is :unbuffered when neither :buffer nore :capacity is given 111s raises an exception when :buffered given without :capacity 111s is :sliding when :sliding and :capacity > 0 111s raises an exception when :buffered and :capacity < 0 111s is :buffered when :buffered given 111s is :dropping when :dropping and :capacity > 0 111s raises an exception when :sliding given without :capacity 111s is :unbuffered when :buffered and capacity: 0 111s raises an exception when :sliding and :capacity < 1 111s raises an exception when both :unbuffered and :capacity are given 111s is :unbuffered when :unbuffered is given 111s uses the given buffer 111s raises an exception when :dropping and :capacity < 1 111s 111s Concurrent::Exchanger 111s class hierarchy 111s inherits from RubyExchanger 111s 111s Concurrent::ProcessingActor 111s is expected to eq "ab" 111s 111s Concurrent::Promises 111s zip_futures_over 111s .event 111s is expected to equal true 111s .zip_events 111s waits for all and returns event 111s Future 111s can be risen when rejected 111s has sync and async callbacks 111s chains with correct arguments 111s runs 111s value! supports setting timeout 111s result supports setting timeout 111s wait! supports setting timeout 111s chains 111s wait supports setting timeout 111s value supports setting timeout 111s constructs promise like tree 111s resolves future when Exception raised 111s allows graphs 111s reason supports setting timeout 111s #flat 111s it propagates rejection of the future which was suppose to provide inner future 111s propagates requests for values to delayed futures 111s rejects if inner value is not a future 111s accepts inner event 111s returns value of inner future 111s propagates rejection of inner future 111s has shortcuts 111s ResolvableEvent 111s #resolve(raise_on_reassign = true) 111s #wait 111s #resolve(raise_on_reassign = false) 111s reservation 111s .any_fulfilled 111s continues on first result 111s treats a resolved Event as a fulfilled Future 111s treats a pending Event as a pending Future 111s .rejected_future 111s raises the correct error when passed an unraised error 111s chain_resolvable 111s future 111s event 111s .future without block 111s is expected to eq 0 111s .zip 111s waits for all results 111s when a future raises an error 111s raises a concurrent error 111s when deeply nested 111s raises the original error 111s value! 111s does not return spuriously without timeout 111s does not return spuriously with timeout 111s .future 111s executes 111s executes with args 111s .any_resolved 111s continues on first result 111s .delay 111s is expected to eq 2 111s ResolvableFuture 111s #wait! 111s result 111s #wait 111s atomic_resolution 111s #value! 111s #value 111s reservation 111s #reason 111s interoperability 111s with erlang actor 111s with channel 111s with processing actor 111s .schedule 111s scheduled execution in graph 111s scheduled execution 111s 111s Concurrent::Atom 111s #compare_and_set 111s returns true if the current value matches 111s returns false if the current value does not match 111s rejects the new value if the current value does not match 111s returns false if the validator returns false 111s sets the new value if the current value matches 111s returns false if the validator raises an exception 111s rejects the new value if the validator returns false 111s rejects the new value if the validator raises an exception 111s #reset 111s returns the new value on success 111s returns the new value on success 111s returns the old value if the validator returns false 111s returns the old value if the validator raises an exception 111s sets the new value 111s #swap 111s rejects the new value if the validator returns false 111s rejects the new value if the validator raises an exception 111s reraises the exception from block 111s returns the new value on success 111s calls the block more than once if the value changes underneath 111s sets the new value to the result of the block 111s returns the old value if the validator returns false 111s raises an exception when no block is given 111s passes all arguments to the block 111s returns the old value if the validator raises an exception 111s passes the current value to the block 111s observable 111s behaves like observable 111s first notification 112s does not notify any observers removed with #delete_observer 112s calls the appropriate function on all observers which specified a :func 113s does not notify any observers after #delete_observers called 113s calls the proc for all observers added as a block 113s calls the #update method on all observers without a specified :func 113s #add_observer 113s creates an observer from a block if called before first notification 113s adds an observer with :func if called before first notification 113s adds an observer if called before first notification 113s raises an exception if not given an observer or a block 113s raises an exception when given both an observer and a block 113s #delete_observer 114s returns the given observer even when not found in the observer set 114s returns the removed observer if found in the observer set 114s deletes the given observer if called before first notification 114s #count_observers 114s returns a count of registered observers if called before first notification 114s returns zero after #delete_observers has been called 114s returns zero for a new observable object 114s #delete_observers 114s deletes all observers when called before first notification 114s returns self 114s construction 114s sets the initial value to the given value 114s 114s Concurrent::Future 114s it should behave like thread_arguments 114s passes an empty array when there is no :args key 114s allows the given arguments array to be dereferenced 114s passes an array when when the :args key has an array value 114s passes the given array when the :args key has a complex array value 114s passes an empty array when opts is not given 114s passes a one-element array when the :args key has a non-array value 114s passes an empty array when opts is an empty hash 114s passes an empty array when the :args key has a nil value 114s class #execute 114s calls #execute on the new Future 114s creates a new Future 114s passes the block to the new Future 114s #initialize 114s raises an exception when no block given 114s sets the state to :unscheduled 114s uses the executor given with the :executor option 114s uses the global io executor by default 114s cancellation 114s #wait_or_cancel 114s returns true if the operation completes before timeout 114s cancels the task on timeout 114s #cancel 114s fails to cancel the task once processing has begun 114s fails to cancel the task once processing is complete 114s cancels a pending task 114s instance #execute 114s posts the block given on construction 114s returns self 114s does nothing unless the state is :unscheduled 114s sets the state to :pending 114s fulfillment 114s sets the state to :rejected when the handler raises an exception 114s sets the value to nil when the handler raises Exception 114s sets the value to nil when the handler raises an exception 114s sets the reason to the Exception instance when the handler raises Exception 114s sets the value to the result of the handler 114s passes all arguments to handler 114s sets the state to :processing while the task is executing 114s sets the state to :fulfilled when the block completes 114s aliases 114s aliases #deref for #value 114s aliases #realized? for #fulfilled? 114s it should behave like ivar 114s #try_set 114s when unset 114s assigns the value 114s returns true 114s assigns the block result 114s when fulfilled 114s does not assign the block result 114s does not assign the value 114s returns false 114s when rejected 114s does not assign the value 114s has a nil value 114s does not assign the block result 114s returns false 114s #fail 114s sets the state to be rejected 114s defaults the reason to a StandardError 114s sets the value to be nil 114s sets the reason to the given exception 114s raises an exception if set more than once 114s returns self 114s it should behave like obligation 114s #reason 114s is nil when :fulfilled 114s is set to error object of the exception when :rejected 114s is nil when :pending 114s #value 114s returns nil when timeout reached 114s is nil when :pending 114s is nil when :rejected 114s returns nil when reaching the optional timeout value 119s returns the value when fulfilled before timeout 124s blocks the caller when :pending and timeout is nil 124s is set to the return value of the block when :fulfilled 124s returns immediately when timeout is zero 124s #state 124s is :fulfilled when the handler completes 124s is :pending when first created 124s is :rejected when the handler raises an exception 124s it should behave like dereferenceable 124s calls #dup when the :dup_on_deref option is true 124s supports dereference flags with observers 125s defaults :copy_on_deref to nil 125s does not call the #copy_on_deref block when the value is nil 125s calls the :copy block first followed by #dup followed by #freeze 125s does not call #freeze when #freeze_on_deref is set and the value is nil 125s calls #freeze when the :freeze_on_deref option is true 125s calls the block when the :copy_on_deref option is passed a proc 126s defaults :freeze_on_deref to false 126s does not call #dup when #dup_on_deref is set and the value is nil 126s defaults :dup_on_deref to false 126s it should behave like observable 126s #delete_observers 126s returns self 126s deletes all observers when called before first notification 126s #add_observer 126s adds an observer with :func if called before first notification 126s raises an exception if not given an observer or a block 126s creates an observer from a block if called before first notification 126s raises an exception when given both an observer and a block 126s adds an observer if called before first notification 126s #count_observers 126s returns zero after #delete_observers has been called 126s returns zero for a new observable object 126s returns a count of registered observers if called before first notification 126s first notification 126s calls the appropriate function on all observers which specified a :func 127s does not notify any observers removed with #delete_observer 127s calls the proc for all observers added as a block 128s does not notify any observers after #delete_observers called 128s calls the #update method on all observers without a specified :func 128s #delete_observer 128s returns the removed observer if found in the observer set 128s deletes the given observer if called before first notification 128s returns the given observer even when not found in the observer set 128s #set 128s fulfils when given a block which executes successfully 128s raises an exception when given neither a value nor a block 128s sets the state to be fulfilled 128s raises an exception if set more than once 128s raises an exception when given a value and a block 128s sets the value 128s returns self 129s rejects when given a block which raises an exception 129s initialization 129s sets the state to incomplete 129s observation 129s notifies an observer added after fulfillment 129s does not notify existing observers when a new observer added after fulfillment 129s notifies all observers on fulfillment 129s does not notify existing observers when a new observer added after rejection 129s notifies an observer added after rejection 129s notifies all observers on rejection 129s deadlock avoidance 129s should notify observers outside mutex lock 129s should notify a new observer added after fulfillment outside lock 129s 129s #leave_transaction 129s neither commits nor aborts a transaction 129s raises an exception outside an #atomically block 129s 129s Concurrent::Actor 129s forbids Immediate executor 129s links atomically 129s links 129s dead letter routing 129s logs by deafault 129s messaging 129s is expected to eq 4 129s termination 129s terminates with all its children 129s spawning 129s terminates on failed initialization and raises with spawn! 129s terminates on failed initialization 129s terminates on failed message processing 129s Actor#spawn! 129s spawn 129s executor should be global 129s returns arg 129s #name 129s is expected to eq "ping" 129s #path 129s is expected to eq "/ping" 129s #reference 129s is expected to eq # 129s #parent 129s is expected to eq # 129s context_spawn_by_hash 129s executor should be global 129s returns arg 129s #reference 129s is expected to eq # 129s #path 129s is expected to eq "/ping" 129s #parent 129s is expected to eq # 129s #name 129s is expected to eq "ping" 129s context_spawn 129s executor should be global 129s returns arg 129s #reference 129s is expected to eq # 129s #parent 129s is expected to eq # 129s #path 129s is expected to eq "/ping" 129s #name 129s is expected to eq "ping" 129s spawn_by_hash 129s returns arg 129s executor should be global 129s #name 129s is expected to eq "ping" 129s #parent 129s is expected to eq # 129s #path 129s is expected to eq "/ping" 129s #reference 129s is expected to eq # 129s pausing 129s pauses on error and resets 129s pauses on error and resumes 129s pauses on error and restarts 129s envelope 129s is expected to eq # 129s pool 129s supports asks 129s message redirecting 129s is evaluated by child 129s children 129s has children set after a child is created 129s 129s monotonic_time 129s behavior 129s returns a Float when unit = :float_second 129s returns seconds as float 129s returns an Integer when unit = :millisecond 129s returns an Integer when unit = :nanosecond 129s returns an Integer when unit = :microsecond 129s raises ArgumentError on unknown units 129s returns a Float when unit = :float_microsecond 129s returns a Float when unit = :float_millisecond 129s returns an Integer when unit = :second 129s 129s #abort_transaction 129s raises an exception outside an #atomically block 129s 129s Concurrent 129s Throttle 129s capacity limited 129s acquiring 129s #to_s 129s #on 129s 129s Concurrent::Maybe 129s comparison 129s something is less than a bigger value 129s nothing is not greater than nothing 129s something is not equal to nothing 129s something is not equal to a different value 129s something is greater than a smaller value 129s nothing is equal to nothing 129s something is equal to the same value 129s nothing is not less than nothing 129s construction 129s hides Maybe.new 129s Maybe.nothing 129s creates a new Nothing Maybe 129s creates a new error object when given nothing 129s creates a new error object with the given string 129s uses the given Error object 129s Maybe.just 129s creates a new Just Maybe 129s Maybe.from 129s creates a Just Maybe on success 129s passes all arguments to the block 129s sets the reason to the error object on exception 129s creates a Nothing Maybe on exception 129s sets the value to the block result on success 129s raises an exception when no block is given 129s when just 129s #nothing returns NONE 129s #fulfilled? returns true 129s #nothing? returns false 129s #reason returns NONE 129s #rejected? returns false 129s #just? returns true 129s #value returns the value 129s #just returns the value 129s when nothing 129s #nothing returns the raised error 129s #rejected? returns true 129s #just returns NONE 129s #value returns NONE 129s #nothing? returns true 129s #reason returns the raised error 129s #just? returns false 129s #fulfilled? returns false 129s #or 129s returns the other when nothing 129s returns the value when something 129s 129s Concurrent::Options 129s .executor_from_options 129s raises an exception when :executor is an unrecognized symbol 129s returns the global io executor when :executor is :io 129s returns an immediate executor when :executor is :immediate 129s returns the global fast executor when :executor is :fast 129s returns the given :executor 129s 129s Concurrent::RubyExchanger 130s Good: 10000, Bad (timeout): 0, Ugly: 0 130s stress test 130s behaves like exchanger 130s #try_exchange 130s behaves like exchanger method with indefinite timeout 130s blocks indefinitely 130s receives the other value 130s can be reused 130s behaves like exchanger method with finite timeout 130s can be reused 130s receives the other value 130s blocks until timeout 130s behaves like exchanger method cross-thread interactions 130s allows multiple firsts to cancel if necessary 130s when first, waits for a second 130s #exchange 130s behaves like exchanger method with finite timeout 130s blocks until timeout 130s can be reused 130s receives the other value 130s behaves like exchanger method cross-thread interactions 130s allows multiple firsts to cancel if necessary 130s when first, waits for a second 130s behaves like exchanger method with indefinite timeout 130s receives the other value 130s can be reused 130s blocks indefinitely 130s #exchange! 130s behaves like exchanger method with indefinite timeout 130s blocks indefinitely 130s receives the other value 130s can be reused 130s behaves like exchanger method cross-thread interactions 131s allows multiple firsts to cancel if necessary 131s when first, waits for a second 131s behaves like exchanger method with finite timeout 131s blocks until timeout 131s receives the other value 131s can be reused 131s 131s Concurrent::ScheduledTask 131s #initialize 131s raises an exception when no block given 131s sets the initial state to :unscheduled 131s raises an exception when seconds is less than zero 131s accepts a number of seconds (from now) as the schedule time 131s behavior 131s it should behave like obligation 131s #reason 131s is set to error object of the exception when :rejected 131s is nil when :pending 131s is nil when :fulfilled 131s #value 131s is set to the return value of the block when :fulfilled 131s returns nil when timeout reached 131s returns nil when reaching the optional timeout value 132s blocks the caller when :pending and timeout is nil 132s returns immediately when timeout is zero 133s returns the value when fulfilled before timeout 133s is nil when :pending 133s is nil when :rejected 133s #state 133s is :fulfilled when the handler completes 133s is :pending when first created 133s is :rejected when the handler raises an exception 133s it should behave like dereferenceable 133s calls #dup when the :dup_on_deref option is true 133s calls #freeze when the :freeze_on_deref option is true 133s defaults :freeze_on_deref to false 133s defaults :dup_on_deref to false 133s calls the :copy block first followed by #dup followed by #freeze 133s calls the block when the :copy_on_deref option is passed a proc 133s supports dereference flags with observers 133s does not call the #copy_on_deref block when the value is nil 133s does not call #freeze when #freeze_on_deref is set and the value is nil 133s does not call #dup when #dup_on_deref is set and the value is nil 133s defaults :copy_on_deref to nil 133s it should behave like observable 133s first notification 134s does not notify any observers after #delete_observers called 134s calls the appropriate function on all observers which specified a :func 135s calls the proc for all observers added as a block 136s does not notify any observers removed with #delete_observer 136s calls the #update method on all observers without a specified :func 136s #count_observers 136s returns zero after #delete_observers has been called 136s returns a count of registered observers if called before first notification 136s returns zero for a new observable object 136s #add_observer 136s creates an observer from a block if called before first notification 136s raises an exception if not given an observer or a block 136s adds an observer with :func if called before first notification 136s adds an observer if called before first notification 136s raises an exception when given both an observer and a block 136s #delete_observers 136s deletes all observers when called before first notification 136s returns self 136s #delete_observer 136s returns the removed observer if found in the observer set 136s deletes the given observer if called before first notification 136s returns the given observer even when not found in the observer set 136s class #execute 136s passes the block to the new ScheduledTask 136s creates a new ScheduledTask 136s calls #execute on the new ScheduledTask 136s instance #execute 136s returns self 136s sets the sate to :pending 136s does nothing unless the state is :unscheduled 136s execution 136s passes :args from the options to the block 136s uses the :executor from the options 136s uses the :timer_set from the options 136s sets the state to :processing when the task is running 136s observation 136s notifies all observers on rejection 136s notifies all observers on fulfillment 136s returns true for an observer added while :pending 136s returns true for an observer added while :unscheduled 137s returns true for an observer added while :processing 137s #cancel 137s returns true on success 137s returns false if the task has already been performed 137s cancels the task if it has not yet scheduled 137s sets the reason to CancelledOperationError when cancelled 138s cancels the task if it has not yet started 138s returns false if the task is already in progress 138s 138s Concurrent::Synchronization 138s Concurrent::Synchronization::Object 138s does not ensure visibility when not needed 138s does ensure visibility when specified in a parent 138s does ensure visibility once when specified in child again 138s does ensure visibility when specified 138s it should behave like attr_volatile 139s older writes are always visible 139s Concurrent::Synchronization::Volatile module 139s it should behave like attr_volatile 140s older writes are always visible 140s Concurrent::Synchronization::LockableObject 140s final field always visible 140s #synchronize 140s allows only one thread to execute count 140s #wait 140s allows the sleeping thread to be killed 140s releases the lock on the current object 140s can be called from within a #synchronize block 140s puts the current thread to sleep 140s it should behave like attr_volatile 142s older writes are always visible 142s signaling 142s for now pending, tested pretty well by Event (PENDING: Not yet implemented) 142s attr_atomic 142s is expected to be == b 142s 142s Concurrent::Map 142s #key? 142s is unfreezable 142s default_proc is called with the Concurrent::Map and the key after #dup 142s options validation 142s #delete_pair 142s #put_if_absent 142s collision resistance 143s concurrency 143s #values 143s default_proc is called with the Concurrent::Map and the key 143s #get_and_set 143s #size 143s #replace_if_exists 143s initial capacity options validation 143s #get_or_default 143s #each_key 143s #clear 143s retrieval 143s collision resistance with arrays 143s marshal dump does not work with default proc 143s #value? 143s #delete 143s default proc 143s #empty 143s #keys 143s marshal dump load 143s load factor options validation 143s updates dont block reads 143s #each_value 143s #inspect 143s falsy default proc 143s #key 143s #replace_pair 143s #dup,#clone 143s #compute 143s exception 143s common 143s with return 143s #compute_if_present 143s common 143s exception 143s with return 143s #fetch 143s common 143s falsy 143s with return 143s #merge_pair 143s exception 143s common 143s with return 143s #each 143s it should behave like collection_each 143s common 143s allows modification 143s pair iterator 143s when no block is given 143s returns an object which is enumerable 143s returns an enumerator 143s #each_pair 143s it should behave like collection_each 143s common 143s pair iterator 143s allows modification 143s when no block is given 143s returns an enumerator 143s returns an object which is enumerable 143s #compute_if_absent 143s atomicity 143s exception 143s works in default_proc 143s common 143s with return 143s #fetch_or_store 143s falsy 143s common 143s with return 143s 143s Concurrent::Agent 143s nested actions 143s occur in the order they ar post 143s work with immediate execution 143s initialization 143s sets #failed? to false 143s sets the initial error to nil 143s defaults the error mode to :continue when an error handler is given 143s defaults the error mode to :fail when no error handler is given 143s sets the error mode when given a valid value 143s sets the initial value 143s raises an error when given an invalid error mode 143s action processing 143s when validation raises an error the handler will be called 143s upon validation the new value will be set to the block return value 143s the given block will be passed any provided arguments 143s when validation raises an error the value will not change 143s the return value will be passed to the validator function 143s any recursive action dispatches will run after the value has been updated 143s when validation fails the handler will be called 143s when the action raises an error the validator will not be called 143s when the action raises an error the handler will be called 143s when validation returns false the value will not change 143s on success all observers will be notified 143s the given block will be passed the current value 143s when the action raises an error the value will not change 143s posting 143s with #send 143s returns false when #failed? 143s returns true when the job is post 143s posts to the global fast executor 143s does not wait for the action to process 143s with #send_off 143s does not wait for the action to process 143s returns true when the job is post 143s returns false when #failed? 143s posts to the global io executor 143s with #send! 143s returns true when the job is post 143s raises an error when #failed? 143s posts to the global fast executor 143s does not wait for the action to process 143s with #send_off! 143s does not wait for the action to process 143s posts to the global io executor 143s returns true when the job is post 143s raises an error when #failed? 143s with #send_via 143s returns true when the job is post 143s posts to the given executor 143s returns false when #failed? 143s with #<< 143s posts to the global io executor 143s returns self when #failed? 143s returns self when the job is post 143s does not wait for the action to process 143s with #send_via! 143s posts to the given executor 143s raises an error when #failed? 143s returns true when the job is post 143s with #post 143s posts to the global io executor 143s returns true when the job is post 143s does not wait for the action to process 143s returns false when #failed? 143s error handling 143s the agent will be passed to the handler 143s the exception will be passed to the handler 143s does not trigger observation 143s #restart 143s when #failed? 143s raises an error if the new value is not valid 143s does not trigger observation 143s sets #failed? to true 143s clears the error 143s does not clear the action queue when :clear_actions is false 143s resumes action processing if actions are enqueued 143s sets the new value 143s does not clear the action queue when :clear_actions is not given 143s removes all actions from the queue when :clear_actions is true 143s when not #failed? 143s raises an error 143s observable 143s behaves like observable 143s #delete_observer 143s deletes the given observer if called before first notification 143s returns the given observer even when not found in the observer set 143s returns the removed observer if found in the observer set 143s #count_observers 143s returns zero after #delete_observers has been called 143s returns zero for a new observable object 143s returns a count of registered observers if called before first notification 143s first notification 143s calls the appropriate function on all observers which specified a :func 144s does not notify any observers after #delete_observers called 144s calls the proc for all observers added as a block 145s does not notify any observers removed with #delete_observer 145s calls the #update method on all observers without a specified :func 145s #add_observer 145s raises an exception if not given an observer or a block 145s raises an exception when given both an observer and a block 145s adds an observer if called before first notification 145s adds an observer with :func if called before first notification 145s creates an observer from a block if called before first notification 145s #delete_observers 145s deletes all observers when called before first notification 145s returns self 145s waiting 145s with .await_for 145s returns true when all prior actions for all agents have processed 146s returns false on timeout 146s returns true when there are no pending actions 146s with #await_for 146s does not block on actions from other threads 146s returns true when there are no pending actions 147s returns false on timeout 147s returns false if restarted with :clear_actions true (PENDING: the timing is nearly impossible) 148s returns true when all prior actions have processed 148s with #await_for! 148s raises an error if restarted with :clear_actions true (PENDING: the timing is nearly impossible) 148s does not block on actions from other threads 149s raises an error on timeout 149s returns true when there are no pending actions 150s returns true when all prior actions have processed 150s with #await 151s blocks indefinitely 152s returns true when all prior actions have processed 152s returns self when there are no pending actions 152s does not block on actions from other threads 152s blocks forever if restarted with :clear_actions true (PENDING: the timing is nearly impossible) 152s with await_for! 153s raises an exception on timeout 153s returns true when all prior actions for all agents have processed 153s returns true when there are no pending actions 153s with .await 153s returns true when all prior actions on all agents have processed 153s with #wait 154s returns true when all prior actions have processed 155s blocks indefinitely when timeout is nil 155s does not block on actions from other threads 155s returns false when timeout is given and restarted with :clear_actions true (PENDING: the timing is nearly impossible) 155s returns true when there are no pending actions and a timeout is given 156s returns false on timeout 156s blocks forever when timeout is nil and restarted with :clear_actions true (PENDING: the timing is nearly impossible) 156s returns true when there are no pending actions and timeout is nil 156s the await job 156s does not trigger the error mode 156s does not change the value 157s waits for nested actions 157s does not trigger observers 157s validation 157s rejects the new value when the validator returns false 157s sets the error when the error mode is :fail and the validator raises an error 157s sets the error when the error mode is :fail and the validator returns false 157s does not set an error when the error mode is :continue and the validator returns false 157s does not trigger observation when validation fails 157s does not set an error when the error mode is :continue and the validator raises an error 157s sets the new value when the validator returns true 157s rejects the new value when the validator raises an error 157s error mode 157s :continue 157s does not block further action processing 157s does not set an error when the action raises an error 157s sets #failed? to false 157s does not set an error when the validator raises an error 157s does not set an error when the validator returns false 157s :fail 157s blocks all further action processing until a restart 157s sets the error when the validator raises an error 157s sets #failed? to true 157s sets the error when the action raises an error 157s sets the error when the validator returns false 157s 157s Finished in 1 minute 21.22 seconds (files took 0.48 seconds to load) 157s 1426 examples, 0 failures, 7 pending 157s 157s Randomized with seed 1 157s 157s mv ./.gem2deb.lib lib 157s mv ./.gem2deb.ext ext 157s autopkgtest [02:01:59]: test ruby: -----------------------] 158s autopkgtest [02:02:00]: test ruby: - - - - - - - - - - results - - - - - - - - - - 158s ruby PASS 158s autopkgtest [02:02:00]: test jruby: preparing testbed 190s Creating nova instance adt-resolute-arm64-ruby-concurrent-20260207-015922-juju-7f2275-prod-proposed-migration-environment-2-a37d3241-3d32-4444-a2fb-87dce61a5d3e from image adt/ubuntu-resolute-arm64-server-20260206.img (UUID 52d915c1-d61a-4ba6-a174-862572dd1054)... 253s autopkgtest [02:03:35]: testbed dpkg architecture: arm64 253s autopkgtest [02:03:35]: testbed apt version: 3.1.15 254s autopkgtest [02:03:36]: @@@@@@@@@@@@@@@@@@@@ test bed setup 254s autopkgtest [02:03:36]: testbed release detected to be: resolute 255s autopkgtest [02:03:37]: updating testbed package index (apt update) 255s Get:1 http://ftpmaster.internal/ubuntu resolute-proposed InRelease [124 kB] 255s Hit:2 http://ftpmaster.internal/ubuntu resolute InRelease 255s Hit:3 http://ftpmaster.internal/ubuntu resolute-updates InRelease 255s Hit:4 http://ftpmaster.internal/ubuntu resolute-security InRelease 255s Get:5 http://ftpmaster.internal/ubuntu resolute-proposed/main Sources [206 kB] 255s Get:6 http://ftpmaster.internal/ubuntu resolute-proposed/universe Sources [1707 kB] 256s Get:7 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse Sources [36.7 kB] 256s Get:8 http://ftpmaster.internal/ubuntu resolute-proposed/restricted Sources [10.7 kB] 256s Get:9 http://ftpmaster.internal/ubuntu resolute-proposed/main arm64 Packages [270 kB] 256s Get:10 http://ftpmaster.internal/ubuntu resolute-proposed/main arm64 c-n-f Metadata [6636 B] 256s Get:11 http://ftpmaster.internal/ubuntu resolute-proposed/restricted arm64 Packages [136 kB] 256s Get:12 http://ftpmaster.internal/ubuntu resolute-proposed/restricted arm64 c-n-f Metadata [328 B] 256s Get:13 http://ftpmaster.internal/ubuntu resolute-proposed/universe arm64 Packages [1424 kB] 256s Get:14 http://ftpmaster.internal/ubuntu resolute-proposed/universe arm64 c-n-f Metadata [35.7 kB] 256s Get:15 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse arm64 Packages [24.5 kB] 256s Get:16 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse arm64 c-n-f Metadata [788 B] 257s Fetched 3982 kB in 1s (3203 kB/s) 258s Reading package lists... 260s Hit:1 http://ftpmaster.internal/ubuntu resolute-proposed InRelease 260s Hit:2 http://ftpmaster.internal/ubuntu resolute InRelease 260s Hit:3 http://ftpmaster.internal/ubuntu resolute-updates InRelease 260s Hit:4 http://ftpmaster.internal/ubuntu resolute-security InRelease 261s Reading package lists... 261s Reading package lists... 261s Building dependency tree... 261s Reading state information... 261s Calculating upgrade... 262s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 262s autopkgtest [02:03:44]: upgrading testbed (apt dist-upgrade and autopurge) 262s Reading package lists... 262s Building dependency tree... 262s Reading state information... 262s Calculating upgrade... 263s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 263s Reading package lists... 263s Building dependency tree... 263s Reading state information... 263s Solving dependencies... 264s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 267s Reading package lists... 267s Building dependency tree... 267s Reading state information... 267s Solving dependencies... 268s The following NEW packages will be installed: 268s ca-certificates-java default-jre-headless java-common jruby libasm-java 268s libbackport9-java libbcpkix-java libbcprov-java libbctls-java libbcutil-java 268s libdirgra-java libfixposix4t64 libhawtjni-runtime-java 268s libheadius-options-java libinvokebinder-java libjansi-native-java 268s libjansi1-java libjcodings-java libjffi-java libjffi-jni libjitescript-java 268s libjline2-java libjnr-constants-java libjnr-enxio-java libjnr-ffi-java 268s libjnr-netdb-java libjnr-posix-java libjnr-unixsocket-java 268s libjnr-x86asm-java libjoda-time-java libjpeg-turbo8 libjpeg8 268s libjruby-joni-java libjzlib-java liblcms2-2 libpcsclite1 libruby libruby3.3 268s libsnakeyaml-engine-java openjdk-21-jre-headless rake ruby ruby-concurrent 268s ruby-concurrent-ext ruby-csv ruby-did-you-mean ruby-diff-lcs ruby-net-telnet 268s ruby-rspec ruby-rspec-core ruby-rspec-expectations ruby-rspec-mocks 268s ruby-rspec-support ruby-ruby2-keywords ruby-rubygems ruby-timecop 268s ruby-webrick ruby-xmlrpc ruby3.3 rubygems-integration 268s 0 upgraded, 60 newly installed, 0 to remove and 0 not upgraded. 268s Need to get 90.5 MB of archives. 268s After this operation, 300 MB of additional disk space will be used. 268s Get:1 http://ftpmaster.internal/ubuntu resolute/main arm64 ca-certificates-java all 20240118build1 [11.7 kB] 268s Get:2 http://ftpmaster.internal/ubuntu resolute/main arm64 java-common all 0.76build1 [6956 B] 268s Get:3 http://ftpmaster.internal/ubuntu resolute/main arm64 liblcms2-2 arm64 2.17-1 [170 kB] 268s Get:4 http://ftpmaster.internal/ubuntu resolute/main arm64 libjpeg-turbo8 arm64 2.1.5-4ubuntu2 [165 kB] 268s Get:5 http://ftpmaster.internal/ubuntu resolute/main arm64 libjpeg8 arm64 8c-2ubuntu11 [2148 B] 268s Get:6 http://ftpmaster.internal/ubuntu resolute/main arm64 libpcsclite1 arm64 2.4.1-1 [24.7 kB] 268s Get:7 http://ftpmaster.internal/ubuntu resolute/main arm64 openjdk-21-jre-headless arm64 21.0.10+7-1 [45.9 MB] 269s Get:8 http://ftpmaster.internal/ubuntu resolute/main arm64 default-jre-headless arm64 2:1.21-76build1 [3268 B] 269s Get:9 http://ftpmaster.internal/ubuntu resolute/universe arm64 libasm-java all 9.8-2 [388 kB] 269s Get:10 http://ftpmaster.internal/ubuntu resolute/universe arm64 libbackport9-java all 1.10-2build1 [13.2 kB] 269s Get:11 http://ftpmaster.internal/ubuntu resolute/universe arm64 libbcprov-java all 1.80-3 [5468 kB] 269s Get:12 http://ftpmaster.internal/ubuntu resolute/universe arm64 libbcutil-java all 1.80-3 [545 kB] 270s Get:13 http://ftpmaster.internal/ubuntu resolute/universe arm64 libbcpkix-java all 1.80-3 [913 kB] 270s Get:14 http://ftpmaster.internal/ubuntu resolute/universe arm64 libbctls-java all 1.80-3 [645 kB] 270s Get:15 http://ftpmaster.internal/ubuntu resolute/universe arm64 libdirgra-java all 0.4-2build1 [21.8 kB] 270s Get:16 http://ftpmaster.internal/ubuntu resolute/universe arm64 libfixposix4t64 arm64 1:0.5.1-1+nmu1.1build2 [16.6 kB] 270s Get:17 http://ftpmaster.internal/ubuntu resolute/universe arm64 libheadius-options-java all 1.7-1build1 [18.3 kB] 270s Get:18 http://ftpmaster.internal/ubuntu resolute/universe arm64 libinvokebinder-java all 1.14-1build1 [52.1 kB] 270s Get:19 http://ftpmaster.internal/ubuntu resolute/universe arm64 libhawtjni-runtime-java all 1.18-1build1 [28.4 kB] 270s Get:20 http://ftpmaster.internal/ubuntu resolute/universe arm64 libjansi-native-java all 1.8-2build1 [23.6 kB] 270s Get:21 http://ftpmaster.internal/ubuntu resolute/universe arm64 libjansi1-java all 1.18-3.1build1 [56.3 kB] 270s Get:22 http://ftpmaster.internal/ubuntu resolute/universe arm64 libjcodings-java all 1.0.58-1build1 [1474 kB] 270s Get:23 http://ftpmaster.internal/ubuntu resolute/universe arm64 libjffi-jni arm64 1.3.13+ds-1build1 [29.0 kB] 270s Get:24 http://ftpmaster.internal/ubuntu resolute/universe arm64 libjffi-java all 1.3.13+ds-1build1 [111 kB] 270s Get:25 http://ftpmaster.internal/ubuntu resolute/universe arm64 libjitescript-java all 0.4.3-1build1 [24.5 kB] 270s Get:26 http://ftpmaster.internal/ubuntu resolute/universe arm64 libjline2-java all 2.14.6-6 [152 kB] 270s Get:27 http://ftpmaster.internal/ubuntu resolute/universe arm64 libjnr-constants-java all 0.10.4-2build1 [1416 kB] 270s Get:28 http://ftpmaster.internal/ubuntu resolute/universe arm64 libjnr-x86asm-java all 1.0.2-6build1 [216 kB] 270s Get:29 http://ftpmaster.internal/ubuntu resolute/universe arm64 libjnr-ffi-java all 2.2.15-2build1 [632 kB] 270s Get:30 http://ftpmaster.internal/ubuntu resolute/universe arm64 libjnr-enxio-java all 0.32.16-1build1 [33.8 kB] 270s Get:31 http://ftpmaster.internal/ubuntu resolute/universe arm64 libjnr-netdb-java all 1.2.0+dfsg-1build1 [58.7 kB] 270s Get:32 http://ftpmaster.internal/ubuntu resolute/universe arm64 libjnr-posix-java all 3.1.18-1build1 [268 kB] 270s Get:33 http://ftpmaster.internal/ubuntu resolute/universe arm64 libjnr-unixsocket-java all 0.38.21-3 [46.8 kB] 270s Get:34 http://ftpmaster.internal/ubuntu resolute/universe arm64 libjoda-time-java all 2.10.14-1 [535 kB] 270s Get:35 http://ftpmaster.internal/ubuntu resolute/universe arm64 libjruby-joni-java all 2.2.1-1build1 [221 kB] 270s Get:36 http://ftpmaster.internal/ubuntu resolute/universe arm64 libjzlib-java all 1.1.3-3build1 [76.7 kB] 270s Get:37 http://ftpmaster.internal/ubuntu resolute/universe arm64 libsnakeyaml-engine-java all 2.7+ds-3build1 [258 kB] 270s Get:38 http://ftpmaster.internal/ubuntu resolute/universe arm64 jruby all 9.4.8.0+ds-3ubuntu1 [23.4 MB] 272s Get:39 http://ftpmaster.internal/ubuntu resolute/main arm64 rubygems-integration all 1.19build1 [5666 B] 272s Get:40 http://ftpmaster.internal/ubuntu resolute-proposed/main arm64 ruby3.3 arm64 3.3.8-2ubuntu3 [49.1 kB] 272s Get:41 http://ftpmaster.internal/ubuntu resolute/main arm64 ruby-rubygems all 3.6.7-2ubuntu2 [332 kB] 272s Get:42 http://ftpmaster.internal/ubuntu resolute/main arm64 ruby arm64 1:3.3 [3668 B] 272s Get:43 http://ftpmaster.internal/ubuntu resolute/main arm64 rake all 13.2.1-1build1 [45.9 kB] 272s Get:44 http://ftpmaster.internal/ubuntu resolute/main arm64 ruby-csv all 3.3.4-1 [43.0 kB] 272s Get:45 http://ftpmaster.internal/ubuntu resolute/main arm64 ruby-did-you-mean all 1.6.3-2build1 [14.9 kB] 272s Get:46 http://ftpmaster.internal/ubuntu resolute/main arm64 ruby-net-telnet all 0.2.0-1build1 [13.5 kB] 272s Get:47 http://ftpmaster.internal/ubuntu resolute/main arm64 ruby-ruby2-keywords all 0.0.5-1build1 [4398 B] 272s Get:48 http://ftpmaster.internal/ubuntu resolute/main arm64 ruby-webrick all 1.9.1-1build1 [60.9 kB] 272s Get:49 http://ftpmaster.internal/ubuntu resolute/main arm64 ruby-xmlrpc all 0.3.3-2build1 [24.9 kB] 272s Get:50 http://ftpmaster.internal/ubuntu resolute-proposed/main arm64 libruby3.3 arm64 3.3.8-2ubuntu3 [5827 kB] 272s Get:51 http://ftpmaster.internal/ubuntu resolute/main arm64 libruby arm64 1:3.3 [5164 B] 272s Get:52 http://ftpmaster.internal/ubuntu resolute/universe arm64 ruby-concurrent all 1.3.4-1 [283 kB] 272s Get:53 http://ftpmaster.internal/ubuntu resolute/universe arm64 ruby-concurrent-ext arm64 1.3.4-1 [9284 B] 272s Get:54 http://ftpmaster.internal/ubuntu resolute/universe arm64 ruby-diff-lcs all 1.5.1-1 [22.8 kB] 272s Get:55 http://ftpmaster.internal/ubuntu resolute/universe arm64 ruby-rspec-support all 3.13.0c0e0m0s1-2 [29.2 kB] 272s Get:56 http://ftpmaster.internal/ubuntu resolute/universe arm64 ruby-rspec-core all 3.13.0c0e0m0s1-2 [164 kB] 272s Get:57 http://ftpmaster.internal/ubuntu resolute/universe arm64 ruby-rspec-expectations all 3.13.0c0e0m0s1-2 [89.8 kB] 272s Get:58 http://ftpmaster.internal/ubuntu resolute/universe arm64 ruby-rspec-mocks all 3.13.0c0e0m0s1-2 [81.0 kB] 272s Get:59 http://ftpmaster.internal/ubuntu resolute/universe arm64 ruby-rspec all 3.13.0c0e0m0s1-2 [3500 B] 272s Get:60 http://ftpmaster.internal/ubuntu resolute/universe arm64 ruby-timecop all 0.9.10-1.1 [11.5 kB] 272s Fetched 90.5 MB in 4s (21.9 MB/s) 272s Selecting previously unselected package ca-certificates-java. 272s (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 ... 89360 files and directories currently installed.) 272s Preparing to unpack .../00-ca-certificates-java_20240118build1_all.deb ... 272s Unpacking ca-certificates-java (20240118build1) ... 272s Selecting previously unselected package java-common. 272s Preparing to unpack .../01-java-common_0.76build1_all.deb ... 272s Unpacking java-common (0.76build1) ... 272s Selecting previously unselected package liblcms2-2:arm64. 273s Preparing to unpack .../02-liblcms2-2_2.17-1_arm64.deb ... 273s Unpacking liblcms2-2:arm64 (2.17-1) ... 273s Selecting previously unselected package libjpeg-turbo8:arm64. 273s Preparing to unpack .../03-libjpeg-turbo8_2.1.5-4ubuntu2_arm64.deb ... 273s Unpacking libjpeg-turbo8:arm64 (2.1.5-4ubuntu2) ... 273s Selecting previously unselected package libjpeg8:arm64. 273s Preparing to unpack .../04-libjpeg8_8c-2ubuntu11_arm64.deb ... 273s Unpacking libjpeg8:arm64 (8c-2ubuntu11) ... 273s Selecting previously unselected package libpcsclite1:arm64. 273s Preparing to unpack .../05-libpcsclite1_2.4.1-1_arm64.deb ... 273s Unpacking libpcsclite1:arm64 (2.4.1-1) ... 273s Selecting previously unselected package openjdk-21-jre-headless:arm64. 273s Preparing to unpack .../06-openjdk-21-jre-headless_21.0.10+7-1_arm64.deb ... 273s Unpacking openjdk-21-jre-headless:arm64 (21.0.10+7-1) ... 274s Selecting previously unselected package default-jre-headless. 274s Preparing to unpack .../07-default-jre-headless_2%3a1.21-76build1_arm64.deb ... 274s Unpacking default-jre-headless (2:1.21-76build1) ... 274s Selecting previously unselected package libasm-java. 274s Preparing to unpack .../08-libasm-java_9.8-2_all.deb ... 274s Unpacking libasm-java (9.8-2) ... 274s Selecting previously unselected package libbackport9-java. 274s Preparing to unpack .../09-libbackport9-java_1.10-2build1_all.deb ... 274s Unpacking libbackport9-java (1.10-2build1) ... 274s Selecting previously unselected package libbcprov-java. 274s Preparing to unpack .../10-libbcprov-java_1.80-3_all.deb ... 274s Unpacking libbcprov-java (1.80-3) ... 274s Selecting previously unselected package libbcutil-java. 274s Preparing to unpack .../11-libbcutil-java_1.80-3_all.deb ... 274s Unpacking libbcutil-java (1.80-3) ... 274s Selecting previously unselected package libbcpkix-java. 274s Preparing to unpack .../12-libbcpkix-java_1.80-3_all.deb ... 274s Unpacking libbcpkix-java (1.80-3) ... 274s Selecting previously unselected package libbctls-java. 274s Preparing to unpack .../13-libbctls-java_1.80-3_all.deb ... 274s Unpacking libbctls-java (1.80-3) ... 274s Selecting previously unselected package libdirgra-java. 274s Preparing to unpack .../14-libdirgra-java_0.4-2build1_all.deb ... 274s Unpacking libdirgra-java (0.4-2build1) ... 274s Selecting previously unselected package libfixposix4t64:arm64. 274s Preparing to unpack .../15-libfixposix4t64_1%3a0.5.1-1+nmu1.1build2_arm64.deb ... 274s Unpacking libfixposix4t64:arm64 (1:0.5.1-1+nmu1.1build2) ... 274s Selecting previously unselected package libheadius-options-java. 274s Preparing to unpack .../16-libheadius-options-java_1.7-1build1_all.deb ... 274s Unpacking libheadius-options-java (1.7-1build1) ... 274s Selecting previously unselected package libinvokebinder-java. 274s Preparing to unpack .../17-libinvokebinder-java_1.14-1build1_all.deb ... 274s Unpacking libinvokebinder-java (1.14-1build1) ... 274s Selecting previously unselected package libhawtjni-runtime-java. 274s Preparing to unpack .../18-libhawtjni-runtime-java_1.18-1build1_all.deb ... 274s Unpacking libhawtjni-runtime-java (1.18-1build1) ... 274s Selecting previously unselected package libjansi-native-java. 274s Preparing to unpack .../19-libjansi-native-java_1.8-2build1_all.deb ... 274s Unpacking libjansi-native-java (1.8-2build1) ... 274s Selecting previously unselected package libjansi1-java. 274s Preparing to unpack .../20-libjansi1-java_1.18-3.1build1_all.deb ... 274s Unpacking libjansi1-java (1.18-3.1build1) ... 274s Selecting previously unselected package libjcodings-java. 274s Preparing to unpack .../21-libjcodings-java_1.0.58-1build1_all.deb ... 274s Unpacking libjcodings-java (1.0.58-1build1) ... 274s Selecting previously unselected package libjffi-jni:arm64. 274s Preparing to unpack .../22-libjffi-jni_1.3.13+ds-1build1_arm64.deb ... 274s Unpacking libjffi-jni:arm64 (1.3.13+ds-1build1) ... 274s Selecting previously unselected package libjffi-java. 274s Preparing to unpack .../23-libjffi-java_1.3.13+ds-1build1_all.deb ... 274s Unpacking libjffi-java (1.3.13+ds-1build1) ... 274s Selecting previously unselected package libjitescript-java. 274s Preparing to unpack .../24-libjitescript-java_0.4.3-1build1_all.deb ... 274s Unpacking libjitescript-java (0.4.3-1build1) ... 274s Selecting previously unselected package libjline2-java. 274s Preparing to unpack .../25-libjline2-java_2.14.6-6_all.deb ... 274s Unpacking libjline2-java (2.14.6-6) ... 274s Selecting previously unselected package libjnr-constants-java. 274s Preparing to unpack .../26-libjnr-constants-java_0.10.4-2build1_all.deb ... 274s Unpacking libjnr-constants-java (0.10.4-2build1) ... 274s Selecting previously unselected package libjnr-x86asm-java. 275s Preparing to unpack .../27-libjnr-x86asm-java_1.0.2-6build1_all.deb ... 275s Unpacking libjnr-x86asm-java (1.0.2-6build1) ... 275s Selecting previously unselected package libjnr-ffi-java. 275s Preparing to unpack .../28-libjnr-ffi-java_2.2.15-2build1_all.deb ... 275s Unpacking libjnr-ffi-java (2.2.15-2build1) ... 275s Selecting previously unselected package libjnr-enxio-java. 275s Preparing to unpack .../29-libjnr-enxio-java_0.32.16-1build1_all.deb ... 275s Unpacking libjnr-enxio-java (0.32.16-1build1) ... 275s Selecting previously unselected package libjnr-netdb-java. 275s Preparing to unpack .../30-libjnr-netdb-java_1.2.0+dfsg-1build1_all.deb ... 275s Unpacking libjnr-netdb-java (1.2.0+dfsg-1build1) ... 275s Selecting previously unselected package libjnr-posix-java. 275s Preparing to unpack .../31-libjnr-posix-java_3.1.18-1build1_all.deb ... 275s Unpacking libjnr-posix-java (3.1.18-1build1) ... 275s Selecting previously unselected package libjnr-unixsocket-java. 275s Preparing to unpack .../32-libjnr-unixsocket-java_0.38.21-3_all.deb ... 275s Unpacking libjnr-unixsocket-java (0.38.21-3) ... 275s Selecting previously unselected package libjoda-time-java. 275s Preparing to unpack .../33-libjoda-time-java_2.10.14-1_all.deb ... 275s Unpacking libjoda-time-java (2.10.14-1) ... 275s Selecting previously unselected package libjruby-joni-java. 275s Preparing to unpack .../34-libjruby-joni-java_2.2.1-1build1_all.deb ... 275s Unpacking libjruby-joni-java (2.2.1-1build1) ... 275s Selecting previously unselected package libjzlib-java. 275s Preparing to unpack .../35-libjzlib-java_1.1.3-3build1_all.deb ... 275s Unpacking libjzlib-java (1.1.3-3build1) ... 275s Selecting previously unselected package libsnakeyaml-engine-java. 275s Preparing to unpack .../36-libsnakeyaml-engine-java_2.7+ds-3build1_all.deb ... 275s Unpacking libsnakeyaml-engine-java (2.7+ds-3build1) ... 275s Selecting previously unselected package jruby. 275s Preparing to unpack .../37-jruby_9.4.8.0+ds-3ubuntu1_all.deb ... 275s Unpacking jruby (9.4.8.0+ds-3ubuntu1) ... 275s Selecting previously unselected package rubygems-integration. 275s Preparing to unpack .../38-rubygems-integration_1.19build1_all.deb ... 275s Unpacking rubygems-integration (1.19build1) ... 275s Selecting previously unselected package ruby3.3. 275s Preparing to unpack .../39-ruby3.3_3.3.8-2ubuntu3_arm64.deb ... 275s Unpacking ruby3.3 (3.3.8-2ubuntu3) ... 275s Selecting previously unselected package ruby-rubygems. 275s Preparing to unpack .../40-ruby-rubygems_3.6.7-2ubuntu2_all.deb ... 275s Unpacking ruby-rubygems (3.6.7-2ubuntu2) ... 275s Selecting previously unselected package ruby. 275s Preparing to unpack .../41-ruby_1%3a3.3_arm64.deb ... 275s Unpacking ruby (1:3.3) ... 275s Selecting previously unselected package rake. 275s Preparing to unpack .../42-rake_13.2.1-1build1_all.deb ... 275s Unpacking rake (13.2.1-1build1) ... 275s Selecting previously unselected package ruby-csv. 275s Preparing to unpack .../43-ruby-csv_3.3.4-1_all.deb ... 275s Unpacking ruby-csv (3.3.4-1) ... 275s Selecting previously unselected package ruby-did-you-mean. 275s Preparing to unpack .../44-ruby-did-you-mean_1.6.3-2build1_all.deb ... 275s Unpacking ruby-did-you-mean (1.6.3-2build1) ... 275s Selecting previously unselected package ruby-net-telnet. 276s Preparing to unpack .../45-ruby-net-telnet_0.2.0-1build1_all.deb ... 276s Unpacking ruby-net-telnet (0.2.0-1build1) ... 276s Selecting previously unselected package ruby-ruby2-keywords. 276s Preparing to unpack .../46-ruby-ruby2-keywords_0.0.5-1build1_all.deb ... 276s Unpacking ruby-ruby2-keywords (0.0.5-1build1) ... 276s Selecting previously unselected package ruby-webrick. 276s Preparing to unpack .../47-ruby-webrick_1.9.1-1build1_all.deb ... 276s Unpacking ruby-webrick (1.9.1-1build1) ... 276s Selecting previously unselected package ruby-xmlrpc. 276s Preparing to unpack .../48-ruby-xmlrpc_0.3.3-2build1_all.deb ... 276s Unpacking ruby-xmlrpc (0.3.3-2build1) ... 276s Selecting previously unselected package libruby3.3:arm64. 276s Preparing to unpack .../49-libruby3.3_3.3.8-2ubuntu3_arm64.deb ... 276s Unpacking libruby3.3:arm64 (3.3.8-2ubuntu3) ... 276s Selecting previously unselected package libruby:arm64. 276s Preparing to unpack .../50-libruby_1%3a3.3_arm64.deb ... 276s Unpacking libruby:arm64 (1:3.3) ... 276s Selecting previously unselected package ruby-concurrent. 276s Preparing to unpack .../51-ruby-concurrent_1.3.4-1_all.deb ... 276s Unpacking ruby-concurrent (1.3.4-1) ... 276s Selecting previously unselected package ruby-concurrent-ext. 276s Preparing to unpack .../52-ruby-concurrent-ext_1.3.4-1_arm64.deb ... 276s Unpacking ruby-concurrent-ext (1.3.4-1) ... 276s Selecting previously unselected package ruby-diff-lcs. 276s Preparing to unpack .../53-ruby-diff-lcs_1.5.1-1_all.deb ... 276s Unpacking ruby-diff-lcs (1.5.1-1) ... 276s Selecting previously unselected package ruby-rspec-support. 276s Preparing to unpack .../54-ruby-rspec-support_3.13.0c0e0m0s1-2_all.deb ... 276s Unpacking ruby-rspec-support (3.13.0c0e0m0s1-2) ... 276s Selecting previously unselected package ruby-rspec-core. 276s Preparing to unpack .../55-ruby-rspec-core_3.13.0c0e0m0s1-2_all.deb ... 276s Unpacking ruby-rspec-core (3.13.0c0e0m0s1-2) ... 276s Selecting previously unselected package ruby-rspec-expectations. 276s Preparing to unpack .../56-ruby-rspec-expectations_3.13.0c0e0m0s1-2_all.deb ... 276s Unpacking ruby-rspec-expectations (3.13.0c0e0m0s1-2) ... 276s Selecting previously unselected package ruby-rspec-mocks. 276s Preparing to unpack .../57-ruby-rspec-mocks_3.13.0c0e0m0s1-2_all.deb ... 276s Unpacking ruby-rspec-mocks (3.13.0c0e0m0s1-2) ... 276s Selecting previously unselected package ruby-rspec. 276s Preparing to unpack .../58-ruby-rspec_3.13.0c0e0m0s1-2_all.deb ... 276s Unpacking ruby-rspec (3.13.0c0e0m0s1-2) ... 276s Selecting previously unselected package ruby-timecop. 276s Preparing to unpack .../59-ruby-timecop_0.9.10-1.1_all.deb ... 276s Unpacking ruby-timecop (0.9.10-1.1) ... 276s Setting up libbcprov-java (1.80-3) ... 276s Setting up liblcms2-2:arm64 (2.17-1) ... 276s Setting up libfixposix4t64:arm64 (1:0.5.1-1+nmu1.1build2) ... 276s Setting up ruby-ruby2-keywords (0.0.5-1build1) ... 276s Setting up java-common (0.76build1) ... 276s Setting up libbcutil-java (1.80-3) ... 276s Setting up libasm-java (9.8-2) ... 276s Setting up rubygems-integration (1.19build1) ... 276s Setting up libheadius-options-java (1.7-1build1) ... 276s Setting up libbctls-java (1.80-3) ... 276s Setting up ruby-concurrent (1.3.4-1) ... 276s Setting up libjnr-x86asm-java (1.0.2-6build1) ... 276s Setting up ruby-timecop (0.9.10-1.1) ... 276s Setting up libjzlib-java (1.1.3-3build1) ... 276s Setting up libbackport9-java (1.10-2build1) ... 276s Setting up libjitescript-java (0.4.3-1build1) ... 276s Setting up libsnakeyaml-engine-java (2.7+ds-3build1) ... 276s Setting up ruby-net-telnet (0.2.0-1build1) ... 276s Setting up ruby-csv (3.3.4-1) ... 276s Setting up libpcsclite1:arm64 (2.4.1-1) ... 276s Setting up libjpeg-turbo8:arm64 (2.1.5-4ubuntu2) ... 276s Setting up ruby-rspec-support (3.13.0c0e0m0s1-2) ... 276s Setting up libjoda-time-java (2.10.14-1) ... 276s Setting up libjcodings-java (1.0.58-1build1) ... 276s Setting up ruby-webrick (1.9.1-1build1) ... 276s Setting up libinvokebinder-java (1.14-1build1) ... 276s Setting up libjffi-jni:arm64 (1.3.13+ds-1build1) ... 276s Setting up ca-certificates-java (20240118build1) ... 276s No JRE found. Skipping Java certificates setup. 276s Setting up ruby-did-you-mean (1.6.3-2build1) ... 276s Setting up libbcpkix-java (1.80-3) ... 276s Setting up ruby-xmlrpc (0.3.3-2build1) ... 276s Setting up libhawtjni-runtime-java (1.18-1build1) ... 276s Setting up libdirgra-java (0.4-2build1) ... 276s Setting up libjnr-constants-java (0.10.4-2build1) ... 276s Setting up libjpeg8:arm64 (8c-2ubuntu11) ... 276s Setting up libjffi-java (1.3.13+ds-1build1) ... 276s Setting up openjdk-21-jre-headless:arm64 (21.0.10+7-1) ... 276s update-alternatives: using /usr/lib/jvm/java-21-openjdk-arm64/bin/java to provide /usr/bin/java (java) in auto mode 276s update-alternatives: using /usr/lib/jvm/java-21-openjdk-arm64/bin/jpackage to provide /usr/bin/jpackage (jpackage) in auto mode 276s update-alternatives: using /usr/lib/jvm/java-21-openjdk-arm64/bin/keytool to provide /usr/bin/keytool (keytool) in auto mode 276s update-alternatives: using /usr/lib/jvm/java-21-openjdk-arm64/bin/rmiregistry to provide /usr/bin/rmiregistry (rmiregistry) in auto mode 276s update-alternatives: using /usr/lib/jvm/java-21-openjdk-arm64/lib/jexec to provide /usr/bin/jexec (jexec) in auto mode 276s Setting up libjruby-joni-java (2.2.1-1build1) ... 276s Setting up libjansi-native-java (1.8-2build1) ... 276s Setting up libjansi1-java (1.18-3.1build1) ... 276s Setting up libjline2-java (2.14.6-6) ... 276s Setting up libjnr-ffi-java (2.2.15-2build1) ... 276s Setting up libjnr-enxio-java (0.32.16-1build1) ... 276s Setting up libjnr-netdb-java (1.2.0+dfsg-1build1) ... 276s Setting up libjnr-posix-java (3.1.18-1build1) ... 276s Setting up libjnr-unixsocket-java (0.38.21-3) ... 276s Setting up rake (13.2.1-1build1) ... 276s Setting up libruby3.3:arm64 (3.3.8-2ubuntu3) ... 276s Setting up ruby3.3 (3.3.8-2ubuntu3) ... 276s Setting up libruby:arm64 (1:3.3) ... 276s Setting up ruby (1:3.3) ... 276s Setting up ruby-rspec-core (3.13.0c0e0m0s1-2) ... 276s Setting up ruby-diff-lcs (1.5.1-1) ... 276s Setting up ruby-rubygems (3.6.7-2ubuntu2) ... 276s Setting up ruby-concurrent-ext (1.3.4-1) ... 276s Setting up ruby-rspec-expectations (3.13.0c0e0m0s1-2) ... 276s Setting up ruby-rspec-mocks (3.13.0c0e0m0s1-2) ... 276s Setting up ruby-rspec (3.13.0c0e0m0s1-2) ... 276s Processing triggers for libc-bin (2.42-2ubuntu4) ... 277s Processing triggers for man-db (2.13.1-1) ... 277s Processing triggers for ca-certificates-java (20240118build1) ... 278s Adding debian:ACCVRAIZ1.pem 278s Adding debian:AC_RAIZ_FNMT-RCM.pem 278s Adding debian:AC_RAIZ_FNMT-RCM_SERVIDORES_SEGUROS.pem 278s Adding debian:ANF_Secure_Server_Root_CA.pem 278s Adding debian:Actalis_Authentication_Root_CA.pem 278s Adding debian:AffirmTrust_Commercial.pem 278s Adding debian:AffirmTrust_Networking.pem 278s Adding debian:AffirmTrust_Premium.pem 278s Adding debian:AffirmTrust_Premium_ECC.pem 278s Adding debian:Amazon_Root_CA_1.pem 278s Adding debian:Amazon_Root_CA_2.pem 278s Adding debian:Amazon_Root_CA_3.pem 278s Adding debian:Amazon_Root_CA_4.pem 278s Adding debian:Atos_TrustedRoot_2011.pem 278s Adding debian:Atos_TrustedRoot_Root_CA_ECC_TLS_2021.pem 278s Adding debian:Atos_TrustedRoot_Root_CA_RSA_TLS_2021.pem 278s Adding debian:Autoridad_de_Certificacion_Firmaprofesional_CIF_A62634068.pem 278s Adding debian:BJCA_Global_Root_CA1.pem 278s Adding debian:BJCA_Global_Root_CA2.pem 278s Adding debian:Baltimore_CyberTrust_Root.pem 278s Adding debian:Buypass_Class_2_Root_CA.pem 278s Adding debian:Buypass_Class_3_Root_CA.pem 278s Adding debian:CA_Disig_Root_R2.pem 278s Adding debian:CFCA_EV_ROOT.pem 278s Adding debian:COMODO_Certification_Authority.pem 278s Adding debian:COMODO_ECC_Certification_Authority.pem 278s Adding debian:COMODO_RSA_Certification_Authority.pem 278s Adding debian:Certainly_Root_E1.pem 278s Adding debian:Certainly_Root_R1.pem 278s Adding debian:Certigna.pem 278s Adding debian:Certigna_Root_CA.pem 278s Adding debian:Certum_EC-384_CA.pem 278s Adding debian:Certum_Trusted_Network_CA.pem 278s Adding debian:Certum_Trusted_Network_CA_2.pem 278s Adding debian:Certum_Trusted_Root_CA.pem 278s Adding debian:CommScope_Public_Trust_ECC_Root-01.pem 278s Adding debian:CommScope_Public_Trust_ECC_Root-02.pem 278s Adding debian:CommScope_Public_Trust_RSA_Root-01.pem 278s Adding debian:CommScope_Public_Trust_RSA_Root-02.pem 278s Adding debian:Comodo_AAA_Services_root.pem 278s Adding debian:D-TRUST_BR_Root_CA_1_2020.pem 278s Adding debian:D-TRUST_BR_Root_CA_2_2023.pem 278s Adding debian:D-TRUST_EV_Root_CA_1_2020.pem 278s Adding debian:D-TRUST_EV_Root_CA_2_2023.pem 278s Adding debian:D-TRUST_Root_Class_3_CA_2_2009.pem 278s Adding debian:D-TRUST_Root_Class_3_CA_2_EV_2009.pem 278s Adding debian:DigiCert_Assured_ID_Root_CA.pem 278s Adding debian:DigiCert_Assured_ID_Root_G2.pem 278s Adding debian:DigiCert_Assured_ID_Root_G3.pem 278s Adding debian:DigiCert_Global_Root_CA.pem 278s Adding debian:DigiCert_Global_Root_G2.pem 278s Adding debian:DigiCert_Global_Root_G3.pem 278s Adding debian:DigiCert_High_Assurance_EV_Root_CA.pem 278s Adding debian:DigiCert_TLS_ECC_P384_Root_G5.pem 278s Adding debian:DigiCert_TLS_RSA4096_Root_G5.pem 278s Adding debian:DigiCert_Trusted_Root_G4.pem 278s Adding debian:Entrust.net_Premium_2048_Secure_Server_CA.pem 278s Adding debian:Entrust_Root_Certification_Authority.pem 278s Adding debian:Entrust_Root_Certification_Authority_-_EC1.pem 278s Adding debian:Entrust_Root_Certification_Authority_-_G2.pem 278s Adding debian:FIRMAPROFESIONAL_CA_ROOT-A_WEB.pem 278s Adding debian:GDCA_TrustAUTH_R5_ROOT.pem 278s Adding debian:GLOBALTRUST_2020.pem 278s Adding debian:GTS_Root_R1.pem 278s Adding debian:GTS_Root_R2.pem 278s Adding debian:GTS_Root_R3.pem 278s Adding debian:GTS_Root_R4.pem 278s Adding debian:GlobalSign_ECC_Root_CA_-_R4.pem 278s Adding debian:GlobalSign_ECC_Root_CA_-_R5.pem 278s Adding debian:GlobalSign_Root_CA.pem 278s Adding debian:GlobalSign_Root_CA_-_R3.pem 278s Adding debian:GlobalSign_Root_CA_-_R6.pem 278s Adding debian:GlobalSign_Root_E46.pem 278s Adding debian:GlobalSign_Root_R46.pem 278s Adding debian:Go_Daddy_Class_2_CA.pem 278s Adding debian:Go_Daddy_Root_Certificate_Authority_-_G2.pem 278s Adding debian:HARICA_TLS_ECC_Root_CA_2021.pem 278s Adding debian:HARICA_TLS_RSA_Root_CA_2021.pem 278s Adding debian:Hellenic_Academic_and_Research_Institutions_ECC_RootCA_2015.pem 278s Adding debian:Hellenic_Academic_and_Research_Institutions_RootCA_2015.pem 278s Adding debian:HiPKI_Root_CA_-_G1.pem 278s Adding debian:Hongkong_Post_Root_CA_3.pem 278s Adding debian:ISRG_Root_X1.pem 278s Adding debian:ISRG_Root_X2.pem 278s Adding debian:IdenTrust_Commercial_Root_CA_1.pem 278s Adding debian:IdenTrust_Public_Sector_Root_CA_1.pem 278s Adding debian:Izenpe.com.pem 278s Adding debian:Microsec_e-Szigno_Root_CA_2009.pem 278s Adding debian:Microsoft_ECC_Root_Certificate_Authority_2017.pem 278s Adding debian:Microsoft_RSA_Root_Certificate_Authority_2017.pem 278s Adding debian:NAVER_Global_Root_Certification_Authority.pem 278s Adding debian:NetLock_Arany_=Class_Gold=_Főtanúsítvány.pem 278s Adding debian:OISTE_WISeKey_Global_Root_GB_CA.pem 278s Adding debian:OISTE_WISeKey_Global_Root_GC_CA.pem 278s Adding debian:QuoVadis_Root_CA_1_G3.pem 278s Adding debian:QuoVadis_Root_CA_2.pem 278s Adding debian:QuoVadis_Root_CA_2_G3.pem 278s Adding debian:QuoVadis_Root_CA_3.pem 278s Adding debian:QuoVadis_Root_CA_3_G3.pem 278s Adding debian:SSL.com_EV_Root_Certification_Authority_ECC.pem 278s Adding debian:SSL.com_EV_Root_Certification_Authority_RSA_R2.pem 278s Adding debian:SSL.com_Root_Certification_Authority_ECC.pem 278s Adding debian:SSL.com_Root_Certification_Authority_RSA.pem 278s Adding debian:SSL.com_TLS_ECC_Root_CA_2022.pem 278s Adding debian:SSL.com_TLS_RSA_Root_CA_2022.pem 278s Adding debian:SZAFIR_ROOT_CA2.pem 278s Adding debian:Sectigo_Public_Server_Authentication_Root_E46.pem 278s Adding debian:Sectigo_Public_Server_Authentication_Root_R46.pem 278s Adding debian:SecureSign_Root_CA12.pem 278s Adding debian:SecureSign_Root_CA14.pem 278s Adding debian:SecureSign_Root_CA15.pem 278s Adding debian:SecureTrust_CA.pem 278s Adding debian:Secure_Global_CA.pem 278s Adding debian:Security_Communication_ECC_RootCA1.pem 278s Adding debian:Security_Communication_RootCA2.pem 278s Adding debian:Starfield_Class_2_CA.pem 278s Adding debian:Starfield_Root_Certificate_Authority_-_G2.pem 278s Adding debian:Starfield_Services_Root_Certificate_Authority_-_G2.pem 278s Adding debian:SwissSign_Gold_CA_-_G2.pem 278s Adding debian:T-TeleSec_GlobalRoot_Class_2.pem 278s Adding debian:T-TeleSec_GlobalRoot_Class_3.pem 278s Adding debian:TUBITAK_Kamu_SM_SSL_Kok_Sertifikasi_-_Surum_1.pem 278s Adding debian:TWCA_CYBER_Root_CA.pem 278s Adding debian:TWCA_Global_Root_CA.pem 278s Adding debian:TWCA_Root_Certification_Authority.pem 278s Adding debian:Telekom_Security_TLS_ECC_Root_2020.pem 278s Adding debian:Telekom_Security_TLS_RSA_Root_2023.pem 278s Adding debian:TeliaSonera_Root_CA_v1.pem 278s Adding debian:Telia_Root_CA_v2.pem 278s Adding debian:TrustAsia_Global_Root_CA_G3.pem 278s Adding debian:TrustAsia_Global_Root_CA_G4.pem 278s Adding debian:Trustwave_Global_Certification_Authority.pem 278s Adding debian:Trustwave_Global_ECC_P256_Certification_Authority.pem 278s Adding debian:Trustwave_Global_ECC_P384_Certification_Authority.pem 278s Adding debian:TunTrust_Root_CA.pem 278s Adding debian:UCA_Extended_Validation_Root.pem 278s Adding debian:UCA_Global_G2_Root.pem 278s Adding debian:USERTrust_ECC_Certification_Authority.pem 278s Adding debian:USERTrust_RSA_Certification_Authority.pem 278s Adding debian:XRamp_Global_CA_Root.pem 278s Adding debian:certSIGN_ROOT_CA.pem 278s Adding debian:certSIGN_Root_CA_G2.pem 278s Adding debian:e-Szigno_Root_CA_2017.pem 278s Adding debian:ePKI_Root_Certification_Authority.pem 278s Adding debian:emSign_ECC_Root_CA_-_C3.pem 278s Adding debian:emSign_ECC_Root_CA_-_G3.pem 278s Adding debian:emSign_Root_CA_-_C1.pem 278s Adding debian:emSign_Root_CA_-_G1.pem 278s Adding debian:vTrus_ECC_Root_CA.pem 278s Adding debian:vTrus_Root_CA.pem 278s done. 278s Setting up default-jre-headless (2:1.21-76build1) ... 278s Setting up jruby (9.4.8.0+ds-3ubuntu1) ... 282s autopkgtest [02:04:04]: test jruby: [----------------------- 282s installing concurrent-ruby-1.3.4 gem into temporary GEM_HOME for jruby ... 282s installing concurrent-ruby-edge-0.7.1 gem into temporary GEM_HOME for jruby ... 282s installing diff-lcs-1.5.1 gem into temporary GEM_HOME for jruby ... 282s installing rspec-core-3.13.0 gem into temporary GEM_HOME for jruby ... 282s installing rspec-expectations-3.13.0 gem into temporary GEM_HOME for jruby ... 282s installing rspec-mocks-3.13.0 gem into temporary GEM_HOME for jruby ... 282s installing rspec-support-3.13.1 gem into temporary GEM_HOME for jruby ... 282s installing timecop-0.9.10 gem into temporary GEM_HOME for jruby ... 288s /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85: warning: loading in progress, circular require considered harmful - /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/options.rb require at org/jruby/RubyKernel.java:1184 288s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 288s at /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/options.rb:6 288s
at /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/options.rb:3 288s require at org/jruby/RubyKernel.java:1184 288s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 288s
at /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/scheduled_task.rb:8 288s require at org/jruby/RubyKernel.java:1184 288s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 288s
at /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/executor/timer_set.rb:1 288s require at org/jruby/RubyKernel.java:1184 288s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 288s
at /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/executors.rb:20 288s require at org/jruby/RubyKernel.java:1184 288s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 288s
at /usr/share/rubygems-integration/all/gems/concurrent-ruby-edge-0.7.1/lib/concurrent-ruby-edge/concurrent/actor/core.rb:4 288s require at org/jruby/RubyKernel.java:1184 288s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 288s at /usr/share/rubygems-integration/all/gems/concurrent-ruby-edge-0.7.1/lib/concurrent-ruby-edge/concurrent/actor.rb:25 288s at /usr/share/rubygems-integration/all/gems/concurrent-ruby-edge-0.7.1/lib/concurrent-ruby-edge/concurrent/actor.rb:17 288s
at /usr/share/rubygems-integration/all/gems/concurrent-ruby-edge-0.7.1/lib/concurrent-ruby-edge/concurrent/actor.rb:7 288s require at org/jruby/RubyKernel.java:1184 288s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:160 288s
at /tmp/autopkgtest.V4055I/build.adT/src/spec/concurrent/actor_spec.rb:1 288s load at org/jruby/RubyKernel.java:1220 288s load_file_handling_errors at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:2138 288s load_spec_files at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:1638 288s each at org/jruby/RubyArray.java:1981 288s load_spec_files at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:1636 288s setup at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:102 288s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:86 288s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:71 288s invoke at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:45 288s
at /usr/bin/rspec:4 288s 288s /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85: warning: loading in progress, circular require considered harmful - /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/executor/timer_set.rb require at org/jruby/RubyKernel.java:1184 288s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 288s at /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/executor/timer_set.rb:19 288s
at /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/executor/timer_set.rb:9 288s require at org/jruby/RubyKernel.java:1184 288s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 288s
at /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/executors.rb:20 288s require at org/jruby/RubyKernel.java:1184 288s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 288s
at /usr/share/rubygems-integration/all/gems/concurrent-ruby-edge-0.7.1/lib/concurrent-ruby-edge/concurrent/actor/core.rb:4 288s require at org/jruby/RubyKernel.java:1184 288s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 288s at /usr/share/rubygems-integration/all/gems/concurrent-ruby-edge-0.7.1/lib/concurrent-ruby-edge/concurrent/actor.rb:25 288s at /usr/share/rubygems-integration/all/gems/concurrent-ruby-edge-0.7.1/lib/concurrent-ruby-edge/concurrent/actor.rb:17 288s
at /usr/share/rubygems-integration/all/gems/concurrent-ruby-edge-0.7.1/lib/concurrent-ruby-edge/concurrent/actor.rb:7 288s require at org/jruby/RubyKernel.java:1184 288s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:160 288s
at /tmp/autopkgtest.V4055I/build.adT/src/spec/concurrent/actor_spec.rb:1 288s load at org/jruby/RubyKernel.java:1220 288s load_file_handling_errors at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:2138 288s load_spec_files at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:1638 288s each at org/jruby/RubyArray.java:1981 288s load_spec_files at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:1636 288s setup at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:102 288s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:86 288s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:71 288s invoke at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:45 288s
at /usr/bin/rspec:4 288s 292s /usr/share/jruby/lib/ruby/stdlib/date.rb:471: warning: previous definition of strptime was here 292s /usr/share/jruby/lib/ruby/stdlib/date.rb:490: warning: previous definition of parse was here 292s /usr/share/jruby/lib/ruby/stdlib/date.rb:737: warning: previous definition of parse was here 293s Run options: exclude {:stress=>true} 293s 293s Concurrent::Actor 294s /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 294s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 294s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:30 294s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:3 294s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:2 294s
at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:1 294s require at org/jruby/RubyKernel.java:1184 294s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 294s be_truthy at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers.rb:311 294s
at /tmp/autopkgtest.V4055I/build.adT/src/spec/spec_helper.rb:50 294s instance_exec at org/jruby/RubyBasicObject.java:2620 294s instance_exec at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:457 294s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:365 294s run_owned_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:529 294s each at org/jruby/RubyArray.java:1981 294s run_owned_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:528 294s run_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:615 294s reverse_each at org/jruby/RubyArray.java:2063 294s run_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:614 294s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:484 294s run_before_example at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:505 294s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:261 294s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 294s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 294s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 294s run_around_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:624 294s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 294s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 294s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 294s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:259 294s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:646 294s map at org/jruby/RubyArray.java:2803 294s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:651 294s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:607 294s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121 294s map at org/jruby/RubyArray.java:2803 294s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121 294s with_suite_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:2091 294s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:116 294s report at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/reporter.rb:74 294s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:115 294s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:89 294s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:71 294s invoke at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:45 294s
at /usr/bin/rspec:4 294s 294s /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 294s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 294s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:53 294s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:3 294s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:2 294s
at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:1 294s require at org/jruby/RubyKernel.java:1184 294s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 294s be_truthy at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers.rb:311 294s
at /tmp/autopkgtest.V4055I/build.adT/src/spec/spec_helper.rb:50 294s instance_exec at org/jruby/RubyBasicObject.java:2620 294s instance_exec at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:457 294s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:365 294s run_owned_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:529 294s each at org/jruby/RubyArray.java:1981 294s run_owned_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:528 294s run_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:615 294s reverse_each at org/jruby/RubyArray.java:2063 294s run_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:614 294s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:484 294s run_before_example at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:505 294s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:261 294s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 294s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 294s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 294s run_around_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:624 294s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 294s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 294s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 294s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:259 294s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:646 294s map at org/jruby/RubyArray.java:2803 294s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:651 294s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:607 294s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121 294s map at org/jruby/RubyArray.java:2803 294s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121 294s with_suite_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:2091 294s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:116 294s report at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/reporter.rb:74 294s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:115 294s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:89 294s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:71 294s invoke at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:45 294s
at /usr/bin/rspec:4 294s 294s /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 294s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 294s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:74 294s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:3 294s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:2 294s
at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:1 294s require at org/jruby/RubyKernel.java:1184 294s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 294s be_truthy at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers.rb:311 294s
at /tmp/autopkgtest.V4055I/build.adT/src/spec/spec_helper.rb:50 294s instance_exec at org/jruby/RubyBasicObject.java:2620 294s instance_exec at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:457 294s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:365 294s run_owned_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:529 294s each at org/jruby/RubyArray.java:1981 294s run_owned_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:528 294s run_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:615 294s reverse_each at org/jruby/RubyArray.java:2063 294s run_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:614 294s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:484 294s run_before_example at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:505 294s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:261 294s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 294s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 294s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 294s run_around_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:624 294s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 294s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 294s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 294s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:259 294s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:646 294s map at org/jruby/RubyArray.java:2803 294s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:651 294s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:607 294s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121 294s map at org/jruby/RubyArray.java:2803 294s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121 294s with_suite_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:2091 294s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:116 294s report at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/reporter.rb:74 294s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:115 294s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:89 294s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:71 294s invoke at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:45 294s
at /usr/bin/rspec:4 294s 294s /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 294s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 294s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:101 294s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:3 294s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:2 294s
at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:1 294s require at org/jruby/RubyKernel.java:1184 294s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 294s be_truthy at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers.rb:311 294s
at /tmp/autopkgtest.V4055I/build.adT/src/spec/spec_helper.rb:50 294s instance_exec at org/jruby/RubyBasicObject.java:2620 294s instance_exec at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:457 294s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:365 294s run_owned_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:529 294s each at org/jruby/RubyArray.java:1981 294s run_owned_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:528 294s run_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:615 294s reverse_each at org/jruby/RubyArray.java:2063 294s run_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:614 294s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:484 294s run_before_example at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:505 294s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:261 294s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 294s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 294s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 294s run_around_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:624 294s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 294s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 294s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 294s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:259 294s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:646 294s map at org/jruby/RubyArray.java:2803 294s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:651 294s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:607 294s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121 294s map at org/jruby/RubyArray.java:2803 294s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121 294s with_suite_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:2091 294s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:116 294s report at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/reporter.rb:74 294s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:115 294s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:89 294s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:71 294s invoke at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:45 294s
at /usr/bin/rspec:4 294s 294s /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 294s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 294s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:136 294s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:3 294s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:2 294s
at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:1 294s require at org/jruby/RubyKernel.java:1184 294s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 294s be_truthy at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers.rb:311 294s
at /tmp/autopkgtest.V4055I/build.adT/src/spec/spec_helper.rb:50 294s instance_exec at org/jruby/RubyBasicObject.java:2620 294s instance_exec at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:457 294s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:365 294s run_owned_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:529 294s each at org/jruby/RubyArray.java:1981 294s run_owned_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:528 294s run_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:615 294s reverse_each at org/jruby/RubyArray.java:2063 294s run_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:614 294s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:484 294s run_before_example at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:505 294s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:261 294s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 294s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 294s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 294s run_around_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:624 294s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 294s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 294s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 294s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:259 294s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:646 294s map at org/jruby/RubyArray.java:2803 294s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:651 294s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:607 294s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121 294s map at org/jruby/RubyArray.java:2803 294s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121 294s with_suite_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:2091 294s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:116 294s report at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/reporter.rb:74 294s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:115 294s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:89 294s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:71 294s invoke at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:45 294s
at /usr/bin/rspec:4 294s 294s forbids Immediate executor 294s links 294s links atomically 294s spawning 294s terminates on failed initialization 294s terminates on failed initialization and raises with spawn! 294s terminates on failed message processing 294s Actor#spawn! 294s spawn 294s executor should be global 294s returns arg 294s #path 294s is expected to eq "/ping" 294s #parent 294s is expected to eq # 294s #name 294s is expected to eq "ping" 294s #reference 294s is expected to eq # 294s context_spawn 294s executor should be global 294s returns arg 294s #path 294s is expected to eq "/ping" 294s #parent 294s is expected to eq # 294s #name 294s is expected to eq "ping" 294s #reference 294s is expected to eq # 294s spawn_by_hash 294s executor should be global 294s returns arg 294s #path 294s is expected to eq "/ping" 294s #parent 294s is expected to eq # 294s #name 294s is expected to eq "ping" 294s #reference 294s is expected to eq # 294s context_spawn_by_hash 294s executor should be global 294s returns arg 294s #path 295s is expected to eq "/ping" 295s #parent 295s is expected to eq # 295s #name 295s is expected to eq "ping" 295s #reference 295s is expected to eq # 295s messaging 295s is expected to eq 4 295s children 295s has children set after a child is created 295s envelope 295s /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 295s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 295s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/has.rb:125 295s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/has.rb:3 295s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/has.rb:2 295s
at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/has.rb:1 295s require at org/jruby/RubyKernel.java:1184 295s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 295s method_missing at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers.rb:964 295s method_missing at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:767 295s Actor at /tmp/autopkgtest.V4055I/build.adT/src/spec/concurrent/actor_spec.rb:136 295s instance_exec at org/jruby/RubyBasicObject.java:2620 295s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:263 295s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 295s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 295s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 295s run_around_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:624 295s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 295s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 295s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 295s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:259 295s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:646 295s map at org/jruby/RubyArray.java:2803 295s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:651 295s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:607 295s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:608 295s map at org/jruby/RubyArray.java:2803 295s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:608 295s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121 295s map at org/jruby/RubyArray.java:2803 295s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121 295s with_suite_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:2091 295s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:116 295s report at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/reporter.rb:74 295s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:115 295s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:89 295s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:71 295s invoke at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:45 295s
at /usr/bin/rspec:4 295s 295s is expected to eq # 295s termination 295s terminates with all its children 295s dead letter routing 295s logs by deafault 295s message redirecting 295s is evaluated by child 295s pausing 295s pauses on error and resumes 295s pauses on error and resets 295s pauses on error and restarts 295s pool 295s supports asks 295s 295s Concurrent::Agent 295s initialization 295s sets the initial value 295s sets the initial error to nil 295s sets the error mode when given a valid value 295s defaults the error mode to :continue when an error handler is given 295s defaults the error mode to :fail when no error handler is given 295s raises an error when given an invalid error mode 295s sets #failed? to false 295s action processing 295s the given block will be passed the current value 295s the given block will be passed any provided arguments 295s the return value will be passed to the validator function 296s upon validation the new value will be set to the block return value 296s on success all observers will be notified 296s any recursive action dispatches will run after the value has been updated 296s when the action raises an error the value will not change 296s when the action raises an error the validator will not be called 296s when validation returns false the value will not change 296s when validation raises an error the value will not change 296s when the action raises an error the handler will be called 296s when validation fails the handler will be called 296s when validation raises an error the handler will be called 296s validation 296s sets the new value when the validator returns true 296s rejects the new value when the validator returns false 296s rejects the new value when the validator raises an error 296s sets the error when the error mode is :fail and the validator returns false 296s sets the error when the error mode is :fail and the validator raises an error 296s does not set an error when the error mode is :continue and the validator returns false 296s does not set an error when the error mode is :continue and the validator raises an error 296s does not trigger observation when validation fails 296s error handling 296s the agent will be passed to the handler 296s the exception will be passed to the handler 296s does not trigger observation 296s error mode 296s :continue 296s does not set an error when the validator returns false 296s does not set an error when the validator raises an error 296s does not set an error when the action raises an error 296s does not block further action processing 296s sets #failed? to false 296s :fail 296s sets the error when the validator returns false 296s sets the error when the validator raises an error 296s sets the error when the action raises an error 296s blocks all further action processing until a restart 296s sets #failed? to true 296s nested actions 296s occur in the order they ar post 296s work with immediate execution 296s posting 296s with #send 296s returns true when the job is post 296s returns false when #failed? 296s posts to the global fast executor 296s does not wait for the action to process 296s with #send! 296s returns true when the job is post 296s raises an error when #failed? 296s posts to the global fast executor 296s does not wait for the action to process 296s with #send_off 296s returns true when the job is post 296s returns false when #failed? 296s posts to the global io executor 296s does not wait for the action to process 296s with #send_off! 296s returns true when the job is post 296s raises an error when #failed? 296s posts to the global io executor 296s does not wait for the action to process 296s with #send_via 296s returns true when the job is post 296s returns false when #failed? 296s posts to the given executor 296s with #send_via! 296s returns true when the job is post 296s raises an error when #failed? 296s posts to the given executor 296s with #post 296s returns true when the job is post 296s returns false when #failed? 296s posts to the global io executor 296s does not wait for the action to process 296s with #<< 296s returns self when the job is post 296s returns self when #failed? 296s posts to the global io executor 297s does not wait for the action to process 297s #restart 297s when #failed? 297s raises an error if the new value is not valid 297s sets the new value 297s clears the error 297s sets #failed? to true 297s removes all actions from the queue when :clear_actions is true 297s does not clear the action queue when :clear_actions is false 297s does not clear the action queue when :clear_actions is not given 297s resumes action processing if actions are enqueued 297s does not trigger observation 297s when not #failed? 297s raises an error 297s waiting 297s the await job 297s does not change the value 297s does not trigger the error mode 297s does not trigger observers 298s waits for nested actions 298s with #await 298s returns self when there are no pending actions 298s does not block on actions from other threads 299s blocks indefinitely 300s returns true when all prior actions have processed 300s blocks forever if restarted with :clear_actions true (PENDING: the timing is nearly impossible) 300s with #await_for 300s returns true when there are no pending actions 300s does not block on actions from other threads 301s returns true when all prior actions have processed 302s returns false on timeout 302s returns false if restarted with :clear_actions true (PENDING: the timing is nearly impossible) 302s with #await_for! 302s returns true when there are no pending actions 302s does not block on actions from other threads 303s returns true when all prior actions have processed 304s raises an error on timeout 304s raises an error if restarted with :clear_actions true (PENDING: the timing is nearly impossible) 304s with #wait 304s returns true when there are no pending actions and timeout is nil 304s returns true when there are no pending actions and a timeout is given 304s does not block on actions from other threads 305s blocks indefinitely when timeout is nil 305s blocks forever when timeout is nil and restarted with :clear_actions true (PENDING: the timing is nearly impossible) 306s returns true when all prior actions have processed 307s returns false on timeout 307s returns false when timeout is given and restarted with :clear_actions true (PENDING: the timing is nearly impossible) 307s with .await 307s returns true when all prior actions on all agents have processed 307s with .await_for 307s returns true when there are no pending actions 307s returns true when all prior actions for all agents have processed 308s returns false on timeout 308s with await_for! 308s returns true when there are no pending actions 308s returns true when all prior actions for all agents have processed 309s raises an exception on timeout 309s observable 309s behaves like observable 309s #add_observer 309s adds an observer if called before first notification 309s adds an observer with :func if called before first notification 309s creates an observer from a block if called before first notification 309s raises an exception if not given an observer or a block 309s raises an exception when given both an observer and a block 309s #delete_observer 309s deletes the given observer if called before first notification 309s returns the removed observer if found in the observer set 309s returns the given observer even when not found in the observer set 309s #delete_observers 309s deletes all observers when called before first notification 309s returns self 309s #count_observers 309s returns zero for a new observable object 309s returns a count of registered observers if called before first notification 309s returns zero after #delete_observers has been called 309s first notification 309s calls the #update method on all observers without a specified :func 309s calls the appropriate function on all observers which specified a :func 309s calls the proc for all observers added as a block 310s does not notify any observers removed with #delete_observer 311s does not notify any observers after #delete_observers called 311s 311s Concurrent::Array 311s .[] 311s when initializing with no arguments 311s is expected to be empty 311s when initializing with arguments 311s creates an array with the given objects 311s .new 311s when initializing with no arguments 311s is expected to be empty 311s when initializing with a size argument 311s creates an array with size elements set to nil 311s when initializing with a default value argument 311s creates an array with size elements set to the default value 311s when initializing with a block argument 311s creates an array with size elements set to the default value 311s when initializing with another array as an argument 311s creates a new array 311s creates an array with the same contents as the other array 311s creates an array with the results of calling #to_ary on the other array 311s concurrency 311s is expected to be empty 311s #slice 311s correctly initializes the monitor 311s 311s Concurrent::Async 311s object creation 311s delegates to the original constructor 311s passes all args to the original constructor 311s passes a given block to the original constructor 311s initializes synchronization 311s #validate_argc 311s raises an exception when the method is not defined 311s raises an exception for too many args on a zero arity method 311s does not raise an exception for correct zero arity 311s raises an exception for too many args on a method with positive arity 311s raises an exception for too few args on a method with positive arity 311s does not raise an exception for correct positive arity 311s raises an exception for too few args on a method with negative arity 311s does not raise an exception for correct negative arity 311s #async 311s raises an error when calling a method that does not exist 311s raises an error when passing too few arguments 311s raises an error when pasing too many arguments (arity >= 0) 311s returns the existence of the method 311s returns a :pending IVar 311s runs the future on the global executor 311s sets the value on success 311s sets the reason on failure 311s sets the reason when giving too many optional arguments 311s supports attribute accessors 311s supports methods with blocks 311s #await 311s raises an error when calling a method that does not exist 311s raises an error when passing too few arguments 311s raises an error when pasing too many arguments (arity >= 0) 311s returns the existence of the method 311s returns a :fulfilled IVar 311s runs the future on the global executor 311s sets the value on success 311s sets the reason on failure 311s sets the reason when giving too many optional arguments 311s supports attribute accessors 311s supports methods with blocks 311s locking 312s uses the same lock for both #async and #await 312s fork safety 312s does not hang when forked (PENDING: Platform does not support fork) 312s 312s Concurrent::Atom 312s construction 312s sets the initial value to the given value 312s #compare_and_set 312s sets the new value if the current value matches 312s returns true if the current value matches 312s rejects the new value if the current value does not match 312s returns false if the current value does not match 312s rejects the new value if the validator returns false 312s rejects the new value if the validator raises an exception 312s returns false if the validator returns false 312s returns false if the validator raises an exception 312s #swap 312s raises an exception when no block is given 312s passes the current value to the block 312s passes all arguments to the block 312s sets the new value to the result of the block 312s rejects the new value if the validator returns false 312s rejects the new value if the validator raises an exception 312s returns the new value on success 312s returns the old value if the validator returns false 312s returns the old value if the validator raises an exception 312s calls the block more than once if the value changes underneath 312s reraises the exception from block 312s #reset 312s sets the new value 312s returns the new value on success 312s returns the new value on success 312s returns the old value if the validator returns false 312s returns the old value if the validator raises an exception 312s observable 312s behaves like observable 312s #add_observer 312s adds an observer if called before first notification 312s adds an observer with :func if called before first notification 312s creates an observer from a block if called before first notification 312s raises an exception if not given an observer or a block 312s raises an exception when given both an observer and a block 312s #delete_observer 312s deletes the given observer if called before first notification 312s returns the removed observer if found in the observer set 312s returns the given observer even when not found in the observer set 312s #delete_observers 312s deletes all observers when called before first notification 312s returns self 312s #count_observers 312s returns zero for a new observable object 312s returns a count of registered observers if called before first notification 312s returns zero after #delete_observers has been called 312s first notification 312s calls the #update method on all observers without a specified :func 312s calls the appropriate function on all observers which specified a :func 312s calls the proc for all observers added as a block 313s does not notify any observers removed with #delete_observer 314s does not notify any observers after #delete_observers called 314s 314s Concurrent::MutexAtomicBoolean 314s it should behave like atomic_boolean 314s construction 314s sets the initial value 314s defaults the initial value to false 314s evaluates the truthiness of a true value 314s evaluates the truthiness of a false value 314s #value 314s returns the current value 314s #value= 314s sets the #value to the given `Boolean` 314s returns the new value 314s evaluates the truthiness of a true value 314s evaluates the truthiness of a false value 314s #true? 314s is expected to equal true 314s is expected to equal false 314s #false? 314s is expected to equal false 314s is expected to equal true 314s #make_true 314s makes a false value true and returns true 314s keeps a true value true and returns false 314s #make_false 314s makes a true value false and returns true 314s keeps a false value false and returns false 314s instance methods 314s value is synchronized 314s value= is synchronized 314s true? is synchronized 314s false? is synchronized 314s make_true is synchronized 314s make_false is synchronized 314s 314s Concurrent::JavaAtomicBoolean 314s it should behave like atomic_boolean 314s construction 314s sets the initial value 314s defaults the initial value to false 314s evaluates the truthiness of a true value 314s evaluates the truthiness of a false value 314s #value 314s returns the current value 314s #value= 314s sets the #value to the given `Boolean` 314s returns the new value 314s evaluates the truthiness of a true value 314s evaluates the truthiness of a false value 314s #true? 314s is expected to equal true 314s is expected to equal false 314s #false? 314s is expected to equal false 314s is expected to equal true 314s #make_true 314s makes a false value true and returns true 314s keeps a true value true and returns false 314s #make_false 314s makes a true value false and returns true 314s keeps a false value false and returns false 314s 314s Concurrent::AtomicBoolean 314s does not load the C extension 314s inherits from JavaAtomicBoolean 314s #to_s and #inspect 314s includes the value 314s 314s Concurrent::MutexAtomicFixnum 314s it should behave like atomic_fixnum 314s construction 314s sets the initial value 314s defaults the initial value to zero 314s raises an exception if the initial value is not a Fixnum 314s #value 314s returns the current value 314s #value= 314s sets the #value to the given `Fixnum` 314s returns the new value 314s raises and exception if the value is not a `Fixnum` 314s #increment 314s increases the value by one when no argument is given 314s returns the new value when no argument is given 314s increases the value by the given argument 314s returns the new value the given argument 314s is aliased as #up 314s #decrement 314s decreases the value by one when no argument is given 314s returns the new value when no argument is given 314s decreases the value by the given argument 314s returns the new value the given argument 314s is aliased as #down 314s #compare_and_set 314s returns false if the value is not found 314s returns true if the value is found 314s sets if the value is found 314s does not set if the value is not found 314s #update 314s passes the current value to the block 314s atomically sets the value to the return value from the block 314s returns the new value 314s construction 314s raises an exception if the initial value is too big 314s raises an exception if the initial value is too small 314s instance methods 314s value is synchronized 314s value= is synchronized 314s increment is synchronized 314s decrement is synchronized 314s compare_and_set is synchronized 314s 314s Concurrent::JavaAtomicFixnum 314s it should behave like atomic_fixnum 314s construction 314s sets the initial value 314s defaults the initial value to zero 314s raises an exception if the initial value is not a Fixnum 314s #value 314s returns the current value 314s #value= 314s sets the #value to the given `Fixnum` 314s returns the new value 314s raises and exception if the value is not a `Fixnum` 314s #increment 314s increases the value by one when no argument is given 314s returns the new value when no argument is given 314s increases the value by the given argument 314s returns the new value the given argument 314s is aliased as #up 314s #decrement 314s decreases the value by one when no argument is given 314s returns the new value when no argument is given 314s decreases the value by the given argument 314s returns the new value the given argument 314s is aliased as #down 314s #compare_and_set 314s returns false if the value is not found 314s returns true if the value is found 314s sets if the value is found 314s does not set if the value is not found 314s #update 314s passes the current value to the block 314s atomically sets the value to the return value from the block 314s returns the new value 314s 314s Concurrent::AtomicFixnum 314s does not load the C extension 314s inherits from JavaAtomicFixnum 314s #to_s and #inspect 314s includes the value 314s 314s Concurrent::AtomicMarkableReference 314s .initialize 314s constructs the object 314s has sane defaults 314s #set 314s sets the value and mark 314s #try_update! 314s updates the value and mark 314s raises ConcurrentUpdateError when attempting to set inside of block 314s #try_update 314s updates the value and mark 314s returns nil when attempting to set inside of block 314s #update 314s updates the value and mark 314s retries until update succeeds 314s #compare_and_set 314s when objects have the same identity 314s sets the value and mark 314s when objects have the different identity 314s it does not set the value or mark 314s when comparing Numeric objects 314s Non-idepotent Float 314s sets the value and mark 314s BigNum 314s sets the value and mark 314s Rational 314s sets the value and mark 314s Rational 314s is successful 314s 314s Concurrent::AtomicReference 314s it should behave like atomic_reference 314s test_construct 314s test_value 314s test_update 314s test_try_update 314s test_try_update_bang 314s test_swap 314s test_try_update_fails 314s test_try_update_bang_fails 314s test_update_retries 314s test_numeric_cas 314s #to_s and #inspect 314s includes the value 314s 314s Concurrent::MutexAtomicReference 314s it should behave like atomic_reference 314s test_construct 314s test_value 314s test_update 314s test_try_update 314s test_try_update_bang 314s test_swap 314s test_try_update_fails 314s test_try_update_bang_fails 314s test_update_retries 314s test_numeric_cas 314s 314s Concurrent::JavaAtomicReference 314s it should behave like atomic_reference 314s test_construct 314s test_value 314s test_update 314s test_try_update 314s test_try_update_bang 314s test_swap 314s test_try_update_fails 314s test_try_update_bang_fails 314s test_update_retries 314s test_numeric_cas 314s 314s Concurrent::AtomicReference 314s does not load the C extension 314s inherits from JavaAtomicReference 314s 314s Concurrent::MutexCountDownLatch 314s it should behave like count_down_latch 314s #initialize 315s raises an exception if the initial count is less than zero 315s raises an exception if the initial count is not an integer 315s defaults the count to 1 315s #count 315s should be the value passed to the constructor 315s should be decreased after every count down 315s should not go below zero 315s #wait 315s blocks indefinitely, and is kill-able 315s blocks indefinitely with timeout, and is kill-able 315s count set to zero 315s should return true immediately 315s should return true immediately with timeout 315s non zero count 315s should block thread until counter is set to zero 315s should block until counter is set to zero with timeout 315s should block until timeout and return false when counter is not set to zero 315s spurious wake ups 315s should resist to spurious wake ups without timeout 316s should resist to spurious wake ups with timeout 316s 316s Concurrent::JavaCountDownLatch 316s it should behave like count_down_latch 316s #initialize 316s raises an exception if the initial count is less than zero 316s raises an exception if the initial count is not an integer 316s defaults the count to 1 316s #count 316s should be the value passed to the constructor 316s should be decreased after every count down 316s should not go below zero 316s #wait 316s blocks indefinitely, and is kill-able 316s blocks indefinitely with timeout, and is kill-able 316s count set to zero 316s should return true immediately 316s should return true immediately with timeout 316s non zero count 316s should block thread until counter is set to zero 316s should block until counter is set to zero with timeout 316s should block until timeout and return false when counter is not set to zero 316s 316s Concurrent::CountDownLatch 316s inherits from JavaCountDownLatch 316s 316s Concurrent::CyclicBarrier 316s #initialize 316s raises an exception if the initial count is less than 1 316s raises an exception if the initial count is not an integer 316s #parties 316s should be the value passed to the constructor 316s #number_waiting 316s without any waiting thread 316s should be equal to zero 316s with waiting threads 316s should be equal to the waiting threads count 316s #broken? 316s should not be broken when created 316s should not be broken when reset is called without waiting thread 316s reset 316s should release all waiting threads 316s #wait 316s without timeout 316s should block the thread 316s should release all threads when their number matches the desired one 317s returns true when released 317s executes the block once 317s can be reused 317s return false if barrier has been reset 317s with timeout 317s timeout not expiring 317s should block the thread 317s should release all threads when their number matches the desired one 317s returns true when released 317s timeout expiring 317s returns false 317s breaks the barrier and release all other threads 317s breaks the barrier and release all other threads 2 317s does not execute the block on timeout 317s #broken barrier 317s should not accept new threads 317s can be reset 317s spurious wake ups 318s should resist to spurious wake ups without timeout 318s should resist to spurious wake ups with timeout 318s 318s Concurrent::Event 318s #initialize 318s sets the state to unset 318s #set? 318s returns true when the event has been set 318s returns false if the event is unset 318s #set 318s triggers the event 318s sets the state to set 318s #try? 318s triggers the event if not already set 318s returns true if not previously set 318s returns false if previously set 318s #reset 318s does not change the state of an unset event 318s does not trigger an unset event 318s returns true when called on an unset event 318s sets the state of a set event to unset 318s returns true when called on a set event 318s #wait 318s returns immediately when the event has been set 318s returns true once the event is set 318s blocks indefinitely when the timer is nil 319s blocks indefinitely 319s stops waiting when the timer expires 320s returns false when the timer expires 320s triggers multiple waiting threads 320s behaves appropriately if wait begins while #set is processing 320s spurious wake ups 320s should resist to spurious wake ups without timeout 321s should resist spurious wake ups with timeout 321s 321s Concurrent::FiberLocalVar 321s #initialize 321s can set an initial value 321s sets nil as a default initial value 321s sets the same initial value for all fibers 321s can set a block to be called to get the initial value 321s when attempting to set both an initial value and a block 321s is expected to raise ArgumentError 321s #value 321s returns the current value 321s returns the value after modification 321s when using a block to initialize the value 321s calls the block to initialize the value 321s sets the block return value as the current value 321s calls the block to initialize the value for each fiber 321s #value= 321s sets a new value 321s returns the new value 321s does not modify the initial value for other fibers 321s does not modify the value for other fibers 321s 321s Concurrent::FiberLocalVar 321s uses FiberLocalVar if Mutex is per Fiber 321s 321s Concurrent::ReadWriteLock 321s #write_locked? 321s returns true when the write lock is held 321s returns false when the write lock is not held 321s returns false when the write lock is not held but there are readers 321s #has_waiters? 321s returns false when no locks are held 321s returns false when there are readers but no writers 321s returns true when the write lock is held and there are waiting readers 321s returns true when the write lock is held and there are waiting writers 321s #with_read_lock 321s acquires the lock 321s returns the value of the block operation 321s releases the lock 321s raises an exception if no block is given 321s raises an exception if maximum lock limit is exceeded 321s releases the lock when an exception is raised 321s #with_write_lock 321s acquires the lock 321s returns the value of the block operation 321s releases the lock 321s raises an exception if no block is given 321s raises an exception if maximum lock limit is exceeded 321s releases the lock when an exception is raised 321s #acquire_read_lock 321s increments the lock count 321s waits for a running writer to finish 321s does not wait for any running readers 321s raises an exception if maximum lock limit is exceeded 321s returns true if the lock is acquired 321s #release_read_lock 321s decrements the counter 321s unblocks waiting writers 321s returns true if the lock is released 321s returns true if the lock was never set 321s #acquire_write_lock 321s increments the lock count 321s waits for a running writer to finish 321s waits for a running reader to finish 321s raises an exception if maximum lock limit is exceeded 321s returns true if the lock is acquired 321s #release_write_lock 321s decrements the counter 321s unblocks waiting readers 321s unblocks waiting writers 321s returns true if the lock is released 321s returns true if the lock was never set 321s 321s Concurrent::ReentrantReadWriteLock 322s can survive a torture test 322s read lock 322s allows other read locks to be acquired at the same time 322s can be acquired more than once 322s can be acquired while holding a write lock 322s can be upgraded to a write lock 322s can be upgraded to a write lock when read lock acquired more than once 322s cannot be released when not held 322s cannot be released more times than it was taken 322s wakes up waiting writers when the last read lock is released 322s write lock 322s cannot be acquired when another thread holds a write lock 322s cannot be acquired when another thread holds a read lock 322s can be acquired more than once 322s can be acquired while holding a read lock 322s can be downgraded to a read lock 322s cannot be released when not held 322s cannot be released more times than it was taken 322s wakes up waiting readers when the write lock is released 322s wakes up waiting writers when the write lock is released 322s #with_read_lock 322s acquires read block before yielding, then releases it 322s releases read lock if an exception is raised in block 322s #with_write_lock 322s acquires write block before yielding, then releases it 322s releases write lock if an exception is raised in block 322s #try_read_lock 322s returns false immediately if read lock cannot be obtained 322s acquires read lock and returns true if it can do so without blocking 322s can acquire a read lock if a read lock is already held 322s can acquire a read lock if a write lock is already held 322s #try_write_lock 322s returns false immediately if write lock cannot be obtained 322s acquires write lock and returns true if it can do so without blocking 322s can acquire a write lock if a read lock is already held 322s can acquire a write lock if a write lock is already held 322s 322s Concurrent::ReentrantReadWriteLock 322s can acquire locks in separate fibers 322s 322s Concurrent::MutexSemaphore 322s it should behave like semaphore 322s #initialize 322s raises an exception if the initial count is not an integer 322s when initializing with 0 322s is expected not to equal nil 322s when initializing with -1 322s is expected to eq 0 322s #acquire 322s without block 322s permits available 322s should return nil immediately 322s not enough permits available 323s should block thread until permits are available 323s when acquiring negative permits 323s raises ArgumentError 323s with block 323s permits available 323s should acquire permits, run the block, release permits, and return block return value 323s if the block raises, the permit is still released 323s not enough permits available 323s should block thread until permits are available 323s when acquiring negative permits 323s raises ArgumentError 323s #drain_permits 323s drains all available permits 323s drains nothing in no permits are available 323s #try_acquire 323s without block 323s without timeout 323s acquires immediately if permits are available 323s returns false immediately in no permits are available 323s when trying to acquire negative permits 323s is expected to raise ArgumentError 323s with timeout 323s acquires immediately if permits are available 323s acquires when permits are available within timeout 323s returns false on timeout 323s with block 323s without timeout 323s acquires immediately if permits are available and returns block return value 323s releases permit if block raises 323s returns false immediately in no permits are available 323s when trying to acquire negative permits 324s is expected not to change `semaphore.available_permits` 324s with timeout 324s acquires immediately if permits are available, and returns block return value 324s releases permits if block raises 324s acquires when permits are available within timeout, and returns block return value 324s returns false on timeout 324s #reduce_permits 324s raises ArgumentError if reducing by negative number 324s reduces permits below zero 324s reduces permits 324s reduces zero permits 324s #release 324s increases the number of available permits by one 324s when a number of permits is specified 324s increases the number of available permits by the specified value 324s when permits is set to negative number 324s is expected to raise ArgumentError 324s 324s Concurrent::JavaSemaphore 324s it should behave like semaphore 324s #initialize 324s raises an exception if the initial count is not an integer 324s when initializing with 0 324s is expected not to equal nil 324s when initializing with -1 324s is expected to eq 0 324s #acquire 324s without block 324s permits available 324s should return nil immediately 324s not enough permits available 324s should block thread until permits are available 324s when acquiring negative permits 324s raises ArgumentError 324s with block 324s permits available 324s should acquire permits, run the block, release permits, and return block return value 324s if the block raises, the permit is still released 324s not enough permits available 325s should block thread until permits are available 325s when acquiring negative permits 325s raises ArgumentError 325s #drain_permits 325s drains all available permits 325s drains nothing in no permits are available 325s #try_acquire 325s without block 325s without timeout 325s acquires immediately if permits are available 325s returns false immediately in no permits are available 325s when trying to acquire negative permits 325s is expected to raise ArgumentError 325s with timeout 325s acquires immediately if permits are available 325s acquires when permits are available within timeout 325s returns false on timeout 325s with block 325s without timeout 325s acquires immediately if permits are available and returns block return value 325s releases permit if block raises 325s returns false immediately in no permits are available 325s when trying to acquire negative permits 325s is expected not to change `semaphore.available_permits` 325s with timeout 325s acquires immediately if permits are available, and returns block return value 325s releases permits if block raises 325s acquires when permits are available within timeout, and returns block return value 325s returns false on timeout 325s #reduce_permits 325s raises ArgumentError if reducing by negative number 325s reduces permits below zero 325s reduces permits 325s reduces zero permits 325s #release 325s increases the number of available permits by one 325s when a number of permits is specified 325s increases the number of available permits by the specified value 325s when permits is set to negative number 325s is expected to raise ArgumentError 325s 325s Concurrent::Semaphore 325s inherits from JavaSemaphore 325s 325s Concurrent::ThreadLocalVar 325s #initialize 325s can set an initial value 325s sets nil as a default initial value 325s sets the same initial value for all threads 325s can set a block to be called to get the initial value 325s when attempting to set both an initial value and a block 325s is expected to raise ArgumentError 325s #value 325s returns the current value 325s returns the value after modification 325s when using a block to initialize the value 325s calls the block to initialize the value 325s sets the block return value as the current value 325s calls the block to initialize the value for each thread 325s #value= 325s sets a new value 325s returns the new value 325s does not modify the initial value for other threads 325s does not modify the value for other threads 325s 325s Concurrent 325s Cancellation 325s basic 325s is expected to be falsey 325s is expected to be truthy 325s is expected to be falsey 325s is expected to eq 2 325s #join 325s 325s Concurrent::Channel::Buffer::Base 325s is expected to eq 0 325s is expected to be blocking 325s is expected to raise NotImplementedError 325s is expected to raise NotImplementedError 325s is expected to raise NotImplementedError 325s is expected to raise NotImplementedError 325s is expected to raise NotImplementedError 325s is expected to raise NotImplementedError 325s is expected to raise NotImplementedError 325s is expected to raise NotImplementedError 325s is expected not to be closed 325s is expected to be closed 325s 325s Concurrent::Channel::Buffer::Buffered 325s is expected to be blocking 325s behaves like channel_buffered_buffer 325s behaves like channel_buffer 325s is expected to respond to #blocking? 325s #capacity 325s is expected to be >= 0 325s #size 325s returns zero upon initialization 325s #empty? 325s returns true when empty 325s #full? 325s returns false when not full 325s #put 325s does not enqueue the item when closed 325s returns false when closed 325s #offer 325s returns true on success 325s does not enqueue the item when closed 325s returns false immediately when closed 325s #take 325s returns Concurrent::NULL when closed 325s #next 325s returns Concurrent::NULL, false when closed 325s #poll 325s returns the next item immediately if available 325s returns Concurrent::NULL immediately if no item is available 325s returns Concurrent::NULL when closed 325s #close 325s sets #closed? to false 325s returns true when not previously closed 325s returns false when already closed 325s #closed? 325s returns true when new 325s returns false after #close 325s #initialize 325s raises an exception if size <= 0 325s #capacity 325s returns the maximum capacity of the buffer 325s #size 326s is 0 when first created 326s returns the number of items in the buffer 326s is 0 when there are taking threads but no putting threads 326s #empty? 326s returns true when empty 326s #put 326s enqueues the item when size > 0, not full, and not closed 326s returns true when the item is put 326s #offer 326s enqueues the item immediately when not full and not closed 326s #take 326s returns the first item when not empty 326s blocks until not empty 326s returns Concurrent::NULL when closed and empty 326s #next 326s blocks until not empty 326s returns , true when there is only one item and not closed 326s returns , true when there are multiple items 326s returns , true when closed and last item 326s returns Concurrent::NULL, false when closed and no items remain 326s #full? 326s returns true when at max capacity 326s #put 326s blocks when at capacity until a thread is ready to take 326s #offer 326s returns false immediately when full 326s 326s Concurrent::Channel::Buffer::Dropping 326s is expected not to be blocking 326s behaves like channel_buffered_buffer 326s behaves like channel_buffer 326s is expected to respond to #blocking? 326s #capacity 326s is expected to be >= 0 326s #size 326s returns zero upon initialization 326s #empty? 326s returns true when empty 326s #full? 326s returns false when not full 326s #put 326s does not enqueue the item when closed 326s returns false when closed 326s #offer 326s returns true on success 326s does not enqueue the item when closed 326s returns false immediately when closed 326s #take 326s returns Concurrent::NULL when closed 326s #next 326s returns Concurrent::NULL, false when closed 326s #poll 326s returns the next item immediately if available 326s returns Concurrent::NULL immediately if no item is available 326s returns Concurrent::NULL when closed 326s #close 326s sets #closed? to false 326s returns true when not previously closed 326s returns false when already closed 326s #closed? 326s returns true when new 326s returns false after #close 326s #initialize 326s raises an exception if size <= 0 326s #capacity 326s returns the maximum capacity of the buffer 326s #size 326s is 0 when first created 326s returns the number of items in the buffer 327s is 0 when there are taking threads but no putting threads 327s #empty? 327s returns true when empty 327s #put 327s enqueues the item when size > 0, not full, and not closed 327s returns true when the item is put 327s #offer 327s enqueues the item immediately when not full and not closed 327s #take 327s returns the first item when not empty 327s blocks until not empty 327s returns Concurrent::NULL when closed and empty 327s #next 327s blocks until not empty 327s returns , true when there is only one item and not closed 327s returns , true when there are multiple items 327s returns , true when closed and last item 327s returns Concurrent::NULL, false when closed and no items remain 327s #put 327s does not block when full 327s drops the last value when full 327s #offer 327s returns true immediately when full 327s drops the last value when full 327s 327s Concurrent::Channel::Buffer::Sliding 327s is expected not to be blocking 327s behaves like channel_buffered_buffer 327s behaves like channel_buffer 327s is expected to respond to #blocking? 327s #capacity 327s is expected to be >= 0 327s #size 327s returns zero upon initialization 327s #empty? 327s returns true when empty 327s #full? 327s returns false when not full 327s #put 327s does not enqueue the item when closed 327s returns false when closed 327s #offer 327s returns true on success 327s does not enqueue the item when closed 327s returns false immediately when closed 327s #take 327s returns Concurrent::NULL when closed 327s #next 327s returns Concurrent::NULL, false when closed 327s #poll 327s returns the next item immediately if available 327s returns Concurrent::NULL immediately if no item is available 327s returns Concurrent::NULL when closed 327s #close 327s sets #closed? to false 327s returns true when not previously closed 327s returns false when already closed 327s #closed? 327s returns true when new 327s returns false after #close 327s #initialize 327s raises an exception if size <= 0 327s #capacity 327s returns the maximum capacity of the buffer 327s #size 327s is 0 when first created 327s returns the number of items in the buffer 328s is 0 when there are taking threads but no putting threads 328s #empty? 328s returns true when empty 328s #put 328s enqueues the item when size > 0, not full, and not closed 328s returns true when the item is put 328s #offer 328s enqueues the item immediately when not full and not closed 328s #take 328s returns the first item when not empty 328s blocks until not empty 328s returns Concurrent::NULL when closed and empty 328s #next 328s blocks until not empty 328s returns , true when there is only one item and not closed 328s returns , true when there are multiple items 328s returns , true when closed and last item 328s returns Concurrent::NULL, false when closed and no items remain 328s #put 328s does not block when full 328s drops the first value when full 328s #offer 328s returns true immediately when full 328s drops the first value when full 328s 328s Concurrent::Channel::Buffer::Ticker 328s behaves like channel_timing_buffer 328s is expected to be blocking 328s #capacity 328s is expected to eq 1 328s #size 328s is expected to eq 0 328s #empty? 328s is expected not to be empty 328s #full? 328s is expected to be full 328s #put 328s is expected to equal false 328s #offer 328s is expected to equal false 328s #take 328s blocks when the timer is not ready 328s returns a Tick 328s triggers after the specified time interval 328s returns Concurrent::NULL when closed 328s #poll 328s returns Concurrent::NULL when the timer is not ready 329s returns a Tick 329s returns Concurrent::NULL when closed 329s triggers after the specified time interval 329s #next 329s blocks when the timer is not ready 329s returns a Tick when open 329s returns Concurrent::NULL, false when closed 329s triggers after the specified time interval 329s #close 329s sets #closed? to false 329s returns true when not previously closed 329s returns false when already closed 329s #closed? 329s returns true when new 329s returns false after #close 329s #take 330s triggers until closed 330s returns Concurrent::NULL when closed after trigger 330s #poll 330s triggers until closed 330s #next 330s triggers until closed 330s returns true for more while open 330s returns false for more once closed 330s 330s Concurrent::Channel::Buffer::Timer 330s behaves like channel_timing_buffer 330s is expected to be blocking 330s #capacity 330s is expected to eq 1 330s #size 330s is expected to eq 0 330s #empty? 330s is expected not to be empty 330s #full? 330s is expected to be full 330s #put 330s is expected to equal false 330s #offer 330s is expected to equal false 330s #take 331s blocks when the timer is not ready 331s returns a Tick 331s triggers after the specified time interval 331s returns Concurrent::NULL when closed 331s #poll 331s returns Concurrent::NULL when the timer is not ready 331s returns a Tick 331s returns Concurrent::NULL when closed 331s triggers after the specified time interval 331s #next 331s blocks when the timer is not ready 331s returns a Tick when open 331s returns Concurrent::NULL, false when closed 332s triggers after the specified time interval 332s #close 332s sets #closed? to false 332s returns true when not previously closed 332s returns false when already closed 332s #closed? 332s returns true when new 332s returns false after #close 332s #take 332s closes automatically on first take 332s #poll 332s closes automatically on first take 332s #next 332s closes automatically on first take 332s returns false for more 332s 332s Concurrent::Channel::Buffer::Unbuffered 332s is expected to be blocking 332s is expected to eq 1 332s behaves like channel_buffer 332s is expected to respond to #blocking? 332s #capacity 332s is expected to be >= 0 332s #size 332s returns zero upon initialization 332s #empty? 332s returns true when empty 332s #full? 332s returns false when not full 332s #put 332s does not enqueue the item when closed 332s returns false when closed 332s #offer 332s returns true on success 332s does not enqueue the item when closed 332s returns false immediately when closed 332s #take 332s returns Concurrent::NULL when closed 332s #next 332s returns Concurrent::NULL, false when closed 332s #poll 332s returns the next item immediately if available 332s returns Concurrent::NULL immediately if no item is available 332s returns Concurrent::NULL when closed 332s #close 332s sets #closed? to false 332s returns true when not previously closed 332s returns false when already closed 332s #closed? 332s returns true when new 332s returns false after #close 332s #size 332s is 0 when first created 333s is 1 when a putting thread is waiting 333s is 0 when there are taking threads but no putting threads 333s #empty? 333s is true when there are no putting threads 333s is false when there are waiting putting threads 333s #full? 333s is false when there are no putting threads 333s is false when there are waiting putting threads 333s #put 333s does not enqueue the item when closed 333s returns false when closed 333s blocks until a thread is ready to take 334s delivers when closed after put starts 334s #offer 334s returns false immediately when a put in in progress 334s gives the item to a waiting taker and returns true 334s #take 334s returns false immediately when a put in in progress 334s gives the item to a waiting taker and returns true 334s #next 335s blocks when no putting and returns , true when one arrives 335s returns , true when there are multiple putting 335s returns , true when closed and last item 335s returns Concurrent::NULL, false when closed and no items remain 335s 335s channel integration tests 335s A Tour of Go 335s channels.rb 336s buffered-channels.rb 336s range-and-close.rb 336s select.rb 336s default-selection.rb (PENDING: flaky) 336s Go By Example 336s channels.rb 336s channel-buffering.rb 337s channel-synchronization.rb 338s channel-directions.rb 340s select.rb 343s timeouts.rb 343s non-blocking-channel-operations.rb 343s closing-channels.rb 344s range-over-channels.rb 346s timers.rb 348s ticker.rb 351s worker-pools.rb 352s rate-limiting.rb 352s 352s Concurrent::Channel::Tick 352s initializes to current time when no argument given 352s initializes to the given monotonic time 352s #utc returns a Time object in UTC 352s #epoch returns the UTC time as epoch seconds 352s #to_s formats as a time 352s comparison 352s correctly compares to a Numeric (monotonic) 352s correctly compares to a Time 352s correctly compares to a Tick 352s 352s Concurrent::Channel 352s initialization 352s raises an exception when the :buffer is invalid 352s is :unbuffered when neither :buffer nore :capacity is given 352s is :unbuffered when :unbuffered is given 352s is :unbuffered when :buffered and capacity: 0 352s raises an exception when both :unbuffered and :capacity are given 353s is :buffered when :capacity > 0 and no :buffer given 353s is :buffered when :buffered given 353s raises an exception when :buffered given without :capacity 353s raises an exception when :buffered and :capacity < 0 353s is :dropping when :dropping and :capacity > 0 353s raises an exception when :dropping given without :capacity 353s raises an exception when :dropping and :capacity < 1 353s is :sliding when :sliding and :capacity > 0 353s raises an exception when :sliding given without :capacity 353s raises an exception when :sliding and :capacity < 1 353s uses the given buffer 353s factories 353s is expected to receive new(10) 1 time 353s is expected to receive new(10) 1 time 353s #put 353s returns true on success 353s returns false on failure 353s rejects when the validator returns false 353s rejects when the validator raises an exception 353s rejects nil 353s put! 353s returns true on success 353s raises an exception on failure 353s rejects when the validator returns false 353s rejects when the validator raises an exception 353s rejects nil 353s put? 353s returns a just Maybe on success 353s returns a nothing Maybe on failure 353s rejects when the validator returns false 353s rejects when the validator raises an exception 353s accepts nil 353s #offer 353s returns true on success 353s returns false on failure 353s rejects when the validator returns false 353s rejects when the validator raises an exception 353s rejects nil 353s offer! 353s returns true on success 353s raises an exception on failure 353s rejects when the validator returns false 353s rejects when the validator raises an exception 353s rejects nil 353s offer? 353s returns a just Maybe on success 353s returns a nothing Maybe on failure 353s rejects when the validator returns false 353s rejects when the validator raises an exception 353s accepts nil 353s #take 353s takes the next item when not empty 353s returns nil on failure 353s #take! 353s takes the next item when not empty 353s raises an exception on failure 353s #take? 353s returns a just Maybe on success 353s returns a nothing Maybe on failure 353s #next 353s returns , true when there is one item 353s returns , true when there are multiple items 353s returns nil, false when empty and closed 353s returns , true when closed and last item 353s returns nil, false when closed and no items remain 353s #next? 353s returns a just Maybe and true when there is one item 353s returns a just Maybe, true when there are multiple items 353s returns a nothing Maybe and false on failure 353s #poll 353s returns the next item immediately if available 353s returns nil immediately if no item is available 353s returns nil on failure 353s #poll! 353s returns the next item immediately if available 353s raises an exception immediately if no item is available 353s raises an exception on failure 353s #poll? 353s returns a just Maybe immediately if available 353s returns a nothing Maybe immediately if no item is available 353s returns a nothing Maybe on failure 353s .each 353s raises and exception when no block is given 353s iterates until the channel is closed 353s goroutines 353s .go 353s raises an exception when no block is given 353s is expected to receive post(1, 2, 3) 1 time 353s .go_via 353s raises an exception when no block is given 353s is expected to receive post(1, 2, 3) 1 time 353s .go_loop 353s raises an exception when no block is given 353s loops until the block returns false 353s .go_loop_via 353s raises an exception when no block is given 353s loops until the block returns false 353s select 353s raises an exception when no block is given 353s passes a selector to the block 353s is expected to be truthy 353s 353s Concurrent::Collection::CopyOnNotifyObserverSet 353s behaves like an observer set 353s #add_observer 353s with arguments 353s should return the observer 353s with a block 353s should return the observer based on a block 353s #notify_observers 353s should return the observer set 353s with a single observer 353s should update a registered observer without arguments 353s should update a registered observer with arguments 353s should notify an observer using the chosen method 353s should notify an observer once using the last added method 353s should notify an observer from a block 353s can be called many times 353s with many observers 353s should notify all observer using the chosen method 353s with a block 353s calls the block once for every observer 354s passes the block return value to the update method 354s accepts blocks returning a single value 354s accepts block return values that include arrays 354s raises an exception if given both arguments and a block 354s #count_observers 354s should be zero after initialization 354s should be 1 after the first observer is added 354s should be 1 if the same observer is added many times 354s should be equal to the number of unique observers 354s #delete_observer 354s should not notify a deleted observer 354s can delete a non added observer 354s should return the observer 354s #delete_observers 354s should remove all observers 354s should return the observer set 354s #notify_and_delete_observers 354s should notify all observers 354s should clear observers 354s can be called many times without any other notification 354s should return the observer set 354s 354s Concurrent::Collection::CopyOnWriteObserverSet 354s behaves like an observer set 354s #add_observer 354s with arguments 354s should return the observer 354s with a block 354s should return the observer based on a block 354s #notify_observers 354s should return the observer set 354s with a single observer 354s should update a registered observer without arguments 354s should update a registered observer with arguments 354s should notify an observer using the chosen method 354s should notify an observer once using the last added method 354s should notify an observer from a block 354s can be called many times 354s with many observers 354s should notify all observer using the chosen method 354s with a block 354s calls the block once for every observer 354s passes the block return value to the update method 354s accepts blocks returning a single value 354s accepts block return values that include arrays 354s raises an exception if given both arguments and a block 354s #count_observers 354s should be zero after initialization 354s should be 1 after the first observer is added 354s should be 1 if the same observer is added many times 354s should be equal to the number of unique observers 354s #delete_observer 354s should not notify a deleted observer 354s can delete a non added observer 354s should return the observer 354s #delete_observers 354s should remove all observers 354s should return the observer set 354s #notify_and_delete_observers 354s should notify all observers 354s should clear observers 354s can be called many times without any other notification 354s should return the observer set 354s 354s Concurrent::Collection::RubyNonConcurrentPriorityQueue 354s it should behave like priority_queue 354s #initialize 354s sorts from high to low when :order is :max 354s sorts from high to low when :order is :high 354s sorts from low to high when :order is :min 354s sorts from low to high when :order is :low 354s sorts from high to low by default 354s #clear 354s removes all items from a populated queue 354s has no effect on an empty queue 354s is expected to be truthy 354s #delete 354s deletes the requested item when found 354s deletes the requested item when it is the first element 354s deletes the requested item when it is the last element 354s deletes multiple matching items when present 354s returns true when found 354s returns false when not found 354s returns false when called on an empty queue 354s deletes the requested item when it is "smaller" than the last element 354s #empty? 354s returns true for an empty queue 354s returns false for a populated queue 354s #include? 354s returns true if the item is found 354s returns false if the item is not found 354s returns false when the queue is empty 354s is aliased as #has_priority? 354s #length 354s returns the length of a populated queue 354s returns zero when the queue is empty 354s is aliased as #size 354s #peek 354s returns the item at the head of the queue 354s does not remove the item from the queue 354s returns nil when the queue is empty 354s #pop 354s returns the item at the head of the queue 354s removes the item from the queue 354s returns nil when the queue is empty 354s returns nil when called multiple times while empty 354s is aliased as #deq 354s is aliased as #shift 354s #push 354s raises an exception when attempting to enqueue nil 354s adds the item to the queue 354s sorts the new item in priority order 354s arbitrarily orders equal items with respect to each other 354s is expected to be truthy 354s is aliased as << 354s is aliased as enq 354s .from_list 354s creates an empty queue from an empty list 354s creates a sorted, populated queue from an Array 354s creates a sorted, populated queue from a Hash 354s 354s Concurrent::Collection::JavaNonConcurrentPriorityQueue 354s it should behave like priority_queue 354s #initialize 354s sorts from high to low when :order is :max 354s sorts from high to low when :order is :high 354s sorts from low to high when :order is :min 354s sorts from low to high when :order is :low 354s sorts from high to low by default 354s #clear 354s removes all items from a populated queue 354s has no effect on an empty queue 354s is expected to be truthy 354s #delete 354s deletes the requested item when found 354s deletes the requested item when it is the first element 354s deletes the requested item when it is the last element 354s deletes multiple matching items when present 354s returns true when found 354s returns false when not found 354s returns false when called on an empty queue 354s deletes the requested item when it is "smaller" than the last element 354s #empty? 354s returns true for an empty queue 354s returns false for a populated queue 354s #include? 354s returns true if the item is found 354s returns false if the item is not found 354s returns false when the queue is empty 354s is aliased as #has_priority? 354s #length 354s returns the length of a populated queue 354s returns zero when the queue is empty 354s is aliased as #size 354s #peek 354s returns the item at the head of the queue 354s does not remove the item from the queue 354s returns nil when the queue is empty 354s #pop 354s returns the item at the head of the queue 354s removes the item from the queue 354s returns nil when the queue is empty 354s returns nil when called multiple times while empty 354s is aliased as #deq 354s is aliased as #shift 354s #push 354s raises an exception when attempting to enqueue nil 354s adds the item to the queue 354s sorts the new item in priority order 354s arbitrarily orders equal items with respect to each other 354s is expected to be truthy 354s is aliased as << 354s is aliased as enq 354s .from_list 354s creates an empty queue from an empty list 354s creates a sorted, populated queue from an Array 354s creates a sorted, populated queue from a Hash 354s 354s Concurrent::Collection::NonConcurrentPriorityQueue 354s inherits from JavaNonConcurrentPriorityQueue 354s 354s Concurrent::Concern::Obligation 354s unscheduled 354s it should behave like incomplete 354s should be not completed 354s should be incomplete 354s #value 354s should return immediately if timeout is zero 354s should block on the event if timeout is not set 354s should block on the event if timeout is not zero 354s #value! 354s should return immediately if timeout is zero 354s should block on the event if timeout is not set 354s should block on the event if timeout is not zero 354s #no_error! 354s should return immediately if timeout is zero 354s should block on the event if timeout is not set 354s should block on the event if timeout is not zero 354s pending 354s it should behave like incomplete 354s should be not completed 354s should be incomplete 354s #value 354s should return immediately if timeout is zero 354s should block on the event if timeout is not set 354s should block on the event if timeout is not zero 354s #value! 354s should return immediately if timeout is zero 354s should block on the event if timeout is not set 354s should block on the event if timeout is not zero 354s #no_error! 354s should return immediately if timeout is zero 354s should block on the event if timeout is not set 354s should block on the event if timeout is not zero 354s fulfilled 354s should be completed 354s should be not incomplete 354s #value 354s should return immediately if timeout is zero 354s should return immediately if timeout is not set 354s should return immediately if timeout is not zero 354s #value! 354s should return immediately if timeout is zero 354s should return immediately if timeout is not set 354s should return immediately if timeout is not zero 354s #no_error! 354s should return immediately if timeout is zero 354s should return immediately if timeout is not set 354s should return immediately if timeout is not zero 354s rejected 354s should be completed 354s should be not incomplete 354s #value 354s should return immediately if timeout is zero 354s should return immediately if timeout is not set 354s should return immediately if timeout is not zero 354s #value! 354s should return immediately if timeout is zero 354s should return immediately if timeout is not set 354s should return immediately if timeout is not zero 354s #no_error! 354s should return immediately if timeout is zero 354s should return immediately if timeout is not set 354s should return immediately if timeout is not zero 354s #compare_and_set_state 354s unexpected state 354s should return false if state is not the expected one 354s should not change the state if current is not the expected one 354s expected state 354s should return true if state is the expected one 354s should not change the state if current is not the expected one 354s #if_state 354s should raise without block 354s should return false if state is not expected 354s should the block value if state is expected 354s should execute the block within the mutex 354s #get_arguments_from 354s returns an empty array when opts is not given 354s returns an empty array when opts is an empty hash 354s returns an empty array when there is no :args key 354s returns an empty array when the :args key has a nil value 354s returns a one-element array when the :args key has a non-array value 354s returns an array when when the :args key has an array value 354s returns the given array when the :args key has a complex array value 354s 354s Concurrent::Concern::Observable 354s does not initialize set by by default 354s uses the given observer set 354s delegates #add_observer 354s delegates #with_observer 354s delegates #delete_observer 354s delegates #delete_observers 355s delegates #count_observers 355s 355s configuration 355s global executors 355s creates a global timer set 355s creates a global fast executor 355s creates a global io executor 355s 355s dataflow 355s raises an exception when no block given 355s #dataflow uses the global fast executor 355s #dataflow_with uses the given executor 355s #dataflow_with raises an exception when no executor given 355s accepts zero or more dependencies 355s accepts uncompleted dependencies 355s accepts completed dependencies 355s raises an exception if any dependencies are not IVars 355s doesn't raise exceptions from dependencies, unless called with ! 355s returns a Future 355s does not schedule the Future 355s if no dependencies are completed 355s if one dependency of two is completed 355s schedules the Future when all dependencies are available 355s if there is just one 355s if there is more than one 355s counts already executed dependencies 355s if there is just one 355s if there is more than one 355s passes the values of dependencies into the block 355s if there is just one 355s if there is more than one 355s module function 355s can be called as Concurrent.dataflow and Concurrent.dataflow_with 355s 355s Concurrent::Delay 355s behavior 355s it should behave like dereferenceable 355s defaults :dup_on_deref to false 355s calls #dup when the :dup_on_deref option is true 355s defaults :freeze_on_deref to false 355s calls #freeze when the :freeze_on_deref option is true 355s defaults :copy_on_deref to nil 355s calls the block when the :copy_on_deref option is passed a proc 355s calls the :copy block first followed by #dup followed by #freeze 355s does not call #dup when #dup_on_deref is set and the value is nil 355s does not call #freeze when #freeze_on_deref is set and the value is nil 355s does not call the #copy_on_deref block when the value is nil 355s supports dereference flags with observers 355s it should behave like obligation 355s #state 355s is :pending when first created 355s is :fulfilled when the handler completes 355s is :rejected when the handler raises an exception 355s #value 355s returns nil when reaching the optional timeout value 355s returns immediately when timeout is zero 355s returns the value when fulfilled before timeout 355s returns nil when timeout reached 355s is nil when :pending 355s blocks the caller when :pending and timeout is nil 355s is nil when :rejected 355s is set to the return value of the block when :fulfilled 355s #reason 355s is nil when :pending 355s is nil when :fulfilled 355s is set to error object of the exception when :rejected 355s #initialize 355s sets the state to :pending 355s raises an exception when no block given 355s #reconfigure 355s returns value of block used in reconfiguration 355s returns false when process completed? 355s #value 355s does not call the block before #value is called 355s calls the block when #value is called 355s only calls the block once no matter how often #value is called 355s raises when called recursively 355s can be called twice 355s 355s Concurrent 355s Promises::Channel 355s #capacity 355s #to_s 355s #(try_)push(_op) 355s #(try_)pop(_op) 355s #(try_)pop(_op)_matching 355s #(try_)select(_op) 355s exchanging 355s integration 355s 355s Concurrent 355s ErlangActor 355s on thread 356s is expected to eq [:bad_message, -1] 356s behaves like erlang actor 356s run to termination 356s run to termination with arguments 356s #receive 356s pid has name 356s receives message 356s receives message with matchers 356s spawn(link: true) 356s termination 356s monitoring 356s (de)monitor 356s demonitor 356s demonitor should leave the down message in the inbox if it's already there 356s notifications 1 356s notifications 2 356s linking 356s links 356s unlinks 356s link dead 356s link dead when trapping 356s exit/1 when linked 356s 1 356s 2 356s 3 356s 4 356s 5 356s 6 356s 7 356s 8 356s 9 356s exit/2 when linked 356s 1 356s 2 356s 3 356s 4 356s 5 356s 6 356s 7 356s 8 356s 9 356s 10 356s 11 356s 12 356s 13 356s asking 356s replies 356s timing out (PENDING: flaky on truffleruby and jruby) 356s rejects on no reply 356s on pool 356s receives message repeatedly with keep 356s class defined 356s behaves like erlang actor 356s run to termination 356s run to termination with arguments 357s #receive 357s pid has name 357s receives message 357s receives message with matchers 357s spawn(link: true) 357s termination 357s monitoring 357s (de)monitor 357s demonitor 357s demonitor should leave the down message in the inbox if it's already there 357s notifications 1 357s notifications 2 357s linking 357s links 357s unlinks 357s link dead 357s link dead when trapping 357s exit/1 when linked 357s 1 357s 2 357s 3 357s 4 357s 5 357s 6 357s 7 357s 8 357s 9 357s exit/2 when linked 357s 1 357s 2 357s 3 357s 4 357s 5 357s 6 357s 7 357s 8 357s 9 357s 10 357s 11 357s 12 357s 13 357s asking 357s replies 357s timing out (PENDING: flaky on truffleruby and jruby) 357s rejects on no reply 357s 357s Concurrent::Edge::LockFreeLinkedSet 357s .new 357s when passed default val 357s uses the val arg as data for each node 357s #add 357s appends to the linked set 357s in a multi-threaded environment 358s adds the items to the set 358s #<< 358s appends to the linked set and returns self 358s returns self regardless of whether it was logically added 358s #contains? 358s when checking if set includes a value 358s returns true if a value exists 358s compares object using Object#hash 358s returns false for values not in the set 358s when set is empty 358s does not break 358s when set is long 358s does not break 358s in a multi-threaded environment 359s correctly check that the set contains the item 359s #remove 359s when item is inside of set 359s the item is no longer visible to the user 359s allows for the item to be added despite being physically present 359s in a multi-threaded environment 359s adds the items to the set 359s does not recognize the existence of the item when removed 359s when item is not inside of set 359s does not remove to value 359s the set remains intact 359s when the set is empty 359s remove does not break 359s when the set is large 359s remove successfully removes the node 359s 359s Concurrent::RubyExchanger 359s behaves like exchanger 359s #exchange 359s behaves like exchanger method with indefinite timeout 359s blocks indefinitely 359s receives the other value 359s can be reused 359s behaves like exchanger method with finite timeout 359s blocks until timeout 359s receives the other value 359s can be reused 359s behaves like exchanger method cross-thread interactions 360s when first, waits for a second 360s allows multiple firsts to cancel if necessary 360s #exchange! 360s behaves like exchanger method with indefinite timeout 360s blocks indefinitely 360s receives the other value 360s can be reused 360s behaves like exchanger method with finite timeout 360s blocks until timeout 360s receives the other value 360s can be reused 360s behaves like exchanger method cross-thread interactions 360s when first, waits for a second 360s allows multiple firsts to cancel if necessary 360s #try_exchange 360s behaves like exchanger method with indefinite timeout 360s blocks indefinitely 360s receives the other value 360s can be reused 360s behaves like exchanger method with finite timeout 360s blocks until timeout 361s receives the other value 361s can be reused 361s behaves like exchanger method cross-thread interactions 361s when first, waits for a second 361s allows multiple firsts to cancel if necessary 361s 361s Concurrent::JavaExchanger 361s behaves like exchanger 361s #exchange 361s behaves like exchanger method with indefinite timeout 361s blocks indefinitely 361s receives the other value 361s can be reused 361s behaves like exchanger method with finite timeout 361s blocks until timeout 361s receives the other value 361s can be reused 361s behaves like exchanger method cross-thread interactions 361s when first, waits for a second 362s allows multiple firsts to cancel if necessary 362s #exchange! 362s behaves like exchanger method with indefinite timeout 362s blocks indefinitely 362s receives the other value 362s can be reused 362s behaves like exchanger method with finite timeout 362s blocks until timeout 362s receives the other value 362s can be reused 362s behaves like exchanger method cross-thread interactions 362s when first, waits for a second 362s allows multiple firsts to cancel if necessary 362s #try_exchange 362s behaves like exchanger method with indefinite timeout 362s blocks indefinitely 362s receives the other value 362s can be reused 362s behaves like exchanger method with finite timeout 362s blocks until timeout 362s receives the other value 362s can be reused 362s behaves like exchanger method cross-thread interactions 363s when first, waits for a second 363s allows multiple firsts to cancel if necessary 363s 363s Concurrent::Exchanger 363s class hierarchy 363s inherits from JavaExchanger 363s 363s Concurrent::CachedThreadPool 363s it should behave like thread_pool 363s it should behave like executor_service 363s it should behave like global_thread_pool 363s #post 363s raises an exception if no block is given 363s returns true when the block is added to the queue 363s calls the block with the given arguments 363s aliases #<< 363s #post 364s rejects the block while shutting down 364s rejects the block once shutdown 364s auto terminate 369s does not stop shutdown 369s #running? 369s returns true when the thread pool is running 369s returns false when the thread pool is shutting down 369s returns false when the thread pool is shutdown 369s returns false when the thread pool is killed 369s #shuttingdown? 369s returns false when the thread pool is running 370s returns true when the thread pool is shutting down 370s returns false when the thread pool is shutdown 370s #shutdown? 370s returns false when the thread pool is running 371s returns false when the thread pool is shutting down 371s returns true when the thread pool is shutdown 371s #shutdown 371s stops accepting new tasks 371s allows in-progress tasks to complete 371s allows pending tasks to complete 371s #shutdown followed by #wait_for_termination 371s allows in-progress tasks to complete 371s allows pending tasks to complete 371s stops accepting/running new tasks 371s #kill 372s stops accepting new tasks 372s rejects all pending tasks 372s #wait_for_termination 372s immediately returns true when no operations are pending 372s returns true after shutdown has complete 372s returns true when shutdown successfully completes before timeout 373s returns false when shutdown fails to complete before timeout 373s waits forever when no timeout value is given 373s #auto_terminate? 373s returns true by default 373s returns true when :enable_at_exit_handler is true 373s returns false when :enable_at_exit_handler is false 373s #length 373s returns zero on creation 373s returns zero once shut down 373s #scheduled_task_count 373s returns zero on creation 373s returns the approximate number of tasks that have been post thus far 373s returns the approximate number of tasks that were post 373s #completed_task_count 373s returns zero on creation 373s #shutdown 374s allows threads to exit normally 374s #initialize 374s sets :max_length to DEFAULT_MAX_POOL_SIZE 374s sets :min_length to DEFAULT_MIN_POOL_SIZE 374s sets :idletime to DEFAULT_THREAD_IDLETIMEOUT 374s sets :max_queue to DEFAULT_MAX_QUEUE_SIZE 374s #min_length 374s returns zero on creation 374s returns zero while running 374s returns zero once shutdown 374s #max_length 374s returns :max_length on creation 374s returns :max_length while running 374s returns :max_length once shutdown 374s #largest_length 374s returns zero on creation 375s returns a non-zero number once tasks have been received 375s returns a non-zero number after shutdown if tasks have been received 375s #idletime 375s returns the thread idletime 375s runtime-specific implementation 375s #initialize 375s sets :fallback_policy correctly 375s defaults :fallback_policy to :abort 375s raises an exception if given an invalid :fallback_policy 375s stress 376s is expected to be <= 200 376s is expected to be <= 4 376s 376s Concurrent::FixedThreadPool 376s it should behave like thread_pool 376s it should behave like executor_service 376s it should behave like global_thread_pool 376s #post 376s raises an exception if no block is given 376s returns true when the block is added to the queue 376s calls the block with the given arguments 376s aliases #<< 376s #post 377s rejects the block while shutting down 377s rejects the block once shutdown 377s auto terminate 382s does not stop shutdown 382s #running? 382s returns true when the thread pool is running 383s returns false when the thread pool is shutting down 383s returns false when the thread pool is shutdown 383s returns false when the thread pool is killed 383s #shuttingdown? 383s returns false when the thread pool is running 383s returns true when the thread pool is shutting down 383s returns false when the thread pool is shutdown 383s #shutdown? 383s returns false when the thread pool is running 383s returns false when the thread pool is shutting down 383s returns true when the thread pool is shutdown 383s #shutdown 384s stops accepting new tasks 384s allows in-progress tasks to complete 384s allows pending tasks to complete 384s #shutdown followed by #wait_for_termination 384s allows in-progress tasks to complete 384s allows pending tasks to complete 384s stops accepting/running new tasks 384s #kill 384s stops accepting new tasks 385s rejects all pending tasks 385s #wait_for_termination 385s immediately returns true when no operations are pending 385s returns true after shutdown has complete 385s returns true when shutdown successfully completes before timeout 385s returns false when shutdown fails to complete before timeout 386s waits forever when no timeout value is given 386s #auto_terminate? 386s returns true by default 386s returns true when :enable_at_exit_handler is true 386s returns false when :enable_at_exit_handler is false 386s #length 386s returns zero on creation 386s returns zero once shut down 386s #scheduled_task_count 386s returns zero on creation 386s returns the approximate number of tasks that have been post thus far 386s returns the approximate number of tasks that were post 386s #completed_task_count 386s returns zero on creation 386s #shutdown 387s allows threads to exit normally 387s #initialize default values 387s defaults :min_length correctly 387s defaults :max_length correctly 387s defaults :fallback_policy to :abort 387s defaults :idletime correctly 387s defaults default :max_queue to zero 387s #initialize explicit values 387s raises an exception when the pool length is less than one 387s sets explicit :max_queue correctly 387s correctly sets valid :fallback_policy 387s correctly sets valid :idletime 387s raises an exception if given an invalid :fallback_policy 387s #min_length 387s returns :num_threads on creation 387s returns :num_threads while running 387s returns :num_threads once shutdown 387s #max_length 387s returns :num_threads on creation 387s returns :num_threads while running 387s returns :num_threads once shutdown 387s #length 387s returns :num_threads while running 387s #largest_length 387s returns zero on creation 387s returns :num_threads while running 387s returns :num_threads once shutdown 387s #kill 387s attempts to kill all in-progress tasks 387s worker creation and caching 388s never creates more than :num_threads threads 388s fallback policy 388s raises an error when overflow on abort 389s discards when fallback_policy is :discard 389s uses the calling thread for overflow under caller_runs 389s runtime-specific implementation 389s sets :fallback_policy correctly 389s 389s Concurrent::ImmediateExecutor 389s it should behave like executor_service 389s it should behave like global_thread_pool 389s #post 389s raises an exception if no block is given 389s returns true when the block is added to the queue 389s calls the block with the given arguments 389s aliases #<< 389s #post 390s rejects the block while shutting down 390s rejects the block once shutdown 390s auto terminate 395s does not stop shutdown 395s #running? 395s returns true when the thread pool is running 395s returns false when the thread pool is shutting down 395s returns false when the thread pool is shutdown 395s returns false when the thread pool is killed 395s #shuttingdown? 395s returns false when the thread pool is running 395s returns true when the thread pool is shutting down (PENDING: will never be in shuttingdown? state) 395s returns false when the thread pool is shutdown 395s #shutdown? 395s returns false when the thread pool is running 395s returns false when the thread pool is shutting down (PENDING: will never be in shuttingdown? state) 395s returns true when the thread pool is shutdown 395s #shutdown 396s stops accepting new tasks 396s allows in-progress tasks to complete 396s allows pending tasks to complete 396s #shutdown followed by #wait_for_termination 396s allows in-progress tasks to complete 397s allows pending tasks to complete 397s stops accepting/running new tasks 397s #kill 397s stops accepting new tasks 398s rejects all pending tasks 398s #wait_for_termination 398s immediately returns true when no operations are pending 398s returns true after shutdown has complete 399s returns true when shutdown successfully completes before timeout 399s returns false when shutdown fails to complete before timeout 401s waits forever when no timeout value is given 401s 401s Concurrent::IndirectImmediateExecutor 401s runs its tasks synchronously 401s runs the task on a separate thread 401s it should behave like executor_service 401s it should behave like global_thread_pool 401s #post 401s raises an exception if no block is given 401s returns true when the block is added to the queue 401s calls the block with the given arguments 401s aliases #<< 401s #post 401s rejects the block while shutting down 401s rejects the block once shutdown 401s auto terminate 405s does not stop shutdown 405s #running? 405s returns true when the thread pool is running 406s returns false when the thread pool is shutting down 406s returns false when the thread pool is shutdown 406s returns false when the thread pool is killed 406s #shuttingdown? 406s returns false when the thread pool is running 406s returns true when the thread pool is shutting down (PENDING: will never be in shuttingdown? state) 406s returns false when the thread pool is shutdown 406s #shutdown? 406s returns false when the thread pool is running 406s returns false when the thread pool is shutting down (PENDING: will never be in shuttingdown? state) 406s returns true when the thread pool is shutdown 406s #shutdown 407s stops accepting new tasks 407s allows in-progress tasks to complete 407s allows pending tasks to complete 407s #shutdown followed by #wait_for_termination 407s allows in-progress tasks to complete 407s allows pending tasks to complete 408s stops accepting/running new tasks 408s #kill 408s stops accepting new tasks 409s rejects all pending tasks 409s #wait_for_termination 409s immediately returns true when no operations are pending 409s returns true after shutdown has complete 410s returns true when shutdown successfully completes before timeout 410s returns false when shutdown fails to complete before timeout 410s waits forever when no timeout value is given 410s 410s Concurrent::JavaSingleThreadExecutor 410s it should behave like executor_service 410s it should behave like global_thread_pool 410s #post 410s raises an exception if no block is given 410s returns true when the block is added to the queue 410s calls the block with the given arguments 410s aliases #<< 410s #post 411s rejects the block while shutting down 411s rejects the block once shutdown 411s auto terminate 416s does not stop shutdown 416s #running? 416s returns true when the thread pool is running 416s returns false when the thread pool is shutting down 416s returns false when the thread pool is shutdown 416s returns false when the thread pool is killed 416s #shuttingdown? 416s returns false when the thread pool is running 418s returns true when the thread pool is shutting down 418s returns false when the thread pool is shutdown 418s #shutdown? 418s returns false when the thread pool is running 418s returns false when the thread pool is shutting down 418s returns true when the thread pool is shutdown 418s #shutdown 418s stops accepting new tasks 418s allows in-progress tasks to complete 418s allows pending tasks to complete 418s #shutdown followed by #wait_for_termination 418s allows in-progress tasks to complete 419s allows pending tasks to complete 419s stops accepting/running new tasks 419s #kill 419s stops accepting new tasks 419s rejects all pending tasks 419s #wait_for_termination 419s immediately returns true when no operations are pending 419s returns true after shutdown has complete 420s returns true when shutdown successfully completes before timeout 420s returns false when shutdown fails to complete before timeout 420s waits forever when no timeout value is given 420s 420s Concurrent::JavaThreadPoolExecutor 420s it should behave like thread_pool 420s it should behave like executor_service 420s it should behave like global_thread_pool 420s #post 420s raises an exception if no block is given 420s returns true when the block is added to the queue 420s calls the block with the given arguments 420s aliases #<< 420s #post 421s rejects the block while shutting down 422s rejects the block once shutdown 422s auto terminate 426s does not stop shutdown 426s #running? 426s returns true when the thread pool is running 427s returns false when the thread pool is shutting down 427s returns false when the thread pool is shutdown 427s returns false when the thread pool is killed 427s #shuttingdown? 427s returns false when the thread pool is running 427s returns true when the thread pool is shutting down 427s returns false when the thread pool is shutdown 427s #shutdown? 427s returns false when the thread pool is running 428s returns false when the thread pool is shutting down 428s returns true when the thread pool is shutdown 428s #shutdown 428s stops accepting new tasks 428s allows in-progress tasks to complete 428s allows pending tasks to complete 428s #shutdown followed by #wait_for_termination 429s allows in-progress tasks to complete 429s allows pending tasks to complete 429s stops accepting/running new tasks 429s #kill 429s stops accepting new tasks 429s rejects all pending tasks 429s #wait_for_termination 429s immediately returns true when no operations are pending 506s returns true after shutdown has complete 528s returns true when shutdown successfully completes before timeout 528s returns false when shutdown fails to complete before timeout 528s waits forever when no timeout value is given 528s #auto_terminate? 528s returns true by default 528s returns true when :enable_at_exit_handler is true 528s returns false when :enable_at_exit_handler is false 528s #length 528s returns zero on creation 528s returns zero once shut down 528s #scheduled_task_count 528s returns zero on creation 528s returns the approximate number of tasks that have been post thus far 528s returns the approximate number of tasks that were post 528s #completed_task_count 528s returns zero on creation 528s #shutdown 528s allows threads to exit normally 528s it should behave like thread_pool_executor 528s #initialize defaults 528s defaults :min_length to DEFAULT_MIN_POOL_SIZE 528s defaults :max_length to DEFAULT_MAX_POOL_SIZE 528s defaults :idletime to DEFAULT_THREAD_IDLETIMEOUT 528s defaults :max_queue to DEFAULT_MAX_QUEUE_SIZE 528s defaults :fallback_policy to :abort 528s defaults :name to nil 528s #initialize explicit values 528s sets :min_threads 528s sets :max_threads 528s sets :idletime 528s doesn't allow max_threads < min_threads 528s accepts all valid fallback policies 528s raises an exception if :max_threads is less than zero 528s raises an exception if :min_threads is less than zero 528s raises an exception if :max_threads greater than the max allowable 528s raises an exception if :max_threads is less than :min_threads 528s raises an exception if given an invalid :fallback_policy 528s sets :name 528s #max_queue 528s returns the set value on creation 528s returns the set value when running 528s returns the set value after stopping 528s #synchronous 528s cannot be set unless `max_queue` is zero 528s executes fallback policy once max_threads has been reached 528s #queue_length 528s returns zero on creation 528s returns zero when there are no enqueued tasks 528s returns the size of the queue when tasks are enqueued 528s returns zero when stopped 528s can never be greater than :max_queue 528s #remaining_capacity 528s returns -1 when :max_queue is set to zero 528s returns :max_length on creation 528s returns :max_length when stopped 528s #active_count 528s returns the number of threads that are actively executing tasks. 528s #fallback_policy 528s :abort 528s #post raises an error when the queue is at capacity 528s #<< raises an error when the queue is at capacity 528s #post raises an error when the executor is shutting down 528s #<< raises an error when the executor is shutting down 528s a #post task is never executed when the queue is at capacity 528s a #<< task is never executed when the queue is at capacity 528s :discard 528s a #post task is never executed when the queue is at capacity 528s a #<< task is never executed when the queue is at capacity 528s a #post task is never executed when the executor is shutting down 528s a #<< task is never executed when the executor is shutting down 528s #post returns false when the executor is shutting down 528s :caller_runs 528s #post does not create any new threads when the queue is at capacity 528s #<< executes the task on the current thread when the queue is at capacity 528s #post executes the task on the current thread when the queue is at capacity 528s #post executes the task on the current thread when the executor is shutting down 528s #<< executes the task on the current thread when the executor is shutting down 528s #post does not block other jobs running on the worker threads 528s prune 528s is a no-op, pruning is handled by the JVM 528s #overload_policy 528s :abort maps to AbortPolicy 528s :discard maps to DiscardPolicy 528s :caller_runs maps to CallerRunsPolicy 528s 528s Concurrent::RubySingleThreadExecutor 528s it should behave like executor_service 528s it should behave like global_thread_pool 528s #post 528s raises an exception if no block is given 528s returns true when the block is added to the queue 528s calls the block with the given arguments 528s aliases #<< 528s #post 528s rejects the block while shutting down 528s rejects the block once shutdown 528s auto terminate 528s does not stop shutdown 528s #running? 528s returns true when the thread pool is running 528s returns false when the thread pool is shutting down 528s returns false when the thread pool is shutdown 528s returns false when the thread pool is killed 528s #shuttingdown? 528s returns false when the thread pool is running 528s returns true when the thread pool is shutting down 528s returns false when the thread pool is shutdown 528s #shutdown? 528s returns false when the thread pool is running 528s returns false when the thread pool is shutting down 528s returns true when the thread pool is shutdown 528s #shutdown 528s stops accepting new tasks 528s allows in-progress tasks to complete 528s allows pending tasks to complete 528s #shutdown followed by #wait_for_termination 528s allows in-progress tasks to complete 528s allows pending tasks to complete 528s stops accepting/running new tasks 528s #kill 528s stops accepting new tasks 528s rejects all pending tasks 528s #wait_for_termination 528s immediately returns true when no operations are pending 528s returns true after shutdown has complete 528s returns true when shutdown successfully completes before timeout 528s returns false when shutdown fails to complete before timeout 528s waits forever when no timeout value is given 528s 528s Concurrent::RubyThreadPoolExecutor 528s it should behave like thread_pool 528s it should behave like executor_service 528s it should behave like global_thread_pool 528s #post 528s raises an exception if no block is given 528s returns true when the block is added to the queue 528s calls the block with the given arguments 528s aliases #<< 528s #post 528s rejects the block while shutting down 528s rejects the block once shutdown 528s auto terminate 528s does not stop shutdown 528s #running? 528s returns true when the thread pool is running 528s returns false when the thread pool is shutting down 528s returns false when the thread pool is shutdown 528s returns false when the thread pool is killed 528s #shuttingdown? 528s returns false when the thread pool is running 528s returns true when the thread pool is shutting down 528s returns false when the thread pool is shutdown 528s #shutdown? 528s returns false when the thread pool is running 528s returns false when the thread pool is shutting down 528s returns true when the thread pool is shutdown 528s #shutdown 528s stops accepting new tasks 528s allows in-progress tasks to complete 528s allows pending tasks to complete 528s #shutdown followed by #wait_for_termination 528s allows in-progress tasks to complete 528s allows pending tasks to complete 528s stops accepting/running new tasks 528s #kill 528s stops accepting new tasks 528s rejects all pending tasks 528s #wait_for_termination 528s immediately returns true when no operations are pending 528s returns true after shutdown has complete 528s returns true when shutdown successfully completes before timeout 528s returns false when shutdown fails to complete before timeout 528s waits forever when no timeout value is given 528s #auto_terminate? 528s returns true by default 528s returns true when :enable_at_exit_handler is true 528s returns false when :enable_at_exit_handler is false 528s #length 528s returns zero on creation 528s returns zero once shut down 528s #scheduled_task_count 528s returns zero on creation 528s returns the approximate number of tasks that have been post thus far 528s returns the approximate number of tasks that were post 528s #completed_task_count 528s returns zero on creation 528s #shutdown 528s allows threads to exit normally 528s it should behave like thread_pool_executor 528s #initialize defaults 528s defaults :min_length to DEFAULT_MIN_POOL_SIZE 528s defaults :max_length to DEFAULT_MAX_POOL_SIZE 528s defaults :idletime to DEFAULT_THREAD_IDLETIMEOUT 528s defaults :max_queue to DEFAULT_MAX_QUEUE_SIZE 528s defaults :fallback_policy to :abort 528s defaults :name to nil 528s #initialize explicit values 528s sets :min_threads 528s sets :max_threads 528s sets :idletime 528s doesn't allow max_threads < min_threads 528s accepts all valid fallback policies 528s raises an exception if :max_threads is less than zero 528s raises an exception if :min_threads is less than zero 528s raises an exception if :max_threads greater than the max allowable 528s raises an exception if :max_threads is less than :min_threads 528s raises an exception if given an invalid :fallback_policy 528s sets :name 528s #max_queue 528s returns the set value on creation 528s returns the set value when running 528s returns the set value after stopping 528s #synchronous 528s cannot be set unless `max_queue` is zero 528s executes fallback policy once max_threads has been reached 528s #queue_length 528s returns zero on creation 528s returns zero when there are no enqueued tasks 528s returns the size of the queue when tasks are enqueued 528s returns zero when stopped 528s can never be greater than :max_queue 528s #remaining_capacity 528s returns -1 when :max_queue is set to zero 528s returns :max_length on creation 528s returns :max_length when stopped 528s #active_count 528s returns the number of threads that are actively executing tasks. 528s #fallback_policy 528s :abort 528s #post raises an error when the queue is at capacity 528s #<< raises an error when the queue is at capacity 528s #post raises an error when the executor is shutting down 528s #<< raises an error when the executor is shutting down 528s a #post task is never executed when the queue is at capacity 528s a #<< task is never executed when the queue is at capacity 528s :discard 528s a #post task is never executed when the queue is at capacity 528s a #<< task is never executed when the queue is at capacity 528s a #post task is never executed when the executor is shutting down 528s a #<< task is never executed when the executor is shutting down 528s #post returns false when the executor is shutting down 528s :caller_runs 528s #post does not create any new threads when the queue is at capacity 528s #<< executes the task on the current thread when the queue is at capacity 528s #post executes the task on the current thread when the queue is at capacity 528s #post executes the task on the current thread when the executor is shutting down 528s #<< executes the task on the current thread when the executor is shutting down 528s #post does not block other jobs running on the worker threads 528s #remaining_capacity 528s returns :max_length when no tasks are enqueued 528s returns the remaining capacity when tasks are enqueued 528s threads naming 528s without pool name 528s sets counted name 528s with pool name 528s sets counted name 528s 528s Concurrent::SafeTaskExecutor 528s #execute 528s happy execution 528s should return success 528s should return task value 528s should return a nil reason 528s passes all arguments to #execute to the task 528s protectes #execute with a mutex 528s failing execution 528s should return false success 528s should return a nil value 528s should return the reason 528s rescues Exception when :rescue_exception is true 528s rescues StandardError when :rescue_exception is false 528s rescues StandardError by default 528s 528s Concurrent::SerializedExecutionDelegator 528s it should behave like executor_service 528s it should behave like global_thread_pool 528s #post 528s raises an exception if no block is given 528s returns true when the block is added to the queue 528s calls the block with the given arguments 528s aliases #<< 528s #post 528s rejects the block while shutting down 528s rejects the block once shutdown 528s auto terminate 528s does not stop shutdown 528s #running? 528s returns true when the thread pool is running 528s returns false when the thread pool is shutting down 528s returns false when the thread pool is shutdown 528s returns false when the thread pool is killed 528s #shuttingdown? 528s returns false when the thread pool is running 528s returns true when the thread pool is shutting down (PENDING: will never be in shuttingdown? state) 528s returns false when the thread pool is shutdown 528s #shutdown? 528s returns false when the thread pool is running 528s returns false when the thread pool is shutting down (PENDING: will never be in shuttingdown? state) 528s returns true when the thread pool is shutdown 528s #shutdown 528s stops accepting new tasks 528s allows in-progress tasks to complete 528s allows pending tasks to complete 528s #shutdown followed by #wait_for_termination 528s allows in-progress tasks to complete 528s allows pending tasks to complete 528s stops accepting/running new tasks 528s #kill 528s stops accepting new tasks 528s rejects all pending tasks 528s #wait_for_termination 528s immediately returns true when no operations are pending 528s returns true after shutdown has complete 528s returns true when shutdown successfully completes before timeout 528s returns false when shutdown fails to complete before timeout 528s waits forever when no timeout value is given 528s 528s Concurrent::SimpleExecutorService 528s it should behave like executor_service 528s it should behave like global_thread_pool 528s #post 528s raises an exception if no block is given 528s returns true when the block is added to the queue 528s calls the block with the given arguments 528s aliases #<< 528s #post 528s rejects the block while shutting down 528s rejects the block once shutdown 528s auto terminate 528s does not stop shutdown 528s #running? 528s returns true when the thread pool is running 528s returns false when the thread pool is shutting down 528s returns false when the thread pool is shutdown 528s returns false when the thread pool is killed 528s #shuttingdown? 528s returns false when the thread pool is running 528s returns true when the thread pool is shutting down 528s returns false when the thread pool is shutdown 528s #shutdown? 528s returns false when the thread pool is running 528s returns false when the thread pool is shutting down 528s returns true when the thread pool is shutdown 528s #shutdown 528s stops accepting new tasks 528s allows in-progress tasks to complete 528s allows pending tasks to complete 528s #shutdown followed by #wait_for_termination 528s allows in-progress tasks to complete 528s allows pending tasks to complete 528s stops accepting/running new tasks 528s #kill 528s stops accepting new tasks 528s rejects all pending tasks 528s #wait_for_termination 528s immediately returns true when no operations are pending 528s returns true after shutdown has complete 528s returns true when shutdown successfully completes before timeout 528s returns false when shutdown fails to complete before timeout 528s waits forever when no timeout value is given 528s #post 528s creates a new thread for a call without arguments 528s executes a call without arguments 528s creates a new thread for a call with arguments 528s executes a call with one argument 528s executes a call with multiple arguments 528s aliases #<< 528s SimpleExecutorService.post 528s creates a new thread for a call without arguments 528s executes a call without arguments 528s creates a new thread for a call with arguments 528s executes a call with one argument 528s executes a call with multiple arguments 528s aliases #<< 528s 528s Concurrent::SingleThreadExecutor 528s inherits from JavaSingleThreadExecutor 528s 528s Concurrent::ThreadPoolExecutor 528s inherits from JavaThreadPoolExecutor 528s 528s Concurrent::TimerSet 528s construction 528s uses the executor given at construction 528s uses the global io executor be default 528s #post 528s raises an exception when given a task with a delay less than zero 528s raises an exception when no block given 528s immediately posts a task when the delay is zero 528s execution 528s executes a given task when given an interval in seconds 528s returns an IVar when posting a task 528s executes a given task when given an interval in seconds, even if longer tasks have been scheduled 528s passes all arguments to the task on execution 528s does not execute tasks early 528s executes all tasks scheduled for the same time 528s executes tasks with different times in schedule order 528s executes tasks with different times in schedule time 528s continues to execute new tasks even after the queue is emptied 528s safely handles an executor raising RejectedExecutionError 528s resolution 528s sets the IVar value on success when delay is zero 528s sets the IVar value on success when given a delay 528s sets the IVar reason on failure when delay is zero 528s sets the IVar reason on failure when given a delay 528s task cancellation 528s fails to cancel the task once processing has begun 528s fails to cancel the task once processing is complete 528s cancels a pending task 528s returns false when not running 528s task rescheduling 528s raises an exception when given an invalid time 528s does not change the current schedule when given an invalid time 528s reschdules a pending and unpost task when given a valid time 528s returns false once the task has been post to the executor 528s returns false once the task is processing 528s returns false once the task has is complete 528s returns false when not running 528s task resetting 528s calls #reschedule with the original delay 528s termination 528s cancels all pending tasks on #shutdown 528s cancels all pending tasks on #kill 528s stops the monitor thread on #shutdown 528s kills the monitor thread on #kill 528s rejects tasks once shutdown 528s rejects tasks once killed 528s #wait_for_termination returns true if shutdown completes before timeout 528s #wait_for_termination returns false on timeout 528s state 528s is running? when first created 528s is running? after tasks have been post 528s is shutdown? after shutdown completes 528s is shutdown? after being killed 528s 528s Concurrent::WrappingExecutor 528s is expected to be a kind of Concurrent::WrappingExecutor 528s is expected to respond to #post 528s is expected to respond to #can_overflow? 528s is expected to respond to #serialized? 528s #post 528s with passthrough wrapper 528s is expected to equal # 528s with wrapper modifying args 528s is expected to equal # 528s with wrapper modifying task 528s is expected to equal # 528s 528s Concurrent::Future 528s it should behave like ivar 528s it should behave like obligation 528s #state 528s is :pending when first created 528s is :fulfilled when the handler completes 528s is :rejected when the handler raises an exception 528s #value 528s returns nil when reaching the optional timeout value 528s returns immediately when timeout is zero 528s returns the value when fulfilled before timeout 528s returns nil when timeout reached 528s is nil when :pending 528s blocks the caller when :pending and timeout is nil 528s is nil when :rejected 528s is set to the return value of the block when :fulfilled 528s #reason 528s is nil when :pending 528s is nil when :fulfilled 528s is set to error object of the exception when :rejected 528s it should behave like dereferenceable 528s defaults :dup_on_deref to false 528s calls #dup when the :dup_on_deref option is true 528s defaults :freeze_on_deref to false 528s calls #freeze when the :freeze_on_deref option is true 528s defaults :copy_on_deref to nil 528s calls the block when the :copy_on_deref option is passed a proc 528s calls the :copy block first followed by #dup followed by #freeze 528s does not call #dup when #dup_on_deref is set and the value is nil 528s does not call #freeze when #freeze_on_deref is set and the value is nil 528s does not call the #copy_on_deref block when the value is nil 528s supports dereference flags with observers 528s it should behave like observable 528s #add_observer 528s adds an observer if called before first notification 528s adds an observer with :func if called before first notification 528s creates an observer from a block if called before first notification 528s raises an exception if not given an observer or a block 528s raises an exception when given both an observer and a block 528s #delete_observer 528s deletes the given observer if called before first notification 528s returns the removed observer if found in the observer set 528s returns the given observer even when not found in the observer set 528s #delete_observers 528s deletes all observers when called before first notification 528s returns self 528s #count_observers 528s returns zero for a new observable object 528s returns a count of registered observers if called before first notification 528s returns zero after #delete_observers has been called 528s first notification 528s calls the #update method on all observers without a specified :func 528s calls the appropriate function on all observers which specified a :func 528s calls the proc for all observers added as a block 528s does not notify any observers removed with #delete_observer 528s does not notify any observers after #delete_observers called 528s initialization 528s sets the state to incomplete 528s #set 528s sets the state to be fulfilled 528s sets the value 528s raises an exception if set more than once 528s returns self 528s fulfils when given a block which executes successfully 528s rejects when given a block which raises an exception 528s raises an exception when given a value and a block 528s raises an exception when given neither a value nor a block 528s #fail 528s sets the state to be rejected 528s sets the value to be nil 528s sets the reason to the given exception 528s raises an exception if set more than once 528s defaults the reason to a StandardError 528s returns self 528s #try_set 528s when unset 528s assigns the value 528s assigns the block result 528s returns true 528s when fulfilled 528s does not assign the value 528s does not assign the block result 528s returns false 528s when rejected 528s does not assign the value 528s does not assign the block result 528s has a nil value 528s returns false 528s it should behave like thread_arguments 528s passes an empty array when opts is not given 528s passes an empty array when opts is an empty hash 528s passes an empty array when there is no :args key 528s passes an empty array when the :args key has a nil value 528s passes a one-element array when the :args key has a non-array value 528s passes an array when when the :args key has an array value 528s passes the given array when the :args key has a complex array value 528s allows the given arguments array to be dereferenced 528s #initialize 528s sets the state to :unscheduled 528s raises an exception when no block given 528s uses the executor given with the :executor option 528s uses the global io executor by default 528s instance #execute 528s does nothing unless the state is :unscheduled 528s posts the block given on construction 528s sets the state to :pending 528s returns self 528s class #execute 528s creates a new Future 528s passes the block to the new Future 528s calls #execute on the new Future 528s fulfillment 528s sets the state to :processing while the task is executing 528s passes all arguments to handler 528s sets the value to the result of the handler 528s sets the state to :fulfilled when the block completes 528s sets the value to nil when the handler raises an exception 528s sets the value to nil when the handler raises Exception 528s sets the reason to the Exception instance when the handler raises Exception 528s sets the state to :rejected when the handler raises an exception 528s aliases 528s aliases #realized? for #fulfilled? 528s aliases #deref for #value 528s cancellation 528s #cancel 528s fails to cancel the task once processing has begun 528s fails to cancel the task once processing is complete 528s cancels a pending task 528s #wait_or_cancel 528s returns true if the operation completes before timeout 528s cancels the task on timeout 528s observation 528s notifies all observers on fulfillment 528s notifies all observers on rejection 528s notifies an observer added after fulfillment 528s notifies an observer added after rejection 528s does not notify existing observers when a new observer added after fulfillment 528s does not notify existing observers when a new observer added after rejection 528s deadlock avoidance 528s should notify observers outside mutex lock 528s should notify a new observer added after fulfillment outside lock 528s 528s Concurrent::Hash 528s .[] 528s when initializing with no arguments 528s is expected to be empty 528s when initializing with an even number of arguments 528s creates a hash using the odd position arguments as keys and even position arguments as values 528s when initializing with an array of pairs 528s creates a hash using each pair as a (key, value) pair 528s when initializing with another hash as an argument 528s creates a new hash 528s creates a hash with the same contents as the other hash 528s creates a hash with the results of calling #to_hash on the other array 528s .new 528s when initializing with no arguments 528s is expected to be empty 528s when initialized with a default object 528s uses the default object for non-existing keys 528s when initialized with a block 528s calls the block for non-existing keys 528s returns the results of calling the block for non-existing key 528s concurrency 528s is expected to be empty 528s 528s Concurrent::ImmutableStruct 528s it should behave like struct 528s definition 528s registers the class when given a class name 528s registers the class when given a class name which is defined in the ancestors 528s creates an anonymous class when given at least one member 528s raises an exception when given an invalid class name 528s defines a getter for each member 528s raises an exception when given no members 528s raise an exception when given an invalid member 528s evalues a given block against the new class 528s construction 528s sets all absent members to nil 528s sets all given members in order 528s raises an exception when extra members are given 528s properties 528s #length 528s returns the number of struct members 528s #members 528s returns the struct members as an array of symbols 528s returns a different object than the array passed at definition 528s #size 528s returns the number of struct members 528s #values 528s returns the values of the struct as an array in order 528s #values_at 528s returns the value at the given offset 528s returns the values at multiple given offsets 528s returns values at offsets in a given range 528s returns values for multiple ranges 528s returns values for ranges and offsets 528s accessors 528s #[member] 528s retrieves the value when given a valid symbol member 528s retrieves the value when given a valid string member 528s raises an exception when given a non-existent symbol member 528s raises an exception when given a non-existent string member 528s #[index] 528s retrieves the value when given a valid index 528s raises an exception when given an out-of-bound index 528s comparison 528s #== 528s returns true if other has same struct subclass and equal values 528s returns false if other has different struct subclass 528s returns false if other has different values 528s #!= 528s returns false if other has same struct subclass and equal values 528s returns true if other has different struct subclass 528s returns true if other has different values 528s enumeration 528s #each 528s yields the value of each struct member in order 528s returns an enumerator when no block is given 528s #each_pair 528s yields the name and value of each struct member in order 528s returns an enumerator when no block is given 528s #select 528s yields each value 528s returns an Array with the values from for which the block returns true 528s returns an enumerator when no block is given 528s conversion 528s #to_s 528s includes the name of the class when registered 528s includes the names of all members 528s includes all values 528s returns the same string as #inspect 528s #to_a 528s returns the to_a for this struct as an array 528s #to_h 528s returns a Hash containing the names and values in order 528s copy 528s #dup 528s shallowly duplicates all members along with the struct 528s discards frozen state of the struct 528s retains frozen state of members 528s discards singleton class 528s copies the singleton class of members 528s #clone 528s shallowly clones all members along with the struct 528s retains frozen state 528s copies the singleton class 528s copies the singleton class of members 528s it should behave like mergeable_struct 528s #merge 528s updates all members with the new values from a given hash 528s calls the given block for each key in `other` 528s retains the value for all members not without values in the given hash 528s raises an exception when given a hash with members not in the struct 528s returns a new object 528s 528s Concurrent::IVar 528s it should behave like ivar 528s it should behave like obligation 528s #state 528s is :pending when first created 528s is :fulfilled when the handler completes 528s is :rejected when the handler raises an exception 528s #value 528s returns nil when reaching the optional timeout value 528s returns immediately when timeout is zero 528s returns the value when fulfilled before timeout 528s returns nil when timeout reached 528s is nil when :pending 528s blocks the caller when :pending and timeout is nil 528s is nil when :rejected 528s is set to the return value of the block when :fulfilled 528s #reason 528s is nil when :pending 528s is nil when :fulfilled 528s is set to error object of the exception when :rejected 528s it should behave like dereferenceable 528s defaults :dup_on_deref to false 528s calls #dup when the :dup_on_deref option is true 528s defaults :freeze_on_deref to false 528s calls #freeze when the :freeze_on_deref option is true 528s defaults :copy_on_deref to nil 528s calls the block when the :copy_on_deref option is passed a proc 528s calls the :copy block first followed by #dup followed by #freeze 528s does not call #dup when #dup_on_deref is set and the value is nil 528s does not call #freeze when #freeze_on_deref is set and the value is nil 528s does not call the #copy_on_deref block when the value is nil 528s supports dereference flags with observers 528s it should behave like observable 528s #add_observer 528s adds an observer if called before first notification 528s adds an observer with :func if called before first notification 528s creates an observer from a block if called before first notification 528s raises an exception if not given an observer or a block 528s raises an exception when given both an observer and a block 528s #delete_observer 528s deletes the given observer if called before first notification 528s returns the removed observer if found in the observer set 528s returns the given observer even when not found in the observer set 528s #delete_observers 528s /tmp/autopkgtest.V4055I/build.adT/src/spec/concurrent/struct_shared.rb:15: warning: already initialized constant ValidClassName2 528s /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 528s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 528s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/yield.rb:101 528s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/yield.rb:7 528s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/yield.rb:6 528s
at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/yield.rb:5 528s require at org/jruby/RubyKernel.java:1184 528s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 528s yield_with_args at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers.rb:920 528s Concurrent at /tmp/autopkgtest.V4055I/build.adT/src/spec/concurrent/mvar_spec.rb:78 528s instance_exec at org/jruby/RubyBasicObject.java:2620 528s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:263 528s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 528s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 528s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 528s run_around_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:624 528s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 528s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 528s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 528s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:259 528s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:646 528s map at org/jruby/RubyArray.java:2803 528s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:651 528s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:607 528s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:608 528s map at org/jruby/RubyArray.java:2803 528s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:608 528s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121 528s map at org/jruby/RubyArray.java:2803 528s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:145 528s with_suite_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:2091 528s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:116 528s report at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/reporter.rb:74 528s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:115 528s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:89 528s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:71 528s invoke at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:45 528s
at /usr/bin/rspec:4 528s 528s /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 528s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 528s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/yield.rb:149 528s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/yield.rb:7 528s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/yield.rb:6 528s
at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/yield.rb:5 528s require at org/jruby/RubyKernel.java:1184 528s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 528s yield_with_args at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers.rb:920 528s Concurrent at /tmp/autopkgtest.V4055I/build.adT/src/spec/concurrent/mvar_spec.rb:78 528s instance_exec at org/jruby/RubyBasicObject.java:2620 528s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:263 528s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 528s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 528s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 528s run_around_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:624 528s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 528s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 528s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 528s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:259 528s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:646 528s map at org/jruby/RubyArray.java:2803 528s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:651 528s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:607 528s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:608 528s map at org/jruby/RubyArray.java:2803 528s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:608 528s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121 528s map at org/jruby/RubyArray.java:2803 528s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:145 528s with_suite_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:2091 528s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:116 528s report at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/reporter.rb:74 528s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:115 528s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:89 528s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:71 528s invoke at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:45 528s
at /usr/bin/rspec:4 528s 528s /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 528s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 528s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/yield.rb:296 528s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/yield.rb:7 528s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/yield.rb:6 528s
at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/yield.rb:5 528s require at org/jruby/RubyKernel.java:1184 528s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 528s yield_with_args at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers.rb:920 528s Concurrent at /tmp/autopkgtest.V4055I/build.adT/src/spec/concurrent/mvar_spec.rb:78 528s instance_exec at org/jruby/RubyBasicObject.java:2620 528s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:263 528s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 528s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 528s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 528s run_around_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:624 528s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 528s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 528s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 528s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:259 528s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:646 528s map at org/jruby/RubyArray.java:2803 528s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:651 528s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:607 528s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:608 528s map at org/jruby/RubyArray.java:2803 528s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:608 528s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121 528s map at org/jruby/RubyArray.java:2803 528s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:145 528s with_suite_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:2091 528s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:116 528s report at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/reporter.rb:74 528s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:115 528s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:89 528s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:71 528s invoke at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:45 528s
at /usr/bin/rspec:4 528s 528s deletes all observers when called before first notification 528s returns self 528s #count_observers 528s returns zero for a new observable object 528s returns a count of registered observers if called before first notification 528s returns zero after #delete_observers has been called 528s first notification 528s calls the #update method on all observers without a specified :func 528s calls the appropriate function on all observers which specified a :func 528s calls the proc for all observers added as a block 528s does not notify any observers removed with #delete_observer 528s does not notify any observers after #delete_observers called 528s initialization 528s sets the state to incomplete 528s #set 528s sets the state to be fulfilled 528s sets the value 528s raises an exception if set more than once 528s returns self 528s fulfils when given a block which executes successfully 528s rejects when given a block which raises an exception 528s raises an exception when given a value and a block 528s raises an exception when given neither a value nor a block 528s #fail 528s sets the state to be rejected 528s sets the value to be nil 528s sets the reason to the given exception 528s raises an exception if set more than once 528s defaults the reason to a StandardError 528s returns self 528s #try_set 528s when unset 528s assigns the value 528s assigns the block result 528s returns true 528s when fulfilled 528s does not assign the value 528s does not assign the block result 528s returns false 528s when rejected 528s does not assign the value 528s does not assign the block result 528s has a nil value 528s returns false 528s #initialize 528s does not have to set an initial value 528s does not set an initial value if you pass NULL 528s can set an initial value 528s can set an initial value with a block 528s raises an exception if given both a value and a block 528s observation 528s notifies all observers on #set 528s deadlock avoidance 528s should notify observers outside mutex lock 528s should notify a new observer added after fulfillment outside lock 528s 528s Concurrent::LazyRegister 528s example at ./spec/concurrent/lazy_register_spec.rb:6 (PENDING: Not yet implemented) 528s 528s Concurrent::Map 528s default_proc is called with the Concurrent::Map and the key 528s default_proc is called with the Concurrent::Map and the key after #dup 528s concurrency 528s retrieval 528s #put_if_absent 528s updates dont block reads 528s collision resistance 528s collision resistance with arrays 528s #replace_pair 528s #replace_if_exists 528s #get_and_set 528s #key 528s #key? 528s #value? 528s #delete 528s #delete_pair 528s default proc 528s falsy default proc 528s #clear 528s #keys 528s #values 528s #each_key 528s #each_value 528s #empty 528s options validation 528s initial capacity options validation 528s load factor options validation 528s #size 528s #get_or_default 528s #dup,#clone 528s is unfreezable 528s marshal dump load 528s marshal dump does not work with default proc 528s #inspect 528s #compute_if_absent 528s works in default_proc 528s common 528s with return 528s exception 528s atomicity 528s #compute_if_present 528s common 528s with return 528s exception 528s #compute 528s common 528s with return 528s exception 528s #merge_pair 528s common 528s with return 528s exception 528s #fetch 528s common 528s falsy 528s with return 528s #fetch_or_store 528s common 528s falsy 528s with return 528s #each_pair 528s it should behave like collection_each 528s common 528s pair iterator 528s allows modification 528s when no block is given 528s returns an enumerator 528s returns an object which is enumerable 528s #each 528s it should behave like collection_each 528s common 528s pair iterator 528s allows modification 528s when no block is given 528s returns an enumerator 528s returns an object which is enumerable 528s 528s Concurrent::Maybe 528s construction 528s hides Maybe.new 528s Maybe.from 528s raises an exception when no block is given 528s passes all arguments to the block 528s creates a Just Maybe on success 528s sets the value to the block result on success 528s creates a Nothing Maybe on exception 528s sets the reason to the error object on exception 528s Maybe.just 528s creates a new Just Maybe 528s Maybe.nothing 528s creates a new Nothing Maybe 528s uses the given Error object 528s creates a new error object with the given string 528s creates a new error object when given nothing 528s when just 528s #just? returns true 528s #fulfilled? returns true 528s #nothing? returns false 528s #rejected? returns false 528s #just returns the value 528s #value returns the value 528s #nothing returns NONE 528s #reason returns NONE 528s when nothing 528s #just? returns false 528s #fulfilled? returns false 528s #nothing? returns true 528s #rejected? returns true 528s #just returns NONE 528s #value returns NONE 528s #nothing returns the raised error 528s #reason returns the raised error 528s comparison 528s something is not equal to nothing 528s nothing is equal to nothing 528s something is equal to the same value 528s something is not equal to a different value 528s something is greater than a smaller value 528s something is less than a bigger value 528s nothing is not less than nothing 528s nothing is not greater than nothing 528s #or 528s returns the value when something 528s returns the other when nothing 528s 528s monotonic_time 528s behavior 528s returns seconds as float 528s returns a Float when unit = :float_second 528s returns a Float when unit = :float_millisecond 528s returns a Float when unit = :float_microsecond 528s returns an Integer when unit = :second 528s returns an Integer when unit = :millisecond 528s returns an Integer when unit = :microsecond 528s returns an Integer when unit = :nanosecond 528s raises ArgumentError on unknown units 528s 528s Concurrent::MutableStruct 528s it should behave like struct 528s definition 528s registers the class when given a class name 528s registers the class when given a class name which is defined in the ancestors 528s creates an anonymous class when given at least one member 528s raises an exception when given an invalid class name 528s defines a getter for each member 528s raises an exception when given no members 528s raise an exception when given an invalid member 528s evalues a given block against the new class 528s construction 528s sets all absent members to nil 528s sets all given members in order 528s raises an exception when extra members are given 528s properties 528s #length 528s returns the number of struct members 528s #members 528s returns the struct members as an array of symbols 528s returns a different object than the array passed at definition 528s #size 528s returns the number of struct members 528s #values 528s returns the values of the struct as an array in order 528s #values_at 528s returns the value at the given offset 528s returns the values at multiple given offsets 528s returns values at offsets in a given range 528s returns values for multiple ranges 528s returns values for ranges and offsets 528s accessors 528s #[member] 528s retrieves the value when given a valid symbol member 528s retrieves the value when given a valid string member 528s raises an exception when given a non-existent symbol member 528s raises an exception when given a non-existent string member 528s #[index] 528s retrieves the value when given a valid index 528s raises an exception when given an out-of-bound index 528s comparison 528s #== 528s returns true if other has same struct subclass and equal values 528s returns false if other has different struct subclass 528s returns false if other has different values 528s #!= 528s returns false if other has same struct subclass and equal values 528s returns true if other has different struct subclass 528s returns true if other has different values 528s enumeration 528s #each 528s yields the value of each struct member in order 528s returns an enumerator when no block is given 528s #each_pair 528s yields the name and value of each struct member in order 528s returns an enumerator when no block is given 528s #select 528s yields each value 528s returns an Array with the values from for which the block returns true 528s returns an enumerator when no block is given 528s conversion 528s #to_s 528s includes the name of the class when registered 528s includes the names of all members 528s includes all values 528s returns the same string as #inspect 528s #to_a 528s returns the to_a for this struct as an array 528s #to_h 528s returns a Hash containing the names and values in order 528s copy 528s #dup 528s shallowly duplicates all members along with the struct 528s discards frozen state of the struct 528s retains frozen state of members 528s discards singleton class 528s copies the singleton class of members 528s #clone 528s shallowly clones all members along with the struct 528s retains frozen state 528s copies the singleton class 528s copies the singleton class of members 528s it should behave like mergeable_struct 528s #merge 528s updates all members with the new values from a given hash 528s calls the given block for each key in `other` 528s retains the value for all members not without values in the given hash 528s raises an exception when given a hash with members not in the struct 528s returns a new object 528s definition 528s defines a setter for each member 528s #[member]= 528s sets the value when given a valid symbol member 528s sets the value when given a valid string member 528s raises an exception when given a non-existent symbol member 528s raises an exception when given a non-existent string member 528s #[index]= 528s sets the value when given a valid index 528s raises an exception when given an out-of-bound index 528s synchronization 528s protects #values 528s protects #values_at 528s protects #[index] 528s protects #[member] 528s protects getter methods 528s protects #[index]= 528s protects #[member]= 528s protects getter methods 528s protects #to_s 528s protects #inspect 528s protects #merge 528s protects #to_h 528s protects #== 528s protects #each 528s protects #each_pair 528s protects #select 528s protects #initialize_copy 528s copy 528s #dup 528s mutates only the copy 528s #clone 528s mutates only the copy 528s 528s Concurrent::MVar 528s behavior 528s it should behave like dereferenceable 528s defaults :dup_on_deref to false 528s calls #dup when the :dup_on_deref option is true 528s defaults :freeze_on_deref to false 528s calls #freeze when the :freeze_on_deref option is true 528s defaults :copy_on_deref to nil 528s calls the block when the :copy_on_deref option is passed a proc 528s calls the :copy block first followed by #dup followed by #freeze 528s does not call #dup when #dup_on_deref is set and the value is nil 528s does not call #freeze when #freeze_on_deref is set and the value is nil 528s does not call the #copy_on_deref block when the value is nil 528s supports dereference flags with observers 528s #initialize 528s accepts no initial value 528s accepts an empty initial value 528s accepts an initial value 528s accepts a nil initial value 528s #take 528s sets the MVar to empty 528s returns the value on a full MVar 528s waits for another thread to #put 528s returns TIMEOUT on timeout on an empty MVar 528s #borrow 528s yields current value to the block and puts back value 528s puts back value even if an exception is raised 528s returns the returned value of the block 528s returns TIMEOUT on timeout on an empty MVar 528s #put 528s sets the MVar to be empty 528s sets a new value on an empty MVar 528s waits for another thread to #take 528s returns TIMEOUT on timeout on a full MVar 528s returns the value 528s #empty? 528s returns true on an empty MVar 528s returns false on a full MVar 528s #full? 528s returns false on an empty MVar 528s returns true on a full MVar 528s #modify 528s raises an exception when no block given 528s modifies a full MVar 528s returns the unmodified value 528s waits for another thread to #put 528s is atomic 528s returns TIMEOUT on timeout on an empty MVar 528s #try_put! 528s returns true an empty MVar 528s returns false on a full MVar 528s sets an empty MVar to be full 528s #try_take! 528s returns EMPTY an empty MVar 528s returns the value on a full MVar 528s sets a full MVar to be empty 528s #set! 528s sets an empty MVar to be full 528s sets a full MVar to be full 528s returns EMPTY on an empty MVar 528s returns the original value on a full MVar 528s #modify! 528s raises an exception when no block given 528s modifies a full MVar 528s modifies an empty MVar 528s can be used to set a full MVar to empty 528s can be used to set an empty MVar to empty 528s returns the unmodified value 528s spurious wake ups 528s #take 528s waits for another thread to #put 528s returns TIMEOUT on timeout on an empty MVar 528s #modify 528s waits for another thread to #put 528s returns TIMEOUT on timeout on an empty MVar 528s #put 528s waits for another thread to #take 528s returns TIMEOUT on timeout on a full MVar 528s 528s Concurrent::Options 528s .executor_from_options 528s returns the given :executor 528s returns the global io executor when :executor is :io 528s returns the global fast executor when :executor is :fast 528s returns an immediate executor when :executor is :immediate 528s raises an exception when :executor is an unrecognized symbol 528s 528s Concurrent::ProcessingActor 528s is expected to eq "ab" 528s 528s Concurrent::Promise 528s it should behave like ivar 528s it should behave like obligation 528s #state 528s is :pending when first created 528s is :fulfilled when the handler completes 528s is :rejected when the handler raises an exception 528s #value 528s returns nil when reaching the optional timeout value 528s returns immediately when timeout is zero 528s returns the value when fulfilled before timeout 528s returns nil when timeout reached 528s is nil when :pending 528s blocks the caller when :pending and timeout is nil 528s is nil when :rejected 528s is set to the return value of the block when :fulfilled 528s #reason 528s is nil when :pending 528s is nil when :fulfilled 528s is set to error object of the exception when :rejected 528s it should behave like dereferenceable 528s defaults :dup_on_deref to false 528s calls #dup when the :dup_on_deref option is true 528s defaults :freeze_on_deref to false 528s calls #freeze when the :freeze_on_deref option is true 528s defaults :copy_on_deref to nil 528s calls the block when the :copy_on_deref option is passed a proc 528s calls the :copy block first followed by #dup followed by #freeze 528s does not call #dup when #dup_on_deref is set and the value is nil 528s does not call #freeze when #freeze_on_deref is set and the value is nil 528s does not call the #copy_on_deref block when the value is nil 528s supports dereference flags with observers 528s it should behave like observable 528s #add_observer 528s adds an observer if called before first notification 528s adds an observer with :func if called before first notification 528s creates an observer from a block if called before first notification 528s raises an exception if not given an observer or a block 528s raises an exception when given both an observer and a block 528s #delete_observer 528s deletes the given observer if called before first notification 528s returns the removed observer if found in the observer set 528s returns the given observer even when not found in the observer set 528s #delete_observers 528s deletes all observers when called before first notification 528s returns self 528s #count_observers 528s returns zero for a new observable object 528s returns a count of registered observers if called before first notification 528s returns zero after #delete_observers has been called 528s first notification 528s calls the #update method on all observers without a specified :func 528s calls the appropriate function on all observers which specified a :func 528s calls the proc for all observers added as a block 528s does not notify any observers removed with #delete_observer 528s does not notify any observers after #delete_observers called 528s initialization 528s sets the state to incomplete 528s #set 528s sets the state to be fulfilled 528s sets the value 528s raises an exception if set more than once 528s returns self 528s fulfils when given a block which executes successfully 528s rejects when given a block which raises an exception 528s raises an exception when given a value and a block 528s raises an exception when given neither a value nor a block 528s #fail 528s sets the state to be rejected 528s sets the value to be nil 528s sets the reason to the given exception 528s raises an exception if set more than once 528s defaults the reason to a StandardError 528s returns self 528s #try_set 528s when unset 528s assigns the value 528s assigns the block result 528s returns true 528s when fulfilled 528s does not assign the value 528s does not assign the block result 528s returns false 528s when rejected 528s does not assign the value 528s does not assign the block result 528s has a nil value 528s returns false 528s it should behave like thread_arguments 528s passes an empty array when opts is not given 528s passes an empty array when opts is an empty hash 528s passes an empty array when there is no :args key 528s passes an empty array when the :args key has a nil value 528s passes a one-element array when the :args key has a non-array value 528s passes an array when when the :args key has an array value 528s passes the given array when the :args key has a complex array value 528s allows the given arguments array to be dereferenced 528s initializers 528s .fulfill 528s should return a Promise 528s should return a fulfilled Promise 528s should return a Promise with set value 528s .reject 528s should return a Promise 528s should return a rejected Promise 528s should return a Promise with set reason 528s .new 528s should return an unscheduled Promise 528s .execute 528s creates a new Promise 528s passes the block to the new Promise 528s calls #execute on the new Promise 528s #execute 528s unscheduled 529s sets the promise to :pending 529s posts the block given in construction 529s pending 529s sets the promise to :pending 529s does not post again 529s with children 529s when called on the root 530s should set all promises to :pending 530s when called on a child 531s should set all promises to :pending 531s when called on child after parent completes 531s sets state to :pending immediately 531s #then 531s returns a new promise when a block is passed 531s returns a new promise when a rescuer is passed 531s returns a new promise when a block and rescuer are passed 531s returns a new promise when a block, rescuer and executor are passed 531s supports setting the executor using a named parameter 531s should have block or rescuers 531s can be called more than once 531s unscheduled 531s returns a new promise 531s returns an unscheduled promise 531s pending 531s returns a new promise 531s returns a pending promise 531s fulfilled 531s returns a new Promise 531s notifies fulfillment to new child 531s rejected 531s returns a new Promise when :rejected 531s notifies rejection to new child 531s on_success 531s should have a block 531s returns a new promise 531s #rescue 531s returns a new promise 531s #flat_map 531s returns a promise 531s succeeds if both promises succeed 531s fails if the left promise fails 531s fails if the right promise fails 531s fails if the generating block fails 531s #zip 531s executes the returned Promise by default 531s executes the returned Promise when execute is true 531s does not execute the returned Promise when execute is false 531s allows setting executor for Promise chain 531s yields the results as an array 531s fails if one component fails 532s preserves ordering of the executed promises 532s .zip 532s executes the returned Promise by default 532s executes the returned Promise when execute is true 532s does not execute the returned Promise when execute is false 532s allows setting executor for Promise chain 532s yields the results as an array 532s fails if one component fails 532s preserves ordering of the executed promises 532s aggregators 532s .all? 532s returns a new Promise 532s does not execute the returned Promise 532s executes the #then condition when all components succeed 532s executes the #then condition when no promises are given 532s executes the #rescue handler if even one component fails 532s .any? 532s returns a new Promise 532s does not execute the returned Promise 532s executes the #then condition when any components succeed 532s executes the #then condition when no promises are given 532s executes the #rescue handler if all componenst fail 532s fulfillment 532s passes the result of each block to all its children 532s sets the promise value to the result if its block 532s sets the promise state to :fulfilled if the block completes 532s passes the last result through when a promise has no block 532s uses result as fulfillment value when a promise has no block 532s can manage long chain 532s #set 532s #can only be called on the root promise 532s triggers children 532s can be called with a block 532s #fail 532s can only be called on the root promise 532s rejects children 532s rejection 532s passes the reason to all its children 532s sets the promise value to the result if its block 532s sets the promise state to :rejected if the block completes 532s uses reason as rejection reason when a promise has no rescue callable 532s rejects on Exception 532s aliases 532s aliases #realized? for #fulfilled? 532s aliases #deref for #value 532s aliases #catch for #rescue 532s aliases #on_error for #rescue 532s 532s Concurrent::Promises 532s zip_futures_over 532s chain_resolvable 532s event 532s future 532s .future 532s executes 532s executes with args 532s .delay 532s is expected to eq 2 532s .schedule 532s scheduled execution 533s scheduled execution in graph 533s .event 533s is expected to equal true 533s .future without block 533s is expected to eq 0 533s .any_resolved 533s continues on first result 533s .any_fulfilled 533s continues on first result 533s treats a resolved Event as a fulfilled Future 533s treats a pending Event as a pending Future 533s .zip 533s waits for all results 533s when a future raises an error 533s raises a concurrent error 533s when deeply nested 533s raises the original error 533s .zip_events 533s waits for all and returns event 533s .rejected_future 533s raises the correct error when passed an unraised error 533s Future 533s has sync and async callbacks 533s wait supports setting timeout 533s wait! supports setting timeout 533s value supports setting timeout 533s value! supports setting timeout 533s reason supports setting timeout 533s result supports setting timeout 533s chains 533s chains with correct arguments 533s constructs promise like tree 533s allows graphs 533s resolves future when Exception raised 533s runs 533s can be risen when rejected 533s #flat 533s returns value of inner future 533s propagates rejection of inner future 533s it propagates rejection of the future which was suppose to provide inner future 533s rejects if inner value is not a future 533s accepts inner event 533s propagates requests for values to delayed futures 533s has shortcuts 533s ResolvableEvent 533s #wait 533s #resolve(raise_on_reassign = true) 533s #resolve(raise_on_reassign = false) 533s reservation 533s ResolvableFuture 533s #wait 533s #wait! 533s #value 533s #value! 533s #reason 533s result 533s reservation 533s atomic_resolution 533s interoperability 533s with erlang actor 533s with channel 533s value! 533s does not return spuriously with timeout 533s does not return spuriously without timeout 533s 533s Concurrent::ScheduledTask 533s behavior 533s it should behave like obligation 533s #state 533s is :pending when first created 533s is :fulfilled when the handler completes 533s is :rejected when the handler raises an exception 533s #value 533s returns nil when reaching the optional timeout value 533s returns immediately when timeout is zero 534s returns the value when fulfilled before timeout 534s returns nil when timeout reached 534s is nil when :pending 535s blocks the caller when :pending and timeout is nil 535s is nil when :rejected 535s is set to the return value of the block when :fulfilled 535s #reason 535s is nil when :pending 535s is nil when :fulfilled 535s is set to error object of the exception when :rejected 535s it should behave like dereferenceable 535s defaults :dup_on_deref to false 535s calls #dup when the :dup_on_deref option is true 535s defaults :freeze_on_deref to false 535s calls #freeze when the :freeze_on_deref option is true 535s defaults :copy_on_deref to nil 535s calls the block when the :copy_on_deref option is passed a proc 535s calls the :copy block first followed by #dup followed by #freeze 535s does not call #dup when #dup_on_deref is set and the value is nil 535s does not call #freeze when #freeze_on_deref is set and the value is nil 535s does not call the #copy_on_deref block when the value is nil 535s supports dereference flags with observers 535s it should behave like observable 535s #add_observer 535s adds an observer if called before first notification 535s adds an observer with :func if called before first notification 535s creates an observer from a block if called before first notification 535s raises an exception if not given an observer or a block 535s raises an exception when given both an observer and a block 535s #delete_observer 535s deletes the given observer if called before first notification 535s returns the removed observer if found in the observer set 535s returns the given observer even when not found in the observer set 535s #delete_observers 535s deletes all observers when called before first notification 535s returns self 535s #count_observers 535s returns zero for a new observable object 535s returns a count of registered observers if called before first notification 535s returns zero after #delete_observers has been called 535s first notification 536s calls the #update method on all observers without a specified :func 536s calls the appropriate function on all observers which specified a :func 536s calls the proc for all observers added as a block 537s does not notify any observers removed with #delete_observer 538s does not notify any observers after #delete_observers called 538s #initialize 538s accepts a number of seconds (from now) as the schedule time 538s raises an exception when seconds is less than zero 538s raises an exception when no block given 538s sets the initial state to :unscheduled 538s instance #execute 538s does nothing unless the state is :unscheduled 538s sets the sate to :pending 538s returns self 538s class #execute 538s creates a new ScheduledTask 539s passes the block to the new ScheduledTask 539s calls #execute on the new ScheduledTask 539s execution 539s passes :args from the options to the block 539s uses the :executor from the options 539s uses the :timer_set from the options 539s sets the state to :processing when the task is running 539s #cancel 539s returns false if the task has already been performed 539s returns false if the task is already in progress 539s cancels the task if it has not yet scheduled 540s cancels the task if it has not yet started 540s returns true on success 540s sets the reason to CancelledOperationError when cancelled 540s observation 540s returns true for an observer added while :unscheduled 540s returns true for an observer added while :pending 540s returns true for an observer added while :processing 540s notifies all observers on fulfillment 540s notifies all observers on rejection 540s 540s Concurrent::Set 540s .[] 540s when initializing with no arguments 540s is expected to be empty 540s when initializing with arguments 540s creates a set with the given objects 540s .new 540s when initializing with no arguments 540s is expected to be empty 540s when initializing with an enumerable object 540s creates a set with the contents of the enumerable object 540s when initializing with a block argument 540s creates a set with the contents of the enumerable object 540s concurrency 541s #add and #delete 541s force context switch 542s /tmp/autopkgtest.V4055I/build.adT/src/spec/concurrent/struct_shared.rb:15: warning: already initialized constant ValidClassName2 542s #each 542s 542s Concurrent::SettableStruct 542s it should behave like struct 542s definition 542s registers the class when given a class name 542s registers the class when given a class name which is defined in the ancestors 542s creates an anonymous class when given at least one member 542s raises an exception when given an invalid class name 542s defines a getter for each member 542s raises an exception when given no members 542s raise an exception when given an invalid member 542s evalues a given block against the new class 542s construction 542s sets all absent members to nil 542s sets all given members in order 542s raises an exception when extra members are given 542s properties 542s #length 542s returns the number of struct members 542s #members 542s returns the struct members as an array of symbols 542s returns a different object than the array passed at definition 542s #size 542s returns the number of struct members 542s #values 542s returns the values of the struct as an array in order 542s #values_at 542s returns the value at the given offset 542s returns the values at multiple given offsets 542s returns values at offsets in a given range 542s returns values for multiple ranges 542s returns values for ranges and offsets 542s accessors 542s #[member] 542s retrieves the value when given a valid symbol member 542s retrieves the value when given a valid string member 542s raises an exception when given a non-existent symbol member 542s raises an exception when given a non-existent string member 542s #[index] 542s retrieves the value when given a valid index 542s raises an exception when given an out-of-bound index 542s comparison 542s #== 542s returns true if other has same struct subclass and equal values 542s returns false if other has different struct subclass 542s returns false if other has different values 542s #!= 542s returns false if other has same struct subclass and equal values 542s returns true if other has different struct subclass 542s returns true if other has different values 542s enumeration 542s #each 542s yields the value of each struct member in order 542s returns an enumerator when no block is given 542s #each_pair 542s yields the name and value of each struct member in order 542s returns an enumerator when no block is given 542s #select 542s yields each value 542s returns an Array with the values from for which the block returns true 542s returns an enumerator when no block is given 542s conversion 542s #to_s 542s includes the name of the class when registered 542s includes the names of all members 542s includes all values 542s returns the same string as #inspect 542s #to_a 542s returns the to_a for this struct as an array 542s #to_h 542s returns a Hash containing the names and values in order 542s copy 542s #dup 542s shallowly duplicates all members along with the struct 542s discards frozen state of the struct 542s retains frozen state of members 542s discards singleton class 542s copies the singleton class of members 542s #clone 542s shallowly clones all members along with the struct 542s retains frozen state 542s copies the singleton class 542s copies the singleton class of members 542s it should behave like mergeable_struct 542s #merge 542s updates all members with the new values from a given hash 542s calls the given block for each key in `other` 542s retains the value for all members not without values in the given hash 542s raises an exception when given a hash with members not in the struct 542s returns a new object 542s definition 542s defines a setter for each member 542s #[member]= 542s sets the value when given a valid symbol member 542s sets the value when given a valid string member 542s raises an exception when given a non-existent symbol member 542s raises an exception when given a non-existent string member 542s raises an exception when given a symbol member that has already been set 542s raises an exception when given a string member that has already been set 542s #[index]= 542s sets the value when given a valid index 542s raises an exception when given an out-of-bound index 542s raises an exception when given an index that has already been set 542s synchronization 542s protects #values 542s protects #values_at 542s protects #[index] 542s protects #[member] 542s protects getter methods 542s protects #[index]= 542s protects #[member]= 542s protects getter methods 542s protects #to_s 542s protects #inspect 542s protects #to_h 542s protects #merge 542s protects #== 542s protects #each 542s protects #each_pair 542s protects #select 542s protects #initialize_copy 542s copy 542s #dup 542s retains settability of members 542s #clone 542s retains settability of members 542s 542s Concurrent::Synchronization 542s Concurrent::Synchronization::Object 542s does not ensure visibility when not needed 542s does ensure visibility when specified 542s does ensure visibility when specified in a parent 542s does ensure visibility once when specified in child again 542s it should behave like attr_volatile 542s older writes are always visible 542s Concurrent::Synchronization::LockableObject 542s final field always visible 542s #wait 542s puts the current thread to sleep 542s allows the sleeping thread to be killed 542s releases the lock on the current object 542s can be called from within a #synchronize block 542s #synchronize 542s allows only one thread to execute count 542s signaling 542s for now pending, tested pretty well by Event (PENDING: Not yet implemented) 542s it should behave like attr_volatile 542s older writes are always visible 542s Concurrent::Synchronization::Volatile module 542s it should behave like attr_volatile 542s older writes are always visible 542s attr_atomic 542s is expected to be == b 542s 542s Concurrent::SynchronizedDelegator 542s wraps array 542s synchronizes access 542s synchronizes access with block 542s 542s Concurrent 542s Throttle 542s acquiring 542s #to_s 542s #on 543s capacity limited 543s 543s Concurrent::TimerTask 543s dereferenceable 543s it should behave like dereferenceable 543s defaults :dup_on_deref to false 543s calls #dup when the :dup_on_deref option is true 544s defaults :freeze_on_deref to false 544s calls #freeze when the :freeze_on_deref option is true 544s defaults :copy_on_deref to nil 544s calls the block when the :copy_on_deref option is passed a proc 544s calls the :copy block first followed by #dup followed by #freeze 544s does not call #dup when #dup_on_deref is set and the value is nil 545s does not call #freeze when #freeze_on_deref is set and the value is nil 545s does not call the #copy_on_deref block when the value is nil 545s supports dereference flags with observers 545s observable 545s it should behave like observable 545s #add_observer 545s adds an observer if called before first notification 545s adds an observer with :func if called before first notification 545s creates an observer from a block if called before first notification 545s raises an exception if not given an observer or a block 545s raises an exception when given both an observer and a block 545s #delete_observer 545s deletes the given observer if called before first notification 545s returns the removed observer if found in the observer set 545s returns the given observer even when not found in the observer set 545s #delete_observers 545s deletes all observers when called before first notification 545s returns self 545s #count_observers 545s returns zero for a new observable object 545s returns a count of registered observers if called before first notification 545s returns zero after #delete_observers has been called 545s first notification 545s calls the #update method on all observers without a specified :func 545s calls the appropriate function on all observers which specified a :func 546s calls the proc for all observers added as a block 547s does not notify any observers removed with #delete_observer 548s does not notify any observers after #delete_observers called 548s created with #new 548s #initialize 548s raises an exception if no block given 548s raises an exception if :execution_interval is not greater than zero 548s raises an exception if :execution_interval is not an integer 548s uses the default execution interval when no interval is given 548s uses the given execution interval 548s raises an exception if :interval_type is not a valid value 548s uses the default :interval_type when no type is given 548s uses the given interval type 548s #kill 548s returns true on success 548s #shutdown 548s returns true on success 548s arguments 548s TimeTask timeouts are now ignored as these were not able to be implemented correctly 548s TimeTask timeouts are now ignored as these were not able to be implemented correctly 548s raises an exception if no block given 548s #execution_interval is writeable 548s raises on invalid interval_type 548s #timeout_interval being written produces a warning 548s execution 548s runs the block immediately when the :run_now option is true 548s waits for :execution_interval seconds when the :run_now option is false 548s waits for :execution_interval seconds when the :run_now option is not given 548s passes a "self" reference to the block as the sole argument 548s uses the global executor by default 548s uses a custom executor when given 549s uses a fixed delay when set 549s uses a fixed rate when set 549s observation 549s notifies all observers on success 550s notifies all observers on error 550s 550s Concurrent::TVar 550s #initialize 550s accepts an initial value 550s #value 550s gets the value 550s #value= 550s sets the value 550s 550s #atomically 550s raises an exception when no block given 550s raises the same exception that was raised in Concurrent::atomically 550s retries on abort 550s commits writes if the transaction succeeds 550s undoes writes if the transaction is aborted 550s provides atomicity 550s nests 550s reflects transactional writes from within the same transaction 550s 550s #abort_transaction 550s raises an exception outside an #atomically block 550s 550s #leave_transaction 550s raises an exception outside an #atomically block 550s neither commits nor aborts a transaction 550s 550s #processor_count 550s retuns a positive integer 550s 550s #physical_processor_count 550s retuns a positive integer 550s 550s #cpu_quota 550s returns #compute_cpu_quota 550s returns nil if no quota is detected 550s returns nil if cgroups v2 sets no limit 550s returns a float if cgroups v2 sets a limit 550s returns nil if cgroups v1 sets no limit 550s returns nil if cgroups v1 and cpu.cfs_quota_us is -1 550s returns a float if cgroups v1 sets a limit 550s 550s #available_processor_count 550s returns #processor_count if #cpu_quota is nil 550s returns #processor_count if #cpu_quota is higher 550s returns #cpu_quota if #cpu_quota is lower than #processor_count 550s 550s #cpu_shares 550s returns a float when cgroups v2 sets a cpu.weight 550s returns a float if cgroups v1 sets a cpu.shares 550s 550s Finished in 4 minutes 16.3 seconds (files took 7.48 seconds to load) 550s 3009 examples, 0 failures, 17 pending 550s 551s autopkgtest [02:08:33]: test jruby: -----------------------] 551s autopkgtest [02:08:33]: test jruby: - - - - - - - - - - results - - - - - - - - - - 551s jruby PASS 551s autopkgtest [02:08:33]: @@@@@@@@@@@@@@@@@@@@ summary 551s ruby PASS 551s jruby PASS