Diff of the two buildlogs:

--
--- b1/build.log	2023-05-31 23:16:36.880795656 +0000
+++ b2/build.log	2023-05-31 23:18:14.364525906 +0000
@@ -1,8 +1,65 @@
 I: pbuilder: network access will be disabled during build
-I: Current time: Wed May 31 11:15:07 -12 2023
-I: pbuilder-time-stamp: 1685574907
+I: Current time: Wed Jul  3 16:53:04 +14 2024
+I: pbuilder-time-stamp: 1719975184
 I: Building the build Environment
 I: extracting base tarball [/var/cache/pbuilder/bookworm-reproducible-base.tgz]
+tar: ./usr/share/doc/adduser/examples/adduser.local.conf.examples/skel: time stamp 2025-08-05 10:27:37 is 34364064.12164954 s in the future
+tar: ./usr/share/doc/adduser/examples/adduser.local.conf.examples/skel.other: time stamp 2025-08-05 10:27:37 is 34364064.1213433 s in the future
+tar: ./usr/share/doc/adduser/examples/adduser.local.conf.examples: time stamp 2025-08-05 10:27:37 is 34364064.12116008 s in the future
+tar: ./usr/share/doc/adduser/examples: time stamp 2025-08-05 10:27:37 is 34364064.1193452 s in the future
+tar: ./usr/share/doc/adduser: time stamp 2025-08-05 10:27:37 is 34364064.11894662 s in the future
+tar: ./usr/share/locale/ca/LC_MESSAGES: time stamp 2025-08-05 10:27:37 is 34364064.0115632 s in the future
+tar: ./usr/share/locale/cs/LC_MESSAGES: time stamp 2025-08-05 10:27:37 is 34364063.98527078 s in the future
+tar: ./usr/share/locale/da/LC_MESSAGES: time stamp 2025-08-05 10:27:37 is 34364063.95851732 s in the future
+tar: ./usr/share/locale/de/LC_MESSAGES: time stamp 2025-08-05 10:27:37 is 34364063.9294461 s in the future
+tar: ./usr/share/locale/es/LC_MESSAGES: time stamp 2025-08-05 10:27:37 is 34364063.87135872 s in the future
+tar: ./usr/share/locale/eu/LC_MESSAGES: time stamp 2025-08-05 10:27:37 is 34364063.8637833 s in the future
+tar: ./usr/share/locale/fr/LC_MESSAGES: time stamp 2025-08-05 10:27:37 is 34364063.78262008 s in the future
+tar: ./usr/share/locale/gl/LC_MESSAGES: time stamp 2025-08-05 10:27:37 is 34364063.77217804 s in the future
+tar: ./usr/share/locale/hu/LC_MESSAGES: time stamp 2025-08-05 10:27:37 is 34364063.75552642 s in the future
+tar: ./usr/share/locale/it/LC_MESSAGES: time stamp 2025-08-05 10:27:37 is 34364063.73199698 s in the future
+tar: ./usr/share/locale/ja/LC_MESSAGES: time stamp 2025-08-05 10:27:37 is 34364063.70286344 s in the future
+tar: ./usr/share/locale/ko/LC_MESSAGES: time stamp 2025-08-05 10:27:37 is 34364063.67967242 s in the future
+tar: ./usr/share/locale/nb/LC_MESSAGES: time stamp 2025-08-05 10:27:37 is 34364063.65164986 s in the future
+tar: ./usr/share/locale/nl/LC_MESSAGES: time stamp 2025-08-05 10:27:37 is 34364063.6193987 s in the future
+tar: ./usr/share/locale/pl/LC_MESSAGES: time stamp 2025-08-05 10:27:37 is 34364063.59169864 s in the future
+tar: ./usr/share/locale/pt/LC_MESSAGES: time stamp 2025-08-05 10:27:37 is 34364063.55828984 s in the future
+tar: ./usr/share/locale/pt_BR/LC_MESSAGES: time stamp 2025-08-05 10:27:37 is 34364063.53419468 s in the future
+tar: ./usr/share/locale/ru/LC_MESSAGES: time stamp 2025-08-05 10:27:37 is 34364063.45963084 s in the future
+tar: ./usr/share/locale/sk/LC_MESSAGES: time stamp 2025-08-05 10:27:37 is 34364063.4441058 s in the future
+tar: ./usr/share/locale/sv/LC_MESSAGES: time stamp 2025-08-05 10:27:37 is 34364063.38965304 s in the future
+tar: ./usr/share/locale/uk/LC_MESSAGES: time stamp 2025-08-05 10:27:37 is 34364063.29956202 s in the future
+tar: ./usr/share/locale/vi/LC_MESSAGES: time stamp 2025-08-05 10:27:37 is 34364063.2670245 s in the future
+tar: ./usr/share/locale/zh_CN/LC_MESSAGES: time stamp 2025-08-05 10:27:37 is 34364063.23821262 s in the future
+tar: ./usr/share/man/de/man5: time stamp 2025-08-05 10:27:37 is 34364063.03481686 s in the future
+tar: ./usr/share/man/fr/man5: time stamp 2025-08-05 10:27:37 is 34364063.01378648 s in the future
+tar: ./usr/share/man/man5: time stamp 2025-08-05 10:27:37 is 34364062.94433838 s in the future
+tar: ./usr/share/man/nl/man5: time stamp 2025-08-05 10:27:37 is 34364062.913526 s in the future
+tar: ./usr/share/man/nl/man8: time stamp 2025-08-05 10:27:37 is 34364062.91126574 s in the future
+tar: ./usr/share/man/pt/man5: time stamp 2025-08-05 10:27:37 is 34364062.89719762 s in the future
+tar: ./usr/share/man/pt/man8: time stamp 2025-08-05 10:27:37 is 34364062.89351866 s in the future
+tar: ./usr/share/perl5/Debian: time stamp 2025-08-05 10:27:37 is 34364062.82384974 s in the future
+tar: ./var/lib/apt/extended_states: time stamp 2025-08-05 10:27:37 is 34364059.84488416 s in the future
+tar: ./var/lib/apt: time stamp 2025-08-05 10:27:37 is 34364059.84478296 s in the future
+tar: ./var/lib/dpkg/info/adduser.list: time stamp 2025-08-05 10:27:37 is 34364059.7511378 s in the future
+tar: ./var/lib/dpkg/info: time stamp 2025-08-05 10:27:37 is 34364059.75084764 s in the future
+tar: ./var/lib/dpkg/updates: time stamp 2025-08-05 10:27:37 is 34364059.7507486 s in the future
+tar: ./var/lib/dpkg/lock: time stamp 2025-08-05 10:27:37 is 34364059.74877672 s in the future
+tar: ./var/lib/dpkg/triggers/Lock: time stamp 2025-08-05 10:27:37 is 34364059.74866004 s in the future
+tar: ./var/lib/dpkg/status-old: time stamp 2025-08-05 10:27:37 is 34364059.7465816 s in the future
+tar: ./var/lib/dpkg/status: time stamp 2025-08-05 10:27:37 is 34364059.74481276 s in the future
+tar: ./var/lib/dpkg: time stamp 2025-08-05 10:27:37 is 34364059.7447322 s in the future
+tar: ./var/cache/apt/archives/partial: time stamp 2025-08-05 10:27:36 is 34364058.74303826 s in the future
+tar: ./var/cache/apt/archives: time stamp 2025-08-05 10:27:39 is 34364061.7429283 s in the future
+tar: ./var/log/apt/term.log: time stamp 2025-08-05 10:27:37 is 34364059.72220824 s in the future
+tar: ./var/log/apt/history.log: time stamp 2025-08-05 10:27:37 is 34364059.7220207 s in the future
+tar: ./var/log/apt/eipp.log.xz: time stamp 2025-08-05 10:27:36 is 34364058.72192638 s in the future
+tar: ./var/log/apt: time stamp 2025-08-05 10:27:36 is 34364058.72187842 s in the future
+tar: ./var/log/dpkg.log: time stamp 2025-08-05 10:27:37 is 34364059.72105202 s in the future
+tar: ./usr/sbin: time stamp 2025-08-05 10:27:37 is 34364059.54780436 s in the future
+tar: ./usr/share/man/man8: time stamp 2025-08-05 10:27:37 is 34364059.54711516 s in the future
+tar: ./usr/share/man/fr/man8: time stamp 2025-08-05 10:27:37 is 34364059.54694976 s in the future
+tar: ./usr/share/man/de/man8: time stamp 2025-08-05 10:27:37 is 34364059.5468332 s in the future
 I: copying local configuration
 W: --override-config is not set; not updating apt.conf Read the manpage for details.
 I: mounting /proc filesystem
@@ -16,7 +73,7 @@
 I: copying [./ruby-train_3.2.28.orig.tar.gz]
 I: copying [./ruby-train_3.2.28-2.debian.tar.xz]
 I: Extracting source
-gpgv: Signature made Sat May  9 04:29:39 2020 -12
+gpgv: Signature made Sun May 10 06:29:39 2020 +14
 gpgv:                using RSA key B2DEE66036C40829FCD0F10CFC0DB1BBCD460BDE
 gpgv: Can't check signature: No public key
 dpkg-source: warning: cannot verify inline signature for ./ruby-train_3.2.28-2.dsc: no acceptable signature found
@@ -27,52 +84,84 @@
 dpkg-source: info: applying 0002-remove-version-cap-on-net-ssh-and-net-scp.patch
 I: Not using root during the build.
 I: Installing the build-deps
-I: user script /srv/workspace/pbuilder/11445/tmp/hooks/D02_print_environment starting
+I: user script /srv/workspace/pbuilder/24652/tmp/hooks/D01_modify_environment starting
+debug: Running on codethink9-arm64.
+I: Changing host+domainname to test build reproducibility
+I: Adding a custom variable just for the fun of it...
+I: Changing /bin/sh to bash
+'/bin/sh' -> '/bin/bash'
+lrwxrwxrwx 1 root root 9 Jul  3 16:53 /bin/sh -> /bin/bash
+I: Setting pbuilder2's login shell to /bin/bash
+I: Setting pbuilder2's GECOS to second user,second room,second work-phone,second home-phone,second other
+I: user script /srv/workspace/pbuilder/24652/tmp/hooks/D01_modify_environment finished
+I: user script /srv/workspace/pbuilder/24652/tmp/hooks/D02_print_environment starting
 I: set
-  BUILDDIR='/build'
-  BUILDUSERGECOS='first user,first room,first work-phone,first home-phone,first other'
-  BUILDUSERNAME='pbuilder1'
-  BUILD_ARCH='arm64'
-  DEBIAN_FRONTEND='noninteractive'
+  BASH=/bin/sh
+  BASHOPTS=checkwinsize:cmdhist:complete_fullquote:extquote:force_fignore:globasciiranges:globskipdots:hostcomplete:interactive_comments:patsub_replacement:progcomp:promptvars:sourcepath
+  BASH_ALIASES=()
+  BASH_ARGC=()
+  BASH_ARGV=()
+  BASH_CMDS=()
+  BASH_LINENO=([0]="12" [1]="0")
+  BASH_LOADABLES_PATH=/usr/local/lib/bash:/usr/lib/bash:/opt/local/lib/bash:/usr/pkg/lib/bash:/opt/pkg/lib/bash:.
+  BASH_SOURCE=([0]="/tmp/hooks/D02_print_environment" [1]="/tmp/hooks/D02_print_environment")
+  BASH_VERSINFO=([0]="5" [1]="2" [2]="15" [3]="1" [4]="release" [5]="aarch64-unknown-linux-gnu")
+  BASH_VERSION='5.2.15(1)-release'
+  BUILDDIR=/build
+  BUILDUSERGECOS='second user,second room,second work-phone,second home-phone,second other'
+  BUILDUSERNAME=pbuilder2
+  BUILD_ARCH=arm64
+  DEBIAN_FRONTEND=noninteractive
   DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=8 '
-  DISTRIBUTION='bookworm'
-  HOME='/var/lib/jenkins'
-  HOST_ARCH='arm64'
+  DIRSTACK=()
+  DISTRIBUTION=bookworm
+  EUID=0
+  FUNCNAME=([0]="Echo" [1]="main")
+  GROUPS=()
+  HOME=/var/lib/jenkins
+  HOSTNAME=i-capture-the-hostname
+  HOSTTYPE=aarch64
+  HOST_ARCH=arm64
   IFS=' 	
   '
-  LANG='C'
-  LANGUAGE='en_US:en'
-  LC_ALL='C'
-  MAIL='/var/mail/root'
-  OPTIND='1'
-  PATH='/usr/sbin:/usr/bin:/sbin:/bin:/usr/games'
-  PBCURRENTCOMMANDLINEOPERATION='build'
-  PBUILDER_OPERATION='build'
-  PBUILDER_PKGDATADIR='/usr/share/pbuilder'
-  PBUILDER_PKGLIBDIR='/usr/lib/pbuilder'
-  PBUILDER_SYSCONFDIR='/etc'
-  PPID='11445'
-  PS1='# '
-  PS2='> '
+  LANG=C
+  LANGUAGE=nl_BE:nl
+  LC_ALL=C
+  MACHTYPE=aarch64-unknown-linux-gnu
+  MAIL=/var/mail/root
+  OPTERR=1
+  OPTIND=1
+  OSTYPE=linux-gnu
+  PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path
+  PBCURRENTCOMMANDLINEOPERATION=build
+  PBUILDER_OPERATION=build
+  PBUILDER_PKGDATADIR=/usr/share/pbuilder
+  PBUILDER_PKGLIBDIR=/usr/lib/pbuilder
+  PBUILDER_SYSCONFDIR=/etc
+  PIPESTATUS=([0]="0")
+  POSIXLY_CORRECT=y
+  PPID=24652
   PS4='+ '
-  PWD='/'
-  SHELL='/bin/bash'
-  SHLVL='2'
-  SUDO_COMMAND='/usr/bin/timeout -k 18.1h 18h /usr/bin/ionice -c 3 /usr/bin/nice /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.Qa1rqfl0/pbuilderrc_s5h2 --distribution bookworm --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/bookworm-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.Qa1rqfl0/b1 --logfile b1/build.log ruby-train_3.2.28-2.dsc'
-  SUDO_GID='117'
-  SUDO_UID='110'
-  SUDO_USER='jenkins'
-  TERM='unknown'
-  TZ='/usr/share/zoneinfo/Etc/GMT+12'
-  USER='root'
-  USERNAME='root'
-  _='/usr/bin/systemd-run'
-  http_proxy='http://192.168.101.16:3128'
+  PWD=/
+  SHELL=/bin/bash
+  SHELLOPTS=braceexpand:errexit:hashall:interactive-comments:posix
+  SHLVL=3
+  SUDO_COMMAND='/usr/bin/timeout -k 24.1h 24h /usr/bin/ionice -c 3 /usr/bin/nice -n 11 /usr/bin/unshare --uts -- /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.Qa1rqfl0/pbuilderrc_QYQl --distribution bookworm --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/bookworm-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.Qa1rqfl0/b2 --logfile b2/build.log --extrapackages usrmerge ruby-train_3.2.28-2.dsc'
+  SUDO_GID=117
+  SUDO_UID=110
+  SUDO_USER=jenkins
+  TERM=unknown
+  TZ=/usr/share/zoneinfo/Etc/GMT-14
+  UID=0
+  USER=root
+  USERNAME=root
+  _='I: set'
+  http_proxy=http://192.168.101.16:3128
 I: uname -a
-  Linux codethink14-arm64 4.15.0-212-generic #223-Ubuntu SMP Tue May 23 13:09:17 UTC 2023 aarch64 GNU/Linux
+  Linux i-capture-the-hostname 4.15.0-212-generic #223-Ubuntu SMP Tue May 23 13:09:17 UTC 2023 aarch64 GNU/Linux
 I: ls -l /bin
-  lrwxrwxrwx 1 root root 7 May 24 22:26 /bin -> usr/bin
-I: user script /srv/workspace/pbuilder/11445/tmp/hooks/D02_print_environment finished
+  lrwxrwxrwx 1 root root 7 May 28  2023 /bin -> usr/bin
+I: user script /srv/workspace/pbuilder/24652/tmp/hooks/D02_print_environment finished
  -> Attempting to satisfy build-dependencies
  -> Creating pbuilder-satisfydepends-dummy package
 Package: pbuilder-satisfydepends-dummy
@@ -266,7 +355,7 @@
 Get: 136 http://deb.debian.org/debian bookworm/main arm64 ruby-mocha all 1.16.1-1 [159 kB]
 Get: 137 http://deb.debian.org/debian bookworm/main arm64 ruby-net-ssh all 1:7.0.1-1 [108 kB]
 Get: 138 http://deb.debian.org/debian bookworm/main arm64 ruby-net-scp all 4.0.0-1 [16.3 kB]
-Fetched 45.9 MB in 1s (33.8 MB/s)
+Fetched 45.9 MB in 1s (32.6 MB/s)
 debconf: delaying package configuration, since apt-utils is not installed
 Selecting previously unselected package libpython3.11-minimal:arm64.
 (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 ... 19611 files and directories currently installed.)
@@ -841,8 +930,17 @@
 Writing extended state information...
 Building tag database...
  -> Finished parsing the build-deps
+Reading package lists...
+Building dependency tree...
+Reading state information...
+usrmerge is already the newest version (35).
+0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
 I: Building the package
