0s autopkgtest [22:41:44]: starting date and time: 2026-02-03 22:41:44+0000 0s autopkgtest [22:41:44]: git checkout: 4b346b80 nova: make wait_reboot return success even when a no-op 0s autopkgtest [22:41:44]: host juju-7f2275-prod-proposed-migration-environment-15; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.963r8oun/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-ppc64el --security-groups autopkgtest-juju-7f2275-prod-proposed-migration-environment-15@sto01-ppc64el-3.secgroup --name adt-resolute-ppc64el-ruby-recursive-open-struct-20260203-224143-juju-7f2275-prod-proposed-migration-environment-15-b8a479f2-57c3-4fbc-b491-47e16d94fa0b --image adt/ubuntu-resolute-ppc64el-server --keyname testbed-juju-7f2275-prod-proposed-migration-environment-15 --net-id=net_prod-autopkgtest-workers-ppc64el -e TERM=linux --mirror=http://ftpmaster.internal/ubuntu/ 3s Creating nova instance adt-resolute-ppc64el-ruby-recursive-open-struct-20260203-224143-juju-7f2275-prod-proposed-migration-environment-15-b8a479f2-57c3-4fbc-b491-47e16d94fa0b from image adt/ubuntu-resolute-ppc64el-server-20260203.img (UUID 36e1410e-0a72-4cd6-affd-580c415d80cb)... 55s autopkgtest [22:42:39]: testbed dpkg architecture: ppc64el 55s autopkgtest [22:42:39]: testbed apt version: 3.1.14 55s autopkgtest [22:42:39]: @@@@@@@@@@@@@@@@@@@@ test bed setup 55s autopkgtest [22:42:39]: testbed release detected to be: None 56s autopkgtest [22:42:40]: updating testbed package index (apt update) 56s Get:1 http://ftpmaster.internal/ubuntu resolute-proposed InRelease [124 kB] 56s Hit:2 http://ftpmaster.internal/ubuntu resolute InRelease 56s Hit:3 http://ftpmaster.internal/ubuntu resolute-updates InRelease 56s Hit:4 http://ftpmaster.internal/ubuntu resolute-security InRelease 56s Get:5 http://ftpmaster.internal/ubuntu resolute-proposed/main Sources [232 kB] 56s Get:6 http://ftpmaster.internal/ubuntu resolute-proposed/restricted Sources [5260 B] 56s Get:7 http://ftpmaster.internal/ubuntu resolute-proposed/universe Sources [1337 kB] 56s Get:8 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse Sources [27.9 kB] 57s Get:9 http://ftpmaster.internal/ubuntu resolute-proposed/main ppc64el Packages [284 kB] 57s Get:10 http://ftpmaster.internal/ubuntu resolute-proposed/universe ppc64el Packages [1152 kB] 57s Get:11 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse ppc64el Packages [17.8 kB] 57s Fetched 3181 kB in 1s (3396 kB/s) 58s Reading package lists... 58s Hit:1 http://ftpmaster.internal/ubuntu resolute-proposed InRelease 58s Hit:2 http://ftpmaster.internal/ubuntu resolute InRelease 58s Hit:3 http://ftpmaster.internal/ubuntu resolute-updates InRelease 58s Hit:4 http://ftpmaster.internal/ubuntu resolute-security InRelease 59s Reading package lists... 59s Reading package lists... 59s Building dependency tree... 59s Reading state information... 59s Calculating upgrade... 60s The following packages will be upgraded: 60s libzstd1 zstd 60s 2 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 60s Need to get 1275 kB of archives. 60s After this operation, 0 B of additional disk space will be used. 60s Get:1 http://ftpmaster.internal/ubuntu resolute/main ppc64el libzstd1 ppc64el 1.5.7+dfsg-3 [430 kB] 60s Get:2 http://ftpmaster.internal/ubuntu resolute/main ppc64el zstd ppc64el 1.5.7+dfsg-3 [845 kB] 60s dpkg-preconfigure: unable to re-open stdin: No such file or directory 60s Fetched 1275 kB in 0s (3787 kB/s) 60s (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 ... 82008 files and directories currently installed.) 60s Preparing to unpack .../libzstd1_1.5.7+dfsg-3_ppc64el.deb ... 61s Unpacking libzstd1:ppc64el (1.5.7+dfsg-3) over (1.5.7+dfsg-2) ... 61s Setting up libzstd1:ppc64el (1.5.7+dfsg-3) ... 61s (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 ... 82008 files and directories currently installed.) 61s Preparing to unpack .../zstd_1.5.7+dfsg-3_ppc64el.deb ... 61s Unpacking zstd (1.5.7+dfsg-3) over (1.5.7+dfsg-2) ... 61s Setting up zstd (1.5.7+dfsg-3) ... 61s Processing triggers for man-db (2.13.1-1) ... 62s Processing triggers for libc-bin (2.42-2ubuntu4) ... 62s autopkgtest [22:42:46]: upgrading testbed (apt dist-upgrade and autopurge) 62s Reading package lists... 62s Building dependency tree... 62s Reading state information... 62s Calculating upgrade... 62s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 62s Reading package lists... 62s Building dependency tree... 62s Reading state information... 63s Solving dependencies... 63s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 66s autopkgtest [22:42:50]: testbed running kernel: Linux 6.18.0-9-generic #9-Ubuntu SMP PREEMPT_DYNAMIC Mon Jan 12 16:45:54 UTC 2026 66s autopkgtest [22:42:50]: @@@@@@@@@@@@@@@@@@@@ apt-source ruby-recursive-open-struct 67s Get:1 http://ftpmaster.internal/ubuntu resolute/universe ruby-recursive-open-struct 2.0.0-1 (dsc) [2189 B] 67s Get:2 http://ftpmaster.internal/ubuntu resolute/universe ruby-recursive-open-struct 2.0.0-1 (tar) [18.9 kB] 67s Get:3 http://ftpmaster.internal/ubuntu resolute/universe ruby-recursive-open-struct 2.0.0-1 (diff) [2884 B] 67s gpgv: Signature made Sat Oct 25 15:52:38 2025 UTC 67s gpgv: using RSA key 5C7ABEA20F8630459CC8C8B5E27F2CF8458C2FA4 67s gpgv: Can't check signature: No public key 67s dpkg-source: warning: cannot verify inline signature for ./ruby-recursive-open-struct_2.0.0-1.dsc: no acceptable signature found 67s autopkgtest [22:42:51]: testing package ruby-recursive-open-struct version 2.0.0-1 68s autopkgtest [22:42:52]: build not needed 68s autopkgtest [22:42:52]: test gem2deb-test-runner: preparing testbed 68s Reading package lists... 68s Building dependency tree... 68s Reading state information... 68s Solving dependencies... 68s The following NEW packages will be installed: 68s gem2deb-test-runner libruby libruby3.3 pry rake ruby ruby-coderay ruby-csv 68s ruby-did-you-mean ruby-diff-lcs ruby-method-source ruby-minitest 68s ruby-net-telnet ruby-power-assert ruby-recursive-open-struct ruby-rspec 68s ruby-rspec-core ruby-rspec-expectations ruby-rspec-mocks ruby-rspec-support 68s ruby-ruby2-keywords ruby-rubygems ruby-test-unit ruby-webrick ruby-xmlrpc 68s ruby3.3 rubygems-integration 68s 0 upgraded, 27 newly installed, 0 to remove and 0 not upgraded. 68s Need to get 7725 kB of archives. 68s After this operation, 42.8 MB of additional disk space will be used. 68s Get:1 http://ftpmaster.internal/ubuntu resolute/main ppc64el rubygems-integration all 1.19build1 [5666 B] 68s Get:2 http://ftpmaster.internal/ubuntu resolute/main ppc64el ruby-csv all 3.3.4-1 [43.0 kB] 68s Get:3 http://ftpmaster.internal/ubuntu resolute/main ppc64el ruby-did-you-mean all 1.6.3-2build1 [14.9 kB] 68s Get:4 http://ftpmaster.internal/ubuntu resolute/main ppc64el ruby-net-telnet all 0.2.0-1build1 [13.5 kB] 68s Get:5 http://ftpmaster.internal/ubuntu resolute/main ppc64el ruby-ruby2-keywords all 0.0.5-1build1 [4398 B] 68s Get:6 http://ftpmaster.internal/ubuntu resolute/main ppc64el ruby-webrick all 1.9.1-1 [60.8 kB] 68s Get:7 http://ftpmaster.internal/ubuntu resolute/main ppc64el ruby-xmlrpc all 0.3.3-2build1 [24.9 kB] 69s Get:8 http://ftpmaster.internal/ubuntu resolute-proposed/main ppc64el libruby3.3 ppc64el 3.3.8-2ubuntu3 [6367 kB] 69s Get:9 http://ftpmaster.internal/ubuntu resolute-proposed/main ppc64el ruby3.3 ppc64el 3.3.8-2ubuntu3 [48.9 kB] 69s Get:10 http://ftpmaster.internal/ubuntu resolute/main ppc64el libruby ppc64el 1:3.3 [5172 B] 69s Get:11 http://ftpmaster.internal/ubuntu resolute/main ppc64el ruby-rubygems all 3.6.7-2ubuntu1 [332 kB] 69s Get:12 http://ftpmaster.internal/ubuntu resolute/main ppc64el ruby ppc64el 1:3.3 [3666 B] 69s Get:13 http://ftpmaster.internal/ubuntu resolute/main ppc64el rake all 13.2.1-1build1 [45.9 kB] 69s Get:14 http://ftpmaster.internal/ubuntu resolute/universe ppc64el ruby-minitest all 5.26.1-1 [49.3 kB] 69s Get:15 http://ftpmaster.internal/ubuntu resolute/universe ppc64el ruby-power-assert all 2.0.5-1 [12.0 kB] 69s Get:16 http://ftpmaster.internal/ubuntu resolute/universe ppc64el ruby-test-unit all 3.6.2-1 [67.0 kB] 69s Get:17 http://ftpmaster.internal/ubuntu resolute/universe ppc64el gem2deb-test-runner ppc64el 2.2.5 [18.3 kB] 69s Get:18 http://ftpmaster.internal/ubuntu resolute/universe ppc64el ruby-coderay all 1.1.3-8build1 [78.4 kB] 69s Get:19 http://ftpmaster.internal/ubuntu resolute/universe ppc64el ruby-method-source all 1.1.0-1 [8502 B] 69s Get:20 http://ftpmaster.internal/ubuntu resolute/universe ppc64el pry all 0.15.2-1 [122 kB] 69s Get:21 http://ftpmaster.internal/ubuntu resolute/universe ppc64el ruby-diff-lcs all 1.5.1-1 [22.8 kB] 69s Get:22 http://ftpmaster.internal/ubuntu resolute/universe ppc64el ruby-recursive-open-struct all 2.0.0-1 [8386 B] 69s Get:23 http://ftpmaster.internal/ubuntu resolute/universe ppc64el ruby-rspec-support all 3.13.0c0e0m0s1-2 [29.2 kB] 69s Get:24 http://ftpmaster.internal/ubuntu resolute/universe ppc64el ruby-rspec-core all 3.13.0c0e0m0s1-2 [164 kB] 69s Get:25 http://ftpmaster.internal/ubuntu resolute/universe ppc64el ruby-rspec-expectations all 3.13.0c0e0m0s1-2 [89.8 kB] 69s Get:26 http://ftpmaster.internal/ubuntu resolute/universe ppc64el ruby-rspec-mocks all 3.13.0c0e0m0s1-2 [81.0 kB] 69s Get:27 http://ftpmaster.internal/ubuntu resolute/universe ppc64el ruby-rspec all 3.13.0c0e0m0s1-2 [3500 B] 69s Fetched 7725 kB in 1s (14.6 MB/s) 69s Selecting previously unselected package rubygems-integration. 69s (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 ... 82008 files and directories currently installed.) 69s Preparing to unpack .../00-rubygems-integration_1.19build1_all.deb ... 69s Unpacking rubygems-integration (1.19build1) ... 69s Selecting previously unselected package ruby-csv. 69s Preparing to unpack .../01-ruby-csv_3.3.4-1_all.deb ... 69s Unpacking ruby-csv (3.3.4-1) ... 69s Selecting previously unselected package ruby-did-you-mean. 69s Preparing to unpack .../02-ruby-did-you-mean_1.6.3-2build1_all.deb ... 69s Unpacking ruby-did-you-mean (1.6.3-2build1) ... 69s Selecting previously unselected package ruby-net-telnet. 69s Preparing to unpack .../03-ruby-net-telnet_0.2.0-1build1_all.deb ... 69s Unpacking ruby-net-telnet (0.2.0-1build1) ... 69s Selecting previously unselected package ruby-ruby2-keywords. 69s Preparing to unpack .../04-ruby-ruby2-keywords_0.0.5-1build1_all.deb ... 69s Unpacking ruby-ruby2-keywords (0.0.5-1build1) ... 69s Selecting previously unselected package ruby-webrick. 69s Preparing to unpack .../05-ruby-webrick_1.9.1-1_all.deb ... 69s Unpacking ruby-webrick (1.9.1-1) ... 69s Selecting previously unselected package ruby-xmlrpc. 69s Preparing to unpack .../06-ruby-xmlrpc_0.3.3-2build1_all.deb ... 69s Unpacking ruby-xmlrpc (0.3.3-2build1) ... 69s Selecting previously unselected package libruby3.3:ppc64el. 69s Preparing to unpack .../07-libruby3.3_3.3.8-2ubuntu3_ppc64el.deb ... 69s Unpacking libruby3.3:ppc64el (3.3.8-2ubuntu3) ... 70s Selecting previously unselected package ruby3.3. 70s Preparing to unpack .../08-ruby3.3_3.3.8-2ubuntu3_ppc64el.deb ... 70s Unpacking ruby3.3 (3.3.8-2ubuntu3) ... 70s Selecting previously unselected package libruby:ppc64el. 70s Preparing to unpack .../09-libruby_1%3a3.3_ppc64el.deb ... 70s Unpacking libruby:ppc64el (1:3.3) ... 70s Selecting previously unselected package ruby-rubygems. 70s Preparing to unpack .../10-ruby-rubygems_3.6.7-2ubuntu1_all.deb ... 70s Unpacking ruby-rubygems (3.6.7-2ubuntu1) ... 70s Selecting previously unselected package ruby. 70s Preparing to unpack .../11-ruby_1%3a3.3_ppc64el.deb ... 70s Unpacking ruby (1:3.3) ... 70s Selecting previously unselected package rake. 70s Preparing to unpack .../12-rake_13.2.1-1build1_all.deb ... 70s Unpacking rake (13.2.1-1build1) ... 70s Selecting previously unselected package ruby-minitest. 70s Preparing to unpack .../13-ruby-minitest_5.26.1-1_all.deb ... 70s Unpacking ruby-minitest (5.26.1-1) ... 70s Selecting previously unselected package ruby-power-assert. 70s Preparing to unpack .../14-ruby-power-assert_2.0.5-1_all.deb ... 70s Unpacking ruby-power-assert (2.0.5-1) ... 70s Selecting previously unselected package ruby-test-unit. 70s Preparing to unpack .../15-ruby-test-unit_3.6.2-1_all.deb ... 70s Unpacking ruby-test-unit (3.6.2-1) ... 70s Selecting previously unselected package gem2deb-test-runner. 70s Preparing to unpack .../16-gem2deb-test-runner_2.2.5_ppc64el.deb ... 70s Unpacking gem2deb-test-runner (2.2.5) ... 70s Selecting previously unselected package ruby-coderay. 70s Preparing to unpack .../17-ruby-coderay_1.1.3-8build1_all.deb ... 70s Unpacking ruby-coderay (1.1.3-8build1) ... 70s Selecting previously unselected package ruby-method-source. 70s Preparing to unpack .../18-ruby-method-source_1.1.0-1_all.deb ... 70s Unpacking ruby-method-source (1.1.0-1) ... 70s Selecting previously unselected package pry. 70s Preparing to unpack .../19-pry_0.15.2-1_all.deb ... 70s Unpacking pry (0.15.2-1) ... 70s Selecting previously unselected package ruby-diff-lcs. 70s Preparing to unpack .../20-ruby-diff-lcs_1.5.1-1_all.deb ... 70s Unpacking ruby-diff-lcs (1.5.1-1) ... 70s Selecting previously unselected package ruby-recursive-open-struct. 70s Preparing to unpack .../21-ruby-recursive-open-struct_2.0.0-1_all.deb ... 70s Unpacking ruby-recursive-open-struct (2.0.0-1) ... 70s Selecting previously unselected package ruby-rspec-support. 70s Preparing to unpack .../22-ruby-rspec-support_3.13.0c0e0m0s1-2_all.deb ... 70s Unpacking ruby-rspec-support (3.13.0c0e0m0s1-2) ... 70s Selecting previously unselected package ruby-rspec-core. 70s Preparing to unpack .../23-ruby-rspec-core_3.13.0c0e0m0s1-2_all.deb ... 70s Unpacking ruby-rspec-core (3.13.0c0e0m0s1-2) ... 70s Selecting previously unselected package ruby-rspec-expectations. 70s Preparing to unpack .../24-ruby-rspec-expectations_3.13.0c0e0m0s1-2_all.deb ... 70s Unpacking ruby-rspec-expectations (3.13.0c0e0m0s1-2) ... 70s Selecting previously unselected package ruby-rspec-mocks. 70s Preparing to unpack .../25-ruby-rspec-mocks_3.13.0c0e0m0s1-2_all.deb ... 70s Unpacking ruby-rspec-mocks (3.13.0c0e0m0s1-2) ... 70s Selecting previously unselected package ruby-rspec. 70s Preparing to unpack .../26-ruby-rspec_3.13.0c0e0m0s1-2_all.deb ... 70s Unpacking ruby-rspec (3.13.0c0e0m0s1-2) ... 70s Setting up ruby-ruby2-keywords (0.0.5-1build1) ... 70s Setting up ruby-power-assert (2.0.5-1) ... 70s Setting up rubygems-integration (1.19build1) ... 70s Setting up ruby-minitest (5.26.1-1) ... 70s Setting up ruby-method-source (1.1.0-1) ... 70s Setting up ruby-test-unit (3.6.2-1) ... 70s Setting up ruby-net-telnet (0.2.0-1build1) ... 70s Setting up ruby-csv (3.3.4-1) ... 70s Setting up ruby-rspec-support (3.13.0c0e0m0s1-2) ... 70s Setting up ruby-webrick (1.9.1-1) ... 70s Setting up ruby-did-you-mean (1.6.3-2build1) ... 70s Setting up ruby-xmlrpc (0.3.3-2build1) ... 70s Setting up rake (13.2.1-1build1) ... 70s Setting up libruby3.3:ppc64el (3.3.8-2ubuntu3) ... 70s Setting up ruby-recursive-open-struct (2.0.0-1) ... 70s Setting up ruby3.3 (3.3.8-2ubuntu3) ... 70s Setting up libruby:ppc64el (1:3.3) ... 70s Setting up ruby (1:3.3) ... 70s Setting up ruby-coderay (1.1.3-8build1) ... 70s Setting up ruby-rspec-core (3.13.0c0e0m0s1-2) ... 70s Setting up pry (0.15.2-1) ... 70s Setting up ruby-diff-lcs (1.5.1-1) ... 70s Setting up ruby-rubygems (3.6.7-2ubuntu1) ... 70s Setting up gem2deb-test-runner (2.2.5) ... 70s Setting up ruby-rspec-expectations (3.13.0c0e0m0s1-2) ... 70s Setting up ruby-rspec-mocks (3.13.0c0e0m0s1-2) ... 70s Setting up ruby-rspec (3.13.0c0e0m0s1-2) ... 70s Processing triggers for libc-bin (2.42-2ubuntu4) ... 70s Processing triggers for man-db (2.13.1-1) ... 71s autopkgtest [22:42:55]: test gem2deb-test-runner: gem2deb-test-runner --autopkgtest --check-dependencies 2>&1 71s autopkgtest [22:42:55]: test gem2deb-test-runner: [----------------------- 72s 72s ┌──────────────────────────────────────────────────────────────────────────────┐ 72s │ Checking Rubygems dependency resolution on ruby3.3 │ 72s └──────────────────────────────────────────────────────────────────────────────┘ 72s 72s RUBYLIB=. GEM_PATH= ruby3.3 -e gem\ \"recursive-open-struct\" 72s mv lib ./.gem2deb.lib 72s mv ./.gem2deb.lib lib 72s 72s ┌──────────────────────────────────────────────────────────────────────────────┐ 72s │ Run tests for ruby3.3 from debian/ruby-tests.rake │ 72s └──────────────────────────────────────────────────────────────────────────────┘ 72s 72s RUBYLIB=. GEM_PATH= ruby3.3 -S rake --rakelibdir /gem2deb-nonexistent -f debian/ruby-tests.rake 72s mv lib ./.gem2deb.lib 72s /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 72s Run options: include {:focus=>true} 72s 72s All examples were filtered out; ignoring {:focus=>true} 72s 72s RecursiveOpenStruct 72s #debug_inspect 72s should have a simple way of display 72s 72s RecursiveOpenStruct 72s indifferent access 72s setting value with method 72s allows getting with method 72s allows getting with symbol 72s allows getting with string 72s setting value with symbol 72s allows getting with method 72s allows getting with symbol 72s allows getting with string 72s setting value with string 72s allows getting with method 72s allows getting with symbol 72s allows getting with string 72s overwriting values 72s set with method 72s overrides with symbol 72s overrides with string 72s set with symbol 72s overrides with method 72s overrides with string 72s set with string 72s overrides with method 72s overrides with symbol 72s set with hash 72s overrides with method 72s overrides with symbol 72s overrides with string 72s when preserve_original_keys is not enabled 72s transforms original keys to symbols 72s after initialization 72s in recursive hashes 72s after resetting value 72s when preserve_original_keys is enabled 72s preserves the original keys 72s after initialization 72s in recursive hashes 72s after resetting value 72s when undefined method 72s when raise_on_missing is enabled 72s raises NoMethodError 72s when raise_on_missing is disabled 72s preserves the original keys 72s returns nil 72s 72s RecursiveOpenStruct 72s behavior it inherits from OpenStruct 72s when not initialized from anything 72s can represent arbitrary data objects 72s returns nil for missing attributes 72s when initialized with nil 72s returns nil for missing attributes 72s when initialized with an empty hash 72s returns nil for missing attributes 72s when initialized from a hash 72s can modify an existing key 72s that contains symbol keys 72s turns those symbol keys into method names 72s that contains string keys 72s turns those string keys into method names 72s that contains keys that mirror existing private methods 72s handles subscript notation without calling the method name first (#42) 72s that contains keys that mirror existing public methods inherited from Object 72s handles subscript notation without calling the existing methods 72s handling of arbitrary attributes 72s #respond? 72s is expected to respond to #blah 72s is expected to respond to #blah= 72s is expected not to respond to #asdf 72s is expected not to respond to #asdf= 72s #methods 72s is expected to include :blah 72s is expected to include :blah= 72s is expected not to include :asdf 72s is expected not to include :asdf= 72s handling of freezing 72s can read existing keys 72s cannot write new keys 72s cannot write existing keys 72s with recursive structure 72s can read existing sub-elements 72s can write new sub-elements 72s can write existing sub-elements 72s 72s RecursiveOpenStruct 72s OpenStruct 2.0+ methods 72s Hash style setter 72s method exists 72s changes the value 72s delete_field 72s removes the value 72s removes the getter method 72s removes the setter method 72s works with indifferent access 72s eql? 72s with identical ROS 72s is expected to be eql # 72s with similar ROS 72s is expected to be eql # 72s with same Hash 72s is expected to be eql # 72s with duplicated ROS 72s fails on different value 72s fails on missing field 72s fails on added field 72s hash 72s calculates table hash 72s each_pair 72s iterates over hash keys, with keys as symbol 72s 72s RecursiveOpenStruct 72s OpenStruct 2.3.0+ methods 72s #dig 72s recurse_over_arrays: false 72s OpenStruct-like behavior 72s is expected to eq 2 72s is expected to eq "doo" 72s is expected to eq "one" 72s recursive behavior 72s is expected to eq #"one"}]> 72s is expected to eq {:inner=>"one"} 72s recurse_over_arrays: true 72s OpenStruct-like behavior 72s is expected to eq 2 72s is expected to eq "doo" 72s is expected to eq "one" 72s recursive behavior 72s is expected to eq #"one"}]> 72s is expected to eq # 72s 72s RecursiveOpenStruct 72s subclassing RecursiveOpenStruct 72s nested objects use the subclass of the parent 72s 72s RecursiveOpenStruct 72s recursive behavior 72s can convert the entire hash tree back into a hash 72s returns accessed hashes as RecursiveOpenStructs instead of hashes 72s handles subscript notation the same way as dotted notation 72s uses #key_as_a_hash to return key as a Hash 72s handles sub-element replacement with dotted notation before member setup 72s handles being dump then loaded by Marshal 72s can modify a key of a sub-element 72s handling loops in the original Hashes 72s is expected to eq "a" 72s is expected to eq "b" 72s is expected to eq "a" 72s is expected to eq "b" 72s is expected to eq #"b", :h1=>{:a=>"a", :h2=>{...}}}> 72s is expected not to eq #"a", :h2=>{:a=>"b", :h1=>{...}}}> 72s subscript mutation notation 72s handles the basic case 72s recurses properly 72s can replace the entire hash 72s updates sub-element cache 72s after a sub-element has been modified 72s does not mutate the original hash tree passed to the constructor 72s limits the deep-copy to the initial hash tree 72s .to_h 72s returns a hash tree that contains those modifications 72s modifying the returned hash tree does not modify the ROS 72s #dup 72s preserves sub-element modifications 72s allows the copy's sub-elements to be modified independently from the original's 72s when memoizing and then modifying entire recursive structures 72s when modifying an entire Hash 72s returns the modified value instead of the memoized one 72s the old value no longer exists 72s when modifying an entire Array 72s returns the modified value instead of the memoized one 72s recursing over arrays 72s when dump and loaded by Marshal 72s is expected to eq 3 72s is expected to eq "1" 72s is expected to eq "2" 72s is expected to eq [{:foo=>"1"}, {:foo=>"2"}, "baz"] 72s is expected to eq "baz" 72s when recursing over arrays is enabled 72s is expected to eq 3 72s is expected to eq "1" 72s is expected to eq "2" 72s is expected to eq [{:foo=>"1"}, {:foo=>"2"}, "baz"] 72s is expected to eq "baz" 72s when an inner value changes 72s Retains changes across Array lookups 72s propagates the changes through to .to_h across Array lookups 72s deep-copies hashes within Arrays 72s does not mutate the input hash passed to the constructor 72s the deep copy recurses over Arrays as well 72s #dup 72s preserves sub-element modifications 72s allows the copy's sub-elements to be modified independently from the original's 72s when array is nested deeper 72s is expected to eq 3 72s Retains changes across Array lookups 72s when array is in an array 72s is expected to eq 1 72s is expected to eq 3 72s Retains changes across Array lookups 72s when recursing over arrays is disabled 72s is expected to eq 3 72s is expected to eq {:foo=>"1"} 72s is expected to eq "1" 72s modifying an array and recursing over it 72s when adding an array with hashes into the tree 72s ROS's it 72s when appending a hash to an array 72s ROS's it 72s the changes show up in .to_h 72s after appending a hash to an array 72s can have new values be set 72s nested nil values 72s returns nil 72s returns a hash with the key and a nil value 72s 72s Finished in 0.04542 seconds (files took 0.26458 seconds to load) 72s 132 examples, 0 failures 72s 72s mv ./.gem2deb.lib lib 73s autopkgtest [22:42:57]: test gem2deb-test-runner: -----------------------] 73s autopkgtest [22:42:57]: test gem2deb-test-runner: - - - - - - - - - - results - - - - - - - - - - 73s gem2deb-test-runner PASS 73s autopkgtest [22:42:57]: @@@@@@@@@@@@@@@@@@@@ summary 73s gem2deb-test-runner PASS