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