-I: Running cd /build/ruby-train-3.2.28/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-genchanges -S  > ../ruby-train_3.2.28-2_source.changes
+I: user script /srv/workspace/pbuilder/24652/tmp/hooks/A99_set_merged_usr starting
+Re-configuring usrmerge...
+I: user script /srv/workspace/pbuilder/24652/tmp/hooks/A99_set_merged_usr finished
+hostname: Temporary failure in name resolution
+I: Running cd /build/ruby-train-3.2.28/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-genchanges -S  > ../ruby-train_3.2.28-2_source.changes
 dpkg-buildpackage: info: source package ruby-train
 dpkg-buildpackage: info: source version 3.2.28-2
 dpkg-buildpackage: info: source distribution unstable
@@ -871,7 +969,7 @@
    dh_prep -O--buildsystem=ruby
    dh_auto_install --destdir=debian/ruby-train-core/ -O--buildsystem=ruby
 	dh_ruby --install /build/ruby-train-3.2.28/debian/ruby-train-core
-/usr/bin/ruby3.1 -S gem build --config-file /dev/null --verbose /tmp/d20230531-25259-ugkush/gemspec
+/usr/bin/ruby3.1 -S gem build --config-file /dev/null --verbose /tmp/d20240703-12302-bqmf2f/gemspec
 Failed to load /dev/null because it doesn't contain valid YAML hash
 WARNING:  no homepage specified
 WARNING:  open-ended dependency on net-scp (>= 1.2) is not recommended
@@ -885,7 +983,7 @@
   Name: train-core
   Version: 3.2.28
   File: train-core-3.2.28.gem
-/usr/bin/ruby3.1 -S gem install --config-file /dev/null --verbose --local --verbose --no-document --ignore-dependencies --install-dir debian/ruby-train-core/usr/share/rubygems-integration/all /tmp/d20230531-25259-ugkush/train-core-3.2.28.gem
+/usr/bin/ruby3.1 -S gem install --config-file /dev/null --verbose --local --verbose --no-document --ignore-dependencies --install-dir debian/ruby-train-core/usr/share/rubygems-integration/all /tmp/d20240703-12302-bqmf2f/train-core-3.2.28.gem
 Failed to load /dev/null because it doesn't contain valid YAML hash
 /build/ruby-train-3.2.28/debian/ruby-train-core/usr/share/rubygems-integration/all/gems/train-core-3.2.28/lib/train.rb
 /build/ruby-train-3.2.28/debian/ruby-train-core/usr/share/rubygems-integration/all/gems/train-core-3.2.28/lib/train/errors.rb
@@ -956,647 +1054,647 @@
 
 RUBYLIB=. GEM_PATH=/build/ruby-train-3.2.28/debian/ruby-train-core/usr/share/rubygems-integration/all:/var/lib/gems/3.1.0:/usr/local/lib/ruby/gems/3.1.0:/usr/lib/ruby/gems/3.1.0:/usr/lib/aarch64-linux-gnu/ruby/gems/3.1.0:/usr/share/rubygems-integration/3.1.0:/usr/share/rubygems-integration/all:/usr/lib/aarch64-linux-gnu/rubygems-integration/3.1.0 ruby3.1 -S rake -f debian/ruby-tests.rake
 /usr/bin/ruby3.1 -w -I"test" /usr/lib/ruby/gems/3.1.0/gems/rake-13.0.6/lib/rake/rake_test_loader.rb "test/helper.rb" "test/unit/extras/command_wrapper_test.rb" "test/unit/extras/stat_test.rb" "test/unit/file/local/unix_test.rb" "test/unit/file/local/windows_test.rb" "test/unit/file/local_test.rb" "test/unit/file/remote/aix_test.rb" "test/unit/file/remote/linux_test.rb" "test/unit/file/remote/qnx_test.rb" "test/unit/file/remote/unix_test.rb" "test/unit/file/remote/windows_test.rb" "test/unit/file/remote_test.rb" "test/unit/file_test.rb" "test/unit/platforms/detect/os_common_test.rb" "test/unit/platforms/detect/os_linux_test.rb" "test/unit/platforms/detect/os_windows_test.rb" "test/unit/platforms/detect/scanner_test.rb" "test/unit/platforms/detect/uuid_test.rb" "test/unit/platforms/family_test.rb" "test/unit/platforms/os_detect_test.rb" "test/unit/platforms/platform_test.rb" "test/unit/platforms/platforms_test.rb" "test/unit/plugins/connection_test.rb" "test/unit/plugins/transport_test.rb" "test/unit/plugins_test.rb" "test/unit/train_test.rb" "test/unit/transports/cisco_ios_connection_test.rb" "test/unit/transports/local_test.rb" "test/unit/transports/mock_test.rb" "test/unit/transports/ssh_connection_test.rb" "test/unit/transports/ssh_test.rb" "test/unit/version_test.rb"  -v
-Run options: -v --seed 61335
+Run options: -v --seed 32189
 
 # Running:
 
-v1 Connection Plugin::empty v1 connection plugin::run command#test_0002_without caching = 0.01 s = .
-v1 Connection Plugin::empty v1 connection plugin::run command#test_0001_with caching = 0.00 s = .
-os_detect::/etc/debian_version::ubuntu#test_0001_sets the correct family/release for ubuntu = 0.01 s = .
-os_detect::yocto#test_0001_sets the correct family, name, and release on yocto = 0.01 s = .
-stat::find_type#test_0007_detects character devices = 0.00 s = .
-stat::find_type#test_0005_detects block devices = 0.01 s = .
+stat::bsd stat#test_0001_ignores failed stat results = 0.00 s = .
+stat::bsd stat#test_0003_reads correct stat results = 0.01 s = .
+stat::bsd stat#test_0002_ignores wrong stat results = 0.00 s = .
+os_common::winrm? check#test_0002_return winrm? false when winrm is not loaded = 0.02 s = .
+os_common::winrm? check#test_0001_return winrm? true = 0.00 s = .
+os_linux::redhatish_version cleaner#test_0002_normal linux = 0.01 s = .
+os_linux::redhatish_version cleaner#test_0003_amazon linux 2 new release naming schema = 0.00 s = .
+os_linux::redhatish_version cleaner#test_0004_amazon linux 2 old release naming schema = 0.00 s = .
+os_linux::redhatish_version cleaner#test_0001_normal rawhide = 0.00 s = .
+ssh transport::ssh options#test_0001_includes BatchMode when :non_interactive is set = 0.01 s = .
+ssh transport::ssh options#test_0002_excludes BatchMode when :non_interactive is not set = 0.01 s = .
+stat::find_type#test_0002_detects sockets = 0.00 s = .
+stat::find_type#test_0004_detects files = 0.01 s = .
 stat::find_type#test_0001_detects :unknown types = 0.00 s = .
-stat::find_type#test_0004_detects files = 0.00 s = .
 stat::find_type#test_0008_detects pipes = 0.00 s = .
-stat::find_type#test_0002_detects sockets = 0.00 s = .
-stat::find_type#test_0003_detects symlinks = 0.00 s = .
+stat::find_type#test_0005_detects block devices = 0.00 s = .
 stat::find_type#test_0006_detects directories = 0.00 s = .
-stat::yocto stat#test_0001_ignores wrong stat results = 0.01 s = .
-stat::yocto stat#test_0002_reads correct stat results = 0.00 s = .
-platform::with platform set to smartos#test_0001_anonymous = 0.00 s = .
-platform::with platform set to smartos#test_0002_anonymous = 0.00 s = .
-platform::with platform set to smartos#test_0003_anonymous = 0.02 s = .
-os_linux::redhatish_platform cleaner#test_0002_custom redhat = 0.00 s = .
-os_linux::redhatish_platform cleaner#test_0001_normal redhat = 0.00 s = .
-platform::with platform set to alpine#test_0005_anonymous = 0.00 s = .
-platform::with platform set to alpine#test_0004_anonymous = 0.01 s = .
-platform::with platform set to alpine#test_0001_anonymous = 0.00 s = .
-platform::with platform set to alpine#test_0002_anonymous = 0.00 s = .
-platform::with platform set to alpine#test_0003_anonymous = 0.00 s = .
-os_detect::/etc/debian_version::raspbian#test_0001_sets the correct family/release for raspbian  = 0.00 s = .
-Train::File::Local::#type#test_0001_returns the type block_device if it is block device = 0.00 s = .
-Train::File::Local::#type#test_0004_returns the type file if it is file = 0.00 s = .
-Train::File::Local::#type#test_0007_returns the type socket if it is socket = 0.00 s = .
-Train::File::Local::#type#test_0008_returns the unknown if not known = 0.01 s = .
-Train::File::Local::#type#test_0002_returns the type character_device if it is character device = 0.00 s = .
-Train::File::Local::#type#test_0003_returns the type symlink if it is symlink = 0.00 s = .
-Train::File::Local::#type#test_0006_returns the type pipe if it is pipe = 0.00 s = .
-Train::File::Local::#type#test_0005_returns the type directory if it is block directory = 0.00 s = .
-Train::File::Remote::Aix#test_0002_returns a correct link_path = 0.00 s = .
+stat::find_type#test_0007_detects character devices = 0.00 s = .
+stat::find_type#test_0003_detects symlinks = 0.01 s = .
+Train::File::Remote::Windows::#md5sum#test_0002_calculates the correct md5sum on the `windows` platform family = 0.01 s = .
+Train::File::Remote::Windows::#md5sum#test_0001_defaults to a Ruby based checksum if other methods fail = 0.01 s = .
 Train::File::Remote::Aix#test_0001_returns a nil link_path if the object is not a symlink = 0.01 s = .
+Train::File::Remote::Aix#test_0002_returns a correct link_path = 0.00 s = .
 Train::File::Remote::Aix#test_0003_returns a correct shallow_link_path = 0.00 s = .
-CiscoIOSConnection::#format_output#test_0001_returns the correct output = /build/ruby-train-3.2.28/test/unit/transports/cisco_ios_connection_test.rb:10: warning: method redefined; discarding old cisco_ios?
+Train::File::Remote::Linux::#md5sum#test_0001_defaults to a Ruby based checksum if other methods fail = 0.01 s = .
+Train::File::Remote::Linux::#md5sum#test_0002_calculates the correct md5sum on the `linux` platform family = 0.00 s = .
+file common#test_0001_check escaping of invalid chars in path = 0.00 s = .
+file common#test_0002_returns file version = 0.00 s = .
+file common#test_0004_returns owner of file = 0.00 s = .
+file common#test_0003_returns product version = 0.00 s = .
+Train::File::Local::#link_path#test_0001_returns file's link path = 0.00 s = .
+Train::File::Local::Unix::#sha256sum#test_0003_calculates the correct sha256sum on the `darwin` platform family = 0.00 s = .
+Train::File::Local::Unix::#sha256sum#test_0001_defaults to a Ruby based checksum if other methods fail = 0.01 s = .
+Train::File::Local::Unix::#sha256sum#test_0004_calculates the correct sha256sum on the `solaris` platform family = 0.00 s = .
+Train::File::Local::Unix::#sha256sum#test_0002_calculates the correct sha256sum on the `linux` platform family = 0.00 s = .
+os_detect::/etc/debian_version::everything else#test_0001_sets the correct family/release for debian  = 0.01 s = .
+os_detect_windows::windows 98#test_0001_fallback to version number if wmic is not available = 0.00 s = .
+ssh transport::obscured_options#test_0001_masks passwords = 0.01 s = .
+v1 Connection Plugin::empty v1 connection plugin::cached_client helper#test_0001_returns a new connection when cached disabled = 0.00 s = .
+v1 Connection Plugin::empty v1 connection plugin::cached_client helper#test_0002_returns a new connection when cache enabled and not hydrated = 0.00 s = .
+v1 Connection Plugin::empty v1 connection plugin::cached_client helper#test_0003_returns a cached connection when cache enabled and hydrated = 0.00 s = .
+ssh transport::opening a connection#test_0002_provides a file_via_connection method = 0.00 s = .
+ssh transport::opening a connection#test_0008_has login command arguments = 0.00 s = .
+ssh transport::opening a connection#test_0012_works with ssh agent auth = 0.01 s = .
+ssh transport::opening a connection#test_0013_sets up a proxy when ssh proxy command is specified = 0.01 s = .
+ssh transport::opening a connection#test_0005_must respond to wait_until_ready = 0.01 s = .
+ssh transport::opening a connection#test_0003_gets the connection = 0.00 s = .
+ssh transport::opening a connection#test_0011_sets the right auth_methods for agent auth = 0.02 s = .
+ssh transport::opening a connection#test_0004_provides a uri = 0.03 s = .
+ssh transport::opening a connection#test_0009_sets the right auth_methods when password is specified = 0.02 s = .
+ssh transport::opening a connection#test_0006_can be closed = 0.01 s = .
+ssh transport::opening a connection#test_0007_has a login command == ssh = 0.00 s = .
+ssh transport::opening a connection#test_0001_provides a run_command_via_connection method = 0.00 s = .
+ssh transport::opening a connection#test_0010_sets the right auth_methods when keys are specified = 0.00 s = .
+Train::File::Local::#shallow_shlink_path#test_0001_returns file's direct link path = 0.00 s = .
+platform::with platform set to gentoo#test_0002_anonymous = 0.00 s = .
+platform::with platform set to gentoo#test_0004_anonymous = 0.00 s = .
+platform::with platform set to gentoo#test_0005_anonymous = 0.00 s = .
+platform::with platform set to gentoo#test_0003_anonymous = 0.00 s = .
+platform::with platform set to gentoo#test_0001_anonymous = 0.00 s = .
+ssh transport::default options#test_0002_configures the host = 0.00 s = .
+ssh transport::default options#test_0004_has default user = 0.00 s = .
+ssh transport::default options#test_0005_by default does not request a pty = 0.00 s = .
+ssh transport::default options#test_0001_can be instantiated (with valid config) = 0.00 s = .
+ssh transport::default options#test_0003_has default port = 0.00 s = .
+os_detect::/etc/debian_version::kali#test_0001_sets the correct family/release for kali = 0.00 s = .
+os_detect::yocto#test_0001_sets the correct family, name, and release on yocto = 0.00 s = .
+os_linux::#parse_os_release_info::when unexpectedly-formatted data is supplied#test_0001_returns an empty hash = 0.00 s = .
+stat::yocto stat#test_0002_reads correct stat results = 0.00 s = .
+stat::yocto stat#test_0001_ignores wrong stat results = 0.00 s = .
+local transport::when overriding runner selection#test_0001_can select the `GenericRunner` = 0.01 s = .
+local transport::when overriding runner selection#test_0002_can select the `WindowsPipeRunner` = 0.00 s = .
+local transport::when overriding runner selection#test_0003_can select the `WindowsShellRunner` = 0.00 s = .
+local transport::when overriding runner selection#test_0004_throws a RuntimeError when an invalid runner type is passed = 0.00 s = .
+Train::File::Remote::Aix::#md5sum#test_0001_defaults to a Ruby based checksum if other methods fail = 0.01 s = .
+Train::File::Remote::Aix::#md5sum#test_0002_calculates the correct md5sum on the `aix` platform family = 0.00 s = .
+Train::Plugins#test_0004_provides a registry of plugins = 0.00 s = .
+Train::Plugins#test_0002_fails when called with an unsupported plugin version = 0.00 s = .
+Train::Plugins#test_0003_defaults to v1 plugins = 0.00 s = .
+Train::Plugins#test_0001_provides a method to create new v1 transport plugins = 0.00 s = .
+os_detect::/etc/debian_version::raspbian#test_0001_sets the correct family/release for raspbian  = 0.00 s = .
+Train::File::Remote::Unix::unix_mode_mask#test_0002_check group mode calculation = 0.00 s = .
+Train::File::Remote::Unix::unix_mode_mask#test_0001_check owner mode calculation = 0.00 s = .
+Train::File::Remote::Unix::unix_mode_mask#test_0003_check other mode calculation = 0.00 s = .
+Train::File::Remote::Unix::unix_mode_mask#test_0004_check all mode calculation = 0.00 s = .
+platform::with platform set to suse#test_0002_anonymous = 0.00 s = .
+platform::with platform set to suse#test_0003_anonymous = 0.00 s = .
+platform::with platform set to suse#test_0001_anonymous = 0.00 s = .
+platform::with platform set to suse#test_0004_anonymous = 0.00 s = .
+platform::with platform set to suse#test_0005_anonymous = 0.00 s = .
+os_detect::cisco#test_0003_recognizes Cisco Nexus = 0.00 s = .
+os_detect::cisco#test_0001_recognizes Cisco IOS12 = 0.00 s = .
+os_detect::cisco#test_0002_recognizes Cisco IOS XE = 0.00 s = .
+os_detect_windows::windows 2012#test_0001_sets the correct family/release for windows = 0.00 s = .
+CiscoIOSConnection::#format_result#test_0005_returns correctly when result matches /Unrecognized host/ = /build/ruby-train-3.2.28/test/unit/transports/cisco_ios_connection_test.rb:10: warning: method redefined; discarding old cisco_ios?
 /build/ruby-train-3.2.28/debian/ruby-train-core/usr/share/rubygems-integration/all/gems/train-core-3.2.28/lib/train/platforms/platform.rb:86: warning: previous definition of cisco_ios? was here
 0.01 s = .
