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