0s autopkgtest [13:22:22]: starting date and time: 2026-02-07 13:22:22+0000 0s autopkgtest [13:22:22]: git checkout: 4b346b80 nova: make wait_reboot return success even when a no-op 0s autopkgtest [13:22:22]: host juju-7f2275-prod-proposed-migration-environment-2; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.xpj63ftz/out --timeout-copy=6000 --needs-internet=try --setup-commands /home/ubuntu/autopkgtest-cloud/worker-config-production/setup-canonical.sh --apt-pocket=proposed=src:ruby3.3 --apt-upgrade ruby-recursive-open-struct --timeout-short=300 --timeout-copy=20000 --timeout-build=20000 --env=ADT_TEST_TRIGGERS=ruby3.3/3.3.8-2ubuntu3 -- ssh -s /home/ubuntu/autopkgtest/ssh-setup/nova -- --flavor autopkgtest-cpu2-ram4-disk20-s390x --security-groups autopkgtest-juju-7f2275-prod-proposed-migration-environment-2@sto01-s390x-10.secgroup --name adt-resolute-s390x-ruby-recursive-open-struct-20260207-132222-juju-7f2275-prod-proposed-migration-environment-2-8187da1d-4e9a-4c73-9daa-86c01caf60cb --image adt/ubuntu-resolute-s390x-server --keyname testbed-juju-7f2275-prod-proposed-migration-environment-2 --net-id=net_prod-autopkgtest-workers-s390x -e TERM=linux --mirror=http://ftpmaster.internal/ubuntu/ 4s Creating nova instance adt-resolute-s390x-ruby-recursive-open-struct-20260207-132222-juju-7f2275-prod-proposed-migration-environment-2-8187da1d-4e9a-4c73-9daa-86c01caf60cb from image adt/ubuntu-resolute-s390x-server-20260206.img (UUID 49c0a1d9-89cb-4112-bb14-7a2a39e81cac)... 94s autopkgtest [13:23:56]: testbed dpkg architecture: s390x 95s autopkgtest [13:23:57]: testbed apt version: 3.1.15 95s autopkgtest [13:23:57]: @@@@@@@@@@@@@@@@@@@@ test bed setup 96s autopkgtest [13:23:58]: testbed release detected to be: None 97s autopkgtest [13:23:59]: updating testbed package index (apt update) 97s Get:1 http://ftpmaster.internal/ubuntu resolute-proposed InRelease [124 kB] 97s Hit:2 http://ftpmaster.internal/ubuntu resolute InRelease 97s Hit:3 http://ftpmaster.internal/ubuntu resolute-updates InRelease 97s Hit:4 http://ftpmaster.internal/ubuntu resolute-security InRelease 97s Get:5 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse Sources [35.1 kB] 97s Get:6 http://ftpmaster.internal/ubuntu resolute-proposed/restricted Sources [10.7 kB] 97s Get:7 http://ftpmaster.internal/ubuntu resolute-proposed/main Sources [196 kB] 97s Get:8 http://ftpmaster.internal/ubuntu resolute-proposed/universe Sources [1606 kB] 98s Get:9 http://ftpmaster.internal/ubuntu resolute-proposed/main s390x Packages [233 kB] 98s Get:10 http://ftpmaster.internal/ubuntu resolute-proposed/universe s390x Packages [1423 kB] 98s Get:11 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse s390x Packages [10.2 kB] 99s Fetched 3637 kB in 2s (1691 kB/s) 105s Reading package lists... 106s Hit:1 http://ftpmaster.internal/ubuntu resolute-proposed InRelease 106s Hit:2 http://ftpmaster.internal/ubuntu resolute InRelease 107s Hit:3 http://ftpmaster.internal/ubuntu resolute-updates InRelease 107s Hit:4 http://ftpmaster.internal/ubuntu resolute-security InRelease 112s Reading package lists... 113s Reading package lists... 114s Building dependency tree... 114s Reading state information... 115s Calculating upgrade... 116s The following packages will be upgraded: 116s 3cpio libevent-core-2.1-7t64 libpcap0.8t64 117s 3 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 117s Need to get 560 kB of archives. 117s After this operation, 0 B of additional disk space will be used. 117s Get:1 http://ftpmaster.internal/ubuntu resolute/main s390x libpcap0.8t64 s390x 1.10.5-2ubuntu3 [155 kB] 117s Get:2 http://ftpmaster.internal/ubuntu resolute/main s390x 3cpio s390x 0.14.0-1ubuntu1 [313 kB] 117s Get:3 http://ftpmaster.internal/ubuntu resolute/main s390x libevent-core-2.1-7t64 s390x 2.1.12-stable-10build2 [93.1 kB] 118s dpkg-preconfigure: unable to re-open stdin: No such file or directory 118s Fetched 560 kB in 0s (1301 kB/s) 119s (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 ... 61954 files and directories currently installed.) 119s Preparing to unpack .../libpcap0.8t64_1.10.5-2ubuntu3_s390x.deb ... 119s Unpacking libpcap0.8t64:s390x (1.10.5-2ubuntu3) over (1.10.5-2ubuntu2) ... 119s Preparing to unpack .../3cpio_0.14.0-1ubuntu1_s390x.deb ... 119s Unpacking 3cpio (0.14.0-1ubuntu1) over (0.13.1-1ubuntu1) ... 119s Preparing to unpack .../libevent-core-2.1-7t64_2.1.12-stable-10build2_s390x.deb ... 119s Unpacking libevent-core-2.1-7t64:s390x (2.1.12-stable-10build2) over (2.1.12-stable-10build1) ... 119s Setting up 3cpio (0.14.0-1ubuntu1) ... 119s Setting up libpcap0.8t64:s390x (1.10.5-2ubuntu3) ... 119s Setting up libevent-core-2.1-7t64:s390x (2.1.12-stable-10build2) ... 119s Processing triggers for man-db (2.13.1-1) ... 125s Processing triggers for libc-bin (2.42-2ubuntu4) ... 127s autopkgtest [13:24:29]: upgrading testbed (apt dist-upgrade and autopurge) 127s Reading package lists... 128s Building dependency tree... 128s Reading state information... 128s Calculating upgrade... 129s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 129s Reading package lists... 130s Building dependency tree... 130s Reading state information... 131s Solving dependencies... 132s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 136s autopkgtest [13:24:38]: testbed running kernel: Linux 6.18.0-9-generic #9-Ubuntu SMP Mon Jan 12 15:39:23 UTC 2026 136s autopkgtest [13:24:38]: @@@@@@@@@@@@@@@@@@@@ apt-source ruby-recursive-open-struct 138s Get:1 http://ftpmaster.internal/ubuntu resolute/universe ruby-recursive-open-struct 2.0.0-1 (dsc) [2189 B] 138s Get:2 http://ftpmaster.internal/ubuntu resolute/universe ruby-recursive-open-struct 2.0.0-1 (tar) [18.9 kB] 138s Get:3 http://ftpmaster.internal/ubuntu resolute/universe ruby-recursive-open-struct 2.0.0-1 (diff) [2884 B] 140s gpgv: Signature made Sat Oct 25 15:52:38 2025 UTC 140s gpgv: using RSA key 5C7ABEA20F8630459CC8C8B5E27F2CF8458C2FA4 140s gpgv: Can't check signature: No public key 140s dpkg-source: warning: cannot verify inline signature for ./ruby-recursive-open-struct_2.0.0-1.dsc: no acceptable signature found 140s autopkgtest [13:24:42]: testing package ruby-recursive-open-struct version 2.0.0-1 141s autopkgtest [13:24:43]: build not needed 142s autopkgtest [13:24:44]: test gem2deb-test-runner: preparing testbed 143s Reading package lists... 144s Building dependency tree... 144s Reading state information... 145s Solving dependencies... 146s The following NEW packages will be installed: 146s gem2deb-test-runner libruby libruby3.3 pry rake ruby ruby-coderay ruby-csv 146s ruby-did-you-mean ruby-diff-lcs ruby-method-source ruby-minitest 146s ruby-net-telnet ruby-power-assert ruby-recursive-open-struct ruby-rspec 146s ruby-rspec-core ruby-rspec-expectations ruby-rspec-mocks ruby-rspec-support 146s ruby-ruby2-keywords ruby-rubygems ruby-test-unit ruby-webrick ruby-xmlrpc 146s ruby3.3 rubygems-integration 146s 0 upgraded, 27 newly installed, 0 to remove and 0 not upgraded. 146s Need to get 7226 kB of archives. 146s After this operation, 36.4 MB of additional disk space will be used. 146s Get:1 http://ftpmaster.internal/ubuntu resolute/main s390x rubygems-integration all 1.19build1 [5666 B] 146s Get:2 http://ftpmaster.internal/ubuntu resolute/main s390x ruby-csv all 3.3.4-1 [43.0 kB] 146s Get:3 http://ftpmaster.internal/ubuntu resolute/main s390x ruby-did-you-mean all 1.6.3-2build1 [14.9 kB] 146s Get:4 http://ftpmaster.internal/ubuntu resolute/main s390x ruby-net-telnet all 0.2.0-1build1 [13.5 kB] 146s Get:5 http://ftpmaster.internal/ubuntu resolute/main s390x ruby-ruby2-keywords all 0.0.5-1build1 [4398 B] 146s Get:6 http://ftpmaster.internal/ubuntu resolute/main s390x ruby-webrick all 1.9.1-1build1 [60.9 kB] 146s Get:7 http://ftpmaster.internal/ubuntu resolute/main s390x ruby-xmlrpc all 0.3.3-2build1 [24.9 kB] 146s Get:8 http://ftpmaster.internal/ubuntu resolute-proposed/main s390x libruby3.3 s390x 3.3.8-2ubuntu3 [5868 kB] 146s Get:9 http://ftpmaster.internal/ubuntu resolute-proposed/main s390x ruby3.3 s390x 3.3.8-2ubuntu3 [49.1 kB] 146s Get:10 http://ftpmaster.internal/ubuntu resolute/main s390x libruby s390x 1:3.3 [5162 B] 146s Get:11 http://ftpmaster.internal/ubuntu resolute/main s390x ruby-rubygems all 3.6.7-2ubuntu2 [332 kB] 146s Get:12 http://ftpmaster.internal/ubuntu resolute/main s390x ruby s390x 1:3.3 [3668 B] 146s Get:13 http://ftpmaster.internal/ubuntu resolute/main s390x rake all 13.2.1-1build1 [45.9 kB] 146s Get:14 http://ftpmaster.internal/ubuntu resolute/universe s390x ruby-minitest all 5.26.1-1 [49.3 kB] 146s Get:15 http://ftpmaster.internal/ubuntu resolute/universe s390x ruby-power-assert all 2.0.5-1 [12.0 kB] 146s Get:16 http://ftpmaster.internal/ubuntu resolute/universe s390x ruby-test-unit all 3.6.2-1 [67.0 kB] 146s Get:17 http://ftpmaster.internal/ubuntu resolute/universe s390x gem2deb-test-runner s390x 2.2.5 [18.3 kB] 146s Get:18 http://ftpmaster.internal/ubuntu resolute/universe s390x ruby-coderay all 1.1.3-8build1 [78.4 kB] 146s Get:19 http://ftpmaster.internal/ubuntu resolute/universe s390x ruby-method-source all 1.1.0-1 [8502 B] 146s Get:20 http://ftpmaster.internal/ubuntu resolute/universe s390x pry all 0.15.2-1 [122 kB] 146s Get:21 http://ftpmaster.internal/ubuntu resolute/universe s390x ruby-diff-lcs all 1.5.1-1 [22.8 kB] 147s Get:22 http://ftpmaster.internal/ubuntu resolute/universe s390x ruby-recursive-open-struct all 2.0.0-1 [8386 B] 147s Get:23 http://ftpmaster.internal/ubuntu resolute/universe s390x ruby-rspec-support all 3.13.0c0e0m0s1-2 [29.2 kB] 147s Get:24 http://ftpmaster.internal/ubuntu resolute/universe s390x ruby-rspec-core all 3.13.0c0e0m0s1-2 [164 kB] 147s Get:25 http://ftpmaster.internal/ubuntu resolute/universe s390x ruby-rspec-expectations all 3.13.0c0e0m0s1-2 [89.8 kB] 147s Get:26 http://ftpmaster.internal/ubuntu resolute/universe s390x ruby-rspec-mocks all 3.13.0c0e0m0s1-2 [81.0 kB] 147s Get:27 http://ftpmaster.internal/ubuntu resolute/universe s390x ruby-rspec all 3.13.0c0e0m0s1-2 [3500 B] 147s Fetched 7226 kB in 1s (8429 kB/s) 147s Selecting previously unselected package rubygems-integration. 147s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 61954 files and directories currently installed.) 147s Preparing to unpack .../00-rubygems-integration_1.19build1_all.deb ... 147s Unpacking rubygems-integration (1.19build1) ... 148s Selecting previously unselected package ruby-csv. 148s Preparing to unpack .../01-ruby-csv_3.3.4-1_all.deb ... 148s Unpacking ruby-csv (3.3.4-1) ... 148s Selecting previously unselected package ruby-did-you-mean. 148s Preparing to unpack .../02-ruby-did-you-mean_1.6.3-2build1_all.deb ... 148s Unpacking ruby-did-you-mean (1.6.3-2build1) ... 148s Selecting previously unselected package ruby-net-telnet. 148s Preparing to unpack .../03-ruby-net-telnet_0.2.0-1build1_all.deb ... 148s Unpacking ruby-net-telnet (0.2.0-1build1) ... 148s Selecting previously unselected package ruby-ruby2-keywords. 148s Preparing to unpack .../04-ruby-ruby2-keywords_0.0.5-1build1_all.deb ... 148s Unpacking ruby-ruby2-keywords (0.0.5-1build1) ... 148s Selecting previously unselected package ruby-webrick. 148s Preparing to unpack .../05-ruby-webrick_1.9.1-1build1_all.deb ... 148s Unpacking ruby-webrick (1.9.1-1build1) ... 149s Selecting previously unselected package ruby-xmlrpc. 149s Preparing to unpack .../06-ruby-xmlrpc_0.3.3-2build1_all.deb ... 149s Unpacking ruby-xmlrpc (0.3.3-2build1) ... 149s Selecting previously unselected package libruby3.3:s390x. 149s Preparing to unpack .../07-libruby3.3_3.3.8-2ubuntu3_s390x.deb ... 149s Unpacking libruby3.3:s390x (3.3.8-2ubuntu3) ... 152s Selecting previously unselected package ruby3.3. 152s Preparing to unpack .../08-ruby3.3_3.3.8-2ubuntu3_s390x.deb ... 152s Unpacking ruby3.3 (3.3.8-2ubuntu3) ... 152s Selecting previously unselected package libruby:s390x. 152s Preparing to unpack .../09-libruby_1%3a3.3_s390x.deb ... 152s Unpacking libruby:s390x (1:3.3) ... 152s Selecting previously unselected package ruby-rubygems. 152s Preparing to unpack .../10-ruby-rubygems_3.6.7-2ubuntu2_all.deb ... 152s Unpacking ruby-rubygems (3.6.7-2ubuntu2) ... 153s Selecting previously unselected package ruby. 153s Preparing to unpack .../11-ruby_1%3a3.3_s390x.deb ... 153s Unpacking ruby (1:3.3) ... 153s Selecting previously unselected package rake. 153s Preparing to unpack .../12-rake_13.2.1-1build1_all.deb ... 153s Unpacking rake (13.2.1-1build1) ... 153s Selecting previously unselected package ruby-minitest. 153s Preparing to unpack .../13-ruby-minitest_5.26.1-1_all.deb ... 153s Unpacking ruby-minitest (5.26.1-1) ... 153s Selecting previously unselected package ruby-power-assert. 153s Preparing to unpack .../14-ruby-power-assert_2.0.5-1_all.deb ... 153s Unpacking ruby-power-assert (2.0.5-1) ... 153s Selecting previously unselected package ruby-test-unit. 153s Preparing to unpack .../15-ruby-test-unit_3.6.2-1_all.deb ... 153s Unpacking ruby-test-unit (3.6.2-1) ... 153s Selecting previously unselected package gem2deb-test-runner. 153s Preparing to unpack .../16-gem2deb-test-runner_2.2.5_s390x.deb ... 153s Unpacking gem2deb-test-runner (2.2.5) ... 154s Selecting previously unselected package ruby-coderay. 154s Preparing to unpack .../17-ruby-coderay_1.1.3-8build1_all.deb ... 154s Unpacking ruby-coderay (1.1.3-8build1) ... 154s Selecting previously unselected package ruby-method-source. 154s Preparing to unpack .../18-ruby-method-source_1.1.0-1_all.deb ... 154s Unpacking ruby-method-source (1.1.0-1) ... 154s Selecting previously unselected package pry. 154s Preparing to unpack .../19-pry_0.15.2-1_all.deb ... 154s Unpacking pry (0.15.2-1) ... 154s Selecting previously unselected package ruby-diff-lcs. 154s Preparing to unpack .../20-ruby-diff-lcs_1.5.1-1_all.deb ... 154s Unpacking ruby-diff-lcs (1.5.1-1) ... 154s Selecting previously unselected package ruby-recursive-open-struct. 154s Preparing to unpack .../21-ruby-recursive-open-struct_2.0.0-1_all.deb ... 154s Unpacking ruby-recursive-open-struct (2.0.0-1) ... 154s Selecting previously unselected package ruby-rspec-support. 154s Preparing to unpack .../22-ruby-rspec-support_3.13.0c0e0m0s1-2_all.deb ... 154s Unpacking ruby-rspec-support (3.13.0c0e0m0s1-2) ... 154s Selecting previously unselected package ruby-rspec-core. 154s Preparing to unpack .../23-ruby-rspec-core_3.13.0c0e0m0s1-2_all.deb ... 154s Unpacking ruby-rspec-core (3.13.0c0e0m0s1-2) ... 155s Selecting previously unselected package ruby-rspec-expectations. 155s Preparing to unpack .../24-ruby-rspec-expectations_3.13.0c0e0m0s1-2_all.deb ... 155s Unpacking ruby-rspec-expectations (3.13.0c0e0m0s1-2) ... 155s Selecting previously unselected package ruby-rspec-mocks. 155s Preparing to unpack .../25-ruby-rspec-mocks_3.13.0c0e0m0s1-2_all.deb ... 155s Unpacking ruby-rspec-mocks (3.13.0c0e0m0s1-2) ... 155s Selecting previously unselected package ruby-rspec. 155s Preparing to unpack .../26-ruby-rspec_3.13.0c0e0m0s1-2_all.deb ... 155s Unpacking ruby-rspec (3.13.0c0e0m0s1-2) ... 155s Setting up ruby-ruby2-keywords (0.0.5-1build1) ... 155s Setting up ruby-power-assert (2.0.5-1) ... 155s Setting up rubygems-integration (1.19build1) ... 155s Setting up ruby-minitest (5.26.1-1) ... 155s Setting up ruby-method-source (1.1.0-1) ... 155s Setting up ruby-test-unit (3.6.2-1) ... 155s Setting up ruby-net-telnet (0.2.0-1build1) ... 155s Setting up ruby-csv (3.3.4-1) ... 155s Setting up ruby-rspec-support (3.13.0c0e0m0s1-2) ... 155s Setting up ruby-webrick (1.9.1-1build1) ... 155s Setting up ruby-did-you-mean (1.6.3-2build1) ... 155s Setting up ruby-xmlrpc (0.3.3-2build1) ... 155s Setting up rake (13.2.1-1build1) ... 155s Setting up libruby3.3:s390x (3.3.8-2ubuntu3) ... 155s Setting up ruby-recursive-open-struct (2.0.0-1) ... 155s Setting up ruby3.3 (3.3.8-2ubuntu3) ... 155s Setting up libruby:s390x (1:3.3) ... 155s Setting up ruby (1:3.3) ... 155s Setting up ruby-coderay (1.1.3-8build1) ... 155s Setting up ruby-rspec-core (3.13.0c0e0m0s1-2) ... 155s Setting up pry (0.15.2-1) ... 155s Setting up ruby-diff-lcs (1.5.1-1) ... 155s Setting up ruby-rubygems (3.6.7-2ubuntu2) ... 155s Setting up gem2deb-test-runner (2.2.5) ... 155s Setting up ruby-rspec-expectations (3.13.0c0e0m0s1-2) ... 155s Setting up ruby-rspec-mocks (3.13.0c0e0m0s1-2) ... 155s Setting up ruby-rspec (3.13.0c0e0m0s1-2) ... 155s Processing triggers for libc-bin (2.42-2ubuntu4) ... 155s Processing triggers for man-db (2.13.1-1) ... 161s autopkgtest [13:25:03]: test gem2deb-test-runner: gem2deb-test-runner --autopkgtest --check-dependencies 2>&1 161s autopkgtest [13:25:03]: test gem2deb-test-runner: [----------------------- 162s 162s ┌──────────────────────────────────────────────────────────────────────────────┐ 162s │ Checking Rubygems dependency resolution on ruby3.3 │ 162s └──────────────────────────────────────────────────────────────────────────────┘ 162s 163s RUBYLIB=. GEM_PATH= ruby3.3 -e gem\ \"recursive-open-struct\" 163s mv lib ./.gem2deb.lib 164s mv ./.gem2deb.lib lib 164s 164s ┌──────────────────────────────────────────────────────────────────────────────┐ 164s │ Run tests for ruby3.3 from debian/ruby-tests.rake │ 164s └──────────────────────────────────────────────────────────────────────────────┘ 164s 164s RUBYLIB=. GEM_PATH= ruby3.3 -S rake --rakelibdir /gem2deb-nonexistent -f debian/ruby-tests.rake 164s mv lib ./.gem2deb.lib 165s /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/\*\*/\*_spec.rb --format documentation 166s Run options: include {:focus=>true} 166s 166s All examples were filtered out; ignoring {:focus=>true} 166s 166s RecursiveOpenStruct 166s #debug_inspect 166s should have a simple way of display 166s 166s RecursiveOpenStruct 166s indifferent access 166s setting value with method 166s allows getting with method 166s allows getting with symbol 166s allows getting with string 166s setting value with symbol 166s allows getting with method 166s allows getting with symbol 166s allows getting with string 166s setting value with string 166s allows getting with method 166s allows getting with symbol 166s allows getting with string 166s overwriting values 166s set with method 166s overrides with symbol 166s overrides with string 166s set with symbol 166s overrides with method 166s overrides with string 166s set with string 166s overrides with method 166s overrides with symbol 166s set with hash 166s overrides with method 166s overrides with symbol 166s overrides with string 166s when preserve_original_keys is not enabled 166s transforms original keys to symbols 166s after initialization 166s in recursive hashes 166s after resetting value 166s when preserve_original_keys is enabled 166s preserves the original keys 166s after initialization 166s in recursive hashes 166s after resetting value 166s when undefined method 166s when raise_on_missing is enabled 166s raises NoMethodError 166s when raise_on_missing is disabled 166s preserves the original keys 166s returns nil 166s 166s RecursiveOpenStruct 166s behavior it inherits from OpenStruct 166s when not initialized from anything 166s can represent arbitrary data objects 166s returns nil for missing attributes 166s when initialized with nil 166s returns nil for missing attributes 166s when initialized with an empty hash 166s returns nil for missing attributes 166s when initialized from a hash 166s can modify an existing key 166s that contains symbol keys 166s turns those symbol keys into method names 166s that contains string keys 166s turns those string keys into method names 166s that contains keys that mirror existing private methods 166s handles subscript notation without calling the method name first (#42) 166s that contains keys that mirror existing public methods inherited from Object 166s handles subscript notation without calling the existing methods 166s handling of arbitrary attributes 166s #respond? 166s is expected to respond to #blah 166s is expected to respond to #blah= 166s is expected not to respond to #asdf 166s is expected not to respond to #asdf= 166s #methods 166s is expected to include :blah 166s is expected to include :blah= 166s is expected not to include :asdf 166s is expected not to include :asdf= 166s handling of freezing 166s can read existing keys 166s cannot write new keys 166s cannot write existing keys 166s with recursive structure 166s can read existing sub-elements 166s can write new sub-elements 166s can write existing sub-elements 166s 166s RecursiveOpenStruct 166s OpenStruct 2.0+ methods 166s Hash style setter 166s method exists 166s changes the value 166s delete_field 166s removes the value 166s removes the getter method 166s removes the setter method 166s works with indifferent access 166s eql? 166s with identical ROS 166s is expected to be eql # 166s with similar ROS 166s is expected to be eql # 166s with same Hash 166s is expected to be eql # 166s with duplicated ROS 166s fails on different value 166s fails on missing field 166s fails on added field 166s hash 166s calculates table hash 166s each_pair 166s iterates over hash keys, with keys as symbol 166s 166s RecursiveOpenStruct 166s OpenStruct 2.3.0+ methods 166s #dig 166s recurse_over_arrays: false 166s OpenStruct-like behavior 166s is expected to eq 2 166s is expected to eq "doo" 166s is expected to eq "one" 166s recursive behavior 166s is expected to eq #"one"}]> 166s is expected to eq {:inner=>"one"} 166s recurse_over_arrays: true 166s OpenStruct-like behavior 166s is expected to eq 2 166s is expected to eq "doo" 166s is expected to eq "one" 166s recursive behavior 166s is expected to eq #"one"}]> 166s is expected to eq # 166s 166s RecursiveOpenStruct 166s subclassing RecursiveOpenStruct 166s nested objects use the subclass of the parent 166s 166s RecursiveOpenStruct 166s recursive behavior 166s can convert the entire hash tree back into a hash 166s returns accessed hashes as RecursiveOpenStructs instead of hashes 166s handles subscript notation the same way as dotted notation 166s uses #key_as_a_hash to return key as a Hash 166s handles sub-element replacement with dotted notation before member setup 166s handles being dump then loaded by Marshal 166s can modify a key of a sub-element 166s handling loops in the original Hashes 166s is expected to eq "a" 166s is expected to eq "b" 166s is expected to eq "a" 166s is expected to eq "b" 166s is expected to eq #"b", :h1=>{:a=>"a", :h2=>{...}}}> 166s is expected not to eq #"a", :h2=>{:a=>"b", :h1=>{...}}}> 166s subscript mutation notation 166s handles the basic case 166s recurses properly 166s can replace the entire hash 166s updates sub-element cache 166s after a sub-element has been modified 166s does not mutate the original hash tree passed to the constructor 166s limits the deep-copy to the initial hash tree 166s .to_h 166s returns a hash tree that contains those modifications 166s modifying the returned hash tree does not modify the ROS 166s #dup 166s preserves sub-element modifications 166s allows the copy's sub-elements to be modified independently from the original's 166s when memoizing and then modifying entire recursive structures 166s when modifying an entire Hash 166s returns the modified value instead of the memoized one 166s the old value no longer exists 166s when modifying an entire Array 166s returns the modified value instead of the memoized one 166s recursing over arrays 166s when dump and loaded by Marshal 166s is expected to eq 3 166s is expected to eq "1" 166s is expected to eq "2" 166s is expected to eq [{:foo=>"1"}, {:foo=>"2"}, "baz"] 166s is expected to eq "baz" 166s when recursing over arrays is enabled 166s is expected to eq 3 166s is expected to eq "1" 166s is expected to eq "2" 166s is expected to eq [{:foo=>"1"}, {:foo=>"2"}, "baz"] 166s is expected to eq "baz" 166s when an inner value changes 166s Retains changes across Array lookups 166s propagates the changes through to .to_h across Array lookups 166s deep-copies hashes within Arrays 166s does not mutate the input hash passed to the constructor 166s the deep copy recurses over Arrays as well 166s #dup 166s preserves sub-element modifications 166s allows the copy's sub-elements to be modified independently from the original's 166s when array is nested deeper 166s is expected to eq 3 166s Retains changes across Array lookups 166s when array is in an array 166s is expected to eq 1 166s is expected to eq 3 166s Retains changes across Array lookups 166s when recursing over arrays is disabled 166s is expected to eq 3 166s is expected to eq {:foo=>"1"} 166s is expected to eq "1" 166s modifying an array and recursing over it 166s when adding an array with hashes into the tree 166s ROS's it 166s when appending a hash to an array 166s ROS's it 166s the changes show up in .to_h 166s after appending a hash to an array 166s can have new values be set 166s nested nil values 166s returns nil 166s returns a hash with the key and a nil value 166s 166s Finished in 0.13541 seconds (files took 1.17 seconds to load) 166s 132 examples, 0 failures 166s 166s mv ./.gem2deb.lib lib 167s autopkgtest [13:25:09]: test gem2deb-test-runner: -----------------------] 169s autopkgtest [13:25:11]: test gem2deb-test-runner: - - - - - - - - - - results - - - - - - - - - - 169s gem2deb-test-runner PASS 169s autopkgtest [13:25:11]: @@@@@@@@@@@@@@@@@@@@ summary 169s gem2deb-test-runner PASS