-CiscoIOSConnection::#format_output#test_0002_returns the correct output when a pipe is used = /build/ruby-train-3.2.28/test/unit/transports/cisco_ios_connection_test.rb:10: warning: method redefined; discarding old cisco_ios?
+CiscoIOSConnection::#format_result#test_0001_returns correctly when result is 'good' = /build/ruby-train-3.2.28/test/unit/transports/cisco_ios_connection_test.rb:10: warning: method redefined; discarding old cisco_ios?
 /build/ruby-train-3.2.28/debian/ruby-train-core/usr/share/rubygems-integration/all/gems/train-core-3.2.28/lib/train/platforms/platform.rb:86: warning: previous definition of cisco_ios? was here
 0.01 s = .
-os_linux::lsb parse#test_0001_lsb config = 0.00 s = .
-os_linux::lsb parse#test_0002_lsb releasel = 0.00 s = .
-ssh transport::obscured_options#test_0001_masks passwords = 0.00 s = .
-platform::with platform set to solaris#test_0003_anonymous = 0.00 s = .
-platform::with platform set to solaris#test_0001_anonymous = 0.00 s = .
-platform::with platform set to solaris#test_0002_anonymous = 0.00 s = .
-stat::aix stat#test_0001_ignores failed stat results = 0.00 s = .
-stat::aix stat#test_0003_reads correct stat results = 0.01 s = .
-stat::aix stat#test_0002_ignores wrong stat results = 0.00 s = .
-Train::File::Remote::Qnx#test_0004_returns a directory type = 0.00 s = .
-Train::File::Remote::Qnx#test_0001_returns file contents when the file exists = 0.00 s = .
-Train::File::Remote::Qnx#test_0002_returns nil contents when the file does not exist = 0.00 s = .
-Train::File::Remote::Qnx#test_0003_returns a file type = 0.00 s = .
-Train::File::Remote::Qnx#test_0005_raises exception for unimplemented methods = 0.00 s = .
+CiscoIOSConnection::#format_result#test_0002_returns correctly when result matches /Bad IP address/ = /build/ruby-train-3.2.28/test/unit/transports/cisco_ios_connection_test.rb:10: warning: method redefined; discarding old cisco_ios?
+/build/ruby-train-3.2.28/debian/ruby-train-core/usr/share/rubygems-integration/all/gems/train-core-3.2.28/lib/train/platforms/platform.rb:86: warning: previous definition of cisco_ios? was here
+0.01 s = .
+CiscoIOSConnection::#format_result#test_0003_returns correctly when result matches /Incomplete command/ = /build/ruby-train-3.2.28/test/unit/transports/cisco_ios_connection_test.rb:10: warning: method redefined; discarding old cisco_ios?
+/build/ruby-train-3.2.28/debian/ruby-train-core/usr/share/rubygems-integration/all/gems/train-core-3.2.28/lib/train/platforms/platform.rb:86: warning: previous definition of cisco_ios? was here
+0.02 s = .
+CiscoIOSConnection::#format_result#test_0004_returns correctly when result matches /Invalid input detected/ = /build/ruby-train-3.2.28/test/unit/transports/cisco_ios_connection_test.rb:10: warning: method redefined; discarding old cisco_ios?
+/build/ruby-train-3.2.28/debian/ruby-train-core/usr/share/rubygems-integration/all/gems/train-core-3.2.28/lib/train/platforms/platform.rb:86: warning: previous definition of cisco_ios? was here
+0.01 s = .
+os_detect_windows::windows 10#test_0001_sets the correct family/release for windows = 0.00 s = .
+Train::File#test_0012_return path of file = 0.00 s = .
+Train::File#test_0006_throws Not implemented error for uid = 0.00 s = .
+Train::File#test_0004_throws Not implemented error for owner = 0.00 s = .
+Train::File#test_0005_throws Not implemented error for group = 0.00 s = .
+Train::File#test_0001_has the default type of unknown = 0.00 s = .
+Train::File#test_0014_set product_version to nil = 0.00 s = .
+Train::File#test_0003_throws Not implemented error for mode = 0.00 s = .
+Train::File#test_0007_throws Not implemented error for gid = 0.00 s = .
+Train::File#test_0002_throws Not implemented error for exist? = 0.00 s = .
+Train::File#test_0010_throws Not implemented error for size = 0.00 s = .
+Train::File#test_0011_throws Not implemented error for selinux_label = 0.00 s = .
+Train::File#test_0008_throws Not implemented error for content = 0.00 s = .
+Train::File#test_0009_throws Not implemented error for mtime = 0.00 s = .
+Train::File#test_0013_set product_version to nil = 0.00 s = .
+Train::File::Remote::Linux::stat on the source file#test_0007_retrieves the file mtime = 0.00 s = .
+Train::File::Remote::Linux::stat on the source file#test_0006_retrieves the file gid = 0.00 s = .
+Train::File::Remote::Linux::stat on the source file#test_0009_retrieves the file selinux_label = 0.00 s = .
+Train::File::Remote::Linux::stat on the source file#test_0002_retrieves the file mode = 0.00 s = .
+Train::File::Remote::Linux::stat on the source file#test_0008_retrieves the file size = 0.00 s = .
+Train::File::Remote::Linux::stat on the source file#test_0001_retrieves the file type = 0.00 s = .
+Train::File::Remote::Linux::stat on the source file#test_0004_retrieves the file uid = 0.00 s = .
+Train::File::Remote::Linux::stat on the source file#test_0003_retrieves the file owner = 0.00 s = .
+Train::File::Remote::Linux::stat on the source file#test_0005_retrieves the file group = 0.00 s = .
+os_linux::#parse_os_release_info::when properly-formatted data is supplied#test_0001_parses the data correctly = 0.00 s = .
+platform::with platform set to alpine#test_0004_anonymous = 0.00 s = .
+platform::with platform set to alpine#test_0001_anonymous = 0.00 s = .
+platform::with platform set to alpine#test_0003_anonymous = 0.00 s = .
+platform::with platform set to alpine#test_0005_anonymous = 0.00 s = .
+platform::with platform set to alpine#test_0002_anonymous = 0.00 s = .
 ssh transport::connection options#test_0001_does not set a paranoid option - deprecated in net-ssh 4.2 = 0.00 s = .
-os_detect::/etc/coreos/update.conf#test_0001_sets the correct family/release for coreos = 0.00 s = .
-platform::with platform set to opensolaris#test_0001_anonymous = 0.00 s = .
-platform::with platform set to opensolaris#test_0002_anonymous = 0.00 s = .
-platform::with platform set to opensolaris#test_0003_anonymous = 0.00 s = .
+os_linux::redhatish_platform cleaner#test_0001_normal redhat = 0.00 s = .
+os_linux::redhatish_platform cleaner#test_0002_custom redhat = 0.00 s = .
+os_detect::windows#test_0001_sets the correct family/release for windows  = 0.00 s = .
+v1 Connection Plugin::empty v1 connection plugin::disable/enable caching#test_0001_disable file cache via connection = 0.00 s = .
+v1 Connection Plugin::empty v1 connection plugin::disable/enable caching#test_0002_enable command cache via cache_connection = 0.00 s = .
+v1 Connection Plugin::empty v1 connection plugin::disable/enable caching#test_0003_raises an exception for unknown cache type = 0.00 s = .
+Train::File::Remote::Aix::#sha256sum#test_0001_defaults to a Ruby based checksum if other methods fail = 0.01 s = .
+Train::File::Remote::Aix::#sha256sum#test_0002_calculates the correct sha256sum on the `aix` platform family = 0.00 s = .
+os_common::unix file exist?#test_0001_file does exist = 0.00 s = .
+linux command::#verify#test_0002_error message for bad sudo password = 0.01 s = .
+linux command::#verify#test_0005_error message for requires tty = 0.00 s = .
+linux command::#verify#test_0006_error message for other sudo related errors = 0.00 s = .
+linux command::#verify#test_0001_returns nil on success = 0.00 s = .
+linux command::#verify#test_0003_error message for sudo password required = 0.01 s = .
+linux command::#verify#test_0004_error message for sudo: command not found = 0.00 s = .
+os_detect::/etc/os-release::when on a suse build::when /etc/os-release is present#test_0001_sets the correct family/release for SLES = 0.01 s = .
+os_detect::/etc/os-release::when on a suse build::when /etc/os-release is present#test_0002_sets the correct family/release for openSUSE = 0.01 s = .
 platform::with platform set to nexentacore#test_0003_anonymous = 0.00 s = .
 platform::with platform set to nexentacore#test_0001_anonymous = 0.00 s = .
 platform::with platform set to nexentacore#test_0002_anonymous = 0.00 s = .
-os_detect::/etc/debian_version::windows#test_0001_sets the correct family/release for windows  = 0.00 s = .
-Train::File::Remote::Linux::#md5sum#test_0001_defaults to a Ruby based checksum if other methods fail = 0.01 s = .
-Train::File::Remote::Linux::#md5sum#test_0002_calculates the correct md5sum on the `linux` platform family = 0.00 s = .
-os_common::winrm? check#test_0001_return winrm? true = 0.00 s = .
-os_common::winrm? check#test_0002_return winrm? false when winrm is not loaded = 0.00 s = .
-Train#test_0001_defines a version = 0.00 s = .
-Train::#create#test_0002_loads a core plugin if it isnt in the registry yet via symbol = 0.00 s = .
-Train::#create#test_0003_loads a core plugin if it isnt in the registry yet via string = 0.00 s = .
-Train::#create#test_0004_loads a gem plugin if it isnt in the registry yet via string = 0.02 s = .
-Train::#create#test_0001_raises an error if the plugin isnt found = 0.04 s = .
-Train::File::Remote::Linux::stat on a file#test_0001_retrieves the file type = 0.01 s = .
-Train::File::Remote::Linux::stat on a file#test_0005_retrieves the file group = 0.00 s = .
-Train::File::Remote::Linux::stat on a file#test_0003_retrieves the file owner = 0.00 s = .
-Train::File::Remote::Linux::stat on a file#test_0002_retrieves the file mode = 0.00 s = .
-Train::File::Remote::Linux::stat on a file#test_0006_retrieves the file gid = 0.00 s = .
-Train::File::Remote::Linux::stat on a file#test_0008_retrieves the file size = 0.01 s = .
-Train::File::Remote::Linux::stat on a file#test_0007_retrieves the file mtime = 0.00 s = .
-Train::File::Remote::Linux::stat on a file#test_0004_retrieves the file uid = 0.00 s = .
-Train::File::Remote::Linux::stat on a file#test_0009_retrieves the file selinux_label = 0.00 s = .
-CiscoIOSConnection::#initialize#test_0001_provides a uri = /build/ruby-train-3.2.28/test/unit/transports/cisco_ios_connection_test.rb:10: warning: method redefined; discarding old cisco_ios?
-/build/ruby-train-3.2.28/debian/ruby-train-core/usr/share/rubygems-integration/all/gems/train-core-3.2.28/lib/train/platforms/platform.rb:86: warning: previous definition of cisco_ios? was here
-0.01 s = .
-linux command::shell wrapping#test_0003_wraps sudo commands and sudo passwords in a default shell with login = 0.01 s = .
-linux command::shell wrapping#test_0004_wraps commands in a default shell when shell is true = 0.00 s = .
-linux command::shell wrapping#test_0005_doesnt wrap commands in a shell when shell is false = 0.00 s = .
-linux command::shell wrapping#test_0007_wraps commands in a default shell with login = 0.00 s = .
-linux command::shell wrapping#test_0001_wraps commands in a default shell with login = 0.00 s = .
-linux command::shell wrapping#test_0002_wraps sudo commands in a default shell with login = 0.00 s = .
-linux command::shell wrapping#test_0006_wraps commands in a `shell` instead of default shell = 0.00 s = .
+Train::File::Remote::Qnx::#sha256sum#test_0001_defaults to a Ruby based checksum if other methods fail = 0.01 s = .
+scanner::get platform#test_0002_return full platform = 0.00 s = .
+scanner::get platform#test_0001_return empty platform = 0.00 s = .
+platform::with platform set to cloudlinux#test_0004_anonymous = 0.00 s = .
 platform::with platform set to cloudlinux#test_0003_anonymous = 0.00 s = .
 platform::with platform set to cloudlinux#test_0005_anonymous = 0.00 s = .
-platform::with platform set to cloudlinux#test_0001_anonymous = 0.00 s = .
-platform::with platform set to cloudlinux#test_0004_anonymous = 0.00 s = .
 platform::with platform set to cloudlinux#test_0002_anonymous = 0.00 s = .
-stat::bsd stat#test_0002_ignores wrong stat results = 0.00 s = .
-stat::bsd stat#test_0001_ignores failed stat results = 0.00 s = .
-stat::bsd stat#test_0003_reads correct stat results = 0.00 s = .
-linux command::#verify#test_0004_error message for sudo: command not found = 0.01 s = .
-linux command::#verify#test_0006_error message for other sudo related errors = 0.01 s = .
-linux command::#verify#test_0003_error message for sudo password required = 0.00 s = .
-linux command::#verify#test_0005_error message for requires tty = 0.00 s = .
-linux command::#verify#test_0001_returns nil on success = 0.00 s = .
-linux command::#verify#test_0002_error message for bad sudo password = 0.00 s = .
-scanner::get platform#test_0002_return full platform = 0.00 s = .
-scanner::get platform#test_0001_return empty platform = 0.00 s = .
-mock transport::when accessing a mocked os#test_0007_allow setting of multiple values = 0.00 s = .
-mock transport::when accessing a mocked os#test_0001_has the default mock os faily set to mock = 0.01 s = .
-mock transport::when accessing a mocked os#test_0003_allows the setting of the name = 0.00 s = .
-mock transport::when accessing a mocked os#test_0006_allows setting of the arch = 0.00 s = .
-mock transport::when accessing a mocked os#test_0002_sets the OS to the mocked value = 0.00 s = .
-mock transport::when accessing a mocked os#test_0004_allows setting of the family = 0.00 s = .
-mock transport::when accessing a mocked os#test_0008_properly handles a nil value = 0.00 s = .
-mock transport::when accessing a mocked os#test_0005_allows setting of the release = 0.00 s = .
-platform::with platform set to fedora#test_0005_anonymous = 0.00 s = .
-platform::with platform set to fedora#test_0004_anonymous = 0.00 s = .
-platform::with platform set to fedora#test_0001_anonymous = 0.00 s = .
-platform::with platform set to fedora#test_0002_anonymous = 0.00 s = .
-platform::with platform set to fedora#test_0003_anonymous = 0.00 s = .
-platform::with platform set to fedora#test_0006_anonymous = 0.00 s = .
-v1 Connection Plugin::empty v1 connection plugin::create cache connection#test_0001_default connection cache settings = 0.00 s = .
-os_linux::#parse_os_release_info::when nil is supplied#test_0001_returns an empty hash = 0.00 s = .
-ssh connection::#run_command_via_connection through BaseConnection::run_command#test_0001_invokes the provided block when a block is provided and data is received = 0.01 s = .
-os_detect::/etc/enterprise-release#test_0001_sets the correct family/release for oracle = 0.00 s = .
-v1 Connection Plugin::empty v1 connection plugin::load file#test_0002_without caching = 0.00 s = .
-v1 Connection Plugin::empty v1 connection plugin::load file#test_0001_with caching = 0.00 s = .
-platform::with platform set to slackware#test_0004_anonymous = 0.00 s = .
+platform::with platform set to cloudlinux#test_0001_anonymous = 0.00 s = .
 platform::with platform set to slackware#test_0001_anonymous = 0.00 s = .
+platform::with platform set to slackware#test_0004_anonymous = 0.00 s = .
 platform::with platform set to slackware#test_0002_anonymous = 0.00 s = .
-platform::with platform set to slackware#test_0005_anonymous = 0.00 s = .
 platform::with platform set to slackware#test_0003_anonymous = 0.00 s = .
+platform::with platform set to slackware#test_0005_anonymous = 0.00 s = .
+os_detect::/etc/debian_version::ubuntu#test_0001_sets the correct family/release for ubuntu = 0.00 s = .
+uuid#test_0014_finds an azure uuid = 0.00 s = .
+uuid#test_0007_finds a linux uuid from /etc/machine-id = 0.00 s = .
+uuid#test_0004_finds a linux uuid from /home/testuser/.chef/chef_guid = 0.00 s = .
+uuid#test_0009_finds a windows uuid from registry = 0.00 s = .
+uuid#test_0010_finds a windows uuid from C:\chef\chef_guid = 0.00 s = .
+uuid#test_0006_finds a linux uuid from /var/lib/dbus/machine-id = 0.00 s = .
+uuid#test_0012_generates a uuid from a string = 0.00 s = .
+uuid#test_0013_finds a aws uuid = 0.00 s = .
+uuid#test_0003_finds a linux uuid from /etc/chef/chef_guid = 0.00 s = .
+uuid#test_0011_finds a windows uuid from C:\Users\test\.chef\chef_guid = 0.00 s = .
+uuid#test_0001_finds a linux uuid from chef entity_uuid = 0.00 s = .
+uuid#test_0005_finds a linux uuid from /etc/machine-id = 0.00 s = .
+uuid#test_0008_finds a windows uuid from wmic = 0.00 s = .
+uuid#test_0002_finds a windows uuid from chef entity_uuid = 0.00 s = .
+platform::with platform set to darwin#test_0002_anonymous = 0.01 s = .
+platform::with platform set to darwin#test_0004_anonymous = 0.00 s = .
+platform::with platform set to darwin#test_0007_anonymous = 0.00 s = .
+platform::with platform set to darwin#test_0005_anonymous = 0.00 s = .
+platform::with platform set to darwin#test_0008_anonymous = 0.00 s = .
 platform::with platform set to darwin#test_0001_anonymous = 0.00 s = .
