0s autopkgtest [18:45:19]: starting date and time: 2025-03-15 18:45:19+0000 0s autopkgtest [18:45:19]: git checkout: 325255d2 Merge branch 'pin-any-arch' into 'ubuntu/production' 0s autopkgtest [18:45:19]: host juju-7f2275-prod-proposed-migration-environment-20; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.t1eyipvp/out --timeout-copy=6000 --setup-commands /home/ubuntu/autopkgtest-cloud/worker-config-production/setup-canonical.sh --apt-pocket=proposed=src:glibc --apt-upgrade ruby-concurrent --timeout-short=300 --timeout-copy=20000 --timeout-build=20000 --env=ADT_TEST_TRIGGERS=glibc/2.41-1ubuntu2 -- ssh -s /home/ubuntu/autopkgtest/ssh-setup/nova -- --flavor autopkgtest-s390x --security-groups autopkgtest-juju-7f2275-prod-proposed-migration-environment-20@bos03-s390x-3.secgroup --name adt-plucky-s390x-ruby-concurrent-20250315-184519-juju-7f2275-prod-proposed-migration-environment-20-08745540-1312-450f-b307-4e07409599ae --image adt/ubuntu-plucky-s390x-server --keyname testbed-juju-7f2275-prod-proposed-migration-environment-20 --net-id=net_prod-proposed-migration-s390x -e TERM=linux -e ''"'"'http_proxy=http://squid.internal:3128'"'"'' -e ''"'"'https_proxy=http://squid.internal:3128'"'"'' -e ''"'"'no_proxy=127.0.0.1,127.0.1.1,login.ubuntu.com,localhost,localdomain,novalocal,internal,archive.ubuntu.com,ports.ubuntu.com,security.ubuntu.com,ddebs.ubuntu.com,changelogs.ubuntu.com,keyserver.ubuntu.com,launchpadlibrarian.net,launchpadcontent.net,launchpad.net,10.24.0.0/24,keystone.ps5.canonical.com,objectstorage.prodstack5.canonical.com,radosgw.ps5.canonical.com'"'"'' --mirror=http://ftpmaster.internal/ubuntu/ 140s autopkgtest [18:47:39]: testbed dpkg architecture: s390x 140s autopkgtest [18:47:39]: testbed apt version: 2.9.33 140s autopkgtest [18:47:39]: @@@@@@@@@@@@@@@@@@@@ test bed setup 140s autopkgtest [18:47:39]: testbed release detected to be: None 141s autopkgtest [18:47:40]: updating testbed package index (apt update) 141s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [126 kB] 142s Hit:2 http://ftpmaster.internal/ubuntu plucky InRelease 142s Hit:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease 142s Hit:4 http://ftpmaster.internal/ubuntu plucky-security InRelease 142s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [99.7 kB] 142s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [379 kB] 142s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [15.8 kB] 142s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/main s390x Packages [113 kB] 142s Get:9 http://ftpmaster.internal/ubuntu plucky-proposed/main s390x c-n-f Metadata [1824 B] 142s Get:10 http://ftpmaster.internal/ubuntu plucky-proposed/restricted s390x c-n-f Metadata [116 B] 142s Get:11 http://ftpmaster.internal/ubuntu plucky-proposed/universe s390x Packages [320 kB] 142s Get:12 http://ftpmaster.internal/ubuntu plucky-proposed/universe s390x c-n-f Metadata [13.4 kB] 142s Get:13 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse s390x Packages [3776 B] 142s Get:14 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse s390x c-n-f Metadata [240 B] 143s Fetched 1073 kB in 1s (827 kB/s) 143s Reading package lists... 144s Reading package lists... 144s Building dependency tree... 144s Reading state information... 144s Calculating upgrade... 144s Calculating upgrade... 144s The following packages were automatically installed and are no longer required: 144s libnsl2 libpython3.12-minimal libpython3.12-stdlib libpython3.12t64 144s linux-headers-6.11.0-8 linux-headers-6.11.0-8-generic 144s linux-modules-6.11.0-8-generic linux-tools-6.11.0-8 144s linux-tools-6.11.0-8-generic 144s Use 'sudo apt autoremove' to remove them. 144s The following packages will be upgraded: 144s pinentry-curses python3-jinja2 strace 144s 3 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 144s Need to get 652 kB of archives. 144s After this operation, 27.6 kB of additional disk space will be used. 144s Get:1 http://ftpmaster.internal/ubuntu plucky/main s390x strace s390x 6.13+ds-1ubuntu1 [500 kB] 145s Get:2 http://ftpmaster.internal/ubuntu plucky/main s390x pinentry-curses s390x 1.3.1-2ubuntu3 [42.9 kB] 145s Get:3 http://ftpmaster.internal/ubuntu plucky/main s390x python3-jinja2 all 3.1.5-2ubuntu1 [109 kB] 145s Fetched 652 kB in 1s (795 kB/s) 145s (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 ... 81428 files and directories currently installed.) 145s Preparing to unpack .../strace_6.13+ds-1ubuntu1_s390x.deb ... 145s Unpacking strace (6.13+ds-1ubuntu1) over (6.11-0ubuntu1) ... 145s Preparing to unpack .../pinentry-curses_1.3.1-2ubuntu3_s390x.deb ... 145s Unpacking pinentry-curses (1.3.1-2ubuntu3) over (1.3.1-2ubuntu2) ... 145s Preparing to unpack .../python3-jinja2_3.1.5-2ubuntu1_all.deb ... 145s Unpacking python3-jinja2 (3.1.5-2ubuntu1) over (3.1.5-2) ... 145s Setting up pinentry-curses (1.3.1-2ubuntu3) ... 145s Setting up python3-jinja2 (3.1.5-2ubuntu1) ... 146s Setting up strace (6.13+ds-1ubuntu1) ... 146s Processing triggers for man-db (2.13.0-1) ... 146s Reading package lists... 146s Building dependency tree... 146s Reading state information... 146s Solving dependencies... 146s The following packages will be REMOVED: 146s libnsl2* libpython3.12-minimal* libpython3.12-stdlib* libpython3.12t64* 146s linux-headers-6.11.0-8* linux-headers-6.11.0-8-generic* 146s linux-modules-6.11.0-8-generic* linux-tools-6.11.0-8* 146s linux-tools-6.11.0-8-generic* 147s 0 upgraded, 0 newly installed, 9 to remove and 5 not upgraded. 147s After this operation, 167 MB disk space will be freed. 147s (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 ... 81428 files and directories currently installed.) 147s Removing linux-tools-6.11.0-8-generic (6.11.0-8.8) ... 147s Removing linux-tools-6.11.0-8 (6.11.0-8.8) ... 147s Removing libpython3.12t64:s390x (3.12.9-1) ... 147s Removing libpython3.12-stdlib:s390x (3.12.9-1) ... 147s Removing libnsl2:s390x (1.3.0-3build3) ... 147s Removing libpython3.12-minimal:s390x (3.12.9-1) ... 147s Removing linux-headers-6.11.0-8-generic (6.11.0-8.8) ... 147s Removing linux-headers-6.11.0-8 (6.11.0-8.8) ... 148s Removing linux-modules-6.11.0-8-generic (6.11.0-8.8) ... 148s Processing triggers for libc-bin (2.41-1ubuntu1) ... 148s (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 ... 56328 files and directories currently installed.) 148s Purging configuration files for libpython3.12-minimal:s390x (3.12.9-1) ... 148s Purging configuration files for linux-modules-6.11.0-8-generic (6.11.0-8.8) ... 148s autopkgtest [18:47:47]: upgrading testbed (apt dist-upgrade and autopurge) 148s Reading package lists... 148s Building dependency tree... 148s Reading state information... 148s Calculating upgrade...Starting pkgProblemResolver with broken count: 0 148s Starting 2 pkgProblemResolver with broken count: 0 148s Done 149s Entering ResolveByKeep 149s 149s Calculating upgrade... 149s The following packages will be upgraded: 149s libc-bin libc-dev-bin libc6 libc6-dev locales 149s 5 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 149s Need to get 9512 kB of archives. 149s After this operation, 8192 B of additional disk space will be used. 149s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed/main s390x libc6-dev s390x 2.41-1ubuntu2 [1678 kB] 150s Get:2 http://ftpmaster.internal/ubuntu plucky-proposed/main s390x libc-dev-bin s390x 2.41-1ubuntu2 [24.3 kB] 150s Get:3 http://ftpmaster.internal/ubuntu plucky-proposed/main s390x libc6 s390x 2.41-1ubuntu2 [2892 kB] 152s Get:4 http://ftpmaster.internal/ubuntu plucky-proposed/main s390x libc-bin s390x 2.41-1ubuntu2 [671 kB] 153s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/main s390x locales all 2.41-1ubuntu2 [4246 kB] 156s Preconfiguring packages ... 156s Fetched 9512 kB in 7s (1353 kB/s) 156s (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 ... 56326 files and directories currently installed.) 156s Preparing to unpack .../libc6-dev_2.41-1ubuntu2_s390x.deb ... 156s Unpacking libc6-dev:s390x (2.41-1ubuntu2) over (2.41-1ubuntu1) ... 156s Preparing to unpack .../libc-dev-bin_2.41-1ubuntu2_s390x.deb ... 156s Unpacking libc-dev-bin (2.41-1ubuntu2) over (2.41-1ubuntu1) ... 156s Preparing to unpack .../libc6_2.41-1ubuntu2_s390x.deb ... 156s Unpacking libc6:s390x (2.41-1ubuntu2) over (2.41-1ubuntu1) ... 156s Setting up libc6:s390x (2.41-1ubuntu2) ... 156s (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 ... 56326 files and directories currently installed.) 156s Preparing to unpack .../libc-bin_2.41-1ubuntu2_s390x.deb ... 156s Unpacking libc-bin (2.41-1ubuntu2) over (2.41-1ubuntu1) ... 156s Setting up libc-bin (2.41-1ubuntu2) ... 156s (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 ... 56326 files and directories currently installed.) 156s Preparing to unpack .../locales_2.41-1ubuntu2_all.deb ... 156s Unpacking locales (2.41-1ubuntu2) over (2.41-1ubuntu1) ... 157s Setting up locales (2.41-1ubuntu2) ... 157s Generating locales (this might take a while)... 158s en_US.UTF-8... done 158s Generation complete. 158s Setting up libc-dev-bin (2.41-1ubuntu2) ... 158s Setting up libc6-dev:s390x (2.41-1ubuntu2) ... 158s Processing triggers for man-db (2.13.0-1) ... 158s Processing triggers for systemd (257.3-1ubuntu3) ... 159s Reading package lists... 159s Building dependency tree... 159s Reading state information... 159s Starting pkgProblemResolver with broken count: 0 159s Starting 2 pkgProblemResolver with broken count: 0 159s Done 160s Solving dependencies... 160s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 160s autopkgtest [18:47:59]: rebooting testbed after setup commands that affected boot 179s autopkgtest [18:48:18]: testbed running kernel: Linux 6.14.0-10-generic #10-Ubuntu SMP Wed Mar 12 14:53:49 UTC 2025 181s autopkgtest [18:48:20]: @@@@@@@@@@@@@@@@@@@@ apt-source ruby-concurrent 183s Get:1 http://ftpmaster.internal/ubuntu plucky/universe ruby-concurrent 1.3.4-1 (dsc) [1707 B] 183s Get:2 http://ftpmaster.internal/ubuntu plucky/universe ruby-concurrent 1.3.4-1 (tar) [1005 kB] 183s Get:3 http://ftpmaster.internal/ubuntu plucky/universe ruby-concurrent 1.3.4-1 (diff) [6016 B] 183s gpgv: Signature made Tue Feb 4 18:01:40 2025 UTC 183s gpgv: using EDDSA key 84CFFDC21520F88306EC29D152699AB63F9F2BC3 183s gpgv: Can't check signature: No public key 183s dpkg-source: warning: cannot verify inline signature for ./ruby-concurrent_1.3.4-1.dsc: no acceptable signature found 184s autopkgtest [18:48:23]: testing package ruby-concurrent version 1.3.4-1 184s autopkgtest [18:48:23]: build not needed 187s autopkgtest [18:48:26]: test ruby: preparing testbed 187s Reading package lists... 187s Building dependency tree... 187s Reading state information... 187s Starting pkgProblemResolver with broken count: 0 187s Starting 2 pkgProblemResolver with broken count: 0 187s Done 188s The following NEW packages will be installed: 188s gem2deb-test-runner libruby libruby3.3 rake ruby ruby-concurrent 188s ruby-concurrent-ext ruby-did-you-mean ruby-diff-lcs ruby-minitest 188s ruby-net-telnet ruby-power-assert ruby-rspec ruby-rspec-core 188s ruby-rspec-expectations ruby-rspec-mocks ruby-rspec-support ruby-rubygems 188s ruby-sdbm ruby-test-unit ruby-timecop ruby-webrick ruby-xmlrpc ruby3.3 188s rubygems-integration 188s 0 upgraded, 25 newly installed, 0 to remove and 0 not upgraded. 188s Need to get 7273 kB of archives. 188s After this operation, 36.2 MB of additional disk space will be used. 188s Get:1 http://ftpmaster.internal/ubuntu plucky/main s390x rubygems-integration all 1.19 [5550 B] 188s Get:2 http://ftpmaster.internal/ubuntu plucky/main s390x ruby-did-you-mean all 1.6.3-2 [14.8 kB] 188s Get:3 http://ftpmaster.internal/ubuntu plucky/main s390x ruby-minitest all 5.25.4-2ubuntu1 [48.9 kB] 188s Get:4 http://ftpmaster.internal/ubuntu plucky/main s390x ruby-net-telnet all 0.2.0-1 [13.3 kB] 188s Get:5 http://ftpmaster.internal/ubuntu plucky/main s390x ruby-power-assert all 2.0.3-1 [12.0 kB] 188s Get:6 http://ftpmaster.internal/ubuntu plucky/main s390x ruby-test-unit all 3.6.2-1 [67.0 kB] 188s Get:7 http://ftpmaster.internal/ubuntu plucky/main s390x ruby-webrick all 1.8.1-1ubuntu1 [52.6 kB] 188s Get:8 http://ftpmaster.internal/ubuntu plucky/main s390x ruby-xmlrpc all 0.3.3-2 [24.8 kB] 188s Get:9 http://ftpmaster.internal/ubuntu plucky/main s390x libruby s390x 1:3.3~ubuntu3 [5038 B] 188s Get:10 http://ftpmaster.internal/ubuntu plucky/main s390x ruby-sdbm s390x 1.0.0-5build5 [16.3 kB] 188s Get:11 http://ftpmaster.internal/ubuntu plucky/main s390x libruby3.3 s390x 3.3.6-1.1ubuntu1 [5869 kB] 190s Get:12 http://ftpmaster.internal/ubuntu plucky/main s390x ruby3.3 s390x 3.3.6-1.1ubuntu1 [49.1 kB] 190s Get:13 http://ftpmaster.internal/ubuntu plucky/main s390x ruby-rubygems all 3.6.3-1 [332 kB] 190s Get:14 http://ftpmaster.internal/ubuntu plucky/main s390x ruby s390x 1:3.3~ubuntu3 [3618 B] 190s Get:15 http://ftpmaster.internal/ubuntu plucky/main s390x rake all 13.2.1-1 [45.8 kB] 190s Get:16 http://ftpmaster.internal/ubuntu plucky/universe s390x gem2deb-test-runner s390x 2.2.5 [18.3 kB] 191s Get:17 http://ftpmaster.internal/ubuntu plucky/universe s390x ruby-concurrent all 1.3.4-1 [283 kB] 191s Get:18 http://ftpmaster.internal/ubuntu plucky/universe s390x ruby-concurrent-ext s390x 1.3.4-1 [8950 B] 191s Get:19 http://ftpmaster.internal/ubuntu plucky/universe s390x ruby-diff-lcs all 1.5.1-1 [22.8 kB] 191s Get:20 http://ftpmaster.internal/ubuntu plucky/universe s390x ruby-rspec-support all 3.13.0c0e0m0s1-2 [29.2 kB] 191s Get:21 http://ftpmaster.internal/ubuntu plucky/universe s390x ruby-rspec-core all 3.13.0c0e0m0s1-2 [164 kB] 191s Get:22 http://ftpmaster.internal/ubuntu plucky/universe s390x ruby-rspec-expectations all 3.13.0c0e0m0s1-2 [89.8 kB] 191s Get:23 http://ftpmaster.internal/ubuntu plucky/universe s390x ruby-rspec-mocks all 3.13.0c0e0m0s1-2 [81.0 kB] 191s Get:24 http://ftpmaster.internal/ubuntu plucky/universe s390x ruby-rspec all 3.13.0c0e0m0s1-2 [3500 B] 191s Get:25 http://ftpmaster.internal/ubuntu plucky/universe s390x ruby-timecop all 0.9.10-1.1 [11.5 kB] 191s Fetched 7273 kB in 3s (2388 kB/s) 191s Selecting previously unselected package rubygems-integration. 191s (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 ... 56326 files and directories currently installed.) 191s Preparing to unpack .../00-rubygems-integration_1.19_all.deb ... 191s Unpacking rubygems-integration (1.19) ... 191s Selecting previously unselected package ruby-did-you-mean. 191s Preparing to unpack .../01-ruby-did-you-mean_1.6.3-2_all.deb ... 191s Unpacking ruby-did-you-mean (1.6.3-2) ... 191s Selecting previously unselected package ruby-minitest. 191s Preparing to unpack .../02-ruby-minitest_5.25.4-2ubuntu1_all.deb ... 191s Unpacking ruby-minitest (5.25.4-2ubuntu1) ... 191s Selecting previously unselected package ruby-net-telnet. 191s Preparing to unpack .../03-ruby-net-telnet_0.2.0-1_all.deb ... 191s Unpacking ruby-net-telnet (0.2.0-1) ... 191s Selecting previously unselected package ruby-power-assert. 191s Preparing to unpack .../04-ruby-power-assert_2.0.3-1_all.deb ... 191s Unpacking ruby-power-assert (2.0.3-1) ... 191s Selecting previously unselected package ruby-test-unit. 191s Preparing to unpack .../05-ruby-test-unit_3.6.2-1_all.deb ... 191s Unpacking ruby-test-unit (3.6.2-1) ... 191s Selecting previously unselected package ruby-webrick. 191s Preparing to unpack .../06-ruby-webrick_1.8.1-1ubuntu1_all.deb ... 191s Unpacking ruby-webrick (1.8.1-1ubuntu1) ... 191s Selecting previously unselected package ruby-xmlrpc. 191s Preparing to unpack .../07-ruby-xmlrpc_0.3.3-2_all.deb ... 191s Unpacking ruby-xmlrpc (0.3.3-2) ... 191s Selecting previously unselected package libruby:s390x. 191s Preparing to unpack .../08-libruby_1%3a3.3~ubuntu3_s390x.deb ... 191s Unpacking libruby:s390x (1:3.3~ubuntu3) ... 191s Selecting previously unselected package ruby-sdbm:s390x. 191s Preparing to unpack .../09-ruby-sdbm_1.0.0-5build5_s390x.deb ... 191s Unpacking ruby-sdbm:s390x (1.0.0-5build5) ... 191s Selecting previously unselected package libruby3.3:s390x. 191s Preparing to unpack .../10-libruby3.3_3.3.6-1.1ubuntu1_s390x.deb ... 191s Unpacking libruby3.3:s390x (3.3.6-1.1ubuntu1) ... 191s Selecting previously unselected package ruby3.3. 191s Preparing to unpack .../11-ruby3.3_3.3.6-1.1ubuntu1_s390x.deb ... 191s Unpacking ruby3.3 (3.3.6-1.1ubuntu1) ... 191s Selecting previously unselected package ruby-rubygems. 191s Preparing to unpack .../12-ruby-rubygems_3.6.3-1_all.deb ... 191s Unpacking ruby-rubygems (3.6.3-1) ... 191s Selecting previously unselected package ruby. 191s Preparing to unpack .../13-ruby_1%3a3.3~ubuntu3_s390x.deb ... 191s Unpacking ruby (1:3.3~ubuntu3) ... 191s Selecting previously unselected package rake. 191s Preparing to unpack .../14-rake_13.2.1-1_all.deb ... 191s Unpacking rake (13.2.1-1) ... 191s Selecting previously unselected package gem2deb-test-runner. 191s Preparing to unpack .../15-gem2deb-test-runner_2.2.5_s390x.deb ... 191s Unpacking gem2deb-test-runner (2.2.5) ... 191s Selecting previously unselected package ruby-concurrent. 191s Preparing to unpack .../16-ruby-concurrent_1.3.4-1_all.deb ... 191s Unpacking ruby-concurrent (1.3.4-1) ... 191s Selecting previously unselected package ruby-concurrent-ext. 191s Preparing to unpack .../17-ruby-concurrent-ext_1.3.4-1_s390x.deb ... 191s Unpacking ruby-concurrent-ext (1.3.4-1) ... 191s Selecting previously unselected package ruby-diff-lcs. 191s Preparing to unpack .../18-ruby-diff-lcs_1.5.1-1_all.deb ... 191s Unpacking ruby-diff-lcs (1.5.1-1) ... 191s Selecting previously unselected package ruby-rspec-support. 191s Preparing to unpack .../19-ruby-rspec-support_3.13.0c0e0m0s1-2_all.deb ... 191s Unpacking ruby-rspec-support (3.13.0c0e0m0s1-2) ... 191s Selecting previously unselected package ruby-rspec-core. 191s Preparing to unpack .../20-ruby-rspec-core_3.13.0c0e0m0s1-2_all.deb ... 191s Unpacking ruby-rspec-core (3.13.0c0e0m0s1-2) ... 191s Selecting previously unselected package ruby-rspec-expectations. 191s Preparing to unpack .../21-ruby-rspec-expectations_3.13.0c0e0m0s1-2_all.deb ... 191s Unpacking ruby-rspec-expectations (3.13.0c0e0m0s1-2) ... 191s Selecting previously unselected package ruby-rspec-mocks. 191s Preparing to unpack .../22-ruby-rspec-mocks_3.13.0c0e0m0s1-2_all.deb ... 191s Unpacking ruby-rspec-mocks (3.13.0c0e0m0s1-2) ... 191s Selecting previously unselected package ruby-rspec. 191s Preparing to unpack .../23-ruby-rspec_3.13.0c0e0m0s1-2_all.deb ... 191s Unpacking ruby-rspec (3.13.0c0e0m0s1-2) ... 191s Selecting previously unselected package ruby-timecop. 191s Preparing to unpack .../24-ruby-timecop_0.9.10-1.1_all.deb ... 191s Unpacking ruby-timecop (0.9.10-1.1) ... 191s Setting up ruby-power-assert (2.0.3-1) ... 191s Setting up rubygems-integration (1.19) ... 191s Setting up ruby-concurrent (1.3.4-1) ... 191s Setting up ruby-timecop (0.9.10-1.1) ... 191s Setting up ruby-minitest (5.25.4-2ubuntu1) ... 191s Setting up ruby-test-unit (3.6.2-1) ... 191s Setting up ruby-net-telnet (0.2.0-1) ... 191s Setting up ruby-rspec-support (3.13.0c0e0m0s1-2) ... 191s Setting up ruby-webrick (1.8.1-1ubuntu1) ... 191s Setting up ruby-did-you-mean (1.6.3-2) ... 191s Setting up ruby-xmlrpc (0.3.3-2) ... 191s Setting up rake (13.2.1-1) ... 191s Setting up ruby3.3 (3.3.6-1.1ubuntu1) ... 191s Setting up ruby-sdbm:s390x (1.0.0-5build5) ... 191s Setting up libruby3.3:s390x (3.3.6-1.1ubuntu1) ... 191s Setting up ruby-rubygems (3.6.3-1) ... 191s Setting up libruby:s390x (1:3.3~ubuntu3) ... 191s Setting up ruby (1:3.3~ubuntu3) ... 191s Setting up ruby-rspec-core (3.13.0c0e0m0s1-2) ... 191s Setting up ruby-diff-lcs (1.5.1-1) ... 191s Setting up gem2deb-test-runner (2.2.5) ... 191s Setting up ruby-concurrent-ext (1.3.4-1) ... 191s Setting up ruby-rspec-expectations (3.13.0c0e0m0s1-2) ... 191s Setting up ruby-rspec-mocks (3.13.0c0e0m0s1-2) ... 191s Setting up ruby-rspec (3.13.0c0e0m0s1-2) ... 191s Processing triggers for libc-bin (2.41-1ubuntu2) ... 191s Processing triggers for man-db (2.13.0-1) ... 193s autopkgtest [18:48:32]: 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 193s autopkgtest [18:48:32]: test ruby: [----------------------- 193s 193s ┌──────────────────────────────────────────────────────────────────────────────┐ 193s │ Run tests for ruby3.3 from debian/ruby-tests.rake │ 193s └──────────────────────────────────────────────────────────────────────────────┘ 193s 193s RUBYLIB=. GEM_PATH= ruby3.3 -S rake --rakelibdir /gem2deb-nonexistent -f debian/ruby-tests.rake 193s mv lib ./.gem2deb.lib 193s mv ext ./.gem2deb.ext 193s /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 194s Run options: exclude {:stress=>true} 194s 194s Randomized with seed 1 194s 194s Concurrent::IVar 194s #initialize 194s can set an initial value 194s does not have to set an initial value 194s can set an initial value with a block 194s does not set an initial value if you pass NULL 194s raises an exception if given both a value and a block 194s observation 194s notifies all observers on #set 194s deadlock avoidance 194s should notify observers outside mutex lock 194s should notify a new observer added after fulfillment outside lock 194s it should behave like ivar 194s initialization 194s sets the state to incomplete 194s it should behave like dereferenceable 194s does not call #freeze when #freeze_on_deref is set and the value is nil 194s defaults :copy_on_deref to nil 194s defaults :dup_on_deref to false 194s supports dereference flags with observers 194s calls #freeze when the :freeze_on_deref option is true 194s defaults :freeze_on_deref to false 194s does not call #dup when #dup_on_deref is set and the value is nil 194s calls #dup when the :dup_on_deref option is true 194s calls the block when the :copy_on_deref option is passed a proc 194s does not call the #copy_on_deref block when the value is nil 194s calls the :copy block first followed by #dup followed by #freeze 194s it should behave like obligation 194s #value 194s returns nil when reaching the optional timeout value 194s is nil when :pending 194s blocks the caller when :pending and timeout is nil 194s returns the value when fulfilled before timeout 194s is set to the return value of the block when :fulfilled 194s is nil when :rejected 194s returns nil when timeout reached 194s returns immediately when timeout is zero 194s #state 194s is :pending when first created 194s is :fulfilled when the handler completes 194s is :rejected when the handler raises an exception 194s #reason 194s is nil when :fulfilled 194s is set to error object of the exception when :rejected 194s is nil when :pending 194s it should behave like observable 194s #delete_observer 194s deletes the given observer if called before first notification 194s returns the given observer even when not found in the observer set 194s returns the removed observer if found in the observer set 194s #add_observer 194s raises an exception if not given an observer or a block 194s adds an observer if called before first notification 194s raises an exception when given both an observer and a block 194s creates an observer from a block if called before first notification 194s adds an observer with :func if called before first notification 194s first notification 195s does not notify any observers after #delete_observers called 195s calls the appropriate function on all observers which specified a :func 196s does not notify any observers removed with #delete_observer 196s calls the proc for all observers added as a block 196s calls the #update method on all observers without a specified :func 196s #count_observers 196s returns zero for a new observable object 196s returns a count of registered observers if called before first notification 196s returns zero after #delete_observers has been called 196s #delete_observers 196s deletes all observers when called before first notification 196s returns self 196s #set 196s raises an exception when given neither a value nor a block 196s raises an exception if set more than once 196s rejects when given a block which raises an exception 196s returns self 196s sets the state to be fulfilled 196s fulfils when given a block which executes successfully 196s raises an exception when given a value and a block 196s sets the value 196s #fail 196s sets the reason to the given exception 196s raises an exception if set more than once 196s sets the value to be nil 196s returns self 196s defaults the reason to a StandardError 196s sets the state to be rejected 196s #try_set 196s when unset 196s assigns the value 196s assigns the block result 196s returns true 196s when rejected 196s does not assign the block result 196s returns false 196s has a nil value 196s does not assign the value 196s when fulfilled 196s does not assign the value 196s returns false 196s does not assign the block result 196s 196s Concurrent::LazyRegister 196s example at ./spec/concurrent/lazy_register_spec.rb:6 (PENDING: Not yet implemented) 196s 196s dataflow 196s #dataflow uses the global fast executor 196s #dataflow_with raises an exception when no executor given 196s raises an exception when no block given 196s accepts completed dependencies 196s doesn't raise exceptions from dependencies, unless called with ! 196s returns a Future 196s accepts zero or more dependencies 196s accepts uncompleted dependencies 196s #dataflow_with uses the given executor 196s raises an exception if any dependencies are not IVars 196s passes the values of dependencies into the block 196s if there is more than one 196s if there is just one 196s does not schedule the Future 196s if no dependencies are completed 196s if one dependency of two is completed 196s module function 196s can be called as Concurrent.dataflow and Concurrent.dataflow_with 196s counts already executed dependencies 196s if there is more than one 196s if there is just one 196s schedules the Future when all dependencies are available 196s if there is more than one 196s if there is just one 196s 196s Concurrent::MutableStruct 196s #[member]= 196s sets the value when given a valid string member 196s sets the value when given a valid symbol member 196s raises an exception when given a non-existent symbol member 196s raises an exception when given a non-existent string member 196s synchronization 196s protects #[member] 196s protects #values 196s protects #to_h 196s protects getter methods 196s protects #each_pair 196s protects getter methods 196s protects #inspect 196s protects #[member]= 196s protects #to_s 196s protects #values_at 196s protects #merge 196s protects #initialize_copy 196s protects #[index]= 196s protects #== 196s protects #each 196s protects #[index] 196s protects #select 196s definition 196s defines a setter for each member 196s copy 196s #clone 196s mutates only the copy 196s #dup 196s mutates only the copy 196s #[index]= 196s sets the value when given a valid index 196s raises an exception when given an out-of-bound index 196s it should behave like struct 196s properties 196s #members 196s returns a different object than the array passed at definition 196s returns the struct members as an array of symbols 196s #size 196s returns the number of struct members 196s #values 196s returns the values of the struct as an array in order 196s #values_at 196s returns values for ranges and offsets 196s returns the values at multiple given offsets 196s returns values at offsets in a given range 196s returns the value at the given offset 196s returns values for multiple ranges 196s #length 196s returns the number of struct members 196s comparison 196s #!= 196s returns false if other has same struct subclass and equal values 196s returns true if other has different values 196s returns true if other has different struct subclass 196s #== 196s returns true if other has same struct subclass and equal values 196s returns false if other has different struct subclass 196s returns false if other has different values 196s definition 196s registers the class when given a class name which is defined in the ancestors 196s raises an exception when given an invalid class name 196s raises an exception when given no members 196s raise an exception when given an invalid member 196s defines a getter for each member 196s registers the class when given a class name 196s evalues a given block against the new class 196s creates an anonymous class when given at least one member 196s conversion 196s #to_a 196s returns the to_a for this struct as an array 196s #to_s 196s returns the same string as #inspect 196s includes the name of the class when registered 196s includes the names of all members 196s includes all values 196s #to_h 196s returns a Hash containing the names and values in order 196s accessors 196s #[index] 196s retrieves the value when given a valid index 196s raises an exception when given an out-of-bound index 196s #[member] 196s retrieves the value when given a valid string member 196s raises an exception when given a non-existent string member 196s raises an exception when given a non-existent symbol member 196s retrieves the value when given a valid symbol member 196s enumeration 196s #select 196s yields each value 196s returns an enumerator when no block is given 196s returns an Array with the values from for which the block returns true 196s #each 196s returns an enumerator when no block is given 196s yields the value of each struct member in order 196s #each_pair 196s returns an enumerator when no block is given 196s yields the name and value of each struct member in order 196s construction 196s raises an exception when extra members are given 196s sets all absent members to nil 196s sets all given members in order 196s copy 196s #dup 196s discards singleton class 196s shallowly duplicates all members along with the struct 196s discards frozen state of the struct 196s retains frozen state of members 196s copies the singleton class of members 196s #clone 196s retains frozen state 196s copies the singleton class 196s copies the singleton class of members 196s shallowly clones all members along with the struct 196s it should behave like mergeable_struct 196s #merge 196s calls the given block for each key in `other` 196s raises an exception when given a hash with members not in the struct 196s returns a new object 196s retains the value for all members not without values in the given hash 196s updates all members with the new values from a given hash 196s 196s Concurrent 196s Cancellation 196s basic 196s is expected to be falsey 196s is expected to be truthy 196s #join 196s is expected to eq 2 196s is expected to be falsey 196s 196s #atomically 196s provides atomicity 196s raises an exception when no block given 196s reflects transactional writes from within the same transaction 196s undoes writes if the transaction is aborted 196s commits writes if the transaction succeeds 196s retries on abort 196s nests 196s raises the same exception that was raised in Concurrent::atomically 196s 196s Concurrent::Set 196s .[] 196s when initializing with arguments 196s creates a set with the given objects 196s when initializing with no arguments 196s is expected to be empty 196s .new 196s when initializing with no arguments 196s is expected to be empty 196s when initializing with an enumerable object 196s creates a set with the contents of the enumerable object 196s when initializing with a block argument 196s creates a set with the contents of the enumerable object 196s concurrency 196s #each 196s force context switch 197s #add and #delete 197s 197s Concurrent::Delay 197s #reconfigure 197s returns value of block used in reconfiguration 197s returns false when process completed? 197s #value 197s can be called twice 197s calls the block when #value is called 197s raises when called recursively 197s does not call the block before #value is called 197s only calls the block once no matter how often #value is called 197s behavior 197s it should behave like dereferenceable 197s calls the block when the :copy_on_deref option is passed a proc 197s defaults :copy_on_deref to nil 197s does not call #freeze when #freeze_on_deref is set and the value is nil 197s calls #dup when the :dup_on_deref option is true 197s does not call #dup when #dup_on_deref is set and the value is nil 197s defaults :dup_on_deref to false 197s supports dereference flags with observers 197s does not call the #copy_on_deref block when the value is nil 197s calls the :copy block first followed by #dup followed by #freeze 197s defaults :freeze_on_deref to false 197s calls #freeze when the :freeze_on_deref option is true 197s it should behave like obligation 197s #reason 197s is nil when :pending 197s is nil when :fulfilled 197s is set to error object of the exception when :rejected 197s #value 197s is nil when :rejected 197s is set to the return value of the block when :fulfilled 197s returns immediately when timeout is zero 197s blocks the caller when :pending and timeout is nil 197s returns nil when reaching the optional timeout value 197s returns nil when timeout reached 197s returns the value when fulfilled before timeout 197s is nil when :pending 197s #state 197s is :pending when first created 197s is :rejected when the handler raises an exception 197s is :fulfilled when the handler completes 197s #initialize 197s raises an exception when no block given 197s sets the state to :pending 197s 197s Concurrent::Promise 197s #rescue 197s returns a new promise 197s it should behave like thread_arguments 197s passes a one-element array when the :args key has a non-array value 197s passes an empty array when opts is not given 197s passes an empty array when the :args key has a nil value 197s passes an empty array when opts is an empty hash 197s allows the given arguments array to be dereferenced 197s passes the given array when the :args key has a complex array value 197s passes an array when when the :args key has an array value 197s passes an empty array when there is no :args key 197s aliases 197s aliases #realized? for #fulfilled? 197s aliases #catch for #rescue 197s aliases #deref for #value 197s aliases #on_error for #rescue 197s fulfillment 197s can manage long chain 197s sets the promise state to :fulfilled if the block completes 197s passes the result of each block to all its children 197s sets the promise value to the result if its block 197s uses result as fulfillment value when a promise has no block 197s passes the last result through when a promise has no block 197s #fail 197s can only be called on the root promise 197s rejects children 197s #set 197s triggers children 197s can be called with a block 197s #can only be called on the root promise 197s rejection 197s sets the promise value to the result if its block 197s passes the reason to all its children 197s rejects on Exception 197s sets the promise state to :rejected if the block completes 197s uses reason as rejection reason when a promise has no rescue callable 197s .zip 197s does not execute the returned Promise when execute is false 197s preserves ordering of the executed promises 197s executes the returned Promise by default 197s allows setting executor for Promise chain 197s fails if one component fails 197s executes the returned Promise when execute is true 197s yields the results as an array 197s aggregators 197s .any? 197s executes the #then condition when any components succeed 197s executes the #rescue handler if all componenst fail 197s does not execute the returned Promise 197s returns a new Promise 197s executes the #then condition when no promises are given 197s .all? 197s executes the #then condition when all components succeed 197s executes the #rescue handler if even one component fails 197s returns a new Promise 197s does not execute the returned Promise 197s executes the #then condition when no promises are given 197s initializers 197s .execute 197s passes the block to the new Promise 197s calls #execute on the new Promise 197s creates a new Promise 197s .fulfill 197s should return a Promise with set value 197s should return a fulfilled Promise 197s should return a Promise 197s .reject 197s should return a Promise with set reason 197s should return a Promise 197s should return a rejected Promise 197s .new 197s should return an unscheduled Promise 197s #then 197s should have block or rescuers 197s returns a new promise when a block and rescuer are passed 197s returns a new promise when a block is passed 197s returns a new promise when a rescuer is passed 197s can be called more than once 197s supports setting the executor using a named parameter 197s returns a new promise when a block, rescuer and executor are passed 197s fulfilled 197s returns a new Promise 197s notifies fulfillment to new child 197s rejected 197s returns a new Promise when :rejected 197s notifies rejection to new child 197s pending 197s returns a new promise 197s returns a pending promise 197s unscheduled 197s returns a new promise 197s returns an unscheduled promise 197s on_success 197s returns a new promise 197s should have a block 197s #execute 197s with children 197s when called on a child 198s should set all promises to :pending 198s when called on child after parent completes 198s sets state to :pending immediately 198s when called on the root 199s should set all promises to :pending 199s pending 199s does not post again 199s sets the promise to :pending 199s unscheduled 199s posts the block given in construction 200s sets the promise to :pending 200s #flat_map 200s returns a promise 200s fails if the left promise fails 200s fails if the right promise fails 200s fails if the generating block fails 200s succeeds if both promises succeed 200s #zip 200s allows setting executor for Promise chain 200s fails if one component fails 200s executes the returned Promise when execute is true 200s does not execute the returned Promise when execute is false 200s executes the returned Promise by default 200s preserves ordering of the executed promises 200s yields the results as an array 200s it should behave like ivar 200s #set 200s raises an exception if set more than once 200s returns self 200s raises an exception when given neither a value nor a block 200s raises an exception when given a value and a block 200s rejects when given a block which raises an exception 200s sets the state to be fulfilled 200s sets the value 200s fulfils when given a block which executes successfully 200s #try_set 200s when fulfilled 200s returns false 200s does not assign the value 200s does not assign the block result 200s when rejected 200s returns false 200s does not assign the block result 200s has a nil value 200s does not assign the value 200s when unset 200s returns true 200s assigns the value 200s assigns the block result 200s it should behave like observable 200s #add_observer 200s adds an observer with :func if called before first notification 200s raises an exception if not given an observer or a block 200s creates an observer from a block if called before first notification 200s adds an observer if called before first notification 200s raises an exception when given both an observer and a block 200s #count_observers 200s returns zero for a new observable object 200s returns a count of registered observers if called before first notification 200s returns zero after #delete_observers has been called 200s first notification 202s does not notify any observers removed with #delete_observer 203s does not notify any observers after #delete_observers called 203s calls the proc for all observers added as a block 203s calls the appropriate function on all observers which specified a :func 203s calls the #update method on all observers without a specified :func 203s #delete_observer 203s returns the given observer even when not found in the observer set 203s returns the removed observer if found in the observer set 203s deletes the given observer if called before first notification 203s #delete_observers 203s returns self 203s deletes all observers when called before first notification 203s initialization 203s sets the state to incomplete 203s #fail 203s sets the state to be rejected 203s sets the value to be nil 203s raises an exception if set more than once 203s defaults the reason to a StandardError 203s sets the reason to the given exception 203s returns self 203s it should behave like dereferenceable 203s calls the block when the :copy_on_deref option is passed a proc 203s defaults :copy_on_deref to nil 204s does not call #freeze when #freeze_on_deref is set and the value is nil 204s calls #dup when the :dup_on_deref option is true 204s supports dereference flags with observers 204s calls #freeze when the :freeze_on_deref option is true 204s calls the :copy block first followed by #dup followed by #freeze 205s defaults :dup_on_deref to false 205s defaults :freeze_on_deref to false 205s does not call #dup when #dup_on_deref is set and the value is nil 205s does not call the #copy_on_deref block when the value is nil 205s it should behave like obligation 205s #value 210s blocks the caller when :pending and timeout is nil 210s returns nil when reaching the optional timeout value 210s is set to the return value of the block when :fulfilled 210s is nil when :pending 210s returns nil when timeout reached 210s returns immediately when timeout is zero 210s is nil when :rejected 215s returns the value when fulfilled before timeout 215s #reason 215s is nil when :fulfilled 215s is nil when :pending 215s is set to error object of the exception when :rejected 215s #state 215s is :pending when first created 215s is :fulfilled when the handler completes 215s is :rejected when the handler raises an exception 215s 215s Concurrent::TVar 215s #value 215s gets the value 215s #initialize 215s accepts an initial value 215s #value= 215s sets the value 215s 215s Concurrent::Async 215s object creation 215s initializes synchronization 215s passes all args to the original constructor 215s delegates to the original constructor 215s passes a given block to the original constructor 215s #await 215s raises an error when calling a method that does not exist 215s raises an error when passing too few arguments 215s sets the reason when giving too many optional arguments 215s supports methods with blocks 215s sets the value on success 215s supports attribute accessors 215s returns a :fulfilled IVar 215s runs the future on the global executor 215s returns the existence of the method 215s raises an error when pasing too many arguments (arity >= 0) 215s sets the reason on failure 215s #validate_argc 215s raises an exception for too many args on a method with positive arity 215s raises an exception for too many args on a zero arity method 215s does not raise an exception for correct negative arity 215s raises an exception for too few args on a method with negative arity 215s raises an exception when the method is not defined 215s raises an exception for too few args on a method with positive arity 215s does not raise an exception for correct positive arity 215s does not raise an exception for correct zero arity 215s fork safety 215s does not hang when forked 215s locking 216s uses the same lock for both #async and #await 216s #async 216s sets the reason on failure 216s raises an error when calling a method that does not exist 216s supports methods with blocks 216s returns the existence of the method 216s raises an error when passing too few arguments 216s raises an error when pasing too many arguments (arity >= 0) 216s supports attribute accessors 216s runs the future on the global executor 216s returns a :pending IVar 216s sets the value on success 216s sets the reason when giving too many optional arguments 216s 216s Concurrent::MVar 216s #take 216s returns TIMEOUT on timeout on an empty MVar 216s waits for another thread to #put 216s returns the value on a full MVar 216s sets the MVar to empty 216s spurious wake ups 216s #put 216s returns TIMEOUT on timeout on a full MVar 217s waits for another thread to #take 217s #modify 217s waits for another thread to #put 218s returns TIMEOUT on timeout on an empty MVar 218s #take 218s waits for another thread to #put 219s returns TIMEOUT on timeout on an empty MVar 219s #empty? 219s returns false on a full MVar 219s returns true on an empty MVar 219s #set! 219s sets a full MVar to be full 219s returns EMPTY on an empty MVar 219s sets an empty MVar to be full 219s returns the original value on a full MVar 219s #modify! 219s raises an exception when no block given 219s modifies an empty MVar 219s returns the unmodified value 219s can be used to set an empty MVar to empty 219s can be used to set a full MVar to empty 219s modifies a full MVar 219s #initialize 219s accepts an initial value 219s accepts a nil initial value 219s accepts no initial value 219s accepts an empty initial value 219s #try_take! 219s returns EMPTY an empty MVar 219s returns the value on a full MVar 219s sets a full MVar to be empty 219s #borrow 219s returns TIMEOUT on timeout on an empty MVar 219s yields current value to the block and puts back value 219s returns the returned value of the block 219s puts back value even if an exception is raised 219s #put 219s returns the value 219s sets a new value on an empty MVar 219s waits for another thread to #take 219s sets the MVar to be empty 219s returns TIMEOUT on timeout on a full MVar 219s #full? 219s returns true on a full MVar 219s returns false on an empty MVar 219s #try_put! 219s returns false on a full MVar 219s returns true an empty MVar 219s sets an empty MVar to be full 219s #modify 219s waits for another thread to #put 219s returns TIMEOUT on timeout on an empty MVar 220s is atomic 220s raises an exception when no block given 220s modifies a full MVar 220s returns the unmodified value 220s behavior 220s it should behave like dereferenceable 220s calls the block when the :copy_on_deref option is passed a proc 220s defaults :copy_on_deref to nil 220s supports dereference flags with observers 220s does not call #freeze when #freeze_on_deref is set and the value is nil 220s defaults :dup_on_deref to false 220s does not call #dup when #dup_on_deref is set and the value is nil 220s calls the :copy block first followed by #dup followed by #freeze 220s defaults :freeze_on_deref to false 220s calls #freeze when the :freeze_on_deref option is true 220s does not call the #copy_on_deref block when the value is nil 220s calls #dup when the :dup_on_deref option is true 220s 220s configuration 220s global executors 220s creates a global fast executor 220s creates a global timer set 220s creates a global io executor 220s 220s Concurrent::TimerTask 220s execution 220s uses a custom executor when given 220s waits for :execution_interval seconds when the :run_now option is not given 221s uses a fixed rate when set 221s uses a fixed delay when set 221s passes a "self" reference to the block as the sole argument 221s uses the global executor by default 221s waits for :execution_interval seconds when the :run_now option is false 221s runs the block immediately when the :run_now option is true 221s arguments 221s TimeTask timeouts are now ignored as these were not able to be implemented correctly 221s #timeout_interval being written produces a warning 221s TimeTask timeouts are now ignored as these were not able to be implemented correctly 221s #execution_interval is writeable 221s raises an exception if no block given 221s raises on invalid interval_type 221s observation 221s notifies all observers on error 221s notifies all observers on success 221s dereferenceable 221s it should behave like dereferenceable 222s defaults :freeze_on_deref to false 222s defaults :copy_on_deref to nil 222s calls #freeze when the :freeze_on_deref option is true 222s does not call the #copy_on_deref block when the value is nil 222s does not call #freeze when #freeze_on_deref is set and the value is nil 222s does not call #dup when #dup_on_deref is set and the value is nil 223s calls the block when the :copy_on_deref option is passed a proc 223s defaults :dup_on_deref to false 223s calls the :copy block first followed by #dup followed by #freeze 223s calls #dup when the :dup_on_deref option is true 223s supports dereference flags with observers 223s created with #new 223s #kill 224s returns true on success 224s #shutdown 224s returns true on success 224s #initialize 224s uses the default execution interval when no interval is given 224s uses the given execution interval 224s raises an exception if :execution_interval is not greater than zero 224s uses the default :interval_type when no type is given 224s raises an exception if :execution_interval is not an integer 224s raises an exception if :interval_type is not a valid value 224s uses the given interval type 224s raises an exception if no block given 224s observable 224s it should behave like observable 224s #delete_observer 224s deletes the given observer if called before first notification 224s returns the given observer even when not found in the observer set 224s returns the removed observer if found in the observer set 224s #count_observers 224s returns zero after #delete_observers has been called 224s returns a count of registered observers if called before first notification 224s returns zero for a new observable object 224s #delete_observers 224s returns self 224s deletes all observers when called before first notification 224s first notification 224s calls the #update method on all observers without a specified :func 224s calls the appropriate function on all observers which specified a :func 224s calls the proc for all observers added as a block 225s does not notify any observers removed with #delete_observer 227s does not notify any observers after #delete_observers called 227s #add_observer 227s creates an observer from a block if called before first notification 227s raises an exception if not given an observer or a block 227s raises an exception when given both an observer and a block 227s adds an observer with :func if called before first notification 227s adds an observer if called before first notification 227s 227s Concurrent::Hash 227s .[] 227s when initializing with another hash as an argument 227s creates a hash with the results of calling #to_hash on the other array 227s creates a new hash 227s creates a hash with the same contents as the other hash 227s when initializing with an array of pairs 227s creates a hash using each pair as a (key, value) pair 227s when initializing with no arguments 227s is expected to be empty 227s when initializing with an even number of arguments 227s creates a hash using the odd position arguments as keys and even position arguments as values 227s .new 227s when initialized with a block 227s calls the block for non-existing keys 227s returns the results of calling the block for non-existing key 227s when initializing with no arguments 227s is expected to be empty 227s when initialized with a default object 227s uses the default object for non-existing keys 227s concurrency 227s is expected to be empty 227s 227s Concurrent::SettableStruct 227s it should behave like mergeable_struct 227s #merge 227s raises an exception when given a hash with members not in the struct 227s calls the given block for each key in `other` 227s retains the value for all members not without values in the given hash 227s updates all members with the new values from a given hash 227s returns a new object 227s definition 227s /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 227s /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 227s /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 227s /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 227s defines a setter for each member 227s #[index]= 227s raises an exception when given an out-of-bound index 227s raises an exception when given an index that has already been set 227s sets the value when given a valid index 227s it should behave like struct 227s construction 227s /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 227s /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 227s /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 227s /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 227s sets all absent members to nil 227s /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 227s /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 227s /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 227s /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 227s raises an exception when extra members are given 227s /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 227s /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 227s /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 227s /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 227s sets all given members in order 227s accessors 227s #[member] 227s raises an exception when given a non-existent string member 227s retrieves the value when given a valid string member 227s raises an exception when given a non-existent symbol member 227s retrieves the value when given a valid symbol member 227s #[index] 227s retrieves the value when given a valid index 227s raises an exception when given an out-of-bound index 227s definition 227s evalues a given block against the new class 227s raises an exception when given an invalid class name 227s raises an exception when given no members 227s creates an anonymous class when given at least one member 227s raise an exception when given an invalid member 227s registers the class when given a class name 227s /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 227s /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 227s /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 227s /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 227s defines a getter for each member 227s /tmp/autopkgtest.naGR5j/build.gQM/src/spec/concurrent/struct_shared.rb:15: warning: already initialized constant ValidClassName2 227s /tmp/autopkgtest.naGR5j/build.gQM/src/spec/concurrent/struct_shared.rb:15: warning: previous definition of ValidClassName2 was here 227s registers the class when given a class name which is defined in the ancestors 227s conversion 227s #to_h 227s returns a Hash containing the names and values in order 227s #to_a 227s returns the to_a for this struct as an array 227s #to_s 227s includes all values 227s returns the same string as #inspect 227s includes the name of the class when registered 227s includes the names of all members 227s copy 227s #clone 227s shallowly clones all members along with the struct 227s copies the singleton class 227s copies the singleton class of members 227s retains frozen state 227s #dup 227s shallowly duplicates all members along with the struct 227s retains frozen state of members 227s discards singleton class 227s discards frozen state of the struct 227s copies the singleton class of members 227s properties 227s #values_at 227s returns values at offsets in a given range 227s returns values for multiple ranges 227s returns the values at multiple given offsets 227s returns the value at the given offset 227s returns values for ranges and offsets 227s #size 227s returns the number of struct members 227s #members 227s returns the struct members as an array of symbols 227s returns a different object than the array passed at definition 227s #values 227s returns the values of the struct as an array in order 227s #length 227s returns the number of struct members 227s enumeration 227s #each_pair 227s returns an enumerator when no block is given 227s yields the name and value of each struct member in order 227s #select 227s yields each value 227s returns an Array with the values from for which the block returns true 227s returns an enumerator when no block is given 227s #each 227s yields the value of each struct member in order 227s returns an enumerator when no block is given 227s comparison 227s #!= 227s returns true if other has different values 227s returns true if other has different struct subclass 227s returns false if other has same struct subclass and equal values 227s #== 227s returns true if other has same struct subclass and equal values 227s returns false if other has different values 227s returns false if other has different struct subclass 227s #[member]= 227s raises an exception when given a string member that has already been set 227s sets the value when given a valid string member 227s raises an exception when given a non-existent string member 227s raises an exception when given a symbol member that has already been set 227s raises an exception when given a non-existent symbol member 227s sets the value when given a valid symbol member 227s synchronization 227s protects getter methods 227s protects #select 227s protects #each_pair 227s protects #inspect 227s protects #[index] 227s protects getter methods 227s protects #to_h 227s protects #initialize_copy 227s protects #[member]= 227s protects #each 227s protects #[index]= 227s protects #values 227s protects #== 227s protects #[member] 227s protects #values_at 227s protects #to_s 227s protects #merge 227s copy 227s #clone 227s retains settability of members 227s #dup 227s retains settability of members 227s 227s Concurrent::ImmutableStruct 227s it should behave like struct 227s accessors 227s #[member] 227s retrieves the value when given a valid string member 227s retrieves the value when given a valid symbol member 227s raises an exception when given a non-existent string member 227s raises an exception when given a non-existent symbol member 227s #[index] 227s retrieves the value when given a valid index 227s raises an exception when given an out-of-bound index 227s definition 227s evalues a given block against the new class 227s raise an exception when given an invalid member 227s defines a getter for each member 227s creates an anonymous class when given at least one member 227s /tmp/autopkgtest.naGR5j/build.gQM/src/spec/concurrent/struct_shared.rb:15: warning: already initialized constant ValidClassName2 227s /tmp/autopkgtest.naGR5j/build.gQM/src/spec/concurrent/struct_shared.rb:15: warning: previous definition of ValidClassName2 was here 227s registers the class when given a class name which is defined in the ancestors 227s raises an exception when given an invalid class name 227s raises an exception when given no members 227s registers the class when given a class name 227s conversion 227s #to_s 227s returns the same string as #inspect 227s includes the names of all members 227s includes the name of the class when registered 227s includes all values 227s #to_a 227s returns the to_a for this struct as an array 227s #to_h 227s returns a Hash containing the names and values in order 227s properties 227s #values_at 227s returns values for multiple ranges 227s returns the values at multiple given offsets 227s returns values for ranges and offsets 227s returns values at offsets in a given range 227s returns the value at the given offset 227s #members 227s returns the struct members as an array of symbols 227s returns a different object than the array passed at definition 227s #size 227s returns the number of struct members 227s #length 227s returns the number of struct members 227s #values 227s returns the values of the struct as an array in order 227s comparison 227s #!= 227s returns false if other has same struct subclass and equal values 227s returns true if other has different struct subclass 227s returns true if other has different values 227s #== 227s returns true if other has same struct subclass and equal values 227s returns false if other has different struct subclass 227s returns false if other has different values 227s copy 227s #dup 227s shallowly duplicates all members along with the struct 227s discards frozen state of the struct 227s retains frozen state of members 227s discards singleton class 227s copies the singleton class of members 227s #clone 227s copies the singleton class 227s retains frozen state 227s copies the singleton class of members 227s shallowly clones all members along with the struct 227s construction 227s raises an exception when extra members are given 227s sets all given members in order 227s sets all absent members to nil 227s enumeration 227s #each_pair 227s yields the name and value of each struct member in order 227s returns an enumerator when no block is given 227s #each 227s returns an enumerator when no block is given 227s yields the value of each struct member in order 227s #select 227s returns an enumerator when no block is given 227s yields each value 227s returns an Array with the values from for which the block returns true 227s it should behave like mergeable_struct 227s #merge 227s raises an exception when given a hash with members not in the struct 227s returns a new object 227s updates all members with the new values from a given hash 227s retains the value for all members not without values in the given hash 227s calls the given block for each key in `other` 227s 227s Concurrent::Array 227s concurrency 227s is expected to be empty 227s .new 227s when initializing with a size argument 227s creates an array with size elements set to nil 227s when initializing with a block argument 227s creates an array with size elements set to the default value 227s when initializing with a default value argument 227s creates an array with size elements set to the default value 227s when initializing with no arguments 227s is expected to be empty 227s when initializing with another array as an argument 227s creates an array with the results of calling #to_ary on the other array 227s creates an array with the same contents as the other array 227s creates a new array 227s .[] 227s when initializing with no arguments 227s is expected to be empty 227s when initializing with arguments 227s creates an array with the given objects 227s #slice 227s correctly initializes the monitor 227s 227s Concurrent::Channel 227s #next? 227s returns a just Maybe, true when there are multiple items 227s returns a nothing Maybe and false on failure 227s returns a just Maybe and true when there is one item 227s #take! 227s raises an exception on failure 227s takes the next item when not empty 227s #take? 227s returns a nothing Maybe on failure 227s returns a just Maybe on success 227s #next 227s returns , true when closed and last item 227s returns nil, false when closed and no items remain 227s returns , true when there are multiple items 227s returns nil, false when empty and closed 227s returns , true when there is one item 227s #take 227s returns nil on failure 227s takes the next item when not empty 227s #offer 227s returns true on success 227s rejects nil 227s rejects when the validator raises an exception 227s returns false on failure 227s rejects when the validator returns false 227s put? 227s returns a nothing Maybe on failure 227s rejects when the validator raises an exception 227s accepts nil 227s rejects when the validator returns false 227s returns a just Maybe on success 227s #poll? 227s returns a nothing Maybe immediately if no item is available 227s returns a just Maybe immediately if available 227s returns a nothing Maybe on failure 227s offer? 227s returns a just Maybe on success 227s accepts nil 227s rejects when the validator raises an exception 227s rejects when the validator returns false 227s returns a nothing Maybe on failure 227s offer! 227s returns true on success 227s rejects when the validator raises an exception 227s raises an exception on failure 227s rejects nil 227s rejects when the validator returns false 227s #poll! 227s raises an exception on failure 227s returns the next item immediately if available 227s raises an exception immediately if no item is available 227s #poll 227s returns nil on failure 227s returns nil immediately if no item is available 228s returns the next item immediately if available 228s .each 228s iterates until the channel is closed 228s raises and exception when no block is given 228s put! 228s raises an exception on failure 228s returns true on success 228s rejects when the validator raises an exception 228s rejects nil 228s rejects when the validator returns false 228s factories 228s is expected to receive new(10) 1 time 228s is expected to receive new(10) 1 time 228s goroutines 228s .go_via 228s raises an exception when no block is given 228s is expected to receive post(1, 2, 3) 1 time 228s .go 228s raises an exception when no block is given 228s is expected to receive post(1, 2, 3) 1 time 228s .go_loop 228s loops until the block returns false 228s raises an exception when no block is given 228s .go_loop_via 228s raises an exception when no block is given 228s loops until the block returns false 228s select 228s is expected to be truthy 228s raises an exception when no block is given 228s passes a selector to the block 228s #put 228s rejects when the validator returns false 228s rejects nil 228s rejects when the validator raises an exception 228s returns false on failure 228s returns true on success 228s initialization 228s raises an exception when the :buffer is invalid 228s raises an exception when :dropping given without :capacity 228s is :buffered when :capacity > 0 and no :buffer given 228s is :unbuffered when neither :buffer nore :capacity is given 228s raises an exception when :buffered given without :capacity 228s is :sliding when :sliding and :capacity > 0 228s raises an exception when :buffered and :capacity < 0 228s is :buffered when :buffered given 228s is :dropping when :dropping and :capacity > 0 228s raises an exception when :sliding given without :capacity 228s is :unbuffered when :buffered and capacity: 0 228s raises an exception when :sliding and :capacity < 1 228s raises an exception when both :unbuffered and :capacity are given 228s is :unbuffered when :unbuffered is given 228s uses the given buffer 228s raises an exception when :dropping and :capacity < 1 228s 228s Concurrent::Exchanger 228s class hierarchy 228s inherits from RubyExchanger 228s 228s Concurrent::ProcessingActor 228s is expected to eq "ab" 228s 228s Concurrent::Promises 228s zip_futures_over 228s .event 228s is expected to equal true 228s .zip_events 228s waits for all and returns event 228s Future 228s can be risen when rejected 228s has sync and async callbacks 228s chains with correct arguments 228s runs 228s value! supports setting timeout 228s result supports setting timeout 228s wait! supports setting timeout 228s chains 228s wait supports setting timeout 228s value supports setting timeout 228s constructs promise like tree 228s resolves future when Exception raised 228s allows graphs 228s reason supports setting timeout 228s #flat 228s it propagates rejection of the future which was suppose to provide inner future 228s propagates requests for values to delayed futures 228s rejects if inner value is not a future 228s accepts inner event 228s returns value of inner future 228s propagates rejection of inner future 228s has shortcuts 228s ResolvableEvent 228s #resolve(raise_on_reassign = true) 228s #wait 228s #resolve(raise_on_reassign = false) 228s reservation 228s .any_fulfilled 228s continues on first result 228s treats a resolved Event as a fulfilled Future 228s treats a pending Event as a pending Future 228s .rejected_future 228s raises the correct error when passed an unraised error 228s chain_resolvable 228s future 228s event 228s .future without block 228s is expected to eq 0 228s .zip 228s waits for all results 228s when a future raises an error 228s raises a concurrent error 228s when deeply nested 228s raises the original error 228s value! 228s does not return spuriously without timeout 228s does not return spuriously with timeout 228s .future 228s executes 228s executes with args 228s .any_resolved 228s continues on first result 228s .delay 228s is expected to eq 2 228s ResolvableFuture 228s #wait! 228s result 228s #wait 228s atomic_resolution 228s #value! 228s #value 228s reservation 228s #reason 228s interoperability 228s with erlang actor 228s with channel 228s with processing actor 228s .schedule 228s scheduled execution in graph 228s scheduled execution 228s 228s Concurrent::Atom 228s #compare_and_set 228s returns true if the current value matches 228s returns false if the current value does not match 228s rejects the new value if the current value does not match 228s returns false if the validator returns false 228s sets the new value if the current value matches 228s returns false if the validator raises an exception 228s rejects the new value if the validator returns false 228s rejects the new value if the validator raises an exception 228s #reset 228s returns the new value on success 228s returns the new value on success 228s returns the old value if the validator returns false 228s returns the old value if the validator raises an exception 228s sets the new value 228s #swap 228s rejects the new value if the validator returns false 228s rejects the new value if the validator raises an exception 228s reraises the exception from block 228s returns the new value on success 228s calls the block more than once if the value changes underneath 228s sets the new value to the result of the block 228s returns the old value if the validator returns false 228s raises an exception when no block is given 228s passes all arguments to the block 228s returns the old value if the validator raises an exception 228s passes the current value to the block 228s observable 228s behaves like observable 228s first notification 229s does not notify any observers removed with #delete_observer 229s calls the appropriate function on all observers which specified a :func 230s does not notify any observers after #delete_observers called 230s calls the proc for all observers added as a block 230s calls the #update method on all observers without a specified :func 230s #add_observer 230s creates an observer from a block if called before first notification 230s adds an observer with :func if called before first notification 230s adds an observer if called before first notification 230s raises an exception if not given an observer or a block 230s raises an exception when given both an observer and a block 230s #delete_observer 230s returns the given observer even when not found in the observer set 230s returns the removed observer if found in the observer set 230s deletes the given observer if called before first notification 230s #count_observers 230s returns a count of registered observers if called before first notification 230s returns zero after #delete_observers has been called 230s returns zero for a new observable object 230s #delete_observers 230s deletes all observers when called before first notification 230s returns self 230s construction 230s sets the initial value to the given value 230s 230s Concurrent::Future 230s it should behave like thread_arguments 230s passes an empty array when there is no :args key 230s allows the given arguments array to be dereferenced 230s passes an array when when the :args key has an array value 230s passes the given array when the :args key has a complex array value 230s passes an empty array when opts is not given 230s passes a one-element array when the :args key has a non-array value 230s passes an empty array when opts is an empty hash 230s passes an empty array when the :args key has a nil value 230s class #execute 230s calls #execute on the new Future 230s creates a new Future 230s passes the block to the new Future 230s #initialize 230s raises an exception when no block given 230s sets the state to :unscheduled 230s uses the executor given with the :executor option 230s uses the global io executor by default 230s cancellation 230s #wait_or_cancel 230s returns true if the operation completes before timeout 230s cancels the task on timeout 230s #cancel 230s fails to cancel the task once processing has begun 230s fails to cancel the task once processing is complete 230s cancels a pending task 230s instance #execute 230s posts the block given on construction 230s returns self 230s does nothing unless the state is :unscheduled 230s sets the state to :pending 230s fulfillment 230s sets the state to :rejected when the handler raises an exception 230s sets the value to nil when the handler raises Exception 230s sets the value to nil when the handler raises an exception 230s sets the reason to the Exception instance when the handler raises Exception 230s sets the value to the result of the handler 230s passes all arguments to handler 230s sets the state to :processing while the task is executing 230s sets the state to :fulfilled when the block completes 230s aliases 231s aliases #deref for #value 231s aliases #realized? for #fulfilled? 231s it should behave like ivar 231s #try_set 231s when unset 231s assigns the value 231s returns true 231s assigns the block result 231s when fulfilled 231s does not assign the block result 231s does not assign the value 231s returns false 231s when rejected 231s does not assign the value 231s has a nil value 231s does not assign the block result 231s returns false 231s #fail 231s sets the state to be rejected 231s defaults the reason to a StandardError 231s sets the value to be nil 231s sets the reason to the given exception 231s raises an exception if set more than once 231s returns self 231s it should behave like obligation 231s #reason 231s is nil when :fulfilled 231s is set to error object of the exception when :rejected 231s is nil when :pending 231s #value 231s returns nil when timeout reached 231s is nil when :pending 231s is nil when :rejected 231s returns nil when reaching the optional timeout value 236s returns the value when fulfilled before timeout 241s blocks the caller when :pending and timeout is nil 241s is set to the return value of the block when :fulfilled 241s returns immediately when timeout is zero 241s #state 241s is :fulfilled when the handler completes 241s is :pending when first created 241s is :rejected when the handler raises an exception 241s it should behave like dereferenceable 241s calls #dup when the :dup_on_deref option is true 241s supports dereference flags with observers 241s defaults :copy_on_deref to nil 241s does not call the #copy_on_deref block when the value is nil 242s calls the :copy block first followed by #dup followed by #freeze 242s does not call #freeze when #freeze_on_deref is set and the value is nil 242s calls #freeze when the :freeze_on_deref option is true 242s calls the block when the :copy_on_deref option is passed a proc 242s defaults :freeze_on_deref to false 243s does not call #dup when #dup_on_deref is set and the value is nil 243s defaults :dup_on_deref to false 243s it should behave like observable 243s #delete_observers 243s returns self 243s deletes all observers when called before first notification 243s #add_observer 243s adds an observer with :func if called before first notification 243s raises an exception if not given an observer or a block 243s creates an observer from a block if called before first notification 243s raises an exception when given both an observer and a block 243s adds an observer if called before first notification 243s #count_observers 243s returns zero after #delete_observers has been called 243s returns zero for a new observable object 243s returns a count of registered observers if called before first notification 243s first notification 243s calls the appropriate function on all observers which specified a :func 244s does not notify any observers removed with #delete_observer 244s calls the proc for all observers added as a block 245s does not notify any observers after #delete_observers called 245s calls the #update method on all observers without a specified :func 245s #delete_observer 245s returns the removed observer if found in the observer set 245s deletes the given observer if called before first notification 245s returns the given observer even when not found in the observer set 245s #set 245s fulfils when given a block which executes successfully 245s raises an exception when given neither a value nor a block 245s sets the state to be fulfilled 245s raises an exception if set more than once 245s raises an exception when given a value and a block 245s sets the value 245s returns self 245s rejects when given a block which raises an exception 245s initialization 245s sets the state to incomplete 245s observation 245s notifies an observer added after fulfillment 245s does not notify existing observers when a new observer added after fulfillment 245s notifies all observers on fulfillment 245s does not notify existing observers when a new observer added after rejection 245s notifies an observer added after rejection 245s notifies all observers on rejection 245s deadlock avoidance 245s should notify observers outside mutex lock 245s should notify a new observer added after fulfillment outside lock 245s 245s #leave_transaction 245s neither commits nor aborts a transaction 245s raises an exception outside an #atomically block 245s 245s Concurrent::Actor 245s forbids Immediate executor 245s links atomically 245s links 245s dead letter routing 245s logs by deafault 245s messaging 245s is expected to eq 4 245s termination 245s terminates with all its children 245s spawning 245s terminates on failed initialization and raises with spawn! 245s terminates on failed initialization 245s terminates on failed message processing 245s Actor#spawn! 245s spawn 245s executor should be global 245s returns arg 245s #name 245s is expected to eq "ping" 245s #path 245s is expected to eq "/ping" 245s #reference 245s is expected to eq # 245s #parent 245s is expected to eq # 245s context_spawn_by_hash 245s executor should be global 245s returns arg 245s #reference 245s is expected to eq # 245s #path 245s is expected to eq "/ping" 245s #parent 245s is expected to eq # 245s #name 245s is expected to eq "ping" 245s context_spawn 245s executor should be global 245s returns arg 245s #reference 245s is expected to eq # 245s #parent 245s is expected to eq # 245s #path 245s is expected to eq "/ping" 245s #name 245s is expected to eq "ping" 245s spawn_by_hash 245s returns arg 245s executor should be global 245s #name 245s is expected to eq "ping" 245s #parent 245s is expected to eq # 245s #path 245s is expected to eq "/ping" 245s #reference 245s is expected to eq # 245s pausing 245s pauses on error and resets 245s pauses on error and resumes 245s pauses on error and restarts 245s envelope 245s is expected to eq # 245s pool 245s supports asks 245s message redirecting 245s is evaluated by child 245s children 245s has children set after a child is created 245s 245s monotonic_time 245s behavior 245s returns a Float when unit = :float_second 245s returns seconds as float 245s returns an Integer when unit = :millisecond 245s returns an Integer when unit = :nanosecond 245s returns an Integer when unit = :microsecond 245s raises ArgumentError on unknown units 245s returns a Float when unit = :float_microsecond 245s returns a Float when unit = :float_millisecond 245s returns an Integer when unit = :second 245s 245s #abort_transaction 245s raises an exception outside an #atomically block 245s 245s Concurrent 245s Throttle 246s capacity limited 246s acquiring 246s #to_s 246s #on 246s 246s Concurrent::Maybe 246s comparison 246s something is less than a bigger value 246s nothing is not greater than nothing 246s something is not equal to nothing 246s something is not equal to a different value 246s something is greater than a smaller value 246s nothing is equal to nothing 246s something is equal to the same value 246s nothing is not less than nothing 246s construction 246s hides Maybe.new 246s Maybe.nothing 246s creates a new Nothing Maybe 246s creates a new error object when given nothing 246s creates a new error object with the given string 246s uses the given Error object 246s Maybe.just 246s creates a new Just Maybe 246s Maybe.from 246s creates a Just Maybe on success 246s passes all arguments to the block 246s sets the reason to the error object on exception 246s creates a Nothing Maybe on exception 246s sets the value to the block result on success 246s raises an exception when no block is given 246s when just 246s #nothing returns NONE 246s #fulfilled? returns true 246s #nothing? returns false 246s #reason returns NONE 246s #rejected? returns false 246s #just? returns true 246s #value returns the value 246s #just returns the value 246s when nothing 246s #nothing returns the raised error 246s #rejected? returns true 246s #just returns NONE 246s #value returns NONE 246s #nothing? returns true 246s #reason returns the raised error 246s #just? returns false 246s #fulfilled? returns false 246s #or 246s returns the other when nothing 246s returns the value when something 246s 246s Concurrent::Options 246s .executor_from_options 246s raises an exception when :executor is an unrecognized symbol 246s returns the global io executor when :executor is :io 246s returns an immediate executor when :executor is :immediate 246s returns the global fast executor when :executor is :fast 246s returns the given :executor 246s 246s Concurrent::RubyExchanger 248s Good: 9998, Bad (timeout): 2, Ugly: 0 248s stress test 248s behaves like exchanger 248s #try_exchange 248s behaves like exchanger method with indefinite timeout 248s blocks indefinitely 248s receives the other value 248s can be reused 248s behaves like exchanger method with finite timeout 248s can be reused 248s receives the other value 248s blocks until timeout 248s behaves like exchanger method cross-thread interactions 248s allows multiple firsts to cancel if necessary 248s when first, waits for a second 248s #exchange 248s behaves like exchanger method with finite timeout 249s blocks until timeout 249s can be reused 249s receives the other value 249s behaves like exchanger method cross-thread interactions 249s allows multiple firsts to cancel if necessary 249s when first, waits for a second 249s behaves like exchanger method with indefinite timeout 249s receives the other value 249s can be reused 249s blocks indefinitely 249s #exchange! 249s behaves like exchanger method with indefinite timeout 249s blocks indefinitely 249s receives the other value 249s can be reused 249s behaves like exchanger method cross-thread interactions 249s allows multiple firsts to cancel if necessary 249s when first, waits for a second 249s behaves like exchanger method with finite timeout 249s blocks until timeout 249s receives the other value 249s can be reused 249s 249s Concurrent::ScheduledTask 249s #initialize 249s raises an exception when no block given 249s sets the initial state to :unscheduled 249s raises an exception when seconds is less than zero 249s accepts a number of seconds (from now) as the schedule time 249s behavior 249s it should behave like obligation 249s #reason 249s is set to error object of the exception when :rejected 249s is nil when :pending 249s is nil when :fulfilled 249s #value 249s is set to the return value of the block when :fulfilled 249s returns nil when timeout reached 249s returns nil when reaching the optional timeout value 250s blocks the caller when :pending and timeout is nil 250s returns immediately when timeout is zero 251s returns the value when fulfilled before timeout 251s is nil when :pending 251s is nil when :rejected 251s #state 251s is :fulfilled when the handler completes 251s is :pending when first created 251s is :rejected when the handler raises an exception 251s it should behave like dereferenceable 251s calls #dup when the :dup_on_deref option is true 251s calls #freeze when the :freeze_on_deref option is true 251s defaults :freeze_on_deref to false 251s defaults :dup_on_deref to false 251s calls the :copy block first followed by #dup followed by #freeze 251s calls the block when the :copy_on_deref option is passed a proc 251s supports dereference flags with observers 251s does not call the #copy_on_deref block when the value is nil 251s does not call #freeze when #freeze_on_deref is set and the value is nil 251s does not call #dup when #dup_on_deref is set and the value is nil 251s defaults :copy_on_deref to nil 251s it should behave like observable 251s first notification 253s does not notify any observers after #delete_observers called 253s calls the appropriate function on all observers which specified a :func 253s calls the proc for all observers added as a block 254s does not notify any observers removed with #delete_observer 254s calls the #update method on all observers without a specified :func 254s #count_observers 254s returns zero after #delete_observers has been called 254s returns a count of registered observers if called before first notification 254s returns zero for a new observable object 254s #add_observer 254s creates an observer from a block if called before first notification 254s raises an exception if not given an observer or a block 254s adds an observer with :func if called before first notification 254s adds an observer if called before first notification 254s raises an exception when given both an observer and a block 254s #delete_observers 254s deletes all observers when called before first notification 254s returns self 254s #delete_observer 254s returns the removed observer if found in the observer set 254s deletes the given observer if called before first notification 254s returns the given observer even when not found in the observer set 254s class #execute 254s passes the block to the new ScheduledTask 254s creates a new ScheduledTask 254s calls #execute on the new ScheduledTask 254s instance #execute 254s returns self 254s sets the sate to :pending 254s does nothing unless the state is :unscheduled 254s execution 254s passes :args from the options to the block 254s uses the :executor from the options 254s uses the :timer_set from the options 255s sets the state to :processing when the task is running 255s observation 255s notifies all observers on rejection 255s notifies all observers on fulfillment 255s returns true for an observer added while :pending 255s returns true for an observer added while :unscheduled 255s returns true for an observer added while :processing 255s #cancel 255s returns true on success 255s returns false if the task has already been performed 255s cancels the task if it has not yet scheduled 256s sets the reason to CancelledOperationError when cancelled 256s cancels the task if it has not yet started 256s returns false if the task is already in progress 256s 256s Concurrent::Synchronization 256s Concurrent::Synchronization::Object 256s does not ensure visibility when not needed 256s does ensure visibility when specified in a parent 256s does ensure visibility once when specified in child again 256s does ensure visibility when specified 256s it should behave like attr_volatile 257s older writes are always visible 257s Concurrent::Synchronization::Volatile module 257s it should behave like attr_volatile 259s older writes are always visible 259s Concurrent::Synchronization::LockableObject 259s final field always visible 259s #synchronize 259s allows only one thread to execute count 259s #wait 259s allows the sleeping thread to be killed 259s releases the lock on the current object 259s can be called from within a #synchronize block 259s puts the current thread to sleep 259s it should behave like attr_volatile 260s older writes are always visible 260s signaling 260s for now pending, tested pretty well by Event (PENDING: Not yet implemented) 260s attr_atomic 260s is expected to be == b 260s 260s Concurrent::Map 260s #key? 260s is unfreezable 260s default_proc is called with the Concurrent::Map and the key after #dup 260s options validation 260s #delete_pair 260s #put_if_absent 261s collision resistance 261s concurrency 261s #values 261s default_proc is called with the Concurrent::Map and the key 261s #get_and_set 261s #size 261s #replace_if_exists 261s initial capacity options validation 261s #get_or_default 261s #each_key 261s #clear 261s retrieval 261s collision resistance with arrays 261s marshal dump does not work with default proc 261s #value? 261s #delete 261s default proc 261s #empty 261s #keys 261s marshal dump load 261s load factor options validation 261s updates dont block reads 261s #each_value 261s #inspect 261s falsy default proc 261s #key 261s #replace_pair 261s #dup,#clone 261s #compute 261s exception 261s common 261s with return 261s #compute_if_present 261s common 261s exception 261s with return 261s #fetch 261s common 261s falsy 261s with return 261s #merge_pair 261s exception 261s common 261s with return 261s #each 261s it should behave like collection_each 261s common 261s allows modification 261s pair iterator 261s when no block is given 261s returns an object which is enumerable 261s returns an enumerator 261s #each_pair 261s it should behave like collection_each 261s common 261s pair iterator 261s allows modification 261s when no block is given 261s returns an enumerator 261s returns an object which is enumerable 261s #compute_if_absent 261s atomicity 261s exception 261s works in default_proc 261s common 261s with return 261s #fetch_or_store 261s falsy 261s common 261s with return 261s 261s Concurrent::Agent 261s nested actions 261s occur in the order they ar post 261s work with immediate execution 261s initialization 261s sets #failed? to false 261s sets the initial error to nil 261s defaults the error mode to :continue when an error handler is given 261s defaults the error mode to :fail when no error handler is given 261s sets the error mode when given a valid value 261s sets the initial value 261s raises an error when given an invalid error mode 261s action processing 261s when validation raises an error the handler will be called 261s upon validation the new value will be set to the block return value 261s the given block will be passed any provided arguments 261s when validation raises an error the value will not change 261s the return value will be passed to the validator function 261s any recursive action dispatches will run after the value has been updated 261s when validation fails the handler will be called 261s when the action raises an error the validator will not be called 261s when the action raises an error the handler will be called 261s when validation returns false the value will not change 261s on success all observers will be notified 261s the given block will be passed the current value 261s when the action raises an error the value will not change 261s posting 261s with #send 261s returns false when #failed? 261s returns true when the job is post 261s posts to the global fast executor 261s does not wait for the action to process 261s with #send_off 261s does not wait for the action to process 261s returns true when the job is post 261s returns false when #failed? 261s posts to the global io executor 261s with #send! 261s returns true when the job is post 261s raises an error when #failed? 261s posts to the global fast executor 261s does not wait for the action to process 261s with #send_off! 261s does not wait for the action to process 261s posts to the global io executor 261s returns true when the job is post 261s raises an error when #failed? 261s with #send_via 261s returns true when the job is post 261s posts to the given executor 261s returns false when #failed? 261s with #<< 261s posts to the global io executor 261s returns self when #failed? 261s returns self when the job is post 261s does not wait for the action to process 261s with #send_via! 261s posts to the given executor 261s raises an error when #failed? 261s returns true when the job is post 261s with #post 261s posts to the global io executor 261s returns true when the job is post 261s does not wait for the action to process 261s returns false when #failed? 261s error handling 261s the agent will be passed to the handler 261s the exception will be passed to the handler 261s does not trigger observation 261s #restart 261s when #failed? 261s raises an error if the new value is not valid 261s does not trigger observation 261s sets #failed? to true 261s clears the error 261s does not clear the action queue when :clear_actions is false 261s resumes action processing if actions are enqueued 261s sets the new value 261s does not clear the action queue when :clear_actions is not given 262s removes all actions from the queue when :clear_actions is true 262s when not #failed? 262s raises an error 262s observable 262s behaves like observable 262s #delete_observer 262s deletes the given observer if called before first notification 262s returns the given observer even when not found in the observer set 262s returns the removed observer if found in the observer set 262s #count_observers 262s returns zero after #delete_observers has been called 262s returns zero for a new observable object 262s returns a count of registered observers if called before first notification 262s first notification 262s calls the appropriate function on all observers which specified a :func 263s does not notify any observers after #delete_observers called 263s calls the proc for all observers added as a block 264s does not notify any observers removed with #delete_observer 264s calls the #update method on all observers without a specified :func 264s #add_observer 264s raises an exception if not given an observer or a block 264s raises an exception when given both an observer and a block 264s adds an observer if called before first notification 264s adds an observer with :func if called before first notification 264s creates an observer from a block if called before first notification 264s #delete_observers 264s deletes all observers when called before first notification 264s returns self 264s waiting 264s with .await_for 264s returns true when all prior actions for all agents have processed 265s returns false on timeout 265s returns true when there are no pending actions 265s with #await_for 265s does not block on actions from other threads 265s returns true when there are no pending actions 266s returns false on timeout 266s returns false if restarted with :clear_actions true (PENDING: the timing is nearly impossible) 267s returns true when all prior actions have processed 267s with #await_for! 267s raises an error if restarted with :clear_actions true (PENDING: the timing is nearly impossible) 267s does not block on actions from other threads 268s raises an error on timeout 268s returns true when there are no pending actions 269s returns true when all prior actions have processed 269s with #await 270s blocks indefinitely 271s returns true when all prior actions have processed 271s returns self when there are no pending actions 271s does not block on actions from other threads 271s blocks forever if restarted with :clear_actions true (PENDING: the timing is nearly impossible) 271s with await_for! 271s raises an exception on timeout 271s returns true when all prior actions for all agents have processed 271s returns true when there are no pending actions 271s with .await 271s returns true when all prior actions on all agents have processed 271s with #wait 272s returns true when all prior actions have processed 273s blocks indefinitely when timeout is nil 273s does not block on actions from other threads 273s returns false when timeout is given and restarted with :clear_actions true (PENDING: the timing is nearly impossible) 273s returns true when there are no pending actions and a timeout is given 274s returns false on timeout 274s blocks forever when timeout is nil and restarted with :clear_actions true (PENDING: the timing is nearly impossible) 274s returns true when there are no pending actions and timeout is nil 274s the await job 275s does not trigger the error mode 275s does not change the value 275s waits for nested actions 275s does not trigger observers 275s validation 275s rejects the new value when the validator returns false 275s sets the error when the error mode is :fail and the validator raises an error 275s sets the error when the error mode is :fail and the validator returns false 275s does not set an error when the error mode is :continue and the validator returns false 275s does not trigger observation when validation fails 275s does not set an error when the error mode is :continue and the validator raises an error 275s sets the new value when the validator returns true 275s rejects the new value when the validator raises an error 275s error mode 275s :continue 275s does not block further action processing 275s does not set an error when the action raises an error 275s sets #failed? to false 275s does not set an error when the validator raises an error 275s does not set an error when the validator returns false 275s :fail 275s blocks all further action processing until a restart 275s sets the error when the validator raises an error 275s sets #failed? to true 275s sets the error when the action raises an error 275s sets the error when the validator returns false 275s 275s Finished in 0 seconds (files took 0.26437 seconds to load) 275s 1426 examples, 0 failures, 7 pending 275s 275s Randomized with seed 1 275s 275s mv ./.gem2deb.lib lib 275s mv ./.gem2deb.ext ext 276s autopkgtest [18:49:55]: test ruby: -----------------------] 276s autopkgtest [18:49:55]: test ruby: - - - - - - - - - - results - - - - - - - - - - 276s ruby PASS 276s autopkgtest [18:49:55]: test jruby: preparing testbed 436s autopkgtest [18:52:35]: testbed dpkg architecture: s390x 437s autopkgtest [18:52:36]: testbed apt version: 2.9.33 437s autopkgtest [18:52:36]: @@@@@@@@@@@@@@@@@@@@ test bed setup 437s autopkgtest [18:52:36]: testbed release detected to be: plucky 438s autopkgtest [18:52:37]: updating testbed package index (apt update) 438s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [126 kB] 438s Hit:2 http://ftpmaster.internal/ubuntu plucky InRelease 438s Hit:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease 439s Hit:4 http://ftpmaster.internal/ubuntu plucky-security InRelease 439s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [379 kB] 439s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [99.7 kB] 439s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [15.8 kB] 439s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/main s390x Packages [113 kB] 439s Get:9 http://ftpmaster.internal/ubuntu plucky-proposed/main s390x c-n-f Metadata [1824 B] 439s Get:10 http://ftpmaster.internal/ubuntu plucky-proposed/restricted s390x c-n-f Metadata [116 B] 439s Get:11 http://ftpmaster.internal/ubuntu plucky-proposed/universe s390x Packages [320 kB] 439s Get:12 http://ftpmaster.internal/ubuntu plucky-proposed/universe s390x c-n-f Metadata [13.4 kB] 439s Get:13 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse s390x Packages [3776 B] 439s Get:14 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse s390x c-n-f Metadata [240 B] 439s Fetched 1073 kB in 1s (786 kB/s) 440s Reading package lists... 441s Reading package lists... 441s Building dependency tree... 441s Reading state information... 441s Calculating upgrade... 441s Calculating upgrade... 441s The following packages were automatically installed and are no longer required: 441s libnsl2 libpython3.12-minimal libpython3.12-stdlib libpython3.12t64 441s linux-headers-6.11.0-8 linux-headers-6.11.0-8-generic 441s linux-modules-6.11.0-8-generic linux-tools-6.11.0-8 441s linux-tools-6.11.0-8-generic 441s Use 'sudo apt autoremove' to remove them. 441s The following packages will be upgraded: 441s pinentry-curses python3-jinja2 strace 441s 3 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 441s Need to get 652 kB of archives. 441s After this operation, 27.6 kB of additional disk space will be used. 441s Get:1 http://ftpmaster.internal/ubuntu plucky/main s390x strace s390x 6.13+ds-1ubuntu1 [500 kB] 442s Get:2 http://ftpmaster.internal/ubuntu plucky/main s390x pinentry-curses s390x 1.3.1-2ubuntu3 [42.9 kB] 442s Get:3 http://ftpmaster.internal/ubuntu plucky/main s390x python3-jinja2 all 3.1.5-2ubuntu1 [109 kB] 442s Fetched 652 kB in 1s (796 kB/s) 442s (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 ... 81428 files and directories currently installed.) 442s Preparing to unpack .../strace_6.13+ds-1ubuntu1_s390x.deb ... 442s Unpacking strace (6.13+ds-1ubuntu1) over (6.11-0ubuntu1) ... 442s Preparing to unpack .../pinentry-curses_1.3.1-2ubuntu3_s390x.deb ... 442s Unpacking pinentry-curses (1.3.1-2ubuntu3) over (1.3.1-2ubuntu2) ... 442s Preparing to unpack .../python3-jinja2_3.1.5-2ubuntu1_all.deb ... 442s Unpacking python3-jinja2 (3.1.5-2ubuntu1) over (3.1.5-2) ... 442s Setting up pinentry-curses (1.3.1-2ubuntu3) ... 442s Setting up python3-jinja2 (3.1.5-2ubuntu1) ... 443s Setting up strace (6.13+ds-1ubuntu1) ... 443s Processing triggers for man-db (2.13.0-1) ... 443s Reading package lists... 443s Building dependency tree... 443s Reading state information... 443s Solving dependencies... 443s The following packages will be REMOVED: 443s libnsl2* libpython3.12-minimal* libpython3.12-stdlib* libpython3.12t64* 443s linux-headers-6.11.0-8* linux-headers-6.11.0-8-generic* 443s linux-modules-6.11.0-8-generic* linux-tools-6.11.0-8* 443s linux-tools-6.11.0-8-generic* 444s 0 upgraded, 0 newly installed, 9 to remove and 5 not upgraded. 444s After this operation, 167 MB disk space will be freed. 444s (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 ... 81428 files and directories currently installed.) 444s Removing linux-tools-6.11.0-8-generic (6.11.0-8.8) ... 444s Removing linux-tools-6.11.0-8 (6.11.0-8.8) ... 444s Removing libpython3.12t64:s390x (3.12.9-1) ... 444s Removing libpython3.12-stdlib:s390x (3.12.9-1) ... 444s Removing libnsl2:s390x (1.3.0-3build3) ... 444s Removing libpython3.12-minimal:s390x (3.12.9-1) ... 444s Removing linux-headers-6.11.0-8-generic (6.11.0-8.8) ... 444s Removing linux-headers-6.11.0-8 (6.11.0-8.8) ... 445s Removing linux-modules-6.11.0-8-generic (6.11.0-8.8) ... 445s Processing triggers for libc-bin (2.41-1ubuntu1) ... 445s (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 ... 56328 files and directories currently installed.) 445s Purging configuration files for libpython3.12-minimal:s390x (3.12.9-1) ... 445s Purging configuration files for linux-modules-6.11.0-8-generic (6.11.0-8.8) ... 445s autopkgtest [18:52:44]: upgrading testbed (apt dist-upgrade and autopurge) 445s Reading package lists... 445s Building dependency tree... 445s Reading state information... 445s Calculating upgrade...Starting pkgProblemResolver with broken count: 0 445s Starting 2 pkgProblemResolver with broken count: 0 445s Done 446s Entering ResolveByKeep 446s 446s Calculating upgrade... 446s The following packages will be upgraded: 446s libc-bin libc-dev-bin libc6 libc6-dev locales 446s 5 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 446s Need to get 9512 kB of archives. 446s After this operation, 8192 B of additional disk space will be used. 446s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed/main s390x libc6-dev s390x 2.41-1ubuntu2 [1678 kB] 447s Get:2 http://ftpmaster.internal/ubuntu plucky-proposed/main s390x libc-dev-bin s390x 2.41-1ubuntu2 [24.3 kB] 447s Get:3 http://ftpmaster.internal/ubuntu plucky-proposed/main s390x libc6 s390x 2.41-1ubuntu2 [2892 kB] 449s Get:4 http://ftpmaster.internal/ubuntu plucky-proposed/main s390x libc-bin s390x 2.41-1ubuntu2 [671 kB] 450s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/main s390x locales all 2.41-1ubuntu2 [4246 kB] 453s Preconfiguring packages ... 453s Fetched 9512 kB in 7s (1450 kB/s) 453s (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 ... 56326 files and directories currently installed.) 453s Preparing to unpack .../libc6-dev_2.41-1ubuntu2_s390x.deb ... 453s Unpacking libc6-dev:s390x (2.41-1ubuntu2) over (2.41-1ubuntu1) ... 453s Preparing to unpack .../libc-dev-bin_2.41-1ubuntu2_s390x.deb ... 453s Unpacking libc-dev-bin (2.41-1ubuntu2) over (2.41-1ubuntu1) ... 453s Preparing to unpack .../libc6_2.41-1ubuntu2_s390x.deb ... 453s Unpacking libc6:s390x (2.41-1ubuntu2) over (2.41-1ubuntu1) ... 453s Setting up libc6:s390x (2.41-1ubuntu2) ... 453s (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 ... 56326 files and directories currently installed.) 453s Preparing to unpack .../libc-bin_2.41-1ubuntu2_s390x.deb ... 453s Unpacking libc-bin (2.41-1ubuntu2) over (2.41-1ubuntu1) ... 453s Setting up libc-bin (2.41-1ubuntu2) ... 453s (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 ... 56326 files and directories currently installed.) 453s Preparing to unpack .../locales_2.41-1ubuntu2_all.deb ... 453s Unpacking locales (2.41-1ubuntu2) over (2.41-1ubuntu1) ... 453s Setting up locales (2.41-1ubuntu2) ... 454s Generating locales (this might take a while)... 455s en_US.UTF-8... done 455s Generation complete. 455s Setting up libc-dev-bin (2.41-1ubuntu2) ... 455s Setting up libc6-dev:s390x (2.41-1ubuntu2) ... 455s Processing triggers for man-db (2.13.0-1) ... 455s Processing triggers for systemd (257.3-1ubuntu3) ... 456s Reading package lists... 456s Building dependency tree... 456s Reading state information... 456s Starting pkgProblemResolver with broken count: 0 456s Starting 2 pkgProblemResolver with broken count: 0 456s Done 456s Solving dependencies... 456s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 457s autopkgtest [18:52:56]: rebooting testbed after setup commands that affected boot 477s Reading package lists... 477s Building dependency tree... 477s Reading state information... 477s Starting pkgProblemResolver with broken count: 0 477s Starting 2 pkgProblemResolver with broken count: 0 477s Done 477s The following NEW packages will be installed: 477s ca-certificates-java default-jre-headless java-common jruby libasm-java 477s libbackport9-java libbcpkix-java libbcprov-java libbctls-java libbcutil-java 477s libdirgra-java libfixposix4t64 libhawtjni-runtime-java 477s libheadius-options-java libinvokebinder-java libjansi-native-java 477s libjansi1-java libjcodings-java libjffi-java libjffi-jni libjitescript-java 477s libjline2-java libjnr-constants-java libjnr-enxio-java libjnr-ffi-java 477s libjnr-netdb-java libjnr-posix-java libjnr-unixsocket-java 477s libjnr-x86asm-java libjoda-time-java libjpeg-turbo8 libjpeg8 477s libjruby-joni-java libjzlib-java liblcms2-2 libpcsclite1 libruby libruby3.3 477s libsnakeyaml-engine-java openjdk-21-jre-headless rake ruby ruby-concurrent 477s ruby-concurrent-ext ruby-did-you-mean ruby-diff-lcs ruby-minitest 477s ruby-net-telnet ruby-power-assert ruby-rspec ruby-rspec-core 477s ruby-rspec-expectations ruby-rspec-mocks ruby-rspec-support ruby-rubygems 477s ruby-sdbm ruby-test-unit ruby-timecop ruby-webrick ruby-xmlrpc ruby3.3 477s rubygems-integration 477s 0 upgraded, 62 newly installed, 0 to remove and 0 not upgraded. 477s Need to get 88.2 MB of archives. 477s After this operation, 281 MB of additional disk space will be used. 477s Get:1 http://ftpmaster.internal/ubuntu plucky/main s390x ca-certificates-java all 20240118 [11.6 kB] 477s Get:2 http://ftpmaster.internal/ubuntu plucky/main s390x java-common all 0.76 [6852 B] 477s Get:3 http://ftpmaster.internal/ubuntu plucky/main s390x liblcms2-2 s390x 2.16-2 [175 kB] 478s Get:4 http://ftpmaster.internal/ubuntu plucky/main s390x libjpeg-turbo8 s390x 2.1.5-3ubuntu2 [147 kB] 478s Get:5 http://ftpmaster.internal/ubuntu plucky/main s390x libjpeg8 s390x 8c-2ubuntu11 [2146 B] 478s Get:6 http://ftpmaster.internal/ubuntu plucky/main s390x libpcsclite1 s390x 2.3.1-1 [24.5 kB] 478s Get:7 http://ftpmaster.internal/ubuntu plucky/main s390x openjdk-21-jre-headless s390x 21.0.6+7-1 [43.8 MB] 511s Get:8 http://ftpmaster.internal/ubuntu plucky/main s390x default-jre-headless s390x 2:1.21-76 [3182 B] 511s Get:9 http://ftpmaster.internal/ubuntu plucky/universe s390x libasm-java all 9.7.1-1 [388 kB] 512s Get:10 http://ftpmaster.internal/ubuntu plucky/universe s390x libbackport9-java all 1.10-2 [13.2 kB] 512s Get:11 http://ftpmaster.internal/ubuntu plucky/universe s390x libbcprov-java all 1.77-1 [5227 kB] 517s Get:12 http://ftpmaster.internal/ubuntu plucky/universe s390x libbcutil-java all 1.77-1 [530 kB] 517s Get:13 http://ftpmaster.internal/ubuntu plucky/universe s390x libbcpkix-java all 1.77-1 [888 kB] 518s Get:14 http://ftpmaster.internal/ubuntu plucky/universe s390x libbctls-java all 1.77-1 [634 kB] 518s Get:15 http://ftpmaster.internal/ubuntu plucky/universe s390x libdirgra-java all 0.4-2 [21.6 kB] 518s Get:16 http://ftpmaster.internal/ubuntu plucky/universe s390x libfixposix4t64 s390x 1:0.5.1-1+nmu1.1build1 [17.1 kB] 518s Get:17 http://ftpmaster.internal/ubuntu plucky/universe s390x libheadius-options-java all 1.7-1 [18.2 kB] 518s Get:18 http://ftpmaster.internal/ubuntu plucky/universe s390x libinvokebinder-java all 1.14-1 [52.0 kB] 518s Get:19 http://ftpmaster.internal/ubuntu plucky/universe s390x libhawtjni-runtime-java all 1.18-1 [28.9 kB] 518s Get:20 http://ftpmaster.internal/ubuntu plucky/universe s390x libjansi-native-java all 1.8-2 [24.1 kB] 518s Get:21 http://ftpmaster.internal/ubuntu plucky/universe s390x libjansi1-java all 1.18-3.1 [56.2 kB] 519s Get:22 http://ftpmaster.internal/ubuntu plucky/universe s390x libjcodings-java all 1.0.58-1 [1474 kB] 520s Get:23 http://ftpmaster.internal/ubuntu plucky/universe s390x libjffi-jni s390x 1.3.13+ds-1 [30.7 kB] 520s Get:24 http://ftpmaster.internal/ubuntu plucky/universe s390x libjffi-java all 1.3.13+ds-1 [112 kB] 520s Get:25 http://ftpmaster.internal/ubuntu plucky/universe s390x libjitescript-java all 0.4.3-1 [24.4 kB] 520s Get:26 http://ftpmaster.internal/ubuntu plucky/universe s390x libjline2-java all 2.14.6-5 [150 kB] 520s Get:27 http://ftpmaster.internal/ubuntu plucky/universe s390x libjnr-constants-java all 0.10.4-2 [1397 kB] 521s Get:28 http://ftpmaster.internal/ubuntu plucky/universe s390x libjnr-x86asm-java all 1.0.2-6 [216 kB] 522s Get:29 http://ftpmaster.internal/ubuntu plucky/universe s390x libjnr-ffi-java all 2.2.15-2 [627 kB] 522s Get:30 http://ftpmaster.internal/ubuntu plucky/universe s390x libjnr-enxio-java all 0.32.16-1 [33.7 kB] 522s Get:31 http://ftpmaster.internal/ubuntu plucky/universe s390x libjnr-netdb-java all 1.2.0+dfsg-1 [58.7 kB] 522s Get:32 http://ftpmaster.internal/ubuntu plucky/universe s390x libjnr-posix-java all 3.1.18-1 [267 kB] 522s Get:33 http://ftpmaster.internal/ubuntu plucky/universe s390x libjnr-unixsocket-java all 0.38.21-2 [46.9 kB] 522s Get:34 http://ftpmaster.internal/ubuntu plucky/universe s390x libjoda-time-java all 2.10.14-1 [535 kB] 523s Get:35 http://ftpmaster.internal/ubuntu plucky/universe s390x libjruby-joni-java all 2.2.1-1 [222 kB] 523s Get:36 http://ftpmaster.internal/ubuntu plucky/universe s390x libjzlib-java all 1.1.3-3 [76.8 kB] 523s Get:37 http://ftpmaster.internal/ubuntu plucky/universe s390x libsnakeyaml-engine-java all 2.7+ds-3 [258 kB] 523s Get:38 http://ftpmaster.internal/ubuntu plucky/universe s390x jruby all 9.4.8.0+ds-2ubuntu1 [23.4 MB] 542s Get:39 http://ftpmaster.internal/ubuntu plucky/main s390x rubygems-integration all 1.19 [5550 B] 542s Get:40 http://ftpmaster.internal/ubuntu plucky/main s390x ruby3.3 s390x 3.3.6-1.1ubuntu1 [49.1 kB] 542s Get:41 http://ftpmaster.internal/ubuntu plucky/main s390x ruby-rubygems all 3.6.3-1 [332 kB] 542s Get:42 http://ftpmaster.internal/ubuntu plucky/main s390x ruby s390x 1:3.3~ubuntu3 [3618 B] 542s Get:43 http://ftpmaster.internal/ubuntu plucky/main s390x rake all 13.2.1-1 [45.8 kB] 542s Get:44 http://ftpmaster.internal/ubuntu plucky/main s390x ruby-did-you-mean all 1.6.3-2 [14.8 kB] 542s Get:45 http://ftpmaster.internal/ubuntu plucky/main s390x ruby-minitest all 5.25.4-2ubuntu1 [48.9 kB] 543s Get:46 http://ftpmaster.internal/ubuntu plucky/main s390x ruby-net-telnet all 0.2.0-1 [13.3 kB] 543s Get:47 http://ftpmaster.internal/ubuntu plucky/main s390x ruby-power-assert all 2.0.3-1 [12.0 kB] 543s Get:48 http://ftpmaster.internal/ubuntu plucky/main s390x ruby-test-unit all 3.6.2-1 [67.0 kB] 543s Get:49 http://ftpmaster.internal/ubuntu plucky/main s390x ruby-webrick all 1.8.1-1ubuntu1 [52.6 kB] 543s Get:50 http://ftpmaster.internal/ubuntu plucky/main s390x ruby-xmlrpc all 0.3.3-2 [24.8 kB] 543s Get:51 http://ftpmaster.internal/ubuntu plucky/main s390x ruby-sdbm s390x 1.0.0-5build5 [16.3 kB] 543s Get:52 http://ftpmaster.internal/ubuntu plucky/main s390x libruby3.3 s390x 3.3.6-1.1ubuntu1 [5869 kB] 547s Get:53 http://ftpmaster.internal/ubuntu plucky/main s390x libruby s390x 1:3.3~ubuntu3 [5038 B] 547s Get:54 http://ftpmaster.internal/ubuntu plucky/universe s390x ruby-concurrent all 1.3.4-1 [283 kB] 548s Get:55 http://ftpmaster.internal/ubuntu plucky/universe s390x ruby-concurrent-ext s390x 1.3.4-1 [8950 B] 548s Get:56 http://ftpmaster.internal/ubuntu plucky/universe s390x ruby-diff-lcs all 1.5.1-1 [22.8 kB] 548s Get:57 http://ftpmaster.internal/ubuntu plucky/universe s390x ruby-rspec-support all 3.13.0c0e0m0s1-2 [29.2 kB] 548s Get:58 http://ftpmaster.internal/ubuntu plucky/universe s390x ruby-rspec-core all 3.13.0c0e0m0s1-2 [164 kB] 548s Get:59 http://ftpmaster.internal/ubuntu plucky/universe s390x ruby-rspec-expectations all 3.13.0c0e0m0s1-2 [89.8 kB] 548s Get:60 http://ftpmaster.internal/ubuntu plucky/universe s390x ruby-rspec-mocks all 3.13.0c0e0m0s1-2 [81.0 kB] 548s Get:61 http://ftpmaster.internal/ubuntu plucky/universe s390x ruby-rspec all 3.13.0c0e0m0s1-2 [3500 B] 548s Get:62 http://ftpmaster.internal/ubuntu plucky/universe s390x ruby-timecop all 0.9.10-1.1 [11.5 kB] 548s Fetched 88.2 MB in 1min 11s (1249 kB/s) 548s Selecting previously unselected package ca-certificates-java. 548s (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 ... 56326 files and directories currently installed.) 548s Preparing to unpack .../00-ca-certificates-java_20240118_all.deb ... 548s Unpacking ca-certificates-java (20240118) ... 548s Selecting previously unselected package java-common. 548s Preparing to unpack .../01-java-common_0.76_all.deb ... 548s Unpacking java-common (0.76) ... 548s Selecting previously unselected package liblcms2-2:s390x. 548s Preparing to unpack .../02-liblcms2-2_2.16-2_s390x.deb ... 548s Unpacking liblcms2-2:s390x (2.16-2) ... 548s Selecting previously unselected package libjpeg-turbo8:s390x. 548s Preparing to unpack .../03-libjpeg-turbo8_2.1.5-3ubuntu2_s390x.deb ... 548s Unpacking libjpeg-turbo8:s390x (2.1.5-3ubuntu2) ... 548s Selecting previously unselected package libjpeg8:s390x. 548s Preparing to unpack .../04-libjpeg8_8c-2ubuntu11_s390x.deb ... 548s Unpacking libjpeg8:s390x (8c-2ubuntu11) ... 548s Selecting previously unselected package libpcsclite1:s390x. 548s Preparing to unpack .../05-libpcsclite1_2.3.1-1_s390x.deb ... 548s Unpacking libpcsclite1:s390x (2.3.1-1) ... 548s Selecting previously unselected package openjdk-21-jre-headless:s390x. 548s Preparing to unpack .../06-openjdk-21-jre-headless_21.0.6+7-1_s390x.deb ... 548s Unpacking openjdk-21-jre-headless:s390x (21.0.6+7-1) ... 549s Selecting previously unselected package default-jre-headless. 549s Preparing to unpack .../07-default-jre-headless_2%3a1.21-76_s390x.deb ... 549s Unpacking default-jre-headless (2:1.21-76) ... 549s Selecting previously unselected package libasm-java. 549s Preparing to unpack .../08-libasm-java_9.7.1-1_all.deb ... 549s Unpacking libasm-java (9.7.1-1) ... 549s Selecting previously unselected package libbackport9-java. 549s Preparing to unpack .../09-libbackport9-java_1.10-2_all.deb ... 549s Unpacking libbackport9-java (1.10-2) ... 549s Selecting previously unselected package libbcprov-java. 549s Preparing to unpack .../10-libbcprov-java_1.77-1_all.deb ... 549s Unpacking libbcprov-java (1.77-1) ... 549s Selecting previously unselected package libbcutil-java. 549s Preparing to unpack .../11-libbcutil-java_1.77-1_all.deb ... 549s Unpacking libbcutil-java (1.77-1) ... 549s Selecting previously unselected package libbcpkix-java. 549s Preparing to unpack .../12-libbcpkix-java_1.77-1_all.deb ... 549s Unpacking libbcpkix-java (1.77-1) ... 549s Selecting previously unselected package libbctls-java. 549s Preparing to unpack .../13-libbctls-java_1.77-1_all.deb ... 549s Unpacking libbctls-java (1.77-1) ... 549s Selecting previously unselected package libdirgra-java. 549s Preparing to unpack .../14-libdirgra-java_0.4-2_all.deb ... 549s Unpacking libdirgra-java (0.4-2) ... 549s Selecting previously unselected package libfixposix4t64:s390x. 549s Preparing to unpack .../15-libfixposix4t64_1%3a0.5.1-1+nmu1.1build1_s390x.deb ... 549s Unpacking libfixposix4t64:s390x (1:0.5.1-1+nmu1.1build1) ... 549s Selecting previously unselected package libheadius-options-java. 549s Preparing to unpack .../16-libheadius-options-java_1.7-1_all.deb ... 549s Unpacking libheadius-options-java (1.7-1) ... 549s Selecting previously unselected package libinvokebinder-java. 549s Preparing to unpack .../17-libinvokebinder-java_1.14-1_all.deb ... 549s Unpacking libinvokebinder-java (1.14-1) ... 549s Selecting previously unselected package libhawtjni-runtime-java. 549s Preparing to unpack .../18-libhawtjni-runtime-java_1.18-1_all.deb ... 549s Unpacking libhawtjni-runtime-java (1.18-1) ... 549s Selecting previously unselected package libjansi-native-java. 549s Preparing to unpack .../19-libjansi-native-java_1.8-2_all.deb ... 549s Unpacking libjansi-native-java (1.8-2) ... 549s Selecting previously unselected package libjansi1-java. 549s Preparing to unpack .../20-libjansi1-java_1.18-3.1_all.deb ... 549s Unpacking libjansi1-java (1.18-3.1) ... 549s Selecting previously unselected package libjcodings-java. 549s Preparing to unpack .../21-libjcodings-java_1.0.58-1_all.deb ... 549s Unpacking libjcodings-java (1.0.58-1) ... 549s Selecting previously unselected package libjffi-jni:s390x. 549s Preparing to unpack .../22-libjffi-jni_1.3.13+ds-1_s390x.deb ... 549s Unpacking libjffi-jni:s390x (1.3.13+ds-1) ... 549s Selecting previously unselected package libjffi-java. 549s Preparing to unpack .../23-libjffi-java_1.3.13+ds-1_all.deb ... 549s Unpacking libjffi-java (1.3.13+ds-1) ... 549s Selecting previously unselected package libjitescript-java. 549s Preparing to unpack .../24-libjitescript-java_0.4.3-1_all.deb ... 549s Unpacking libjitescript-java (0.4.3-1) ... 549s Selecting previously unselected package libjline2-java. 549s Preparing to unpack .../25-libjline2-java_2.14.6-5_all.deb ... 549s Unpacking libjline2-java (2.14.6-5) ... 549s Selecting previously unselected package libjnr-constants-java. 549s Preparing to unpack .../26-libjnr-constants-java_0.10.4-2_all.deb ... 549s Unpacking libjnr-constants-java (0.10.4-2) ... 549s Selecting previously unselected package libjnr-x86asm-java. 549s Preparing to unpack .../27-libjnr-x86asm-java_1.0.2-6_all.deb ... 549s Unpacking libjnr-x86asm-java (1.0.2-6) ... 549s Selecting previously unselected package libjnr-ffi-java. 549s Preparing to unpack .../28-libjnr-ffi-java_2.2.15-2_all.deb ... 549s Unpacking libjnr-ffi-java (2.2.15-2) ... 549s Selecting previously unselected package libjnr-enxio-java. 549s Preparing to unpack .../29-libjnr-enxio-java_0.32.16-1_all.deb ... 549s Unpacking libjnr-enxio-java (0.32.16-1) ... 549s Selecting previously unselected package libjnr-netdb-java. 549s Preparing to unpack .../30-libjnr-netdb-java_1.2.0+dfsg-1_all.deb ... 549s Unpacking libjnr-netdb-java (1.2.0+dfsg-1) ... 549s Selecting previously unselected package libjnr-posix-java. 549s Preparing to unpack .../31-libjnr-posix-java_3.1.18-1_all.deb ... 549s Unpacking libjnr-posix-java (3.1.18-1) ... 549s Selecting previously unselected package libjnr-unixsocket-java. 549s Preparing to unpack .../32-libjnr-unixsocket-java_0.38.21-2_all.deb ... 549s Unpacking libjnr-unixsocket-java (0.38.21-2) ... 549s Selecting previously unselected package libjoda-time-java. 549s Preparing to unpack .../33-libjoda-time-java_2.10.14-1_all.deb ... 549s Unpacking libjoda-time-java (2.10.14-1) ... 549s Selecting previously unselected package libjruby-joni-java. 549s Preparing to unpack .../34-libjruby-joni-java_2.2.1-1_all.deb ... 549s Unpacking libjruby-joni-java (2.2.1-1) ... 549s Selecting previously unselected package libjzlib-java. 549s Preparing to unpack .../35-libjzlib-java_1.1.3-3_all.deb ... 549s Unpacking libjzlib-java (1.1.3-3) ... 549s Selecting previously unselected package libsnakeyaml-engine-java. 549s Preparing to unpack .../36-libsnakeyaml-engine-java_2.7+ds-3_all.deb ... 549s Unpacking libsnakeyaml-engine-java (2.7+ds-3) ... 549s Selecting previously unselected package jruby. 549s Preparing to unpack .../37-jruby_9.4.8.0+ds-2ubuntu1_all.deb ... 549s Unpacking jruby (9.4.8.0+ds-2ubuntu1) ... 550s Selecting previously unselected package rubygems-integration. 550s Preparing to unpack .../38-rubygems-integration_1.19_all.deb ... 550s Unpacking rubygems-integration (1.19) ... 550s Selecting previously unselected package ruby3.3. 550s Preparing to unpack .../39-ruby3.3_3.3.6-1.1ubuntu1_s390x.deb ... 550s Unpacking ruby3.3 (3.3.6-1.1ubuntu1) ... 550s Selecting previously unselected package ruby-rubygems. 550s Preparing to unpack .../40-ruby-rubygems_3.6.3-1_all.deb ... 550s Unpacking ruby-rubygems (3.6.3-1) ... 550s Selecting previously unselected package ruby. 550s Preparing to unpack .../41-ruby_1%3a3.3~ubuntu3_s390x.deb ... 550s Unpacking ruby (1:3.3~ubuntu3) ... 550s Selecting previously unselected package rake. 550s Preparing to unpack .../42-rake_13.2.1-1_all.deb ... 550s Unpacking rake (13.2.1-1) ... 550s Selecting previously unselected package ruby-did-you-mean. 550s Preparing to unpack .../43-ruby-did-you-mean_1.6.3-2_all.deb ... 550s Unpacking ruby-did-you-mean (1.6.3-2) ... 550s Selecting previously unselected package ruby-minitest. 550s Preparing to unpack .../44-ruby-minitest_5.25.4-2ubuntu1_all.deb ... 550s Unpacking ruby-minitest (5.25.4-2ubuntu1) ... 550s Selecting previously unselected package ruby-net-telnet. 550s Preparing to unpack .../45-ruby-net-telnet_0.2.0-1_all.deb ... 550s Unpacking ruby-net-telnet (0.2.0-1) ... 550s Selecting previously unselected package ruby-power-assert. 550s Preparing to unpack .../46-ruby-power-assert_2.0.3-1_all.deb ... 550s Unpacking ruby-power-assert (2.0.3-1) ... 550s Selecting previously unselected package ruby-test-unit. 550s Preparing to unpack .../47-ruby-test-unit_3.6.2-1_all.deb ... 550s Unpacking ruby-test-unit (3.6.2-1) ... 550s Selecting previously unselected package ruby-webrick. 550s Preparing to unpack .../48-ruby-webrick_1.8.1-1ubuntu1_all.deb ... 550s Unpacking ruby-webrick (1.8.1-1ubuntu1) ... 550s Selecting previously unselected package ruby-xmlrpc. 550s Preparing to unpack .../49-ruby-xmlrpc_0.3.3-2_all.deb ... 550s Unpacking ruby-xmlrpc (0.3.3-2) ... 550s Selecting previously unselected package ruby-sdbm:s390x. 550s Preparing to unpack .../50-ruby-sdbm_1.0.0-5build5_s390x.deb ... 550s Unpacking ruby-sdbm:s390x (1.0.0-5build5) ... 550s Selecting previously unselected package libruby3.3:s390x. 550s Preparing to unpack .../51-libruby3.3_3.3.6-1.1ubuntu1_s390x.deb ... 550s Unpacking libruby3.3:s390x (3.3.6-1.1ubuntu1) ... 550s Selecting previously unselected package libruby:s390x. 550s Preparing to unpack .../52-libruby_1%3a3.3~ubuntu3_s390x.deb ... 550s Unpacking libruby:s390x (1:3.3~ubuntu3) ... 550s Selecting previously unselected package ruby-concurrent. 550s Preparing to unpack .../53-ruby-concurrent_1.3.4-1_all.deb ... 550s Unpacking ruby-concurrent (1.3.4-1) ... 550s Selecting previously unselected package ruby-concurrent-ext. 550s Preparing to unpack .../54-ruby-concurrent-ext_1.3.4-1_s390x.deb ... 550s Unpacking ruby-concurrent-ext (1.3.4-1) ... 550s Selecting previously unselected package ruby-diff-lcs. 550s Preparing to unpack .../55-ruby-diff-lcs_1.5.1-1_all.deb ... 550s Unpacking ruby-diff-lcs (1.5.1-1) ... 550s Selecting previously unselected package ruby-rspec-support. 550s Preparing to unpack .../56-ruby-rspec-support_3.13.0c0e0m0s1-2_all.deb ... 550s Unpacking ruby-rspec-support (3.13.0c0e0m0s1-2) ... 550s Selecting previously unselected package ruby-rspec-core. 550s Preparing to unpack .../57-ruby-rspec-core_3.13.0c0e0m0s1-2_all.deb ... 550s Unpacking ruby-rspec-core (3.13.0c0e0m0s1-2) ... 550s Selecting previously unselected package ruby-rspec-expectations. 550s Preparing to unpack .../58-ruby-rspec-expectations_3.13.0c0e0m0s1-2_all.deb ... 550s Unpacking ruby-rspec-expectations (3.13.0c0e0m0s1-2) ... 550s Selecting previously unselected package ruby-rspec-mocks. 550s Preparing to unpack .../59-ruby-rspec-mocks_3.13.0c0e0m0s1-2_all.deb ... 550s Unpacking ruby-rspec-mocks (3.13.0c0e0m0s1-2) ... 550s Selecting previously unselected package ruby-rspec. 550s Preparing to unpack .../60-ruby-rspec_3.13.0c0e0m0s1-2_all.deb ... 550s Unpacking ruby-rspec (3.13.0c0e0m0s1-2) ... 550s Selecting previously unselected package ruby-timecop. 550s Preparing to unpack .../61-ruby-timecop_0.9.10-1.1_all.deb ... 550s Unpacking ruby-timecop (0.9.10-1.1) ... 550s Setting up libbcprov-java (1.77-1) ... 550s Setting up liblcms2-2:s390x (2.16-2) ... 550s Setting up libfixposix4t64:s390x (1:0.5.1-1+nmu1.1build1) ... 550s Setting up java-common (0.76) ... 550s Setting up ruby-power-assert (2.0.3-1) ... 550s Setting up libbcutil-java (1.77-1) ... 550s Setting up libasm-java (9.7.1-1) ... 550s Setting up rubygems-integration (1.19) ... 550s Setting up libheadius-options-java (1.7-1) ... 550s Setting up libbctls-java (1.77-1) ... 550s Setting up ruby-concurrent (1.3.4-1) ... 550s Setting up libjnr-x86asm-java (1.0.2-6) ... 550s Setting up ruby-timecop (0.9.10-1.1) ... 550s Setting up libjzlib-java (1.1.3-3) ... 550s Setting up libbackport9-java (1.10-2) ... 550s Setting up ruby-minitest (5.25.4-2ubuntu1) ... 550s Setting up libjitescript-java (0.4.3-1) ... 550s Setting up libsnakeyaml-engine-java (2.7+ds-3) ... 550s Setting up ruby-test-unit (3.6.2-1) ... 550s Setting up ruby-net-telnet (0.2.0-1) ... 550s Setting up libpcsclite1:s390x (2.3.1-1) ... 550s Setting up libjpeg-turbo8:s390x (2.1.5-3ubuntu2) ... 550s Setting up ruby-rspec-support (3.13.0c0e0m0s1-2) ... 550s Setting up libjoda-time-java (2.10.14-1) ... 550s Setting up libjcodings-java (1.0.58-1) ... 550s Setting up ruby-webrick (1.8.1-1ubuntu1) ... 550s Setting up libinvokebinder-java (1.14-1) ... 550s Setting up libjffi-jni:s390x (1.3.13+ds-1) ... 550s Setting up ca-certificates-java (20240118) ... 550s No JRE found. Skipping Java certificates setup. 550s Setting up ruby-did-you-mean (1.6.3-2) ... 550s Setting up libbcpkix-java (1.77-1) ... 550s Setting up ruby-xmlrpc (0.3.3-2) ... 550s Setting up libhawtjni-runtime-java (1.18-1) ... 550s Setting up libdirgra-java (0.4-2) ... 550s Setting up libjnr-constants-java (0.10.4-2) ... 550s Setting up libjpeg8:s390x (8c-2ubuntu11) ... 550s Setting up libjffi-java (1.3.13+ds-1) ... 550s Setting up openjdk-21-jre-headless:s390x (21.0.6+7-1) ... 550s update-alternatives: using /usr/lib/jvm/java-21-openjdk-s390x/bin/java to provide /usr/bin/java (java) in auto mode 550s update-alternatives: using /usr/lib/jvm/java-21-openjdk-s390x/bin/jpackage to provide /usr/bin/jpackage (jpackage) in auto mode 550s update-alternatives: using /usr/lib/jvm/java-21-openjdk-s390x/bin/keytool to provide /usr/bin/keytool (keytool) in auto mode 550s update-alternatives: using /usr/lib/jvm/java-21-openjdk-s390x/bin/rmiregistry to provide /usr/bin/rmiregistry (rmiregistry) in auto mode 550s update-alternatives: using /usr/lib/jvm/java-21-openjdk-s390x/lib/jexec to provide /usr/bin/jexec (jexec) in auto mode 550s Setting up libjruby-joni-java (2.2.1-1) ... 550s Setting up libjansi-native-java (1.8-2) ... 550s Setting up libjansi1-java (1.18-3.1) ... 550s Setting up libjline2-java (2.14.6-5) ... 550s Setting up libjnr-ffi-java (2.2.15-2) ... 550s Setting up libjnr-enxio-java (0.32.16-1) ... 550s Setting up libjnr-netdb-java (1.2.0+dfsg-1) ... 550s Setting up libjnr-posix-java (3.1.18-1) ... 550s Setting up libjnr-unixsocket-java (0.38.21-2) ... 550s Setting up rake (13.2.1-1) ... 550s Setting up ruby3.3 (3.3.6-1.1ubuntu1) ... 550s Setting up ruby-sdbm:s390x (1.0.0-5build5) ... 550s Setting up libruby3.3:s390x (3.3.6-1.1ubuntu1) ... 550s Setting up ruby-rubygems (3.6.3-1) ... 550s Setting up libruby:s390x (1:3.3~ubuntu3) ... 550s Setting up ruby (1:3.3~ubuntu3) ... 550s Setting up ruby-rspec-core (3.13.0c0e0m0s1-2) ... 550s Setting up ruby-diff-lcs (1.5.1-1) ... 550s Setting up ruby-concurrent-ext (1.3.4-1) ... 550s Setting up ruby-rspec-expectations (3.13.0c0e0m0s1-2) ... 550s Setting up ruby-rspec-mocks (3.13.0c0e0m0s1-2) ... 550s Setting up ruby-rspec (3.13.0c0e0m0s1-2) ... 550s Processing triggers for libc-bin (2.41-1ubuntu2) ... 550s Processing triggers for man-db (2.13.0-1) ... 551s Processing triggers for ca-certificates-java (20240118) ... 551s Adding debian:ACCVRAIZ1.pem 551s Adding debian:AC_RAIZ_FNMT-RCM.pem 551s Adding debian:AC_RAIZ_FNMT-RCM_SERVIDORES_SEGUROS.pem 551s Adding debian:ANF_Secure_Server_Root_CA.pem 551s Adding debian:Actalis_Authentication_Root_CA.pem 551s Adding debian:AffirmTrust_Commercial.pem 551s Adding debian:AffirmTrust_Networking.pem 551s Adding debian:AffirmTrust_Premium.pem 551s Adding debian:AffirmTrust_Premium_ECC.pem 551s Adding debian:Amazon_Root_CA_1.pem 551s Adding debian:Amazon_Root_CA_2.pem 551s Adding debian:Amazon_Root_CA_3.pem 551s Adding debian:Amazon_Root_CA_4.pem 551s Adding debian:Atos_TrustedRoot_2011.pem 551s Adding debian:Atos_TrustedRoot_Root_CA_ECC_TLS_2021.pem 551s Adding debian:Atos_TrustedRoot_Root_CA_RSA_TLS_2021.pem 551s Adding debian:Autoridad_de_Certificacion_Firmaprofesional_CIF_A62634068.pem 551s Adding debian:BJCA_Global_Root_CA1.pem 551s Adding debian:BJCA_Global_Root_CA2.pem 551s Adding debian:Baltimore_CyberTrust_Root.pem 551s Adding debian:Buypass_Class_2_Root_CA.pem 551s Adding debian:Buypass_Class_3_Root_CA.pem 551s Adding debian:CA_Disig_Root_R2.pem 551s Adding debian:CFCA_EV_ROOT.pem 551s Adding debian:COMODO_Certification_Authority.pem 551s Adding debian:COMODO_ECC_Certification_Authority.pem 551s Adding debian:COMODO_RSA_Certification_Authority.pem 551s Adding debian:Certainly_Root_E1.pem 551s Adding debian:Certainly_Root_R1.pem 551s Adding debian:Certigna.pem 551s Adding debian:Certigna_Root_CA.pem 551s Adding debian:Certum_EC-384_CA.pem 551s Adding debian:Certum_Trusted_Network_CA.pem 551s Adding debian:Certum_Trusted_Network_CA_2.pem 551s Adding debian:Certum_Trusted_Root_CA.pem 551s Adding debian:CommScope_Public_Trust_ECC_Root-01.pem 551s Adding debian:CommScope_Public_Trust_ECC_Root-02.pem 551s Adding debian:CommScope_Public_Trust_RSA_Root-01.pem 551s Adding debian:CommScope_Public_Trust_RSA_Root-02.pem 551s Adding debian:Comodo_AAA_Services_root.pem 551s Adding debian:D-TRUST_BR_Root_CA_1_2020.pem 551s Adding debian:D-TRUST_EV_Root_CA_1_2020.pem 551s Adding debian:D-TRUST_Root_Class_3_CA_2_2009.pem 551s Adding debian:D-TRUST_Root_Class_3_CA_2_EV_2009.pem 551s Adding debian:DigiCert_Assured_ID_Root_CA.pem 551s Adding debian:DigiCert_Assured_ID_Root_G2.pem 551s Adding debian:DigiCert_Assured_ID_Root_G3.pem 551s Adding debian:DigiCert_Global_Root_CA.pem 551s Adding debian:DigiCert_Global_Root_G2.pem 551s Adding debian:DigiCert_Global_Root_G3.pem 551s Adding debian:DigiCert_High_Assurance_EV_Root_CA.pem 551s Adding debian:DigiCert_TLS_ECC_P384_Root_G5.pem 551s Adding debian:DigiCert_TLS_RSA4096_Root_G5.pem 551s Adding debian:DigiCert_Trusted_Root_G4.pem 551s Adding debian:Entrust.net_Premium_2048_Secure_Server_CA.pem 551s Adding debian:Entrust_Root_Certification_Authority.pem 551s Adding debian:Entrust_Root_Certification_Authority_-_EC1.pem 551s Adding debian:Entrust_Root_Certification_Authority_-_G2.pem 551s Adding debian:Entrust_Root_Certification_Authority_-_G4.pem 551s Adding debian:FIRMAPROFESIONAL_CA_ROOT-A_WEB.pem 551s Adding debian:GDCA_TrustAUTH_R5_ROOT.pem 551s Adding debian:GLOBALTRUST_2020.pem 551s Adding debian:GTS_Root_R1.pem 551s Adding debian:GTS_Root_R2.pem 551s Adding debian:GTS_Root_R3.pem 551s Adding debian:GTS_Root_R4.pem 551s Adding debian:GlobalSign_ECC_Root_CA_-_R4.pem 551s Adding debian:GlobalSign_ECC_Root_CA_-_R5.pem 551s Adding debian:GlobalSign_Root_CA.pem 551s Adding debian:GlobalSign_Root_CA_-_R3.pem 551s Adding debian:GlobalSign_Root_CA_-_R6.pem 551s Adding debian:GlobalSign_Root_E46.pem 551s Adding debian:GlobalSign_Root_R46.pem 551s Adding debian:Go_Daddy_Class_2_CA.pem 551s Adding debian:Go_Daddy_Root_Certificate_Authority_-_G2.pem 551s Adding debian:HARICA_TLS_ECC_Root_CA_2021.pem 551s Adding debian:HARICA_TLS_RSA_Root_CA_2021.pem 551s Adding debian:Hellenic_Academic_and_Research_Institutions_ECC_RootCA_2015.pem 551s Adding debian:Hellenic_Academic_and_Research_Institutions_RootCA_2015.pem 551s Adding debian:HiPKI_Root_CA_-_G1.pem 551s Adding debian:Hongkong_Post_Root_CA_3.pem 551s Adding debian:ISRG_Root_X1.pem 551s Adding debian:ISRG_Root_X2.pem 551s Adding debian:IdenTrust_Commercial_Root_CA_1.pem 551s Adding debian:IdenTrust_Public_Sector_Root_CA_1.pem 551s Adding debian:Izenpe.com.pem 551s Adding debian:Microsec_e-Szigno_Root_CA_2009.pem 551s Adding debian:Microsoft_ECC_Root_Certificate_Authority_2017.pem 551s Adding debian:Microsoft_RSA_Root_Certificate_Authority_2017.pem 551s Adding debian:NAVER_Global_Root_Certification_Authority.pem 551s Adding debian:NetLock_Arany_=Class_Gold=_Főtanúsítvány.pem 551s Adding debian:OISTE_WISeKey_Global_Root_GB_CA.pem 551s Adding debian:OISTE_WISeKey_Global_Root_GC_CA.pem 551s Adding debian:QuoVadis_Root_CA_1_G3.pem 551s Adding debian:QuoVadis_Root_CA_2.pem 551s Adding debian:QuoVadis_Root_CA_2_G3.pem 551s Adding debian:QuoVadis_Root_CA_3.pem 551s Adding debian:QuoVadis_Root_CA_3_G3.pem 551s Adding debian:SSL.com_EV_Root_Certification_Authority_ECC.pem 551s Adding debian:SSL.com_EV_Root_Certification_Authority_RSA_R2.pem 551s Adding debian:SSL.com_Root_Certification_Authority_ECC.pem 551s Adding debian:SSL.com_Root_Certification_Authority_RSA.pem 551s Adding debian:SSL.com_TLS_ECC_Root_CA_2022.pem 551s Adding debian:SSL.com_TLS_RSA_Root_CA_2022.pem 551s Adding debian:SZAFIR_ROOT_CA2.pem 551s Adding debian:Sectigo_Public_Server_Authentication_Root_E46.pem 551s Adding debian:Sectigo_Public_Server_Authentication_Root_R46.pem 551s Adding debian:SecureSign_RootCA11.pem 551s Adding debian:SecureSign_Root_CA12.pem 551s Adding debian:SecureSign_Root_CA14.pem 551s Adding debian:SecureSign_Root_CA15.pem 551s Adding debian:SecureTrust_CA.pem 551s Adding debian:Secure_Global_CA.pem 551s Adding debian:Security_Communication_ECC_RootCA1.pem 551s Adding debian:Security_Communication_RootCA2.pem 551s Adding debian:Security_Communication_RootCA3.pem 551s Adding debian:Starfield_Class_2_CA.pem 551s Adding debian:Starfield_Root_Certificate_Authority_-_G2.pem 551s Adding debian:Starfield_Services_Root_Certificate_Authority_-_G2.pem 551s Adding debian:SwissSign_Gold_CA_-_G2.pem 551s Adding debian:SwissSign_Silver_CA_-_G2.pem 551s Adding debian:T-TeleSec_GlobalRoot_Class_2.pem 551s Adding debian:T-TeleSec_GlobalRoot_Class_3.pem 551s Adding debian:TUBITAK_Kamu_SM_SSL_Kok_Sertifikasi_-_Surum_1.pem 551s Adding debian:TWCA_CYBER_Root_CA.pem 551s Adding debian:TWCA_Global_Root_CA.pem 551s Adding debian:TWCA_Root_Certification_Authority.pem 551s Adding debian:Telekom_Security_TLS_ECC_Root_2020.pem 551s Adding debian:Telekom_Security_TLS_RSA_Root_2023.pem 551s Adding debian:TeliaSonera_Root_CA_v1.pem 551s Adding debian:Telia_Root_CA_v2.pem 551s Adding debian:TrustAsia_Global_Root_CA_G3.pem 551s Adding debian:TrustAsia_Global_Root_CA_G4.pem 551s Adding debian:Trustwave_Global_Certification_Authority.pem 551s Adding debian:Trustwave_Global_ECC_P256_Certification_Authority.pem 551s Adding debian:Trustwave_Global_ECC_P384_Certification_Authority.pem 551s Adding debian:TunTrust_Root_CA.pem 551s Adding debian:UCA_Extended_Validation_Root.pem 551s Adding debian:UCA_Global_G2_Root.pem 551s Adding debian:USERTrust_ECC_Certification_Authority.pem 551s Adding debian:USERTrust_RSA_Certification_Authority.pem 551s Adding debian:XRamp_Global_CA_Root.pem 551s Adding debian:certSIGN_ROOT_CA.pem 551s Adding debian:certSIGN_Root_CA_G2.pem 551s Adding debian:e-Szigno_Root_CA_2017.pem 551s Adding debian:ePKI_Root_Certification_Authority.pem 551s Adding debian:emSign_ECC_Root_CA_-_C3.pem 551s Adding debian:emSign_ECC_Root_CA_-_G3.pem 551s Adding debian:emSign_Root_CA_-_C1.pem 551s Adding debian:emSign_Root_CA_-_G1.pem 551s Adding debian:vTrus_ECC_Root_CA.pem 551s Adding debian:vTrus_Root_CA.pem 551s done. 551s Setting up default-jre-headless (2:1.21-76) ... 551s Setting up jruby (9.4.8.0+ds-2ubuntu1) ... 553s autopkgtest [18:54:32]: test jruby: [----------------------- 554s installing concurrent-ruby-1.3.4 gem into temporary GEM_HOME for jruby ... 554s installing concurrent-ruby-edge-0.7.1 gem into temporary GEM_HOME for jruby ... 554s installing diff-lcs-1.5.1 gem into temporary GEM_HOME for jruby ... 554s installing rspec-core-3.13.0 gem into temporary GEM_HOME for jruby ... 554s installing rspec-expectations-3.13.0 gem into temporary GEM_HOME for jruby ... 554s installing rspec-mocks-3.13.0 gem into temporary GEM_HOME for jruby ... 554s installing rspec-support-3.13.1 gem into temporary GEM_HOME for jruby ... 554s installing timecop-0.9.10 gem into temporary GEM_HOME for jruby ... 556s /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 556s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 556s at /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/options.rb:6 556s
at /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/options.rb:3 556s require at org/jruby/RubyKernel.java:1184 556s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 556s
at /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/scheduled_task.rb:8 556s require at org/jruby/RubyKernel.java:1184 556s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 556s
at /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/executor/timer_set.rb:1 556s require at org/jruby/RubyKernel.java:1184 556s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 556s
at /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/executors.rb:20 556s require at org/jruby/RubyKernel.java:1184 556s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 556s
at /usr/share/rubygems-integration/all/gems/concurrent-ruby-edge-0.7.1/lib/concurrent-ruby-edge/concurrent/actor/core.rb:4 556s require at org/jruby/RubyKernel.java:1184 556s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 556s at /usr/share/rubygems-integration/all/gems/concurrent-ruby-edge-0.7.1/lib/concurrent-ruby-edge/concurrent/actor.rb:25 556s at /usr/share/rubygems-integration/all/gems/concurrent-ruby-edge-0.7.1/lib/concurrent-ruby-edge/concurrent/actor.rb:17 556s
at /usr/share/rubygems-integration/all/gems/concurrent-ruby-edge-0.7.1/lib/concurrent-ruby-edge/concurrent/actor.rb:7 556s require at org/jruby/RubyKernel.java:1184 556s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:160 556s
at /tmp/autopkgtest.naGR5j/build.gQM/src/spec/concurrent/actor_spec.rb:1 556s load at org/jruby/RubyKernel.java:1220 556s load_file_handling_errors at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:2138 556s load_spec_files at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:1638 556s each at org/jruby/RubyArray.java:1981 556s load_spec_files at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:1636 556s setup at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:102 556s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:86 556s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:71 556s invoke at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:45 556s
at /usr/bin/rspec:4 556s 556s /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 556s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 556s at /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/executor/timer_set.rb:19 556s
at /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/executor/timer_set.rb:9 556s require at org/jruby/RubyKernel.java:1184 556s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 556s
at /usr/share/rubygems-integration/all/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/executors.rb:20 556s require at org/jruby/RubyKernel.java:1184 556s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 556s
at /usr/share/rubygems-integration/all/gems/concurrent-ruby-edge-0.7.1/lib/concurrent-ruby-edge/concurrent/actor/core.rb:4 556s require at org/jruby/RubyKernel.java:1184 556s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 556s at /usr/share/rubygems-integration/all/gems/concurrent-ruby-edge-0.7.1/lib/concurrent-ruby-edge/concurrent/actor.rb:25 556s at /usr/share/rubygems-integration/all/gems/concurrent-ruby-edge-0.7.1/lib/concurrent-ruby-edge/concurrent/actor.rb:17 556s
at /usr/share/rubygems-integration/all/gems/concurrent-ruby-edge-0.7.1/lib/concurrent-ruby-edge/concurrent/actor.rb:7 556s require at org/jruby/RubyKernel.java:1184 556s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:160 556s
at /tmp/autopkgtest.naGR5j/build.gQM/src/spec/concurrent/actor_spec.rb:1 556s load at org/jruby/RubyKernel.java:1220 556s load_file_handling_errors at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:2138 556s load_spec_files at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:1638 556s each at org/jruby/RubyArray.java:1981 556s load_spec_files at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:1636 556s setup at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:102 556s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:86 556s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:71 556s invoke at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:45 556s
at /usr/bin/rspec:4 556s 558s /usr/share/jruby/lib/ruby/stdlib/date.rb:471: warning: previous definition of strptime was here 558s /usr/share/jruby/lib/ruby/stdlib/date.rb:490: warning: previous definition of parse was here 558s /usr/share/jruby/lib/ruby/stdlib/date.rb:737: warning: previous definition of parse was here 558s Run options: exclude {:stress=>true} 558s 558s Concurrent::Actor 558s /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 558s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 558s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:30 558s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:3 558s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:2 558s
at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:1 558s require at org/jruby/RubyKernel.java:1184 558s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 558s be_truthy at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers.rb:311 558s
at /tmp/autopkgtest.naGR5j/build.gQM/src/spec/spec_helper.rb:50 558s instance_exec at org/jruby/RubyBasicObject.java:2620 558s instance_exec at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:457 558s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:365 558s run_owned_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:529 558s each at org/jruby/RubyArray.java:1981 558s run_owned_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:528 558s run_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:615 558s reverse_each at org/jruby/RubyArray.java:2063 558s run_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:614 558s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:484 558s run_before_example at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:505 558s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:261 558s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 558s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 558s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 558s run_around_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:624 558s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 558s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 558s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 558s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:259 558s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:646 558s map at org/jruby/RubyArray.java:2803 558s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:651 558s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:607 558s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121 558s map at org/jruby/RubyArray.java:2803 558s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121 558s with_suite_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:2091 558s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:116 558s report at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/reporter.rb:74 558s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:115 558s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:89 558s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:71 558s invoke at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:45 558s
at /usr/bin/rspec:4 558s 558s /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 558s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 558s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:53 558s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:3 558s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:2 558s
at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:1 558s require at org/jruby/RubyKernel.java:1184 558s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 558s be_truthy at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers.rb:311 558s
at /tmp/autopkgtest.naGR5j/build.gQM/src/spec/spec_helper.rb:50 558s instance_exec at org/jruby/RubyBasicObject.java:2620 558s instance_exec at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:457 558s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:365 558s run_owned_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:529 558s each at org/jruby/RubyArray.java:1981 558s run_owned_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:528 558s run_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:615 558s reverse_each at org/jruby/RubyArray.java:2063 558s run_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:614 558s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:484 558s run_before_example at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:505 558s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:261 558s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 558s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 558s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 558s run_around_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:624 558s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 558s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 558s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 558s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:259 558s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:646 558s map at org/jruby/RubyArray.java:2803 558s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:651 558s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:607 558s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121 558s map at org/jruby/RubyArray.java:2803 558s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121 558s with_suite_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:2091 558s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:116 558s report at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/reporter.rb:74 558s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:115 558s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:89 558s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:71 558s invoke at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:45 558s
at /usr/bin/rspec:4 558s 558s /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 558s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 558s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:74 558s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:3 558s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:2 558s
at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:1 558s require at org/jruby/RubyKernel.java:1184 558s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 558s be_truthy at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers.rb:311 558s
at /tmp/autopkgtest.naGR5j/build.gQM/src/spec/spec_helper.rb:50 558s instance_exec at org/jruby/RubyBasicObject.java:2620 558s instance_exec at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:457 558s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:365 558s run_owned_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:529 558s each at org/jruby/RubyArray.java:1981 558s run_owned_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:528 558s run_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:615 558s reverse_each at org/jruby/RubyArray.java:2063 558s run_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:614 558s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:484 558s run_before_example at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:505 558s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:261 558s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 558s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 558s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 558s run_around_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:624 558s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 558s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 558s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 558s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:259 558s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:646 558s map at org/jruby/RubyArray.java:2803 558s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:651 558s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:607 558s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121 558s map at org/jruby/RubyArray.java:2803 558s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121 558s with_suite_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:2091 558s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:116 558s report at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/reporter.rb:74 558s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:115 558s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:89 558s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:71 558s invoke at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:45 558s
at /usr/bin/rspec:4 558s 558s /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 558s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 558s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:101 558s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:3 558s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:2 558s
at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:1 558s require at org/jruby/RubyKernel.java:1184 558s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 558s be_truthy at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers.rb:311 558s
at /tmp/autopkgtest.naGR5j/build.gQM/src/spec/spec_helper.rb:50 558s instance_exec at org/jruby/RubyBasicObject.java:2620 558s instance_exec at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:457 558s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:365 558s run_owned_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:529 558s each at org/jruby/RubyArray.java:1981 558s run_owned_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:528 558s run_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:615 558s reverse_each at org/jruby/RubyArray.java:2063 558s run_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:614 558s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:484 558s run_before_example at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:505 558s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:261 558s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 558s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 558s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 558s run_around_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:624 558s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 558s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 558s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 558s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:259 558s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:646 558s map at org/jruby/RubyArray.java:2803 558s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:651 558s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:607 558s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121 558s map at org/jruby/RubyArray.java:2803 558s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121 558s with_suite_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:2091 558s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:116 558s report at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/reporter.rb:74 558s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:115 558s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:89 558s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:71 558s invoke at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:45 558s
at /usr/bin/rspec:4 558s 558s /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 558s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 558s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:136 558s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:3 558s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:2 558s
at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:1 558s require at org/jruby/RubyKernel.java:1184 558s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 558s be_truthy at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers.rb:311 558s
at /tmp/autopkgtest.naGR5j/build.gQM/src/spec/spec_helper.rb:50 558s instance_exec at org/jruby/RubyBasicObject.java:2620 558s instance_exec at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:457 558s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:365 558s run_owned_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:529 558s each at org/jruby/RubyArray.java:1981 558s run_owned_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:528 558s run_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:615 558s reverse_each at org/jruby/RubyArray.java:2063 558s run_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:614 558s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:484 558s run_before_example at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:505 558s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:261 558s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 558s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 558s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 558s run_around_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:624 558s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 558s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 558s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 558s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:259 558s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:646 558s map at org/jruby/RubyArray.java:2803 558s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:651 558s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:607 558s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121 558s map at org/jruby/RubyArray.java:2803 558s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121 558s with_suite_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:2091 558s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:116 558s report at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/reporter.rb:74 558s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:115 558s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:89 558s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:71 558s invoke at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:45 558s
at /usr/bin/rspec:4 558s 558s forbids Immediate executor 558s links 558s links atomically 558s spawning 559s terminates on failed initialization 559s terminates on failed initialization and raises with spawn! 559s terminates on failed message processing 559s Actor#spawn! 559s spawn 559s executor should be global 559s returns arg 559s #path 559s is expected to eq "/ping" 559s #parent 559s is expected to eq # 559s #name 559s is expected to eq "ping" 559s #reference 559s is expected to eq # 559s context_spawn 559s executor should be global 559s returns arg 559s #path 559s is expected to eq "/ping" 559s #parent 559s is expected to eq # 559s #name 559s is expected to eq "ping" 559s #reference 559s is expected to eq # 559s spawn_by_hash 559s executor should be global 559s returns arg 559s #path 559s is expected to eq "/ping" 559s #parent 559s is expected to eq # 559s #name 559s is expected to eq "ping" 559s #reference 559s is expected to eq # 559s context_spawn_by_hash 559s executor should be global 559s returns arg 559s #path 559s is expected to eq "/ping" 559s #parent 559s is expected to eq # 559s #name 559s is expected to eq "ping" 559s #reference 559s is expected to eq # 559s messaging 559s is expected to eq 4 559s children 559s has children set after a child is created 559s envelope 559s /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 559s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 559s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/has.rb:125 559s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/has.rb:3 559s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/has.rb:2 559s
at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/has.rb:1 559s require at org/jruby/RubyKernel.java:1184 559s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 559s method_missing at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers.rb:964 559s method_missing at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:767 559s Actor at /tmp/autopkgtest.naGR5j/build.gQM/src/spec/concurrent/actor_spec.rb:136 559s instance_exec at org/jruby/RubyBasicObject.java:2620 559s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:263 559s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 559s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 559s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 559s run_around_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:624 559s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 559s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 559s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 559s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:259 559s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:646 559s map at org/jruby/RubyArray.java:2803 559s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:651 559s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:607 559s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:608 559s map at org/jruby/RubyArray.java:2803 559s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:608 559s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121 559s map at org/jruby/RubyArray.java:2803 559s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121 559s with_suite_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:2091 559s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:116 559s report at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/reporter.rb:74 559s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:115 559s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:89 559s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:71 559s invoke at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:45 559s
at /usr/bin/rspec:4 559s 559s is expected to eq # 559s termination 559s terminates with all its children 559s dead letter routing 559s logs by deafault 559s message redirecting 559s is evaluated by child 559s pausing 559s pauses on error and resumes 559s pauses on error and resets 559s pauses on error and restarts 559s pool 559s supports asks 559s 559s Concurrent::Agent 559s initialization 559s sets the initial value 559s sets the initial error to nil 559s sets the error mode when given a valid value 559s defaults the error mode to :continue when an error handler is given 559s defaults the error mode to :fail when no error handler is given 559s raises an error when given an invalid error mode 559s sets #failed? to false 559s action processing 559s the given block will be passed the current value 559s the given block will be passed any provided arguments 559s the return value will be passed to the validator function 559s upon validation the new value will be set to the block return value 559s on success all observers will be notified 559s any recursive action dispatches will run after the value has been updated 559s when the action raises an error the value will not change 559s when the action raises an error the validator will not be called 559s when validation returns false the value will not change 559s when validation raises an error the value will not change 559s when the action raises an error the handler will be called 559s when validation fails the handler will be called 559s when validation raises an error the handler will be called 559s validation 559s sets the new value when the validator returns true 559s rejects the new value when the validator returns false 559s rejects the new value when the validator raises an error 559s sets the error when the error mode is :fail and the validator returns false 559s sets the error when the error mode is :fail and the validator raises an error 559s does not set an error when the error mode is :continue and the validator returns false 559s does not set an error when the error mode is :continue and the validator raises an error 559s does not trigger observation when validation fails 559s error handling 559s the agent will be passed to the handler 559s the exception will be passed to the handler 559s does not trigger observation 559s error mode 559s :continue 559s does not set an error when the validator returns false 559s does not set an error when the validator raises an error 559s does not set an error when the action raises an error 559s does not block further action processing 559s sets #failed? to false 559s :fail 559s sets the error when the validator returns false 559s sets the error when the validator raises an error 559s sets the error when the action raises an error 559s blocks all further action processing until a restart 559s sets #failed? to true 559s nested actions 559s occur in the order they ar post 559s work with immediate execution 559s posting 559s with #send 559s returns true when the job is post 560s returns false when #failed? 560s posts to the global fast executor 560s does not wait for the action to process 560s with #send! 560s returns true when the job is post 560s raises an error when #failed? 560s posts to the global fast executor 560s does not wait for the action to process 560s with #send_off 560s returns true when the job is post 560s returns false when #failed? 560s posts to the global io executor 560s does not wait for the action to process 560s with #send_off! 560s returns true when the job is post 560s raises an error when #failed? 560s posts to the global io executor 560s does not wait for the action to process 560s with #send_via 560s returns true when the job is post 560s returns false when #failed? 560s posts to the given executor 560s with #send_via! 560s returns true when the job is post 560s raises an error when #failed? 560s posts to the given executor 560s with #post 560s returns true when the job is post 560s returns false when #failed? 560s posts to the global io executor 560s does not wait for the action to process 560s with #<< 560s returns self when the job is post 560s returns self when #failed? 560s posts to the global io executor 560s does not wait for the action to process 560s #restart 560s when #failed? 560s raises an error if the new value is not valid 560s sets the new value 560s clears the error 560s sets #failed? to true 560s removes all actions from the queue when :clear_actions is true 560s does not clear the action queue when :clear_actions is false 560s does not clear the action queue when :clear_actions is not given 560s resumes action processing if actions are enqueued 560s does not trigger observation 560s when not #failed? 560s raises an error 560s waiting 560s the await job 560s does not change the value 560s does not trigger the error mode 561s does not trigger observers 561s waits for nested actions 561s with #await 561s returns self when there are no pending actions 561s does not block on actions from other threads 562s blocks indefinitely 563s returns true when all prior actions have processed 563s blocks forever if restarted with :clear_actions true (PENDING: the timing is nearly impossible) 563s with #await_for 563s returns true when there are no pending actions 563s does not block on actions from other threads 564s returns true when all prior actions have processed 565s returns false on timeout 565s returns false if restarted with :clear_actions true (PENDING: the timing is nearly impossible) 565s with #await_for! 565s returns true when there are no pending actions 565s does not block on actions from other threads 566s returns true when all prior actions have processed 567s raises an error on timeout 567s raises an error if restarted with :clear_actions true (PENDING: the timing is nearly impossible) 567s with #wait 567s returns true when there are no pending actions and timeout is nil 567s returns true when there are no pending actions and a timeout is given 567s does not block on actions from other threads 568s blocks indefinitely when timeout is nil 568s blocks forever when timeout is nil and restarted with :clear_actions true (PENDING: the timing is nearly impossible) 569s returns true when all prior actions have processed 570s returns false on timeout 570s returns false when timeout is given and restarted with :clear_actions true (PENDING: the timing is nearly impossible) 570s with .await 570s returns true when all prior actions on all agents have processed 570s with .await_for 570s returns true when there are no pending actions 570s returns true when all prior actions for all agents have processed 571s returns false on timeout 571s with await_for! 571s returns true when there are no pending actions 571s returns true when all prior actions for all agents have processed 572s raises an exception on timeout 572s observable 572s behaves like observable 572s #add_observer 572s adds an observer if called before first notification 572s adds an observer with :func if called before first notification 572s creates an observer from a block if called before first notification 572s raises an exception if not given an observer or a block 572s raises an exception when given both an observer and a block 572s #delete_observer 572s deletes the given observer if called before first notification 572s returns the removed observer if found in the observer set 572s returns the given observer even when not found in the observer set 572s #delete_observers 572s deletes all observers when called before first notification 572s returns self 572s #count_observers 572s returns zero for a new observable object 572s returns a count of registered observers if called before first notification 572s returns zero after #delete_observers has been called 572s first notification 572s calls the #update method on all observers without a specified :func 572s calls the appropriate function on all observers which specified a :func 572s calls the proc for all observers added as a block 573s does not notify any observers removed with #delete_observer 574s does not notify any observers after #delete_observers called 574s 574s Concurrent::Array 574s .[] 574s when initializing with no arguments 574s is expected to be empty 574s when initializing with arguments 574s creates an array with the given objects 574s .new 574s when initializing with no arguments 574s is expected to be empty 574s when initializing with a size argument 574s creates an array with size elements set to nil 574s when initializing with a default value argument 574s creates an array with size elements set to the default value 574s when initializing with a block argument 574s creates an array with size elements set to the default value 574s when initializing with another array as an argument 574s creates a new array 574s creates an array with the same contents as the other array 574s creates an array with the results of calling #to_ary on the other array 574s concurrency 574s is expected to be empty 574s #slice 574s correctly initializes the monitor 574s 574s Concurrent::Async 574s object creation 574s delegates to the original constructor 574s passes all args to the original constructor 574s passes a given block to the original constructor 574s initializes synchronization 574s #validate_argc 574s raises an exception when the method is not defined 574s raises an exception for too many args on a zero arity method 574s does not raise an exception for correct zero arity 574s raises an exception for too many args on a method with positive arity 574s raises an exception for too few args on a method with positive arity 574s does not raise an exception for correct positive arity 574s raises an exception for too few args on a method with negative arity 574s does not raise an exception for correct negative arity 574s #async 574s raises an error when calling a method that does not exist 574s raises an error when passing too few arguments 574s raises an error when pasing too many arguments (arity >= 0) 574s returns the existence of the method 574s returns a :pending IVar 574s runs the future on the global executor 574s sets the value on success 574s sets the reason on failure 574s sets the reason when giving too many optional arguments 574s supports attribute accessors 574s supports methods with blocks 574s #await 574s raises an error when calling a method that does not exist 574s raises an error when passing too few arguments 574s raises an error when pasing too many arguments (arity >= 0) 574s returns the existence of the method 574s returns a :fulfilled IVar 574s runs the future on the global executor 574s sets the value on success 574s sets the reason on failure 574s sets the reason when giving too many optional arguments 574s supports attribute accessors 574s supports methods with blocks 574s locking 574s uses the same lock for both #async and #await 574s fork safety 574s does not hang when forked (PENDING: Platform does not support fork) 574s 574s Concurrent::Atom 574s construction 574s sets the initial value to the given value 574s #compare_and_set 574s sets the new value if the current value matches 574s returns true if the current value matches 574s rejects the new value if the current value does not match 574s returns false if the current value does not match 574s rejects the new value if the validator returns false 574s rejects the new value if the validator raises an exception 574s returns false if the validator returns false 574s returns false if the validator raises an exception 574s #swap 574s raises an exception when no block is given 574s passes the current value to the block 574s passes all arguments to the block 574s sets the new value to the result of the block 574s rejects the new value if the validator returns false 574s rejects the new value if the validator raises an exception 574s returns the new value on success 574s returns the old value if the validator returns false 574s returns the old value if the validator raises an exception 574s calls the block more than once if the value changes underneath 574s reraises the exception from block 574s #reset 574s sets the new value 574s returns the new value on success 574s returns the new value on success 574s returns the old value if the validator returns false 574s returns the old value if the validator raises an exception 574s observable 574s behaves like observable 574s #add_observer 574s adds an observer if called before first notification 574s adds an observer with :func if called before first notification 574s creates an observer from a block if called before first notification 574s raises an exception if not given an observer or a block 574s raises an exception when given both an observer and a block 574s #delete_observer 574s deletes the given observer if called before first notification 574s returns the removed observer if found in the observer set 574s returns the given observer even when not found in the observer set 574s #delete_observers 574s deletes all observers when called before first notification 574s returns self 574s #count_observers 574s returns zero for a new observable object 574s returns a count of registered observers if called before first notification 574s returns zero after #delete_observers has been called 574s first notification 574s calls the #update method on all observers without a specified :func 574s calls the appropriate function on all observers which specified a :func 574s calls the proc for all observers added as a block 575s does not notify any observers removed with #delete_observer 576s does not notify any observers after #delete_observers called 576s 576s Concurrent::MutexAtomicBoolean 576s it should behave like atomic_boolean 576s construction 576s sets the initial value 576s defaults the initial value to false 576s evaluates the truthiness of a true value 576s evaluates the truthiness of a false value 576s #value 576s returns the current value 576s #value= 576s sets the #value to the given `Boolean` 576s returns the new value 576s evaluates the truthiness of a true value 576s evaluates the truthiness of a false value 576s #true? 576s is expected to equal true 576s is expected to equal false 576s #false? 576s is expected to equal false 576s is expected to equal true 576s #make_true 576s makes a false value true and returns true 576s keeps a true value true and returns false 576s #make_false 576s makes a true value false and returns true 576s keeps a false value false and returns false 576s instance methods 577s value is synchronized 577s value= is synchronized 577s true? is synchronized 577s false? is synchronized 577s make_true is synchronized 577s make_false is synchronized 577s 577s Concurrent::JavaAtomicBoolean 577s it should behave like atomic_boolean 577s construction 577s sets the initial value 577s defaults the initial value to false 577s evaluates the truthiness of a true value 577s evaluates the truthiness of a false value 577s #value 577s returns the current value 577s #value= 577s sets the #value to the given `Boolean` 577s returns the new value 577s evaluates the truthiness of a true value 577s evaluates the truthiness of a false value 577s #true? 577s is expected to equal true 577s is expected to equal false 577s #false? 577s is expected to equal false 577s is expected to equal true 577s #make_true 577s makes a false value true and returns true 577s keeps a true value true and returns false 577s #make_false 577s makes a true value false and returns true 577s keeps a false value false and returns false 577s 577s Concurrent::AtomicBoolean 577s does not load the C extension 577s inherits from JavaAtomicBoolean 577s #to_s and #inspect 577s includes the value 577s 577s Concurrent::MutexAtomicFixnum 577s it should behave like atomic_fixnum 577s construction 577s sets the initial value 577s defaults the initial value to zero 577s raises an exception if the initial value is not a Fixnum 577s #value 577s returns the current value 577s #value= 577s sets the #value to the given `Fixnum` 577s returns the new value 577s raises and exception if the value is not a `Fixnum` 577s #increment 577s increases the value by one when no argument is given 577s returns the new value when no argument is given 577s increases the value by the given argument 577s returns the new value the given argument 577s is aliased as #up 577s #decrement 577s decreases the value by one when no argument is given 577s returns the new value when no argument is given 577s decreases the value by the given argument 577s returns the new value the given argument 577s is aliased as #down 577s #compare_and_set 577s returns false if the value is not found 577s returns true if the value is found 577s sets if the value is found 577s does not set if the value is not found 577s #update 577s passes the current value to the block 577s atomically sets the value to the return value from the block 577s returns the new value 577s construction 577s raises an exception if the initial value is too big 577s raises an exception if the initial value is too small 577s instance methods 577s value is synchronized 577s value= is synchronized 577s increment is synchronized 577s decrement is synchronized 577s compare_and_set is synchronized 577s 577s Concurrent::JavaAtomicFixnum 577s it should behave like atomic_fixnum 577s construction 577s sets the initial value 577s defaults the initial value to zero 577s raises an exception if the initial value is not a Fixnum 577s #value 577s returns the current value 577s #value= 577s sets the #value to the given `Fixnum` 577s returns the new value 577s raises and exception if the value is not a `Fixnum` 577s #increment 577s increases the value by one when no argument is given 577s returns the new value when no argument is given 577s increases the value by the given argument 577s returns the new value the given argument 577s is aliased as #up 577s #decrement 577s decreases the value by one when no argument is given 577s returns the new value when no argument is given 577s decreases the value by the given argument 577s returns the new value the given argument 577s is aliased as #down 577s #compare_and_set 577s returns false if the value is not found 577s returns true if the value is found 577s sets if the value is found 577s does not set if the value is not found 577s #update 577s passes the current value to the block 577s atomically sets the value to the return value from the block 577s returns the new value 577s 577s Concurrent::AtomicFixnum 577s does not load the C extension 577s inherits from JavaAtomicFixnum 577s #to_s and #inspect 577s includes the value 577s 577s Concurrent::AtomicMarkableReference 577s .initialize 577s constructs the object 577s has sane defaults 577s #set 577s sets the value and mark 577s #try_update! 577s updates the value and mark 577s raises ConcurrentUpdateError when attempting to set inside of block 577s #try_update 577s updates the value and mark 577s returns nil when attempting to set inside of block 577s #update 577s updates the value and mark 577s retries until update succeeds 577s #compare_and_set 577s when objects have the same identity 577s sets the value and mark 577s when objects have the different identity 577s it does not set the value or mark 577s when comparing Numeric objects 577s Non-idepotent Float 577s sets the value and mark 577s BigNum 577s sets the value and mark 577s Rational 577s sets the value and mark 577s Rational 577s is successful 577s 577s Concurrent::AtomicReference 577s it should behave like atomic_reference 577s test_construct 577s test_value 577s test_update 577s test_try_update 577s test_try_update_bang 577s test_swap 577s test_try_update_fails 577s test_try_update_bang_fails 577s test_update_retries 577s test_numeric_cas 577s #to_s and #inspect 577s includes the value 577s 577s Concurrent::MutexAtomicReference 577s it should behave like atomic_reference 577s test_construct 577s test_value 577s test_update 577s test_try_update 577s test_try_update_bang 577s test_swap 577s test_try_update_fails 577s test_try_update_bang_fails 577s test_update_retries 577s test_numeric_cas 577s 577s Concurrent::JavaAtomicReference 577s it should behave like atomic_reference 577s test_construct 577s test_value 577s test_update 577s test_try_update 577s test_try_update_bang 577s test_swap 577s test_try_update_fails 577s test_try_update_bang_fails 577s test_update_retries 577s test_numeric_cas 577s 577s Concurrent::AtomicReference 577s does not load the C extension 577s inherits from JavaAtomicReference 577s 577s Concurrent::MutexCountDownLatch 577s it should behave like count_down_latch 577s #initialize 577s raises an exception if the initial count is less than zero 577s raises an exception if the initial count is not an integer 577s defaults the count to 1 577s #count 577s should be the value passed to the constructor 577s should be decreased after every count down 577s should not go below zero 577s #wait 577s blocks indefinitely, and is kill-able 577s blocks indefinitely with timeout, and is kill-able 577s count set to zero 577s should return true immediately 577s should return true immediately with timeout 577s non zero count 577s should block thread until counter is set to zero 577s should block until counter is set to zero with timeout 577s should block until timeout and return false when counter is not set to zero 577s spurious wake ups 577s should resist to spurious wake ups without timeout 578s should resist to spurious wake ups with timeout 578s 578s Concurrent::JavaCountDownLatch 578s it should behave like count_down_latch 578s #initialize 578s raises an exception if the initial count is less than zero 578s raises an exception if the initial count is not an integer 578s defaults the count to 1 578s #count 578s should be the value passed to the constructor 578s should be decreased after every count down 578s should not go below zero 578s #wait 578s blocks indefinitely, and is kill-able 578s blocks indefinitely with timeout, and is kill-able 578s count set to zero 578s should return true immediately 578s should return true immediately with timeout 578s non zero count 578s should block thread until counter is set to zero 578s should block until counter is set to zero with timeout 578s should block until timeout and return false when counter is not set to zero 578s 578s Concurrent::CountDownLatch 578s inherits from JavaCountDownLatch 578s 578s Concurrent::CyclicBarrier 578s #initialize 578s raises an exception if the initial count is less than 1 578s raises an exception if the initial count is not an integer 578s #parties 578s should be the value passed to the constructor 578s #number_waiting 578s without any waiting thread 578s should be equal to zero 578s with waiting threads 578s should be equal to the waiting threads count 578s #broken? 578s should not be broken when created 578s should not be broken when reset is called without waiting thread 578s reset 578s should release all waiting threads 578s #wait 578s without timeout 578s should block the thread 578s should release all threads when their number matches the desired one 578s returns true when released 578s executes the block once 578s can be reused 578s return false if barrier has been reset 578s with timeout 578s timeout not expiring 579s should block the thread 579s should release all threads when their number matches the desired one 579s returns true when released 579s timeout expiring 579s returns false 579s breaks the barrier and release all other threads 579s breaks the barrier and release all other threads 2 579s does not execute the block on timeout 579s #broken barrier 579s should not accept new threads 579s can be reset 579s spurious wake ups 579s should resist to spurious wake ups without timeout 580s should resist to spurious wake ups with timeout 580s 580s Concurrent::Event 580s #initialize 580s sets the state to unset 580s #set? 580s returns true when the event has been set 580s returns false if the event is unset 580s #set 580s triggers the event 580s sets the state to set 580s #try? 580s triggers the event if not already set 580s returns true if not previously set 580s returns false if previously set 580s #reset 580s does not change the state of an unset event 580s does not trigger an unset event 580s returns true when called on an unset event 580s sets the state of a set event to unset 580s returns true when called on a set event 580s #wait 580s returns immediately when the event has been set 580s returns true once the event is set 580s blocks indefinitely when the timer is nil 580s blocks indefinitely 581s stops waiting when the timer expires 582s returns false when the timer expires 582s triggers multiple waiting threads 582s behaves appropriately if wait begins while #set is processing 582s spurious wake ups 582s should resist to spurious wake ups without timeout 582s should resist spurious wake ups with timeout 582s 582s Concurrent::FiberLocalVar 582s #initialize 582s can set an initial value 582s sets nil as a default initial value 582s sets the same initial value for all fibers 582s can set a block to be called to get the initial value 582s when attempting to set both an initial value and a block 582s is expected to raise ArgumentError 582s #value 582s returns the current value 582s returns the value after modification 582s when using a block to initialize the value 582s calls the block to initialize the value 582s sets the block return value as the current value 582s calls the block to initialize the value for each fiber 582s #value= 582s sets a new value 582s returns the new value 582s does not modify the initial value for other fibers 582s does not modify the value for other fibers 582s 582s Concurrent::FiberLocalVar 582s uses FiberLocalVar if Mutex is per Fiber 582s 582s Concurrent::ReadWriteLock 582s #write_locked? 582s returns true when the write lock is held 582s returns false when the write lock is not held 582s returns false when the write lock is not held but there are readers 582s #has_waiters? 582s returns false when no locks are held 582s returns false when there are readers but no writers 582s returns true when the write lock is held and there are waiting readers 582s returns true when the write lock is held and there are waiting writers 582s #with_read_lock 582s acquires the lock 582s returns the value of the block operation 582s releases the lock 582s raises an exception if no block is given 582s raises an exception if maximum lock limit is exceeded 582s releases the lock when an exception is raised 582s #with_write_lock 582s acquires the lock 582s returns the value of the block operation 582s releases the lock 582s raises an exception if no block is given 582s raises an exception if maximum lock limit is exceeded 582s releases the lock when an exception is raised 582s #acquire_read_lock 582s increments the lock count 582s waits for a running writer to finish 582s does not wait for any running readers 582s raises an exception if maximum lock limit is exceeded 582s returns true if the lock is acquired 582s #release_read_lock 582s decrements the counter 582s unblocks waiting writers 582s returns true if the lock is released 582s returns true if the lock was never set 582s #acquire_write_lock 582s increments the lock count 582s waits for a running writer to finish 583s waits for a running reader to finish 583s raises an exception if maximum lock limit is exceeded 583s returns true if the lock is acquired 583s #release_write_lock 583s decrements the counter 583s unblocks waiting readers 583s unblocks waiting writers 583s returns true if the lock is released 583s returns true if the lock was never set 583s 583s Concurrent::ReentrantReadWriteLock 583s can survive a torture test 583s read lock 583s allows other read locks to be acquired at the same time 583s can be acquired more than once 583s can be acquired while holding a write lock 583s can be upgraded to a write lock 583s can be upgraded to a write lock when read lock acquired more than once 583s cannot be released when not held 583s cannot be released more times than it was taken 583s wakes up waiting writers when the last read lock is released 583s write lock 583s cannot be acquired when another thread holds a write lock 583s cannot be acquired when another thread holds a read lock 583s can be acquired more than once 583s can be acquired while holding a read lock 583s can be downgraded to a read lock 583s cannot be released when not held 583s cannot be released more times than it was taken 583s wakes up waiting readers when the write lock is released 583s wakes up waiting writers when the write lock is released 583s #with_read_lock 583s acquires read block before yielding, then releases it 583s releases read lock if an exception is raised in block 583s #with_write_lock 583s acquires write block before yielding, then releases it 583s releases write lock if an exception is raised in block 583s #try_read_lock 583s returns false immediately if read lock cannot be obtained 583s acquires read lock and returns true if it can do so without blocking 583s can acquire a read lock if a read lock is already held 583s can acquire a read lock if a write lock is already held 583s #try_write_lock 583s returns false immediately if write lock cannot be obtained 583s acquires write lock and returns true if it can do so without blocking 583s can acquire a write lock if a read lock is already held 583s can acquire a write lock if a write lock is already held 583s 583s Concurrent::ReentrantReadWriteLock 583s can acquire locks in separate fibers 583s 583s Concurrent::MutexSemaphore 583s it should behave like semaphore 583s #initialize 583s raises an exception if the initial count is not an integer 583s when initializing with 0 583s is expected not to equal nil 583s when initializing with -1 583s is expected to eq 0 583s #acquire 583s without block 583s permits available 583s should return nil immediately 583s not enough permits available 583s should block thread until permits are available 583s when acquiring negative permits 583s raises ArgumentError 583s with block 583s permits available 583s should acquire permits, run the block, release permits, and return block return value 583s if the block raises, the permit is still released 583s not enough permits available 583s should block thread until permits are available 583s when acquiring negative permits 583s raises ArgumentError 583s #drain_permits 583s drains all available permits 583s drains nothing in no permits are available 583s #try_acquire 583s without block 583s without timeout 583s acquires immediately if permits are available 583s returns false immediately in no permits are available 583s when trying to acquire negative permits 583s is expected to raise ArgumentError 583s with timeout 583s acquires immediately if permits are available 584s acquires when permits are available within timeout 584s returns false on timeout 584s with block 584s without timeout 584s acquires immediately if permits are available and returns block return value 584s releases permit if block raises 584s returns false immediately in no permits are available 584s when trying to acquire negative permits 584s is expected not to change `semaphore.available_permits` 584s with timeout 584s acquires immediately if permits are available, and returns block return value 584s releases permits if block raises 584s acquires when permits are available within timeout, and returns block return value 584s returns false on timeout 584s #reduce_permits 584s raises ArgumentError if reducing by negative number 584s reduces permits below zero 584s reduces permits 584s reduces zero permits 584s #release 584s increases the number of available permits by one 584s when a number of permits is specified 584s increases the number of available permits by the specified value 584s when permits is set to negative number 584s is expected to raise ArgumentError 584s 584s Concurrent::JavaSemaphore 584s it should behave like semaphore 584s #initialize 584s raises an exception if the initial count is not an integer 584s when initializing with 0 584s is expected not to equal nil 584s when initializing with -1 584s is expected to eq 0 584s #acquire 584s without block 584s permits available 584s should return nil immediately 584s not enough permits available 584s should block thread until permits are available 584s when acquiring negative permits 584s raises ArgumentError 584s with block 584s permits available 584s should acquire permits, run the block, release permits, and return block return value 584s if the block raises, the permit is still released 584s not enough permits available 585s should block thread until permits are available 585s when acquiring negative permits 585s raises ArgumentError 585s #drain_permits 585s drains all available permits 585s drains nothing in no permits are available 585s #try_acquire 585s without block 585s without timeout 585s acquires immediately if permits are available 585s returns false immediately in no permits are available 585s when trying to acquire negative permits 585s is expected to raise ArgumentError 585s with timeout 585s acquires immediately if permits are available 585s acquires when permits are available within timeout 585s returns false on timeout 585s with block 585s without timeout 585s acquires immediately if permits are available and returns block return value 585s releases permit if block raises 585s returns false immediately in no permits are available 585s when trying to acquire negative permits 585s is expected not to change `semaphore.available_permits` 585s with timeout 585s acquires immediately if permits are available, and returns block return value 585s releases permits if block raises 585s acquires when permits are available within timeout, and returns block return value 585s returns false on timeout 585s #reduce_permits 585s raises ArgumentError if reducing by negative number 585s reduces permits below zero 585s reduces permits 585s reduces zero permits 585s #release 585s increases the number of available permits by one 585s when a number of permits is specified 585s increases the number of available permits by the specified value 585s when permits is set to negative number 585s is expected to raise ArgumentError 585s 585s Concurrent::Semaphore 585s inherits from JavaSemaphore 585s 585s Concurrent::ThreadLocalVar 585s #initialize 585s can set an initial value 585s sets nil as a default initial value 585s sets the same initial value for all threads 585s can set a block to be called to get the initial value 585s when attempting to set both an initial value and a block 585s is expected to raise ArgumentError 585s #value 585s returns the current value 585s returns the value after modification 585s when using a block to initialize the value 585s calls the block to initialize the value 585s sets the block return value as the current value 585s calls the block to initialize the value for each thread 585s #value= 585s sets a new value 585s returns the new value 585s does not modify the initial value for other threads 585s does not modify the value for other threads 585s 585s Concurrent 585s Cancellation 585s basic 585s is expected to be falsey 585s is expected to be truthy 585s is expected to be falsey 585s is expected to eq 2 585s #join 585s 585s Concurrent::Channel::Buffer::Base 585s is expected to eq 0 585s is expected to be blocking 585s is expected to raise NotImplementedError 585s is expected to raise NotImplementedError 585s is expected to raise NotImplementedError 585s is expected to raise NotImplementedError 585s is expected to raise NotImplementedError 585s is expected to raise NotImplementedError 585s is expected to raise NotImplementedError 585s is expected to raise NotImplementedError 585s is expected not to be closed 585s is expected to be closed 585s 585s Concurrent::Channel::Buffer::Buffered 585s is expected to be blocking 585s behaves like channel_buffered_buffer 585s behaves like channel_buffer 585s is expected to respond to #blocking? 585s #capacity 585s is expected to be >= 0 585s #size 585s returns zero upon initialization 585s #empty? 585s returns true when empty 585s #full? 585s returns false when not full 585s #put 585s does not enqueue the item when closed 585s returns false when closed 585s #offer 585s returns true on success 585s does not enqueue the item when closed 585s returns false immediately when closed 585s #take 585s returns Concurrent::NULL when closed 585s #next 585s returns Concurrent::NULL, false when closed 585s #poll 585s returns the next item immediately if available 585s returns Concurrent::NULL immediately if no item is available 585s returns Concurrent::NULL when closed 585s #close 585s sets #closed? to false 585s returns true when not previously closed 585s returns false when already closed 585s #closed? 585s returns true when new 585s returns false after #close 585s #initialize 585s raises an exception if size <= 0 585s #capacity 585s returns the maximum capacity of the buffer 585s #size 585s is 0 when first created 585s returns the number of items in the buffer 585s is 0 when there are taking threads but no putting threads 585s #empty? 585s returns true when empty 585s #put 585s enqueues the item when size > 0, not full, and not closed 585s returns true when the item is put 585s #offer 585s enqueues the item immediately when not full and not closed 585s #take 585s returns the first item when not empty 585s blocks until not empty 585s returns Concurrent::NULL when closed and empty 585s #next 586s blocks until not empty 586s returns , true when there is only one item and not closed 586s returns , true when there are multiple items 586s returns , true when closed and last item 586s returns Concurrent::NULL, false when closed and no items remain 586s #full? 586s returns true when at max capacity 586s #put 586s blocks when at capacity until a thread is ready to take 586s #offer 586s returns false immediately when full 586s 586s Concurrent::Channel::Buffer::Dropping 586s is expected not to be blocking 586s behaves like channel_buffered_buffer 586s behaves like channel_buffer 586s is expected to respond to #blocking? 586s #capacity 586s is expected to be >= 0 586s #size 586s returns zero upon initialization 586s #empty? 586s returns true when empty 586s #full? 586s returns false when not full 586s #put 586s does not enqueue the item when closed 586s returns false when closed 586s #offer 586s returns true on success 586s does not enqueue the item when closed 586s returns false immediately when closed 586s #take 586s returns Concurrent::NULL when closed 586s #next 586s returns Concurrent::NULL, false when closed 586s #poll 586s returns the next item immediately if available 586s returns Concurrent::NULL immediately if no item is available 586s returns Concurrent::NULL when closed 586s #close 586s sets #closed? to false 586s returns true when not previously closed 586s returns false when already closed 586s #closed? 586s returns true when new 586s returns false after #close 586s #initialize 586s raises an exception if size <= 0 586s #capacity 586s returns the maximum capacity of the buffer 586s #size 586s is 0 when first created 586s returns the number of items in the buffer 586s is 0 when there are taking threads but no putting threads 586s #empty? 586s returns true when empty 586s #put 586s enqueues the item when size > 0, not full, and not closed 586s returns true when the item is put 586s #offer 586s enqueues the item immediately when not full and not closed 586s #take 586s returns the first item when not empty 586s blocks until not empty 586s returns Concurrent::NULL when closed and empty 586s #next 587s blocks until not empty 587s returns , true when there is only one item and not closed 587s returns , true when there are multiple items 587s returns , true when closed and last item 587s returns Concurrent::NULL, false when closed and no items remain 587s #put 587s does not block when full 587s drops the last value when full 587s #offer 587s returns true immediately when full 587s drops the last value when full 587s 587s Concurrent::Channel::Buffer::Sliding 587s is expected not to be blocking 587s behaves like channel_buffered_buffer 587s behaves like channel_buffer 587s is expected to respond to #blocking? 587s #capacity 587s is expected to be >= 0 587s #size 587s returns zero upon initialization 587s #empty? 587s returns true when empty 587s #full? 587s returns false when not full 587s #put 587s does not enqueue the item when closed 587s returns false when closed 587s #offer 587s returns true on success 587s does not enqueue the item when closed 587s returns false immediately when closed 587s #take 587s returns Concurrent::NULL when closed 587s #next 587s returns Concurrent::NULL, false when closed 587s #poll 587s returns the next item immediately if available 587s returns Concurrent::NULL immediately if no item is available 587s returns Concurrent::NULL when closed 587s #close 587s sets #closed? to false 587s returns true when not previously closed 587s returns false when already closed 587s #closed? 587s returns true when new 587s returns false after #close 587s #initialize 587s raises an exception if size <= 0 587s #capacity 587s returns the maximum capacity of the buffer 587s #size 587s is 0 when first created 587s returns the number of items in the buffer 587s is 0 when there are taking threads but no putting threads 587s #empty? 587s returns true when empty 587s #put 587s enqueues the item when size > 0, not full, and not closed 587s returns true when the item is put 587s #offer 587s enqueues the item immediately when not full and not closed 587s #take 587s returns the first item when not empty 587s blocks until not empty 587s returns Concurrent::NULL when closed and empty 587s #next 588s blocks until not empty 588s returns , true when there is only one item and not closed 588s returns , true when there are multiple items 588s returns , true when closed and last item 588s returns Concurrent::NULL, false when closed and no items remain 588s #put 588s does not block when full 588s drops the first value when full 588s #offer 588s returns true immediately when full 588s drops the first value when full 588s 588s Concurrent::Channel::Buffer::Ticker 588s behaves like channel_timing_buffer 588s is expected to be blocking 588s #capacity 588s is expected to eq 1 588s #size 588s is expected to eq 0 588s #empty? 588s is expected not to be empty 588s #full? 588s is expected to be full 588s #put 588s is expected to equal false 588s #offer 588s is expected to equal false 588s #take 588s blocks when the timer is not ready 588s returns a Tick 588s triggers after the specified time interval 588s returns Concurrent::NULL when closed 588s #poll 588s returns Concurrent::NULL when the timer is not ready 588s returns a Tick 588s returns Concurrent::NULL when closed 588s triggers after the specified time interval 588s #next 589s blocks when the timer is not ready 589s returns a Tick when open 589s returns Concurrent::NULL, false when closed 589s triggers after the specified time interval 589s #close 589s sets #closed? to false 589s returns true when not previously closed 589s returns false when already closed 589s #closed? 589s returns true when new 589s returns false after #close 589s #take 589s triggers until closed 589s returns Concurrent::NULL when closed after trigger 589s #poll 589s triggers until closed 589s #next 590s triggers until closed 590s returns true for more while open 590s returns false for more once closed 590s 590s Concurrent::Channel::Buffer::Timer 590s behaves like channel_timing_buffer 590s is expected to be blocking 590s #capacity 590s is expected to eq 1 590s #size 590s is expected to eq 0 590s #empty? 590s is expected not to be empty 590s #full? 590s is expected to be full 590s #put 590s is expected to equal false 590s #offer 590s is expected to equal false 590s #take 590s blocks when the timer is not ready 590s returns a Tick 590s triggers after the specified time interval 590s returns Concurrent::NULL when closed 590s #poll 590s returns Concurrent::NULL when the timer is not ready 591s returns a Tick 591s returns Concurrent::NULL when closed 591s triggers after the specified time interval 591s #next 591s blocks when the timer is not ready 591s returns a Tick when open 591s returns Concurrent::NULL, false when closed 591s triggers after the specified time interval 591s #close 591s sets #closed? to false 591s returns true when not previously closed 591s returns false when already closed 591s #closed? 591s returns true when new 591s returns false after #close 591s #take 591s closes automatically on first take 591s #poll 591s closes automatically on first take 591s #next 591s closes automatically on first take 592s returns false for more 592s 592s Concurrent::Channel::Buffer::Unbuffered 592s is expected to be blocking 592s is expected to eq 1 592s behaves like channel_buffer 592s is expected to respond to #blocking? 592s #capacity 592s is expected to be >= 0 592s #size 592s returns zero upon initialization 592s #empty? 592s returns true when empty 592s #full? 592s returns false when not full 592s #put 592s does not enqueue the item when closed 592s returns false when closed 592s #offer 592s returns true on success 592s does not enqueue the item when closed 592s returns false immediately when closed 592s #take 592s returns Concurrent::NULL when closed 592s #next 592s returns Concurrent::NULL, false when closed 592s #poll 592s returns the next item immediately if available 592s returns Concurrent::NULL immediately if no item is available 592s returns Concurrent::NULL when closed 592s #close 592s sets #closed? to false 592s returns true when not previously closed 592s returns false when already closed 592s #closed? 592s returns true when new 592s returns false after #close 592s #size 592s is 0 when first created 592s is 1 when a putting thread is waiting 592s is 0 when there are taking threads but no putting threads 592s #empty? 592s is true when there are no putting threads 593s is false when there are waiting putting threads 593s #full? 593s is false when there are no putting threads 593s is false when there are waiting putting threads 593s #put 593s does not enqueue the item when closed 593s returns false when closed 593s blocks until a thread is ready to take 593s delivers when closed after put starts 593s #offer 593s returns false immediately when a put in in progress 594s gives the item to a waiting taker and returns true 594s #take 594s returns false immediately when a put in in progress 594s gives the item to a waiting taker and returns true 594s #next 594s blocks when no putting and returns , true when one arrives 595s returns , true when there are multiple putting 595s returns , true when closed and last item 595s warning: thread "Ruby-0-Thread-217: /tmp/autopkgtest.naGR5j/build.gQM/src/spec/support/example_group_extensions.rb:32" terminated with exception (report_on_exception is true): 595s ThreadError: Attempt to unlock a mutex which is locked by another thread/fiber 595s exit at /usr/share/rubygems-integration/all/gems/rspec-support-3.13.1/lib/rspec/support/reentrant_mutex.rb:42 595s synchronize at /usr/share/rubygems-integration/all/gems/rspec-support-3.13.1/lib/rspec/support/reentrant_mutex.rb:27 595s fetch_or_store at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/memoized_helpers.rb:178 595s fetch at org/jruby/RubyHash.java:1441 595s fetch_or_store at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/memoized_helpers.rb:177 595s let at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/memoized_helpers.rb:343 595s Buffer at /tmp/autopkgtest.naGR5j/build.gQM/src/spec/concurrent/channel/buffer/unbuffered_spec.rb:239 595s in_thread at /tmp/autopkgtest.naGR5j/build.gQM/src/spec/support/example_group_extensions.rb:34 595s blocks when no putting and returns , true when one arrives (FAILED - 2) 595s returns , true when there are multiple putting (FAILED - 3) 595s returns , true when closed and last item (FAILED - 4) 595s returns Concurrent::NULL, false when closed and no items remain (FAILED - 5) 595s 595s channel integration tests 595s A Tour of Go 595s channels.rb 595s buffered-channels.rb 595s range-and-close.rb 595s select.rb 595s default-selection.rb (PENDING: flaky) 595s Go By Example 595s channels.rb 595s channel-buffering.rb 597s channel-synchronization.rb 597s channel-directions.rb 599s select.rb 602s timeouts.rb 602s non-blocking-channel-operations.rb 602s closing-channels.rb 602s range-over-channels.rb 604s timers.rb 606s ticker.rb 609s worker-pools.rb 611s rate-limiting.rb 611s 611s Concurrent::Channel::Tick 611s initializes to current time when no argument given 611s initializes to the given monotonic time 611s #utc returns a Time object in UTC 611s #epoch returns the UTC time as epoch seconds 611s #to_s formats as a time 611s comparison 611s correctly compares to a Numeric (monotonic) 611s correctly compares to a Time 611s correctly compares to a Tick 611s 611s Concurrent::Channel 611s initialization 611s raises an exception when the :buffer is invalid 611s is :unbuffered when neither :buffer nore :capacity is given 611s is :unbuffered when :unbuffered is given 611s is :unbuffered when :buffered and capacity: 0 611s raises an exception when both :unbuffered and :capacity are given 611s is :buffered when :capacity > 0 and no :buffer given 611s is :buffered when :buffered given 611s raises an exception when :buffered given without :capacity 611s raises an exception when :buffered and :capacity < 0 611s is :dropping when :dropping and :capacity > 0 611s raises an exception when :dropping given without :capacity 611s raises an exception when :dropping and :capacity < 1 611s is :sliding when :sliding and :capacity > 0 611s raises an exception when :sliding given without :capacity 611s raises an exception when :sliding and :capacity < 1 611s uses the given buffer 611s factories 611s is expected to receive new(10) 1 time 611s is expected to receive new(10) 1 time 611s #put 611s returns true on success 611s returns false on failure 611s rejects when the validator returns false 611s rejects when the validator raises an exception 611s rejects nil 611s put! 611s returns true on success 611s raises an exception on failure 611s rejects when the validator returns false 611s rejects when the validator raises an exception 611s rejects nil 611s put? 611s returns a just Maybe on success 611s returns a nothing Maybe on failure 611s rejects when the validator returns false 611s rejects when the validator raises an exception 611s accepts nil 611s #offer 611s returns true on success 611s returns false on failure 611s rejects when the validator returns false 611s rejects when the validator raises an exception 611s rejects nil 611s offer! 611s returns true on success 611s raises an exception on failure 611s rejects when the validator returns false 611s rejects when the validator raises an exception 611s rejects nil 611s offer? 611s returns a just Maybe on success 611s returns a nothing Maybe on failure 611s rejects when the validator returns false 611s rejects when the validator raises an exception 611s accepts nil 611s #take 611s takes the next item when not empty 611s returns nil on failure 611s #take! 611s takes the next item when not empty 611s raises an exception on failure 611s #take? 611s returns a just Maybe on success 611s returns a nothing Maybe on failure 611s #next 611s returns , true when there is one item 611s returns , true when there are multiple items 611s returns nil, false when empty and closed 611s returns , true when closed and last item 611s returns nil, false when closed and no items remain 611s #next? 611s returns a just Maybe and true when there is one item 611s returns a just Maybe, true when there are multiple items 611s returns a nothing Maybe and false on failure 611s #poll 611s returns the next item immediately if available 611s returns nil immediately if no item is available 611s returns nil on failure 611s #poll! 611s returns the next item immediately if available 611s raises an exception immediately if no item is available 611s raises an exception on failure 611s #poll? 612s returns a just Maybe immediately if available 612s returns a nothing Maybe immediately if no item is available 612s returns a nothing Maybe on failure 612s .each 612s raises and exception when no block is given 612s iterates until the channel is closed 612s goroutines 612s .go 612s raises an exception when no block is given 612s is expected to receive post(1, 2, 3) 1 time 612s .go_via 612s raises an exception when no block is given 612s is expected to receive post(1, 2, 3) 1 time 612s .go_loop 612s raises an exception when no block is given 612s loops until the block returns false 612s .go_loop_via 612s raises an exception when no block is given 612s loops until the block returns false 612s select 612s raises an exception when no block is given 612s passes a selector to the block 612s is expected to be truthy 612s 612s Concurrent::Collection::CopyOnNotifyObserverSet 612s behaves like an observer set 612s #add_observer 612s with arguments 612s should return the observer 612s with a block 612s should return the observer based on a block 612s #notify_observers 612s should return the observer set 612s with a single observer 612s should update a registered observer without arguments 612s should update a registered observer with arguments 612s should notify an observer using the chosen method 612s should notify an observer once using the last added method 612s should notify an observer from a block 612s can be called many times 612s with many observers 612s should notify all observer using the chosen method 612s with a block 612s calls the block once for every observer 612s passes the block return value to the update method 612s accepts blocks returning a single value 612s accepts block return values that include arrays 612s raises an exception if given both arguments and a block 612s #count_observers 612s should be zero after initialization 612s should be 1 after the first observer is added 612s should be 1 if the same observer is added many times 612s should be equal to the number of unique observers 612s #delete_observer 612s should not notify a deleted observer 612s can delete a non added observer 612s should return the observer 612s #delete_observers 612s should remove all observers 612s should return the observer set 612s #notify_and_delete_observers 612s should notify all observers 612s should clear observers 612s can be called many times without any other notification 612s should return the observer set 612s 612s Concurrent::Collection::CopyOnWriteObserverSet 612s behaves like an observer set 612s #add_observer 612s with arguments 612s should return the observer 612s with a block 612s should return the observer based on a block 612s #notify_observers 612s should return the observer set 612s with a single observer 612s should update a registered observer without arguments 612s should update a registered observer with arguments 612s should notify an observer using the chosen method 612s should notify an observer once using the last added method 612s should notify an observer from a block 612s can be called many times 612s with many observers 612s should notify all observer using the chosen method 612s with a block 612s calls the block once for every observer 612s passes the block return value to the update method 612s accepts blocks returning a single value 612s accepts block return values that include arrays 612s raises an exception if given both arguments and a block 612s #count_observers 612s should be zero after initialization 612s should be 1 after the first observer is added 612s should be 1 if the same observer is added many times 612s should be equal to the number of unique observers 612s #delete_observer 612s should not notify a deleted observer 612s can delete a non added observer 612s should return the observer 612s #delete_observers 612s should remove all observers 612s should return the observer set 612s #notify_and_delete_observers 612s should notify all observers 612s should clear observers 612s can be called many times without any other notification 612s should return the observer set 612s 612s Concurrent::Collection::RubyNonConcurrentPriorityQueue 612s it should behave like priority_queue 612s #initialize 612s sorts from high to low when :order is :max 612s sorts from high to low when :order is :high 612s sorts from low to high when :order is :min 612s sorts from low to high when :order is :low 612s sorts from high to low by default 612s #clear 612s removes all items from a populated queue 612s has no effect on an empty queue 612s is expected to be truthy 612s #delete 612s deletes the requested item when found 612s deletes the requested item when it is the first element 612s deletes the requested item when it is the last element 612s deletes multiple matching items when present 612s returns true when found 612s returns false when not found 612s returns false when called on an empty queue 612s deletes the requested item when it is "smaller" than the last element 612s #empty? 612s returns true for an empty queue 612s returns false for a populated queue 612s #include? 612s returns true if the item is found 612s returns false if the item is not found 612s returns false when the queue is empty 612s is aliased as #has_priority? 612s #length 612s returns the length of a populated queue 612s returns zero when the queue is empty 612s is aliased as #size 612s #peek 612s returns the item at the head of the queue 612s does not remove the item from the queue 612s returns nil when the queue is empty 612s #pop 612s returns the item at the head of the queue 612s removes the item from the queue 612s returns nil when the queue is empty 612s returns nil when called multiple times while empty 612s is aliased as #deq 612s is aliased as #shift 612s #push 612s raises an exception when attempting to enqueue nil 612s adds the item to the queue 612s sorts the new item in priority order 612s arbitrarily orders equal items with respect to each other 612s is expected to be truthy 612s is aliased as << 612s is aliased as enq 612s .from_list 612s creates an empty queue from an empty list 612s creates a sorted, populated queue from an Array 612s creates a sorted, populated queue from a Hash 612s 612s Concurrent::Collection::JavaNonConcurrentPriorityQueue 612s it should behave like priority_queue 612s #initialize 612s sorts from high to low when :order is :max 612s sorts from high to low when :order is :high 612s sorts from low to high when :order is :min 612s sorts from low to high when :order is :low 612s sorts from high to low by default 612s #clear 612s removes all items from a populated queue 612s has no effect on an empty queue 612s is expected to be truthy 612s #delete 612s deletes the requested item when found 612s deletes the requested item when it is the first element 612s deletes the requested item when it is the last element 612s deletes multiple matching items when present 612s returns true when found 612s returns false when not found 612s returns false when called on an empty queue 612s deletes the requested item when it is "smaller" than the last element 612s #empty? 612s returns true for an empty queue 612s returns false for a populated queue 612s #include? 612s returns true if the item is found 612s returns false if the item is not found 612s returns false when the queue is empty 612s is aliased as #has_priority? 612s #length 612s returns the length of a populated queue 612s returns zero when the queue is empty 612s is aliased as #size 612s #peek 612s returns the item at the head of the queue 612s does not remove the item from the queue 612s returns nil when the queue is empty 612s #pop 612s returns the item at the head of the queue 612s removes the item from the queue 612s returns nil when the queue is empty 612s returns nil when called multiple times while empty 612s is aliased as #deq 612s is aliased as #shift 612s #push 612s raises an exception when attempting to enqueue nil 612s adds the item to the queue 612s sorts the new item in priority order 612s arbitrarily orders equal items with respect to each other 612s is expected to be truthy 612s is aliased as << 612s is aliased as enq 612s .from_list 612s creates an empty queue from an empty list 612s creates a sorted, populated queue from an Array 612s creates a sorted, populated queue from a Hash 612s 612s Concurrent::Collection::NonConcurrentPriorityQueue 612s inherits from JavaNonConcurrentPriorityQueue 612s 612s Concurrent::Concern::Obligation 612s unscheduled 612s it should behave like incomplete 612s should be not completed 612s should be incomplete 612s #value 612s should return immediately if timeout is zero 612s should block on the event if timeout is not set 612s should block on the event if timeout is not zero 612s #value! 612s should return immediately if timeout is zero 612s should block on the event if timeout is not set 612s should block on the event if timeout is not zero 612s #no_error! 612s should return immediately if timeout is zero 612s should block on the event if timeout is not set 612s should block on the event if timeout is not zero 612s pending 612s it should behave like incomplete 612s should be not completed 612s should be incomplete 612s #value 612s should return immediately if timeout is zero 612s should block on the event if timeout is not set 612s should block on the event if timeout is not zero 612s #value! 612s should return immediately if timeout is zero 612s should block on the event if timeout is not set 612s should block on the event if timeout is not zero 612s #no_error! 612s should return immediately if timeout is zero 612s should block on the event if timeout is not set 612s should block on the event if timeout is not zero 612s fulfilled 612s should be completed 612s should be not incomplete 612s #value 612s should return immediately if timeout is zero 612s should return immediately if timeout is not set 612s should return immediately if timeout is not zero 612s #value! 612s should return immediately if timeout is zero 612s should return immediately if timeout is not set 612s should return immediately if timeout is not zero 612s #no_error! 612s should return immediately if timeout is zero 612s should return immediately if timeout is not set 612s should return immediately if timeout is not zero 612s rejected 612s should be completed 612s should be not incomplete 612s #value 612s should return immediately if timeout is zero 612s should return immediately if timeout is not set 612s should return immediately if timeout is not zero 612s #value! 612s should return immediately if timeout is zero 612s should return immediately if timeout is not set 612s should return immediately if timeout is not zero 612s #no_error! 612s should return immediately if timeout is zero 612s should return immediately if timeout is not set 612s should return immediately if timeout is not zero 612s #compare_and_set_state 612s unexpected state 612s should return false if state is not the expected one 612s should not change the state if current is not the expected one 612s expected state 612s should return true if state is the expected one 612s should not change the state if current is not the expected one 612s #if_state 612s should raise without block 612s should return false if state is not expected 612s should the block value if state is expected 612s should execute the block within the mutex 612s #get_arguments_from 612s returns an empty array when opts is not given 612s returns an empty array when opts is an empty hash 612s returns an empty array when there is no :args key 612s returns an empty array when the :args key has a nil value 612s returns a one-element array when the :args key has a non-array value 612s returns an array when when the :args key has an array value 612s returns the given array when the :args key has a complex array value 612s 612s Concurrent::Concern::Observable 612s does not initialize set by by default 612s uses the given observer set 612s delegates #add_observer 612s delegates #with_observer 612s delegates #delete_observer 612s delegates #delete_observers 612s delegates #count_observers 612s 612s configuration 612s global executors 612s creates a global timer set 612s creates a global fast executor 612s creates a global io executor 612s 612s dataflow 612s raises an exception when no block given 612s #dataflow uses the global fast executor 612s #dataflow_with uses the given executor 612s #dataflow_with raises an exception when no executor given 612s accepts zero or more dependencies 612s accepts uncompleted dependencies 612s accepts completed dependencies 612s raises an exception if any dependencies are not IVars 612s doesn't raise exceptions from dependencies, unless called with ! 612s returns a Future 612s does not schedule the Future 612s if no dependencies are completed 612s if one dependency of two is completed 612s schedules the Future when all dependencies are available 612s if there is just one 612s if there is more than one 612s counts already executed dependencies 612s if there is just one 612s if there is more than one 612s passes the values of dependencies into the block 612s if there is just one 612s if there is more than one 612s module function 612s can be called as Concurrent.dataflow and Concurrent.dataflow_with 612s 612s Concurrent::Delay 612s behavior 612s it should behave like dereferenceable 612s defaults :dup_on_deref to false 612s calls #dup when the :dup_on_deref option is true 612s defaults :freeze_on_deref to false 612s calls #freeze when the :freeze_on_deref option is true 612s defaults :copy_on_deref to nil 612s calls the block when the :copy_on_deref option is passed a proc 612s calls the :copy block first followed by #dup followed by #freeze 612s does not call #dup when #dup_on_deref is set and the value is nil 612s does not call #freeze when #freeze_on_deref is set and the value is nil 612s does not call the #copy_on_deref block when the value is nil 612s supports dereference flags with observers 612s it should behave like obligation 612s #state 612s is :pending when first created 612s is :fulfilled when the handler completes 612s is :rejected when the handler raises an exception 612s #value 612s returns nil when reaching the optional timeout value 612s returns immediately when timeout is zero 612s returns the value when fulfilled before timeout 612s returns nil when timeout reached 612s is nil when :pending 612s blocks the caller when :pending and timeout is nil 612s is nil when :rejected 612s is set to the return value of the block when :fulfilled 612s #reason 612s is nil when :pending 612s is nil when :fulfilled 612s is set to error object of the exception when :rejected 612s #initialize 612s sets the state to :pending 612s raises an exception when no block given 612s #reconfigure 612s returns value of block used in reconfiguration 612s returns false when process completed? 612s #value 612s does not call the block before #value is called 612s calls the block when #value is called 612s only calls the block once no matter how often #value is called 613s raises when called recursively 613s can be called twice 613s 613s Concurrent 613s Promises::Channel 613s #capacity 613s #to_s 613s #(try_)push(_op) 613s #(try_)pop(_op) 613s #(try_)pop(_op)_matching 613s #(try_)select(_op) 613s exchanging 613s integration 613s 613s Concurrent 613s ErlangActor 613s on thread 613s is expected to eq [:bad_message, -1] 613s behaves like erlang actor 613s run to termination 613s run to termination with arguments 613s #receive 613s pid has name 613s receives message 613s receives message with matchers 613s spawn(link: true) 613s termination 613s monitoring 613s (de)monitor 613s demonitor 613s demonitor should leave the down message in the inbox if it's already there 613s notifications 1 613s notifications 2 613s linking 613s links 613s unlinks 613s link dead 613s link dead when trapping 613s exit/1 when linked 613s 1 613s 2 613s 3 613s 4 613s 5 613s 6 613s 7 613s 8 613s 9 613s exit/2 when linked 613s 1 613s 2 613s 3 613s 4 613s 5 613s 6 613s 7 613s 8 613s 9 613s 10 613s 11 613s 12 613s 13 613s asking 613s replies 613s timing out (PENDING: flaky on truffleruby and jruby) 613s rejects on no reply 613s on pool 613s receives message repeatedly with keep 613s class defined 613s behaves like erlang actor 613s run to termination 613s run to termination with arguments 613s #receive 613s pid has name 613s receives message 613s receives message with matchers 613s spawn(link: true) 613s termination 613s monitoring 613s (de)monitor 613s demonitor 613s demonitor should leave the down message in the inbox if it's already there 613s notifications 1 613s notifications 2 613s linking 613s links 613s unlinks 613s link dead 613s link dead when trapping 613s exit/1 when linked 613s 1 613s 2 613s 3 613s 4 613s 5 613s 6 613s 7 613s 8 613s 9 613s exit/2 when linked 613s 1 613s 2 613s 3 613s 4 613s 5 613s 6 613s 7 613s 8 613s 9 613s 10 613s 11 613s 12 613s 13 613s asking 613s replies 613s timing out (PENDING: flaky on truffleruby and jruby) 613s rejects on no reply 613s 613s Concurrent::Edge::LockFreeLinkedSet 613s .new 613s when passed default val 613s uses the val arg as data for each node 613s #add 613s appends to the linked set 613s in a multi-threaded environment 614s adds the items to the set 614s #<< 614s appends to the linked set and returns self 614s returns self regardless of whether it was logically added 614s #contains? 614s when checking if set includes a value 614s returns true if a value exists 614s compares object using Object#hash 614s returns false for values not in the set 614s when set is empty 614s does not break 614s when set is long 614s does not break 614s in a multi-threaded environment 614s correctly check that the set contains the item 614s #remove 614s when item is inside of set 614s the item is no longer visible to the user 614s allows for the item to be added despite being physically present 614s in a multi-threaded environment 614s adds the items to the set 614s does not recognize the existence of the item when removed 614s when item is not inside of set 614s does not remove to value 614s the set remains intact 614s when the set is empty 614s remove does not break 614s when the set is large 614s remove successfully removes the node 614s 614s Concurrent::RubyExchanger 614s behaves like exchanger 614s #exchange 614s behaves like exchanger method with indefinite timeout 614s blocks indefinitely 614s receives the other value 614s can be reused 614s behaves like exchanger method with finite timeout 615s blocks until timeout 615s receives the other value 615s can be reused 615s behaves like exchanger method cross-thread interactions 615s when first, waits for a second 615s allows multiple firsts to cancel if necessary 615s #exchange! 615s behaves like exchanger method with indefinite timeout 615s blocks indefinitely 615s receives the other value 615s can be reused 615s behaves like exchanger method with finite timeout 615s blocks until timeout 615s receives the other value 615s can be reused 615s behaves like exchanger method cross-thread interactions 615s when first, waits for a second 616s allows multiple firsts to cancel if necessary 616s #try_exchange 616s behaves like exchanger method with indefinite timeout 616s blocks indefinitely 616s receives the other value 616s can be reused 616s behaves like exchanger method with finite timeout 616s blocks until timeout 616s receives the other value 616s can be reused 616s behaves like exchanger method cross-thread interactions 616s when first, waits for a second 616s allows multiple firsts to cancel if necessary 616s 616s Concurrent::JavaExchanger 616s behaves like exchanger 616s #exchange 616s behaves like exchanger method with indefinite timeout 616s blocks indefinitely 616s receives the other value 616s can be reused 616s behaves like exchanger method with finite timeout 617s blocks until timeout 617s receives the other value 617s can be reused 617s behaves like exchanger method cross-thread interactions 617s when first, waits for a second 617s allows multiple firsts to cancel if necessary 617s #exchange! 617s behaves like exchanger method with indefinite timeout 617s blocks indefinitely 617s receives the other value 617s can be reused 617s behaves like exchanger method with finite timeout 617s blocks until timeout 617s receives the other value 617s can be reused 617s behaves like exchanger method cross-thread interactions 617s when first, waits for a second 618s allows multiple firsts to cancel if necessary 618s #try_exchange 618s behaves like exchanger method with indefinite timeout 618s blocks indefinitely 618s receives the other value 618s can be reused 618s behaves like exchanger method with finite timeout 618s blocks until timeout 618s receives the other value 618s can be reused 618s behaves like exchanger method cross-thread interactions 618s when first, waits for a second 618s allows multiple firsts to cancel if necessary 618s 618s Concurrent::Exchanger 618s class hierarchy 618s inherits from JavaExchanger 618s 618s Concurrent::CachedThreadPool 618s it should behave like thread_pool 618s it should behave like executor_service 618s it should behave like global_thread_pool 618s #post 618s raises an exception if no block is given 618s returns true when the block is added to the queue 618s calls the block with the given arguments 618s aliases #<< 618s #post 619s rejects the block while shutting down 619s rejects the block once shutdown 619s auto terminate 622s does not stop shutdown 622s #running? 622s returns true when the thread pool is running 622s returns false when the thread pool is shutting down 622s returns false when the thread pool is shutdown 622s returns false when the thread pool is killed 622s #shuttingdown? 622s returns false when the thread pool is running 623s returns true when the thread pool is shutting down 623s returns false when the thread pool is shutdown 623s #shutdown? 623s returns false when the thread pool is running 623s returns false when the thread pool is shutting down 623s returns true when the thread pool is shutdown 623s #shutdown 623s stops accepting new tasks 623s allows in-progress tasks to complete 624s allows pending tasks to complete 624s #shutdown followed by #wait_for_termination 624s allows in-progress tasks to complete 624s allows pending tasks to complete 624s stops accepting/running new tasks 624s #kill 624s stops accepting new tasks 624s rejects all pending tasks 624s #wait_for_termination 624s immediately returns true when no operations are pending 624s returns true after shutdown has complete 625s returns true when shutdown successfully completes before timeout 625s returns false when shutdown fails to complete before timeout 626s waits forever when no timeout value is given 626s #auto_terminate? 626s returns true by default 626s returns true when :enable_at_exit_handler is true 626s returns false when :enable_at_exit_handler is false 626s #length 626s returns zero on creation 626s returns zero once shut down 626s #scheduled_task_count 626s returns zero on creation 626s returns the approximate number of tasks that have been post thus far 626s returns the approximate number of tasks that were post 626s #completed_task_count 626s returns zero on creation 626s #shutdown 627s allows threads to exit normally 627s #initialize 627s sets :max_length to DEFAULT_MAX_POOL_SIZE 627s sets :min_length to DEFAULT_MIN_POOL_SIZE 627s sets :idletime to DEFAULT_THREAD_IDLETIMEOUT 627s sets :max_queue to DEFAULT_MAX_QUEUE_SIZE 627s #min_length 627s returns zero on creation 627s returns zero while running 627s returns zero once shutdown 627s #max_length 627s returns :max_length on creation 627s returns :max_length while running 627s returns :max_length once shutdown 627s #largest_length 627s returns zero on creation 627s returns a non-zero number once tasks have been received 627s returns a non-zero number after shutdown if tasks have been received 627s #idletime 627s returns the thread idletime 627s runtime-specific implementation 627s #initialize 627s sets :fallback_policy correctly 627s defaults :fallback_policy to :abort 627s raises an exception if given an invalid :fallback_policy 627s stress 627s is expected to be <= 200 628s is expected to be <= 4 628s 628s Concurrent::FixedThreadPool 628s it should behave like thread_pool 628s it should behave like executor_service 628s it should behave like global_thread_pool 628s #post 628s raises an exception if no block is given 628s returns true when the block is added to the queue 628s calls the block with the given arguments 628s aliases #<< 628s #post 629s rejects the block while shutting down 629s rejects the block once shutdown 629s auto terminate 631s does not stop shutdown 631s #running? 631s returns true when the thread pool is running 631s returns false when the thread pool is shutting down 631s returns false when the thread pool is shutdown 631s returns false when the thread pool is killed 631s #shuttingdown? 631s returns false when the thread pool is running 632s returns true when the thread pool is shutting down 632s returns false when the thread pool is shutdown 632s #shutdown? 632s returns false when the thread pool is running 632s returns false when the thread pool is shutting down 632s returns true when the thread pool is shutdown 632s #shutdown 633s stops accepting new tasks 633s allows in-progress tasks to complete 633s allows pending tasks to complete 633s #shutdown followed by #wait_for_termination 633s allows in-progress tasks to complete 633s allows pending tasks to complete 633s stops accepting/running new tasks 633s #kill 634s stops accepting new tasks 634s rejects all pending tasks 634s #wait_for_termination 634s immediately returns true when no operations are pending 634s returns true after shutdown has complete 634s returns true when shutdown successfully completes before timeout 634s returns false when shutdown fails to complete before timeout 635s waits forever when no timeout value is given 635s #auto_terminate? 635s returns true by default 635s returns true when :enable_at_exit_handler is true 635s returns false when :enable_at_exit_handler is false 635s #length 635s returns zero on creation 635s returns zero once shut down 635s #scheduled_task_count 635s returns zero on creation 635s returns the approximate number of tasks that have been post thus far 635s returns the approximate number of tasks that were post 635s #completed_task_count 635s returns zero on creation 635s #shutdown 636s allows threads to exit normally 636s #initialize default values 636s defaults :min_length correctly 636s defaults :max_length correctly 636s defaults :fallback_policy to :abort 636s defaults :idletime correctly 636s defaults default :max_queue to zero 636s #initialize explicit values 636s raises an exception when the pool length is less than one 636s sets explicit :max_queue correctly 636s correctly sets valid :fallback_policy 636s correctly sets valid :idletime 636s raises an exception if given an invalid :fallback_policy 636s #min_length 636s returns :num_threads on creation 636s returns :num_threads while running 636s returns :num_threads once shutdown 636s #max_length 636s returns :num_threads on creation 636s returns :num_threads while running 636s returns :num_threads once shutdown 636s #length 636s returns :num_threads while running 636s #largest_length 636s returns zero on creation 636s returns :num_threads while running 636s returns :num_threads once shutdown 636s #kill 636s attempts to kill all in-progress tasks 636s worker creation and caching 637s never creates more than :num_threads threads 637s fallback policy 637s raises an error when overflow on abort 638s discards when fallback_policy is :discard 638s uses the calling thread for overflow under caller_runs 638s runtime-specific implementation 638s sets :fallback_policy correctly 638s 638s Concurrent::ImmediateExecutor 638s it should behave like executor_service 638s it should behave like global_thread_pool 638s #post 638s raises an exception if no block is given 638s returns true when the block is added to the queue 638s calls the block with the given arguments 638s aliases #<< 638s #post 639s rejects the block while shutting down 639s rejects the block once shutdown 639s auto terminate 641s does not stop shutdown 641s #running? 641s returns true when the thread pool is running 642s returns false when the thread pool is shutting down 642s returns false when the thread pool is shutdown 642s returns false when the thread pool is killed 642s #shuttingdown? 642s returns false when the thread pool is running 642s returns true when the thread pool is shutting down (PENDING: will never be in shuttingdown? state) 642s returns false when the thread pool is shutdown 642s #shutdown? 642s returns false when the thread pool is running 642s returns false when the thread pool is shutting down (PENDING: will never be in shuttingdown? state) 642s returns true when the thread pool is shutdown 642s #shutdown 642s stops accepting new tasks 642s allows in-progress tasks to complete 643s allows pending tasks to complete 643s #shutdown followed by #wait_for_termination 643s allows in-progress tasks to complete 643s allows pending tasks to complete 643s stops accepting/running new tasks 643s #kill 644s stops accepting new tasks 645s rejects all pending tasks 645s #wait_for_termination 645s immediately returns true when no operations are pending 645s returns true after shutdown has complete 646s returns true when shutdown successfully completes before timeout 646s returns false when shutdown fails to complete before timeout 646s waits forever when no timeout value is given 646s 646s Concurrent::IndirectImmediateExecutor 646s runs its tasks synchronously 646s runs the task on a separate thread 646s it should behave like executor_service 646s it should behave like global_thread_pool 646s #post 646s raises an exception if no block is given 646s returns true when the block is added to the queue 646s calls the block with the given arguments 646s aliases #<< 646s #post 647s rejects the block while shutting down 647s rejects the block once shutdown 647s auto terminate 650s does not stop shutdown 650s #running? 650s returns true when the thread pool is running 650s returns false when the thread pool is shutting down 650s returns false when the thread pool is shutdown 650s returns false when the thread pool is killed 650s #shuttingdown? 650s returns false when the thread pool is running 650s returns true when the thread pool is shutting down (PENDING: will never be in shuttingdown? state) 650s returns false when the thread pool is shutdown 650s #shutdown? 650s returns false when the thread pool is running 650s returns false when the thread pool is shutting down (PENDING: will never be in shuttingdown? state) 650s returns true when the thread pool is shutdown 650s #shutdown 651s stops accepting new tasks 651s allows in-progress tasks to complete 651s allows pending tasks to complete 651s #shutdown followed by #wait_for_termination 651s allows in-progress tasks to complete 652s allows pending tasks to complete 652s stops accepting/running new tasks 652s #kill 652s stops accepting new tasks 653s rejects all pending tasks 653s #wait_for_termination 653s immediately returns true when no operations are pending 653s returns true after shutdown has complete 654s returns true when shutdown successfully completes before timeout 654s returns false when shutdown fails to complete before timeout 655s waits forever when no timeout value is given 655s 655s Concurrent::JavaSingleThreadExecutor 655s it should behave like executor_service 655s it should behave like global_thread_pool 655s #post 655s raises an exception if no block is given 655s returns true when the block is added to the queue 655s calls the block with the given arguments 655s aliases #<< 655s #post 656s rejects the block while shutting down 656s rejects the block once shutdown 656s auto terminate 658s does not stop shutdown 658s #running? 658s returns true when the thread pool is running 658s returns false when the thread pool is shutting down 658s returns false when the thread pool is shutdown 658s returns false when the thread pool is killed 658s #shuttingdown? 658s returns false when the thread pool is running 659s returns true when the thread pool is shutting down 659s returns false when the thread pool is shutdown 659s #shutdown? 659s returns false when the thread pool is running 660s returns false when the thread pool is shutting down 660s returns true when the thread pool is shutdown 660s #shutdown 660s stops accepting new tasks 660s allows in-progress tasks to complete 660s allows pending tasks to complete 660s #shutdown followed by #wait_for_termination 660s allows in-progress tasks to complete 661s allows pending tasks to complete 661s stops accepting/running new tasks 661s #kill 661s stops accepting new tasks 662s rejects all pending tasks 662s #wait_for_termination 662s immediately returns true when no operations are pending 662s returns true after shutdown has complete 662s returns true when shutdown successfully completes before timeout 662s returns false when shutdown fails to complete before timeout 663s waits forever when no timeout value is given 663s 663s Concurrent::JavaThreadPoolExecutor 663s it should behave like thread_pool 663s it should behave like executor_service 663s it should behave like global_thread_pool 663s #post 663s raises an exception if no block is given 663s returns true when the block is added to the queue 663s calls the block with the given arguments 663s aliases #<< 663s #post 664s rejects the block while shutting down 664s rejects the block once shutdown 664s auto terminate 666s does not stop shutdown 666s #running? 666s returns true when the thread pool is running 666s returns false when the thread pool is shutting down 666s returns false when the thread pool is shutdown 666s returns false when the thread pool is killed 666s #shuttingdown? 666s returns false when the thread pool is running 667s returns true when the thread pool is shutting down 667s returns false when the thread pool is shutdown 667s #shutdown? 667s returns false when the thread pool is running 667s returns false when the thread pool is shutting down 667s returns true when the thread pool is shutdown 667s #shutdown 668s stops accepting new tasks 668s allows in-progress tasks to complete 668s allows pending tasks to complete 668s #shutdown followed by #wait_for_termination 668s allows in-progress tasks to complete 668s allows pending tasks to complete 669s stops accepting/running new tasks 669s #kill 669s stops accepting new tasks 669s rejects all pending tasks 669s #wait_for_termination 669s immediately returns true when no operations are pending 669s returns true after shutdown has complete 670s returns true when shutdown successfully completes before timeout 670s returns false when shutdown fails to complete before timeout 670s waits forever when no timeout value is given 670s #auto_terminate? 670s returns true by default 670s returns true when :enable_at_exit_handler is true 670s returns false when :enable_at_exit_handler is false 670s #length 670s returns zero on creation 670s returns zero once shut down 670s #scheduled_task_count 670s returns zero on creation 670s returns the approximate number of tasks that have been post thus far 670s returns the approximate number of tasks that were post 671s #completed_task_count 671s returns zero on creation 671s #shutdown 672s allows threads to exit normally 672s it should behave like thread_pool_executor 672s #initialize defaults 672s defaults :min_length to DEFAULT_MIN_POOL_SIZE 672s defaults :max_length to DEFAULT_MAX_POOL_SIZE 672s defaults :idletime to DEFAULT_THREAD_IDLETIMEOUT 672s defaults :max_queue to DEFAULT_MAX_QUEUE_SIZE 672s defaults :fallback_policy to :abort 672s defaults :name to nil 672s #initialize explicit values 672s sets :min_threads 672s sets :max_threads 672s sets :idletime 672s doesn't allow max_threads < min_threads 672s accepts all valid fallback policies 672s raises an exception if :max_threads is less than zero 672s raises an exception if :min_threads is less than zero 672s raises an exception if :max_threads greater than the max allowable 672s raises an exception if :max_threads is less than :min_threads 672s raises an exception if given an invalid :fallback_policy 672s sets :name 672s #max_queue 672s returns the set value on creation 672s returns the set value when running 672s returns the set value after stopping 672s #synchronous 672s cannot be set unless `max_queue` is zero 672s executes fallback policy once max_threads has been reached 672s #queue_length 672s returns zero on creation 672s returns zero when there are no enqueued tasks 672s returns the size of the queue when tasks are enqueued 672s returns zero when stopped 672s can never be greater than :max_queue 672s #remaining_capacity 672s returns -1 when :max_queue is set to zero 672s returns :max_length on creation 672s returns :max_length when stopped 672s #active_count 672s returns the number of threads that are actively executing tasks. 672s #fallback_policy 672s :abort 672s #post raises an error when the queue is at capacity 672s #<< raises an error when the queue is at capacity 672s #post raises an error when the executor is shutting down 672s #<< raises an error when the executor is shutting down 672s a #post task is never executed when the queue is at capacity 672s a #<< task is never executed when the queue is at capacity 672s :discard 672s a #post task is never executed when the queue is at capacity 672s a #<< task is never executed when the queue is at capacity 672s a #post task is never executed when the executor is shutting down 672s a #<< task is never executed when the executor is shutting down 672s #post returns false when the executor is shutting down 672s :caller_runs 672s #post does not create any new threads when the queue is at capacity 672s #<< executes the task on the current thread when the queue is at capacity 672s #post executes the task on the current thread when the queue is at capacity 672s #post executes the task on the current thread when the executor is shutting down 672s #<< executes the task on the current thread when the executor is shutting down 672s #post does not block other jobs running on the worker threads 672s prune 672s is a no-op, pruning is handled by the JVM 672s #overload_policy 672s :abort maps to AbortPolicy 672s :discard maps to DiscardPolicy 672s :caller_runs maps to CallerRunsPolicy 672s 672s Concurrent::RubySingleThreadExecutor 672s it should behave like executor_service 672s it should behave like global_thread_pool 672s #post 672s raises an exception if no block is given 672s returns true when the block is added to the queue 672s calls the block with the given arguments 672s aliases #<< 672s #post 673s rejects the block while shutting down 673s rejects the block once shutdown 673s auto terminate 675s does not stop shutdown 675s #running? 675s returns true when the thread pool is running 676s returns false when the thread pool is shutting down 676s returns false when the thread pool is shutdown 676s returns false when the thread pool is killed 676s #shuttingdown? 676s returns false when the thread pool is running 676s returns true when the thread pool is shutting down 676s returns false when the thread pool is shutdown 676s #shutdown? 676s returns false when the thread pool is running 677s returns false when the thread pool is shutting down 677s returns true when the thread pool is shutdown 677s #shutdown 677s stops accepting new tasks 677s allows in-progress tasks to complete 678s allows pending tasks to complete 678s #shutdown followed by #wait_for_termination 678s allows in-progress tasks to complete 678s allows pending tasks to complete 678s stops accepting/running new tasks 678s #kill 679s stops accepting new tasks 679s rejects all pending tasks 679s #wait_for_termination 679s immediately returns true when no operations are pending 679s returns true after shutdown has complete 679s returns true when shutdown successfully completes before timeout 680s returns false when shutdown fails to complete before timeout 680s waits forever when no timeout value is given 680s 680s Concurrent::RubyThreadPoolExecutor 680s it should behave like thread_pool 680s it should behave like executor_service 680s it should behave like global_thread_pool 680s #post 680s raises an exception if no block is given 680s returns true when the block is added to the queue 680s calls the block with the given arguments 680s aliases #<< 680s #post 681s rejects the block while shutting down 681s rejects the block once shutdown 681s auto terminate 683s does not stop shutdown 683s #running? 683s returns true when the thread pool is running 684s returns false when the thread pool is shutting down 684s returns false when the thread pool is shutdown 684s returns false when the thread pool is killed 684s #shuttingdown? 684s returns false when the thread pool is running 684s returns true when the thread pool is shutting down 684s returns false when the thread pool is shutdown 684s #shutdown? 684s returns false when the thread pool is running 685s returns false when the thread pool is shutting down 685s returns true when the thread pool is shutdown 685s #shutdown 685s stops accepting new tasks 685s allows in-progress tasks to complete 685s allows pending tasks to complete 685s #shutdown followed by #wait_for_termination 686s allows in-progress tasks to complete 686s allows pending tasks to complete 686s stops accepting/running new tasks 686s #kill 686s stops accepting new tasks 686s rejects all pending tasks 686s #wait_for_termination 686s immediately returns true when no operations are pending 686s returns true after shutdown has complete 687s returns true when shutdown successfully completes before timeout 687s returns false when shutdown fails to complete before timeout 687s waits forever when no timeout value is given 687s #auto_terminate? 687s returns true by default 687s returns true when :enable_at_exit_handler is true 687s returns false when :enable_at_exit_handler is false 687s #length 687s returns zero on creation 687s returns zero once shut down 687s #scheduled_task_count 687s returns zero on creation 687s returns the approximate number of tasks that have been post thus far 687s returns the approximate number of tasks that were post 687s #completed_task_count 687s returns zero on creation 688s #shutdown 689s allows threads to exit normally 689s it should behave like thread_pool_executor 689s #initialize defaults 689s defaults :min_length to DEFAULT_MIN_POOL_SIZE 689s defaults :max_length to DEFAULT_MAX_POOL_SIZE 689s defaults :idletime to DEFAULT_THREAD_IDLETIMEOUT 689s defaults :max_queue to DEFAULT_MAX_QUEUE_SIZE 689s defaults :fallback_policy to :abort 689s defaults :name to nil 689s #initialize explicit values 689s sets :min_threads 689s sets :max_threads 689s sets :idletime 689s doesn't allow max_threads < min_threads 689s accepts all valid fallback policies 689s raises an exception if :max_threads is less than zero 689s raises an exception if :min_threads is less than zero 689s raises an exception if :max_threads greater than the max allowable 689s raises an exception if :max_threads is less than :min_threads 689s raises an exception if given an invalid :fallback_policy 689s sets :name 689s #max_queue 689s returns the set value on creation 689s returns the set value when running 689s returns the set value after stopping 689s #synchronous 689s cannot be set unless `max_queue` is zero 689s executes fallback policy once max_threads has been reached 689s #queue_length 689s returns zero on creation 689s returns zero when there are no enqueued tasks 689s returns the size of the queue when tasks are enqueued 689s returns zero when stopped 689s can never be greater than :max_queue 689s #remaining_capacity 689s returns -1 when :max_queue is set to zero 689s returns :max_length on creation 689s returns :max_length when stopped 689s #active_count 689s returns the number of threads that are actively executing tasks. 689s #fallback_policy 689s :abort 689s #post raises an error when the queue is at capacity 689s #<< raises an error when the queue is at capacity 689s #post raises an error when the executor is shutting down 689s #<< raises an error when the executor is shutting down 689s a #post task is never executed when the queue is at capacity 689s a #<< task is never executed when the queue is at capacity 689s :discard 689s a #post task is never executed when the queue is at capacity 689s a #<< task is never executed when the queue is at capacity 689s a #post task is never executed when the executor is shutting down 689s a #<< task is never executed when the executor is shutting down 689s #post returns false when the executor is shutting down 689s :caller_runs 689s #post does not create any new threads when the queue is at capacity 689s #<< executes the task on the current thread when the queue is at capacity 689s #post executes the task on the current thread when the queue is at capacity 689s #post executes the task on the current thread when the executor is shutting down 689s #<< executes the task on the current thread when the executor is shutting down 689s #post does not block other jobs running on the worker threads 689s #remaining_capacity 689s returns :max_length when no tasks are enqueued 689s returns the remaining capacity when tasks are enqueued 689s threads naming 689s without pool name 689s sets counted name 689s with pool name 689s sets counted name 689s 689s Concurrent::SafeTaskExecutor 689s #execute 689s happy execution 689s should return success 689s should return task value 689s should return a nil reason 689s passes all arguments to #execute to the task 689s protectes #execute with a mutex 689s failing execution 689s should return false success 689s should return a nil value 689s should return the reason 689s rescues Exception when :rescue_exception is true 689s rescues StandardError when :rescue_exception is false 689s rescues StandardError by default 689s 689s Concurrent::SerializedExecutionDelegator 689s it should behave like executor_service 689s it should behave like global_thread_pool 689s #post 689s raises an exception if no block is given 689s returns true when the block is added to the queue 689s calls the block with the given arguments 689s aliases #<< 689s #post 690s rejects the block while shutting down 690s rejects the block once shutdown 690s auto terminate 692s does not stop shutdown 692s #running? 692s returns true when the thread pool is running 693s returns false when the thread pool is shutting down 693s returns false when the thread pool is shutdown 693s returns false when the thread pool is killed 693s #shuttingdown? 693s returns false when the thread pool is running 693s returns true when the thread pool is shutting down (PENDING: will never be in shuttingdown? state) 693s returns false when the thread pool is shutdown 693s #shutdown? 693s returns false when the thread pool is running 693s returns false when the thread pool is shutting down (PENDING: will never be in shuttingdown? state) 693s returns true when the thread pool is shutdown 693s #shutdown 693s stops accepting new tasks 693s allows in-progress tasks to complete 694s allows pending tasks to complete 694s #shutdown followed by #wait_for_termination 694s allows in-progress tasks to complete 694s allows pending tasks to complete 694s stops accepting/running new tasks 694s #kill 695s stops accepting new tasks 696s rejects all pending tasks 696s #wait_for_termination 696s immediately returns true when no operations are pending 696s returns true after shutdown has complete 697s returns true when shutdown successfully completes before timeout 697s returns false when shutdown fails to complete before timeout 697s waits forever when no timeout value is given 697s 697s Concurrent::SimpleExecutorService 697s it should behave like executor_service 697s it should behave like global_thread_pool 697s #post 697s raises an exception if no block is given 697s returns true when the block is added to the queue 697s calls the block with the given arguments 697s aliases #<< 697s #post 698s rejects the block while shutting down 698s rejects the block once shutdown 698s auto terminate 700s does not stop shutdown 700s #running? 700s returns true when the thread pool is running 701s returns false when the thread pool is shutting down 701s returns false when the thread pool is shutdown 701s returns false when the thread pool is killed 701s #shuttingdown? 701s returns false when the thread pool is running 701s returns true when the thread pool is shutting down 701s returns false when the thread pool is shutdown 701s #shutdown? 701s returns false when the thread pool is running 702s returns false when the thread pool is shutting down 702s returns true when the thread pool is shutdown 702s #shutdown 702s stops accepting new tasks 702s allows in-progress tasks to complete 703s allows pending tasks to complete 703s #shutdown followed by #wait_for_termination 703s allows in-progress tasks to complete 703s allows pending tasks to complete 703s stops accepting/running new tasks 703s #kill 703s stops accepting new tasks 703s rejects all pending tasks 703s #wait_for_termination 703s immediately returns true when no operations are pending 703s returns true after shutdown has complete 704s returns true when shutdown successfully completes before timeout 705s returns false when shutdown fails to complete before timeout 705s waits forever when no timeout value is given 705s #post 705s creates a new thread for a call without arguments 705s executes a call without arguments 705s creates a new thread for a call with arguments 705s executes a call with one argument 705s executes a call with multiple arguments 705s aliases #<< 705s SimpleExecutorService.post 705s creates a new thread for a call without arguments 705s executes a call without arguments 705s creates a new thread for a call with arguments 705s executes a call with one argument 705s executes a call with multiple arguments 705s aliases #<< 705s 705s Concurrent::SingleThreadExecutor 705s inherits from JavaSingleThreadExecutor 705s 705s Concurrent::ThreadPoolExecutor 705s inherits from JavaThreadPoolExecutor 705s 705s Concurrent::TimerSet 705s construction 705s uses the executor given at construction 705s uses the global io executor be default 705s #post 705s raises an exception when given a task with a delay less than zero 705s raises an exception when no block given 705s immediately posts a task when the delay is zero 705s execution 705s executes a given task when given an interval in seconds 705s returns an IVar when posting a task 705s executes a given task when given an interval in seconds, even if longer tasks have been scheduled 705s passes all arguments to the task on execution 705s does not execute tasks early 705s executes all tasks scheduled for the same time 705s executes tasks with different times in schedule order 705s executes tasks with different times in schedule time 706s continues to execute new tasks even after the queue is emptied 706s safely handles an executor raising RejectedExecutionError 706s resolution 706s sets the IVar value on success when delay is zero 706s sets the IVar value on success when given a delay 706s sets the IVar reason on failure when delay is zero 706s sets the IVar reason on failure when given a delay 706s task cancellation 706s fails to cancel the task once processing has begun 707s fails to cancel the task once processing is complete 707s cancels a pending task 707s returns false when not running 707s task rescheduling 707s raises an exception when given an invalid time 707s does not change the current schedule when given an invalid time 707s reschdules a pending and unpost task when given a valid time 707s returns false once the task has been post to the executor 707s returns false once the task is processing 707s returns false once the task has is complete 707s returns false when not running 707s task resetting 707s calls #reschedule with the original delay 707s termination 707s cancels all pending tasks on #shutdown 707s cancels all pending tasks on #kill 707s stops the monitor thread on #shutdown 707s kills the monitor thread on #kill 707s rejects tasks once shutdown 707s rejects tasks once killed 707s #wait_for_termination returns true if shutdown completes before timeout 707s #wait_for_termination returns false on timeout 707s state 707s is running? when first created 707s is running? after tasks have been post 707s is shutdown? after shutdown completes 707s is shutdown? after being killed 707s 707s Concurrent::WrappingExecutor 707s is expected to be a kind of Concurrent::WrappingExecutor 707s is expected to respond to #post 707s is expected to respond to #can_overflow? 707s is expected to respond to #serialized? 707s #post 707s with passthrough wrapper 707s is expected to equal # 707s with wrapper modifying args 707s is expected to equal # 707s with wrapper modifying task 707s is expected to equal # 707s 707s Concurrent::Future 707s it should behave like ivar 707s it should behave like obligation 707s #state 707s is :pending when first created 707s is :fulfilled when the handler completes 707s is :rejected when the handler raises an exception 707s #value 707s returns nil when reaching the optional timeout value 707s returns immediately when timeout is zero 712s returns the value when fulfilled before timeout 712s returns nil when timeout reached 712s is nil when :pending 717s blocks the caller when :pending and timeout is nil 717s is nil when :rejected 717s is set to the return value of the block when :fulfilled 717s #reason 717s is nil when :pending 717s is nil when :fulfilled 717s is set to error object of the exception when :rejected 717s it should behave like dereferenceable 717s defaults :dup_on_deref to false 717s calls #dup when the :dup_on_deref option is true 718s defaults :freeze_on_deref to false 718s calls #freeze when the :freeze_on_deref option is true 718s defaults :copy_on_deref to nil 719s calls the block when the :copy_on_deref option is passed a proc 719s calls the :copy block first followed by #dup followed by #freeze 719s does not call #dup when #dup_on_deref is set and the value is nil 719s does not call #freeze when #freeze_on_deref is set and the value is nil 719s does not call the #copy_on_deref block when the value is nil 719s supports dereference flags with observers 719s it should behave like observable 719s #add_observer 719s adds an observer if called before first notification 719s adds an observer with :func if called before first notification 719s creates an observer from a block if called before first notification 719s raises an exception if not given an observer or a block 719s raises an exception when given both an observer and a block 719s #delete_observer 719s deletes the given observer if called before first notification 719s returns the removed observer if found in the observer set 719s returns the given observer even when not found in the observer set 719s #delete_observers 719s deletes all observers when called before first notification 719s returns self 719s #count_observers 719s returns zero for a new observable object 719s returns a count of registered observers if called before first notification 719s returns zero after #delete_observers has been called 719s first notification 719s calls the #update method on all observers without a specified :func 719s calls the appropriate function on all observers which specified a :func 719s calls the proc for all observers added as a block 721s does not notify any observers removed with #delete_observer 722s does not notify any observers after #delete_observers called 722s initialization 722s sets the state to incomplete 722s #set 722s sets the state to be fulfilled 722s sets the value 722s raises an exception if set more than once 722s returns self 722s fulfils when given a block which executes successfully 722s rejects when given a block which raises an exception 722s raises an exception when given a value and a block 722s raises an exception when given neither a value nor a block 722s #fail 722s sets the state to be rejected 722s sets the value to be nil 722s sets the reason to the given exception 722s raises an exception if set more than once 722s defaults the reason to a StandardError 722s returns self 722s #try_set 722s when unset 722s assigns the value 722s assigns the block result 722s returns true 722s when fulfilled 722s does not assign the value 722s does not assign the block result 722s returns false 722s when rejected 722s does not assign the value 722s does not assign the block result 722s has a nil value 722s returns false 722s it should behave like thread_arguments 722s passes an empty array when opts is not given 722s passes an empty array when opts is an empty hash 722s passes an empty array when there is no :args key 722s passes an empty array when the :args key has a nil value 722s passes a one-element array when the :args key has a non-array value 722s passes an array when when the :args key has an array value 722s passes the given array when the :args key has a complex array value 722s allows the given arguments array to be dereferenced 722s #initialize 722s sets the state to :unscheduled 722s raises an exception when no block given 722s uses the executor given with the :executor option 722s uses the global io executor by default 722s instance #execute 722s does nothing unless the state is :unscheduled 722s posts the block given on construction 722s sets the state to :pending 722s returns self 722s class #execute 722s creates a new Future 722s passes the block to the new Future 722s calls #execute on the new Future 722s fulfillment 722s sets the state to :processing while the task is executing 722s passes all arguments to handler 722s sets the value to the result of the handler 722s sets the state to :fulfilled when the block completes 722s sets the value to nil when the handler raises an exception 722s sets the value to nil when the handler raises Exception 722s sets the reason to the Exception instance when the handler raises Exception 722s sets the state to :rejected when the handler raises an exception 722s aliases 722s aliases #realized? for #fulfilled? 722s aliases #deref for #value 722s cancellation 722s #cancel 722s fails to cancel the task once processing has begun 722s fails to cancel the task once processing is complete 722s cancels a pending task 722s #wait_or_cancel 722s returns true if the operation completes before timeout 722s cancels the task on timeout 722s observation 722s notifies all observers on fulfillment 722s notifies all observers on rejection 722s notifies an observer added after fulfillment 722s notifies an observer added after rejection 722s does not notify existing observers when a new observer added after fulfillment 722s does not notify existing observers when a new observer added after rejection 722s deadlock avoidance 722s should notify observers outside mutex lock 722s should notify a new observer added after fulfillment outside lock 722s 722s Concurrent::Hash 722s .[] 722s when initializing with no arguments 722s is expected to be empty 722s when initializing with an even number of arguments 722s creates a hash using the odd position arguments as keys and even position arguments as values 722s when initializing with an array of pairs 722s creates a hash using each pair as a (key, value) pair 722s when initializing with another hash as an argument 722s creates a new hash 722s creates a hash with the same contents as the other hash 722s creates a hash with the results of calling #to_hash on the other array 722s .new 722s when initializing with no arguments 722s is expected to be empty 722s when initialized with a default object 722s uses the default object for non-existing keys 722s when initialized with a block 722s calls the block for non-existing keys 722s returns the results of calling the block for non-existing key 722s concurrency 722s is expected to be empty 722s 722s Concurrent::ImmutableStruct 722s it should behave like struct 722s definition 722s registers the class when given a class name 722s registers the class when given a class name which is defined in the ancestors 722s creates an anonymous class when given at least one member 722s raises an exception when given an invalid class name 722s defines a getter for each member 722s raises an exception when given no members 722s raise an exception when given an invalid member 722s evalues a given block against the new class 722s construction 722s sets all absent members to nil 722s sets all given members in order 722s raises an exception when extra members are given 722s properties 722s #length 722s returns the number of struct members 722s #members 722s returns the struct members as an array of symbols 722s returns a different object than the array passed at definition 722s #size 722s returns the number of struct members 722s #values 722s returns the values of the struct as an array in order 722s #values_at 722s returns the value at the given offset 722s returns the values at multiple given offsets 722s returns values at offsets in a given range 722s returns values for multiple ranges 722s returns values for ranges and offsets 722s accessors 722s #[member] 722s retrieves the value when given a valid symbol member 722s retrieves the value when given a valid string member 722s raises an exception when given a non-existent symbol member 722s raises an exception when given a non-existent string member 722s #[index] 722s retrieves the value when given a valid index 722s raises an exception when given an out-of-bound index 722s comparison 722s #== 722s returns true if other has same struct subclass and equal values 722s returns false if other has different struct subclass 722s returns false if other has different values 722s #!= 722s returns false if other has same struct subclass and equal values 722s returns true if other has different struct subclass 722s returns true if other has different values 722s enumeration 722s #each 722s yields the value of each struct member in order 722s returns an enumerator when no block is given 722s #each_pair 722s yields the name and value of each struct member in order 722s returns an enumerator when no block is given 722s #select 722s yields each value 722s returns an Array with the values from for which the block returns true 722s returns an enumerator when no block is given 722s conversion 722s #to_s 722s includes the name of the class when registered 722s includes the names of all members 722s includes all values 722s returns the same string as #inspect 722s #to_a 722s returns the to_a for this struct as an array 722s #to_h 722s returns a Hash containing the names and values in order 722s copy 722s #dup 722s shallowly duplicates all members along with the struct 722s discards frozen state of the struct 722s retains frozen state of members 722s discards singleton class 722s copies the singleton class of members 722s #clone 722s shallowly clones all members along with the struct 722s retains frozen state 722s copies the singleton class 722s copies the singleton class of members 722s it should behave like mergeable_struct 722s #merge 722s updates all members with the new values from a given hash 722s calls the given block for each key in `other` 722s retains the value for all members not without values in the given hash 722s raises an exception when given a hash with members not in the struct 722s returns a new object 722s 722s Concurrent::IVar 722s it should behave like ivar 722s it should behave like obligation 722s #state 722s is :pending when first created 722s is :fulfilled when the handler completes 722s is :rejected when the handler raises an exception 722s #value 722s returns nil when reaching the optional timeout value 722s returns immediately when timeout is zero 722s returns the value when fulfilled before timeout 722s returns nil when timeout reached 722s is nil when :pending 722s blocks the caller when :pending and timeout is nil 722s is nil when :rejected 722s is set to the return value of the block when :fulfilled 722s #reason 722s is nil when :pending 722s is nil when :fulfilled 722s is set to error object of the exception when :rejected 722s it should behave like dereferenceable 722s defaults :dup_on_deref to false 722s calls #dup when the :dup_on_deref option is true 722s defaults :freeze_on_deref to false 722s calls #freeze when the :freeze_on_deref option is true 722s defaults :copy_on_deref to nil 722s calls the block when the :copy_on_deref option is passed a proc 722s calls the :copy block first followed by #dup followed by #freeze 722s does not call #dup when #dup_on_deref is set and the value is nil 722s does not call #freeze when #freeze_on_deref is set and the value is nil 722s does not call the #copy_on_deref block when the value is nil 722s supports dereference flags with observers 722s it should behave like observable 722s #add_observer 722s adds an observer if called before first notification 722s adds an observer with :func if called before first notification 722s creates an observer from a block if called before first notification 722s raises an exception if not given an observer or a block 722s raises an exception when given both an observer and a block 722s #delete_observer 722s deletes the given observer if called before first notification 722s returns the removed observer if found in the observer set 722s returns the given observer even when not found in the observer set 722s #delete_observers 722s deletes all observers when called before first notification 722s returns self 722s #count_observers 722s returns zero for a new observable object 722s returns a count of registered observers if called before first notification 722s returns zero after #delete_observers has been called 722s first notification 722s calls the #update method on all observers without a specified :func 722s calls the appropriate function on all observers which specified a :func 722s calls the proc for all observers added as a block 723s does not notify any observers removed with #delete_observer 724s does not notify any observers after #delete_observers called 724s initialization 724s sets the state to incomplete 724s #set 724s sets the state to be fulfilled 724s sets the value 724s raises an exception if set more than once 724s returns self 724s fulfils when given a block which executes successfully 724s rejects when given a block which raises an exception 725s raises an exception when given a value and a block 725s raises an exception when given neither a value nor a block 725s #fail 725s sets the state to be rejected 725s sets the value to be nil 725s sets the reason to the given exception 725s raises an exception if set more than once 725s defaults the reason to a StandardError 725s returns self 725s #try_set 725s when unset 725s assigns the value 725s assigns the block result 725s returns true 725s when fulfilled 725s does not assign the value 725s does not assign the block result 725s returns false 725s when rejected 725s does not assign the value 725s does not assign the block result 725s has a nil value 725s returns false 725s #initialize 725s does not have to set an initial value 725s does not set an initial value if you pass NULL 725s can set an initial value 725s can set an initial value with a block 725s raises an exception if given both a value and a block 725s observation 725s notifies all observers on #set 725s deadlock avoidance 725s should notify observers outside mutex lock 725s should notify a new observer added after fulfillment outside lock 725s 725s Concurrent::LazyRegister 725s example at ./spec/concurrent/lazy_register_spec.rb:6 (PENDING: Not yet implemented) 725s 725s Concurrent::Map 725s default_proc is called with the Concurrent::Map and the key 725s default_proc is called with the Concurrent::Map and the key after #dup 725s concurrency 725s retrieval 725s #put_if_absent 725s updates dont block reads 725s collision resistance 731s collision resistance with arrays 731s #replace_pair 731s #replace_if_exists 731s #get_and_set 731s #key 731s #key? 731s #value? 731s #delete 731s #delete_pair 731s default proc 731s falsy default proc 731s #clear 731s #keys 731s #values 731s #each_key 731s #each_value 731s #empty 731s options validation 731s initial capacity options validation 731s load factor options validation 731s #size 731s #get_or_default 731s #dup,#clone 731s is unfreezable 731s marshal dump load 731s marshal dump does not work with default proc 731s #inspect 731s #compute_if_absent 731s works in default_proc 731s common 731s with return 731s exception 731s atomicity 731s #compute_if_present 731s common 731s with return 731s exception 731s #compute 731s common 731s with return 731s exception 731s #merge_pair 731s common 731s with return 731s exception 731s #fetch 731s common 731s falsy 731s with return 731s #fetch_or_store 731s common 731s falsy 731s with return 731s #each_pair 731s it should behave like collection_each 731s common 731s pair iterator 731s allows modification 731s when no block is given 731s returns an enumerator 731s returns an object which is enumerable 731s #each 731s it should behave like collection_each 731s common 731s pair iterator 731s allows modification 731s when no block is given 731s returns an enumerator 731s returns an object which is enumerable 731s 731s Concurrent::Maybe 731s construction 731s hides Maybe.new 731s Maybe.from 731s raises an exception when no block is given 731s passes all arguments to the block 731s creates a Just Maybe on success 731s sets the value to the block result on success 731s creates a Nothing Maybe on exception 731s sets the reason to the error object on exception 731s Maybe.just 731s creates a new Just Maybe 731s Maybe.nothing 731s creates a new Nothing Maybe 731s uses the given Error object 731s creates a new error object with the given string 731s creates a new error object when given nothing 731s when just 731s #just? returns true 731s #fulfilled? returns true 731s #nothing? returns false 731s #rejected? returns false 731s #just returns the value 731s #value returns the value 731s #nothing returns NONE 731s #reason returns NONE 731s when nothing 731s #just? returns false 731s #fulfilled? returns false 731s #nothing? returns true 731s #rejected? returns true 731s #just returns NONE 731s #value returns NONE 731s #nothing returns the raised error 731s #reason returns the raised error 731s comparison 731s something is not equal to nothing 731s nothing is equal to nothing 731s something is equal to the same value 731s something is not equal to a different value 731s something is greater than a smaller value 731s something is less than a bigger value 731s nothing is not less than nothing 731s nothing is not greater than nothing 731s #or 731s returns the value when something 731s returns the other when nothing 731s 731s monotonic_time 731s behavior 731s returns seconds as float 731s returns a Float when unit = :float_second 731s returns a Float when unit = :float_millisecond 731s returns a Float when unit = :float_microsecond 731s returns an Integer when unit = :second 731s returns an Integer when unit = :millisecond 731s returns an Integer when unit = :microsecond 731s returns an Integer when unit = :nanosecond 731s raises ArgumentError on unknown units 731s 731s Concurrent::MutableStruct 731s it should behave like struct 731s definition 731s registers the class when given a class name 731s /tmp/autopkgtest.naGR5j/build.gQM/src/spec/concurrent/struct_shared.rb:15: warning: already initialized constant ValidClassName2 731s registers the class when given a class name which is defined in the ancestors 731s creates an anonymous class when given at least one member 731s raises an exception when given an invalid class name 731s defines a getter for each member 731s raises an exception when given no members 731s raise an exception when given an invalid member 731s evalues a given block against the new class 731s construction 731s sets all absent members to nil 731s sets all given members in order 731s raises an exception when extra members are given 731s properties 731s #length 731s returns the number of struct members 731s #members 731s returns the struct members as an array of symbols 731s returns a different object than the array passed at definition 731s #size 731s returns the number of struct members 731s #values 731s returns the values of the struct as an array in order 731s #values_at 731s returns the value at the given offset 731s returns the values at multiple given offsets 731s returns values at offsets in a given range 731s returns values for multiple ranges 731s returns values for ranges and offsets 731s accessors 731s #[member] 731s retrieves the value when given a valid symbol member 731s retrieves the value when given a valid string member 731s raises an exception when given a non-existent symbol member 731s raises an exception when given a non-existent string member 731s #[index] 731s retrieves the value when given a valid index 731s raises an exception when given an out-of-bound index 731s comparison 731s #== 731s returns true if other has same struct subclass and equal values 731s returns false if other has different struct subclass 731s returns false if other has different values 731s #!= 731s returns false if other has same struct subclass and equal values 731s returns true if other has different struct subclass 731s returns true if other has different values 731s enumeration 731s #each 731s yields the value of each struct member in order 731s returns an enumerator when no block is given 731s #each_pair 731s yields the name and value of each struct member in order 731s returns an enumerator when no block is given 731s #select 731s yields each value 731s returns an Array with the values from for which the block returns true 731s returns an enumerator when no block is given 731s conversion 731s #to_s 731s includes the name of the class when registered 731s includes the names of all members 731s includes all values 731s returns the same string as #inspect 731s #to_a 731s returns the to_a for this struct as an array 731s #to_h 731s returns a Hash containing the names and values in order 731s copy 731s #dup 731s shallowly duplicates all members along with the struct 731s discards frozen state of the struct 731s retains frozen state of members 731s discards singleton class 731s copies the singleton class of members 731s #clone 731s shallowly clones all members along with the struct 731s retains frozen state 731s copies the singleton class 731s copies the singleton class of members 731s it should behave like mergeable_struct 731s #merge 731s updates all members with the new values from a given hash 731s calls the given block for each key in `other` 731s retains the value for all members not without values in the given hash 731s raises an exception when given a hash with members not in the struct 731s returns a new object 731s definition 731s defines a setter for each member 731s #[member]= 731s sets the value when given a valid symbol member 731s sets the value when given a valid string member 731s raises an exception when given a non-existent symbol member 731s raises an exception when given a non-existent string member 731s #[index]= 731s sets the value when given a valid index 731s raises an exception when given an out-of-bound index 731s synchronization 731s protects #values 731s protects #values_at 731s protects #[index] 731s protects #[member] 731s protects getter methods 731s protects #[index]= 731s protects #[member]= 731s protects getter methods 731s protects #to_s 732s protects #inspect 732s protects #merge 732s protects #to_h 732s protects #== 732s protects #each 732s protects #each_pair 732s protects #select 732s protects #initialize_copy 732s copy 732s #dup 732s mutates only the copy 732s #clone 732s mutates only the copy 732s 732s Concurrent::MVar 732s behavior 732s it should behave like dereferenceable 732s defaults :dup_on_deref to false 732s calls #dup when the :dup_on_deref option is true 732s defaults :freeze_on_deref to false 732s calls #freeze when the :freeze_on_deref option is true 732s defaults :copy_on_deref to nil 732s calls the block when the :copy_on_deref option is passed a proc 732s calls the :copy block first followed by #dup followed by #freeze 732s does not call #dup when #dup_on_deref is set and the value is nil 732s does not call #freeze when #freeze_on_deref is set and the value is nil 732s does not call the #copy_on_deref block when the value is nil 732s supports dereference flags with observers 732s #initialize 732s accepts no initial value 732s accepts an empty initial value 732s accepts an initial value 732s accepts a nil initial value 732s #take 732s sets the MVar to empty 732s returns the value on a full MVar 732s waits for another thread to #put 732s returns TIMEOUT on timeout on an empty MVar 732s #borrow 732s /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 732s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 732s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/yield.rb:101 732s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/yield.rb:7 732s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/yield.rb:6 732s
at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/yield.rb:5 732s require at org/jruby/RubyKernel.java:1184 732s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 732s yield_with_args at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers.rb:920 732s Concurrent at /tmp/autopkgtest.naGR5j/build.gQM/src/spec/concurrent/mvar_spec.rb:78 732s instance_exec at org/jruby/RubyBasicObject.java:2620 732s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:263 732s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 732s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 732s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 732s run_around_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:624 732s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 732s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 732s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 732s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:259 732s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:646 732s map at org/jruby/RubyArray.java:2803 732s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:651 732s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:607 732s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:608 732s map at org/jruby/RubyArray.java:2803 732s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:608 732s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121 732s map at org/jruby/RubyArray.java:2803 732s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:145 732s with_suite_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:2091 732s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:116 732s report at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/reporter.rb:74 732s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:115 732s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:89 732s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:71 732s invoke at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:45 732s
at /usr/bin/rspec:4 732s 732s /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 732s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 732s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/yield.rb:149 732s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/yield.rb:7 732s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/yield.rb:6 732s
at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/yield.rb:5 732s require at org/jruby/RubyKernel.java:1184 732s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 732s yield_with_args at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers.rb:920 732s Concurrent at /tmp/autopkgtest.naGR5j/build.gQM/src/spec/concurrent/mvar_spec.rb:78 732s instance_exec at org/jruby/RubyBasicObject.java:2620 732s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:263 732s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 732s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 732s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 732s run_around_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:624 732s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 732s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 732s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 732s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:259 732s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:646 732s map at org/jruby/RubyArray.java:2803 732s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:651 732s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:607 732s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:608 732s map at org/jruby/RubyArray.java:2803 732s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:608 732s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121 732s map at org/jruby/RubyArray.java:2803 732s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:145 732s with_suite_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:2091 732s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:116 732s report at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/reporter.rb:74 732s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:115 732s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:89 732s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:71 732s invoke at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:45 732s
at /usr/bin/rspec:4 732s 732s /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 732s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 732s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/yield.rb:296 732s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/yield.rb:7 732s at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/yield.rb:6 732s
at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/yield.rb:5 732s require at org/jruby/RubyKernel.java:1184 732s require at /usr/share/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85 732s yield_with_args at /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers.rb:920 732s Concurrent at /tmp/autopkgtest.naGR5j/build.gQM/src/spec/concurrent/mvar_spec.rb:78 732s instance_exec at org/jruby/RubyBasicObject.java:2620 732s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:263 732s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 732s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 732s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 732s run_around_example_hooks_for at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:624 732s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/hooks.rb:486 732s with_around_example_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:468 732s with_around_and_singleton_context_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:511 732s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example.rb:259 732s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:646 732s map at org/jruby/RubyArray.java:2803 732s run_examples at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:651 732s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:607 732s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:608 732s map at org/jruby/RubyArray.java:2803 732s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/example_group.rb:608 732s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:121 732s map at org/jruby/RubyArray.java:2803 732s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:145 732s with_suite_hooks at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/configuration.rb:2091 732s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:116 732s report at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/reporter.rb:74 732s run_specs at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:115 732s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:89 732s run at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:71 732s invoke at /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/runner.rb:45 732s
at /usr/bin/rspec:4 732s 732s yields current value to the block and puts back value 732s puts back value even if an exception is raised 732s returns the returned value of the block 732s returns TIMEOUT on timeout on an empty MVar 732s #put 732s sets the MVar to be empty 732s sets a new value on an empty MVar 732s waits for another thread to #take 732s returns TIMEOUT on timeout on a full MVar 732s returns the value 732s #empty? 732s returns true on an empty MVar 732s returns false on a full MVar 732s #full? 732s returns false on an empty MVar 732s returns true on a full MVar 732s #modify 732s raises an exception when no block given 732s modifies a full MVar 732s returns the unmodified value 732s waits for another thread to #put 733s is atomic 733s returns TIMEOUT on timeout on an empty MVar 733s #try_put! 733s returns true an empty MVar 733s returns false on a full MVar 733s sets an empty MVar to be full 733s #try_take! 733s returns EMPTY an empty MVar 733s returns the value on a full MVar 733s sets a full MVar to be empty 733s #set! 733s sets an empty MVar to be full 733s sets a full MVar to be full 733s returns EMPTY on an empty MVar 733s returns the original value on a full MVar 733s #modify! 733s raises an exception when no block given 733s modifies a full MVar 733s modifies an empty MVar 733s can be used to set a full MVar to empty 733s can be used to set an empty MVar to empty 733s returns the unmodified value 733s spurious wake ups 733s #take 734s waits for another thread to #put 734s returns TIMEOUT on timeout on an empty MVar 734s #modify 735s waits for another thread to #put 735s returns TIMEOUT on timeout on an empty MVar 735s #put 736s waits for another thread to #take 736s returns TIMEOUT on timeout on a full MVar 736s 736s Concurrent::Options 736s .executor_from_options 736s returns the given :executor 736s returns the global io executor when :executor is :io 736s returns the global fast executor when :executor is :fast 736s returns an immediate executor when :executor is :immediate 736s raises an exception when :executor is an unrecognized symbol 736s 736s Concurrent::ProcessingActor 736s is expected to eq "ab" 736s 736s Concurrent::Promise 736s it should behave like ivar 736s it should behave like obligation 736s #state 736s is :pending when first created 736s is :fulfilled when the handler completes 736s is :rejected when the handler raises an exception 736s #value 736s returns nil when reaching the optional timeout value 736s returns immediately when timeout is zero 741s returns the value when fulfilled before timeout 741s returns nil when timeout reached 741s is nil when :pending 746s blocks the caller when :pending and timeout is nil 746s is nil when :rejected 746s is set to the return value of the block when :fulfilled 746s #reason 746s is nil when :pending 746s is nil when :fulfilled 746s is set to error object of the exception when :rejected 746s it should behave like dereferenceable 746s defaults :dup_on_deref to false 747s calls #dup when the :dup_on_deref option is true 747s defaults :freeze_on_deref to false 747s calls #freeze when the :freeze_on_deref option is true 747s defaults :copy_on_deref to nil 748s calls the block when the :copy_on_deref option is passed a proc 748s calls the :copy block first followed by #dup followed by #freeze 748s does not call #dup when #dup_on_deref is set and the value is nil 748s does not call #freeze when #freeze_on_deref is set and the value is nil 748s does not call the #copy_on_deref block when the value is nil 748s supports dereference flags with observers 748s it should behave like observable 748s #add_observer 748s adds an observer if called before first notification 748s adds an observer with :func if called before first notification 748s creates an observer from a block if called before first notification 748s raises an exception if not given an observer or a block 748s raises an exception when given both an observer and a block 748s #delete_observer 748s deletes the given observer if called before first notification 748s returns the removed observer if found in the observer set 748s returns the given observer even when not found in the observer set 748s #delete_observers 748s deletes all observers when called before first notification 748s returns self 748s #count_observers 748s returns zero for a new observable object 748s returns a count of registered observers if called before first notification 748s returns zero after #delete_observers has been called 748s first notification 748s calls the #update method on all observers without a specified :func 748s calls the appropriate function on all observers which specified a :func 749s calls the proc for all observers added as a block 750s does not notify any observers removed with #delete_observer 751s does not notify any observers after #delete_observers called 751s initialization 751s sets the state to incomplete 751s #set 751s sets the state to be fulfilled 751s sets the value 751s raises an exception if set more than once 751s returns self 751s fulfils when given a block which executes successfully 751s rejects when given a block which raises an exception 751s raises an exception when given a value and a block 751s raises an exception when given neither a value nor a block 751s #fail 751s sets the state to be rejected 751s sets the value to be nil 751s sets the reason to the given exception 751s raises an exception if set more than once 751s defaults the reason to a StandardError 751s returns self 751s #try_set 751s when unset 751s assigns the value 751s assigns the block result 751s returns true 751s when fulfilled 751s does not assign the value 751s does not assign the block result 751s returns false 751s when rejected 751s does not assign the value 751s does not assign the block result 751s has a nil value 751s returns false 751s it should behave like thread_arguments 751s passes an empty array when opts is not given 751s passes an empty array when opts is an empty hash 751s passes an empty array when there is no :args key 751s passes an empty array when the :args key has a nil value 751s passes a one-element array when the :args key has a non-array value 751s passes an array when when the :args key has an array value 751s passes the given array when the :args key has a complex array value 751s allows the given arguments array to be dereferenced 751s initializers 751s .fulfill 751s should return a Promise 751s should return a fulfilled Promise 751s should return a Promise with set value 751s .reject 751s should return a Promise 751s should return a rejected Promise 751s should return a Promise with set reason 751s .new 751s should return an unscheduled Promise 751s .execute 751s creates a new Promise 751s passes the block to the new Promise 751s calls #execute on the new Promise 751s #execute 751s unscheduled 752s sets the promise to :pending 752s posts the block given in construction 752s pending 752s sets the promise to :pending 752s does not post again 752s with children 752s when called on the root 753s should set all promises to :pending 753s when called on a child 754s should set all promises to :pending 754s when called on child after parent completes 754s sets state to :pending immediately 754s #then 754s returns a new promise when a block is passed 754s returns a new promise when a rescuer is passed 754s returns a new promise when a block and rescuer are passed 754s returns a new promise when a block, rescuer and executor are passed 754s supports setting the executor using a named parameter 754s should have block or rescuers 754s can be called more than once 754s unscheduled 754s returns a new promise 754s returns an unscheduled promise 754s pending 754s returns a new promise 754s returns a pending promise 754s fulfilled 754s returns a new Promise 754s notifies fulfillment to new child 754s rejected 754s returns a new Promise when :rejected 754s notifies rejection to new child 754s on_success 754s should have a block 754s returns a new promise 754s #rescue 754s returns a new promise 754s #flat_map 754s returns a promise 754s succeeds if both promises succeed 754s fails if the left promise fails 754s fails if the right promise fails 754s fails if the generating block fails 754s #zip 754s executes the returned Promise by default 754s executes the returned Promise when execute is true 754s does not execute the returned Promise when execute is false 754s allows setting executor for Promise chain 754s yields the results as an array 754s fails if one component fails 754s preserves ordering of the executed promises 754s .zip 754s executes the returned Promise by default 754s executes the returned Promise when execute is true 754s does not execute the returned Promise when execute is false 754s allows setting executor for Promise chain 754s yields the results as an array 754s fails if one component fails 754s preserves ordering of the executed promises 754s aggregators 754s .all? 754s returns a new Promise 754s does not execute the returned Promise 754s executes the #then condition when all components succeed 754s executes the #then condition when no promises are given 754s executes the #rescue handler if even one component fails 754s .any? 754s returns a new Promise 754s does not execute the returned Promise 754s executes the #then condition when any components succeed 754s executes the #then condition when no promises are given 754s executes the #rescue handler if all componenst fail 754s fulfillment 754s passes the result of each block to all its children 754s sets the promise value to the result if its block 754s sets the promise state to :fulfilled if the block completes 754s passes the last result through when a promise has no block 754s uses result as fulfillment value when a promise has no block 754s can manage long chain 754s #set 754s #can only be called on the root promise 754s triggers children 754s can be called with a block 754s #fail 754s can only be called on the root promise 754s rejects children 754s rejection 754s passes the reason to all its children 754s sets the promise value to the result if its block 754s sets the promise state to :rejected if the block completes 754s uses reason as rejection reason when a promise has no rescue callable 754s rejects on Exception 754s aliases 754s aliases #realized? for #fulfilled? 754s aliases #deref for #value 754s aliases #catch for #rescue 754s aliases #on_error for #rescue 754s 754s Concurrent::Promises 754s zip_futures_over 754s chain_resolvable 754s event 754s future 754s .future 754s executes 754s executes with args 754s .delay 754s is expected to eq 2 754s .schedule 754s scheduled execution 755s scheduled execution in graph 755s .event 755s is expected to equal true 755s .future without block 755s is expected to eq 0 755s .any_resolved 755s continues on first result 755s .any_fulfilled 755s continues on first result 755s treats a resolved Event as a fulfilled Future 755s treats a pending Event as a pending Future 755s .zip 755s waits for all results 755s when a future raises an error 755s raises a concurrent error 755s when deeply nested 755s raises the original error 755s .zip_events 755s waits for all and returns event 755s .rejected_future 755s raises the correct error when passed an unraised error 755s Future 755s has sync and async callbacks 755s wait supports setting timeout 755s wait! supports setting timeout 755s value supports setting timeout 755s value! supports setting timeout 755s reason supports setting timeout 755s result supports setting timeout 755s chains 755s chains with correct arguments 755s constructs promise like tree 755s allows graphs 755s resolves future when Exception raised 755s runs 755s can be risen when rejected 755s #flat 755s returns value of inner future 755s propagates rejection of inner future 755s it propagates rejection of the future which was suppose to provide inner future 755s rejects if inner value is not a future 755s accepts inner event 755s propagates requests for values to delayed futures 755s has shortcuts 755s ResolvableEvent 755s #wait 755s #resolve(raise_on_reassign = true) 755s #resolve(raise_on_reassign = false) 755s reservation 755s ResolvableFuture 755s #wait 755s #wait! 755s #value 755s #value! 755s #reason 755s result 755s reservation 755s atomic_resolution 755s interoperability 755s with erlang actor 755s with channel 755s value! 755s does not return spuriously with timeout 755s does not return spuriously without timeout 755s 755s Concurrent::ScheduledTask 755s behavior 755s it should behave like obligation 755s #state 755s is :pending when first created 755s is :fulfilled when the handler completes 755s is :rejected when the handler raises an exception 755s #value 755s returns nil when reaching the optional timeout value 755s returns immediately when timeout is zero 756s returns the value when fulfilled before timeout 756s returns nil when timeout reached 756s is nil when :pending 757s blocks the caller when :pending and timeout is nil 757s is nil when :rejected 757s is set to the return value of the block when :fulfilled 757s #reason 757s is nil when :pending 757s is nil when :fulfilled 757s is set to error object of the exception when :rejected 757s it should behave like dereferenceable 757s defaults :dup_on_deref to false 757s calls #dup when the :dup_on_deref option is true 757s defaults :freeze_on_deref to false 757s calls #freeze when the :freeze_on_deref option is true 757s defaults :copy_on_deref to nil 757s calls the block when the :copy_on_deref option is passed a proc 757s calls the :copy block first followed by #dup followed by #freeze 757s does not call #dup when #dup_on_deref is set and the value is nil 757s does not call #freeze when #freeze_on_deref is set and the value is nil 757s does not call the #copy_on_deref block when the value is nil 757s supports dereference flags with observers 757s it should behave like observable 757s #add_observer 757s adds an observer if called before first notification 757s adds an observer with :func if called before first notification 757s creates an observer from a block if called before first notification 757s raises an exception if not given an observer or a block 757s raises an exception when given both an observer and a block 757s #delete_observer 757s deletes the given observer if called before first notification 757s returns the removed observer if found in the observer set 757s returns the given observer even when not found in the observer set 757s #delete_observers 757s deletes all observers when called before first notification 757s returns self 757s #count_observers 757s returns zero for a new observable object 757s returns a count of registered observers if called before first notification 757s returns zero after #delete_observers has been called 757s first notification 757s calls the #update method on all observers without a specified :func 758s calls the appropriate function on all observers which specified a :func 758s calls the proc for all observers added as a block 759s does not notify any observers removed with #delete_observer 760s does not notify any observers after #delete_observers called 760s #initialize 760s accepts a number of seconds (from now) as the schedule time 760s raises an exception when seconds is less than zero 760s raises an exception when no block given 760s sets the initial state to :unscheduled 760s instance #execute 760s does nothing unless the state is :unscheduled 760s sets the sate to :pending 760s returns self 760s class #execute 760s creates a new ScheduledTask 760s passes the block to the new ScheduledTask 760s calls #execute on the new ScheduledTask 760s execution 760s passes :args from the options to the block 760s uses the :executor from the options 760s uses the :timer_set from the options 760s sets the state to :processing when the task is running 760s #cancel 760s returns false if the task has already been performed 761s returns false if the task is already in progress 761s cancels the task if it has not yet scheduled 761s cancels the task if it has not yet started 762s returns true on success 762s sets the reason to CancelledOperationError when cancelled 762s observation 762s returns true for an observer added while :unscheduled 762s returns true for an observer added while :pending 762s returns true for an observer added while :processing 762s notifies all observers on fulfillment 762s notifies all observers on rejection 762s 762s Concurrent::Set 762s .[] 762s when initializing with no arguments 762s is expected to be empty 762s when initializing with arguments 762s creates a set with the given objects 762s .new 762s when initializing with no arguments 762s is expected to be empty 762s when initializing with an enumerable object 762s creates a set with the contents of the enumerable object 762s when initializing with a block argument 762s creates a set with the contents of the enumerable object 762s concurrency 762s #add and #delete 762s force context switch 763s #each 763s 763s Concurrent::SettableStruct 763s it should behave like struct 763s definition 763s registers the class when given a class name 763s registers the class when given a class name which is defined in the ancestors 763s creates an anonymous class when given at least one member 763s raises an exception when given an invalid class name 763s defines a getter for each member 763s raises an exception when given no members 763s raise an exception when given an invalid member 763s evalues a given block against the new class 763s construction 763s sets all absent members to nil 763s sets all given members in order 763s raises an exception when extra members are given 763s properties 763s #length 763s returns the number of struct members 763s #members 763s returns the struct members as an array of symbols 763s returns a different object than the array passed at definition 763s #size 763s returns the number of struct members 763s #values 763s returns the values of the struct as an array in order 763s #values_at 763s returns the value at the given offset 763s returns the values at multiple given offsets 763s returns values at offsets in a given range 763s returns values for multiple ranges 763s /tmp/autopkgtest.naGR5j/build.gQM/src/spec/concurrent/struct_shared.rb:15: warning: already initialized constant ValidClassName2 763s returns values for ranges and offsets 763s accessors 763s #[member] 763s retrieves the value when given a valid symbol member 763s retrieves the value when given a valid string member 763s raises an exception when given a non-existent symbol member 763s raises an exception when given a non-existent string member 763s #[index] 763s retrieves the value when given a valid index 763s raises an exception when given an out-of-bound index 763s comparison 763s #== 763s returns true if other has same struct subclass and equal values 763s returns false if other has different struct subclass 763s returns false if other has different values 763s #!= 763s returns false if other has same struct subclass and equal values 763s returns true if other has different struct subclass 763s returns true if other has different values 763s enumeration 763s #each 763s yields the value of each struct member in order 763s returns an enumerator when no block is given 763s #each_pair 763s yields the name and value of each struct member in order 763s returns an enumerator when no block is given 763s #select 763s yields each value 763s returns an Array with the values from for which the block returns true 763s returns an enumerator when no block is given 763s conversion 763s #to_s 763s includes the name of the class when registered 763s includes the names of all members 763s includes all values 763s returns the same string as #inspect 763s #to_a 763s returns the to_a for this struct as an array 763s #to_h 763s returns a Hash containing the names and values in order 763s copy 763s #dup 763s shallowly duplicates all members along with the struct 763s discards frozen state of the struct 763s retains frozen state of members 763s discards singleton class 763s copies the singleton class of members 763s #clone 763s shallowly clones all members along with the struct 763s retains frozen state 763s copies the singleton class 763s copies the singleton class of members 763s it should behave like mergeable_struct 763s #merge 763s updates all members with the new values from a given hash 763s calls the given block for each key in `other` 763s retains the value for all members not without values in the given hash 763s raises an exception when given a hash with members not in the struct 763s returns a new object 763s definition 763s defines a setter for each member 763s #[member]= 763s sets the value when given a valid symbol member 763s sets the value when given a valid string member 763s raises an exception when given a non-existent symbol member 763s raises an exception when given a non-existent string member 763s raises an exception when given a symbol member that has already been set 763s raises an exception when given a string member that has already been set 763s #[index]= 763s sets the value when given a valid index 763s raises an exception when given an out-of-bound index 763s raises an exception when given an index that has already been set 763s synchronization 763s protects #values 763s protects #values_at 763s protects #[index] 763s protects #[member] 763s protects getter methods 763s protects #[index]= 763s protects #[member]= 763s protects getter methods 763s protects #to_s 763s protects #inspect 763s protects #to_h 763s protects #merge 763s protects #== 763s protects #each 763s protects #each_pair 763s protects #select 763s protects #initialize_copy 763s copy 763s #dup 763s retains settability of members 763s #clone 763s retains settability of members 763s 763s Concurrent::Synchronization 763s Concurrent::Synchronization::Object 763s does not ensure visibility when not needed 763s does ensure visibility when specified 763s does ensure visibility when specified in a parent 763s does ensure visibility once when specified in child again 763s it should behave like attr_volatile 763s older writes are always visible 763s Concurrent::Synchronization::LockableObject 763s final field always visible 763s #wait 763s puts the current thread to sleep 763s allows the sleeping thread to be killed 763s releases the lock on the current object 763s can be called from within a #synchronize block 763s #synchronize 763s allows only one thread to execute count 763s signaling 763s for now pending, tested pretty well by Event (PENDING: Not yet implemented) 763s it should behave like attr_volatile 763s older writes are always visible 763s Concurrent::Synchronization::Volatile module 763s it should behave like attr_volatile 764s older writes are always visible 764s attr_atomic 764s is expected to be == b 764s 764s Concurrent::SynchronizedDelegator 764s wraps array 764s synchronizes access 764s synchronizes access with block 764s 764s Concurrent 764s Throttle 764s acquiring 764s #to_s 764s #on 764s capacity limited 764s 764s Concurrent::TimerTask 764s dereferenceable 764s it should behave like dereferenceable 764s defaults :dup_on_deref to false 765s calls #dup when the :dup_on_deref option is true 765s defaults :freeze_on_deref to false 765s calls #freeze when the :freeze_on_deref option is true 765s defaults :copy_on_deref to nil 766s calls the block when the :copy_on_deref option is passed a proc 766s calls the :copy block first followed by #dup followed by #freeze 766s does not call #dup when #dup_on_deref is set and the value is nil 766s does not call #freeze when #freeze_on_deref is set and the value is nil 766s does not call the #copy_on_deref block when the value is nil 766s supports dereference flags with observers 766s observable 766s it should behave like observable 766s #add_observer 766s adds an observer if called before first notification 766s adds an observer with :func if called before first notification 766s creates an observer from a block if called before first notification 766s raises an exception if not given an observer or a block 766s raises an exception when given both an observer and a block 766s #delete_observer 766s deletes the given observer if called before first notification 766s returns the removed observer if found in the observer set 766s returns the given observer even when not found in the observer set 766s #delete_observers 766s deletes all observers when called before first notification 766s returns self 766s #count_observers 766s returns zero for a new observable object 766s returns a count of registered observers if called before first notification 766s returns zero after #delete_observers has been called 766s first notification 766s calls the #update method on all observers without a specified :func 767s calls the appropriate function on all observers which specified a :func 767s calls the proc for all observers added as a block 768s does not notify any observers removed with #delete_observer 769s does not notify any observers after #delete_observers called 769s created with #new 769s #initialize 769s raises an exception if no block given 769s raises an exception if :execution_interval is not greater than zero 769s raises an exception if :execution_interval is not an integer 769s uses the default execution interval when no interval is given 769s uses the given execution interval 769s raises an exception if :interval_type is not a valid value 769s uses the default :interval_type when no type is given 769s uses the given interval type 769s #kill 769s returns true on success 769s #shutdown 769s returns true on success 769s arguments 769s raises an exception if no block given 769s TimeTask timeouts are now ignored as these were not able to be implemented correctly 769s #execution_interval is writeable 769s raises on invalid interval_type 769s TimeTask timeouts are now ignored as these were not able to be implemented correctly 770s #timeout_interval being written produces a warning 770s execution 770s runs the block immediately when the :run_now option is true 770s waits for :execution_interval seconds when the :run_now option is false 770s waits for :execution_interval seconds when the :run_now option is not given 770s passes a "self" reference to the block as the sole argument 770s uses the global executor by default 770s uses a custom executor when given 770s uses a fixed delay when set 771s uses a fixed rate when set 771s observation 771s notifies all observers on success 771s notifies all observers on error 771s 771s Concurrent::TVar 771s #initialize 771s accepts an initial value 771s #value 771s gets the value 771s #value= 771s sets the value 771s 771s #atomically 771s raises an exception when no block given 771s raises the same exception that was raised in Concurrent::atomically 771s retries on abort 771s commits writes if the transaction succeeds 771s undoes writes if the transaction is aborted 771s provides atomicity 771s nests 771s reflects transactional writes from within the same transaction 771s 771s #abort_transaction 771s raises an exception outside an #atomically block 771s 771s #leave_transaction 771s raises an exception outside an #atomically block 771s neither commits nor aborts a transaction 771s 771s #processor_count 771s retuns a positive integer 771s 771s #physical_processor_count 771s retuns a positive integer 771s 771s #cpu_quota 771s returns #compute_cpu_quota 771s returns nil if no quota is detected 771s returns nil if cgroups v2 sets no limit 771s returns a float if cgroups v2 sets a limit 771s returns nil if cgroups v1 sets no limit 771s returns nil if cgroups v1 and cpu.cfs_quota_us is -1 771s returns a float if cgroups v1 sets a limit 771s 771s #available_processor_count 771s returns #processor_count if #cpu_quota is nil 771s returns #processor_count if #cpu_quota is higher 771s returns #cpu_quota if #cpu_quota is lower than #processor_count 771s 771s #cpu_shares 771s returns a float when cgroups v2 sets a cpu.weight 771s returns a float if cgroups v1 sets a cpu.shares 771s 771s Failures: 771s 771s 1) Concurrent::Channel::Buffer::Unbuffered#next returns Concurrent::NULL, false when closed and no items remain 771s Got 0 failures and 2 other errors: 771s 771s 1.1) Failure/Error: subject.put(:foo) 771s 771s ThreadError: 771s Attempt to unlock a mutex which is locked by another thread/fiber 771s # /usr/share/rubygems-integration/all/gems/rspec-support-3.13.1/lib/rspec/support/reentrant_mutex.rb:42:in `exit' 771s # /usr/share/rubygems-integration/all/gems/rspec-support-3.13.1/lib/rspec/support/reentrant_mutex.rb:27:in `synchronize' 771s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/memoized_helpers.rb:178:in `block in fetch_or_store' 771s # org/jruby/RubyHash.java:1441:in `fetch' 771s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/memoized_helpers.rb:177:in `fetch_or_store' 771s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/memoized_helpers.rb:343:in `block in let' 771s # ./spec/concurrent/channel/buffer/unbuffered_spec.rb:239:in `block in Buffer' 771s # ./spec/support/example_group_extensions.rb:34:in `block in in_thread' 771s 771s 1.2) Failure/Error: subject.put(:foo) 771s 771s ThreadError: 771s Attempt to unlock a mutex which is locked by another thread/fiber 771s # /usr/share/rubygems-integration/all/gems/rspec-support-3.13.1/lib/rspec/support/reentrant_mutex.rb:42:in `exit' 771s # /usr/share/rubygems-integration/all/gems/rspec-support-3.13.1/lib/rspec/support/reentrant_mutex.rb:27:in `synchronize' 771s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/memoized_helpers.rb:178:in `block in fetch_or_store' 771s # org/jruby/RubyHash.java:1441:in `fetch' 771s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/memoized_helpers.rb:177:in `fetch_or_store' 771s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/memoized_helpers.rb:343:in `block in let' 771s # ./spec/concurrent/channel/buffer/unbuffered_spec.rb:239:in `block in Buffer' 771s # ./spec/support/example_group_extensions.rb:34:in `block in in_thread' 771s 771s 2) Concurrent::Channel::Buffer::Unbuffered#next blocks when no putting and returns , true when one arrives 771s Failure/Error: subject.put(:foo) 771s 771s ThreadError: 771s Attempt to unlock a mutex which is locked by another thread/fiber 771s # /usr/share/rubygems-integration/all/gems/rspec-support-3.13.1/lib/rspec/support/reentrant_mutex.rb:42:in `exit' 771s # /usr/share/rubygems-integration/all/gems/rspec-support-3.13.1/lib/rspec/support/reentrant_mutex.rb:27:in `synchronize' 771s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/memoized_helpers.rb:178:in `block in fetch_or_store' 771s # org/jruby/RubyHash.java:1441:in `fetch' 771s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/memoized_helpers.rb:177:in `fetch_or_store' 771s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/memoized_helpers.rb:343:in `block in let' 771s # ./spec/concurrent/channel/buffer/unbuffered_spec.rb:239:in `block in Buffer' 771s # ./spec/support/example_group_extensions.rb:34:in `block in in_thread' 771s 771s 3) Concurrent::Channel::Buffer::Unbuffered#next returns , true when there are multiple putting 771s Failure/Error: subject.put(:foo) 771s 771s ThreadError: 771s Attempt to unlock a mutex which is locked by another thread/fiber 771s # /usr/share/rubygems-integration/all/gems/rspec-support-3.13.1/lib/rspec/support/reentrant_mutex.rb:42:in `exit' 771s # /usr/share/rubygems-integration/all/gems/rspec-support-3.13.1/lib/rspec/support/reentrant_mutex.rb:27:in `synchronize' 771s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/memoized_helpers.rb:178:in `block in fetch_or_store' 771s # org/jruby/RubyHash.java:1441:in `fetch' 771s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/memoized_helpers.rb:177:in `fetch_or_store' 771s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/memoized_helpers.rb:343:in `block in let' 771s # ./spec/concurrent/channel/buffer/unbuffered_spec.rb:239:in `block in Buffer' 771s # ./spec/support/example_group_extensions.rb:34:in `block in in_thread' 771s 771s 4) Concurrent::Channel::Buffer::Unbuffered#next returns , true when closed and last item 771s Failure/Error: subject.put(:foo) 771s 771s ThreadError: 771s Attempt to unlock a mutex which is locked by another thread/fiber 771s # /usr/share/rubygems-integration/all/gems/rspec-support-3.13.1/lib/rspec/support/reentrant_mutex.rb:42:in `exit' 771s # /usr/share/rubygems-integration/all/gems/rspec-support-3.13.1/lib/rspec/support/reentrant_mutex.rb:27:in `synchronize' 771s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/memoized_helpers.rb:178:in `block in fetch_or_store' 771s # org/jruby/RubyHash.java:1441:in `fetch' 771s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/memoized_helpers.rb:177:in `fetch_or_store' 771s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/memoized_helpers.rb:343:in `block in let' 771s # ./spec/concurrent/channel/buffer/unbuffered_spec.rb:239:in `block in Buffer' 771s # ./spec/support/example_group_extensions.rb:34:in `block in in_thread' 771s 771s 5) Concurrent::Channel::Buffer::Unbuffered#next returns Concurrent::NULL, false when closed and no items remain 771s Got 0 failures and 2 other errors: 771s 771s 5.1) Failure/Error: subject.put(:foo) 771s 771s ThreadError: 771s Attempt to unlock a mutex which is locked by another thread/fiber 771s # /usr/share/rubygems-integration/all/gems/rspec-support-3.13.1/lib/rspec/support/reentrant_mutex.rb:42:in `exit' 771s # /usr/share/rubygems-integration/all/gems/rspec-support-3.13.1/lib/rspec/support/reentrant_mutex.rb:27:in `synchronize' 771s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/memoized_helpers.rb:178:in `block in fetch_or_store' 771s # org/jruby/RubyHash.java:1441:in `fetch' 771s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/memoized_helpers.rb:177:in `fetch_or_store' 771s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/memoized_helpers.rb:343:in `block in let' 771s # ./spec/concurrent/channel/buffer/unbuffered_spec.rb:239:in `block in Buffer' 771s # ./spec/support/example_group_extensions.rb:34:in `block in in_thread' 771s 771s 5.2) Failure/Error: subject.put(:foo) 771s 771s ThreadError: 771s Attempt to unlock a mutex which is locked by another thread/fiber 771s # /usr/share/rubygems-integration/all/gems/rspec-support-3.13.1/lib/rspec/support/reentrant_mutex.rb:42:in `exit' 771s # /usr/share/rubygems-integration/all/gems/rspec-support-3.13.1/lib/rspec/support/reentrant_mutex.rb:27:in `synchronize' 771s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/memoized_helpers.rb:178:in `block in fetch_or_store' 771s # org/jruby/RubyHash.java:1441:in `fetch' 771s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/memoized_helpers.rb:177:in `fetch_or_store' 771s # /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib/rspec/core/memoized_helpers.rb:343:in `block in let' 771s # ./spec/concurrent/channel/buffer/unbuffered_spec.rb:239:in `block in Buffer' 771s # ./spec/support/example_group_extensions.rb:34:in `block in in_thread' 771s 771s Finished in 3 minutes 32.5 seconds (files took 2.78 seconds to load) 771s 3013 examples, 5 failures, 17 pending 771s 771s Failed examples: 771s 771s rspec ./spec/concurrent/channel/buffer/unbuffered_spec.rb:235 # Concurrent::Channel::Buffer::Unbuffered#next returns Concurrent::NULL, false when closed and no items remain 771s rspec ./spec/concurrent/channel/buffer/unbuffered_spec.rb:186 # Concurrent::Channel::Buffer::Unbuffered#next blocks when no putting and returns , true when one arrives 771s rspec ./spec/concurrent/channel/buffer/unbuffered_spec.rb:205 # Concurrent::Channel::Buffer::Unbuffered#next returns , true when there are multiple putting 771s rspec ./spec/concurrent/channel/buffer/unbuffered_spec.rb:221 # Concurrent::Channel::Buffer::Unbuffered#next returns , true when closed and last item 771s rspec ./spec/concurrent/channel/buffer/unbuffered_spec.rb:235 # Concurrent::Channel::Buffer::Unbuffered#next returns Concurrent::NULL, false when closed and no items remain 771s 772s autopkgtest [18:58:11]: test jruby: -----------------------] 772s jruby FLAKY non-zero exit status 1 772s autopkgtest [18:58:11]: test jruby: - - - - - - - - - - results - - - - - - - - - - 773s autopkgtest [18:58:12]: @@@@@@@@@@@@@@@@@@@@ summary 773s ruby PASS 773s jruby FLAKY non-zero exit status 1 790s nova [W] Using flock in prodstack6-s390x 790s Creating nova instance adt-plucky-s390x-ruby-concurrent-20250315-184519-juju-7f2275-prod-proposed-migration-environment-20-08745540-1312-450f-b307-4e07409599ae from image adt/ubuntu-plucky-s390x-server-20250315.img (UUID 3d3557fa-fd0f-4bba-9b89-8d5964e09f61)... 790s nova [W] Timed out waiting for 14491b38-5d17-48d8-b1f9-a6f3c3fa02e2 to get deleted. 790s nova [W] Using flock in prodstack6-s390x 790s Creating nova instance adt-plucky-s390x-ruby-concurrent-20250315-184519-juju-7f2275-prod-proposed-migration-environment-20-08745540-1312-450f-b307-4e07409599ae from image adt/ubuntu-plucky-s390x-server-20250315.img (UUID 3d3557fa-fd0f-4bba-9b89-8d5964e09f61)... 790s nova [W] Timed out waiting for 5b61b120-65cb-4a46-9b36-5e46279915ac to get deleted.