-platform::with platform set to darwin#test_0002_anonymous = 0.00 s = .
+platform::with platform set to darwin#test_0006_anonymous = 0.00 s = .
 platform::with platform set to darwin#test_0003_anonymous = 0.00 s = .
-platform::with platform set to windows#test_0004_anonymous = 0.00 s = .
+file common::#md5sum#test_0001_defaults to a Ruby based checksum if other methods fail = 0.01 s = .
+file common::#md5sum#test_0002_calculates the correct md5sum on the `windows` platform family = 0.00 s = .
+Train::File::Local::Unix::#md5sum#test_0001_defaults to a Ruby based checksum if other methods fail = 0.01 s = .
+Train::File::Local::Unix::#md5sum#test_0003_calculates the correct md5sum on the `darwin` platform family = 0.00 s = .
+Train::File::Local::Unix::#md5sum#test_0002_calculates the correct md5sum on the `linux` platform family = 0.00 s = .
+Train::File::Local::Unix::#md5sum#test_0004_calculates the correct md5sum on the `solaris` platform family = 0.00 s = .
+os_detect_windows::windows 2008#test_0001_sets the correct family/release for windows = 0.00 s = .
+platform::with platform set to solaris#test_0001_anonymous = 0.00 s = .
+platform::with platform set to solaris#test_0002_anonymous = 0.00 s = .
+platform::with platform set to solaris#test_0003_anonymous = 0.00 s = .
+platform::with platform set to amazon#test_0005_anonymous = 0.00 s = .
+platform::with platform set to amazon#test_0006_anonymous = 0.00 s = .
+platform::with platform set to amazon#test_0001_anonymous = 0.00 s = .
+platform::with platform set to amazon#test_0003_anonymous = 0.00 s = .
+platform::with platform set to amazon#test_0002_anonymous = 0.00 s = .
+platform::with platform set to amazon#test_0004_anonymous = 0.00 s = .
 platform::with platform set to windows#test_0001_anonymous = 0.00 s = .
-platform::with platform set to windows#test_0002_anonymous = 0.00 s = .
 platform::with platform set to windows#test_0003_anonymous = 0.00 s = .
-os_detect::/etc/debian_version::kali#test_0001_sets the correct family/release for kali = 0.00 s = .
-os_detect::brocade#test_0001_recognizes Brocade FOS-based SAN switches = 0.00 s = .
-Train::File::Remote::Unix::unix_mode_mask#test_0003_check other mode calculation = 0.00 s = .
-Train::File::Remote::Unix::unix_mode_mask#test_0004_check all mode calculation = 0.00 s = .
-Train::File::Remote::Unix::unix_mode_mask#test_0001_check owner mode calculation = 0.00 s = .
-Train::File::Remote::Unix::unix_mode_mask#test_0002_check group mode calculation = 0.00 s = .
-Train::File::Remote::Aix::#sha256sum#test_0001_defaults to a Ruby based checksum if other methods fail = 0.01 s = .
-Train::File::Remote::Aix::#sha256sum#test_0002_calculates the correct sha256sum on the `aix` platform family = 0.00 s = .
-os_detect::windows#test_0001_sets the correct family/release for windows  = 0.02 s = .
-platform::with platform set to opensuse#test_0004_anonymous = 0.00 s = .
-platform::with platform set to opensuse#test_0002_anonymous = 0.00 s = .
-platform::with platform set to opensuse#test_0005_anonymous = 0.00 s = .
-platform::with platform set to opensuse#test_0001_anonymous = 0.00 s = .
-platform::with platform set to opensuse#test_0003_anonymous = 0.00 s = .
-Train::File::Remote::Aix::#md5sum#test_0002_calculates the correct md5sum on the `aix` platform family = 0.00 s = .
-Train::File::Remote::Aix::#md5sum#test_0001_defaults to a Ruby based checksum if other methods fail = 0.01 s = .
-os_detect::qnx#test_0001_sets the correct info for qnx platform = 0.00 s = .
-platform::with platform set to linux#test_0002_anonymous = 0.00 s = .
-platform::with platform set to linux#test_0001_anonymous = 0.00 s = .
-os_detect::/etc/os-release::when not on a wrlinux build#test_0001_fail back to generic linux = 0.01 s = .
-Train::File::Remote::basename helper#test_0001_works with an empty path = 0.00 s = .
-Train::File::Remote::basename helper#test_0003_separates a simple path (Unix mode) = 0.00 s = .
-Train::File::Remote::basename helper#test_0006_identifies a folder name (Windows mode) = 0.00 s = .
-Train::File::Remote::basename helper#test_0007_ignores tailing separators (Unix mode) = 0.00 s = .
-Train::File::Remote::basename helper#test_0005_identifies a folder name (Unix mode) = 0.00 s = .
-Train::File::Remote::basename helper#test_0002_separates a simple path (defaults to unix mode) = 0.00 s = .
-Train::File::Remote::basename helper#test_0010_doesnt work with forward slashes (Windows mode) = 0.00 s = .
-Train::File::Remote::basename helper#test_0004_separates a simple path (Windows mode) = 0.00 s = .
-Train::File::Remote::basename helper#test_0009_doesnt work with backward slashes (Unix mode) = 0.00 s = .
-Train::File::Remote::basename helper#test_0008_ignores tailing separators (Windows mode) = 0.00 s = .
-platform::with platform set to gentoo#test_0001_anonymous = 0.00 s = .
-platform::with platform set to gentoo#test_0003_anonymous = 0.00 s = .
-platform::with platform set to gentoo#test_0004_anonymous = 0.00 s = .
-platform::with platform set to gentoo#test_0005_anonymous = 0.00 s = .
-platform::with platform set to gentoo#test_0002_anonymous = 0.00 s = .
-Train::File::Remote::Windows::#md5sum#test_0001_defaults to a Ruby based checksum if other methods fail = 0.01 s = .
-Train::File::Remote::Windows::#md5sum#test_0002_calculates the correct md5sum on the `windows` platform family = 0.00 s = .
-windows command::shell wrapping#test_0001_wraps commands in a default powershell = 0.01 s = .
-v1 Transport Plugin::empty v1 transport plugin#test_0002_saves the provided configuration = 0.01 s = .
-v1 Transport Plugin::empty v1 transport plugin#test_0005_can configure custom loggers = 0.00 s = .
-v1 Transport Plugin::empty v1 transport plugin#test_0001_initializes an empty configuration = 0.00 s = .
-v1 Transport Plugin::empty v1 transport plugin#test_0003_saves the provided configuration = 0.00 s = .
-v1 Transport Plugin::empty v1 transport plugin#test_0004_provides a default logger = 0.00 s = .
-v1 Transport Plugin::empty v1 transport plugin#test_0006_provides a connection method = 0.00 s = .
-os_detect::/etc/debian_version::linuxmint#test_0001_sets the correct family/release for linuxmint = 0.00 s = .
-platform::with platform set to esx#test_0001_anonymous = 0.00 s = .
-platform::with platform set to esx#test_0002_anonymous = 0.00 s = .
-platform::with platform set to esx#test_0005_anonymous = 0.00 s = .
-platform::with platform set to esx#test_0003_anonymous = 0.00 s = .
-platform::with platform set to esx#test_0004_anonymous = 0.00 s = .
-ssh transport::ssh options#test_0002_excludes BatchMode when :non_interactive is not set = 0.01 s = .
-ssh transport::ssh options#test_0001_includes BatchMode when :non_interactive is set = 0.01 s = .
-platform::with platform set to suse#test_0001_anonymous = 0.00 s = .
-platform::with platform set to suse#test_0003_anonymous = 0.00 s = .
-platform::with platform set to suse#test_0005_anonymous = 0.00 s = .
-platform::with platform set to suse#test_0002_anonymous = 0.00 s = .
-platform::with platform set to suse#test_0004_anonymous = 0.00 s = .
-Train::File::Remote::Linux#test_0001_works on nil path = 0.00 s = .
-Train::File::Remote::Linux#test_0003_provides the basename to a unix path = 0.00 s = .
-Train::File::Remote::Linux#test_0010_retrieves the link path = 0.05 s = .
-Train::File::Remote::Linux#test_0011_provide the source path = 0.03 s = .
-Train::File::Remote::Linux#test_0014_has nil file version = 0.00 s = .
-Train::File::Remote::Linux#test_0002_provides the full path = 0.00 s = .
-Train::File::Remote::Linux#test_0005_reads file contents = 0.00 s = .
-Train::File::Remote::Linux#test_0006_reads file contents = 0.00 s = .
-Train::File::Remote::Linux#test_0009_retrieves the link path via #path() = 0.00 s = .
-Train::File::Remote::Linux#test_0007_checks for file existance = 0.00 s = .
-Train::File::Remote::Linux#test_0008_checks for file existance = 0.00 s = .
-Train::File::Remote::Linux#test_0013_has nil product version = 0.00 s = .
-Train::File::Remote::Linux#test_0004_reads file contents = 0.00 s = .
-Train::File::Remote::Linux#test_0012_checks a mounted path = 0.00 s = .
-os_common::unix file exist?#test_0001_file does exist = 0.00 s = .
-platform::with platform set to openbsd#test_0003_anonymous = 0.00 s = .
-platform::with platform set to openbsd#test_0001_anonymous = 0.00 s = .
-platform::with platform set to openbsd#test_0002_anonymous = 0.00 s = .
-local transport::when running on Windows#test_0001_uses `WindowsPipeRunner` by default = 0.01 s = .
-local transport::when running on Windows#test_0002_uses `WindowsShellRunner` when a named pipe is not available = 0.01 s = .
-v1 Transport Plugin::registered with a name#test_0002_is is added to the plugins registry = 0.00 s = .
-v1 Transport Plugin::registered with a name#test_0001_doesnt have any plugins in the registry if none were configured = 0.00 s = .
-platform::with platform set to oracle#test_0003_anonymous = 0.00 s = .
-platform::with platform set to oracle#test_0002_anonymous = 0.00 s = .
-platform::with platform set to oracle#test_0001_anonymous = 0.00 s = .
-platform::with platform set to oracle#test_0004_anonymous = 0.00 s = .
-platform::with platform set to oracle#test_0005_anonymous = 0.00 s = .
-Train::File::Remote::Unix::#sha256sum#test_0002_calculates the correct sha256sum on the `darwin` platform family = 0.00 s = .
-Train::File::Remote::Unix::#sha256sum#test_0003_calculates the correct sha256sum on the `solaris` platform family = 0.00 s = .
-Train::File::Remote::Unix::#sha256sum#test_0001_defaults to a Ruby based checksum if other methods fail = 0.00 s = .
-platforms#test_0001_create platform = 0.00 s = .
-platforms#test_0005_return platforms export with data = 0.00 s = .
-platforms#test_0002_create family = 0.00 s = .
-platforms#test_0004_return top platforms with data = 0.00 s = .
-platforms#test_0003_return top platforms empty = 0.00 s = .
-os_linux::when os-release data exists with no CISCO_RELEASE_INFO#test_0001_returns a correct hash = 0.00 s = .
-os_detect_windows::windows 98#test_0001_fallback to version number if wmic is not available = 0.00 s = .
-scanner::check condition#test_0003_return false greater then = 0.00 s = .
-scanner::check condition#test_0001_return true equal = 0.00 s = .
-scanner::check condition#test_0002_return true greater then = 0.00 s = .
-file common::#md5sum#test_0002_calculates the correct md5sum on the `windows` platform family = 0.00 s = .
-file common::#md5sum#test_0001_defaults to a Ruby based checksum if other methods fail = 0.01 s = .
-os_detect::/etc/debian_version::everything else#test_0001_sets the correct family/release for debian  = 0.00 s = .
-ssh transport::failed configuration#test_0004_does not like key and password == nil = 0.00 s = .
-ssh transport::failed configuration#test_0005_wont connect if it is not possible = 0.01 s = .
-ssh transport::failed configuration#test_0001_works with a minimum valid config = 0.00 s = .
-ssh transport::failed configuration#test_0002_does not like host == nil = 0.00 s = .
-ssh transport::failed configuration#test_0003_reverts to root on user == nil = 0.00 s = .
-platform family#test_0001_set family title = 0.00 s = .
-platform family#test_0003_set family in a family with condition = 0.00 s = .
-platform family#test_0002_set family in a family = 0.00 s = .
-platform::with platform set to exherbo#test_0001_anonymous = 0.00 s = .
+platform::with platform set to windows#test_0004_anonymous = 0.00 s = .
+platform::with platform set to windows#test_0002_anonymous = 0.00 s = .
+platform::with platform set to coreos#test_0004_anonymous = 0.00 s = .
+platform::with platform set to coreos#test_0001_anonymous = 0.00 s = .
+platform::with platform set to coreos#test_0003_anonymous = 0.00 s = .
+platform::with platform set to coreos#test_0005_anonymous = 0.00 s = .
+platform::with platform set to coreos#test_0002_anonymous = 0.00 s = .
+ssh transport with bastion and proxy::bastion and proxy#test_0001_will throw an exception when both proxy_command and bastion_host is specified = 0.00 s = .
+platform::with platform set to openindiana#test_0001_anonymous = 0.00 s = .
+platform::with platform set to openindiana#test_0002_anonymous = 0.00 s = .
+platform::with platform set to openindiana#test_0003_anonymous = 0.00 s = .
+os_detect::balenaos#test_0001_sets the correct family, name, and release on balenaos = 0.02 s = .
 platform::with platform set to exherbo#test_0003_anonymous = 0.00 s = .
-platform::with platform set to exherbo#test_0002_anonymous = 0.00 s = .
+platform::with platform set to exherbo#test_0001_anonymous = 0.00 s = .
 platform::with platform set to exherbo#test_0004_anonymous = 0.00 s = .
+platform::with platform set to exherbo#test_0002_anonymous = 0.00 s = .
 platform::with platform set to exherbo#test_0005_anonymous = 0.00 s = .
-stat::linux stat#test_0001_ignores wrong stat results = 0.00 s = .
-stat::linux stat#test_0002_reads correct stat results = 0.00 s = .
-Train::File::Local::Unix::file metadata#test_0004_recognizes size = 0.03 s = .
-Train::File::Local::Unix::file metadata#test_0007_recognizes owner = 0.04 s = .
-Train::File::Local::Unix::file metadata#test_0010_recognizes selinux label = 0.00 s = .
-Train::File::Local::Unix::file metadata#test_0003_recognizes mtime = 0.04 s = .
-Train::File::Local::Unix::file metadata#test_0008_recognizes group = 0.04 s = .
-Train::File::Local::Unix::file metadata#test_0009_grouped_into = 0.05 s = .
-Train::File::Local::Unix::file metadata#test_0011_recognizes source selinux label = 0.00 s = .
-Train::File::Local::Unix::file metadata#test_0001_recognizes type = 0.03 s = .
-Train::File::Local::Unix::file metadata#test_0002_recognizes mode = 0.04 s = .
-Train::File::Local::Unix::file metadata#test_0005_recognizes uid = 0.03 s = .
-Train::File::Local::Unix::file metadata#test_0006_recognizes gid = 0.03 s = .
-Train::File#test_0004_throws Not implemented error for owner = 0.00 s = .
-Train::File#test_0005_throws Not implemented error for group = 0.00 s = .
-Train::File#test_0014_set product_version to nil = 0.00 s = .
-Train::File#test_0003_throws Not implemented error for mode = 0.00 s = .
-Train::File#test_0006_throws Not implemented error for uid = 0.02 s = .
-Train::File#test_0012_return path of file = 0.01 s = .
-Train::File#test_0013_set product_version to nil = 0.00 s = .
-Train::File#test_0011_throws Not implemented error for selinux_label = 0.00 s = .
-Train::File#test_0008_throws Not implemented error for content = 0.00 s = .
-Train::File#test_0009_throws Not implemented error for mtime = 0.00 s = .
-Train::File#test_0001_has the default type of unknown = 0.00 s = .
-Train::File#test_0007_throws Not implemented error for gid = 0.00 s = .
-Train::File#test_0010_throws Not implemented error for size = 0.00 s = .
-Train::File#test_0002_throws Not implemented error for exist? = 0.00 s = .
-v1 Connection Plugin::empty v1 connection plugin::clear cache#test_0001_clear file cache = 0.01 s = .
-platform::with platform set to coreos#test_0001_anonymous = 0.00 s = .
-platform::with platform set to coreos#test_0004_anonymous = 0.00 s = .
-platform::with platform set to coreos#test_0005_anonymous = 0.01 s = .
-platform::with platform set to coreos#test_0002_anonymous = 0.00 s = .
-platform::with platform set to coreos#test_0003_anonymous = 0.00 s = .
-os_detect::balenaos#test_0001_sets the correct family, name, and release on balenaos = 0.01 s = .
-os_linux::redhatish_version cleaner#test_0003_amazon linux 2 new release naming schema = 0.00 s = .
-os_linux::redhatish_version cleaner#test_0001_normal rawhide = 0.01 s = .
-os_linux::redhatish_version cleaner#test_0002_normal linux = 0.00 s = .
-os_linux::redhatish_version cleaner#test_0004_amazon linux 2 old release naming schema = 0.00 s = .
-Train::Plugins#test_0001_provides a method to create new v1 transport plugins = 0.00 s = .
-Train::Plugins#test_0002_fails when called with an unsupported plugin version = 0.00 s = .
-Train::Plugins#test_0003_defaults to v1 plugins = 0.01 s = .
-Train::Plugins#test_0004_provides a registry of plugins = 0.00 s = .
-stat::esx stat#test_0001_ignores wrong stat results = 0.00 s = .
-stat::esx stat#test_0002_reads correct stat results = 0.01 s = .
-Train::File::Local::Unix#test_0001_checks a mounted path = 0.00 s = .
-Train::File::Remote::Unix::#md5sum#test_0001_defaults to a Ruby based checksum if other methods fail = 0.01 s = .
-Train::File::Remote::Unix::#md5sum#test_0003_calculates the correct md5sum on the `solaris` platform family = 0.01 s = .
-Train::File::Remote::Unix::#md5sum#test_0002_calculates the correct md5sum on the `darwin` platform family = 0.00 s = .
-platform::with platform set to amazon#test_0003_anonymous = 0.00 s = .
-platform::with platform set to amazon#test_0004_anonymous = 0.00 s = .
-platform::with platform set to amazon#test_0006_anonymous = 0.00 s = .
-platform::with platform set to amazon#test_0001_anonymous = 0.00 s = .
-platform::with platform set to amazon#test_0005_anonymous = 0.00 s = .
-platform::with platform set to amazon#test_0002_anonymous = 0.00 s = .
-v1 Connection Plugin::empty v1 connection plugin::cached_client helper#test_0002_returns a new connection when cache enabled and not hydrated = 0.00 s = .
-v1 Connection Plugin::empty v1 connection plugin::cached_client helper#test_0003_returns a cached connection when cache enabled and hydrated = 0.00 s = .
-v1 Connection Plugin::empty v1 connection plugin::cached_client helper#test_0001_returns a new connection when cached disabled = 0.01 s = .
-ssh transport::opening a connection#test_0008_has login command arguments = 0.01 s = .
-ssh transport::opening a connection#test_0010_sets the right auth_methods when keys are specified = 0.01 s = .
-ssh transport::opening a connection#test_0001_provides a run_command_via_connection method = 0.01 s = .
-ssh transport::opening a connection#test_0006_can be closed = 0.01 s = .
-ssh transport::opening a connection#test_0004_provides a uri = 0.01 s = .
-ssh transport::opening a connection#test_0009_sets the right auth_methods when password is specified = 0.00 s = .
-ssh transport::opening a connection#test_0005_must respond to wait_until_ready = 0.01 s = .
-ssh transport::opening a connection#test_0012_works with ssh agent auth = 0.01 s = .
-ssh transport::opening a connection#test_0002_provides a file_via_connection method = 0.00 s = .
-ssh transport::opening a connection#test_0007_has a login command == ssh = 0.00 s = .
-ssh transport::opening a connection#test_0013_sets up a proxy when ssh proxy command is specified = 0.02 s = .
-ssh transport::opening a connection#test_0011_sets the right auth_methods for agent auth = 0.01 s = .
-ssh transport::opening a connection#test_0003_gets the connection = 0.01 s = .
-local transport::when overriding runner selection#test_0001_can select the `GenericRunner` = 0.01 s = .
-local transport::when overriding runner selection#test_0003_can select the `WindowsShellRunner` = 0.01 s = .
-local transport::when overriding runner selection#test_0004_throws a RuntimeError when an invalid runner type is passed = 0.00 s = .
-local transport::when overriding runner selection#test_0002_can select the `WindowsPipeRunner` = 0.01 s = .
-Train::File::Remote::Qnx::#sha256sum#test_0001_defaults to a Ruby based checksum if other methods fail = 0.01 s = .
-Train::#options#test_0001_raises exception if a given transport plugin isnt found = 0.01 s = .
-Train::#options#test_0003_provides all options of a transport plugin = 0.00 s = .
-Train::#options#test_0002_provides empty options of a transport plugin = 0.01 s = .
-os_detect::/etc/os-release::when on a suse build::when /etc/os-release is present#test_0001_sets the correct family/release for SLES = 0.01 s = .
-os_detect::/etc/os-release::when on a suse build::when /etc/os-release is present#test_0002_sets the correct family/release for openSUSE = 0.02 s = .
-platform::with platform set to darwin#test_0001_anonymous = 0.00 s = .
-platform::with platform set to darwin#test_0008_anonymous = 0.01 s = .
-platform::with platform set to darwin#test_0003_anonymous = 0.00 s = .
-platform::with platform set to darwin#test_0005_anonymous = 0.00 s = .
-platform::with platform set to darwin#test_0004_anonymous = 0.00 s = .
-platform::with platform set to darwin#test_0007_anonymous = 0.00 s = .
-platform::with platform set to darwin#test_0006_anonymous = 0.00 s = .
-platform::with platform set to darwin#test_0002_anonymous = 0.01 s = .
-os_detect_windows::windows 7#test_0001_sets the correct family/release for windows = 0.00 s = .
+platform::with platform set to ubuntu#test_0004_anonymous = 0.00 s = .
+platform::with platform set to ubuntu#test_0001_anonymous = 0.00 s = .
+platform::with platform set to ubuntu#test_0003_anonymous = 0.00 s = .
+platform::with platform set to ubuntu#test_0005_anonymous = 0.00 s = .
+platform::with platform set to ubuntu#test_0002_anonymous = 0.00 s = .
+linux command::shell wrapping#test_0006_wraps commands in a `shell` instead of default shell = 0.00 s = .
+linux command::shell wrapping#test_0004_wraps commands in a default shell when shell is true = 0.00 s = .
+linux command::shell wrapping#test_0002_wraps sudo commands in a default shell with login = 0.00 s = .
+linux command::shell wrapping#test_0007_wraps commands in a default shell with login = 0.00 s = .
+linux command::shell wrapping#test_0001_wraps commands in a default shell with login = 0.00 s = .
+linux command::shell wrapping#test_0003_wraps sudo commands and sudo passwords in a default shell with login = 0.03 s = .
+linux command::shell wrapping#test_0005_doesnt wrap commands in a shell when shell is false = 0.06 s = .
+scanner::scan family children#test_0001_return child = 0.00 s = .
+scanner::scan family children#test_0002_return nil = 0.00 s = .
 platform::with platform set to mac_os_x#test_0003_anonymous = 0.00 s = .
-platform::with platform set to mac_os_x#test_0005_anonymous = 0.00 s = .
-platform::with platform set to mac_os_x#test_0004_anonymous = 0.00 s = .
 platform::with platform set to mac_os_x#test_0006_anonymous = 0.00 s = .
-platform::with platform set to mac_os_x#test_0007_anonymous = 0.00 s = .
+platform::with platform set to mac_os_x#test_0004_anonymous = 0.00 s = .
 platform::with platform set to mac_os_x#test_0008_anonymous = 0.00 s = .
+platform::with platform set to mac_os_x#test_0007_anonymous = 0.00 s = .
+platform::with platform set to mac_os_x#test_0005_anonymous = 0.00 s = .
 platform::with platform set to mac_os_x#test_0001_anonymous = 0.00 s = .
-platform::with platform set to mac_os_x#test_0002_anonymous = 0.01 s = .
-os_linux::when os-release data exists with CISCO_RELEASE_INFO#test_0001_returns a correct hash = 0.01 s = .
-uuid#test_0007_finds a linux uuid from /etc/machine-id = 0.00 s = .
-uuid#test_0006_finds a linux uuid from /var/lib/dbus/machine-id = 0.00 s = .
-uuid#test_0008_finds a windows uuid from wmic = 0.00 s = .
-uuid#test_0002_finds a windows uuid from chef entity_uuid = 0.01 s = .
-uuid#test_0005_finds a linux uuid from /etc/machine-id = 0.00 s = .
-uuid#test_0010_finds a windows uuid from C:\chef\chef_guid = 0.01 s = .
-uuid#test_0011_finds a windows uuid from C:\Users\test\.chef\chef_guid = 0.00 s = .
-uuid#test_0013_finds a aws uuid = 0.00 s = .
-uuid#test_0001_finds a linux uuid from chef entity_uuid = 0.00 s = .
-uuid#test_0003_finds a linux uuid from /etc/chef/chef_guid = 0.01 s = .
-uuid#test_0012_generates a uuid from a string = 0.00 s = .
-uuid#test_0009_finds a windows uuid from registry = 0.00 s = .
-uuid#test_0014_finds an azure uuid = 0.00 s = .
-uuid#test_0004_finds a linux uuid from /home/testuser/.chef/chef_guid = 0.00 s = .
-os_detect_windows::windows 2012#test_0001_sets the correct family/release for windows = 0.00 s = .
-v1 Connection Plugin::empty v1 connection plugin#test_0010_provides direct platform = 0.00 s = .
-v1 Connection Plugin::empty v1 connection plugin#test_0007_raises an exception for login command method = 0.00 s = .
-v1 Connection Plugin::empty v1 connection plugin#test_0004_raises an exception for os method = 0.00 s = .
-v1 Connection Plugin::empty v1 connection plugin#test_0008_can wait until ready = 0.00 s = .
-v1 Connection Plugin::empty v1 connection plugin#test_0002_raises an exception for run_command = 0.00 s = .
-v1 Connection Plugin::empty v1 connection plugin#test_0011_must use the user-provided logger = 0.00 s = .
-v1 Connection Plugin::empty v1 connection plugin#test_0003_raises an exception for run_command_via_connection = 0.00 s = .
-v1 Connection Plugin::empty v1 connection plugin#test_0009_provides a default logger = 0.00 s = .
-v1 Connection Plugin::empty v1 connection plugin#test_0005_raises an exception for file method = 0.00 s = .
-v1 Connection Plugin::empty v1 connection plugin#test_0001_provides a close method = 0.00 s = .
-v1 Connection Plugin::empty v1 connection plugin#test_0006_raises an exception for file_via_connection method = 0.00 s = .
-ssh transport::default options#test_0002_configures the host = 0.00 s = .
-ssh transport::default options#test_0005_by default does not request a pty = 0.00 s = .
-ssh transport::default options#test_0001_can be instantiated (with valid config) = 0.00 s = .
-ssh transport::default options#test_0003_has default port = 0.00 s = .
-ssh transport::default options#test_0004_has default user = 0.00 s = .
-os_detect_windows::Windows 10 with Powershell#test_0001_sets the correct family/release for windows = 0.00 s = .
-platform::with platform set to linuxmint#test_0002_anonymous = 0.00 s = .
-platform::with platform set to linuxmint#test_0004_anonymous = 0.00 s = .
-platform::with platform set to linuxmint#test_0001_anonymous = 0.00 s = .
-platform::with platform set to linuxmint#test_0003_anonymous = 0.00 s = .
-platform::with platform set to linuxmint#test_0005_anonymous = 0.00 s = .
-os_detect::/etc/os-release::when on a wrlinux build#test_0001_sets the correct family/release for wrlinux = 0.02 s = .
-platform::with platform set to netbsd#test_0001_anonymous = 0.00 s = .
-platform::with platform set to netbsd#test_0002_anonymous = 0.00 s = .
-platform::with platform set to netbsd#test_0003_anonymous = 0.00 s = .
-Train::File::Local::#shallow_shlink_path#test_0001_returns file's direct link path = 0.00 s = .
-platform::with platform set to raspbian#test_0003_anonymous = 0.00 s = .
-platform::with platform set to raspbian#test_0002_anonymous = 0.01 s = .
-platform::with platform set to raspbian#test_0005_anonymous = 0.00 s = .
-platform::with platform set to raspbian#test_0001_anonymous = 0.00 s = .
-platform::with platform set to raspbian#test_0004_anonymous = 0.00 s = .
-Train::File::Remote::Linux::stat on the source file#test_0001_retrieves the file type = 0.00 s = .
-Train::File::Remote::Linux::stat on the source file#test_0002_retrieves the file mode = 0.00 s = .
-Train::File::Remote::Linux::stat on the source file#test_0004_retrieves the file uid = 0.00 s = .
-Train::File::Remote::Linux::stat on the source file#test_0006_retrieves the file gid = 0.00 s = .
-Train::File::Remote::Linux::stat on the source file#test_0007_retrieves the file mtime = 0.00 s = .
-Train::File::Remote::Linux::stat on the source file#test_0005_retrieves the file group = 0.00 s = .
-Train::File::Remote::Linux::stat on the source file#test_0003_retrieves the file owner = 0.00 s = .
-Train::File::Remote::Linux::stat on the source file#test_0009_retrieves the file selinux_label = 0.00 s = .
-Train::File::Remote::Linux::stat on the source file#test_0008_retrieves the file size = 0.00 s = .
-platform::with platform set to arch#test_0002_anonymous = 0.00 s = .
+platform::with platform set to mac_os_x#test_0002_anonymous = 0.00 s = .
+os_detect::/etc/debian_version::linuxmint#test_0001_sets the correct family/release for linuxmint = 0.00 s = .
+platform::with platform set to openbsd#test_0001_anonymous = 0.00 s = .
+platform::with platform set to openbsd#test_0002_anonymous = 0.00 s = .
+platform::with platform set to openbsd#test_0003_anonymous = 0.00 s = .
+platforms#test_0002_create family = 0.00 s = .
+platforms#test_0003_return top platforms empty = 0.00 s = .
+platforms#test_0001_create platform = 0.00 s = .
+platforms#test_0004_return top platforms with data = 0.00 s = .
+platforms#test_0005_return platforms export with data = 0.00 s = .
+Train::File::Remote::Windows::#sha256sum#test_0001_defaults to a Ruby based checksum if other methods fail = 0.01 s = .
+Train::File::Remote::Windows::#sha256sum#test_0002_calculates the correct sha256sum on the `windows` platform family = 0.00 s = .
+platform::with platform set to opensolaris#test_0003_anonymous = 0.00 s = .
+platform::with platform set to opensolaris#test_0001_anonymous = 0.00 s = .
+platform::with platform set to opensolaris#test_0002_anonymous = 0.00 s = .
+CiscoIOSConnection::#unique_identifier#test_0001_returns the correct identifier = /build/ruby-train-3.2.28/test/unit/transports/cisco_ios_connection_test.rb:10: warning: method redefined; discarding old cisco_ios?
+/build/ruby-train-3.2.28/debian/ruby-train-core/usr/share/rubygems-integration/all/gems/train-core-3.2.28/lib/train/platforms/platform.rb:86: warning: previous definition of cisco_ios? was here
+0.01 s = .
+v1 Transport Plugin::with options#test_0004_default option must not be required = 0.00 s = .
+v1 Transport Plugin::with options#test_0002_exposes the parameters via api = 0.00 s = .
+v1 Transport Plugin::with options#test_0006_overwrites existing options when including = 0.00 s = .
+v1 Transport Plugin::with options#test_0001_exposes the parameters via api = 0.00 s = .
+v1 Transport Plugin::with options#test_0003_option must be required = 0.00 s = .
+v1 Transport Plugin::with options#test_0005_can include options from another module = 0.00 s = .
 platform::with platform set to arch#test_0005_anonymous = 0.00 s = .
 platform::with platform set to arch#test_0001_anonymous = 0.00 s = .
-platform::with platform set to arch#test_0003_anonymous = 0.00 s = .
 platform::with platform set to arch#test_0004_anonymous = 0.00 s = .
-local transport#test_0001_can be instantiated = 0.00 s = .
-local transport#test_0006_can be closed = 0.00 s = .
-local transport#test_0009_provides a file_via_connection method = 0.00 s = .
-local transport#test_0004_doesnt wait to be read = 0.00 s = .
-local transport#test_0002_gets the connection = 0.00 s = .
-local transport#test_0007_has no login command = 0.00 s = .
-local transport#test_0003_provides a uri = 0.00 s = .
-local transport#test_0008_provides a run_command_via_connection method = 0.00 s = .
-local transport#test_0005_inspects with readable output = 0.00 s = .
-Train::File::Local::Unix::#sha256sum#test_0001_defaults to a Ruby based checksum if other methods fail = 0.01 s = .
-Train::File::Local::Unix::#sha256sum#test_0002_calculates the correct sha256sum on the `linux` platform family = 0.00 s = .
-Train::File::Local::Unix::#sha256sum#test_0003_calculates the correct sha256sum on the `darwin` platform family = 0.00 s = .
-Train::File::Local::Unix::#sha256sum#test_0004_calculates the correct sha256sum on the `solaris` platform family = 0.01 s = .
-CiscoIOSConnection::#format_result#test_0003_returns correctly when result matches /Incomplete command/ = /build/ruby-train-3.2.28/test/unit/transports/cisco_ios_connection_test.rb:10: warning: method redefined; discarding old cisco_ios?
-/build/ruby-train-3.2.28/debian/ruby-train-core/usr/share/rubygems-integration/all/gems/train-core-3.2.28/lib/train/platforms/platform.rb:86: warning: previous definition of cisco_ios? was here
-0.01 s = .
-CiscoIOSConnection::#format_result#test_0001_returns correctly when result is 'good' = /build/ruby-train-3.2.28/test/unit/transports/cisco_ios_connection_test.rb:10: warning: method redefined; discarding old cisco_ios?
-/build/ruby-train-3.2.28/debian/ruby-train-core/usr/share/rubygems-integration/all/gems/train-core-3.2.28/lib/train/platforms/platform.rb:86: warning: previous definition of cisco_ios? was here
-0.02 s = .
-CiscoIOSConnection::#format_result#test_0005_returns correctly when result matches /Unrecognized host/ = /build/ruby-train-3.2.28/test/unit/transports/cisco_ios_connection_test.rb:10: warning: method redefined; discarding old cisco_ios?
-/build/ruby-train-3.2.28/debian/ruby-train-core/usr/share/rubygems-integration/all/gems/train-core-3.2.28/lib/train/platforms/platform.rb:86: warning: previous definition of cisco_ios? was here
-0.01 s = .
-CiscoIOSConnection::#format_result#test_0002_returns correctly when result matches /Bad IP address/ = /build/ruby-train-3.2.28/test/unit/transports/cisco_ios_connection_test.rb:10: warning: method redefined; discarding old cisco_ios?
-/build/ruby-train-3.2.28/debian/ruby-train-core/usr/share/rubygems-integration/all/gems/train-core-3.2.28/lib/train/platforms/platform.rb:86: warning: previous definition of cisco_ios? was here
-0.01 s = .
-CiscoIOSConnection::#format_result#test_0004_returns correctly when result matches /Invalid input detected/ = /build/ruby-train-3.2.28/test/unit/transports/cisco_ios_connection_test.rb:10: warning: method redefined; discarding old cisco_ios?
-/build/ruby-train-3.2.28/debian/ruby-train-core/usr/share/rubygems-integration/all/gems/train-core-3.2.28/lib/train/platforms/platform.rb:86: warning: previous definition of cisco_ios? was here
-0.01 s = .
-Train::#validate_backend#test_0004_fails if no backend was given but a target is provided = 0.00 s = .
-Train::#validate_backend#test_0005_fails if no backend was given but a host is provided = 0.00 s = .
-Train::#validate_backend#test_0002_returns the local backend if nothing was provided = 0.00 s = .
-Train::#validate_backend#test_0003_returns the default backend if nothing was provided = 0.00 s = .
-Train::#validate_backend#test_0001_just returns the backend if it is provided = 0.00 s = .
+platform::with platform set to arch#test_0002_anonymous = 0.00 s = .
+platform::with platform set to arch#test_0003_anonymous = 0.00 s = .
+os_linux::#linux_os_release::when no os-release data is available#test_0001_returns nil = 0.00 s = .
+Train::File::Remote::Unix::#md5sum#test_0002_calculates the correct md5sum on the `darwin` platform family = 0.00 s = .
+Train::File::Remote::Unix::#md5sum#test_0003_calculates the correct md5sum on the `solaris` platform family = 0.00 s = .
+Train::File::Remote::Unix::#md5sum#test_0001_defaults to a Ruby based checksum if other methods fail = 0.01 s = .
+ssh connection::#run_command_via_connection through BaseConnection::run_command#test_0001_invokes the provided block when a block is provided and data is received = 0.01 s = .
+Train::File::version#test_0001_recognized wrong version = 0.00 s = .
+Train::File::version#test_0002_recognized product_version = 0.00 s = .
+Train::File::version#test_0003_recognized file_version = 0.00 s = .
 Train::File::Local::#path#test_0001_returns the path if it is not a symlink = 0.00 s = .
 Train::File::Local::#path#test_0002_returns the link_path if it is a symlink = 0.00 s = .
-os_linux::#parse_os_release_info::when properly-formatted data is supplied#test_0001_parses the data correctly = 0.00 s = .
-os_detect::darwin::mac_os_x#test_0001_sets the correct family, name, and release on os_x = 0.00 s = .
-Train::File::type#test_0001_recognized type == file = 0.00 s = .
+os_detect::qnx#test_0001_sets the correct info for qnx platform = 0.00 s = .
+os_detect::/etc/enterprise-release#test_0001_sets the correct family/release for oracle = 0.00 s = .
+os_detect::/etc/os-release::when on a suse build::when /etc/os-release is not present#test_0001_sets the correct family/release for SLES = 0.00 s = .
+os_detect::/etc/os-release::when on a suse build::when /etc/os-release is not present#test_0002_sets the correct family/release for openSUSE = 0.00 s = .
+Train::File::type#test_0006_recognized type == pipe = 0.00 s = .
 Train::File::type#test_0005_recognized type == directory = 0.00 s = .
+Train::File::type#test_0007_recognized type == symlink = 0.00 s = .
+Train::File::type#test_0001_recognized type == file = 0.00 s = .
+Train::File::type#test_0003_recognized type == character_device = 0.00 s = .
 Train::File::type#test_0004_recognized type == socket = 0.00 s = .
 Train::File::type#test_0002_recognized type == block_device = 0.00 s = .
-Train::File::type#test_0003_recognized type == character_device = 0.00 s = .
-Train::File::type#test_0007_recognized type == symlink = 0.00 s = .
-Train::File::type#test_0006_recognized type == pipe = 0.00 s = .
-Train::File::Local::Unix::#md5sum#test_0001_defaults to a Ruby based checksum if other methods fail = 0.01 s = .
-Train::File::Local::Unix::#md5sum#test_0003_calculates the correct md5sum on the `darwin` platform family = 0.00 s = .
-Train::File::Local::Unix::#md5sum#test_0004_calculates the correct md5sum on the `solaris` platform family = 0.00 s = .
-Train::File::Local::Unix::#md5sum#test_0002_calculates the correct md5sum on the `linux` platform family = 0.00 s = .
-Train::File::Local::Unix::#unix_mode_mask#test_0003_check other mode calculation = 0.00 s = .
-Train::File::Local::Unix::#unix_mode_mask#test_0004_check all mode calculation = 0.00 s = .
-Train::File::Local::Unix::#unix_mode_mask#test_0001_check owner mode calculation = 0.00 s = .
-Train::File::Local::Unix::#unix_mode_mask#test_0002_check group mode calculation = 0.00 s = .
-os_detect_windows::windows 2008#test_0001_sets the correct family/release for windows = 0.00 s = .
-platform::with platform set to redhat#test_0004_anonymous = 0.00 s = .
-platform::with platform set to redhat#test_0002_anonymous = 0.00 s = .
 platform::with platform set to redhat#test_0003_anonymous = 0.00 s = .
 platform::with platform set to redhat#test_0005_anonymous = 0.00 s = .
 platform::with platform set to redhat#test_0001_anonymous = 0.00 s = .
-ssh transport with bastion::bastion::opening a connection#test_0011_sets the right auth_methods for agent auth = 0.03 s = .
-ssh transport with bastion::bastion::opening a connection#test_0006_can be closed = 0.03 s = .
-ssh transport with bastion::bastion::opening a connection#test_0009_sets the right auth_methods when password is specified = 0.02 s = .
-ssh transport with bastion::bastion::opening a connection#test_0005_must respond to wait_until_ready = 0.05 s = .
-ssh transport with bastion::bastion::opening a connection#test_0003_gets the connection = 0.01 s = .
-ssh transport with bastion::bastion::opening a connection#test_0002_provides a file_via_connection method = 0.01 s = .
-ssh transport with bastion::bastion::opening a connection#test_0013_sets up a proxy when ssh proxy command is specified = 0.01 s = .
-ssh transport with bastion::bastion::opening a connection#test_0012_works with ssh agent auth = 0.01 s = .
-ssh transport with bastion::bastion::opening a connection#test_0004_provides a uri = 0.01 s = .
-ssh transport with bastion::bastion::opening a connection#test_0001_provides a run_command_via_connection method = 0.01 s = .
-ssh transport with bastion::bastion::opening a connection#test_0007_has a login command == ssh = 0.01 s = .
-ssh transport with bastion::bastion::opening a connection#test_0010_sets the right auth_methods when keys are specified = 0.00 s = .
-ssh transport with bastion::bastion::opening a connection#test_0008_has login command arguments = 0.00 s = .
-os_detect::darwin::generic darwin#test_0001_sets the correct family, name, and release on darwin = 0.00 s = .
-Train::File::Remote::Linux::#sha256sum#test_0001_defaults to a Ruby based checksum if other methods fail = 0.01 s = .
-Train::File::Remote::Linux::#sha256sum#test_0002_calculates the correct sha256sum on the `linux` platform family = 0.00 s = .
-scanner::scan family children#test_0001_return child = 0.00 s = .
-scanner::scan family children#test_0002_return nil = 0.00 s = .
-os_common::unix file contents#test_0001_return new file contents = 0.00 s = .
-os_common::unix file contents#test_0002_return new file contents cached = 0.00 s = .
-v1 Connection Plugin::empty v1 connection plugin::disable/enable caching#test_0002_enable command cache via cache_connection = 0.00 s = .
-v1 Connection Plugin::empty v1 connection plugin::disable/enable caching#test_0001_disable file cache via connection = 0.00 s = .
-v1 Connection Plugin::empty v1 connection plugin::disable/enable caching#test_0003_raises an exception for unknown cache type = 0.00 s = .
-Train::File::Remote::Qnx::#md5sum#test_0001_defaults to a Ruby based checksum if other methods fail = 0.01 s = .
-v1 Transport Plugin::with options#test_0005_can include options from another module = 0.00 s = .
-v1 Transport Plugin::with options#test_0003_option must be required = 0.00 s = .
-v1 Transport Plugin::with options#test_0004_default option must not be required = 0.00 s = .
-v1 Transport Plugin::with options#test_0002_exposes the parameters via api = 0.00 s = .
-v1 Transport Plugin::with options#test_0001_exposes the parameters via api = 0.00 s = .
-v1 Transport Plugin::with options#test_0006_overwrites existing options when including = 0.00 s = .
-Train::File::Local::#link_path#test_0001_returns file's link path = 0.00 s = .
-ssh transport with bastion and proxy::bastion and proxy#test_0001_will throw an exception when both proxy_command and bastion_host is specified = 0.00 s = .
-Train::File::Local#test_0007_checks if file is a pipe? = 0.00 s = .
-Train::File::Local#test_0010_has a friendly inspect = 0.00 s = .
-Train::File::Local#test_0008_checks if file is a character_device? = 0.00 s = .
-Train::File::Local#test_0002_checks if file is a exist? = 0.00 s = .
-Train::File::Local#test_0001_gets file contents = 0.00 s = .
-Train::File::Local#test_0006_checks if file is a symlink? = 0.00 s = .
-Train::File::Local#test_0003_checks if file is a file? = 0.01 s = .
-Train::File::Local#test_0005_checks if file is a directory? = 0.00 s = .
-Train::File::Local#test_0009_checks if file is a block_device? = 0.00 s = .
-Train::File::Local#test_0004_checks if file is a socket? = 0.00 s = .
-os_detect::/etc/os-release::when on a suse build::when /etc/os-release is not present#test_0001_sets the correct family/release for SLES = 0.01 s = .
-os_detect::/etc/os-release::when on a suse build::when /etc/os-release is not present#test_0002_sets the correct family/release for openSUSE = 0.01 s = .
-platform::with platform set to freebsd#test_0002_anonymous = 0.00 s = .
-platform::with platform set to freebsd#test_0003_anonymous = 0.00 s = .
-platform::with platform set to freebsd#test_0001_anonymous = 0.00 s = .
-Train::File::Remote::Windows::#sha256sum#test_0002_calculates the correct sha256sum on the `windows` platform family = 0.00 s = .
-Train::File::Remote::Windows::#sha256sum#test_0001_defaults to a Ruby based checksum if other methods fail = 0.01 s = .
-Train::#target_config - URI parsing#test_0002_resolves a target while keeping existing fields = 0.00 s = .
-Train::#target_config - URI parsing#test_0001_configures resolves target = 0.00 s = .
-Train::#target_config - URI parsing#test_0007_supports IPv6 URIs (with brackets) = 0.00 s = .
-Train::#target_config - URI parsing#test_0012_ignores www-form-encoded password value when there is no password = 0.00 s = .
-Train::#target_config - URI parsing#test_0003_resolves a winrm target = 0.00 s = .
-Train::#target_config - URI parsing#test_0004_keeps the configuration when incorrect target is supplied = 0.00 s = .
-Train::#target_config - URI parsing#test_0009_supports empty URIs with schema:// = 0.00 s = .
-Train::#target_config - URI parsing#test_0010_supports empty URIs with schema: = 0.00 s = .
-Train::#target_config - URI parsing#test_0005_always transforms config fields into ruby symbols = 0.00 s = .
-Train::#target_config - URI parsing#test_0013_it raises UserError on invalid URIs (invalid scheme) = 0.00 s = .
-Train::#target_config - URI parsing#test_0006_supports IPv4 URIs = 0.00 s = .
-Train::#target_config - URI parsing#test_0011_supports www-form encoded passwords when the option is set = 0.00 s = .
-Train::#target_config - URI parsing#test_0008_supports IPv6 URIs (without brackets) = 0.00 s = .
-os_detect::/etc/redhat-release::and /etc/os-release#test_0003_sets the correct family, name, and release on CloudLinux = 0.01 s = .
-os_detect::/etc/redhat-release::and /etc/os-release#test_0001_sets the correct family, name, and release on centos = 0.00 s = .
-os_detect::/etc/redhat-release::and /etc/os-release#test_0002_sets the correct family, name, and release on scientific linux = 0.01 s = .
-os_detect::/etc/redhat-release::and /etc/os-release#test_0004_sets the correct family, name, and release on SLES ESR RHEL = 0.01 s = .
-CiscoIOSConnection::#unique_identifier#test_0001_returns the correct identifier = /build/ruby-train-3.2.28/test/unit/transports/cisco_ios_connection_test.rb:10: warning: method redefined; discarding old cisco_ios?
+platform::with platform set to redhat#test_0002_anonymous = 0.00 s = .
+platform::with platform set to redhat#test_0004_anonymous = 0.00 s = .
+os_detect::brocade#test_0001_recognizes Brocade FOS-based SAN switches = 0.00 s = .
+platform::with platform set to darwin#test_0002_anonymous = 0.00 s = .
+platform::with platform set to darwin#test_0003_anonymous = 0.00 s = .
+platform::with platform set to darwin#test_0001_anonymous = 0.00 s = .
+CiscoIOSConnection::#format_output#test_0001_returns the correct output = /build/ruby-train-3.2.28/test/unit/transports/cisco_ios_connection_test.rb:10: warning: method redefined; discarding old cisco_ios?
 /build/ruby-train-3.2.28/debian/ruby-train-core/usr/share/rubygems-integration/all/gems/train-core-3.2.28/lib/train/platforms/platform.rb:86: warning: previous definition of cisco_ios? was here
 0.01 s = .
-platform::with platform set to debian#test_0002_anonymous = 0.00 s = .
-platform::with platform set to debian#test_0003_anonymous = 0.00 s = .
-platform::with platform set to debian#test_0001_anonymous = 0.00 s = .
+CiscoIOSConnection::#format_output#test_0002_returns the correct output when a pipe is used = /build/ruby-train-3.2.28/test/unit/transports/cisco_ios_connection_test.rb:10: warning: method redefined; discarding old cisco_ios?
+/build/ruby-train-3.2.28/debian/ruby-train-core/usr/share/rubygems-integration/all/gems/train-core-3.2.28/lib/train/platforms/platform.rb:86: warning: previous definition of cisco_ios? was here
+0.01 s = .
+v1 Connection Plugin::empty v1 connection plugin#test_0004_raises an exception for os method = 0.00 s = .
+v1 Connection Plugin::empty v1 connection plugin#test_0011_must use the user-provided logger = 0.00 s = .
+v1 Connection Plugin::empty v1 connection plugin#test_0001_provides a close method = 0.00 s = .
+v1 Connection Plugin::empty v1 connection plugin#test_0003_raises an exception for run_command_via_connection = 0.00 s = .
+v1 Connection Plugin::empty v1 connection plugin#test_0005_raises an exception for file method = 0.00 s = .
+v1 Connection Plugin::empty v1 connection plugin#test_0006_raises an exception for file_via_connection method = 0.00 s = .
+v1 Connection Plugin::empty v1 connection plugin#test_0008_can wait until ready = 0.00 s = .
+v1 Connection Plugin::empty v1 connection plugin#test_0010_provides direct platform = 0.00 s = .
+v1 Connection Plugin::empty v1 connection plugin#test_0002_raises an exception for run_command = 0.00 s = .
+v1 Connection Plugin::empty v1 connection plugin#test_0007_raises an exception for login command method = 0.00 s = .
+v1 Connection Plugin::empty v1 connection plugin#test_0009_provides a default logger = 0.00 s = .
+os_linux::when os-release data exists with no CISCO_RELEASE_INFO#test_0001_returns a correct hash = 0.00 s = .
+Train::File::Remote::Qnx::#md5sum#test_0001_defaults to a Ruby based checksum if other methods fail = 0.03 s = .
+os_detect_windows::Windows 10 with Powershell#test_0001_sets the correct family/release for windows = 0.00 s = .
+os_common::unix file contents#test_0002_return new file contents cached = 0.00 s = .
+os_common::unix file contents#test_0001_return new file contents = 0.00 s = .
+platform::with platform set to oracle#test_0001_anonymous = 0.00 s = .
+platform::with platform set to oracle#test_0002_anonymous = 0.00 s = .
+platform::with platform set to oracle#test_0003_anonymous = 0.00 s = .
+platform::with platform set to oracle#test_0004_anonymous = 0.00 s = .
+platform::with platform set to oracle#test_0005_anonymous = 0.00 s = .
+Train::File::Local::Unix::file metadata#test_0002_recognizes mode = 0.03 s = .
+Train::File::Local::Unix::file metadata#test_0003_recognizes mtime = 0.04 s = .
+Train::File::Local::Unix::file metadata#test_0004_recognizes size = 0.03 s = .
+Train::File::Local::Unix::file metadata#test_0005_recognizes uid = 0.03 s = .
+Train::File::Local::Unix::file metadata#test_0008_recognizes group = 0.03 s = .
+Train::File::Local::Unix::file metadata#test_0011_recognizes source selinux label = 0.00 s = .
+Train::File::Local::Unix::file metadata#test_0001_recognizes type = 0.03 s = .
+Train::File::Local::Unix::file metadata#test_0009_grouped_into = 0.03 s = .
+Train::File::Local::Unix::file metadata#test_0007_recognizes owner = 0.04 s = .
+Train::File::Local::Unix::file metadata#test_0006_recognizes gid = 0.03 s = .
+Train::File::Local::Unix::file metadata#test_0010_recognizes selinux label = 0.00 s = .
+platform::with platform set to netbsd#test_0001_anonymous = 0.00 s = .
+platform::with platform set to netbsd#test_0002_anonymous = 0.00 s = .
+platform::with platform set to netbsd#test_0003_anonymous = 0.00 s = .
+platform::with platform set to debian#test_0003_anonymous = 0.01 s = .
 platform::with platform set to debian#test_0004_anonymous = 0.00 s = .
+platform::with platform set to debian#test_0001_anonymous = 0.00 s = .
 platform::with platform set to debian#test_0005_anonymous = 0.00 s = .
-ssh transport::connection options::various values are mapped appropriately for verify_host_key#test_0001_maps correctly when net-ssh > 5.0 = 0.00 s = .
-ssh transport::connection options::various values are mapped appropriately for verify_host_key#test_0002_defaults verify_host_key option to :never = 0.00 s = .
-platform::with platform set to hpux#test_0001_anonymous = 0.00 s = .
-platform::with platform set to hpux#test_0003_anonymous = 0.00 s = .
-platform::with platform set to hpux#test_0002_anonymous = 0.00 s = .
-platform::with platform set to hpux#test_0004_anonymous = 0.00 s = .
-os_detect_windows::windows 10#test_0001_sets the correct family/release for windows = 0.00 s = .
-os_linux::#linux_os_release::when no os-release data is available#test_0001_returns nil = 0.00 s = .
-stat::alpine stat#test_0001_ignores wrong stat results = 0.00 s = .
-stat::alpine stat#test_0002_reads correct stat results = 0.00 s = .
-local transport::when running a local command#test_0003_gets exit_status = 0.01 s = .
-local transport::when running a local command#test_0001_gets stdout = 0.00 s = .
-local transport::when running a local command#test_0002_gets stderr = 0.01 s = .
-ssh transport with bastion::bastion::default options#test_0003_has default user = 0.00 s = .
-ssh transport with bastion::bastion::default options#test_0001_configures the host = 0.00 s = .
-ssh transport with bastion::bastion::default options#test_0002_has default port = 0.00 s = .
-mock transport::when running a mocked command#test_0007_can mock a command via its SHA2 sum = 0.00 s = .
-mock transport::when running a mocked command#test_0002_handles nil commands = 0.00 s = .
-mock transport::when running a mocked command#test_0004_gets results for stdout = 0.00 s = .
-mock transport::when running a mocked command#test_0005_gets results for stderr = 0.00 s = .
-mock transport::when running a mocked command#test_0003_can mock up nil commands = 0.00 s = .
-mock transport::when running a mocked command#test_0006_gets results for exit_status = 0.00 s = .
-mock transport::when running a mocked command#test_0001_has a simple mock command creator = 0.00 s = .
-mock transport::when accessing a mocked file#test_0001_handles a non-existing file = 0.00 s = .
+platform::with platform set to debian#test_0002_anonymous = 0.01 s = .
+platform::with platform set to linuxmint#test_0001_anonymous = 0.00 s = .
+platform::with platform set to linuxmint#test_0004_anonymous = 0.00 s = .
+platform::with platform set to linuxmint#test_0002_anonymous = 0.00 s = .
+platform::with platform set to linuxmint#test_0005_anonymous = 0.00 s = .
+platform::with platform set to linuxmint#test_0003_anonymous = 0.00 s = .
+mock transport#test_0001_can be instantiated = 0.00 s = .
+mock transport#test_0005_provides a file_via_connection method = 0.00 s = .
+mock transport#test_0003_provides a uri = 0.00 s = .
+mock transport#test_0004_provides a run_command_via_connection method = 0.00 s = .
+mock transport#test_0002_can create a connection = 0.00 s = .
 mock transport::when accessing a mocked file#test_0002_can be initialized from json (field content) = 0.00 s = .
 mock transport::when accessing a mocked file#test_0003_can be initialized from json (field mode) = 0.00 s = .
 mock transport::when accessing a mocked file#test_0004_can be initialized from json (field owner) = 0.00 s = .
+mock transport::when accessing a mocked file#test_0001_handles a non-existing file = 0.00 s = .
 mock transport::when accessing a mocked file#test_0005_can be initialized from json (field group) = 0.00 s = .
-platform::with platform set to centos#test_0001_anonymous = 0.01 s = .
+ssh transport::failed configuration#test_0004_does not like key and password == nil = 0.01 s = .
+ssh transport::failed configuration#test_0003_reverts to root on user == nil = 0.00 s = .
+ssh transport::failed configuration#test_0005_wont connect if it is not possible = 0.01 s = .
+ssh transport::failed configuration#test_0001_works with a minimum valid config = 0.01 s = .
+ssh transport::failed configuration#test_0002_does not like host == nil = 0.00 s = .
+Train::File::Remote::Qnx#test_0005_raises exception for unimplemented methods = 0.00 s = .
+Train::File::Remote::Qnx#test_0002_returns nil contents when the file does not exist = 0.00 s = .
+Train::File::Remote::Qnx#test_0001_returns file contents when the file exists = 0.00 s = .
+Train::File::Remote::Qnx#test_0003_returns a file type = 0.00 s = .
+Train::File::Remote::Qnx#test_0004_returns a directory type = 0.00 s = .
+v1 Transport Plugin::empty v1 transport plugin#test_0006_provides a connection method = 0.00 s = .
+v1 Transport Plugin::empty v1 transport plugin#test_0001_initializes an empty configuration = 0.00 s = .
+v1 Transport Plugin::empty v1 transport plugin#test_0004_provides a default logger = 0.00 s = .
+v1 Transport Plugin::empty v1 transport plugin#test_0002_saves the provided configuration = 0.00 s = .
+v1 Transport Plugin::empty v1 transport plugin#test_0003_saves the provided configuration = 0.00 s = .
+v1 Transport Plugin::empty v1 transport plugin#test_0005_can configure custom loggers = 0.00 s = .
+v1 Transport Plugin::registered with a name#test_0001_doesnt have any plugins in the registry if none were configured = 0.00 s = .
+v1 Transport Plugin::registered with a name#test_0002_is is added to the plugins registry = 0.00 s = .
+ssh transport with bastion::bastion::opening a connection#test_0004_provides a uri = 0.00 s = .
+ssh transport with bastion::bastion::opening a connection#test_0007_has a login command == ssh = 0.00 s = .
+ssh transport with bastion::bastion::opening a connection#test_0011_sets the right auth_methods for agent auth = 0.02 s = .
+ssh transport with bastion::bastion::opening a connection#test_0012_works with ssh agent auth = 0.01 s = .
+ssh transport with bastion::bastion::opening a connection#test_0001_provides a run_command_via_connection method = 0.01 s = .
+ssh transport with bastion::bastion::opening a connection#test_0006_can be closed = 0.01 s = .
+ssh transport with bastion::bastion::opening a connection#test_0009_sets the right auth_methods when password is specified = 0.00 s = .
+ssh transport with bastion::bastion::opening a connection#test_0008_has login command arguments = 0.01 s = .
+ssh transport with bastion::bastion::opening a connection#test_0005_must respond to wait_until_ready = 0.00 s = .
+ssh transport with bastion::bastion::opening a connection#test_0002_provides a file_via_connection method = 0.00 s = .
+ssh transport with bastion::bastion::opening a connection#test_0013_sets up a proxy when ssh proxy command is specified = 0.01 s = .
+ssh transport with bastion::bastion::opening a connection#test_0003_gets the connection = 0.00 s = .
+ssh transport with bastion::bastion::opening a connection#test_0010_sets the right auth_methods when keys are specified = 0.00 s = .
+Train::#create#test_0003_loads a core plugin if it isnt in the registry yet via string = 0.00 s = .
+Train::#create#test_0004_loads a gem plugin if it isnt in the registry yet via string = 0.02 s = .
+Train::#create#test_0001_raises an error if the plugin isnt found = 0.02 s = .
+Train::#create#test_0002_loads a core plugin if it isnt in the registry yet via symbol = 0.00 s = .
+Train::File::Local::#type#test_0003_returns the type symlink if it is symlink = 0.00 s = .
+Train::File::Local::#type#test_0004_returns the type file if it is file = 0.00 s = .
+Train::File::Local::#type#test_0005_returns the type directory if it is block directory = 0.00 s = .
+Train::File::Local::#type#test_0001_returns the type block_device if it is block device = 0.00 s = .
+Train::File::Local::#type#test_0002_returns the type character_device if it is character device = 0.00 s = .
+Train::File::Local::#type#test_0006_returns the type pipe if it is pipe = 0.00 s = .
+Train::File::Local::#type#test_0007_returns the type socket if it is socket = 0.00 s = .
+Train::File::Local::#type#test_0008_returns the unknown if not known = 0.00 s = .
+platform::with platform set to centos#test_0005_anonymous = 0.00 s = .
+platform::with platform set to centos#test_0001_anonymous = 0.00 s = .
 platform::with platform set to centos#test_0002_anonymous = 0.00 s = .
 platform::with platform set to centos#test_0004_anonymous = 0.00 s = .
-platform::with platform set to centos#test_0005_anonymous = 0.00 s = .
 platform::with platform set to centos#test_0003_anonymous = 0.00 s = .
-platform#test_0010_return name? = 0.01 s = .
-platform#test_0003_set name and name override = 0.00 s = .
-platform#test_0011_add platform methods = 0.00 s = .
-platform#test_0001_set platform title = 0.00 s = .
+Train::File::Local::Unix::#unix_mode_mask#test_0001_check owner mode calculation = 0.00 s = .
+Train::File::Local::Unix::#unix_mode_mask#test_0002_check group mode calculation = 0.00 s = .
+Train::File::Local::Unix::#unix_mode_mask#test_0003_check other mode calculation = 0.00 s = .
+Train::File::Local::Unix::#unix_mode_mask#test_0004_check all mode calculation = 0.00 s = .
+Train::#options#test_0002_provides empty options of a transport plugin = 0.00 s = .
+Train::#options#test_0001_raises exception if a given transport plugin isnt found = 0.01 s = .
+Train::#options#test_0003_provides all options of a transport plugin = 0.00 s = .
+v1 Connection Plugin::empty v1 connection plugin::cache enable check#test_0002_returns false when cache is disabled = 0.00 s = .
+v1 Connection Plugin::empty v1 connection plugin::cache enable check#test_0001_returns true when cache is enabled = 0.00 s = .
+os_detect::darwin::mac_os_x#test_0001_sets the correct family, name, and release on os_x = 0.00 s = .
 platform#test_0002_clean init name = 0.00 s = .
-platform#test_0006_finds family hierarchy = 0.00 s = .
 platform#test_0007_return direct families = 0.00 s = .
-platform#test_0009_return unknown release = 0.01 s = .
-platform#test_0014_has a friendly #to_s and #inspect = 0.00 s = .
-platform#test_0008_return to_hash = 0.01 s = .
+platform#test_0006_finds family hierarchy = 0.00 s = .
+platform#test_0011_add platform methods = 0.00 s = .
 platform#test_0004_check families = 0.00 s = .
+platform#test_0014_has a friendly #to_s and #inspect = 0.00 s = .
 platform#test_0005_check families with condition = 0.00 s = .
+platform#test_0008_return to_hash = 0.00 s = .
 platform#test_0012_provides a method to access platform data = 0.00 s = .
 platform#test_0013_provides an accessor for the full hash = 0.00 s = .
-os_common::#detect_linux_arch#test_0002_uname s call = 0.00 s = .
-os_common::#detect_linux_arch#test_0001_uname m call = 0.00 s = .
-os_common::#detect_linux_arch#test_0003_uname r call = 0.00 s = .
-Train::File::version#test_0001_recognized wrong version = 0.00 s = .
-Train::File::version#test_0003_recognized file_version = 0.00 s = .
-Train::File::version#test_0002_recognized product_version = 0.00 s = .
-platform::with platform set to ubuntu#test_0001_anonymous = 0.01 s = .
-platform::with platform set to ubuntu#test_0002_anonymous = 0.00 s = .
-platform::with platform set to ubuntu#test_0003_anonymous = 0.00 s = .
-platform::with platform set to ubuntu#test_0004_anonymous = 0.00 s = .
-platform::with platform set to ubuntu#test_0005_anonymous = 0.00 s = .
-v1 Connection Plugin::empty v1 connection plugin::cache enable check#test_0001_returns true when cache is enabled = 0.00 s = .
-v1 Connection Plugin::empty v1 connection plugin::cache enable check#test_0002_returns false when cache is disabled = 0.00 s = .
-linux command::sudo wrapping#test_0001_wraps commands in sudo = 0.01 s = .
-linux command::sudo wrapping#test_0002_doesnt wrap commands in sudo if user == root = 0.01 s = .
-linux command::sudo wrapping#test_0004_runs commands in sudo with password = 0.00 s = .
-linux command::sudo wrapping#test_0006_wraps commands in sudo_command with all options = 0.00 s = .
-linux command::sudo wrapping#test_0003_wraps commands in sudo with all options = 0.00 s = .
-linux command::sudo wrapping#test_0007_runs commands in sudo_command with password = 0.00 s = .
-linux command::sudo wrapping#test_0005_wraps commands in sudo_command instead of sudo = 0.00 s = .
-file common#test_0002_returns file version = 0.01 s = .
-file common#test_0001_check escaping of invalid chars in path = 0.00 s = .
-file common#test_0003_returns product version = 0.00 s = .
-file common#test_0004_returns owner of file = 0.00 s = .
-mock transport#test_0001_can be instantiated = 0.00 s = .
-mock transport#test_0004_provides a run_command_via_connection method = 0.01 s = .
-mock transport#test_0003_provides a uri = 0.02 s = .
-mock transport#test_0005_provides a file_via_connection method = 0.00 s = .
-mock transport#test_0002_can create a connection = 0.00 s = .
-os_linux::#parse_os_release_info::when unexpectedly-formatted data is supplied#test_0001_returns an empty hash = 0.00 s = .
+platform#test_0003_set name and name override = 0.00 s = .
+platform#test_0010_return name? = 0.00 s = .
+platform#test_0001_set platform title = 0.00 s = .
+platform#test_0009_return unknown release = 0.00 s = .
+platform::with platform set to opensuse#test_0001_anonymous = 0.01 s = .
+platform::with platform set to opensuse#test_0002_anonymous = 0.00 s = .
+platform::with platform set to opensuse#test_0003_anonymous = 0.00 s = .
+platform::with platform set to opensuse#test_0004_anonymous = 0.00 s = .
+platform::with platform set to opensuse#test_0005_anonymous = 0.00 s = .
+Train::File::Local::Unix#test_0001_checks a mounted path = 0.00 s = .
+os_detect::/etc/os-release::when not on a wrlinux build#test_0001_fail back to generic linux = 0.01 s = .
+os_detect::/etc/debian_version::windows#test_0001_sets the correct family/release for windows  = 0.00 s = .
+platform::with platform set to hpux#test_0001_anonymous = 0.00 s = .
+platform::with platform set to hpux#test_0002_anonymous = 0.00 s = .
+platform::with platform set to hpux#test_0003_anonymous = 0.00 s = .
+platform::with platform set to hpux#test_0004_anonymous = 0.00 s = .
+platform::with platform set to raspbian#test_0005_anonymous = 0.00 s = .
+platform::with platform set to raspbian#test_0002_anonymous = 0.00 s = .
+platform::with platform set to raspbian#test_0003_anonymous = 0.00 s = .
+platform::with platform set to raspbian#test_0001_anonymous = 0.00 s = .
+platform::with platform set to raspbian#test_0004_anonymous = 0.00 s = .
+CiscoIOSConnection::#initialize#test_0001_provides a uri = /build/ruby-train-3.2.28/test/unit/transports/cisco_ios_connection_test.rb:10: warning: method redefined; discarding old cisco_ios?
+/build/ruby-train-3.2.28/debian/ruby-train-core/usr/share/rubygems-integration/all/gems/train-core-3.2.28/lib/train/platforms/platform.rb:86: warning: previous definition of cisco_ios? was here
+0.01 s = .
+Train::File::Remote::Linux::stat on a file#test_0005_retrieves the file group = 0.00 s = .
+Train::File::Remote::Linux::stat on a file#test_0008_retrieves the file size = 0.00 s = .
+Train::File::Remote::Linux::stat on a file#test_0002_retrieves the file mode = 0.00 s = .
+Train::File::Remote::Linux::stat on a file#test_0003_retrieves the file owner = 0.00 s = .
+Train::File::Remote::Linux::stat on a file#test_0006_retrieves the file gid = 0.00 s = .
+Train::File::Remote::Linux::stat on a file#test_0001_retrieves the file type = 0.00 s = .
+Train::File::Remote::Linux::stat on a file#test_0009_retrieves the file selinux_label = 0.00 s = .
+Train::File::Remote::Linux::stat on a file#test_0004_retrieves the file uid = 0.00 s = .
+Train::File::Remote::Linux::stat on a file#test_0007_retrieves the file mtime = 0.00 s = .
+Train#test_0001_defines a version = 0.00 s = .
+os_detect::darwin::generic darwin#test_0001_sets the correct family, name, and release on darwin = 0.00 s = .
+platform::with platform set to esx#test_0002_anonymous = 0.00 s = .
+platform::with platform set to esx#test_0001_anonymous = 0.00 s = .
+platform::with platform set to esx#test_0003_anonymous = 0.00 s = .
+platform::with platform set to esx#test_0005_anonymous = 0.00 s = .
+platform::with platform set to esx#test_0004_anonymous = 0.00 s = .
+v1 Connection Plugin::empty v1 connection plugin::run command#test_0002_without caching = 0.00 s = .
+v1 Connection Plugin::empty v1 connection plugin::run command#test_0001_with caching = 0.00 s = .
+platform::with platform set to smartos#test_0001_anonymous = 0.00 s = .
+platform::with platform set to smartos#test_0002_anonymous = 0.00 s = .
+platform::with platform set to smartos#test_0003_anonymous = 0.00 s = .
+os_linux::#parse_os_release_info::when nil is supplied#test_0001_returns an empty hash = 0.00 s = .
+os_linux::lsb parse#test_0001_lsb config = 0.00 s = .
+os_linux::lsb parse#test_0002_lsb releasel = 0.00 s = .
+mock transport::when accessing a mocked os#test_0003_allows the setting of the name = 0.00 s = .
+mock transport::when accessing a mocked os#test_0007_allow setting of multiple values = 0.00 s = .
+mock transport::when accessing a mocked os#test_0008_properly handles a nil value = 0.00 s = .
+mock transport::when accessing a mocked os#test_0002_sets the OS to the mocked value = 0.02 s = .
+mock transport::when accessing a mocked os#test_0001_has the default mock os faily set to mock = 0.00 s = .
+mock transport::when accessing a mocked os#test_0005_allows setting of the release = 0.00 s = .
+mock transport::when accessing a mocked os#test_0004_allows setting of the family = 0.00 s = .
+mock transport::when accessing a mocked os#test_0006_allows setting of the arch = 0.00 s = .
+Train::#target_config - URI parsing#test_0002_resolves a target while keeping existing fields = 0.00 s = .
+Train::#target_config - URI parsing#test_0005_always transforms config fields into ruby symbols = 0.00 s = .
+Train::#target_config - URI parsing#test_0006_supports IPv4 URIs = 0.00 s = .
+Train::#target_config - URI parsing#test_0007_supports IPv6 URIs (with brackets) = 0.00 s = .
+Train::#target_config - URI parsing#test_0003_resolves a winrm target = 0.00 s = .
+Train::#target_config - URI parsing#test_0008_supports IPv6 URIs (without brackets) = 0.00 s = .
+Train::#target_config - URI parsing#test_0011_supports www-form encoded passwords when the option is set = 0.00 s = .
+Train::#target_config - URI parsing#test_0013_it raises UserError on invalid URIs (invalid scheme) = 0.00 s = .
+Train::#target_config - URI parsing#test_0001_configures resolves target = 0.00 s = .
+Train::#target_config - URI parsing#test_0009_supports empty URIs with schema:// = 0.00 s = .
+Train::#target_config - URI parsing#test_0004_keeps the configuration when incorrect target is supplied = 0.00 s = .
+Train::#target_config - URI parsing#test_0010_supports empty URIs with schema: = 0.00 s = .
+Train::#target_config - URI parsing#test_0012_ignores www-form-encoded password value when there is no password = 0.00 s = .
 platform::with platform set to wrlinux#test_0002_anonymous = 0.00 s = .
-platform::with platform set to wrlinux#test_0005_anonymous = 0.00 s = .
 platform::with platform set to wrlinux#test_0003_anonymous = 0.00 s = .
-platform::with platform set to wrlinux#test_0001_anonymous = 0.00 s = .
 platform::with platform set to wrlinux#test_0004_anonymous = 0.00 s = .
-file common::#sha256sum#test_0002_calculates the correct sha256sum on the `windows` platform family = 0.00 s = .
+platform::with platform set to wrlinux#test_0001_anonymous = 0.00 s = .
+platform::with platform set to wrlinux#test_0005_anonymous = 0.00 s = .
+platform::with platform set to freebsd#test_0003_anonymous = 0.00 s = .
+platform::with platform set to freebsd#test_0001_anonymous = 0.00 s = .
+platform::with platform set to freebsd#test_0002_anonymous = 0.00 s = .
+os_linux::when os-release data exists with CISCO_RELEASE_INFO#test_0001_returns a correct hash = 0.00 s = .
+Train::File::Remote::basename helper#test_0009_doesnt work with backward slashes (Unix mode) = 0.00 s = .
+Train::File::Remote::basename helper#test_0004_separates a simple path (Windows mode) = 0.00 s = .
+Train::File::Remote::basename helper#test_0006_identifies a folder name (Windows mode) = 0.00 s = .
+Train::File::Remote::basename helper#test_0002_separates a simple path (defaults to unix mode) = 0.00 s = .
+Train::File::Remote::basename helper#test_0007_ignores tailing separators (Unix mode) = 0.00 s = .
+Train::File::Remote::basename helper#test_0001_works with an empty path = 0.00 s = .
+Train::File::Remote::basename helper#test_0008_ignores tailing separators (Windows mode) = 0.00 s = .
+Train::File::Remote::basename helper#test_0005_identifies a folder name (Unix mode) = 0.00 s = .
+Train::File::Remote::basename helper#test_0010_doesnt work with forward slashes (Windows mode) = 0.00 s = .
+Train::File::Remote::basename helper#test_0003_separates a simple path (Unix mode) = 0.00 s = .
+windows command::shell wrapping#test_0001_wraps commands in a default powershell = 0.02 s = .
+platform::with platform set to linux#test_0001_anonymous = 0.02 s = .
+platform::with platform set to linux#test_0002_anonymous = 0.02 s = .
+platform::with platform set to fedora#test_0003_anonymous = 0.02 s = .
+platform::with platform set to fedora#test_0006_anonymous = 0.05 s = .
+platform::with platform set to fedora#test_0002_anonymous = 0.00 s = .
+platform::with platform set to fedora#test_0005_anonymous = 0.00 s = .
+platform::with platform set to fedora#test_0001_anonymous = 0.00 s = .
+platform::with platform set to fedora#test_0004_anonymous = 0.00 s = .
+stat::linux stat#test_0001_ignores wrong stat results = 0.00 s = .
+stat::linux stat#test_0002_reads correct stat results = 0.00 s = .
+ssh transport::connection options::various values are mapped appropriately for verify_host_key#test_0001_maps correctly when net-ssh > 5.0 = 0.00 s = .
+ssh transport::connection options::various values are mapped appropriately for verify_host_key#test_0002_defaults verify_host_key option to :never = 0.00 s = .
+local transport#test_0001_can be instantiated = 0.00 s = .
+local transport#test_0003_provides a uri = 0.00 s = .
+local transport#test_0004_doesnt wait to be read = 0.00 s = .
+local transport#test_0002_gets the connection = 0.00 s = .
+local transport#test_0007_has no login command = 0.00 s = .
+local transport#test_0009_provides a file_via_connection method = 0.00 s = .
+local transport#test_0008_provides a run_command_via_connection method = 0.00 s = .
+local transport#test_0006_can be closed = 0.00 s = .
+local transport#test_0005_inspects with readable output = 0.00 s = .
+stat::aix stat#test_0002_ignores wrong stat results = 0.00 s = .
+stat::aix stat#test_0003_reads correct stat results = 0.00 s = .
+stat::aix stat#test_0001_ignores failed stat results = 0.00 s = .
+scanner::check condition#test_0001_return true equal = 0.00 s = .
+scanner::check condition#test_0003_return false greater then = 0.00 s = .
+scanner::check condition#test_0002_return true greater then = 0.00 s = .
+os_common::#detect_linux_arch#test_0003_uname r call = 0.00 s = .
+os_common::#detect_linux_arch#test_0001_uname m call = 0.00 s = .
+os_common::#detect_linux_arch#test_0002_uname s call = 0.00 s = .
+os_detect::/etc/coreos/update.conf#test_0001_sets the correct family/release for coreos = 0.00 s = .
+Train::#validate_backend#test_0001_just returns the backend if it is provided = 0.00 s = .
+Train::#validate_backend#test_0005_fails if no backend was given but a host is provided = 0.00 s = .
+Train::#validate_backend#test_0002_returns the local backend if nothing was provided = 0.00 s = .
+Train::#validate_backend#test_0004_fails if no backend was given but a target is provided = 0.00 s = .
+Train::#validate_backend#test_0003_returns the default backend if nothing was provided = 0.00 s = .
 file common::#sha256sum#test_0001_defaults to a Ruby based checksum if other methods fail = 0.01 s = .
-os_detect::cisco#test_0001_recognizes Cisco IOS12 = 0.00 s = .
-os_detect::cisco#test_0002_recognizes Cisco IOS XE = 0.00 s = .
-os_detect::cisco#test_0003_recognizes Cisco Nexus = 0.00 s = .
-platform::with platform set to openindiana#test_0001_anonymous = 0.00 s = .
-platform::with platform set to openindiana#test_0002_anonymous = 0.00 s = .
-platform::with platform set to openindiana#test_0003_anonymous = 0.00 s = .
+file common::#sha256sum#test_0002_calculates the correct sha256sum on the `windows` platform family = 0.00 s = .
+stat::alpine stat#test_0002_reads correct stat results = 0.00 s = .
+stat::alpine stat#test_0001_ignores wrong stat results = 0.00 s = .
+os_detect::/etc/redhat-release::and /etc/os-release#test_0003_sets the correct family, name, and release on CloudLinux = 0.01 s = .
+os_detect::/etc/redhat-release::and /etc/os-release#test_0001_sets the correct family, name, and release on centos = 0.00 s = .
+os_detect::/etc/redhat-release::and /etc/os-release#test_0002_sets the correct family, name, and release on scientific linux = 0.01 s = .
+os_detect::/etc/redhat-release::and /etc/os-release#test_0004_sets the correct family, name, and release on SLES ESR RHEL = 0.01 s = .
+local transport::when running a local command#test_0003_gets exit_status = 0.01 s = .
+local transport::when running a local command#test_0001_gets stdout = 0.00 s = .
+local transport::when running a local command#test_0002_gets stderr = 0.01 s = .
+stat::esx stat#test_0001_ignores wrong stat results = 0.00 s = .
+stat::esx stat#test_0002_reads correct stat results = 0.00 s = .
+ssh transport with bastion::bastion::default options#test_0002_has default port = 0.00 s = .
+ssh transport with bastion::bastion::default options#test_0001_configures the host = 0.00 s = .
+ssh transport with bastion::bastion::default options#test_0003_has default user = 0.00 s = .
+Train::File::Remote::Linux::#sha256sum#test_0001_defaults to a Ruby based checksum if other methods fail = 0.01 s = .
+Train::File::Remote::Linux::#sha256sum#test_0002_calculates the correct sha256sum on the `linux` platform family = 0.00 s = .
+v1 Connection Plugin::empty v1 connection plugin::load file#test_0001_with caching = 0.00 s = .
+v1 Connection Plugin::empty v1 connection plugin::load file#test_0002_without caching = 0.00 s = .
+linux command::sudo wrapping#test_0001_wraps commands in sudo = 0.00 s = .
+linux command::sudo wrapping#test_0002_doesnt wrap commands in sudo if user == root = 0.00 s = .
+linux command::sudo wrapping#test_0005_wraps commands in sudo_command instead of sudo = 0.00 s = .
+linux command::sudo wrapping#test_0004_runs commands in sudo with password = 0.00 s = .
+linux command::sudo wrapping#test_0006_wraps commands in sudo_command with all options = 0.00 s = .
+linux command::sudo wrapping#test_0007_runs commands in sudo_command with password = 0.00 s = .
+linux command::sudo wrapping#test_0003_wraps commands in sudo with all options = 0.00 s = .
+local transport::when running on Windows#test_0001_uses `WindowsPipeRunner` by default = 0.01 s = .
+local transport::when running on Windows#test_0002_uses `WindowsShellRunner` when a named pipe is not available = 0.01 s = .
+os_detect_windows::windows 7#test_0001_sets the correct family/release for windows = 0.00 s = .
+platform family#test_0001_set family title = 0.00 s = .
+platform family#test_0002_set family in a family = 0.00 s = .
+platform family#test_0003_set family in a family with condition = 0.00 s = .
+Train::File::Remote::Unix::#sha256sum#test_0001_defaults to a Ruby based checksum if other methods fail = 0.01 s = .
+Train::File::Remote::Unix::#sha256sum#test_0003_calculates the correct sha256sum on the `solaris` platform family = 0.00 s = .
+Train::File::Remote::Unix::#sha256sum#test_0002_calculates the correct sha256sum on the `darwin` platform family = 0.00 s = .
+os_detect::/etc/os-release::when on a wrlinux build#test_0001_sets the correct family/release for wrlinux = 0.01 s = .
+v1 Connection Plugin::empty v1 connection plugin::create cache connection#test_0001_default connection cache settings = 0.00 s = .
+mock transport::when running a mocked command#test_0004_gets results for stdout = 0.00 s = .
+mock transport::when running a mocked command#test_0001_has a simple mock command creator = 0.00 s = .
+mock transport::when running a mocked command#test_0003_can mock up nil commands = 0.00 s = .
+mock transport::when running a mocked command#test_0002_handles nil commands = 0.00 s = .
+mock transport::when running a mocked command#test_0005_gets results for stderr = 0.00 s = .
+mock transport::when running a mocked command#test_0006_gets results for exit_status = 0.00 s = .
+mock transport::when running a mocked command#test_0007_can mock a command via its SHA2 sum = 0.00 s = .
+v1 Connection Plugin::empty v1 connection plugin::clear cache#test_0001_clear file cache = 0.00 s = .
+Train::File::Remote::Linux#test_0007_checks for file existance = 0.00 s = .
+Train::File::Remote::Linux#test_0010_retrieves the link path = 0.00 s = .
+Train::File::Remote::Linux#test_0009_retrieves the link path via #path() = 0.00 s = .
+Train::File::Remote::Linux#test_0013_has nil product version = 0.00 s = .
+Train::File::Remote::Linux#test_0012_checks a mounted path = 0.00 s = .
+Train::File::Remote::Linux#test_0014_has nil file version = 0.00 s = .
+Train::File::Remote::Linux#test_0002_provides the full path = 0.00 s = .
+Train::File::Remote::Linux#test_0008_checks for file existance = 0.00 s = .
+Train::File::Remote::Linux#test_0001_works on nil path = 0.00 s = .
+Train::File::Remote::Linux#test_0006_reads file contents = 0.00 s = .
+Train::File::Remote::Linux#test_0003_provides the basename to a unix path = 0.00 s = .
+Train::File::Remote::Linux#test_0004_reads file contents = 0.00 s = .
+Train::File::Remote::Linux#test_0011_provide the source path = 0.01 s = .
+Train::File::Remote::Linux#test_0005_reads file contents = 0.00 s = .
+Train::File::Local#test_0006_checks if file is a symlink? = 0.00 s = .
+Train::File::Local#test_0004_checks if file is a socket? = 0.00 s = .
+Train::File::Local#test_0008_checks if file is a character_device? = 0.00 s = .
+Train::File::Local#test_0005_checks if file is a directory? = 0.00 s = .
+Train::File::Local#test_0007_checks if file is a pipe? = 0.00 s = .
+Train::File::Local#test_0002_checks if file is a exist? = 0.00 s = .
+Train::File::Local#test_0010_has a friendly inspect = 0.00 s = .
+Train::File::Local#test_0001_gets file contents = 0.00 s = .
+Train::File::Local#test_0009_checks if file is a block_device? = 0.00 s = .
+Train::File::Local#test_0003_checks if file is a file? = 0.00 s = .
 
-Finished in 3.183329s, 193.8223 runs/s, 289.0057 assertions/s.
+Finished in 2.995450s, 205.9790 runs/s, 307.1324 assertions/s.
 
 617 runs, 920 assertions, 0 failures, 0 errors, 0 skips
 
@@ -1634,12 +1732,14 @@
 dpkg-buildpackage: info: binary-only upload (no source included)
 dpkg-genchanges: info: not including original source code in upload
 I: copying local configuration
+I: user script /srv/workspace/pbuilder/24652/tmp/hooks/B01_cleanup starting
+I: user script /srv/workspace/pbuilder/24652/tmp/hooks/B01_cleanup finished
 I: unmounting dev/ptmx filesystem
 I: unmounting dev/pts filesystem
 I: unmounting dev/shm filesystem
 I: unmounting proc filesystem
 I: unmounting sys filesystem
 I: cleaning the build env 
-I: removing directory /srv/workspace/pbuilder/11445 and its subdirectories
-I: Current time: Wed May 31 11:16:35 -12 2023
-I: pbuilder-time-stamp: 1685574995
+I: removing directory /srv/workspace/pbuilder/24652 and its subdirectories
+I: Current time: Wed Jul  3 16:54:36 +14 2024
+I: pbuilder-time-stamp: 1719975276