==> Building on scovillain ==> Checking for remote environment... ==> Syncing package to remote host... sending incremental file list ./ .SRCINFO 1,602 100% 0.00kB/s 0:00:00 1,602 100% 0.00kB/s 0:00:00 (xfr#1, to-chk=7/9) .nvchecker.toml 76 100% 74.22kB/s 0:00:00 76 100% 74.22kB/s 0:00:00 (xfr#2, to-chk=6/9) LICENSE 646 100% 630.86kB/s 0:00:00 646 100% 630.86kB/s 0:00:00 (xfr#3, to-chk=5/9) PKGBUILD 2,857 100% 2.72MB/s 0:00:00 2,857 100% 2.72MB/s 0:00:00 (xfr#4, to-chk=4/9) REUSE.toml 375 100% 366.21kB/s 0:00:00 375 100% 366.21kB/s 0:00:00 (xfr#5, to-chk=3/9) cloud-init-26.2-1.log 743 100% 725.59kB/s 0:00:00 743 100% 725.59kB/s 0:00:00 (xfr#6, to-chk=2/9) LICENSES/ LICENSES/0BSD.txt -> ../LICENSE sent 3,479 bytes received 216 bytes 1,478.00 bytes/sec total size is 5,763 speedup is 1.56 ==> Running pkgctl build --arch riscv64 on remote host... ==> WARNING: invalid architecture: riscv64 ==> Updating pacman database cache [?25l:: Synchronizing package databases... core downloading... extra downloading... multilib downloading... [?25h==> Building cloud-init -> repo: extra -> arch: riscv64 -> worker: felix-0 ==> Building cloud-init for [extra] (riscv64) [?25l:: Synchronizing package databases... core downloading... extra downloading... :: Starting full system upgrade... there is nothing to do [?25h==> Building in chroot for [extra] (riscv64)... ==> Synchronizing chroot copy [/var/lib/archbuild/extra-riscv64/root] -> [felix-0]...done ==> Making package: cloud-init 26.2-1 (Mon Aug 31 20:47:40 2026) ==> Retrieving sources...  -> Downloading cloud-init-26.2.tar.gz... % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00:01 0 100 169.3k 0 169.3k 0 0 69827 0 00:02 169.4k 100 1.88M 0 1.88M 0 0 561.4k 0 00:03 169.4k 100 1.88M 0 1.88M 0 0 561.3k 0 00:03 169.4k 100 1.88M 0 1.88M 0 0 561.3k 0 00:03 169.4k ==> Validating source files with sha512sums... cloud-init-26.2.tar.gz ... Passed ==> Validating source files with b2sums... cloud-init-26.2.tar.gz ... Passed ==> Making package: cloud-init 26.2-1 (Mon Aug 31 20:48:11 2026) ==> Checking runtime dependencies... ==> Installing missing dependencies... [?25l:: There are 2 providers available for dhcp-client: :: Repository extra 1) dhclient 2) dhcpcd Enter a number (default=1): resolving dependencies... :: There are 3 providers available for libxtables.so=12-64: :: Repository core 1) iptables 2) iptables-legacy 3) iptables-nft Enter a number (default=1): looking for conflicting packages... Package (36) New Version Net Change Download Size core/iproute2 7.2.0-1 2.93 MiB core/iptables 1:1.8.13-1 1.79 MiB core/libbpf 1.7.0-1 0.81 MiB extra/libbsd 0.12.2-2 0.32 MiB extra/libmd 1.2.0-1 0.12 MiB core/libmnl 1.0.5-2 0.03 MiB core/libnetfilter_conntrack 1.1.1-1 0.16 MiB core/libnfnetlink 1.0.2-2 0.04 MiB core/libnftnl 1.3.1-1 0.27 MiB core/libnl 3.12.0-1 1.91 MiB core/libpcap 1.10.6-1 0.65 MiB extra/libyaml 0.2.5-3 0.16 MiB extra/nftables 1:1.1.6-3 1.14 MiB extra/python-attrs 26.1.0-1 0.63 MiB extra/python-certifi 2026.07.22-1 0.02 MiB extra/python-charset-normalizer 3.5.1-1 0.63 MiB extra/python-idna 3.19-1 0.66 MiB extra/python-jsonpointer 3.1.1-1 0.04 MiB extra/python-jsonschema-specifications 2025.9.1-2 0.05 MiB extra/python-markupsafe 3.0.3-1 0.09 MiB extra/python-rpds-py 2026.6.3-1 0.73 MiB extra/python-urllib3 2.6.3-1 1.44 MiB extra/run-parts 5.24-1 0.05 MiB 0.03 MiB extra/dhclient 4.4.3.P1-4 2.78 MiB 1.23 MiB extra/openbsd-netcat 1.238_1-1 0.05 MiB 0.03 MiB extra/python-configobj 5.0.9-6 0.40 MiB extra/python-jinja 1:3.1.6-3.1 2.04 MiB extra/python-jsonpatch 1.33-6 0.11 MiB extra/python-jsonschema 4.26.0-1 1.39 MiB extra/python-netifaces 0.11.0-9 0.04 MiB extra/python-oauthlib 3.3.1-2 1.53 MiB extra/python-pyserial 3.5-8 0.69 MiB extra/python-referencing 0.37.0-3.1 0.41 MiB extra/python-requests 2.34.2-1 0.76 MiB extra/python-typing_extensions 4.16.0-1 0.53 MiB extra/python-yaml 6.0.3-2 0.93 MiB Total Download Size: 1.29 MiB Total Installed Size: 26.32 MiB :: Proceed with installation? [Y/n] :: Retrieving packages... dhclient-4.4.3.P1-4-riscv64 downloading... run-parts-5.24-1-riscv64 downloading... openbsd-netcat-1.238_1-1-riscv64 downloading... checking keyring... checking package integrity... loading package files... checking for file conflicts... :: Processing package changes... installing libmnl... installing libnfnetlink... installing libnetfilter_conntrack... installing libnftnl... installing libnl... installing libpcap... installing nftables... Optional dependencies for nftables python: Python bindings [installed] python-jsonschema: Python bindings [pending] installing iptables... installing libbpf... installing iproute2... Optional dependencies for iproute2 db: userspace arp daemon linux-atm: ATM support python: for routel [installed] installing run-parts... installing dhclient... installing libmd... installing libbsd... installing openbsd-netcat... installing python-configobj... installing python-markupsafe... installing python-jinja... Optional dependencies for python-jinja python-babel: for i18n support installing python-jsonpointer... installing python-jsonpatch... installing python-attrs... installing python-rpds-py... installing python-referencing... installing python-jsonschema-specifications... installing python-jsonschema... Optional dependencies for python-jsonschema python-isoduration: for duration format python-fqdn: for hostname format python-idna: for idn-hostname format [pending] python-jsonpointer: for json-pointer & relative-json-pointer format [installed] python-rfc3339-validator: for date-time format python-rfc3987: for iri, iri-reference, uri & uri-reference format python-uri-template: for uri-template format python-webcolors: for color format installing python-netifaces... installing python-oauthlib... Optional dependencies for python-oauthlib python-blinker: for signals support python-cryptography: for RSA and signed token support python-pyjwt: for signed token support installing python-pyserial... installing libyaml... installing python-yaml... installing python-charset-normalizer... installing python-idna... installing python-urllib3... Optional dependencies for python-urllib3 python-brotli: Brotli support python-brotlicffi: Brotli support python-h2: HTTP/2 support python-pysocks: SOCKS support installing python-certifi... installing python-requests... Optional dependencies for python-requests python-chardet: alternative character encoding library python-pysocks: SOCKS proxy support installing python-typing_extensions... :: Running post-transaction hooks... (1/2) Reloading system manager configuration... Skipped: Current root is not booted. (2/2) Arming ConditionNeedsUpdate... [?25h==> Checking buildtime dependencies... ==> Installing missing dependencies... [?25lresolving dependencies... looking for conflicting packages... Package (22) New Version Net Change Download Size extra/ninja 1.13.2-3 0.36 MiB extra/python-cffi 2.1.1-1 1.41 MiB extra/python-dbus 1.4.0-2 0.62 MiB extra/python-iniconfig 2.3.0-1 0.07 MiB extra/python-markdown-it-py 4.2.0-1 0.81 MiB extra/python-mdurl 0.1.2-9 0.06 MiB extra/python-packaging 26.3-1 1.58 MiB extra/python-pluggy 1.6.0-3.1 0.23 MiB extra/python-pycparser 3.00-1 0.71 MiB extra/python-pygments 2.20.0-1 15.36 MiB extra/python-rich 15.0.0-1 4.49 MiB extra/python-tqdm 4.70.0-1 0.64 MiB extra/bash-completion 2.18.0-1 0.99 MiB extra/meson 1.12.0-1 16.85 MiB extra/netplan 1.2.2-1 1.10 MiB 0.29 MiB core/procps-ng 4.0.7-1 2.56 MiB extra/python-httpretty 1.1.4-14 0.28 MiB 0.06 MiB extra/python-passlib 1.7.4-13 5.36 MiB 0.83 MiB extra/python-pyfakefs 6.2.0-1 4.89 MiB 0.54 MiB extra/python-pytest 1:9.1.0-1 4.95 MiB extra/python-pytest-mock 3.14.1-1 0.11 MiB extra/python-responses 0.26.3-1 0.32 MiB 0.07 MiB Total Download Size: 1.78 MiB Total Installed Size: 63.76 MiB :: Proceed with installation? [Y/n] :: Retrieving packages... python-passlib-1.7.4-13-any downloading... python-pyfakefs-6.2.0-1-any downloading... netplan-1.2.2-1-riscv64 downloading... python-responses-0.26.3-1-any downloading... python-httpretty-1.1.4-14-any downloading... checking keyring... checking package integrity... loading package files... checking for file conflicts... :: Processing package changes... installing bash-completion... installing ninja... installing python-tqdm... Optional dependencies for python-tqdm python-requests: telegram [installed] installing meson... installing python-dbus... Optional dependencies for python-dbus python-gobject: D-Bus services via PyGI installing python-pycparser... installing python-cffi... Optional dependencies for python-cffi python-setuptools: "limited api" version checking in cffi.setuptools_ext installing python-mdurl... installing python-markdown-it-py... Optional dependencies for python-markdown-it-py python-mdit_py_plugins: core plugins python-linkify-it-py: linkify extension installing python-pygments... installing python-rich... installing netplan... installing procps-ng... installing python-httpretty... installing python-passlib... Optional dependencies for python-passlib python-fastpbkdf2: accelerate PBKDF2-based hashes python-bcrypt: accelerate Bcrypt hashes python-scrypt: accelerate SCrypt hashes installing python-iniconfig... installing python-packaging... installing python-pluggy... installing python-pytest... installing python-pyfakefs... installing python-pytest-mock... installing python-responses... :: Running post-transaction hooks... (1/3) Reloading system manager configuration... Skipped: Current root is not booted. (2/3) Arming ConditionNeedsUpdate... (3/3) Reloading system bus configuration... Skipped: Current root is not booted. [?25h==> Retrieving sources...  -> Found cloud-init-26.2.tar.gz ==> WARNING: Skipping all source file integrity checks. ==> Extracting sources...  -> Extracting cloud-init-26.2.tar.gz with bsdtar ==> Starting build()... cloud-init-26.2 has no wrap files + exec meson setup --prefix /usr --libexecdir lib --sbindir bin --buildtype plain --auto-features enabled --wrap-mode nodownload -D b_pie=true -D python.bytecompile=1 cloud-init-26.2 build The Meson build system Version: 1.12.0 Source dir: /build/cloud-init/src/cloud-init-26.2 Build dir: /build/cloud-init/src/build Build type: native build Project name: cloud-init Project version: 26.2 Host machine cpu family: riscv64 Host machine cpu: riscv64 Program python3 found: YES (/usr/bin/python3) Program find found: YES (/usr/bin/find) Configuring meson_versions.py using configuration Found pkg-config: YES (/usr/bin/pkg-config) 3.0.6 Run-time dependency bash-completion found: YES 2.18.0 Run-time dependency systemd found: YES 261 Run-time dependency udev found: YES 261 Build targets in project: 5 cloud-init 26.2 User defined options auto_features : enabled b_pie : true buildtype : plain libexecdir : lib prefix : /usr python.bytecompile: 1 sbindir : bin wrap_mode : nodownload Found ninja-1.13.2 at /usr/bin/ninja Generating targets: 0%| | 0/5 eta ? Writing build.ninja: 0%| | 0/31 eta ? ninja: Entering directory `/build/cloud-init/src/build' [1/5] Generating cloud-init-main.service with a custom command [2/5] Generating cloud-init-generator with a custom command [3/5] Generating cloud-init-network.service with a custom command [4/5] Generating cloud.cfg with a custom command [5/5] Generating cloud-init-local.service with a custom command INFO: autodetecting backend as ninja INFO: calculating backend command to run: /usr/bin/ninja -C /build/cloud-init/src/build ==> Starting check()... ============================= test session starts ============================== platform linux -- Python 3.14.7, pytest-9.1.0, pluggy-1.6.0 -- /usr/bin/python cachedir: .pytest_cache rootdir: /build/cloud-init/src/cloud-init-26.2 configfile: tox.ini testpaths: tools, tests/unittests plugins: pyfakefs-6.2.0, mock-3.14.1 collecting ... collected 5756 items / 29 deselected / 5727 selected tests/unittests/analyze/test_boot.py::TestDistroChecker::test_blank_distro PASSED [ 0%] tests/unittests/analyze/test_boot.py::TestDistroChecker::test_freebsd_gentoo_cant_find PASSED [ 0%] tests/unittests/analyze/test_boot.py::TestDistroChecker::test_subp_fails PASSED [ 0%] tests/unittests/analyze/test_boot.py::TestSystemCtlReader::test_systemctl_invalid PASSED [ 0%] tests/unittests/analyze/test_boot.py::TestSystemCtlReader::test_systemctl_works_correctly_threshold PASSED [ 0%] tests/unittests/analyze/test_boot.py::TestSystemCtlReader::test_systemctl_succeed_zero PASSED [ 0%] tests/unittests/analyze/test_boot.py::TestSystemCtlReader::test_systemctl_succeed_human_readable_date PASSED [ 0%] tests/unittests/analyze/test_boot.py::TestSystemCtlReader::test_systemctl_succeed_distinct PASSED [ 0%] tests/unittests/analyze/test_boot.py::TestSystemCtlReader::test_systemctl_epoch_not_error[epoch_not_splittable] PASSED [ 0%] tests/unittests/analyze/test_boot.py::TestSystemCtlReader::test_systemctl_epoch_not_error[cannot_convert_epoch_to_float] PASSED [ 0%] tests/unittests/analyze/test_boot.py::TestAnalyzeBoot::test_boot_invalid_distro PASSED [ 0%] tests/unittests/analyze/test_boot.py::TestAnalyzeBoot::test_container_no_ci_log_line PASSED [ 0%] tests/unittests/analyze/test_boot.py::TestAnalyzeBoot::test_container_ci_log_line PASSED [ 0%] tests/unittests/analyze/test_boot.py::TestAnalyzeBoot::test_gather_timestamps_using_systemd[True-expected_first_2_constructors_call_list0-m_returns_of_convert_call0-expected_return0] PASSED [ 0%] tests/unittests/analyze/test_boot.py::TestAnalyzeBoot::test_gather_timestamps_using_systemd[False-expected_first_2_constructors_call_list1-m_returns_of_convert_call1-expected_return1] PASSED [ 0%] tests/unittests/analyze/test_boot.py::TestAnalyzeBoot::test_gather_timestamps_using_systemd_with_SystemctlReader_exception PASSED [ 0%] tests/unittests/analyze/test_dump.py::TestParseTimestamp::test_parse_timestamp_handles_cloud_init_default_format PASSED [ 0%] tests/unittests/analyze/test_dump.py::TestParseTimestamp::test_parse_timestamp_handles_syslog_adding_year PASSED [ 0%] tests/unittests/analyze/test_dump.py::TestParseTimestamp::test_parse_timestamp_handles_journalctl_format_adding_year PASSED [ 0%] tests/unittests/analyze/test_dump.py::TestParseTimestamp::test_parse_unexpected_timestamp_format_with_date_command PASSED [ 0%] tests/unittests/analyze/test_dump.py::TestParseTimestamp::test_parse_timestamp_round_trip PASSED [ 0%] tests/unittests/analyze/test_dump.py::TestParseTimestamp::test_parse_timestamp_handles_explicit_timezone PASSED [ 0%] tests/unittests/analyze/test_dump.py::TestParseTimestamp::test_parse_timestamp_from_date_warns_on_gnu_date_fallback PASSED [ 0%] tests/unittests/analyze/test_dump.py::TestParseTimestamp::test_parse_timestamp_from_date_warns_on_gdate_fallback PASSED [ 0%] tests/unittests/analyze/test_dump.py::TestParseTimestamp::test_parse_timestamp_from_date_no_warning_when_no_gnu_date PASSED [ 0%] tests/unittests/analyze/test_dump.py::TestParseCILogLine::test_parse_logline_returns_none_without_separators PASSED [ 0%] tests/unittests/analyze/test_dump.py::TestParseCILogLine::test_parse_logline_returns_event_for_cloud_init_logs PASSED [ 0%] tests/unittests/analyze/test_dump.py::TestParseCILogLine::test_parse_logline_returns_event_for_journalctl_logs PASSED [ 0%] tests/unittests/analyze/test_dump.py::TestParseCILogLine::test_parse_logline_returns_event_for_finish_events PASSED [ 0%] tests/unittests/analyze/test_dump.py::TestParseCILogLine::test_parse_logline_returns_event_for_amazon_linux_2_line PASSED [ 0%] tests/unittests/analyze/test_dump.py::TestDumpEvents::test_dump_events_with_rawdata PASSED [ 0%] tests/unittests/analyze/test_dump.py::TestDumpEvents::test_dump_events_with_cisource PASSED [ 0%] tests/unittests/analyze/test_show.py::TestAnalyzeShow::test_empty_logfile PASSED [ 0%] tests/unittests/cloudinit/test_lifecycle.py::TestLogWithDowngradableLevel::test_log_with_downgradable_level[9-40] PASSED [ 0%] tests/unittests/cloudinit/test_lifecycle.py::TestLogWithDowngradableLevel::test_log_with_downgradable_level[11-10] PASSED [ 0%] tests/unittests/cmd/devel/test_hotplug_hook.py::TestUnsupportedActions::test_unsupported_subsystem PASSED [ 0%] tests/unittests/cmd/devel/test_hotplug_hook.py::TestUnsupportedActions::test_unsupported_udevaction PASSED [ 0%] tests/unittests/cmd/devel/test_hotplug_hook.py::TestHotplug::test_succcessful_add PASSED [ 0%] tests/unittests/cmd/devel/test_hotplug_hook.py::TestHotplug::test_skip_detected[True] PASSED [ 0%] tests/unittests/cmd/devel/test_hotplug_hook.py::TestHotplug::test_skip_detected[False] PASSED [ 0%] tests/unittests/cmd/devel/test_hotplug_hook.py::TestHotplug::test_update_event_disabled PASSED [ 0%] tests/unittests/cmd/devel/test_hotplug_hook.py::TestHotplug::test_update_metadata_failed PASSED [ 0%] tests/unittests/cmd/devel/test_hotplug_hook.py::TestHotplug::test_detect_hotplugged_device_not_detected_on_add PASSED [ 0%] tests/unittests/cmd/devel/test_hotplug_hook.py::TestHotplug::test_apply_failed_on_add PASSED [ 0%] tests/unittests/cmd/devel/test_hotplug_hook.py::TestHotplug::test_retry PASSED [ 0%] tests/unittests/cmd/devel/test_hotplug_hook.py::TestEnableHotplug::test_enabling PASSED [ 0%] tests/unittests/cmd/devel/test_hotplug_hook.py::TestEnableHotplug::test_hotplug_not_supported_in_ds[supported_events0] PASSED [ 0%] tests/unittests/cmd/devel/test_hotplug_hook.py::TestEnableHotplug::test_hotplug_not_supported_in_ds[supported_events1] PASSED [ 0%] tests/unittests/cmd/devel/test_hotplug_hook.py::TestEnableHotplug::test_hotplug_already_enabled_in_file PASSED [ 0%] tests/unittests/cmd/devel/test_init.py::TestReadCfgPaths::test_read_cfg_paths_fetches_cached_datasource PASSED [ 0%] tests/unittests/cmd/devel/test_logs.py::TestCollectLogs::test_collect_logs_requires_root_user PASSED [ 0%] tests/unittests/cmd/devel/test_logs.py::TestCollectLogs::test_collect_logs_end_to_end PASSED [ 0%] tests/unittests/cmd/devel/test_logs.py::TestCollectLogs::test_logs_and_installer_ignore_sensitive_flag PASSED [ 0%] tests/unittests/cmd/devel/test_logs.py::TestCollectLogs::test_root_read_only_not_collected_on_redact PASSED [ 0%] tests/unittests/cmd/devel/test_logs.py::TestCollectLogs::test_write_command_output_to_file[cmd0-cloud-init? more like cloud-innit!\n-cloud-init? more like cloud-innit!\n] PASSED [ 0%] tests/unittests/cmd/devel/test_logs.py::TestCollectLogs::test_write_command_output_to_file[cmd1-Unexpected error while running command.\nCommand: ['sh', '-c', 'echo test 1>&2; exit 42']\nExit code: 42\nReason: -\nStdout: \nStderr: test-None] PASSED [ 0%] tests/unittests/cmd/devel/test_logs.py::TestCollectLogs::test_stream_command_output_to_file[cmd0-cloud-init, shmoud-init\n] PASSED [ 0%] tests/unittests/cmd/devel/test_logs.py::TestCollectLogs::test_stream_command_output_to_file[cmd1-test\n] PASSED [ 1%] tests/unittests/cmd/devel/test_logs.py::TestCollectInstallerLogs::test_include_installer_logs_when_present[no_files_include_userdata] PASSED [ 1%] tests/unittests/cmd/devel/test_logs.py::TestCollectInstallerLogs::test_include_installer_logs_when_present[no_files_exclude_userdata] PASSED [ 1%] tests/unittests/cmd/devel/test_logs.py::TestCollectInstallerLogs::test_include_installer_logs_when_present[files_and_dirs_include_userdata] PASSED [ 1%] tests/unittests/cmd/devel/test_logs.py::TestCollectInstallerLogs::test_include_installer_logs_when_present[files_and_dirs_exclude_userdata] PASSED [ 1%] tests/unittests/cmd/devel/test_net_convert.py::TestNetConvert::test_argparse_error_on_missing_args[cmdargs0] PASSED [ 1%] tests/unittests/cmd/devel/test_net_convert.py::TestNetConvert::test_argparse_error_on_missing_args[cmdargs1] PASSED [ 1%] tests/unittests/cmd/devel/test_net_convert.py::TestNetConvert::test_argparse_error_on_missing_args[cmdargs2] PASSED [ 1%] tests/unittests/cmd/devel/test_net_convert.py::TestNetConvert::test_argparse_error_on_missing_args[cmdargs3] PASSED [ 1%] tests/unittests/cmd/devel/test_net_convert.py::TestNetConvert::test_argparse_error_on_missing_args[cmdargs4] PASSED [ 1%] tests/unittests/cmd/devel/test_net_convert.py::TestNetConvert::test_convert_output_kind_artifacts[netplan-outfile_content0-False] PASSED [ 1%] tests/unittests/cmd/devel/test_net_convert.py::TestNetConvert::test_convert_output_kind_artifacts[netplan-outfile_content0-True] PASSED [ 1%] tests/unittests/cmd/devel/test_net_convert.py::TestNetConvert::test_convert_output_kind_artifacts[eni-outfile_content1-False] PASSED [ 1%] tests/unittests/cmd/devel/test_net_convert.py::TestNetConvert::test_convert_output_kind_artifacts[eni-outfile_content1-True] PASSED [ 1%] tests/unittests/cmd/devel/test_net_convert.py::TestNetConvert::test_convert_output_kind_artifacts[networkd-outfile_content2-False] PASSED [ 1%] tests/unittests/cmd/devel/test_net_convert.py::TestNetConvert::test_convert_output_kind_artifacts[networkd-outfile_content2-True] PASSED [ 1%] tests/unittests/cmd/devel/test_net_convert.py::TestNetConvert::test_convert_output_kind_artifacts[sysconfig-outfile_content3-False] PASSED [ 1%] tests/unittests/cmd/devel/test_net_convert.py::TestNetConvert::test_convert_output_kind_artifacts[sysconfig-outfile_content3-True] PASSED [ 1%] tests/unittests/cmd/devel/test_net_convert.py::TestNetConvert::test_convert_output_kind_artifacts[network-manager-outfile_content4-False] PASSED [ 1%] tests/unittests/cmd/devel/test_net_convert.py::TestNetConvert::test_convert_output_kind_artifacts[network-manager-outfile_content4-True] PASSED [ 1%] tests/unittests/cmd/devel/test_net_convert.py::TestNetConvert::test_convert_netplan_passthrough[False] PASSED [ 1%] tests/unittests/cmd/devel/test_net_convert.py::TestNetConvert::test_convert_netplan_passthrough[True] PASSED [ 1%] tests/unittests/cmd/devel/test_render.py::TestRender::test_error_on_missing_user_data PASSED [ 1%] tests/unittests/cmd/devel/test_render.py::TestRender::test_error_on_missing_instance_data PASSED [ 1%] tests/unittests/cmd/devel/test_render.py::TestRender::test_default_instance_data PASSED [ 1%] tests/unittests/cmd/devel/test_render.py::TestRender::test_root_fallback_from_sensitive_instance_data PASSED [ 1%] tests/unittests/cmd/devel/test_render.py::TestRender::test_root_uses_sensitive_instance_data PASSED [ 1%] tests/unittests/cmd/devel/test_render.py::TestRender::test_renders_instance_data_vars_in_template PASSED [ 1%] tests/unittests/cmd/devel/test_render.py::TestRender::test_render_warns_and_gives_up_on_invalid_jinja_operation PASSED [ 1%] tests/unittests/cmd/devel/test_render.py::TestRender::test_jinja_load_error PASSED [ 1%] tests/unittests/cmd/devel/test_render.py::TestRender::test_not_jinja_error PASSED [ 1%] tests/unittests/cmd/devel/test_render.py::TestRender::test_no_user_data PASSED [ 1%] tests/unittests/cmd/devel/test_render.py::TestRender::test_invalid_jinja_syntax PASSED [ 1%] tests/unittests/cmd/test_clean.py::TestClean::test_remove_artifacts_removes_logs PASSED [ 1%] tests/unittests/cmd/test_clean.py::TestClean::test_remove_net_conf PASSED [ 1%] tests/unittests/cmd/test_clean.py::TestClean::test_remove_ssh_conf PASSED [ 1%] tests/unittests/cmd/test_clean.py::TestClean::test_remove_all_conf PASSED [ 1%] tests/unittests/cmd/test_clean.py::TestClean::test_keep_net_conf PASSED [ 1%] tests/unittests/cmd/test_clean.py::TestClean::test_clean_fstab PASSED [ 1%] tests/unittests/cmd/test_clean.py::TestClean::test_clean_fstab_for_all PASSED [ 1%] tests/unittests/cmd/test_clean.py::TestClean::test_clean_datasource_conf_without_cache PASSED [ 1%] tests/unittests/cmd/test_clean.py::TestClean::test_clean_datasource_conf_with_cache PASSED [ 1%] tests/unittests/cmd/test_clean.py::TestClean::test_remove_artifacts_runparts_clean_d PASSED [ 1%] tests/unittests/cmd/test_clean.py::TestClean::test_remove_artifacts_preserves_logs PASSED [ 1%] tests/unittests/cmd/test_clean.py::TestClean::test_remove_artifacts_removes_unlinks_symlinks PASSED [ 1%] tests/unittests/cmd/test_clean.py::TestClean::test_remove_artifacts_removes_artifacts_skipping_seed PASSED [ 1%] tests/unittests/cmd/test_clean.py::TestClean::test_remove_artifacts_removes_artifacts_removes_seed PASSED [ 1%] tests/unittests/cmd/test_clean.py::TestClean::test_remove_artifacts_returns_one_on_errors PASSED [ 1%] tests/unittests/cmd/test_clean.py::TestClean::test_handle_clean_args_reboots PASSED [ 1%] tests/unittests/cmd/test_clean.py::TestClean::test_handle_clean_args_removed_machine_id[machine_id_on_systemd_uninitialized] PASSED [ 1%] tests/unittests/cmd/test_clean.py::TestClean::test_handle_clean_args_removed_machine_id[machine_id_non_systemd_removes_file] PASSED [ 1%] tests/unittests/cmd/test_clean.py::TestClean::test_handle_clean_args_removed_machine_id[no_machine_id_param_file_remains] PASSED [ 1%] tests/unittests/cmd/test_clean.py::TestClean::test_status_main PASSED [ 1%] tests/unittests/cmd/test_clean.py::TestClean::test_remove_artifacts_preserves_device_logs[8192] PASSED [ 1%] tests/unittests/cmd/test_clean.py::TestClean::test_remove_artifacts_preserves_device_logs[24576] PASSED [ 1%] tests/unittests/cmd/test_cloud_id.py::TestCloudId::test_cloud_id_arg_parser_defaults PASSED [ 1%] tests/unittests/cmd/test_cloud_id.py::TestCloudId::test_cloud_id_arg_parse_overrides PASSED [ 1%] tests/unittests/cmd/test_cloud_id.py::TestCloudId::test_cloud_id_missing_instance_data_json PASSED [ 2%] tests/unittests/cmd/test_cloud_id.py::TestCloudId::test_cloud_id_non_json_instance_data PASSED [ 2%] tests/unittests/cmd/test_cloud_id.py::TestCloudId::test_cloud_id_from_cloud_name_in_instance_data PASSED [ 2%] tests/unittests/cmd/test_cloud_id.py::TestCloudId::test_cloud_id_long_name_from_instance_data PASSED [ 2%] tests/unittests/cmd/test_cloud_id.py::TestCloudId::test_cloud_id_lookup_from_instance_data_region PASSED [ 2%] tests/unittests/cmd/test_cloud_id.py::TestCloudId::test_cloud_id_lookup_json_instance_data_adds_cloud_id_to_json PASSED [ 2%] tests/unittests/cmd/test_cloud_id.py::TestCloudId::test_cloud_id_unique_exit_codes_for_status[details0-2] PASSED [ 2%] tests/unittests/cmd/test_cloud_id.py::TestCloudId::test_cloud_id_unique_exit_codes_for_status[details1-3] PASSED [ 2%] tests/unittests/cmd/test_cloud_id.py::TestCloudId::test_cloud_id_unique_exit_codes_for_status[details2-0] PASSED [ 2%] tests/unittests/cmd/test_cloud_id.py::TestCloudId::test_cloud_id_unique_exit_codes_for_status[details3-0] PASSED [ 2%] tests/unittests/cmd/test_main.py::TestMain::test_main_init_run_net_runs_modules[write_files_from_base_config] PASSED [ 2%] tests/unittests/cmd/test_main.py::TestMain::test_main_init_run_net_runs_modules[write_files_from_supplemental_file_arg] PASSED [ 2%] tests/unittests/cmd/test_main.py::TestMain::test_main_init_run_net_calls_set_hostname_when_metadata_present PASSED [ 2%] tests/unittests/cmd/test_main.py::TestMain::test_main_sys_argv PASSED [ 2%] tests/unittests/cmd/test_main.py::TestMain::test_main_sys_argv_missing_subcommand PASSED [ 2%] tests/unittests/cmd/test_main.py::TestMain::test_should_wait_on_network[None-None-True] PASSED [ 2%] tests/unittests/cmd/test_main.py::TestMain::test_should_wait_on_network[None-#!/bin/bash\n - echo hello-True] PASSED [ 2%] tests/unittests/cmd/test_main.py::TestMain::test_should_wait_on_network[ds2--False] PASSED [ 2%] tests/unittests/cmd/test_main.py::TestMain::test_should_wait_on_network[ds3-#cloud-config\nbootcmd:\n - echo hello-True] PASSED [ 2%] tests/unittests/cmd/test_main.py::TestMain::test_should_wait_on_network[ds4-#cloud-config\nbootcmd:\n - echo hello-True] PASSED [ 2%] tests/unittests/cmd/test_main.py::TestMain::test_should_wait_on_network[ds5-#cloud-config\nwrite_files:\n- source:\n uri: http://example.com\n headers:\n Authorization: Basic stuff\n User-Agent: me\n-True] PASSED [ 2%] tests/unittests/cmd/test_main.py::TestMain::test_should_wait_on_network[ds6-#cloud-config\nwrite_files:\n- source:\n uri: /tmp/hi\n headers:\n Authorization: Basic stuff\n User-Agent: me\n-False] PASSED [ 2%] tests/unittests/cmd/test_main.py::TestMain::test_should_wait_on_network[ds7-#cloud-config\nwrite_files:\n- content: hello\n encoding: b64\n owner: root:root\n path: /etc/sysconfig/selinux\n permissions: '0644'\n-False] PASSED [ 2%] tests/unittests/cmd/test_main.py::TestMain::test_should_wait_on_network[ds8-#cloud-config\nrandom_seed:\n command: true-True] PASSED [ 2%] tests/unittests/cmd/test_main.py::TestMain::test_should_wait_on_network[ds9-#cloud-config\nrandom_seed:\n data: 4\n encoding: raw\n file: /dev/urandom\n-False] PASSED [ 2%] tests/unittests/cmd/test_main.py::TestMain::test_should_wait_on_network[ds10-#cloud-config\nmounts:\n - [ /dev/sdb, /mnt, ext4 ]-True] PASSED [ 2%] tests/unittests/cmd/test_main.py::TestMain::test_should_wait_on_network[ds11-#cloud-config\nbootcmd:\necho hello-True] PASSED [ 2%] tests/unittests/cmd/test_main.py::TestMain::test_should_wait_on_network[ds12-#cloud-config-archive\n- type: "text/cloud-boothook"\n content: |\n #!/bin/sh\n echo "this is from a boothook." > /var/tmp/boothook.txt\n- type: "text/cloud-config"\n content: |\n bootcmd:\n - echo "this is from a cloud-config." > /var/tmp/bootcmd.txt\n-True] PASSED [ 2%] tests/unittests/cmd/test_main.py::TestMain::test_should_wait_on_network[ds13-#!/bin/bash\n - echo hello-True] PASSED [ 2%] tests/unittests/cmd/test_main.py::TestMain::test_should_wait_on_network[ds14-RANDOM100-True] PASSED [ 2%] tests/unittests/cmd/test_main.py::TestMain::test_should_wait_on_network[ds15-RANDOM5-True] PASSED [ 2%] tests/unittests/cmd/test_main.py::TestMain::test_distro_wait_for_network[ubuntu-True-True] PASSED [ 2%] tests/unittests/cmd/test_main.py::TestMain::test_distro_wait_for_network[ubuntu-False-False] PASSED [ 2%] tests/unittests/cmd/test_main.py::TestMain::test_distro_wait_for_network[debian-True-False] PASSED [ 2%] tests/unittests/cmd/test_main.py::TestMain::test_distro_wait_for_network[debian-False-False] PASSED [ 2%] tests/unittests/cmd/test_main.py::TestMain::test_distro_wait_for_network[centos-True-False] PASSED [ 2%] tests/unittests/cmd/test_main.py::TestMain::test_distro_wait_for_network[rhel-False-False] PASSED [ 2%] tests/unittests/cmd/test_main.py::TestMain::test_distro_wait_for_network[fedora-True-False] PASSED [ 2%] tests/unittests/cmd/test_main.py::TestMain::test_distro_wait_for_network[suse-False-False] PASSED [ 2%] tests/unittests/cmd/test_main.py::TestMain::test_distro_wait_for_network[gentoo-True-False] PASSED [ 2%] tests/unittests/cmd/test_main.py::TestMain::test_distro_wait_for_network[arch-False-False] PASSED [ 2%] tests/unittests/cmd/test_main.py::TestMain::test_distro_wait_for_network[alpine-False-False] PASSED [ 2%] tests/unittests/cmd/test_main.py::TestShouldBringUpInterfaces::test_should_bring_up_interfaces[True-True-False] PASSED [ 2%] tests/unittests/cmd/test_main.py::TestShouldBringUpInterfaces::test_should_bring_up_interfaces[True-False-False] PASSED [ 2%] tests/unittests/cmd/test_main.py::TestShouldBringUpInterfaces::test_should_bring_up_interfaces[False-True-False] PASSED [ 2%] tests/unittests/cmd/test_main.py::TestShouldBringUpInterfaces::test_should_bring_up_interfaces[False-False-True] PASSED [ 2%] tests/unittests/cmd/test_query.py::TestQuery::test_handle_args_error_on_missing_param PASSED [ 2%] tests/unittests/cmd/test_query.py::TestQuery::test_handle_args_error_on_invalid_varname_paths[{"v1": {"key-2": "value-2"}}-v1.absent_leaf-instance-data 'v1' has no 'absent_leaf'\n] PASSED [ 2%] tests/unittests/cmd/test_query.py::TestQuery::test_handle_args_error_on_invalid_varname_paths[{"v1": {"key-2": "value-2"}}-absent_key-Undefined instance-data key 'absent_key'\n] PASSED [ 2%] tests/unittests/cmd/test_query.py::TestQuery::test_handle_args_error_on_missing_instance_data PASSED [ 2%] tests/unittests/cmd/test_query.py::TestQuery::test_handle_args_error_when_no_read_permission_instance_data PASSED [ 2%] tests/unittests/cmd/test_query.py::TestQuery::test_handle_args_error_when_no_read_permission_init_cfg[exception0] PASSED [ 2%] tests/unittests/cmd/test_query.py::TestQuery::test_handle_args_error_when_no_read_permission_init_cfg[exception1] PASSED [ 2%] tests/unittests/cmd/test_query.py::TestQuery::test_handle_args_error_when_no_read_permission_init_cfg[exception2] PASSED [ 2%] tests/unittests/cmd/test_query.py::TestQuery::test_handle_args_defaults_instance_data PASSED [ 2%] tests/unittests/cmd/test_query.py::TestQuery::test_handle_args_root_fallsback_to_instance_data PASSED [ 2%] tests/unittests/cmd/test_query.py::TestQuery::test_handle_args_root_processes_user_data[plain-text] PASSED [ 2%] tests/unittests/cmd/test_query.py::TestQuery::test_handle_args_root_processes_user_data[bytes] PASSED [ 3%] tests/unittests/cmd/test_query.py::TestQuery::test_handle_args_root_processes_user_data[gzip-bytes] PASSED [ 3%] tests/unittests/cmd/test_query.py::TestQuery::test_handle_args_root_processes_user_data[gzip-encoded-bytes] PASSED [ 3%] tests/unittests/cmd/test_query.py::TestQuery::test_handle_args_user_vendor_data_defaults_to_instance_link PASSED [ 3%] tests/unittests/cmd/test_query.py::TestQuery::test_handle_args_root_uses_instance_sensitive_data PASSED [ 3%] tests/unittests/cmd/test_query.py::TestQuery::test_handle_args_dumps_all_instance_data PASSED [ 3%] tests/unittests/cmd/test_query.py::TestQuery::test_handle_args_returns_top_level_varname PASSED [ 3%] tests/unittests/cmd/test_query.py::TestQuery::test_handle_args_returns_nested_varname[{"v1": {"key-2": "value-2"}, "my-var": "it worked"}-v1.key_2-value-2\n] PASSED [ 3%] tests/unittests/cmd/test_query.py::TestQuery::test_handle_args_returns_nested_varname[{"v1": {"something-hyphenated": {"no.underscores":"x", "no-alias": "y"}}, "my-var": "it worked"}-v1.something_hyphenated-{\n "no-alias": "y",\n "no.underscores": "x"\n}\n] PASSED [ 3%] tests/unittests/cmd/test_query.py::TestQuery::test_handle_args_returns_standardized_vars_to_top_level_aliases PASSED [ 3%] tests/unittests/cmd/test_query.py::TestQuery::test_handle_args_list_keys_sorts_top_level_keys_when_no_varname PASSED [ 3%] tests/unittests/cmd/test_query.py::TestQuery::test_handle_args_list_keys_sorts_nested_keys_when_varname PASSED [ 3%] tests/unittests/cmd/test_query.py::TestQuery::test_handle_args_list_keys_errors_when_varname_is_not_a_dict PASSED [ 3%] tests/unittests/cmd/test_query.py::TestQuery::test_handle_args_formats_jinja_successfully[True] PASSED [ 3%] tests/unittests/cmd/test_query.py::TestQuery::test_handle_args_formats_jinja_successfully[False] PASSED [ 3%] tests/unittests/cmd/test_query.py::TestQuery::test_handle_args_invalid_jinja_exception PASSED [ 3%] tests/unittests/cmd/test_status.py::TestStatus::test_get_status_details_ds_none PASSED [ 3%] tests/unittests/cmd/test_status.py::TestStatus::test_get_status_systemd_failure PASSED [ 3%] tests/unittests/cmd/test_status.py::TestStatus::test_get_bootstatus[false_on_sysvinit] PASSED [ 3%] tests/unittests/cmd/test_status.py::TestStatus::test_get_bootstatus[true_on_disable_file] PASSED [ 3%] tests/unittests/cmd/test_status.py::TestStatus::test_get_bootstatus[false_on_kernel_cmdline_enable] PASSED [ 3%] tests/unittests/cmd/test_status.py::TestStatus::test_get_bootstatus[true_on_kernel_cmdline] PASSED [ 3%] tests/unittests/cmd/test_status.py::TestStatus::test_get_bootstatus[true_when_generator_disables] PASSED [ 3%] tests/unittests/cmd/test_status.py::TestStatus::test_get_bootstatus[false_when_enabled_in_systemd] PASSED [ 3%] tests/unittests/cmd/test_status.py::TestStatus::test_status_returns_not_run PASSED [ 3%] tests/unittests/cmd/test_status.py::TestStatus::test_status_returns_disabled_long_on_presence_of_disable_file PASSED [ 3%] tests/unittests/cmd/test_status.py::TestStatus::test_status_output[running_on_no_results_json] PASSED [ 3%] tests/unittests/cmd/test_status.py::TestStatus::test_status_output[done] PASSED [ 3%] tests/unittests/cmd/test_status.py::TestStatus::test_status_output[returns_done_long] PASSED [ 3%] tests/unittests/cmd/test_status.py::TestStatus::test_status_output[on_errors] PASSED [ 3%] tests/unittests/cmd/test_status.py::TestStatus::test_status_output[on_errors_long] PASSED [ 3%] tests/unittests/cmd/test_status.py::TestStatus::test_status_output[running_long_format] PASSED [ 3%] tests/unittests/cmd/test_status.py::TestStatus::test_status_output[running_yaml_format] PASSED [ 3%] tests/unittests/cmd/test_status.py::TestStatus::test_status_output[running_json_format] PASSED [ 3%] tests/unittests/cmd/test_status.py::TestStatus::test_status_output[running_json_format_with_errors] PASSED [ 3%] tests/unittests/cmd/test_status.py::TestStatus::test_status_output[running_json_format_with_recoverable_errors] PASSED [ 3%] tests/unittests/cmd/test_status.py::TestStatus::test_status_wait_blocks_until_done PASSED [ 3%] tests/unittests/cmd/test_status.py::TestStatus::test_status_wait_blocks_until_error PASSED [ 3%] tests/unittests/cmd/test_status.py::TestStatus::test_status_main PASSED [ 3%] tests/unittests/cmd/test_status.py::TestSystemdFailed::test_systemd_failed[activating-enabled-start-123-False] PASSED [ 3%] tests/unittests/cmd/test_status.py::TestSystemdFailed::test_systemd_failed[active-enabled-runtime-exited-0-False] PASSED [ 3%] tests/unittests/cmd/test_status.py::TestSystemdFailed::test_systemd_failed[active-enabled-exited-0-False] PASSED [ 3%] tests/unittests/cmd/test_status.py::TestSystemdFailed::test_systemd_failed[active-enabled-running-345-False] PASSED [ 3%] tests/unittests/cmd/test_status.py::TestSystemdFailed::test_systemd_failed[active-enabled-running-0-False] PASSED [ 3%] tests/unittests/cmd/test_status.py::TestSystemdFailed::test_systemd_failed[inactive-static-dead-123-False] PASSED [ 3%] tests/unittests/cmd/test_status.py::TestSystemdFailed::test_systemd_failed[reloading-enabled-start-123-False] PASSED [ 3%] tests/unittests/cmd/test_status.py::TestSystemdFailed::test_systemd_failed[deactivating-enabled-runtime-any-123-False] PASSED [ 3%] tests/unittests/cmd/test_status.py::TestSystemdFailed::test_systemd_failed[failed-static-failed-0-True] PASSED [ 3%] tests/unittests/cmd/test_status.py::TestSystemdFailed::test_systemd_failed[activating-linked-start-0-True] PASSED [ 3%] tests/unittests/cmd/test_status.py::TestSystemdFailed::test_systemd_failed[active-linked-runtime-exited-0-True] PASSED [ 3%] tests/unittests/cmd/test_status.py::TestSystemdFailed::test_systemd_failed[inactive-masked-dead-0-True] PASSED [ 3%] tests/unittests/cmd/test_status.py::TestSystemdFailed::test_systemd_failed[reloading-masked-runtime-start-0-True] PASSED [ 3%] tests/unittests/cmd/test_status.py::TestSystemdFailed::test_systemd_failed[deactivating-disabled-any-0-True] PASSED [ 3%] tests/unittests/cmd/test_status.py::TestSystemdFailed::test_systemd_failed[failed-invalid-failed-0-True] PASSED [ 3%] tests/unittests/cmd/test_status.py::TestSystemdFailed::test_retry PASSED [ 3%] tests/unittests/cmd/test_status.py::TestSystemdFailed::test_retry_no_wait PASSED [ 3%] tests/unittests/cmd/test_status.py::TestQuerySystemctl::test_query_systemctl PASSED [ 3%] tests/unittests/cmd/test_status.py::TestQuerySystemctl::test_query_systemctl_with_exception PASSED [ 3%] tests/unittests/cmd/test_status.py::TestQuerySystemctl::test_query_systemctl_wait_with_exception PASSED [ 4%] tests/unittests/config/test_apt_conf_v1.py::TestAptProxyConfig::test_apt_proxy_written_variants[cfg0] PASSED [ 4%] tests/unittests/config/test_apt_conf_v1.py::TestAptProxyConfig::test_apt_proxy_written_variants[cfg1] PASSED [ 4%] tests/unittests/config/test_apt_conf_v1.py::TestAptProxyConfig::test_apt_all_proxy_written PASSED [ 4%] tests/unittests/config/test_apt_conf_v1.py::TestAptProxyConfig::test_proxy_deleted PASSED [ 4%] tests/unittests/config/test_apt_conf_v1.py::TestAptProxyConfig::test_proxy_replaced PASSED [ 4%] tests/unittests/config/test_apt_conf_v1.py::TestAptProxyConfig::test_config_written PASSED [ 4%] tests/unittests/config/test_apt_conf_v1.py::TestAptProxyConfig::test_config_replaced PASSED [ 4%] tests/unittests/config/test_apt_conf_v1.py::TestAptProxyConfig::test_config_deleted PASSED [ 4%] tests/unittests/config/test_apt_conf_v1.py::TestConversion::test_convert_with_apt_mirror_as_empty_string PASSED [ 4%] tests/unittests/config/test_apt_conf_v1.py::TestConversion::test_convert_with_apt_mirror PASSED [ 4%] tests/unittests/config/test_apt_conf_v1.py::TestConversion::test_no_old_content PASSED [ 4%] tests/unittests/config/test_apt_configure_sources_list_v1.py::TestAptSourceConfigSourceList::test_apt_v1_source_list_by_distro[ubuntu-http://archive.ubuntu.com/ubuntu/] PASSED [ 4%] tests/unittests/config/test_apt_configure_sources_list_v1.py::TestAptSourceConfigSourceList::test_apt_v1_source_list_by_distro[debian-http://httpredir.debian.org/debian/] PASSED [ 4%] tests/unittests/config/test_apt_configure_sources_list_v1.py::TestAptSourceConfigSourceList::test_apt_v1_srcl_distro_mirrorfail[ubuntu-mirrorlist0-http://archive.ubuntu.com/ubuntu/] PASSED [ 4%] tests/unittests/config/test_apt_configure_sources_list_v1.py::TestAptSourceConfigSourceList::test_apt_v1_srcl_distro_mirrorfail[debian-mirrorlist1-http://httpredir.debian.org/debian/] PASSED [ 4%] tests/unittests/config/test_apt_configure_sources_list_v1.py::TestAptSourceConfigSourceList::test_apt_v1_srcl_custom[deb822_and_deb822_sources_list_writes_deb822_source_file] PASSED [ 4%] tests/unittests/config/test_apt_configure_sources_list_v1.py::TestAptSourceConfigSourceList::test_apt_v1_srcl_custom[deb822_and_non_deb822_sources_list_writes_apt_list_file] PASSED [ 4%] tests/unittests/config/test_apt_configure_sources_list_v1.py::TestAptSourceConfigSourceList::test_apt_v1_srcl_custom[nodeb822_and_nondeb822_sources_list_writes_list_file] PASSED [ 4%] tests/unittests/config/test_apt_configure_sources_list_v1.py::TestAptSourceConfigSourceList::test_apt_v1_srcl_custom[nodeb822_and_deb822_sources_list_writes_sources_file] PASSED [ 4%] tests/unittests/config/test_apt_configure_sources_list_v3.py::TestAptSourceConfigSourceList::test_apt_v3_empty_cfg_source_list_by_distro[ubuntu-True] PASSED [ 4%] tests/unittests/config/test_apt_configure_sources_list_v3.py::TestAptSourceConfigSourceList::test_apt_v3_empty_cfg_source_list_by_distro[debian-True] PASSED [ 4%] tests/unittests/config/test_apt_configure_sources_list_v3.py::TestAptSourceConfigSourceList::test_apt_v3_empty_cfg_source_list_by_distro[rhel-False] PASSED [ 4%] tests/unittests/config/test_apt_configure_sources_list_v3.py::TestAptSourceConfigSourceList::test_apt_v3_source_list_ubuntu_snappy PASSED [ 4%] tests/unittests/config/test_apt_configure_sources_list_v3.py::TestAptSourceConfigSourceList::test_apt_v3_source_list_psm_deb822_feature_aware[True-/etc/cloud/templates/sources.list.ubuntu.deb822.tmpl-## template:jinja\n# Generated by cloud-init\nTypes: deb deb-src\nURIs: {{mirror}}\nSuites: {{codename}} {{codename}}-updates\nComponents: main restricted\n\n# Security section\nTypes: deb deb-src\nURIs: {{security}}\nSuites: {{codename}}-security\nComponents: main restricted\n-/etc/apt/sources.list.d/ubuntu.sources-# Generated by cloud-init\nTypes: deb deb-src\nURIs: http://test.ubuntu.com/ubuntu/\nSuites: fakerel fakerel-updates\nComponents: main restricted\n\n# Security section\nTypes: deb deb-src\nURIs: http://testsec.ubuntu.com/ubuntu/\nSuites: fakerel-security\nComponents: main restricted\n] PASSED [ 4%] tests/unittests/config/test_apt_configure_sources_list_v3.py::TestAptSourceConfigSourceList::test_apt_v3_source_list_psm_deb822_feature_aware[False-/etc/cloud/templates/sources.list.ubuntu.tmpl-## template:jinja\ndeb {{mirror}} {{codename}} main restricted\ndeb-src {{mirror}} {{codename}} main restricted\ndeb {{mirror}} {{codename}}-updates universe restricted\ndeb {{security}} {{codename}}-security multiverse\n-/etc/apt/sources.list-deb http://test.ubuntu.com/ubuntu/ fakerel main restricted\ndeb-src http://test.ubuntu.com/ubuntu/ fakerel main restricted\ndeb http://test.ubuntu.com/ubuntu/ fakerel-updates universe restricted\ndeb http://testsec.ubuntu.com/ubuntu/ fakerel-security multiverse\n] PASSED [ 4%] tests/unittests/config/test_apt_configure_sources_list_v3.py::TestAptSourceConfigSourceList::test_apt_v3_srcl_custom_deb822_feature_aware[deb822_feature_deb822_sources_list_writes_deb822_source] PASSED [ 4%] tests/unittests/config/test_apt_configure_sources_list_v3.py::TestAptSourceConfigSourceList::test_apt_v3_srcl_custom_deb822_feature_aware[deb822_feature_nondeb822_sources_list_writes_list_file] PASSED [ 4%] tests/unittests/config/test_apt_configure_sources_list_v3.py::TestAptSourceConfigSourceList::test_apt_v3_srcl_custom_deb822_feature_aware[nodeb822_feature_nondeb822_sources_list_writes_list_file] PASSED [ 4%] tests/unittests/config/test_apt_configure_sources_list_v3.py::TestAptSourceConfigSourceList::test_apt_v3_srcl_custom_deb822_feature_aware[nodeb822_feature_deb822_sources_list_writes_deb822_source] PASSED [ 4%] tests/unittests/config/test_apt_configure_sources_list_v3.py::TestAptSourceConfigSourceList::test_apt_v3_srcl_deb822_custom_psm_keys[ubuntu-http://local.ubuntu.com/-fakekey 4321-http://local.ubuntu.com/-fakekey 1234] PASSED [ 4%] tests/unittests/config/test_apt_configure_sources_list_v3.py::TestAptSourceConfigSourceList::test_apt_v3_srcl_deb822_custom_psm_keys[ubuntu-http://local.ubuntu.com/-fakekey 4321-None-None] PASSED [ 4%] tests/unittests/config/test_apt_configure_sources_list_v3.py::TestAptSourceConfigSourceList::test_apt_v3_srcl_deb822_custom_psm_keys[ubuntu-http://local.ubuntu.com/-None-None-None] PASSED [ 4%] tests/unittests/config/test_apt_configure_sources_list_v3.py::TestAptSourceConfigSourceList::test_apt_v3_srcl_deb822_custom_psm_keys[ubuntu-http://local.ubuntu.com/-None-http://local.ubuntu.com/-fakekey 1234] PASSED [ 4%] tests/unittests/config/test_apt_key.py::TestAptKey::test_apt_key_add_success PASSED [ 4%] tests/unittests/config/test_apt_key.py::TestAptKey::test_apt_key_add_success_hardened PASSED [ 4%] tests/unittests/config/test_apt_key.py::TestAptKey::test_apt_key_add_fail_no_file_name PASSED [ 4%] tests/unittests/config/test_apt_key.py::TestAptKey::test_apt_key_add_fail_no_file_name_subproc PASSED [ 4%] tests/unittests/config/test_apt_key.py::TestAptKey::test_apt_key_add_fail_no_file_name_unicode PASSED [ 4%] tests/unittests/config/test_apt_key.py::TestAptKey::test_apt_key_list_success_human PASSED [ 4%] tests/unittests/config/test_apt_key.py::TestAptKey::test_apt_key_list_success_machine PASSED [ 4%] tests/unittests/config/test_apt_key.py::TestAptKey::test_apt_key_list_fail_no_keys PASSED [ 4%] tests/unittests/config/test_apt_key.py::TestAptKey::test_apt_key_list_fail_no_keys_file PASSED [ 4%] tests/unittests/config/test_apt_key.py::TestAptKey::test_apt_key_list_fail_bad_key_file PASSED [ 4%] tests/unittests/config/test_apt_source_v1.py::TestAptSourceConfig::test_apt_src_basic PASSED [ 4%] tests/unittests/config/test_apt_source_v1.py::TestAptSourceConfig::test_apt_src_basic_dict PASSED [ 4%] tests/unittests/config/test_apt_source_v1.py::TestAptSourceConfig::test_apt_src_basic_tri PASSED [ 4%] tests/unittests/config/test_apt_source_v1.py::TestAptSourceConfig::test_apt_src_basic_dict_tri PASSED [ 4%] tests/unittests/config/test_apt_source_v1.py::TestAptSourceConfig::test_apt_src_basic_nofn PASSED [ 4%] tests/unittests/config/test_apt_source_v1.py::TestAptSourceConfig::test_apt_src_replace PASSED [ 4%] tests/unittests/config/test_apt_source_v1.py::TestAptSourceConfig::test_apt_src_replace_tri PASSED [ 4%] tests/unittests/config/test_apt_source_v1.py::TestAptSourceConfig::test_apt_src_replace_dict_tri PASSED [ 4%] tests/unittests/config/test_apt_source_v1.py::TestAptSourceConfig::test_apt_src_replace_nofn PASSED [ 4%] tests/unittests/config/test_apt_source_v1.py::TestAptSourceConfig::test_apt_src_keyid PASSED [ 4%] tests/unittests/config/test_apt_source_v1.py::TestAptSourceConfig::test_apt_src_keyid_tri PASSED [ 4%] tests/unittests/config/test_apt_source_v1.py::TestAptSourceConfig::test_apt_src_keyid_nofn PASSED [ 4%] tests/unittests/config/test_apt_source_v1.py::TestAptSourceConfig::test_apt_src_key PASSED [ 4%] tests/unittests/config/test_apt_source_v1.py::TestAptSourceConfig::test_apt_src_key_nofn PASSED [ 5%] tests/unittests/config/test_apt_source_v1.py::TestAptSourceConfig::test_apt_src_keyonly PASSED [ 5%] tests/unittests/config/test_apt_source_v1.py::TestAptSourceConfig::test_apt_src_keyidonly PASSED [ 5%] tests/unittests/config/test_apt_source_v1.py::TestAptSourceConfig::test_apt_src_keyid_real PASSED [ 5%] tests/unittests/config/test_apt_source_v1.py::TestAptSourceConfig::test_apt_src_longkeyid_real PASSED [ 5%] tests/unittests/config/test_apt_source_v1.py::TestAptSourceConfig::test_apt_src_longkeyid_ks_real PASSED [ 5%] tests/unittests/config/test_apt_source_v1.py::TestAptSourceConfig::test_apt_src_ppa PASSED [ 5%] tests/unittests/config/test_apt_source_v1.py::TestAptSourceConfig::test_apt_src_ppa_tri PASSED [ 5%] tests/unittests/config/test_apt_source_v1.py::TestAptSourceConfig::test_convert_to_new_format PASSED [ 5%] tests/unittests/config/test_apt_source_v1.py::TestAptSourceConfig::test_convert_to_new_format_collision PASSED [ 5%] tests/unittests/config/test_apt_source_v1.py::TestAptSourceConfig::test_convert_to_new_format_dict_collision PASSED [ 5%] tests/unittests/config/test_apt_source_v3.py::TestAptSourceConfig::test_apt_v3_src_basic PASSED [ 5%] tests/unittests/config/test_apt_source_v3.py::TestAptSourceConfig::test_apt_v3_src_basic_tri PASSED [ 5%] tests/unittests/config/test_apt_source_v3.py::TestAptSourceConfig::test_apt_v3_src_replace PASSED [ 5%] tests/unittests/config/test_apt_source_v3.py::TestAptSourceConfig::test_apt_v3_src_replace_fn PASSED [ 5%] tests/unittests/config/test_apt_source_v3.py::TestAptSourceConfig::test_apt_v3_src_replace_tri PASSED [ 5%] tests/unittests/config/test_apt_source_v3.py::TestAptSourceConfig::test_apt_v3_src_keyid PASSED [ 5%] tests/unittests/config/test_apt_source_v3.py::TestAptSourceConfig::test_apt_v3_src_keyid_tri PASSED [ 5%] tests/unittests/config/test_apt_source_v3.py::TestAptSourceConfig::test_apt_v3_src_key PASSED [ 5%] tests/unittests/config/test_apt_source_v3.py::TestAptSourceConfig::test_apt_v3_src_keyonly PASSED [ 5%] tests/unittests/config/test_apt_source_v3.py::TestAptSourceConfig::test_apt_v3_src_keyidonly PASSED [ 5%] tests/unittests/config/test_apt_source_v3.py::TestAptSourceConfig::test_apt_v3_src_keyid_real PASSED [ 5%] tests/unittests/config/test_apt_source_v3.py::TestAptSourceConfig::test_apt_v3_src_longkeyid_real PASSED [ 5%] tests/unittests/config/test_apt_source_v3.py::TestAptSourceConfig::test_apt_v3_src_longkeyid_ks_real PASSED [ 5%] tests/unittests/config/test_apt_source_v3.py::TestAptSourceConfig::test_apt_v3_src_keyid_keyserver PASSED [ 5%] tests/unittests/config/test_apt_source_v3.py::TestAptSourceConfig::test_apt_v3_src_ppa PASSED [ 5%] tests/unittests/config/test_apt_source_v3.py::TestAptSourceConfig::test_apt_v3_src_ppa_tri PASSED [ 5%] tests/unittests/config/test_apt_source_v3.py::TestAptSourceConfig::test_apt_v3_list_rename PASSED [ 5%] tests/unittests/config/test_apt_source_v3.py::TestAptSourceConfig::test_apt_v3_proxy PASSED [ 5%] tests/unittests/config/test_apt_source_v3.py::TestAptSourceConfig::test_apt_v3_mirror PASSED [ 5%] tests/unittests/config/test_apt_source_v3.py::TestAptSourceConfig::test_apt_v3_mirror_default PASSED [ 5%] tests/unittests/config/test_apt_source_v3.py::TestAptSourceConfig::test_apt_v3_mirror_arches PASSED [ 5%] tests/unittests/config/test_apt_source_v3.py::TestAptSourceConfig::test_apt_v3_mirror_arches_default PASSED [ 5%] tests/unittests/config/test_apt_source_v3.py::TestAptSourceConfig::test_apt_v3_get_def_mir_non_intel_no_arch PASSED [ 5%] tests/unittests/config/test_apt_source_v3.py::TestAptSourceConfig::test_apt_v3_get_default_mirrors_non_intel_with_arch PASSED [ 5%] tests/unittests/config/test_apt_source_v3.py::TestAptSourceConfig::test_apt_v3_mirror_arches_sysdefault PASSED [ 5%] tests/unittests/config/test_apt_source_v3.py::TestAptSourceConfig::test_apt_v3_mirror_search PASSED [ 5%] tests/unittests/config/test_apt_source_v3.py::TestAptSourceConfig::test_apt_v3_mirror_search_many2 PASSED [ 5%] tests/unittests/config/test_apt_source_v3.py::TestAptSourceConfig::test_apt_v3_url_resolvable PASSED [ 5%] tests/unittests/config/test_apt_source_v3.py::TestAptSourceConfig::test_apt_v3_disable_suites PASSED [ 5%] tests/unittests/config/test_apt_source_v3.py::TestAptSourceConfig::test_disable_suites_blank_lines PASSED [ 5%] tests/unittests/config/test_apt_source_v3.py::TestAptSourceConfig::test_apt_v3_mirror_search_dns PASSED [ 5%] tests/unittests/config/test_apt_source_v3.py::TestAptSourceConfig::test_apt_v3_add_mirror_keys PASSED [ 5%] tests/unittests/config/test_apt_source_v3.py::TestDebconfSelections::test_set_sel_appends_newline_if_absent PASSED [ 5%] tests/unittests/config/test_apt_source_v3.py::TestDebconfSelections::test_no_set_sel_if_none_to_set PASSED [ 5%] tests/unittests/config/test_apt_source_v3.py::TestDebconfSelections::test_set_sel_call_has_expected_input PASSED [ 5%] tests/unittests/config/test_apt_source_v3.py::TestDebconfSelections::test_reconfigure_if_intersection PASSED [ 5%] tests/unittests/config/test_apt_source_v3.py::TestDebconfSelections::test_reconfigure_if_no_intersection PASSED [ 5%] tests/unittests/config/test_apt_source_v3.py::TestDebconfSelections::test_dpkg_reconfigure_does_reconfigure PASSED [ 5%] tests/unittests/config/test_apt_source_v3.py::TestDebconfSelections::test_dpkg_reconfigure_not_done_on_no_data PASSED [ 5%] tests/unittests/config/test_apt_source_v3.py::TestDebconfSelections::test_dpkg_reconfigure_not_done_if_no_cleaners PASSED [ 5%] tests/unittests/config/test_apt_source_v3.py::TestDisableSuitesDeb822::test_disable_deb822_suites_disables_proper_suites[empty_suites_nochange] PASSED [ 5%] tests/unittests/config/test_apt_source_v3.py::TestDisableSuitesDeb822::test_disable_deb822_suites_disables_proper_suites[no_matching_suites_nochange] PASSED [ 5%] tests/unittests/config/test_apt_source_v3.py::TestDisableSuitesDeb822::test_disable_deb822_suites_disables_proper_suites[matching_all_suites_disables_whole_section] PASSED [ 5%] tests/unittests/config/test_apt_source_v3.py::TestDisableSuitesDeb822::test_disable_deb822_suites_disables_proper_suites[matching_some_suites_redacts_matches_and_comments_orig] PASSED [ 5%] tests/unittests/config/test_apt_source_v3.py::TestDisableSuitesDeb822::test_disable_deb822_suites_disables_proper_suites[matching_all_suites_disables_specific_section] PASSED [ 5%] tests/unittests/config/test_apt_source_v3.py::TestGetAptCfg::test_use_defaults_or_apt_config_dump[no_aptpkg_use_apt_config_cmd] PASSED [ 5%] tests/unittests/config/test_apt_source_v3.py::TestGetAptCfg::test_use_defaults_or_apt_config_dump[no_aptpkg_unparsable_apt_config_cmd_defaults] PASSED [ 6%] tests/unittests/config/test_apt_source_v3.py::TestGetAptCfg::test_use_defaults_or_apt_config_dump[no_aptpkg_no_apt_config_cmd_defaults] PASSED [ 6%] tests/unittests/config/test_apt_source_v3.py::TestIsDeb822SourcesFormat::test_is_deb822_format_prefers_non_deb822[any_deb_src_is_not_deb822] PASSED [ 6%] tests/unittests/config/test_apt_source_v3.py::TestIsDeb822SourcesFormat::test_is_deb822_format_prefers_non_deb822[any_deb_url_is_not_deb822] PASSED [ 6%] tests/unittests/config/test_apt_source_v3.py::TestIsDeb822SourcesFormat::test_is_deb822_format_prefers_non_deb822[even_some_deb822_fields_not_deb822_if_any_deb_line] PASSED [ 6%] tests/unittests/config/test_apt_source_v3.py::TestIsDeb822SourcesFormat::test_is_deb822_format_prefers_non_deb822[types_deb822_keys_and_no_deb_or_deb_src_is_deb822] PASSED [ 6%] tests/unittests/config/test_apt_source_v3.py::TestIsDeb822SourcesFormat::test_is_deb822_format_prefers_non_deb822[uris_deb822_keys_and_no_deb_or_deb_src_is_deb822] PASSED [ 6%] tests/unittests/config/test_apt_source_v3.py::TestIsDeb822SourcesFormat::test_is_deb822_format_prefers_non_deb822[suites_deb822_keys_and_no_deb_deb_src_is_deb822] PASSED [ 6%] tests/unittests/config/test_apt_source_v3.py::TestIsDeb822SourcesFormat::test_is_deb822_format_prefers_non_deb822[components_deb822_keys_and_no_deb_deb_src_is_deb822] PASSED [ 6%] tests/unittests/config/test_apt_source_v3.py::TestIsDeb822SourcesFormat::test_is_deb822_format_prefers_non_deb822[neither_deb822_keys_nor_deb_deb_src_warn_and_not_deb822] PASSED [ 6%] tests/unittests/config/test_cc_ansible.py::TestSchema::test_schema_validation_deprecations[essentials_dict] PASSED [ 6%] tests/unittests/config/test_cc_ansible.py::TestSchema::test_schema_validation_deprecations[all-pull-keys-dict] PASSED [ 6%] tests/unittests/config/test_cc_ansible.py::TestSchema::test_schema_validation[additional-properties-dict] PASSED [ 6%] tests/unittests/config/test_cc_ansible.py::TestSchema::test_schema_validation[ctrl-keys] PASSED [ 6%] tests/unittests/config/test_cc_ansible.py::TestSchema::test_schema_validation[install-type-dict] PASSED [ 6%] tests/unittests/config/test_cc_ansible.py::TestSchema::test_schema_validation[require-url-dict] PASSED [ 6%] tests/unittests/config/test_cc_ansible.py::TestSchema::test_schema_validation[require-playbook-name-dict] PASSED [ 6%] tests/unittests/config/test_cc_ansible.py::TestSchema::test_schema_validation[essentials_list] PASSED [ 6%] tests/unittests/config/test_cc_ansible.py::TestSchema::test_schema_validation[additional-properties-list] PASSED [ 6%] tests/unittests/config/test_cc_ansible.py::TestSchema::test_schema_validation[all-pull-keys-list] PASSED [ 6%] tests/unittests/config/test_cc_ansible.py::TestSchema::test_schema_validation[ctrl-keys-list] PASSED [ 6%] tests/unittests/config/test_cc_ansible.py::TestSchema::test_schema_validation[install-type-list] PASSED [ 6%] tests/unittests/config/test_cc_ansible.py::TestSchema::test_schema_validation[require-url-list] PASSED [ 6%] tests/unittests/config/test_cc_ansible.py::TestSchema::test_schema_validation[require-playbook-name-list] PASSED [ 6%] tests/unittests/config/test_cc_ansible.py::TestAnsible::test_filter_args PASSED [ 6%] tests/unittests/config/test_cc_ansible.py::TestAnsible::test_required_keys_dict[cfg_dict0-None] PASSED [ 6%] tests/unittests/config/test_cc_ansible.py::TestAnsible::test_required_keys_dict[cfg_dict1-None] PASSED [ 6%] tests/unittests/config/test_cc_ansible.py::TestAnsible::test_required_keys_dict[cfg_dict2-ValueError] PASSED [ 6%] tests/unittests/config/test_cc_ansible.py::TestAnsible::test_required_keys_dict[cfg_dict3-ValueError] PASSED [ 6%] tests/unittests/config/test_cc_ansible.py::TestAnsible::test_required_keys_list[cfg_list0-None] PASSED [ 6%] tests/unittests/config/test_cc_ansible.py::TestAnsible::test_required_keys_list[cfg_list1-None] PASSED [ 6%] tests/unittests/config/test_cc_ansible.py::TestAnsible::test_required_keys_list[cfg_list2-ValueError] PASSED [ 6%] tests/unittests/config/test_cc_ansible.py::TestAnsible::test_required_keys_list[cfg_list3-ValueError] PASSED [ 6%] tests/unittests/config/test_cc_ansible.py::TestAnsible::test_deps_not_installed PASSED [ 6%] tests/unittests/config/test_cc_ansible.py::TestAnsible::test_deps PASSED [ 6%] tests/unittests/config/test_cc_ansible.py::TestAnsible::test_pip_bootstrap PASSED [ 6%] tests/unittests/config/test_cc_ansible.py::TestAnsible::test_upgrade_pip[mocked_doas_kwargs0-expected_result0-expected_present_logs0-expected_absent_logs0] PASSED [ 6%] tests/unittests/config/test_cc_ansible.py::TestAnsible::test_upgrade_pip[mocked_doas_kwargs1-expected_result1-expected_present_logs1-expected_absent_logs1] PASSED [ 6%] tests/unittests/config/test_cc_ansible.py::TestAnsible::test_upgrade_pip[mocked_doas_kwargs2-expected_result2-expected_present_logs2-expected_absent_logs2] PASSED [ 6%] tests/unittests/config/test_cc_ansible.py::TestAnsible::test_ansible_pull_dict[cfg_dict0-expected0] PASSED [ 6%] tests/unittests/config/test_cc_ansible.py::TestAnsible::test_ansible_pull_dict[cfg_dict1-expected1] PASSED [ 6%] tests/unittests/config/test_cc_ansible.py::TestAnsible::test_ansible_pull_list[cfg_list0-expected0] PASSED [ 6%] tests/unittests/config/test_cc_ansible.py::TestAnsible::test_ansible_pull_list[cfg_list1-expected1] PASSED [ 6%] tests/unittests/config/test_cc_ansible.py::TestAnsible::test_do_not_run PASSED [ 6%] tests/unittests/config/test_cc_ansible.py::TestAnsible::test_parse_version_distro PASSED [ 6%] tests/unittests/config/test_cc_ansible.py::TestAnsible::test_parse_version_pip PASSED [ 6%] tests/unittests/config/test_cc_ansible.py::TestAnsible::test_ansible_env_var PASSED [ 6%] tests/unittests/config/test_cc_apk_configure.py::TestApkConfigure::test_no_config[config0] PASSED [ 6%] tests/unittests/config/test_cc_apk_configure.py::TestApkConfigure::test_no_config[config1] PASSED [ 6%] tests/unittests/config/test_cc_apk_configure.py::TestApkConfigure::test_no_config[config2] PASSED [ 6%] tests/unittests/config/test_cc_apk_configure.py::TestApkConfigure::test_only_main_repo PASSED [ 6%] tests/unittests/config/test_cc_apk_configure.py::TestApkConfigure::test_main_and_community_repos PASSED [ 6%] tests/unittests/config/test_cc_apk_configure.py::TestApkConfigure::test_main_community_testing_repos PASSED [ 6%] tests/unittests/config/test_cc_apk_configure.py::TestApkConfigure::test_edge_main_community_testing_repos PASSED [ 6%] tests/unittests/config/test_cc_apk_configure.py::TestApkConfigure::test_main_community_testing_local_repos PASSED [ 6%] tests/unittests/config/test_cc_apk_configure.py::TestApkConfigure::test_edge_main_community_testing_local_repos PASSED [ 6%] tests/unittests/config/test_cc_apk_configure.py::TestApkConfigureSchema::test_schema_validation[config0-None] PASSED [ 6%] tests/unittests/config/test_cc_apk_configure.py::TestApkConfigureSchema::test_schema_validation[config1-None] PASSED [ 7%] tests/unittests/config/test_cc_apk_configure.py::TestApkConfigureSchema::test_schema_validation[config2-None] PASSED [ 7%] tests/unittests/config/test_cc_apk_configure.py::TestApkConfigureSchema::test_schema_validation[config3-None] PASSED [ 7%] tests/unittests/config/test_cc_apk_configure.py::TestApkConfigureSchema::test_schema_validation[config4-None] PASSED [ 7%] tests/unittests/config/test_cc_apk_configure.py::TestApkConfigureSchema::test_schema_validation[config5-apk_repos.alpine_repo.version: False is not of type 'string'] PASSED [ 7%] tests/unittests/config/test_cc_apk_configure.py::TestApkConfigureSchema::test_schema_validation[config6-apk_repos\\.alpine_repo:\\ Additional\\ properties\\ are\\ not\\ allowed\\ \\('bogus'\\ was\\ unexpected\\)] PASSED [ 7%] tests/unittests/config/test_cc_apk_configure.py::TestApkConfigureSchema::test_schema_validation[config7-apk_repos.alpine_repo: 'version' is a required property, apk_repos.alpine_repo: {} (is too short|should be non-empty|does not have enough properties)] PASSED [ 7%] tests/unittests/config/test_cc_apk_configure.py::TestApkConfigureSchema::test_schema_validation[config8-apk_repos.alpine_repo: True is not of type 'object', 'null'] PASSED [ 7%] tests/unittests/config/test_cc_apk_configure.py::TestApkConfigureSchema::test_schema_validation[config9-apk_repos.preserve_repositories: 'wrongtype' is not of type 'boolean'] PASSED [ 7%] tests/unittests/config/test_cc_apk_configure.py::TestApkConfigureSchema::test_schema_validation[config10-apk_repos: {} (is too short|should be non-empty|does not have enough properties)] PASSED [ 7%] tests/unittests/config/test_cc_apk_configure.py::TestApkConfigureSchema::test_schema_validation[config11-apk_repos.local_repo_base_url: None is not of type 'string'] PASSED [ 7%] tests/unittests/config/test_cc_apt_configure.py::TestAPTConfigureSchema::test_schema_validation[config0-None] PASSED [ 7%] tests/unittests/config/test_cc_apt_configure.py::TestAPTConfigureSchema::test_schema_validation[config1-apt: 'nonobject' is not of type 'object] PASSED [ 7%] tests/unittests/config/test_cc_apt_configure.py::TestAPTConfigureSchema::test_schema_validation[config2-apt:\\ Additional\\ properties\\ are\\ not\\ allowed\\ \\('boguskey'\\ was\\ unexpected\\)] PASSED [ 7%] tests/unittests/config/test_cc_apt_configure.py::TestAPTConfigureSchema::test_schema_validation[config3-apt: {} (is too short|should be non-empty|does not have enough properties)] PASSED [ 7%] tests/unittests/config/test_cc_apt_configure.py::TestAPTConfigureSchema::test_schema_validation[config4-apt.preserve_sources_list: 1 is not of type 'boolean'] PASSED [ 7%] tests/unittests/config/test_cc_apt_configure.py::TestAPTConfigureSchema::test_schema_validation[config5-apt.disable_suites: 1 is not of type 'array'] PASSED [ 7%] tests/unittests/config/test_cc_apt_configure.py::TestAPTConfigureSchema::test_schema_validation[config6-apt\\.disable_suites:\\ \\[\\]\\ (is too short|should be non-empty|does not have enough properties)] PASSED [ 7%] tests/unittests/config/test_cc_apt_configure.py::TestAPTConfigureSchema::test_schema_validation[config7-apt.disable_suites.0: 1 is not of type 'string'] PASSED [ 7%] tests/unittests/config/test_cc_apt_configure.py::TestAPTConfigureSchema::test_schema_validation[config8-apt\\.disable_suites:\\ \\['a',\\ 'a'\\]\\ has\\ non\\-unique\\ elements] PASSED [ 7%] tests/unittests/config/test_cc_apt_configure.py::TestAPTConfigureSchema::test_schema_validation[config9-apt.primary: 'nonlist' is not of type 'array'] PASSED [ 7%] tests/unittests/config/test_cc_apt_configure.py::TestAPTConfigureSchema::test_schema_validation[config10-apt\\.primary:\\ \\[\\]\\ (is too short|should be non-empty|does not have enough properties)] PASSED [ 7%] tests/unittests/config/test_cc_apt_configure.py::TestAPTConfigureSchema::test_schema_validation[config11-apt.primary.0: 'nonobj' is not of type 'object'] PASSED [ 7%] tests/unittests/config/test_cc_apt_configure.py::TestAPTConfigureSchema::test_schema_validation[config12-apt.primary.0: 'arches' is a required property] PASSED [ 7%] tests/unittests/config/test_cc_apt_configure.py::TestAPTConfigureSchema::test_schema_validation[config13-apt\\.primary\\.0:\\ Additional\\ properties\\ are\\ not\\ allowed\\ \\('boguskey'\\ was\\ unexpected\\)] PASSED [ 7%] tests/unittests/config/test_cc_apt_configure.py::TestAPTConfigureSchema::test_schema_validation[config14-apt.primary.0.arches: True is not of type 'array'] PASSED [ 7%] tests/unittests/config/test_cc_apt_configure.py::TestAPTConfigureSchema::test_schema_validation[config15-apt.primary.0.uri: True is not of type 'string'] PASSED [ 7%] tests/unittests/config/test_cc_apt_configure.py::TestAPTConfigureSchema::test_schema_validation[config16-apt.primary.0.search: 'non-array' is not of type 'array'] PASSED [ 7%] tests/unittests/config/test_cc_apt_configure.py::TestAPTConfigureSchema::test_schema_validation[config17-apt\\.primary\\.0\\.search:\\ \\[\\]\\ (is too short|should be non-empty|does not have enough properties)] PASSED [ 7%] tests/unittests/config/test_cc_apt_configure.py::TestAPTConfigureSchema::test_schema_validation[config18-apt.primary.0.search_dns: 'a' is not of type 'boolean'] PASSED [ 7%] tests/unittests/config/test_cc_apt_configure.py::TestAPTConfigureSchema::test_schema_validation[config19-apt.primary.0.keyid: 1 is not of type 'string'] PASSED [ 7%] tests/unittests/config/test_cc_apt_configure.py::TestAPTConfigureSchema::test_schema_validation[config20-apt.primary.0.key: 1 is not of type 'string'] PASSED [ 7%] tests/unittests/config/test_cc_apt_configure.py::TestAPTConfigureSchema::test_schema_validation[config21-apt.primary.0.keyserver: 1 is not of type 'string'] PASSED [ 7%] tests/unittests/config/test_cc_apt_configure.py::TestAPTConfigureSchema::test_schema_validation[config22-apt.add_apt_repo_match: True is not of type 'string'] PASSED [ 7%] tests/unittests/config/test_cc_apt_configure.py::TestAPTConfigureSchema::test_schema_validation[config23-apt.debconf_selections: True is not of type 'object'] PASSED [ 7%] tests/unittests/config/test_cc_apt_configure.py::TestAPTConfigureSchema::test_schema_validation[config24-apt.debconf_selections: {} (is too short|should be non-empty|does not have enough properties)] PASSED [ 7%] tests/unittests/config/test_cc_apt_configure.py::TestAPTConfigureSchema::test_schema_validation[config25-apt.sources_list: True is not of type 'string'] PASSED [ 7%] tests/unittests/config/test_cc_apt_configure.py::TestAPTConfigureSchema::test_schema_validation[config26-apt.conf: True is not of type 'string'] PASSED [ 7%] tests/unittests/config/test_cc_apt_configure.py::TestAPTConfigureSchema::test_schema_validation[config27-apt.http_proxy: True is not of type 'string'] PASSED [ 7%] tests/unittests/config/test_cc_apt_configure.py::TestAPTConfigureSchema::test_schema_validation[config28-apt.https_proxy: True is not of type 'string'] PASSED [ 7%] tests/unittests/config/test_cc_apt_configure.py::TestAPTConfigureSchema::test_schema_validation[config29-apt.proxy: True is not of type 'string'] PASSED [ 7%] tests/unittests/config/test_cc_apt_configure.py::TestAPTConfigureSchema::test_schema_validation[config30-apt.ftp_proxy: True is not of type 'string'] PASSED [ 7%] tests/unittests/config/test_cc_apt_configure.py::TestAPTConfigureSchema::test_schema_validation[config31-apt.sources: True is not of type 'object'] PASSED [ 7%] tests/unittests/config/test_cc_apt_configure.py::TestAPTConfigureSchema::test_schema_validation[config32-apt.sources.opaquekey: True is not of type 'object'] PASSED [ 7%] tests/unittests/config/test_cc_apt_configure.py::TestAPTConfigureSchema::test_schema_validation[config33-apt.sources.opaquekey: {} (is too short|should be non-empty|does not have enough properties)] PASSED [ 7%] tests/unittests/config/test_cc_apt_configure.py::TestAPTConfigureSchema::test_schema_validation[config34-apt\\.sources\\.opaquekey:\\ Additional\\ properties\\ are\\ not\\ allowed\\ \\('boguskey'\\ was\\ unexpected\\)] PASSED [ 7%] tests/unittests/config/test_cc_apt_configure.py::TestEnsureDependencies::test_only_install_needed_packages[empty_cfg_no_pkg_installs] PASSED [ 7%] tests/unittests/config/test_cc_apt_configure.py::TestEnsureDependencies::test_only_install_needed_packages[cfg_needs_gpg_no_installs_when_gpg_present] PASSED [ 7%] tests/unittests/config/test_cc_apt_configure.py::TestEnsureDependencies::test_only_install_needed_packages[cfg_needs_gpg_installs_gnupg_when_absent] PASSED [ 7%] tests/unittests/config/test_cc_apt_configure.py::TestEnsureDependencies::test_only_install_needed_packages[cfg_primary_needs_gpg_installs_gnupg_when_absent] PASSED [ 7%] tests/unittests/config/test_cc_apt_configure.py::TestEnsureDependencies::test_only_install_needed_packages[cfg_security_needs_gpg_installs_gnupg_when_absent] PASSED [ 7%] tests/unittests/config/test_cc_apt_configure.py::TestEnsureDependencies::test_only_install_needed_packages[cfg_needs_sw_prop_common_when_present] PASSED [ 7%] tests/unittests/config/test_cc_apt_configure.py::TestEnsureDependencies::test_only_install_needed_packages[cfg_needs_sw_prop_common_when_add_apt_repo_absent] PASSED [ 7%] tests/unittests/config/test_cc_apt_configure.py::TestAptConfigure::test_remove_source[ubuntu_replace_invalid_apt_source_list_with_default] PASSED [ 7%] tests/unittests/config/test_cc_apt_configure.py::TestAptConfigure::test_remove_source[debian_remove_invalid_apt_source_list] PASSED [ 7%] tests/unittests/config/test_cc_apt_configure.py::TestAptConfigure::test_remove_source[ubuntu_no_warning_when_existig_sources_list_content_allowed] PASSED [ 7%] tests/unittests/config/test_cc_apt_pipelining.py::TestAptPipelining::test_not_disabled_by_default PASSED [ 7%] tests/unittests/config/test_cc_apt_pipelining.py::TestAptPipelining::test_false_disables_pipelining PASSED [ 7%] tests/unittests/config/test_cc_apt_pipelining.py::TestAptPipelining::test_schema_validation[config0-None] PASSED [ 8%] tests/unittests/config/test_cc_apt_pipelining.py::TestAptPipelining::test_schema_validation[config1-None] PASSED [ 8%] tests/unittests/config/test_cc_apt_pipelining.py::TestAptPipelining::test_schema_validation[config2-None] PASSED [ 8%] tests/unittests/config/test_cc_apt_pipelining.py::TestAptPipelining::test_schema_validation[config3-None] PASSED [ 8%] tests/unittests/config/test_cc_apt_pipelining.py::TestAptPipelining::test_schema_validation[config4-None] PASSED [ 8%] tests/unittests/config/test_cc_apt_pipelining.py::TestAptPipelining::test_schema_validation[config5-Deprecated in version] PASSED [ 8%] tests/unittests/config/test_cc_apt_pipelining.py::TestAptPipelining::test_schema_validation[config6-Deprecated in version] PASSED [ 8%] tests/unittests/config/test_cc_apt_pipelining.py::TestAptPipelining::test_schema_validation[config7-Cloud\\ config\\ schema\\ errors:\\ apt_pipelining:\\ 'bogus'\\ is] PASSED [ 8%] tests/unittests/config/test_cc_bootcmd.py::TestBootcmd::test_handler_skip_if_no_bootcmd PASSED [ 8%] tests/unittests/config/test_cc_bootcmd.py::TestBootcmd::test_handler_invalid_command_set PASSED [ 8%] tests/unittests/config/test_cc_bootcmd.py::TestBootcmd::test_handler_runs_bootcmd_script_with_error PASSED [ 8%] tests/unittests/config/test_cc_bootcmd.py::TestBootCMDSchema::test_schema_validation[config0-Cloud config schema errors: bootcmd: 1 is not of type 'array'] PASSED [ 8%] tests/unittests/config/test_cc_bootcmd.py::TestBootCMDSchema::test_schema_validation[config1-bootcmd:\\ \\[\\]\\ (is too short|should be non-empty|does not have enough properties)] PASSED [ 8%] tests/unittests/config/test_cc_bootcmd.py::TestBootCMDSchema::test_schema_validation[config2-Cloud\\ config\\ schema\\ errors:\\ bootcmd:\\ \\[\\]\\ (is too short|should be non-empty|does not have enough properties)] PASSED [ 8%] tests/unittests/config/test_cc_bootcmd.py::TestBootCMDSchema::test_schema_validation[config3-Cloud config schema errors: bootcmd.1: 20 is not of type 'array', bootcmd.1: 20 is not of type 'string', bootcmd.3: {'a': 'n'} is not of type 'array'] PASSED [ 8%] tests/unittests/config/test_cc_byobu.py::TestHandleByobu::test_handle_no_cfg PASSED [ 8%] tests/unittests/config/test_cc_byobu.py::TestHandleByobu::test_handle_install_byobu_if_needed[install_byobu_pkg_when_absent_and_setup] PASSED [ 8%] tests/unittests/config/test_cc_byobu.py::TestHandleByobu::test_handle_install_byobu_if_needed[setup_byobu_pkg_when_present] PASSED [ 8%] tests/unittests/config/test_cc_byobu.py::TestByobuSchema::test_schema_validation[config0-None] PASSED [ 8%] tests/unittests/config/test_cc_byobu.py::TestByobuSchema::test_schema_validation[config1-byobu_by_default: 1 is not of type 'string'] PASSED [ 8%] tests/unittests/config/test_cc_byobu.py::TestByobuSchema::test_schema_validation[config2-byobu_by_default:\\ 'bogusenum'\\ is\\ not\\ one\\ of\\ \\['enable\\-system',\\ 'enable\\-user',\\ 'disable\\-system',\\ 'disable\\-user',\\ 'enable',\\ 'disable',\\ 'user',\\ 'system'\\]] PASSED [ 8%] tests/unittests/config/test_cc_ca_certs.py::TestNoConfig::test_no_config PASSED [ 8%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_no_trusted_list[almalinux] PASSED [ 8%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_no_trusted_list[amazon] PASSED [ 8%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_no_trusted_list[centos] PASSED [ 8%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_no_trusted_list[cloudlinux] PASSED [ 8%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_no_trusted_list[fedora] PASSED [ 8%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_no_trusted_list[opensuse-microos] PASSED [ 8%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_no_trusted_list[opensuse-tumbleweed] PASSED [ 8%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_no_trusted_list[opensuse-leap] PASSED [ 8%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_no_trusted_list[rocky] PASSED [ 8%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_no_trusted_list[sle_hpc] PASSED [ 8%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_no_trusted_list[sle-micro] PASSED [ 8%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_no_trusted_list[sles] PASSED [ 8%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_no_trusted_list[aosc] PASSED [ 8%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_no_trusted_list[alpine] PASSED [ 8%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_no_trusted_list[debian] PASSED [ 8%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_no_trusted_list[raspberry-pi-os] PASSED [ 8%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_no_trusted_list[rhel] PASSED [ 8%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_no_trusted_list[opensuse] PASSED [ 8%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_no_trusted_list[ubuntu] PASSED [ 8%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_no_trusted_list[photon] PASSED [ 8%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_empty_trusted_list[almalinux] PASSED [ 8%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_empty_trusted_list[amazon] PASSED [ 8%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_empty_trusted_list[centos] PASSED [ 8%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_empty_trusted_list[cloudlinux] PASSED [ 8%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_empty_trusted_list[fedora] PASSED [ 8%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_empty_trusted_list[opensuse-microos] PASSED [ 8%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_empty_trusted_list[opensuse-tumbleweed] PASSED [ 8%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_empty_trusted_list[opensuse-leap] PASSED [ 8%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_empty_trusted_list[rocky] PASSED [ 8%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_empty_trusted_list[sle_hpc] PASSED [ 8%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_empty_trusted_list[sle-micro] PASSED [ 8%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_empty_trusted_list[sles] PASSED [ 8%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_empty_trusted_list[aosc] PASSED [ 8%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_empty_trusted_list[alpine] PASSED [ 8%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_empty_trusted_list[debian] PASSED [ 8%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_empty_trusted_list[raspberry-pi-os] PASSED [ 9%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_empty_trusted_list[rhel] PASSED [ 9%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_empty_trusted_list[opensuse] PASSED [ 9%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_empty_trusted_list[ubuntu] PASSED [ 9%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_empty_trusted_list[photon] PASSED [ 9%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_single_trusted[almalinux] PASSED [ 9%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_single_trusted[amazon] PASSED [ 9%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_single_trusted[centos] PASSED [ 9%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_single_trusted[cloudlinux] PASSED [ 9%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_single_trusted[fedora] PASSED [ 9%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_single_trusted[opensuse-microos] PASSED [ 9%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_single_trusted[opensuse-tumbleweed] PASSED [ 9%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_single_trusted[opensuse-leap] PASSED [ 9%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_single_trusted[rocky] PASSED [ 9%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_single_trusted[sle_hpc] PASSED [ 9%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_single_trusted[sle-micro] PASSED [ 9%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_single_trusted[sles] PASSED [ 9%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_single_trusted[aosc] PASSED [ 9%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_single_trusted[alpine] PASSED [ 9%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_single_trusted[debian] PASSED [ 9%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_single_trusted[raspberry-pi-os] PASSED [ 9%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_single_trusted[rhel] PASSED [ 9%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_single_trusted[opensuse] PASSED [ 9%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_single_trusted[ubuntu] PASSED [ 9%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_single_trusted[photon] PASSED [ 9%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_multiple_trusted[almalinux] PASSED [ 9%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_multiple_trusted[amazon] PASSED [ 9%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_multiple_trusted[centos] PASSED [ 9%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_multiple_trusted[cloudlinux] PASSED [ 9%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_multiple_trusted[fedora] PASSED [ 9%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_multiple_trusted[opensuse-microos] PASSED [ 9%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_multiple_trusted[opensuse-tumbleweed] PASSED [ 9%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_multiple_trusted[opensuse-leap] PASSED [ 9%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_multiple_trusted[rocky] PASSED [ 9%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_multiple_trusted[sle_hpc] PASSED [ 9%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_multiple_trusted[sle-micro] PASSED [ 9%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_multiple_trusted[sles] PASSED [ 9%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_multiple_trusted[aosc] PASSED [ 9%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_multiple_trusted[alpine] PASSED [ 9%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_multiple_trusted[debian] PASSED [ 9%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_multiple_trusted[raspberry-pi-os] PASSED [ 9%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_multiple_trusted[rhel] PASSED [ 9%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_multiple_trusted[opensuse] PASSED [ 9%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_multiple_trusted[ubuntu] PASSED [ 9%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_multiple_trusted[photon] PASSED [ 9%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_remove_default_ca_certs[almalinux] PASSED [ 9%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_remove_default_ca_certs[amazon] PASSED [ 9%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_remove_default_ca_certs[centos] PASSED [ 9%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_remove_default_ca_certs[cloudlinux] PASSED [ 9%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_remove_default_ca_certs[fedora] PASSED [ 9%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_remove_default_ca_certs[opensuse-microos] PASSED [ 9%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_remove_default_ca_certs[opensuse-tumbleweed] PASSED [ 9%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_remove_default_ca_certs[opensuse-leap] PASSED [ 9%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_remove_default_ca_certs[rocky] PASSED [ 9%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_remove_default_ca_certs[sle_hpc] PASSED [ 9%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_remove_default_ca_certs[sle-micro] PASSED [ 9%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_remove_default_ca_certs[sles] PASSED [ 9%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_remove_default_ca_certs[aosc] PASSED [ 10%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_remove_default_ca_certs[alpine] PASSED [ 10%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_remove_default_ca_certs[debian] PASSED [ 10%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_remove_default_ca_certs[raspberry-pi-os] PASSED [ 10%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_remove_default_ca_certs[rhel] PASSED [ 10%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_remove_default_ca_certs[opensuse] PASSED [ 10%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_remove_default_ca_certs[ubuntu] PASSED [ 10%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_remove_default_ca_certs[photon] PASSED [ 10%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_no_remove_defaults_if_false[almalinux] PASSED [ 10%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_no_remove_defaults_if_false[amazon] PASSED [ 10%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_no_remove_defaults_if_false[centos] PASSED [ 10%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_no_remove_defaults_if_false[cloudlinux] PASSED [ 10%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_no_remove_defaults_if_false[fedora] PASSED [ 10%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_no_remove_defaults_if_false[opensuse-microos] PASSED [ 10%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_no_remove_defaults_if_false[opensuse-tumbleweed] PASSED [ 10%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_no_remove_defaults_if_false[opensuse-leap] PASSED [ 10%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_no_remove_defaults_if_false[rocky] PASSED [ 10%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_no_remove_defaults_if_false[sle_hpc] PASSED [ 10%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_no_remove_defaults_if_false[sle-micro] PASSED [ 10%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_no_remove_defaults_if_false[sles] PASSED [ 10%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_no_remove_defaults_if_false[aosc] PASSED [ 10%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_no_remove_defaults_if_false[alpine] PASSED [ 10%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_no_remove_defaults_if_false[debian] PASSED [ 10%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_no_remove_defaults_if_false[raspberry-pi-os] PASSED [ 10%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_no_remove_defaults_if_false[rhel] PASSED [ 10%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_no_remove_defaults_if_false[opensuse] PASSED [ 10%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_no_remove_defaults_if_false[ubuntu] PASSED [ 10%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_no_remove_defaults_if_false[photon] PASSED [ 10%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_correct_order_for_remove_then_add[almalinux] PASSED [ 10%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_correct_order_for_remove_then_add[amazon] PASSED [ 10%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_correct_order_for_remove_then_add[centos] PASSED [ 10%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_correct_order_for_remove_then_add[cloudlinux] PASSED [ 10%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_correct_order_for_remove_then_add[fedora] PASSED [ 10%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_correct_order_for_remove_then_add[opensuse-microos] PASSED [ 10%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_correct_order_for_remove_then_add[opensuse-tumbleweed] PASSED [ 10%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_correct_order_for_remove_then_add[opensuse-leap] PASSED [ 10%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_correct_order_for_remove_then_add[rocky] PASSED [ 10%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_correct_order_for_remove_then_add[sle_hpc] PASSED [ 10%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_correct_order_for_remove_then_add[sle-micro] PASSED [ 10%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_correct_order_for_remove_then_add[sles] PASSED [ 10%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_correct_order_for_remove_then_add[aosc] PASSED [ 10%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_correct_order_for_remove_then_add[alpine] PASSED [ 10%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_correct_order_for_remove_then_add[debian] PASSED [ 10%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_correct_order_for_remove_then_add[raspberry-pi-os] PASSED [ 10%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_correct_order_for_remove_then_add[rhel] PASSED [ 10%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_correct_order_for_remove_then_add[opensuse] PASSED [ 10%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_correct_order_for_remove_then_add[ubuntu] PASSED [ 10%] tests/unittests/config/test_cc_ca_certs.py::TestConfig::test_correct_order_for_remove_then_add[photon] PASSED [ 10%] tests/unittests/config/test_cc_ca_certs.py::TestAddCaCerts::test_no_certs_in_list[almalinux] PASSED [ 10%] tests/unittests/config/test_cc_ca_certs.py::TestAddCaCerts::test_no_certs_in_list[amazon] PASSED [ 10%] tests/unittests/config/test_cc_ca_certs.py::TestAddCaCerts::test_no_certs_in_list[centos] PASSED [ 10%] tests/unittests/config/test_cc_ca_certs.py::TestAddCaCerts::test_no_certs_in_list[cloudlinux] PASSED [ 10%] tests/unittests/config/test_cc_ca_certs.py::TestAddCaCerts::test_no_certs_in_list[fedora] PASSED [ 10%] tests/unittests/config/test_cc_ca_certs.py::TestAddCaCerts::test_no_certs_in_list[opensuse-microos] PASSED [ 10%] tests/unittests/config/test_cc_ca_certs.py::TestAddCaCerts::test_no_certs_in_list[opensuse-tumbleweed] PASSED [ 10%] tests/unittests/config/test_cc_ca_certs.py::TestAddCaCerts::test_no_certs_in_list[opensuse-leap] PASSED [ 10%] tests/unittests/config/test_cc_ca_certs.py::TestAddCaCerts::test_no_certs_in_list[rocky] PASSED [ 10%] tests/unittests/config/test_cc_ca_certs.py::TestAddCaCerts::test_no_certs_in_list[sle_hpc] PASSED [ 11%] tests/unittests/config/test_cc_ca_certs.py::TestAddCaCerts::test_no_certs_in_list[sle-micro] PASSED [ 11%] tests/unittests/config/test_cc_ca_certs.py::TestAddCaCerts::test_no_certs_in_list[sles] PASSED [ 11%] tests/unittests/config/test_cc_ca_certs.py::TestAddCaCerts::test_no_certs_in_list[aosc] PASSED [ 11%] tests/unittests/config/test_cc_ca_certs.py::TestAddCaCerts::test_no_certs_in_list[alpine] PASSED [ 11%] tests/unittests/config/test_cc_ca_certs.py::TestAddCaCerts::test_no_certs_in_list[debian] PASSED [ 11%] tests/unittests/config/test_cc_ca_certs.py::TestAddCaCerts::test_no_certs_in_list[raspberry-pi-os] PASSED [ 11%] tests/unittests/config/test_cc_ca_certs.py::TestAddCaCerts::test_no_certs_in_list[rhel] PASSED [ 11%] tests/unittests/config/test_cc_ca_certs.py::TestAddCaCerts::test_no_certs_in_list[opensuse] PASSED [ 11%] tests/unittests/config/test_cc_ca_certs.py::TestAddCaCerts::test_no_certs_in_list[ubuntu] PASSED [ 11%] tests/unittests/config/test_cc_ca_certs.py::TestAddCaCerts::test_no_certs_in_list[photon] PASSED [ 11%] tests/unittests/config/test_cc_ca_certs.py::TestAddCaCerts::test_single_cert[almalinux] PASSED [ 11%] tests/unittests/config/test_cc_ca_certs.py::TestAddCaCerts::test_single_cert[amazon] PASSED [ 11%] tests/unittests/config/test_cc_ca_certs.py::TestAddCaCerts::test_single_cert[centos] PASSED [ 11%] tests/unittests/config/test_cc_ca_certs.py::TestAddCaCerts::test_single_cert[cloudlinux] PASSED [ 11%] tests/unittests/config/test_cc_ca_certs.py::TestAddCaCerts::test_single_cert[fedora] PASSED [ 11%] tests/unittests/config/test_cc_ca_certs.py::TestAddCaCerts::test_single_cert[opensuse-microos] PASSED [ 11%] tests/unittests/config/test_cc_ca_certs.py::TestAddCaCerts::test_single_cert[opensuse-tumbleweed] PASSED [ 11%] tests/unittests/config/test_cc_ca_certs.py::TestAddCaCerts::test_single_cert[opensuse-leap] PASSED [ 11%] tests/unittests/config/test_cc_ca_certs.py::TestAddCaCerts::test_single_cert[rocky] PASSED [ 11%] tests/unittests/config/test_cc_ca_certs.py::TestAddCaCerts::test_single_cert[sle_hpc] PASSED [ 11%] tests/unittests/config/test_cc_ca_certs.py::TestAddCaCerts::test_single_cert[sle-micro] PASSED [ 11%] tests/unittests/config/test_cc_ca_certs.py::TestAddCaCerts::test_single_cert[sles] PASSED [ 11%] tests/unittests/config/test_cc_ca_certs.py::TestAddCaCerts::test_single_cert[aosc] PASSED [ 11%] tests/unittests/config/test_cc_ca_certs.py::TestAddCaCerts::test_single_cert[alpine] PASSED [ 11%] tests/unittests/config/test_cc_ca_certs.py::TestAddCaCerts::test_single_cert[debian] PASSED [ 11%] tests/unittests/config/test_cc_ca_certs.py::TestAddCaCerts::test_single_cert[raspberry-pi-os] PASSED [ 11%] tests/unittests/config/test_cc_ca_certs.py::TestAddCaCerts::test_single_cert[rhel] PASSED [ 11%] tests/unittests/config/test_cc_ca_certs.py::TestAddCaCerts::test_single_cert[opensuse] PASSED [ 11%] tests/unittests/config/test_cc_ca_certs.py::TestAddCaCerts::test_single_cert[ubuntu] PASSED [ 11%] tests/unittests/config/test_cc_ca_certs.py::TestAddCaCerts::test_single_cert[photon] PASSED [ 11%] tests/unittests/config/test_cc_ca_certs.py::TestAddCaCerts::test_multiple_certs[almalinux] PASSED [ 11%] tests/unittests/config/test_cc_ca_certs.py::TestAddCaCerts::test_multiple_certs[amazon] PASSED [ 11%] tests/unittests/config/test_cc_ca_certs.py::TestAddCaCerts::test_multiple_certs[centos] PASSED [ 11%] tests/unittests/config/test_cc_ca_certs.py::TestAddCaCerts::test_multiple_certs[cloudlinux] PASSED [ 11%] tests/unittests/config/test_cc_ca_certs.py::TestAddCaCerts::test_multiple_certs[fedora] PASSED [ 11%] tests/unittests/config/test_cc_ca_certs.py::TestAddCaCerts::test_multiple_certs[opensuse-microos] PASSED [ 11%] tests/unittests/config/test_cc_ca_certs.py::TestAddCaCerts::test_multiple_certs[opensuse-tumbleweed] PASSED [ 11%] tests/unittests/config/test_cc_ca_certs.py::TestAddCaCerts::test_multiple_certs[opensuse-leap] PASSED [ 11%] tests/unittests/config/test_cc_ca_certs.py::TestAddCaCerts::test_multiple_certs[rocky] PASSED [ 11%] tests/unittests/config/test_cc_ca_certs.py::TestAddCaCerts::test_multiple_certs[sle_hpc] PASSED [ 11%] tests/unittests/config/test_cc_ca_certs.py::TestAddCaCerts::test_multiple_certs[sle-micro] PASSED [ 11%] tests/unittests/config/test_cc_ca_certs.py::TestAddCaCerts::test_multiple_certs[sles] PASSED [ 11%] tests/unittests/config/test_cc_ca_certs.py::TestAddCaCerts::test_multiple_certs[aosc] PASSED [ 11%] tests/unittests/config/test_cc_ca_certs.py::TestAddCaCerts::test_multiple_certs[alpine] PASSED [ 11%] tests/unittests/config/test_cc_ca_certs.py::TestAddCaCerts::test_multiple_certs[debian] PASSED [ 11%] tests/unittests/config/test_cc_ca_certs.py::TestAddCaCerts::test_multiple_certs[raspberry-pi-os] PASSED [ 11%] tests/unittests/config/test_cc_ca_certs.py::TestAddCaCerts::test_multiple_certs[rhel] PASSED [ 11%] tests/unittests/config/test_cc_ca_certs.py::TestAddCaCerts::test_multiple_certs[opensuse] PASSED [ 11%] tests/unittests/config/test_cc_ca_certs.py::TestAddCaCerts::test_multiple_certs[ubuntu] PASSED [ 11%] tests/unittests/config/test_cc_ca_certs.py::TestAddCaCerts::test_multiple_certs[photon] PASSED [ 11%] tests/unittests/config/test_cc_ca_certs.py::TestUpdateCaCerts::test_commands[almalinux] PASSED [ 11%] tests/unittests/config/test_cc_ca_certs.py::TestUpdateCaCerts::test_commands[amazon] PASSED [ 11%] tests/unittests/config/test_cc_ca_certs.py::TestUpdateCaCerts::test_commands[centos] PASSED [ 11%] tests/unittests/config/test_cc_ca_certs.py::TestUpdateCaCerts::test_commands[cloudlinux] PASSED [ 11%] tests/unittests/config/test_cc_ca_certs.py::TestUpdateCaCerts::test_commands[fedora] PASSED [ 11%] tests/unittests/config/test_cc_ca_certs.py::TestUpdateCaCerts::test_commands[opensuse-microos] PASSED [ 11%] tests/unittests/config/test_cc_ca_certs.py::TestUpdateCaCerts::test_commands[opensuse-tumbleweed] PASSED [ 11%] tests/unittests/config/test_cc_ca_certs.py::TestUpdateCaCerts::test_commands[opensuse-leap] PASSED [ 12%] tests/unittests/config/test_cc_ca_certs.py::TestUpdateCaCerts::test_commands[rocky] PASSED [ 12%] tests/unittests/config/test_cc_ca_certs.py::TestUpdateCaCerts::test_commands[sle_hpc] PASSED [ 12%] tests/unittests/config/test_cc_ca_certs.py::TestUpdateCaCerts::test_commands[sle-micro] PASSED [ 12%] tests/unittests/config/test_cc_ca_certs.py::TestUpdateCaCerts::test_commands[sles] PASSED [ 12%] tests/unittests/config/test_cc_ca_certs.py::TestUpdateCaCerts::test_commands[aosc] PASSED [ 12%] tests/unittests/config/test_cc_ca_certs.py::TestUpdateCaCerts::test_commands[alpine] PASSED [ 12%] tests/unittests/config/test_cc_ca_certs.py::TestUpdateCaCerts::test_commands[debian] PASSED [ 12%] tests/unittests/config/test_cc_ca_certs.py::TestUpdateCaCerts::test_commands[raspberry-pi-os] PASSED [ 12%] tests/unittests/config/test_cc_ca_certs.py::TestUpdateCaCerts::test_commands[rhel] PASSED [ 12%] tests/unittests/config/test_cc_ca_certs.py::TestUpdateCaCerts::test_commands[opensuse] PASSED [ 12%] tests/unittests/config/test_cc_ca_certs.py::TestUpdateCaCerts::test_commands[ubuntu] PASSED [ 12%] tests/unittests/config/test_cc_ca_certs.py::TestUpdateCaCerts::test_commands[photon] PASSED [ 12%] tests/unittests/config/test_cc_ca_certs.py::TestRemoveDefaultCaCerts::test_non_existent_cert_cfg[almalinux] PASSED [ 12%] tests/unittests/config/test_cc_ca_certs.py::TestRemoveDefaultCaCerts::test_non_existent_cert_cfg[amazon] PASSED [ 12%] tests/unittests/config/test_cc_ca_certs.py::TestRemoveDefaultCaCerts::test_non_existent_cert_cfg[centos] PASSED [ 12%] tests/unittests/config/test_cc_ca_certs.py::TestRemoveDefaultCaCerts::test_non_existent_cert_cfg[cloudlinux] PASSED [ 12%] tests/unittests/config/test_cc_ca_certs.py::TestRemoveDefaultCaCerts::test_non_existent_cert_cfg[fedora] PASSED [ 12%] tests/unittests/config/test_cc_ca_certs.py::TestRemoveDefaultCaCerts::test_non_existent_cert_cfg[opensuse-microos] PASSED [ 12%] tests/unittests/config/test_cc_ca_certs.py::TestRemoveDefaultCaCerts::test_non_existent_cert_cfg[opensuse-tumbleweed] PASSED [ 12%] tests/unittests/config/test_cc_ca_certs.py::TestRemoveDefaultCaCerts::test_non_existent_cert_cfg[opensuse-leap] PASSED [ 12%] tests/unittests/config/test_cc_ca_certs.py::TestRemoveDefaultCaCerts::test_non_existent_cert_cfg[rocky] PASSED [ 12%] tests/unittests/config/test_cc_ca_certs.py::TestRemoveDefaultCaCerts::test_non_existent_cert_cfg[sle_hpc] PASSED [ 12%] tests/unittests/config/test_cc_ca_certs.py::TestRemoveDefaultCaCerts::test_non_existent_cert_cfg[sle-micro] PASSED [ 12%] tests/unittests/config/test_cc_ca_certs.py::TestRemoveDefaultCaCerts::test_non_existent_cert_cfg[sles] PASSED [ 12%] tests/unittests/config/test_cc_ca_certs.py::TestRemoveDefaultCaCerts::test_non_existent_cert_cfg[aosc] PASSED [ 12%] tests/unittests/config/test_cc_ca_certs.py::TestRemoveDefaultCaCerts::test_non_existent_cert_cfg[alpine] PASSED [ 12%] tests/unittests/config/test_cc_ca_certs.py::TestRemoveDefaultCaCerts::test_non_existent_cert_cfg[debian] PASSED [ 12%] tests/unittests/config/test_cc_ca_certs.py::TestRemoveDefaultCaCerts::test_non_existent_cert_cfg[raspberry-pi-os] PASSED [ 12%] tests/unittests/config/test_cc_ca_certs.py::TestRemoveDefaultCaCerts::test_non_existent_cert_cfg[rhel] PASSED [ 12%] tests/unittests/config/test_cc_ca_certs.py::TestRemoveDefaultCaCerts::test_non_existent_cert_cfg[opensuse] PASSED [ 12%] tests/unittests/config/test_cc_ca_certs.py::TestRemoveDefaultCaCerts::test_non_existent_cert_cfg[ubuntu] PASSED [ 12%] tests/unittests/config/test_cc_ca_certs.py::TestRemoveDefaultCaCerts::test_non_existent_cert_cfg[photon] PASSED [ 12%] tests/unittests/config/test_cc_ca_certs.py::TestCACertsSchema::test_schema_validation[config0-Cloud\\ config\\ schema\\ deprecations:\\ ca\\-certs:\\ \\ Deprecated\\ in\\ version\\ 22\\.3\\.\\ Use\\ \\*\\*ca_certs\\*\\*\\ instead\\.,\\ ca\\-certs\\.remove\\-defaults:\\ \\ Deprecated\\ in\\ version\\ 22\\.3\\.\\ Use\\ \\*\\*remove_defaults\\*\\*\\ instead\\.] PASSED [ 12%] tests/unittests/config/test_cc_ca_certs.py::TestCACertsSchema::test_schema_validation[config1-ca_certs: 1 is not of type 'object'] PASSED [ 12%] tests/unittests/config/test_cc_ca_certs.py::TestCACertsSchema::test_schema_validation[config2-ca_certs:\\ \\{\\}\\ (is too short|should be non-empty|does not have enough properties)] PASSED [ 12%] tests/unittests/config/test_cc_ca_certs.py::TestCACertsSchema::test_schema_validation[config3-ca_certs:\\ Additional\\ properties\\ are\\ not\\ allowed\\ \\('boguskey'\\ was\\ unexpected\\)] PASSED [ 12%] tests/unittests/config/test_cc_ca_certs.py::TestCACertsSchema::test_schema_validation[config4-ca_certs.remove_defaults: 1 is not of type 'boolean'] PASSED [ 12%] tests/unittests/config/test_cc_ca_certs.py::TestCACertsSchema::test_schema_validation[config5-ca_certs.trusted.0: 1 is not of type 'string'] PASSED [ 12%] tests/unittests/config/test_cc_ca_certs.py::TestCACertsSchema::test_schema_validation[config6-ca_certs\\.trusted:\\ \\[\\]\\ (is too short|should be non-empty|does not have enough properties)] PASSED [ 12%] tests/unittests/config/test_cc_ca_certs.py::TestCACertsSchema::test_deprecate_key_warnings PASSED [ 12%] tests/unittests/config/test_cc_ca_certs.py::TestCACertsSchema::test_duplicate_keys PASSED [ 12%] tests/unittests/config/test_cc_chef.py::TestInstallChefOmnibus::test_install_chef_from_omnibus_runs_chef_url_content PASSED [ 12%] tests/unittests/config/test_cc_chef.py::TestInstallChefOmnibus::test_install_chef_from_omnibus_retries_url PASSED [ 12%] tests/unittests/config/test_cc_chef.py::TestInstallChefOmnibus::test_install_chef_from_omnibus_has_omnibus_version PASSED [ 12%] tests/unittests/config/test_cc_chef.py::TestChef::test_no_config PASSED [ 12%] tests/unittests/config/test_cc_chef.py::TestChef::test_basic_config PASSED [ 12%] tests/unittests/config/test_cc_chef.py::TestChef::test_firstboot_json PASSED [ 12%] tests/unittests/config/test_cc_chef.py::TestChef::test_migrate_chef_config_dirs[no_migration_when_dirs_empty] PASSED [ 12%] tests/unittests/config/test_cc_chef.py::TestChef::test_migrate_chef_config_dirs[migration_when_old_cache_dir_present] PASSED [ 12%] tests/unittests/config/test_cc_chef.py::TestChef::test_migrate_chef_config_dirs[migration_when_old_backups_dir_present] PASSED [ 12%] tests/unittests/config/test_cc_chef.py::TestChef::test_migrate_chef_config_dirs[migration_skips_when_migrated_file_present] PASSED [ 12%] tests/unittests/config/test_cc_chef.py::TestChef::test_template_deletes PASSED [ 12%] tests/unittests/config/test_cc_chef.py::TestChef::test_validation_cert_and_validation_key PASSED [ 12%] tests/unittests/config/test_cc_chef.py::TestChef::test_validation_cert_with_system PASSED [ 12%] tests/unittests/config/test_cc_chef.py::TestBootCMDSchema::test_schema_validation[config0-chef: 1 is not of type 'object'] PASSED [ 12%] tests/unittests/config/test_cc_chef.py::TestBootCMDSchema::test_schema_validation[config1-\\ chef:\\ \\{\\}\\ (is too short|should be non-empty|does not have enough properties)] PASSED [ 12%] tests/unittests/config/test_cc_chef.py::TestBootCMDSchema::test_schema_validation[config2-chef:\\ Additional\\ properties\\ are\\ not\\ allowed\\ \\('boguskey'\\ was\\ unexpected\\)] PASSED [ 13%] tests/unittests/config/test_cc_chef.py::TestBootCMDSchema::test_schema_validation[config3-chef.directories: 1 is not of type 'array'] PASSED [ 13%] tests/unittests/config/test_cc_chef.py::TestBootCMDSchema::test_schema_validation[config4-chef\\.directories:\\ \\[\\]\\ (is too short|should be non-empty|does not have enough properties)] PASSED [ 13%] tests/unittests/config/test_cc_chef.py::TestBootCMDSchema::test_schema_validation[config5-chef.directories.0: 1 is not of type 'string'] PASSED [ 13%] tests/unittests/config/test_cc_chef.py::TestBootCMDSchema::test_schema_validation[config6-chef\\.directories:\\ \\['a',\\ 'a'\\]\\ has\\ non\\-unique\\ elements] PASSED [ 13%] tests/unittests/config/test_cc_chef.py::TestBootCMDSchema::test_schema_validation[config7-chef.validation_cert: 1 is not of type 'string'] PASSED [ 13%] tests/unittests/config/test_cc_chef.py::TestBootCMDSchema::test_schema_validation[config8-chef.validation_key: 1 is not of type 'string'] PASSED [ 13%] tests/unittests/config/test_cc_chef.py::TestBootCMDSchema::test_schema_validation[config9-chef.firstboot_path: 1 is not of type 'string'] PASSED [ 13%] tests/unittests/config/test_cc_chef.py::TestBootCMDSchema::test_schema_validation[config10-chef.client_key: 1 is not of type 'string'] PASSED [ 13%] tests/unittests/config/test_cc_chef.py::TestBootCMDSchema::test_schema_validation[config11-chef.encrypted_data_bag_secret: 1 is not of type 'string'] PASSED [ 13%] tests/unittests/config/test_cc_chef.py::TestBootCMDSchema::test_schema_validation[config12-chef.environment: 1 is not of type 'string'] PASSED [ 13%] tests/unittests/config/test_cc_chef.py::TestBootCMDSchema::test_schema_validation[config13-chef.file_backup_path: 1 is not of type 'string'] PASSED [ 13%] tests/unittests/config/test_cc_chef.py::TestBootCMDSchema::test_schema_validation[config14-chef.file_cache_path: 1 is not of type 'string'] PASSED [ 13%] tests/unittests/config/test_cc_chef.py::TestBootCMDSchema::test_schema_validation[config15-chef.json_attribs: 1 is not of type 'string'] PASSED [ 13%] tests/unittests/config/test_cc_chef.py::TestBootCMDSchema::test_schema_validation[config16-chef.log_level: 1 is not of type 'string'] PASSED [ 13%] tests/unittests/config/test_cc_chef.py::TestBootCMDSchema::test_schema_validation[config17-chef.log_location: 1 is not of type 'string'] PASSED [ 13%] tests/unittests/config/test_cc_chef.py::TestBootCMDSchema::test_schema_validation[config18-chef.node_name: 1 is not of type 'string'] PASSED [ 13%] tests/unittests/config/test_cc_chef.py::TestBootCMDSchema::test_schema_validation[config19-chef.omnibus_url: 1 is not of type 'string'] PASSED [ 13%] tests/unittests/config/test_cc_chef.py::TestBootCMDSchema::test_schema_validation[config20-chef.omnibus_url_retries: 'one' is not of type 'integer'] PASSED [ 13%] tests/unittests/config/test_cc_chef.py::TestBootCMDSchema::test_schema_validation[config21-chef.omnibus_version: 1 is not of type 'string'] PASSED [ 13%] tests/unittests/config/test_cc_chef.py::TestBootCMDSchema::test_schema_validation[config22-chef.omnibus_version: 1 is not of type 'string'] PASSED [ 13%] tests/unittests/config/test_cc_chef.py::TestBootCMDSchema::test_schema_validation[config23-chef.pid_file: 1 is not of type 'string'] PASSED [ 13%] tests/unittests/config/test_cc_chef.py::TestBootCMDSchema::test_schema_validation[config24-chef.server_url: 1 is not of type 'string'] PASSED [ 13%] tests/unittests/config/test_cc_chef.py::TestBootCMDSchema::test_schema_validation[config25-chef.show_time: 1 is not of type 'boolean'] PASSED [ 13%] tests/unittests/config/test_cc_chef.py::TestBootCMDSchema::test_schema_validation[config26-chef.ssl_verify_mode: 1 is not of type 'string'] PASSED [ 13%] tests/unittests/config/test_cc_chef.py::TestBootCMDSchema::test_schema_validation[config27-chef.validation_name: 1 is not of type 'string'] PASSED [ 13%] tests/unittests/config/test_cc_chef.py::TestBootCMDSchema::test_schema_validation[config28-chef.force_install: 1 is not of type 'boolean'] PASSED [ 13%] tests/unittests/config/test_cc_chef.py::TestBootCMDSchema::test_schema_validation[config29-chef.initial_attributes: 1 is not of type 'object'] PASSED [ 13%] tests/unittests/config/test_cc_chef.py::TestBootCMDSchema::test_schema_validation[config30-chef.install_type: 1 is not of type 'string'] PASSED [ 13%] tests/unittests/config/test_cc_chef.py::TestBootCMDSchema::test_schema_validation[config31-chef\\.install_type:\\ 'bogusenum'\\ is\\ not\\ one\\ of\\ \\['packages',\\ 'gems',\\ 'omnibus'\\]] PASSED [ 13%] tests/unittests/config/test_cc_chef.py::TestBootCMDSchema::test_schema_validation[config32-chef.run_list: 1 is not of type 'array'] PASSED [ 13%] tests/unittests/config/test_cc_chef.py::TestBootCMDSchema::test_schema_validation[config33-chef.chef_license: 1 is not of type 'string'] PASSED [ 13%] tests/unittests/config/test_cc_chef.py::TestHelpers::test_subp_blob_in_tempfile PASSED [ 13%] tests/unittests/config/test_cc_chef.py::TestHelpers::test_subp_blob_in_tempfile_args PASSED [ 13%] tests/unittests/config/test_cc_disable_ec2_metadata.py::TestEC2MetadataRoute::test_disable_ifconfig PASSED [ 13%] tests/unittests/config/test_cc_disable_ec2_metadata.py::TestEC2MetadataRoute::test_disable_ip PASSED [ 13%] tests/unittests/config/test_cc_disable_ec2_metadata.py::TestEC2MetadataRoute::test_disable_no_tool PASSED [ 13%] tests/unittests/config/test_cc_disable_ec2_metadata.py::TestDisableEc2MetadataSchema::test_schema_validation[config0-disable_ec2_metadata: 1 is not of type 'boolean'] PASSED [ 13%] tests/unittests/config/test_cc_disk_setup.py::TestIsDiskUsed::test_multiple_child_nodes_returns_true PASSED [ 13%] tests/unittests/config/test_cc_disk_setup.py::TestIsDiskUsed::test_valid_filesystem_returns_true PASSED [ 13%] tests/unittests/config/test_cc_disk_setup.py::TestIsDiskUsed::test_one_child_nodes_and_no_fs_returns_false PASSED [ 13%] tests/unittests/config/test_cc_disk_setup.py::TestGetMbrHddSize::test_size_for_512_byte_sectors PASSED [ 13%] tests/unittests/config/test_cc_disk_setup.py::TestGetMbrHddSize::test_size_for_1024_byte_sectors PASSED [ 13%] tests/unittests/config/test_cc_disk_setup.py::TestGetMbrHddSize::test_size_for_2048_byte_sectors PASSED [ 13%] tests/unittests/config/test_cc_disk_setup.py::TestGetMbrHddSize::test_size_for_4096_byte_sectors PASSED [ 13%] tests/unittests/config/test_cc_disk_setup.py::TestGetPartitionMbrLayout::test_single_partition_using_boolean PASSED [ 13%] tests/unittests/config/test_cc_disk_setup.py::TestGetPartitionMbrLayout::test_single_partition_using_list PASSED [ 13%] tests/unittests/config/test_cc_disk_setup.py::TestGetPartitionMbrLayout::test_half_and_half PASSED [ 13%] tests/unittests/config/test_cc_disk_setup.py::TestGetPartitionMbrLayout::test_thirds_with_different_partition_type PASSED [ 13%] tests/unittests/config/test_cc_disk_setup.py::TestCheckPartitionLayout::test_simple_mbr PASSED [ 13%] tests/unittests/config/test_cc_disk_setup.py::TestCheckPartitionLayout::test_simple1_gpt PASSED [ 13%] tests/unittests/config/test_cc_disk_setup.py::TestCheckPartitionLayout::test_empty_disk_no_partition_table PASSED [ 13%] tests/unittests/config/test_cc_disk_setup.py::TestUpdateFsSetupDevices::test_regression_1634678 PASSED [ 13%] tests/unittests/config/test_cc_disk_setup.py::TestUpdateFsSetupDevices::test_dotted_devname PASSED [ 13%] tests/unittests/config/test_cc_disk_setup.py::TestUpdateFsSetupDevices::test_dotted_devname_populates_partition PASSED [ 13%] tests/unittests/config/test_cc_disk_setup.py::TestPurgeDisk::test_purge_disk_ptable PASSED [ 13%] tests/unittests/config/test_cc_disk_setup.py::TestMkfsCommandHandling::test_with_cmd PASSED [ 13%] tests/unittests/config/test_cc_disk_setup.py::TestMkfsCommandHandling::test_overwrite_and_extra_opts_without_cmd PASSED [ 14%] tests/unittests/config/test_cc_disk_setup.py::TestMkfsCommandHandling::test_mkswap PASSED [ 14%] tests/unittests/config/test_cc_disk_setup.py::TestDebugSchema::test_schema_validation[config0-disk_setup: 1 is not of type 'object'] PASSED [ 14%] tests/unittests/config/test_cc_disk_setup.py::TestDebugSchema::test_schema_validation[config1-fs_setup: 1 is not of type 'array'] PASSED [ 14%] tests/unittests/config/test_cc_disk_setup.py::TestDebugSchema::test_schema_validation[config2-device_aliases: 1 is not of type 'object'] PASSED [ 14%] tests/unittests/config/test_cc_disk_setup.py::TestDebugSchema::test_valid_schema[config0] PASSED [ 14%] tests/unittests/config/test_cc_fan.py::TestFanSchema::test_schema_validation[config0-is not of type 'string'] PASSED [ 14%] tests/unittests/config/test_cc_fan.py::TestFanSchema::test_schema_validation[config1-'config' is a required property] PASSED [ 14%] tests/unittests/config/test_cc_final_message.py::TestHandle::test_boot_finished_written[True-True-None] PASSED [ 14%] tests/unittests/config/test_cc_final_message.py::TestHandle::test_boot_finished_written[False-False-Failed to write boot finished file ] PASSED [ 14%] tests/unittests/config/test_cc_final_message.py::TestHandle::test_only_warn_when_datasourcenone_is_fallback_in_datasource_list[None-datasource_list0-Used fallback datasource-10] PASSED [ 14%] tests/unittests/config/test_cc_final_message.py::TestHandle::test_only_warn_when_datasourcenone_is_fallback_in_datasource_list[None-datasource_list1-Used fallback datasource-30] PASSED [ 14%] tests/unittests/config/test_cc_final_message.py::TestHandle::test_only_warn_when_datasourcenone_is_fallback_in_datasource_list[LXD-datasource_list2-None-10] PASSED [ 14%] tests/unittests/config/test_cc_growpart.py::test_mode_off PASSED [ 14%] tests/unittests/config/test_cc_growpart.py::TestConfig::test_no_resizers_auto_is_fine PASSED [ 14%] tests/unittests/config/test_cc_growpart.py::TestConfig::test_no_resizers_mode_growpart_is_exception PASSED [ 14%] tests/unittests/config/test_cc_growpart.py::TestConfig::test_mode_auto_prefers_growpart PASSED [ 14%] tests/unittests/config/test_cc_growpart.py::TestConfig::test_force_lang_check_tempfile PASSED [ 14%] tests/unittests/config/test_cc_growpart.py::TestConfig::test_mode_use_growfs_on_root PASSED [ 14%] tests/unittests/config/test_cc_growpart.py::TestConfig::test_mode_auto_falls_back_to_gpart PASSED [ 14%] tests/unittests/config/test_cc_growpart.py::TestConfig::test_mode_auto_falls_back_to_growfs PASSED [ 14%] tests/unittests/config/test_cc_growpart.py::TestConfig::test_handle_with_no_growpart_entry PASSED [ 14%] tests/unittests/config/test_cc_growpart.py::TestResize::test_simple_devices PASSED [ 14%] tests/unittests/config/test_cc_growpart.py::TestResizeZFS::test_zroot[zroot/ROOT/changed-CHANGED] PASSED [ 14%] tests/unittests/config/test_cc_growpart.py::TestResizeZFS::test_zroot[zroot/ROOT/nochange-NOCHANGE] PASSED [ 14%] tests/unittests/config/test_cc_growpart.py::TestGetSize::test_get_size_behaves[False-None] PASSED [ 14%] tests/unittests/config/test_cc_growpart.py::TestGetSize::test_get_size_behaves[True-1] PASSED [ 14%] tests/unittests/config/test_cc_growpart.py::TestEncrypted::test_resize_when_encrypted PASSED [ 14%] tests/unittests/config/test_cc_growpart.py::TestEncrypted::test_resize_when_unencrypted PASSED [ 14%] tests/unittests/config/test_cc_growpart.py::TestEncrypted::test_encrypted_but_cryptsetup_not_found PASSED [ 14%] tests/unittests/config/test_cc_growpart.py::TestEncrypted::test_dmsetup_not_found PASSED [ 14%] tests/unittests/config/test_cc_growpart.py::TestEncrypted::test_unparsable_dmsetup PASSED [ 14%] tests/unittests/config/test_cc_growpart.py::TestEncrypted::test_missing_keydata PASSED [ 14%] tests/unittests/config/test_cc_growpart.py::TestEncrypted::test_resize_failed PASSED [ 14%] tests/unittests/config/test_cc_growpart.py::TestEncrypted::test_resize_skipped PASSED [ 14%] tests/unittests/config/test_cc_growpart.py::TestDevicePartInfo::test_device_part_info[gpt_partition] PASSED [ 14%] tests/unittests/config/test_cc_growpart.py::TestDevicePartInfo::test_device_part_info[bsd_mbr_slice_and_partition] PASSED [ 14%] tests/unittests/config/test_cc_growpart.py::TestDevicePartInfo::test_device_part_info[zfs_dataset] PASSED [ 14%] tests/unittests/config/test_cc_growpart.py::TestGrowpartSchema::test_schema_validation[config0-expectation0] PASSED [ 14%] tests/unittests/config/test_cc_growpart.py::TestGrowpartSchema::test_schema_validation[config1-expectation1] PASSED [ 14%] tests/unittests/config/test_cc_growpart.py::TestGrowpartSchema::test_schema_validation[config2-expectation2] PASSED [ 14%] tests/unittests/config/test_cc_growpart.py::TestGrowpartSchema::test_schema_validation[config3-expectation3] PASSED [ 14%] tests/unittests/config/test_cc_growpart.py::TestGrowpartSchema::test_schema_validation[config4-expectation4] PASSED [ 14%] tests/unittests/config/test_cc_growpart.py::TestGrowpartSchema::test_schema_validation[config5-expectation5] PASSED [ 14%] tests/unittests/config/test_cc_growpart.py::TestGrowpartSchema::test_schema_validation[config6-expectation6] PASSED [ 14%] tests/unittests/config/test_cc_grub_dpkg.py::TestFetchIdevs::test_fetch_idevs[grub_output0-False-expected_log_call0---False] PASSED [ 14%] tests/unittests/config/test_cc_grub_dpkg.py::TestFetchIdevs::test_fetch_idevs[grub_output1-False-expected_log_call1---False] PASSED [ 14%] tests/unittests/config/test_cc_grub_dpkg.py::TestFetchIdevs::test_fetch_idevs[grub_output2-True-None-udevadm_output2-/dev/vda-False] PASSED [ 14%] tests/unittests/config/test_cc_grub_dpkg.py::TestFetchIdevs::test_fetch_idevs[grub_output3-True-None--/dev/xvda-False] PASSED [ 14%] tests/unittests/config/test_cc_grub_dpkg.py::TestFetchIdevs::test_fetch_idevs[grub_output4-True-None-udevadm_output4-/dev/disk/by-id/nvme-Company_hash000-False] PASSED [ 14%] tests/unittests/config/test_cc_grub_dpkg.py::TestFetchIdevs::test_fetch_idevs[grub_output5-True-None-udevadm_output5-/dev/disk/by-id/company-user-1-False] PASSED [ 14%] tests/unittests/config/test_cc_grub_dpkg.py::TestFetchIdevs::test_fetch_idevs[grub_output6-True-None-/dev/disk/by-id/scsi-3500a075116e6875a /dev/disk/by-id/scsi-SATA_Crucial_CT525MX3_171816E6875A /dev/disk/by-id/scsi-0ATA_Crucial_CT525MX3_171816E6875A /dev/disk/by-path/pci-0000:00:17.0-ata-1 /dev/disk/by-id/wwn-0x500a075116e6875a /dev/disk/by-id/ata-Crucial_CT525MX300SSD1_171816E6875A-/dev/disk/by-id/ata-Crucial_CT525MX300SSD1_171816E6875A-part1-True] PASSED [ 14%] tests/unittests/config/test_cc_grub_dpkg.py::TestHandle::test_handle[None-None-/dev/disk/by-id/nvme-Company_hash000-expected_log_output0-False] PASSED [ 14%] tests/unittests/config/test_cc_grub_dpkg.py::TestHandle::test_handle[/dev/sda-None-/dev/sda-expected_log_output1-False] PASSED [ 14%] tests/unittests/config/test_cc_grub_dpkg.py::TestHandle::test_handle[None-true-/dev/xvda-expected_log_output2-False] PASSED [ 14%] tests/unittests/config/test_cc_grub_dpkg.py::TestHandle::test_handle[/dev/vda-False-/dev/disk/by-id/company-user-1-expected_log_output3-False] PASSED [ 14%] tests/unittests/config/test_cc_grub_dpkg.py::TestHandle::test_handle[/dev/nvme0n1-True--expected_log_output4-False] PASSED [ 14%] tests/unittests/config/test_cc_grub_dpkg.py::TestHandle::test_handle[/dev/sda1-False-/dev/sda1-expected_log_output5-True] PASSED [ 14%] tests/unittests/config/test_cc_grub_dpkg.py::TestGrubDpkgSchema::test_schema_validation[config0-expectation0-None] PASSED [ 15%] tests/unittests/config/test_cc_grub_dpkg.py::TestGrubDpkgSchema::test_schema_validation[config1-expectation1-False] PASSED [ 15%] tests/unittests/config/test_cc_grub_dpkg.py::TestGrubDpkgSchema::test_schema_validation[config2-expectation2-True] PASSED [ 15%] tests/unittests/config/test_cc_grub_dpkg.py::TestGrubDpkgSchema::test_schema_validation[config3-expectation3-True] PASSED [ 15%] tests/unittests/config/test_cc_grub_dpkg.py::TestGrubDpkgSchema::test_schema_validation[config4-expectation4-False] PASSED [ 15%] tests/unittests/config/test_cc_install_hotplug.py::TestInstallHotplug::test_rules_installed_when_supported_and_enabled[True] PASSED [ 15%] tests/unittests/config/test_cc_install_hotplug.py::TestInstallHotplug::test_rules_installed_when_supported_and_enabled[False] PASSED [ 15%] tests/unittests/config/test_cc_install_hotplug.py::TestInstallHotplug::test_rules_not_installed_when_unsupported PASSED [ 15%] tests/unittests/config/test_cc_install_hotplug.py::TestInstallHotplug::test_rules_not_installed_when_disabled PASSED [ 15%] tests/unittests/config/test_cc_install_hotplug.py::TestInstallHotplug::test_rules_uninstalled_when_disabled PASSED [ 15%] tests/unittests/config/test_cc_install_hotplug.py::TestInstallHotplug::test_rules_not_installed_when_no_udevadm PASSED [ 15%] tests/unittests/config/test_cc_install_hotplug.py::TestInstallHotplug::test_rules_installed_on_ec2 PASSED [ 15%] tests/unittests/config/test_cc_keyboard.py::TestKeyboardSchema::test_schema_validation[config0-None] PASSED [ 15%] tests/unittests/config/test_cc_keyboard.py::TestKeyboardSchema::test_schema_validation[config1-Cloud config schema errors: keyboard: 'layout' is a required property] PASSED [ 15%] tests/unittests/config/test_cc_keyboard.py::TestKeyboardSchema::test_schema_validation[config2-Cloud config schema errors: keyboard: 'bogus' is not of type 'object'] PASSED [ 15%] tests/unittests/config/test_cc_keyboard.py::TestKeyboardSchema::test_schema_validation[config3-Cloud config schema errors: keyboard.layout: 1 is not of type 'string'] PASSED [ 15%] tests/unittests/config/test_cc_keyboard.py::TestKeyboardSchema::test_schema_validation[config4-Cloud config schema errors: keyboard.model: None is not of type 'string'] PASSED [ 15%] tests/unittests/config/test_cc_keyboard.py::TestKeyboardSchema::test_schema_validation[config5-Cloud\\ config\\ schema\\ errors:\\ keyboard\\.variant:\\ \\[1\\]\\ is\\ not\\ of\\ type\\ 'string'] PASSED [ 15%] tests/unittests/config/test_cc_keyboard.py::TestKeyboardSchema::test_schema_validation[config6-Cloud config schema errors: keyboard.options: {} is not of type 'string'] PASSED [ 15%] tests/unittests/config/test_cc_keyboard.py::TestKeyboardSchema::test_schema_validation[config7-Cloud\\ config\\ schema\\ errors:\\ keyboard:\\ Additional\\ properties\\ are\\ not\\ allowed\\ \\('extraprop'\\ was\\ unexpected\\)] PASSED [ 15%] tests/unittests/config/test_cc_keyboard.py::TestKeyboard::test_systemd_linux_cmd PASSED [ 15%] tests/unittests/config/test_cc_keyboard.py::TestKeyboard::test_debian_linux_cmd PASSED [ 15%] tests/unittests/config/test_cc_keyboard.py::TestKeyboard::test_alpine_linux_cmd PASSED [ 15%] tests/unittests/config/test_cc_keyboard.py::TestKeyboard::test_alpine_linux_ignore_model PASSED [ 15%] tests/unittests/config/test_cc_keys_to_console.py::TestHandle::test_emit_keys_to_console_config[cfg0-True] PASSED [ 15%] tests/unittests/config/test_cc_keys_to_console.py::TestHandle::test_emit_keys_to_console_config[cfg1-True] PASSED [ 15%] tests/unittests/config/test_cc_keys_to_console.py::TestHandle::test_emit_keys_to_console_config[cfg2-True] PASSED [ 15%] tests/unittests/config/test_cc_keys_to_console.py::TestHandle::test_emit_keys_to_console_config[cfg3-False] PASSED [ 15%] tests/unittests/config/test_cc_keys_to_console.py::TestKeysToConsoleSchema::test_schema_validation[config0-Cloud config schema errors: ssh: 'emit_keys_to_console' is a required property] PASSED [ 15%] tests/unittests/config/test_cc_keys_to_console.py::TestKeysToConsoleSchema::test_schema_validation[config1-Cloud config schema errors: ssh.emit_keys_to_console: 'false' is not of type 'boolean'] PASSED [ 15%] tests/unittests/config/test_cc_keys_to_console.py::TestKeysToConsoleSchema::test_schema_validation[config2-Cloud\\ config\\ schema\\ errors:\\ ssh:\\ Additional\\ properties\\ are\\ not\\ allowed\\ \\('noextraprop'\\ was\\ unexpected\\)] PASSED [ 15%] tests/unittests/config/test_cc_keys_to_console.py::TestKeysToConsoleSchema::test_schema_validation[config3-Cloud config schema errors: ssh.emit_keys_to_console: 'false' is not of type 'boolean'] PASSED [ 15%] tests/unittests/config/test_cc_keys_to_console.py::TestKeysToConsoleSchema::test_schema_validation[config4-Cloud config schema errors: ssh_key_console_blacklist: False is not of type 'array'] PASSED [ 15%] tests/unittests/config/test_cc_keys_to_console.py::TestKeysToConsoleSchema::test_schema_validation[config5-Cloud config schema errors: ssh_key_console_blacklist.0: 1 is not of type 'string'] PASSED [ 15%] tests/unittests/config/test_cc_keys_to_console.py::TestKeysToConsoleSchema::test_schema_validation[config6-Cloud config schema errors: ssh_key_console_blacklist.0: 1 is not of type 'string'] PASSED [ 15%] tests/unittests/config/test_cc_keys_to_console.py::TestKeysToConsoleSchema::test_schema_validation[config7-Cloud config schema errors: ssh_fp_console_blacklist: None is not of type 'array'] PASSED [ 15%] tests/unittests/config/test_cc_keys_to_console.py::TestKeysToConsoleSchema::test_schema_validation[config8-Cloud config schema errors: ssh_fp_console_blacklist.0: 1 is not of type 'string'] PASSED [ 15%] tests/unittests/config/test_cc_keys_to_console.py::TestKeysToConsoleSchema::test_schema_validation[config9-Cloud config schema errors: ssh_fp_console_blacklist.0: 1 is not of type 'string'] PASSED [ 15%] tests/unittests/config/test_cc_landscape.py::TestLandscape::test_skip_empty_landscape_cloudconfig PASSED [ 15%] tests/unittests/config/test_cc_landscape.py::TestLandscape::test_handler_error_on_invalid_landscape_type PASSED [ 15%] tests/unittests/config/test_cc_landscape.py::TestLandscape::test_handler_restarts_landscape_client PASSED [ 15%] tests/unittests/config/test_cc_landscape.py::TestLandscape::test_handler_installs_client_from_ppa_and_supports_overrides PASSED [ 15%] tests/unittests/config/test_cc_landscape.py::TestLandscape::test_handler_writes_merged_client_config_file_with_defaults PASSED [ 15%] tests/unittests/config/test_cc_landscape.py::TestLandscape::test_handler_writes_merged_provided_cloudconfig_with_defaults PASSED [ 15%] tests/unittests/config/test_cc_landscape.py::TestLandscape::test_handler_client_failed_registering PASSED [ 15%] tests/unittests/config/test_cc_landscape.py::TestLandscape::test_handler_client_is_already_registered PASSED [ 15%] tests/unittests/config/test_cc_landscape.py::TestLandscapeSchema::test_schema_validation[config0-None] PASSED [ 15%] tests/unittests/config/test_cc_landscape.py::TestLandscapeSchema::test_schema_validation[config1-None] PASSED [ 15%] tests/unittests/config/test_cc_landscape.py::TestLandscapeSchema::test_schema_validation[config2-None] PASSED [ 15%] tests/unittests/config/test_cc_landscape.py::TestLandscapeSchema::test_schema_validation[config3-None] PASSED [ 15%] tests/unittests/config/test_cc_landscape.py::TestLandscapeSchema::test_schema_validation[config4-Additional properties are not allowed] PASSED [ 15%] tests/unittests/config/test_cc_landscape.py::TestLandscapeSchema::test_schema_validation[config5-'client' is a required property] PASSED [ 15%] tests/unittests/config/test_cc_landscape.py::TestLandscapeSchema::test_schema_validation[config6-'account_name' is a required property] PASSED [ 15%] tests/unittests/config/test_cc_landscape.py::TestLandscapeSchema::test_schema_validation[config7-'computer_title' is a required property] PASSED [ 15%] tests/unittests/config/test_cc_landscape.py::TestLandscapeSchema::test_schema_validation[config8-'1, 2,3' does not match] PASSED [ 15%] tests/unittests/config/test_cc_locale.py::TestLocale::test_set_locale_arch PASSED [ 15%] tests/unittests/config/test_cc_locale.py::TestLocale::test_set_locale_sles[sles_locale_defaults_systemd] PASSED [ 15%] tests/unittests/config/test_cc_locale.py::TestLocale::test_set_locale_sles[sles_locale_defaults_not_systemd] PASSED [ 16%] tests/unittests/config/test_cc_locale.py::TestLocale::test_set_locale_sles[custom_locale] PASSED [ 16%] tests/unittests/config/test_cc_locale.py::TestLocale::test_set_locale_sles[test_rhel_default_locale] PASSED [ 16%] tests/unittests/config/test_cc_locale.py::TestLocale::test_locale_update_config_if_different_than_default PASSED [ 16%] tests/unittests/config/test_cc_locale.py::TestLocaleSchema::test_schema_validation[config0-expectation0] PASSED [ 16%] tests/unittests/config/test_cc_locale.py::TestLocaleSchema::test_schema_validation[config1-expectation1] PASSED [ 16%] tests/unittests/config/test_cc_locale.py::TestLocaleSchema::test_schema_validation[config2-expectation2] PASSED [ 16%] tests/unittests/config/test_cc_lxd.py::TestLxd::test_lxd_init PASSED [ 16%] tests/unittests/config/test_cc_lxd.py::TestLxd::test_lxd_install PASSED [ 16%] tests/unittests/config/test_cc_lxd.py::TestLxd::test_no_init_does_nothing PASSED [ 16%] tests/unittests/config/test_cc_lxd.py::TestLxd::test_no_lxd_does_nothing PASSED [ 16%] tests/unittests/config/test_cc_lxd.py::TestLxd::test_lxd_preseed PASSED [ 16%] tests/unittests/config/test_cc_lxd.py::TestLxd::test_lxd_debconf_new_full PASSED [ 16%] tests/unittests/config/test_cc_lxd.py::TestLxd::test_lxd_debconf_new_partial PASSED [ 16%] tests/unittests/config/test_cc_lxd.py::TestLxd::test_lxd_debconf_existing PASSED [ 16%] tests/unittests/config/test_cc_lxd.py::TestLxd::test_lxd_debconf_none PASSED [ 16%] tests/unittests/config/test_cc_lxd.py::TestLxd::test_lxd_cmd_new_full PASSED [ 16%] tests/unittests/config/test_cc_lxd.py::TestLxd::test_lxd_cmd_new_partial PASSED [ 16%] tests/unittests/config/test_cc_lxd.py::TestLxd::test_lxd_cmd_existing PASSED [ 16%] tests/unittests/config/test_cc_lxd.py::TestLxd::test_lxd_cmd_none PASSED [ 16%] tests/unittests/config/test_cc_lxd.py::TestLxd::test_no_thinpool PASSED [ 16%] tests/unittests/config/test_cc_lxd.py::TestLxdMaybeCleanupDefault::test_network_other_than_default_not_deleted PASSED [ 16%] tests/unittests/config/test_cc_lxd.py::TestLxdMaybeCleanupDefault::test_did_init_false_does_not_delete PASSED [ 16%] tests/unittests/config/test_cc_lxd.py::TestLxdMaybeCleanupDefault::test_network_deleted_if_create_true PASSED [ 16%] tests/unittests/config/test_cc_lxd.py::TestLxdMaybeCleanupDefault::test_device_removed_if_attach_true PASSED [ 16%] tests/unittests/config/test_cc_lxd.py::TestGetRequiredPackages::test_lxd_package_install[zfs-zfs--zfsutils-linux] PASSED [ 16%] tests/unittests/config/test_cc_lxd.py::TestGetRequiredPackages::test_lxd_package_install[btrfs-mkfs.btrfs--btrfs-progs] PASSED [ 16%] tests/unittests/config/test_cc_lxd.py::TestGetRequiredPackages::test_lxd_package_install[lvm-lvcreate--lvm2] PASSED [ 16%] tests/unittests/config/test_cc_lxd.py::TestGetRequiredPackages::test_lxd_package_install[lvm-lvcreate-storage_pools: [{driver: lvm}]-lvm2] PASSED [ 16%] tests/unittests/config/test_cc_lxd.py::TestGetRequiredPackages::test_lxd_package_install[dir-None--None] PASSED [ 16%] tests/unittests/config/test_cc_lxd.py::TestLXDSchema::test_schema_validation[config0-Additional properties are not allowed] PASSED [ 16%] tests/unittests/config/test_cc_lxd.py::TestLXDSchema::test_schema_validation[config1-not\\ one\\ of\\ \\['zfs',\\ 'dir',\\ 'lvm',\\ 'btrfs'\\]] PASSED [ 16%] tests/unittests/config/test_cc_lxd.py::TestLXDSchema::test_schema_validation[config2-None] PASSED [ 16%] tests/unittests/config/test_cc_lxd.py::TestLXDSchema::test_schema_validation[config3-None] PASSED [ 16%] tests/unittests/config/test_cc_lxd.py::TestLXDSchema::test_schema_validation[config4-None] PASSED [ 16%] tests/unittests/config/test_cc_lxd.py::TestLXDSchema::test_schema_validation[config5-bridge: 'mode' is a required property] PASSED [ 16%] tests/unittests/config/test_cc_lxd.py::TestLXDSchema::test_schema_validation[config6-lxd: {} (is too short|should be non-empty|does not have enough properties)] PASSED [ 16%] tests/unittests/config/test_cc_lxd.py::TestLXDSchema::test_schema_validation[config7-not of type 'string'] PASSED [ 16%] tests/unittests/config/test_cc_lxd.py::TestLXDSchema::test_schema_validation[config8-None] PASSED [ 16%] tests/unittests/config/test_cc_lxd.py::TestLXDSchema::test_schema_validation[config9-None] PASSED [ 16%] tests/unittests/config/test_cc_lxd.py::TestLXDSchema::test_schema_validation[config10-None] PASSED [ 16%] tests/unittests/config/test_cc_lxd.py::TestLXDSchema::test_schema_validation[config11-None] PASSED [ 16%] tests/unittests/config/test_cc_lxd.py::TestLXDSchema::test_schema_validation[config12-Additional properties are not allowed] PASSED [ 16%] tests/unittests/config/test_cc_lxd.py::TestLXDSchema::test_schema_validation[config13-Additional properties are not allowed] PASSED [ 16%] tests/unittests/config/test_cc_lxd.py::TestLXDSchema::test_supplemental_schema_validation_raises_value_error[empty_cfgs_no_errors] PASSED [ 16%] tests/unittests/config/test_cc_lxd.py::TestLXDSchema::test_supplemental_schema_validation_raises_value_error[cfg_init_and_bridge_allowed] PASSED [ 16%] tests/unittests/config/test_cc_lxd.py::TestLXDSchema::test_supplemental_schema_validation_raises_value_error[cfg_preseed_allowed_without_bridge_or_init] PASSED [ 16%] tests/unittests/config/test_cc_lxd.py::TestLXDSchema::test_supplemental_schema_validation_raises_value_error[init_cfg3-bridge_cfg3-profiles: []-error_expectation3] PASSED [ 16%] tests/unittests/config/test_cc_lxd.py::TestLXDSchema::test_supplemental_schema_validation_raises_value_error[nope-bridge_cfg4--error_expectation4] PASSED [ 16%] tests/unittests/config/test_cc_mcollective.py::TestConfig::test_basic_config PASSED [ 16%] tests/unittests/config/test_cc_mcollective.py::TestConfig::test_existing_config_is_saved PASSED [ 16%] tests/unittests/config/test_cc_mcollective.py::TestConfig::test_existing_updated PASSED [ 16%] tests/unittests/config/test_cc_mcollective.py::TestConfig::test_certificats_written PASSED [ 16%] tests/unittests/config/test_cc_mcollective.py::TestHandler::test_mcollective_install PASSED [ 16%] tests/unittests/config/test_cc_mcollective.py::TestMcollectiveSchema::test_schema_validation[config0-mcollective: Additional properties are not allowed] PASSED [ 16%] tests/unittests/config/test_cc_mcollective.py::TestMcollectiveSchema::test_schema_validation[config1-None] PASSED [ 16%] tests/unittests/config/test_cc_mcollective.py::TestMcollectiveSchema::test_schema_validation[config2-does not match any of the regexes:] PASSED [ 16%] tests/unittests/config/test_cc_mcollective.py::TestMcollectiveSchema::test_schema_validation[config3-mcollective.conf.public-cert: 1 is not of type 'string'] PASSED [ 17%] tests/unittests/config/test_cc_mounts.py::TestSanitizeDevname::test_existent_full_disk_path_is_returned PASSED [ 17%] tests/unittests/config/test_cc_mounts.py::TestSanitizeDevname::test_existent_disk_name_returns_full_path PASSED [ 17%] tests/unittests/config/test_cc_mounts.py::TestSanitizeDevname::test_existent_meta_disk_is_returned PASSED [ 17%] tests/unittests/config/test_cc_mounts.py::TestSanitizeDevname::test_existent_meta_partition_is_returned PASSED [ 17%] tests/unittests/config/test_cc_mounts.py::TestSanitizeDevname::test_existent_meta_partition_with_p_is_returned PASSED [ 17%] tests/unittests/config/test_cc_mounts.py::TestSanitizeDevname::test_first_partition_returned_if_existent_disk_is_partitioned PASSED [ 17%] tests/unittests/config/test_cc_mounts.py::TestSanitizeDevname::test_nth_partition_returned_if_requested PASSED [ 17%] tests/unittests/config/test_cc_mounts.py::TestSanitizeDevname::test_transformer_returning_none_returns_none PASSED [ 17%] tests/unittests/config/test_cc_mounts.py::TestSanitizeDevname::test_missing_device_returns_none PASSED [ 17%] tests/unittests/config/test_cc_mounts.py::TestSanitizeDevname::test_missing_sys_returns_none PASSED [ 17%] tests/unittests/config/test_cc_mounts.py::TestSanitizeDevname::test_existent_disk_but_missing_partition_returns_none PASSED [ 17%] tests/unittests/config/test_cc_mounts.py::TestSanitizeDevname::test_network_device_returns_network_device PASSED [ 17%] tests/unittests/config/test_cc_mounts.py::TestSanitizeDevname::test_device_aliases_remapping PASSED [ 17%] tests/unittests/config/test_cc_mounts.py::TestSwapFileCreation::test_swap_creation_method_fallocate_on_xfs PASSED [ 17%] tests/unittests/config/test_cc_mounts.py::TestSwapFileCreation::test_swap_creation_method_xfs PASSED [ 17%] tests/unittests/config/test_cc_mounts.py::TestSwapFileCreation::test_swap_creation_method_btrfs PASSED [ 17%] tests/unittests/config/test_cc_mounts.py::TestSwapFileCreation::test_swap_creation_method_ext4 PASSED [ 17%] tests/unittests/config/test_cc_mounts.py::TestFstabHandling::test_no_fstab PASSED [ 17%] tests/unittests/config/test_cc_mounts.py::TestFstabHandling::test_swap_creation_command[btrfs-expected0] PASSED [ 17%] tests/unittests/config/test_cc_mounts.py::TestFstabHandling::test_swap_creation_command[xfs-expected1] PASSED [ 17%] tests/unittests/config/test_cc_mounts.py::TestFstabHandling::test_swap_creation_command[ext4-expected2] PASSED [ 17%] tests/unittests/config/test_cc_mounts.py::TestFstabHandling::test_fstab_no_swap_device PASSED [ 17%] tests/unittests/config/test_cc_mounts.py::TestFstabHandling::test_fstab_same_swap_device_already_configured PASSED [ 17%] tests/unittests/config/test_cc_mounts.py::TestFstabHandling::test_fstab_alternate_swap_device_already_configured PASSED [ 17%] tests/unittests/config/test_cc_mounts.py::TestFstabHandling::test_no_change_fstab_sets_needs_mount_all PASSED [ 17%] tests/unittests/config/test_cc_mounts.py::TestFstabHandling::test_fstab_mounts_combinations PASSED [ 17%] tests/unittests/config/test_cc_mounts.py::TestFstabHandling::test_fstab_mountpoint_with_spaces PASSED [ 17%] tests/unittests/config/test_cc_mounts.py::TestFstabHandling::test_fstab_mountpoint_with_spaces_idempotent PASSED [ 17%] tests/unittests/config/test_cc_mounts.py::TestCreateSwapfile::test_happy_path[xfs] PASSED [ 17%] tests/unittests/config/test_cc_mounts.py::TestCreateSwapfile::test_happy_path[btrfs] PASSED [ 17%] tests/unittests/config/test_cc_mounts.py::TestCreateSwapfile::test_happy_path[ext4] PASSED [ 17%] tests/unittests/config/test_cc_mounts.py::TestCreateSwapfile::test_happy_path[other] PASSED [ 17%] tests/unittests/config/test_cc_mounts.py::TestCreateSwapfile::test_fallback_from_fallocate_to_dd PASSED [ 17%] tests/unittests/config/test_cc_mounts.py::TestCreateSwapfile::test_suggested_swapsize[268435456-268435456] PASSED [ 17%] tests/unittests/config/test_cc_mounts.py::TestCreateSwapfile::test_suggested_swapsize[536870912-536870912] PASSED [ 17%] tests/unittests/config/test_cc_mounts.py::TestCreateSwapfile::test_suggested_swapsize[1073741824-1073741824] PASSED [ 17%] tests/unittests/config/test_cc_mounts.py::TestCreateSwapfile::test_suggested_swapsize[2147483648-2147483648] PASSED [ 17%] tests/unittests/config/test_cc_mounts.py::TestCreateSwapfile::test_suggested_swapsize[4294967296-4294967296] PASSED [ 17%] tests/unittests/config/test_cc_mounts.py::TestCreateSwapfile::test_suggested_swapsize[8589934592-4294967296] PASSED [ 17%] tests/unittests/config/test_cc_mounts.py::TestCreateSwapfile::test_suggested_swapsize[17179869184-4294967296] PASSED [ 17%] tests/unittests/config/test_cc_mounts.py::TestCreateSwapfile::test_suggested_swapsize[34359738368-6442450944] PASSED [ 17%] tests/unittests/config/test_cc_mounts.py::TestCreateSwapfile::test_suggested_swapsize[68719476736-8589934592] PASSED [ 17%] tests/unittests/config/test_cc_mounts.py::TestCreateSwapfile::test_suggested_swapsize[137438953472-11811160064] PASSED [ 17%] tests/unittests/config/test_cc_mounts.py::TestCreateSwapfile::test_suggested_swapsize[274877906944-17179869184] PASSED [ 17%] tests/unittests/config/test_cc_mounts.py::TestCreateSwapfile::test_suggested_swapsize[549755813888-24696061952] PASSED [ 17%] tests/unittests/config/test_cc_mounts.py::TestMountsSchema::test_schema_validation[config0-mounts:\\ \\[\\]\\ (is too short|should be non-empty|does not have enough properties)] PASSED [ 17%] tests/unittests/config/test_cc_mounts.py::TestMountsSchema::test_schema_validation[config1-mounts\\.0:\\ \\[\\]\\ (is too short|should be non-empty|does not have enough properties)] PASSED [ 17%] tests/unittests/config/test_cc_mounts.py::TestMountsSchema::test_schema_validation[config2-mounts.0:.* is too long] PASSED [ 17%] tests/unittests/config/test_cc_mounts.py::TestMountsSchema::test_schema_validation[config3-mount_default_fields:.* is too short] PASSED [ 17%] tests/unittests/config/test_cc_mounts.py::TestMountsSchema::test_schema_validation[config4-mount_default_fields:.* is too long] PASSED [ 17%] tests/unittests/config/test_cc_mounts.py::TestMountsSchema::test_schema_validation[config5-Additional\\ properties\\ are\\ not\\ allowed\\ \\('invalidprop'] PASSED [ 17%] tests/unittests/config/test_cc_mounts.py::TestMountsSchema::test_schema_validation[config6-None] PASSED [ 17%] tests/unittests/config/test_cc_mounts.py::TestMountsSchema::test_schema_validation[config7-None] PASSED [ 17%] tests/unittests/config/test_cc_mounts.py::TestMountsSchema::test_schema_validation[config8-None] PASSED [ 17%] tests/unittests/config/test_cc_mounts.py::TestMountsSchema::test_schema_validation[config9-None] PASSED [ 17%] tests/unittests/config/test_cc_mounts.py::TestMountsSchema::test_schema_validation[config10-swap.size:] PASSED [ 17%] tests/unittests/config/test_cc_mounts.py::TestMountsSchema::test_schema_validation[config11-swap\\.maxsize:\\ '1\\.5MT'\\ does\\ not\\ match\\ '\\^\\(\\[0\\-9\\]\\+\\)\\?] PASSED [ 18%] tests/unittests/config/test_cc_mounts.py::TestMountsSchema::test_schema_validation[config12-swap\\.maxsize:\\ '\\.\\.5T'\\ does\\ not\\ match\\ '\\^\\(\\[0\\-9\\]\\+\\)\\?] PASSED [ 18%] tests/unittests/config/test_cc_mounts.py::TestMountsSchema::test_schema_validation[config13-swap.size: 'K' is not of type 'integer'] PASSED [ 18%] tests/unittests/config/test_cc_ntp.py::TestNtp::test_ntp_install PASSED [ 18%] tests/unittests/config/test_cc_ntp.py::TestNtp::test_ntp_install_not_needed PASSED [ 18%] tests/unittests/config/test_cc_ntp.py::TestNtp::test_ntp_install_no_op_with_empty_pkg_list PASSED [ 18%] tests/unittests/config/test_cc_ntp.py::TestNtp::test_ntp_rename_ntp_conf PASSED [ 18%] tests/unittests/config/test_cc_ntp.py::TestNtp::test_ntp_rename_ntp_conf_skip_missing PASSED [ 18%] tests/unittests/config/test_cc_ntp.py::TestNtp::test_write_ntp_config_template_uses_ntp_conf_distro_no_servers PASSED [ 18%] tests/unittests/config/test_cc_ntp.py::TestNtp::test_write_ntp_config_template_defaults_pools_w_empty_lists PASSED [ 18%] tests/unittests/config/test_cc_ntp.py::TestNtp::test_defaults_pools_empty_lists_sles PASSED [ 18%] tests/unittests/config/test_cc_ntp.py::TestNtp::test_timesyncd_template PASSED [ 18%] tests/unittests/config/test_cc_ntp.py::TestNtp::test_distro_ntp_client_configs PASSED [ 18%] tests/unittests/config/test_cc_ntp.py::TestNtp::test_ntp_handler_real_distro_ntp_templates PASSED [ 18%] tests/unittests/config/test_cc_ntp.py::TestNtp::test_no_ntpcfg_does_nothing PASSED [ 18%] tests/unittests/config/test_cc_ntp.py::TestNtp::test_ntp_handler_schema_validation_allows_empty_ntp_config PASSED [ 18%] tests/unittests/config/test_cc_ntp.py::TestNtp::test_ntp_handler_timesyncd PASSED [ 18%] tests/unittests/config/test_cc_ntp.py::TestNtp::test_ntp_handler_enabled_false PASSED [ 18%] tests/unittests/config/test_cc_ntp.py::TestNtp::test_ntp_the_whole_package PASSED [ 18%] tests/unittests/config/test_cc_ntp.py::TestNtp::test_opensuse_picks_chrony PASSED [ 18%] tests/unittests/config/test_cc_ntp.py::TestNtp::test_snappy_system_picks_timesyncd PASSED [ 18%] tests/unittests/config/test_cc_ntp.py::TestNtp::test_ntp_distro_searches_all_preferred_clients PASSED [ 18%] tests/unittests/config/test_cc_ntp.py::TestNtp::test_user_cfg_ntp_client_auto_uses_distro_clients PASSED [ 18%] tests/unittests/config/test_cc_ntp.py::TestNtp::test_ntp_custom_client_overrides_installed_clients[ntpdate-ntpdate-ntpdate] PASSED [ 18%] tests/unittests/config/test_cc_ntp.py::TestNtp::test_ntp_custom_client_overrides_installed_clients[ntp-ntpd-ntpsec] PASSED [ 18%] tests/unittests/config/test_cc_ntp.py::TestNtp::test_ntp_system_config_overrides_distro_builtin_clients PASSED [ 18%] tests/unittests/config/test_cc_ntp.py::TestNtp::test_ntp_user_config_overrides_system_cfg PASSED [ 18%] tests/unittests/config/test_cc_ntp.py::TestNtp::test_ntp_user_provided_config_with_template PASSED [ 18%] tests/unittests/config/test_cc_ntp.py::TestNtp::test_ntp_user_provided_config_template_only PASSED [ 18%] tests/unittests/config/test_cc_ntp.py::TestSupplementalSchemaValidation::test_error_on_missing_keys PASSED [ 18%] tests/unittests/config/test_cc_ntp.py::TestSupplementalSchemaValidation::test_error_requiring_either_template_or_template_name PASSED [ 18%] tests/unittests/config/test_cc_ntp.py::TestSupplementalSchemaValidation::test_error_on_non_list_values PASSED [ 18%] tests/unittests/config/test_cc_ntp.py::TestSupplementalSchemaValidation::test_error_on_non_string_values PASSED [ 18%] tests/unittests/config/test_cc_ntp.py::TestNTPSchema::test_schema_validation[config0-None] PASSED [ 18%] tests/unittests/config/test_cc_ntp.py::TestNTPSchema::test_schema_validation[config1-ntp:\\ Additional\\ properties\\ are\\ not\\ allowed\\ \\('invalidkey'] PASSED [ 18%] tests/unittests/config/test_cc_ntp.py::TestNTPSchema::test_schema_validation[config2-ntp\\.pools:\\ \\['0\\.mypool\\.org',\\ '0\\.mypool\\.org'\\]\\ has\\ non\\-unique\\ elements] PASSED [ 18%] tests/unittests/config/test_cc_ntp.py::TestNTPSchema::test_schema_validation[config3-ntp.pools.0: 123 is not of type 'string'.*ntp.servers.1: None is not of type 'string'] PASSED [ 18%] tests/unittests/config/test_cc_ntp.py::TestNTPSchema::test_schema_validation[config4-ntp.pools: 123 is not of type 'array'.*ntp.servers: 'non-array' is not of type 'array'] PASSED [ 18%] tests/unittests/config/test_cc_ntp.py::TestNTPSchema::test_schema_validation[config5-Cloud config schema errors: ntp.allow.1: None is not of type 'string',*, ntp.peers.0: 123 is not of type 'string'] PASSED [ 18%] tests/unittests/config/test_cc_package_update_upgrade_install.py::TestRebootIfRequired::test_wb_only_reboot_on_reboot_when_configured_and_required[no_reboot_when_no_package_changes] PASSED [ 18%] tests/unittests/config/test_cc_package_update_upgrade_install.py::TestRebootIfRequired::test_wb_only_reboot_on_reboot_when_configured_and_required[perform_reboot_on_package_upgrade_and_suse_reboot_marker] PASSED [ 18%] tests/unittests/config/test_cc_package_update_upgrade_install.py::TestRebootIfRequired::test_wb_only_reboot_on_reboot_when_configured_and_required[no_reboot_on_package_upgrade_and_no_reboot_required_file] PASSED [ 18%] tests/unittests/config/test_cc_package_update_upgrade_install.py::TestRebootIfRequired::test_wb_only_reboot_on_reboot_when_configured_and_required[perform_reboot_on_package_upgrade_and_reboot_marker] PASSED [ 18%] tests/unittests/config/test_cc_package_update_upgrade_install.py::TestRebootIfRequired::test_wb_only_reboot_on_reboot_when_configured_and_required[perform_reboot_on_packages_and_reboot_marker] PASSED [ 18%] tests/unittests/config/test_cc_package_update_upgrade_install.py::TestMultiplePackageManagers::test_explicit_apt PASSED [ 18%] tests/unittests/config/test_cc_package_update_upgrade_install.py::TestMultiplePackageManagers::test_explicit_apt_version PASSED [ 18%] tests/unittests/config/test_cc_package_update_upgrade_install.py::TestMultiplePackageManagers::test_explicit_snap PASSED [ 18%] tests/unittests/config/test_cc_package_update_upgrade_install.py::TestMultiplePackageManagers::test_explicit_snap_version PASSED [ 18%] tests/unittests/config/test_cc_package_update_upgrade_install.py::TestMultiplePackageManagers::test_combined PASSED [ 18%] tests/unittests/config/test_cc_package_update_upgrade_install.py::TestMultiplePackageManagers::test_error_apt PASSED [ 18%] tests/unittests/config/test_cc_package_update_upgrade_install.py::TestMultiplePackageManagers::test_error_snap PASSED [ 18%] tests/unittests/config/test_cc_package_update_upgrade_install.py::TestPackageUpdateUpgradeSchema::test_schema_validation[config0-] PASSED [ 18%] tests/unittests/config/test_cc_package_update_upgrade_install.py::TestPackageUpdateUpgradeSchema::test_schema_validation[config1-] PASSED [ 18%] tests/unittests/config/test_cc_package_update_upgrade_install.py::TestPackageUpdateUpgradeSchema::test_schema_validation[config2-(is too short|should be non-empty|does not have enough properties)] PASSED [ 18%] tests/unittests/config/test_cc_package_update_upgrade_install.py::TestPackageUpdateUpgradeSchema::test_schema_validation[config3-Cloud\\ config\\ schema\\ deprecations:\\ apt_update:\\ \\ Deprecated\\ in\\ version\\ 22\\.2\\.\\ Use\\ \\*\\*package_update\\*\\*\\ instead\\.] PASSED [ 18%] tests/unittests/config/test_cc_package_update_upgrade_install.py::TestPackageUpdateUpgradeSchema::test_schema_validation[config4-Cloud\\ config\\ schema\\ deprecations:\\ apt_upgrade:\\ \\ Deprecated\\ in\\ version\\ 22\\.2\\.\\ Use\\ \\*\\*package_upgrade\\*\\*\\ instead\\.] PASSED [ 18%] tests/unittests/config/test_cc_package_update_upgrade_install.py::TestPackageUpdateUpgradeSchema::test_schema_validation[config5-Cloud\\ config\\ schema\\ deprecations:\\ apt_reboot_if_required:\\ \\ Deprecated\\ in\\ version\\ 22\\.2\\.\\ Use\\ \\*\\*package_reboot_if_required\\*\\*\\ instead\\.] PASSED [ 18%] tests/unittests/config/test_cc_phone_home.py::TestPhoneHome::test_default_call PASSED [ 18%] tests/unittests/config/test_cc_phone_home.py::TestPhoneHome::test_no_url PASSED [ 19%] tests/unittests/config/test_cc_phone_home.py::TestPhoneHome::test_tries[-1--2] PASSED [ 19%] tests/unittests/config/test_cc_phone_home.py::TestPhoneHome::test_tries[0--1] PASSED [ 19%] tests/unittests/config/test_cc_phone_home.py::TestPhoneHome::test_tries[1-0] PASSED [ 19%] tests/unittests/config/test_cc_phone_home.py::TestPhoneHome::test_tries[2-1] PASSED [ 19%] tests/unittests/config/test_cc_phone_home.py::TestPhoneHome::test_tries[retries-as-int-str] PASSED [ 19%] tests/unittests/config/test_cc_phone_home.py::TestPhoneHome::test_tries[two-9] PASSED [ 19%] tests/unittests/config/test_cc_phone_home.py::TestPhoneHome::test_tries[None-9] PASSED [ 19%] tests/unittests/config/test_cc_phone_home.py::TestPhoneHome::test_tries[tries7-9] PASSED [ 19%] tests/unittests/config/test_cc_phone_home.py::TestPhoneHome::test_post_all PASSED [ 19%] tests/unittests/config/test_cc_phone_home.py::TestPhoneHome::test_custom_post_list PASSED [ 19%] tests/unittests/config/test_cc_phone_home.py::TestPhoneHome::test_invalid_post PASSED [ 19%] tests/unittests/config/test_cc_phone_home.py::TestPhoneHomeSchema::test_schema_validation[config0] PASSED [ 19%] tests/unittests/config/test_cc_phone_home.py::TestPhoneHomeSchema::test_schema_validation[config1] PASSED [ 19%] tests/unittests/config/test_cc_phone_home.py::TestPhoneHomeSchema::test_schema_validation[config2] PASSED [ 19%] tests/unittests/config/test_cc_power_state_change.py::TestLoadPowerState::test_no_config PASSED [ 19%] tests/unittests/config/test_cc_power_state_change.py::TestLoadPowerState::test_irrelevant_config PASSED [ 19%] tests/unittests/config/test_cc_power_state_change.py::TestLoadPowerState::test_invalid_mode PASSED [ 19%] tests/unittests/config/test_cc_power_state_change.py::TestLoadPowerState::test_empty_mode PASSED [ 19%] tests/unittests/config/test_cc_power_state_change.py::TestLoadPowerState::test_valid_modes PASSED [ 19%] tests/unittests/config/test_cc_power_state_change.py::TestLoadPowerState::test_invalid_delay PASSED [ 19%] tests/unittests/config/test_cc_power_state_change.py::TestLoadPowerState::test_valid_delay PASSED [ 19%] tests/unittests/config/test_cc_power_state_change.py::TestLoadPowerState::test_message_present PASSED [ 19%] tests/unittests/config/test_cc_power_state_change.py::TestLoadPowerState::test_no_message PASSED [ 19%] tests/unittests/config/test_cc_power_state_change.py::TestLoadPowerState::test_condition_null_raises PASSED [ 19%] tests/unittests/config/test_cc_power_state_change.py::TestLoadPowerState::test_condition_default_is_true PASSED [ 19%] tests/unittests/config/test_cc_power_state_change.py::TestLoadPowerState::test_freebsd_poweroff_uses_lowercase_p PASSED [ 19%] tests/unittests/config/test_cc_power_state_change.py::TestLoadPowerState::test_alpine_delay PASSED [ 19%] tests/unittests/config/test_cc_power_state_change.py::TestCheckCondition::test_true_is_true PASSED [ 19%] tests/unittests/config/test_cc_power_state_change.py::TestCheckCondition::test_false_is_false PASSED [ 19%] tests/unittests/config/test_cc_power_state_change.py::TestCheckCondition::test_cmd_exit_zero_true PASSED [ 19%] tests/unittests/config/test_cc_power_state_change.py::TestCheckCondition::test_cmd_exit_one_false PASSED [ 19%] tests/unittests/config/test_cc_power_state_change.py::TestCheckCondition::test_cmd_exit_nonzero_warns PASSED [ 19%] tests/unittests/config/test_cc_power_state_change.py::TestPowerStateChangeSchema::test_schema_validation[config0-'test' is not one of \\['poweroff', 'reboot', 'halt'\\]] PASSED [ 19%] tests/unittests/config/test_cc_power_state_change.py::TestPowerStateChangeSchema::test_schema_validation[config1-Cloud config schema deprecations: power_state.delay: Changed in version 22.3. Use of type string for this value is deprecated. Use ``now`` or integer type.] PASSED [ 19%] tests/unittests/config/test_cc_power_state_change.py::TestPowerStateChangeSchema::test_schema_validation[config2-None] PASSED [ 19%] tests/unittests/config/test_cc_power_state_change.py::TestPowerStateChangeSchema::test_schema_validation[config3-Cloud config schema deprecations: power_state.delay: Changed in version 22.3. Use of type string for this value is deprecated. Use ``now`` or integer type.] PASSED [ 19%] tests/unittests/config/test_cc_power_state_change.py::TestPowerStateChangeSchema::test_schema_validation[config4-] PASSED [ 19%] tests/unittests/config/test_cc_power_state_change.py::TestPowerStateChangeSchema::test_schema_validation[config5-] PASSED [ 19%] tests/unittests/config/test_cc_power_state_change.py::TestPowerStateChangeSchema::test_schema_validation[config6-] PASSED [ 19%] tests/unittests/config/test_cc_power_state_change.py::TestPowerStateChangeSchema::test_schema_validation[config7-] PASSED [ 19%] tests/unittests/config/test_cc_power_state_change.py::TestPowerStateChangeSchema::test_schema_validation[config8-None] PASSED [ 19%] tests/unittests/config/test_cc_power_state_change.py::TestPowerStateChangeSchema::test_schema_validation[config9-None] PASSED [ 19%] tests/unittests/config/test_cc_power_state_change.py::TestPowerStateChangeSchema::test_schema_validation[config10-None] PASSED [ 19%] tests/unittests/config/test_cc_power_state_change.py::TestPowerStateChangeSchema::test_schema_validation[config11-] PASSED [ 19%] tests/unittests/config/test_cc_puppet.py::TestManagePuppetServices::test_wb_manage_puppet_services_enables_puppet_systemctl PASSED [ 19%] tests/unittests/config/test_cc_puppet.py::TestManagePuppetServices::test_wb_manage_puppet_services_starts_puppet_systemctl PASSED [ 19%] tests/unittests/config/test_cc_puppet.py::TestManagePuppetServices::test_enable_fallback_on_failure PASSED [ 19%] tests/unittests/config/test_cc_puppet.py::TestPuppetHandle::test_skips_missing_puppet_key_in_cloudconfig PASSED [ 19%] tests/unittests/config/test_cc_puppet.py::TestPuppetHandle::test_puppet_config_starts_puppet_service PASSED [ 19%] tests/unittests/config/test_cc_puppet.py::TestPuppetHandle::test_empty_puppet_config_installs_puppet PASSED [ 19%] tests/unittests/config/test_cc_puppet.py::TestPuppetHandle::test_puppet_config_installs_puppet_on_true PASSED [ 19%] tests/unittests/config/test_cc_puppet.py::TestPuppetHandle::test_puppet_config_installs_puppet_aio PASSED [ 19%] tests/unittests/config/test_cc_puppet.py::TestPuppetHandle::test_puppet_config_installs_puppet_aio_with_version PASSED [ 19%] tests/unittests/config/test_cc_puppet.py::TestPuppetHandle::test_puppet_config_installs_puppet_aio_with_collection PASSED [ 19%] tests/unittests/config/test_cc_puppet.py::TestPuppetHandle::test_puppet_config_installs_puppet_aio_with_custom_url PASSED [ 19%] tests/unittests/config/test_cc_puppet.py::TestPuppetHandle::test_puppet_config_installs_puppet_aio_without_cleanup PASSED [ 19%] tests/unittests/config/test_cc_puppet.py::TestPuppetHandle::test_puppet_config_installs_puppet_version PASSED [ 20%] tests/unittests/config/test_cc_puppet.py::TestPuppetHandle::test_puppet_config_updates_puppet_conf PASSED [ 20%] tests/unittests/config/test_cc_puppet.py::TestPuppetHandle::test_puppet_writes_csr_attributes_file PASSED [ 20%] tests/unittests/config/test_cc_puppet.py::TestPuppetHandle::test_puppet_runs_puppet_if_requested PASSED [ 20%] tests/unittests/config/test_cc_puppet.py::TestPuppetHandle::test_puppet_starts_puppetd PASSED [ 20%] tests/unittests/config/test_cc_puppet.py::TestPuppetHandle::test_puppet_skips_puppetd PASSED [ 20%] tests/unittests/config/test_cc_puppet.py::TestPuppetHandle::test_puppet_runs_puppet_with_args_list_if_requested PASSED [ 20%] tests/unittests/config/test_cc_puppet.py::TestPuppetHandle::test_puppet_runs_puppet_with_args_string_if_requested PASSED [ 20%] tests/unittests/config/test_cc_puppet.py::TestPuppetHandle::test_puppet_falls_back_to_older_name PASSED [ 20%] tests/unittests/config/test_cc_puppet.py::TestPuppetHandle::test_puppet_with_conf_package_name_fails PASSED [ 20%] tests/unittests/config/test_cc_puppet.py::TestPuppetHandle::test_puppet_with_conf_package_name_success PASSED [ 20%] tests/unittests/config/test_cc_puppet.py::TestInstallPuppetAio::test_install_puppet_aio[default_arguments] PASSED [ 20%] tests/unittests/config/test_cc_puppet.py::TestInstallPuppetAio::test_install_puppet_aio[custom_url] PASSED [ 20%] tests/unittests/config/test_cc_puppet.py::TestInstallPuppetAio::test_install_puppet_aio[version] PASSED [ 20%] tests/unittests/config/test_cc_puppet.py::TestInstallPuppetAio::test_install_puppet_aio[collection] PASSED [ 20%] tests/unittests/config/test_cc_puppet.py::TestInstallPuppetAio::test_install_puppet_aio[no_cleanup] PASSED [ 20%] tests/unittests/config/test_cc_puppet.py::TestPuppetSchema::test_schema_validation[config0-None] PASSED [ 20%] tests/unittests/config/test_cc_puppet.py::TestPuppetSchema::test_schema_validation[config1-None] PASSED [ 20%] tests/unittests/config/test_cc_puppet.py::TestPuppetSchema::test_schema_validation[config2-None] PASSED [ 20%] tests/unittests/config/test_cc_puppet.py::TestPuppetSchema::test_schema_validation[config3-None] PASSED [ 20%] tests/unittests/config/test_cc_puppet.py::TestPuppetSchema::test_schema_validation[config4-None] PASSED [ 20%] tests/unittests/config/test_cc_puppet.py::TestPuppetSchema::test_schema_validation[config5-None] PASSED [ 20%] tests/unittests/config/test_cc_puppet.py::TestPuppetSchema::test_schema_validation[config6-None] PASSED [ 20%] tests/unittests/config/test_cc_puppet.py::TestPuppetSchema::test_schema_validation[config7-None] PASSED [ 20%] tests/unittests/config/test_cc_puppet.py::TestPuppetSchema::test_schema_validation[config8-'package' is not one of \\['packages', 'aio'\\]] PASSED [ 20%] tests/unittests/config/test_cc_puppet.py::TestPuppetSchema::test_schema_validation[config9-'test' was unexpected] PASSED [ 20%] tests/unittests/config/test_cc_puppet.py::TestPuppetSchema::test_schema_validation[config10-'test' was unexpected] PASSED [ 20%] tests/unittests/config/test_cc_raspberry_pi.py::TestHandleRaspberryPi::test_handle_usb_gadget_enabled PASSED [ 20%] tests/unittests/config/test_cc_raspberry_pi.py::TestHandleRaspberryPi::test_handle_configure_interface_i2c PASSED [ 20%] tests/unittests/config/test_cc_raspberry_pi.py::TestHandleRaspberryPi::test_handle_configure_serial_interface_dict PASSED [ 20%] tests/unittests/config/test_cc_raspberry_pi.py::TestHandleRaspberryPi::test_handle_configure_serial_interface_bool PASSED [ 20%] tests/unittests/config/test_cc_raspberry_pi.py::TestHandleRaspberryPi::test_trigger_reboot PASSED [ 20%] tests/unittests/config/test_cc_raspberry_pi.py::TestRaspberryPiMethods::test_configure_usb_gadget_enable PASSED [ 20%] tests/unittests/config/test_cc_raspberry_pi.py::TestRaspberryPiMethods::test_configure_usb_gadget_missing_script PASSED [ 20%] tests/unittests/config/test_cc_raspberry_pi.py::TestRaspberryPiMethods::test_configure_usb_gadget_script_failure PASSED [ 20%] tests/unittests/config/test_cc_raspberry_pi.py::TestRaspberryPiMethods::test_is_pifive_true PASSED [ 20%] tests/unittests/config/test_cc_raspberry_pi.py::TestRaspberryPiMethods::test_is_pifive_false PASSED [ 20%] tests/unittests/config/test_cc_raspberry_pi.py::TestRaspberryPiMethods::test_configure_interface_valid PASSED [ 20%] tests/unittests/config/test_cc_raspberry_pi.py::TestRaspberryPiMethods::test_configure_interface_invalid PASSED [ 20%] tests/unittests/config/test_cc_raspberry_pi.py::TestRaspberryPiMethods::test_configure_serial_interface_dict_config PASSED [ 20%] tests/unittests/config/test_cc_raspberry_pi.py::TestRaspberryPiMethods::test_configure_serial_interface_boolean_config_non_pi5 PASSED [ 20%] tests/unittests/config/test_cc_raspberry_pi.py::TestRaspberryPiSchema::test_schema_validation[config0-None] PASSED [ 20%] tests/unittests/config/test_cc_raspberry_pi.py::TestRaspberryPiSchema::test_schema_validation[config1-rpi.interfaces.spi: 'true' is not of type 'boolean'] PASSED [ 20%] tests/unittests/config/test_cc_raspberry_pi.py::TestRaspberryPiSchema::test_schema_validation[config2-None] PASSED [ 20%] tests/unittests/config/test_cc_raspberry_pi.py::TestRaspberryPiSchema::test_schema_validation[config3-rpi.interfaces.serial.console: 123 is not of type 'boolean'] PASSED [ 20%] tests/unittests/config/test_cc_raspberry_pi.py::TestRaspberryPiSchema::test_schema_validation[config4-None] PASSED [ 20%] tests/unittests/config/test_cc_raspberry_pi.py::TestRaspberryPiSchema::test_schema_validation[config5-rpi.enable_usb_gadget: 'true' is not of type 'boolean'] PASSED [ 20%] tests/unittests/config/test_cc_resizefs.py::TestResizefs::test_skip_ufs_resize PASSED [ 20%] tests/unittests/config/test_cc_resizefs.py::TestResizefs::test_cannot_skip_ufs_resize PASSED [ 20%] tests/unittests/config/test_cc_resizefs.py::TestResizefs::test_cannot_skip_ufs_growfs_exception PASSED [ 20%] tests/unittests/config/test_cc_resizefs.py::TestResizefs::test_can_skip_resize_ext PASSED [ 20%] tests/unittests/config/test_cc_resizefs.py::TestResizefs::test_handle_noops_on_disabled PASSED [ 20%] tests/unittests/config/test_cc_resizefs.py::TestResizefs::test_handle_warns_on_unknown_mount_info PASSED [ 20%] tests/unittests/config/test_cc_resizefs.py::TestResizefs::test_handle_warns_on_undiscoverable_root_path_in_command_line PASSED [ 20%] tests/unittests/config/test_cc_resizefs.py::TestResizefs::test_resize_zfs_cmd_return PASSED [ 20%] tests/unittests/config/test_cc_resizefs.py::TestResizefs::test_resize_xfs_cmd_return PASSED [ 20%] tests/unittests/config/test_cc_resizefs.py::TestResizefs::test_resize_ext_cmd_return PASSED [ 20%] tests/unittests/config/test_cc_resizefs.py::TestResizefs::test_resize_ufs_cmd_return PASSED [ 21%] tests/unittests/config/test_cc_resizefs.py::TestResizefs::test_resize_bcachefs_cmd_return PASSED [ 21%] tests/unittests/config/test_cc_resizefs.py::TestResizefs::test_handle_zfs_root PASSED [ 21%] tests/unittests/config/test_cc_resizefs.py::TestResizefs::test_handle_modern_zfsroot PASSED [ 21%] tests/unittests/config/test_cc_resizefs.py::TestRootDevFromCmdline::test_rootdev_from_cmdline_with_no_root PASSED [ 21%] tests/unittests/config/test_cc_resizefs.py::TestRootDevFromCmdline::test_rootdev_from_cmdline_with_root_startswith_dev PASSED [ 21%] tests/unittests/config/test_cc_resizefs.py::TestRootDevFromCmdline::test_rootdev_from_cmdline_with_root_without_dev_prefix PASSED [ 21%] tests/unittests/config/test_cc_resizefs.py::TestRootDevFromCmdline::test_rootdev_from_cmdline_with_root_with_label PASSED [ 21%] tests/unittests/config/test_cc_resizefs.py::TestRootDevFromCmdline::test_rootdev_from_cmdline_with_root_with_uuid PASSED [ 21%] tests/unittests/config/test_cc_resizefs.py::TestMaybeGetDevicePathAsWritableBlock::test_maybe_get_writable_device_path_none_on_overlayroot PASSED [ 21%] tests/unittests/config/test_cc_resizefs.py::TestMaybeGetDevicePathAsWritableBlock::test_maybe_get_writable_device_path_warns_missing_cmdline_root PASSED [ 21%] tests/unittests/config/test_cc_resizefs.py::TestMaybeGetDevicePathAsWritableBlock::test_maybe_get_writable_device_path_does_not_exist PASSED [ 21%] tests/unittests/config/test_cc_resizefs.py::TestMaybeGetDevicePathAsWritableBlock::test_maybe_get_writable_device_path_does_not_exist_in_container PASSED [ 21%] tests/unittests/config/test_cc_resizefs.py::TestMaybeGetDevicePathAsWritableBlock::test_maybe_get_writable_device_path_raises_oserror PASSED [ 21%] tests/unittests/config/test_cc_resizefs.py::TestMaybeGetDevicePathAsWritableBlock::test_maybe_get_writable_device_path_non_block PASSED [ 21%] tests/unittests/config/test_cc_resizefs.py::TestMaybeGetDevicePathAsWritableBlock::test_maybe_get_writable_device_path_non_block_on_container PASSED [ 21%] tests/unittests/config/test_cc_resizefs.py::TestMaybeGetDevicePathAsWritableBlock::test_maybe_get_writable_device_path_returns_command_line_root PASSED [ 21%] tests/unittests/config/test_cc_resizefs.py::TestMaybeGetDevicePathAsWritableBlock::test_resize_btrfs_mount_is_ro PASSED [ 21%] tests/unittests/config/test_cc_resizefs.py::TestMaybeGetDevicePathAsWritableBlock::test_resize_btrfs_mount_is_rw PASSED [ 21%] tests/unittests/config/test_cc_resizefs.py::TestMaybeGetDevicePathAsWritableBlock::test_resize_btrfs_mount_is_rw_has_queue PASSED [ 21%] tests/unittests/config/test_cc_resizefs.py::TestMaybeGetDevicePathAsWritableBlock::test_resize_btrfs_version PASSED [ 21%] tests/unittests/config/test_cc_resizefs.py::TestMaybeGetDevicePathAsWritableBlock::test_maybe_get_writable_device_path_zfs_freebsd PASSED [ 21%] tests/unittests/config/test_cc_resizefs.py::TestResizefsSchema::test_schema_validation[config0-None] PASSED [ 21%] tests/unittests/config/test_cc_resizefs.py::TestResizefsSchema::test_schema_validation[config1-'wrong' is not one of \\[True, False, 'noblock'\\]] PASSED [ 21%] tests/unittests/config/test_cc_resizefs.py::TestZpool::test_get_device_info_from_zpool PASSED [ 21%] tests/unittests/config/test_cc_resizefs.py::TestZpool::test_get_device_info_from_zpool_no_dev_zfs PASSED [ 21%] tests/unittests/config/test_cc_resizefs.py::TestZpool::test_get_device_info_from_zpool_handles_no_zpool PASSED [ 21%] tests/unittests/config/test_cc_resizefs.py::TestZpool::test_get_device_info_from_zpool_on_error PASSED [ 21%] tests/unittests/config/test_cc_resolv_conf.py::TestResolvConf::test_resolv_conf_systemd_resolved PASSED [ 21%] tests/unittests/config/test_cc_resolv_conf.py::TestResolvConf::test_resolv_conf_no_param PASSED [ 21%] tests/unittests/config/test_cc_resolv_conf.py::TestResolvConf::test_resolv_conf_manage_resolv_conf_false PASSED [ 21%] tests/unittests/config/test_cc_resolv_conf.py::TestResolvConf::test_resolv_conf_etc_resolv_conf PASSED [ 21%] tests/unittests/config/test_cc_resolv_conf.py::TestResolvConf::test_resolv_conf_invalid_resolve_conf_fn PASSED [ 21%] tests/unittests/config/test_cc_resolv_conf.py::TestGenerateResolvConf::test_dist_resolv_conf_fn PASSED [ 21%] tests/unittests/config/test_cc_resolv_conf.py::TestGenerateResolvConf::test_target_fname_is_used_if_passed PASSED [ 21%] tests/unittests/config/test_cc_resolv_conf.py::TestGenerateResolvConf::test_flags_and_options[params0-None] PASSED [ 21%] tests/unittests/config/test_cc_resolv_conf.py::TestGenerateResolvConf::test_flags_and_options[params1-options foo] PASSED [ 21%] tests/unittests/config/test_cc_resolv_conf.py::TestGenerateResolvConf::test_flags_and_options[params2-None] PASSED [ 21%] tests/unittests/config/test_cc_resolv_conf.py::TestGenerateResolvConf::test_flags_and_options[params3-options foo:some_value] PASSED [ 21%] tests/unittests/config/test_cc_resolv_conf.py::TestGenerateResolvConf::test_flags_and_options[params4-options bar foo:some_value] PASSED [ 21%] tests/unittests/config/test_cc_resolv_conf.py::TestGenerateResolvConf::test_flags_and_options[params5-options bar:other_value foo:some_value] PASSED [ 21%] tests/unittests/config/test_cc_resolv_conf.py::TestGenerateResolvConf::test_flags_and_options[params6-options spam bar:other_value foo:some_value] PASSED [ 21%] tests/unittests/config/test_cc_resolv_conf.py::TestResolvConfSchema::test_schema_validation[config0-None] PASSED [ 21%] tests/unittests/config/test_cc_resolv_conf.py::TestResolvConfSchema::test_schema_validation[config1-None] PASSED [ 21%] tests/unittests/config/test_cc_resolv_conf.py::TestResolvConfSchema::test_schema_validation[config2-'asdf' is not of type 'boolean'] PASSED [ 21%] tests/unittests/config/test_cc_resolv_conf.py::TestResolvConfSchema::test_schema_validation[config3-Additional properties are not allowed] PASSED [ 21%] tests/unittests/config/test_cc_resolv_conf.py::TestResolvConfSchema::test_schema_validation[config4-'1.1.1.1' is not of type 'array'] PASSED [ 21%] tests/unittests/config/test_cc_resolv_conf.py::TestResolvConfSchema::test_schema_validation[config5-Additional properties are not allowed] PASSED [ 21%] tests/unittests/config/test_cc_resolv_conf.py::TestResolvConfSchema::test_schema_validation[config6-'foo.com' is not of type 'array'] PASSED [ 21%] tests/unittests/config/test_cc_resolv_conf.py::TestResolvConfSchema::test_schema_validation[config7-\\['foo.com'\\] is not of type 'string'] PASSED [ 21%] tests/unittests/config/test_cc_resolv_conf.py::TestResolvConfSchema::test_schema_validation[config8-'1.2.3.4' is not of type 'array'] PASSED [ 21%] tests/unittests/config/test_cc_resolv_conf.py::TestResolvConfSchema::test_schema_validation[config9-'timeout: 1' is not of type 'object'] PASSED [ 21%] tests/unittests/config/test_cc_resolv_conf.py::TestResolvConfSchema::test_schema_validation[config10-'rotate' is not of type 'object'] PASSED [ 21%] tests/unittests/config/test_cc_resolv_conf.py::TestResolvConfSchema::test_schema_validation[config11-\\['rotate'\\] is not of type 'object'] PASSED [ 21%] tests/unittests/config/test_cc_rh_subscription.py::TestHappyPath::test_already_registered PASSED [ 21%] tests/unittests/config/test_cc_rh_subscription.py::TestHappyPath::test_simple_registration PASSED [ 21%] tests/unittests/config/test_cc_rh_subscription.py::TestHappyPath::test_update_repos_disable_with_none[update_repos_disable_with_none] PASSED [ 21%] tests/unittests/config/test_cc_rh_subscription.py::TestHappyPath::test_update_repos_disable_with_none[same_functional_behavior_with_deprecated_keys] PASSED [ 22%] tests/unittests/config/test_cc_rh_subscription.py::TestHappyPath::test_full_registration PASSED [ 22%] tests/unittests/config/test_cc_rh_subscription.py::TestBadInput::test_no_password PASSED [ 22%] tests/unittests/config/test_cc_rh_subscription.py::TestBadInput::test_no_org PASSED [ 22%] tests/unittests/config/test_cc_rh_subscription.py::TestBadInput::test_service_level_without_auto[auto_attach_cfg0-warnings0] PASSED [ 22%] tests/unittests/config/test_cc_rh_subscription.py::TestBadInput::test_service_level_without_auto[auto_attach_cfg1-warnings1] PASSED [ 22%] tests/unittests/config/test_cc_rh_subscription.py::TestBadInput::test_pool_not_a_list PASSED [ 22%] tests/unittests/config/test_cc_rh_subscription.py::TestBadInput::test_repo_not_a_list PASSED [ 22%] tests/unittests/config/test_cc_rh_subscription.py::TestBadInput::test_bad_release_version PASSED [ 22%] tests/unittests/config/test_cc_rh_subscription.py::TestBadInput::test_pm_cache_deletion_after_setting_release_version PASSED [ 22%] tests/unittests/config/test_cc_rh_subscription.py::TestRhSubscriptionSchema::test_schema_validation[config0-Additional properties are not allowed] PASSED [ 22%] tests/unittests/config/test_cc_rh_subscription.py::TestRhSubscriptionSchema::test_schema_validation[config1-1 is not of type 'string'] PASSED [ 22%] tests/unittests/config/test_cc_rh_subscription.py::TestRhSubscriptionSchema::test_schema_validation[config2-1 is not of type 'string'] PASSED [ 22%] tests/unittests/config/test_cc_rh_subscription.py::TestRhSubscriptionSchema::test_schema_validation[config3-None] PASSED [ 22%] tests/unittests/config/test_cc_rh_subscription.py::TestRhSubscriptionSchema::test_schema_validation[config4-({'add_pool': \\['1'\\], 'add-pool': \\['2'\\]} should not be valid under {'required': \\['add_pool', 'add-pool'\\]}|{'required': \\['add_pool', 'add-pool'\\]} is not allowed for {'add_pool': \\['1'\\], 'add-pool': \\['2'\\]})] PASSED [ 22%] tests/unittests/config/test_cc_rh_subscription.py::TestRhSubscriptionSchema::test_schema_validation[config5-'name' is not of type 'array'] PASSED [ 22%] tests/unittests/config/test_cc_rh_subscription.py::TestRhSubscriptionSchema::test_schema_validation[config6-'name' is not of type 'array'] PASSED [ 22%] tests/unittests/config/test_cc_rh_subscription.py::TestRhSubscriptionSchema::test_schema_validation[config7-\\[10\\] is not of type 'string'] PASSED [ 22%] tests/unittests/config/test_cc_rh_subscription.py::TestRhSubscriptionSchema::test_schema_validation[config8-None] PASSED [ 22%] tests/unittests/config/test_cc_rh_subscription.py::TestRhSubscriptionSchema::test_schema_validation[config9-Deprecated in version 24.2. Use of type integer for this value is deprecated. Use a string instead.] PASSED [ 22%] tests/unittests/config/test_cc_rh_subscription.py::TestRhSubscriptionSchema::test_schema_validation_requiring_new_json_schema[config0-Deprecated in version 25.3. Use \\*\\*add_pool\\*\\* instead.] PASSED [ 22%] tests/unittests/config/test_cc_rh_subscription.py::TestConstructor::test_deprecated_values PASSED [ 22%] tests/unittests/config/test_cc_rsyslog.py::TestLoadConfig::test_legacy_full PASSED [ 22%] tests/unittests/config/test_cc_rsyslog.py::TestLoadConfig::test_legacy_defaults PASSED [ 22%] tests/unittests/config/test_cc_rsyslog.py::TestLoadConfig::test_new_defaults PASSED [ 22%] tests/unittests/config/test_cc_rsyslog.py::TestLoadConfig::test_new_bsd_defaults PASSED [ 22%] tests/unittests/config/test_cc_rsyslog.py::TestLoadConfig::test_new_configs PASSED [ 22%] tests/unittests/config/test_cc_rsyslog.py::TestApplyChanges::test_simple PASSED [ 22%] tests/unittests/config/test_cc_rsyslog.py::TestApplyChanges::test_multiple_files PASSED [ 22%] tests/unittests/config/test_cc_rsyslog.py::TestApplyChanges::test_repeat_def PASSED [ 22%] tests/unittests/config/test_cc_rsyslog.py::TestApplyChanges::test_multiline_content PASSED [ 22%] tests/unittests/config/test_cc_rsyslog.py::TestParseRemotesLine::test_valid_port PASSED [ 22%] tests/unittests/config/test_cc_rsyslog.py::TestParseRemotesLine::test_invalid_port PASSED [ 22%] tests/unittests/config/test_cc_rsyslog.py::TestParseRemotesLine::test_valid_ipv6 PASSED [ 22%] tests/unittests/config/test_cc_rsyslog.py::TestParseRemotesLine::test_valid_ipv6_with_port PASSED [ 22%] tests/unittests/config/test_cc_rsyslog.py::TestParseRemotesLine::test_invalid_multiple_colon PASSED [ 22%] tests/unittests/config/test_cc_rsyslog.py::TestParseRemotesLine::test_name_in_string PASSED [ 22%] tests/unittests/config/test_cc_rsyslog.py::TestRemotesToSyslog::test_simple PASSED [ 22%] tests/unittests/config/test_cc_rsyslog.py::TestRemotesToSyslog::test_header_footer PASSED [ 22%] tests/unittests/config/test_cc_rsyslog.py::TestRemotesToSyslog::test_with_empty_or_null PASSED [ 22%] tests/unittests/config/test_cc_rsyslog.py::TestRsyslogSchema::test_schema_validation[config0-None] PASSED [ 22%] tests/unittests/config/test_cc_rsyslog.py::TestRsyslogSchema::test_schema_validation[config1-Additional properties are not allowed] PASSED [ 22%] tests/unittests/config/test_cc_rsyslog.py::TestRsyslogSchema::test_schema_validation[config2-] PASSED [ 22%] tests/unittests/config/test_cc_rsyslog.py::TestRsyslogSchema::test_schema_validation[config3-] PASSED [ 22%] tests/unittests/config/test_cc_rsyslog.py::TestRsyslogSchema::test_schema_validation[config4-\\['a'\\] is not of type 'object'] PASSED [ 22%] tests/unittests/config/test_cc_rsyslog.py::TestRsyslogSchema::test_schema_validation[config5-'a' is not of type 'object] PASSED [ 22%] tests/unittests/config/test_cc_rsyslog.py::TestRsyslogSchema::test_schema_validation[config6-] PASSED [ 22%] tests/unittests/config/test_cc_rsyslog.py::TestInvalidKeyType::test_invalid_key_types[config0-Invalid type for key `configs`. Expected type(s): . Current type: ] PASSED [ 22%] tests/unittests/config/test_cc_rsyslog.py::TestInvalidKeyType::test_invalid_key_types[config1-Invalid type for key `config_dir`. Expected type(s): . Current type: ] PASSED [ 22%] tests/unittests/config/test_cc_rsyslog.py::TestInvalidKeyType::test_invalid_key_types[config2-Invalid type for key `config_filename`. Expected type(s): . Current type: ] PASSED [ 22%] tests/unittests/config/test_cc_rsyslog.py::TestInvalidKeyType::test_invalid_key_types[config3-Invalid type for key `service_reload_command`. Expected type(s): (, ). Current type: ] PASSED [ 22%] tests/unittests/config/test_cc_rsyslog.py::TestInvalidKeyType::test_invalid_key_types[config4-Invalid type for key `remotes`. Expected type(s): . Current type: ] PASSED [ 22%] tests/unittests/config/test_cc_rsyslog.py::TestInstallRsyslog::test_install_rsyslog_on_freebsd PASSED [ 22%] tests/unittests/config/test_cc_rsyslog.py::TestInstallRsyslog::test_no_install_rsyslog_with_check_exe PASSED [ 22%] tests/unittests/config/test_cc_runcmd.py::TestRuncmd::test_handler_skip_if_no_runcmd PASSED [ 22%] tests/unittests/config/test_cc_runcmd.py::TestRuncmd::test_runcmd_shellify_fails PASSED [ 22%] tests/unittests/config/test_cc_runcmd.py::TestRuncmd::test_handler_invalid_command_set PASSED [ 22%] tests/unittests/config/test_cc_runcmd.py::TestRuncmd::test_handler_write_valid_runcmd_schema_to_file PASSED [ 22%] tests/unittests/config/test_cc_runcmd.py::TestRunCmdSchema::test_schema_validation[config0-None] PASSED [ 23%] tests/unittests/config/test_cc_runcmd.py::TestRunCmdSchema::test_schema_validation[config1-None] PASSED [ 23%] tests/unittests/config/test_cc_runcmd.py::TestRunCmdSchema::test_schema_validation[config2-1 is not of type 'array'] PASSED [ 23%] tests/unittests/config/test_cc_runcmd.py::TestRunCmdSchema::test_schema_validation[config3-runcmd: \\[\\] (is too short|should be non-empty|does not have enough properties)] PASSED [ 23%] tests/unittests/config/test_cc_runcmd.py::TestRunCmdSchema::test_schema_validation[config4-is not of type] PASSED [ 23%] tests/unittests/config/test_cc_scripts_vendor.py::TestScriptsVendorSchema::test_schema_validation[config0-expectation0] PASSED [ 23%] tests/unittests/config/test_cc_scripts_vendor.py::TestScriptsVendorSchema::test_schema_validation[config1-expectation1] PASSED [ 23%] tests/unittests/config/test_cc_scripts_vendor.py::TestScriptsVendorSchema::test_schema_validation[config2-expectation2] PASSED [ 23%] tests/unittests/config/test_cc_seed_random.py::TestRandomSeed::test_append_random PASSED [ 23%] tests/unittests/config/test_cc_seed_random.py::TestRandomSeed::test_append_random_unknown_encoding PASSED [ 23%] tests/unittests/config/test_cc_seed_random.py::TestRandomSeed::test_append_random_gzip PASSED [ 23%] tests/unittests/config/test_cc_seed_random.py::TestRandomSeed::test_append_random_gz PASSED [ 23%] tests/unittests/config/test_cc_seed_random.py::TestRandomSeed::test_append_random_base64 PASSED [ 23%] tests/unittests/config/test_cc_seed_random.py::TestRandomSeed::test_append_random_b64 PASSED [ 23%] tests/unittests/config/test_cc_seed_random.py::TestRandomSeed::test_append_random_metadata PASSED [ 23%] tests/unittests/config/test_cc_seed_random.py::TestRandomSeed::test_seed_command_provided_and_available PASSED [ 23%] tests/unittests/config/test_cc_seed_random.py::TestRandomSeed::test_seed_command_not_provided PASSED [ 23%] tests/unittests/config/test_cc_seed_random.py::TestRandomSeed::test_unavailable_seed_command_and_required_raises_error PASSED [ 23%] tests/unittests/config/test_cc_seed_random.py::TestRandomSeed::test_seed_command_and_required PASSED [ 23%] tests/unittests/config/test_cc_seed_random.py::TestRandomSeed::test_file_in_environment_for_command PASSED [ 23%] tests/unittests/config/test_cc_seed_random.py::TestSeedRandomSchema::test_schema_validation[config0-'bad' is not one of \\['raw', 'base64', 'b64', 'gzip', 'gz'\\]] PASSED [ 23%] tests/unittests/config/test_cc_seed_random.py::TestSeedRandomSchema::test_schema_validation[config1-'foo' is not of type 'array'] PASSED [ 23%] tests/unittests/config/test_cc_seed_random.py::TestSeedRandomSchema::test_schema_validation[config2-'true' is not of type 'boolean'] PASSED [ 23%] tests/unittests/config/test_cc_seed_random.py::TestSeedRandomSchema::test_schema_validation[config3-Additional properties are not allowed] PASSED [ 23%] tests/unittests/config/test_cc_set_hostname.py::TestHostname::test_write_hostname[debian] PASSED [ 23%] tests/unittests/config/test_cc_set_hostname.py::TestHostname::test_write_hostname[debian_prefer_fqdn] PASSED [ 23%] tests/unittests/config/test_cc_set_hostname.py::TestHostname::test_write_hostname[rhel] PASSED [ 23%] tests/unittests/config/test_cc_set_hostname.py::TestHostname::test_write_hostname[rhel_prefer_hostname] PASSED [ 23%] tests/unittests/config/test_cc_set_hostname.py::TestHostname::test_write_hostname[sles] PASSED [ 23%] tests/unittests/config/test_cc_set_hostname.py::TestHostname::test_photon_hostname PASSED [ 23%] tests/unittests/config/test_cc_set_hostname.py::TestHostname::test_multiple_calls_skips_unchanged_hostname PASSED [ 23%] tests/unittests/config/test_cc_set_hostname.py::TestHostname::test_localhost_default_hostname PASSED [ 23%] tests/unittests/config/test_cc_set_hostname.py::TestHostname::test_localhost_user_given_hostname PASSED [ 23%] tests/unittests/config/test_cc_set_hostname.py::TestHostname::test_error_on_distro_set_hostname_errors PASSED [ 23%] tests/unittests/config/test_cc_set_hostname.py::TestHostname::test_ignore_empty_previous_artifact_file PASSED [ 23%] tests/unittests/config/test_cc_set_hostname.py::TestHostname::test_create_hostname_file_false[debian] PASSED [ 23%] tests/unittests/config/test_cc_set_hostname.py::TestHostname::test_create_hostname_file_false[arch] PASSED [ 23%] tests/unittests/config/test_cc_set_hostname.py::TestHostname::test_create_hostname_file_false[alpine] PASSED [ 23%] tests/unittests/config/test_cc_set_hostname.py::TestHostname::test_create_hostname_file_false[gentoo] PASSED [ 23%] tests/unittests/config/test_cc_set_hostname.py::TestHostname::test_create_hostname_file_false[photon] PASSED [ 23%] tests/unittests/config/test_cc_set_hostname.py::TestHostname::test_create_hostname_file_false[rhel] PASSED [ 23%] tests/unittests/config/test_cc_set_passwords.py::TestHandleSSHPwauth::test_unknown_value_logs_warning PASSED [ 23%] tests/unittests/config/test_cc_set_passwords.py::TestHandleSSHPwauth::test_restart_ssh_only_when_changes_made_and_ssh_installed[True-True-activating] PASSED [ 23%] tests/unittests/config/test_cc_set_passwords.py::TestHandleSSHPwauth::test_restart_ssh_only_when_changes_made_and_ssh_installed[True-True-inactive] PASSED [ 23%] tests/unittests/config/test_cc_set_passwords.py::TestHandleSSHPwauth::test_restart_ssh_only_when_changes_made_and_ssh_installed[True-False-None] PASSED [ 23%] tests/unittests/config/test_cc_set_passwords.py::TestHandleSSHPwauth::test_restart_ssh_only_when_changes_made_and_ssh_installed[False-False-None] PASSED [ 23%] tests/unittests/config/test_cc_set_passwords.py::TestHandleSSHPwauth::test_unchanged_value_does_nothing PASSED [ 23%] tests/unittests/config/test_cc_set_passwords.py::TestHandleSSHPwauth::test_valid_value_changes_updates_ssh PASSED [ 23%] tests/unittests/config/test_cc_set_passwords.py::TestSetPasswordsHandle::test_handle_on_empty_config PASSED [ 23%] tests/unittests/config/test_cc_set_passwords.py::TestSetPasswordsHandle::test_handle_on_chpasswd_list_parses_common_hashes PASSED [ 23%] tests/unittests/config/test_cc_set_passwords.py::TestSetPasswordsHandle::test_handle_on_chpasswd_users_parses_common_hashes PASSED [ 23%] tests/unittests/config/test_cc_set_passwords.py::TestSetPasswordsHandle::test_bsd_calls_custom_pw_cmds_to_set_and_expire_passwords[user_cfg0] PASSED [ 23%] tests/unittests/config/test_cc_set_passwords.py::TestSetPasswordsHandle::test_bsd_calls_custom_pw_cmds_to_set_and_expire_passwords[user_cfg1] PASSED [ 23%] tests/unittests/config/test_cc_set_passwords.py::TestSetPasswordsHandle::test_random_passwords[user_cfg0] PASSED [ 23%] tests/unittests/config/test_cc_set_passwords.py::TestSetPasswordsHandle::test_random_passwords[user_cfg1] PASSED [ 23%] tests/unittests/config/test_cc_set_passwords.py::TestSetPasswordsHandle::test_chpasswd_parity[list_def0-users_def0] PASSED [ 23%] tests/unittests/config/test_cc_set_passwords.py::TestSetPasswordsHandle::test_chpasswd_parity[list_def1-users_def1] PASSED [ 23%] tests/unittests/config/test_cc_set_passwords.py::TestSetPasswordsHandle::test_chpasswd_parity[list_def2-users_def2] PASSED [ 24%] tests/unittests/config/test_cc_set_passwords.py::TestExpire::test_expire[cfg0] PASSED [ 24%] tests/unittests/config/test_cc_set_passwords.py::TestExpire::test_expire[cfg1] PASSED [ 24%] tests/unittests/config/test_cc_set_passwords.py::TestExpire::test_expire[cfg2] PASSED [ 24%] tests/unittests/config/test_cc_set_passwords.py::TestExpire::test_expire[cfg3] PASSED [ 24%] tests/unittests/config/test_cc_set_passwords.py::TestExpire::test_expire_old_behavior[cfg0] PASSED [ 24%] tests/unittests/config/test_cc_set_passwords.py::TestExpire::test_expire_old_behavior[cfg1] PASSED [ 24%] tests/unittests/config/test_cc_set_passwords.py::TestExpire::test_expire_old_behavior[cfg2] PASSED [ 24%] tests/unittests/config/test_cc_set_passwords.py::TestExpire::test_expire_old_behavior[cfg3] PASSED [ 24%] tests/unittests/config/test_cc_set_passwords.py::TestRandUserPassword::test_rand_user_password[1-ValueError] PASSED [ 24%] tests/unittests/config/test_cc_set_passwords.py::TestRandUserPassword::test_rand_user_password[2-ValueError] PASSED [ 24%] tests/unittests/config/test_cc_set_passwords.py::TestRandUserPassword::test_rand_user_password[3-ValueError] PASSED [ 24%] tests/unittests/config/test_cc_set_passwords.py::TestRandUserPassword::test_rand_user_password[4-4] PASSED [ 24%] tests/unittests/config/test_cc_set_passwords.py::TestRandUserPassword::test_rand_user_password[5-4] PASSED [ 24%] tests/unittests/config/test_cc_set_passwords.py::TestRandUserPassword::test_rand_user_password[20-4] PASSED [ 24%] tests/unittests/config/test_cc_set_passwords.py::TestSetPasswordsSchema::test_schema_validation[config0-expectation0] PASSED [ 24%] tests/unittests/config/test_cc_set_passwords.py::TestSetPasswordsSchema::test_schema_validation[config1-expectation1] PASSED [ 24%] tests/unittests/config/test_cc_set_passwords.py::TestSetPasswordsSchema::test_schema_validation[config2-expectation2] PASSED [ 24%] tests/unittests/config/test_cc_set_passwords.py::TestSetPasswordsSchema::test_schema_validation[config3-expectation3] PASSED [ 24%] tests/unittests/config/test_cc_set_passwords.py::TestSetPasswordsSchema::test_schema_validation[config4-expectation4] PASSED [ 24%] tests/unittests/config/test_cc_set_passwords.py::TestSetPasswordsSchema::test_schema_validation[config5-expectation5] PASSED [ 24%] tests/unittests/config/test_cc_set_passwords.py::TestSetPasswordsSchema::test_schema_validation[config6-expectation6] PASSED [ 24%] tests/unittests/config/test_cc_set_passwords.py::TestSetPasswordsSchema::test_schema_validation[config7-expectation7] PASSED [ 24%] tests/unittests/config/test_cc_set_passwords.py::TestSetPasswordsSchema::test_schema_validation[config8-expectation8] PASSED [ 24%] tests/unittests/config/test_cc_set_passwords.py::TestSetPasswordsSchema::test_schema_validation[config9-expectation9] PASSED [ 24%] tests/unittests/config/test_cc_set_passwords.py::TestSetPasswordsSchema::test_schema_validation[dat_is_an_additional_property] PASSED [ 24%] tests/unittests/config/test_cc_set_passwords.py::TestSetPasswordsSchema::test_schema_validation[config11-expectation11] PASSED [ 24%] tests/unittests/config/test_cc_set_passwords.py::TestSetPasswordsSchema::test_schema_validation[config12-expectation12] PASSED [ 24%] tests/unittests/config/test_cc_set_passwords.py::TestSetPasswordsSchema::test_schema_validation[config13-expectation13] PASSED [ 24%] tests/unittests/config/test_cc_set_passwords.py::TestSetPasswordsSchema::test_schema_validation[config14-expectation14] PASSED [ 24%] tests/unittests/config/test_cc_set_passwords.py::TestSetPasswordsSchema::test_schema_validation[config15-expectation15] PASSED [ 24%] tests/unittests/config/test_cc_set_passwords.py::TestSetPasswordsSchema::test_schema_validation[config16-expectation16] PASSED [ 24%] tests/unittests/config/test_cc_snap.py::TestAddAssertions::test_add_assertions_on_empty_list PASSED [ 24%] tests/unittests/config/test_cc_snap.py::TestAddAssertions::test_add_assertions_on_non_list_or_dict PASSED [ 24%] tests/unittests/config/test_cc_snap.py::TestAddAssertions::test_add_assertions_adds_assertions_as_list PASSED [ 24%] tests/unittests/config/test_cc_snap.py::TestAddAssertions::test_add_assertions_adds_assertions_as_dict PASSED [ 24%] tests/unittests/config/test_cc_snap.py::TestRunCommands::test_run_commands_on_empty_list PASSED [ 24%] tests/unittests/config/test_cc_snap.py::TestRunCommands::test_run_commands_on_non_list_or_dict PASSED [ 24%] tests/unittests/config/test_cc_snap.py::TestCommands::test_run_command_dict_sorted_as_command_script PASSED [ 24%] tests/unittests/config/test_cc_snap.py::TestCommands::test_run_command_as_lists PASSED [ 24%] tests/unittests/config/test_cc_snap.py::TestSnapSchema::test_schema_validation[config0-None] PASSED [ 24%] tests/unittests/config/test_cc_snap.py::TestSnapSchema::test_schema_validation[config1-None] PASSED [ 24%] tests/unittests/config/test_cc_snap.py::TestSnapSchema::test_schema_validation[config2-None] PASSED [ 24%] tests/unittests/config/test_cc_snap.py::TestSnapSchema::test_schema_validation[config3-None] PASSED [ 24%] tests/unittests/config/test_cc_snap.py::TestSnapSchema::test_schema_validation[config4-None] PASSED [ 24%] tests/unittests/config/test_cc_snap.py::TestSnapSchema::test_schema_validation[config5-None] PASSED [ 24%] tests/unittests/config/test_cc_snap.py::TestSnapSchema::test_schema_validation[config6-None] PASSED [ 24%] tests/unittests/config/test_cc_snap.py::TestSnapSchema::test_schema_validation[config7-None] PASSED [ 24%] tests/unittests/config/test_cc_snap.py::TestSnapSchema::test_schema_validation[config8-'wrong type' is not of type 'object'] PASSED [ 24%] tests/unittests/config/test_cc_snap.py::TestSnapSchema::test_schema_validation[config9-Additional properties are not allowed] PASSED [ 24%] tests/unittests/config/test_cc_snap.py::TestSnapSchema::test_schema_validation[config10-{} (is too short|should be non-empty|does not have enough properties)] PASSED [ 24%] tests/unittests/config/test_cc_snap.py::TestSnapSchema::test_schema_validation[config11-'broken' is not of type 'object', 'array'] PASSED [ 24%] tests/unittests/config/test_cc_snap.py::TestSnapSchema::test_schema_validation[config12-snap.commands: \\[\\] (is too short|should be non-empty|does not have enough properties)] PASSED [ 24%] tests/unittests/config/test_cc_snap.py::TestSnapSchema::test_schema_validation[config13-snap.commands: {} (is too short|should be non-empty|does not have enough properties)] PASSED [ 24%] tests/unittests/config/test_cc_snap.py::TestSnapSchema::test_schema_validation[config14-] PASSED [ 24%] tests/unittests/config/test_cc_snap.py::TestSnapSchema::test_schema_validation[config15-] PASSED [ 24%] tests/unittests/config/test_cc_snap.py::TestSnapSchema::test_schema_validation[config16-] PASSED [ 24%] tests/unittests/config/test_cc_snap.py::TestSnapSchema::test_schema_validation[config17-] PASSED [ 25%] tests/unittests/config/test_cc_snap.py::TestSnapSchema::test_schema_validation[config18-123 is not of type 'string'] PASSED [ 25%] tests/unittests/config/test_cc_snap.py::TestSnapSchema::test_schema_validation[config19-123 is not of type 'string'] PASSED [ 25%] tests/unittests/config/test_cc_snap.py::TestSnapSchema::test_schema_validation[config20-'broken' is not of type 'object', 'array'] PASSED [ 25%] tests/unittests/config/test_cc_snap.py::TestSnapSchema::test_schema_validation[config21-\\[\\] (is too short|should be non-empty|does not have enough properties)] PASSED [ 25%] tests/unittests/config/test_cc_snap.py::TestSnapSchema::test_schema_validation[config22-\\{} (is too short|should be non-empty|does not have enough properties)] PASSED [ 25%] tests/unittests/config/test_cc_snap.py::TestHandle::test_handle_adds_assertions PASSED [ 25%] tests/unittests/config/test_cc_spacewalk.py::TestSpacewalk::test_not_is_registered PASSED [ 25%] tests/unittests/config/test_cc_spacewalk.py::TestSpacewalk::test_is_registered PASSED [ 25%] tests/unittests/config/test_cc_spacewalk.py::TestSpacewalk::test_do_register PASSED [ 25%] tests/unittests/config/test_cc_ssh.py::TestHandleSsh::test_apply_credentials[with_user] PASSED [ 25%] tests/unittests/config/test_cc_ssh.py::TestHandleSsh::test_apply_credentials[with_no_user] PASSED [ 25%] tests/unittests/config/test_cc_ssh.py::TestHandleSsh::test_apply_credentials[with_user_disable_root] PASSED [ 25%] tests/unittests/config/test_cc_ssh.py::TestHandleSsh::test_apply_credentials[with_no_user_disable_root] PASSED [ 25%] tests/unittests/config/test_cc_ssh.py::TestHandleSsh::test_handle_no_cfg[True] PASSED [ 25%] tests/unittests/config/test_cc_ssh.py::TestHandleSsh::test_handle_no_cfg[False] PASSED [ 25%] tests/unittests/config/test_cc_ssh.py::TestHandleSsh::test_dont_allow_public_ssh_keys PASSED [ 25%] tests/unittests/config/test_cc_ssh.py::TestHandleSsh::test_handle_default_root[no_cfg] PASSED [ 25%] tests/unittests/config/test_cc_ssh.py::TestHandleSsh::test_handle_default_root[explicit_disable_root] PASSED [ 25%] tests/unittests/config/test_cc_ssh.py::TestHandleSsh::test_handle_default_root[cfg_without_disable_root] PASSED [ 25%] tests/unittests/config/test_cc_ssh.py::TestHandleSsh::test_handle_publish_hostkeys[default] PASSED [ 25%] tests/unittests/config/test_cc_ssh.py::TestHandleSsh::test_handle_publish_hostkeys[config_enable] PASSED [ 25%] tests/unittests/config/test_cc_ssh.py::TestHandleSsh::test_handle_publish_hostkeys[config_disable] PASSED [ 25%] tests/unittests/config/test_cc_ssh.py::TestHandleSsh::test_handle_publish_hostkeys[config_blacklist] PASSED [ 25%] tests/unittests/config/test_cc_ssh.py::TestHandleSsh::test_handle_publish_hostkeys[empty_blacklist] PASSED [ 25%] tests/unittests/config/test_cc_ssh.py::TestHandleSsh::test_ssh_hostkey_permissions[False-9-384] PASSED [ 25%] tests/unittests/config/test_cc_ssh.py::TestHandleSsh::test_ssh_hostkey_permissions[True-8-416] PASSED [ 25%] tests/unittests/config/test_cc_ssh.py::TestHandleSsh::test_ssh_hostkey_permissions[True-10-384] PASSED [ 25%] tests/unittests/config/test_cc_ssh.py::TestHandleSsh::test_handle_ssh_keys_in_cfg[False] PASSED [ 25%] tests/unittests/config/test_cc_ssh.py::TestHandleSsh::test_handle_ssh_keys_in_cfg[True] PASSED [ 25%] tests/unittests/config/test_cc_ssh.py::TestHandleSsh::test_handle_invalid_ssh_keys_are_skipped[ecdsa-sk-unsupported] PASSED [ 25%] tests/unittests/config/test_cc_ssh.py::TestHandleSsh::test_handle_invalid_ssh_keys_are_skipped[ed25519-sk-unsupported] PASSED [ 25%] tests/unittests/config/test_cc_ssh.py::TestHandleSsh::test_handle_invalid_ssh_keys_are_skipped[public-unrecognized] PASSED [ 25%] tests/unittests/config/test_cc_ssh.py::TestSshSchema::test_schema_validation[config0-None] PASSED [ 25%] tests/unittests/config/test_cc_ssh.py::TestSshSchema::test_schema_validation[config1-'rsa_a' does not match any of the regexes] PASSED [ 25%] tests/unittests/config/test_cc_ssh.py::TestSshSchema::test_schema_validation[config2-'a_public' does not match any of the regexes] PASSED [ 25%] tests/unittests/config/test_cc_ssh.py::TestSshSchema::test_schema_validation[config3-'ecdsa-sk_public' does not match any of the regexes] PASSED [ 25%] tests/unittests/config/test_cc_ssh.py::TestSshSchema::test_schema_validation[config4-'ed25519-sk_public' does not match any of the regexes] PASSED [ 25%] tests/unittests/config/test_cc_ssh.py::TestSshSchema::test_schema_validation[config5-'ssh-rsa blah' is not of type 'array'] PASSED [ 25%] tests/unittests/config/test_cc_ssh.py::TestSshSchema::test_schema_validation[config6-'bad' is not one of] PASSED [ 25%] tests/unittests/config/test_cc_ssh.py::TestSshSchema::test_schema_validation[config7-\\['no-port-forwarding'\\] is not of type 'string'] PASSED [ 25%] tests/unittests/config/test_cc_ssh.py::TestSshSchema::test_schema_validation[config8-Additional properties are not allowed] PASSED [ 25%] tests/unittests/config/test_cc_ssh_import_id.py::TestIsKeyInNestedDict::test_find_ssh_import_id_directives[cfg0-False] PASSED [ 25%] tests/unittests/config/test_cc_ssh_import_id.py::TestIsKeyInNestedDict::test_find_ssh_import_id_directives[cfg1-False] PASSED [ 25%] tests/unittests/config/test_cc_ssh_import_id.py::TestIsKeyInNestedDict::test_find_ssh_import_id_directives[cfg2-True] PASSED [ 25%] tests/unittests/config/test_cc_ssh_import_id.py::TestIsKeyInNestedDict::test_find_ssh_import_id_directives[cfg3-True] PASSED [ 25%] tests/unittests/config/test_cc_ssh_import_id.py::TestIsKeyInNestedDict::test_find_ssh_import_id_directives[cfg4-True] PASSED [ 25%] tests/unittests/config/test_cc_ssh_import_id.py::TestIsKeyInNestedDict::test_find_ssh_import_id_directives[cfg5-True] PASSED [ 25%] tests/unittests/config/test_cc_ssh_import_id.py::TestIsKeyInNestedDict::test_find_ssh_import_id_directives[cfg6-True] PASSED [ 25%] tests/unittests/config/test_cc_ssh_import_id.py::TestHandleSshImportIDs::test_skip_inapplicable_configs[cfg0-no 'ssh_import_id' directives found] PASSED [ 25%] tests/unittests/config/test_cc_ssh_import_id.py::TestHandleSshImportIDs::test_skip_inapplicable_configs[cfg1-no 'ssh_import_id' directives found] PASSED [ 25%] tests/unittests/config/test_cc_ssh_import_id.py::TestHandleSshImportIDs::test_skip_inapplicable_configs[cfg2-ssh-import-id is not installed] PASSED [ 25%] tests/unittests/config/test_cc_ssh_import_id.py::TestHandleSshImportIDs::test_use_sudo PASSED [ 25%] tests/unittests/config/test_cc_ssh_import_id.py::TestHandleSshImportIDs::test_use_doas PASSED [ 25%] tests/unittests/config/test_cc_ssh_import_id.py::TestHandleSshImportIDs::test_use_neither_sudo_nor_doas PASSED [ 25%] tests/unittests/config/test_cc_ssh_import_id.py::TestHandleSshImportIDs::test_retry_once_on_exit_code_1 PASSED [ 25%] tests/unittests/config/test_cc_ssh_import_id.py::TestHandleSshImportIDs::test_retry_with_success PASSED [ 25%] tests/unittests/config/test_cc_timezone.py::TestTimezone::test_set_timezone_sles PASSED [ 25%] tests/unittests/config/test_cc_ubuntu_autoinstall.py::TestHandleAutoinstall::test_handle_autoinstall_cfg[valid_autoinstall_schema_checks_snaps] PASSED [ 26%] tests/unittests/config/test_cc_ubuntu_autoinstall.py::TestHandleAutoinstall::test_handle_autoinstall_cfg[valid_autoinstall_schema_sees_subiquity] PASSED [ 26%] tests/unittests/config/test_cc_ubuntu_autoinstall.py::TestHandleAutoinstall::test_handle_autoinstall_cfg[valid_autoinstall_schema_sees_desktop_installer] PASSED [ 26%] tests/unittests/config/test_cc_ubuntu_autoinstall.py::TestAutoInstallSchema::test_schema_validation[config0-autoinstall: 'version' is a required property] PASSED [ 26%] tests/unittests/config/test_cc_ubuntu_autoinstall.py::TestAutoInstallSchema::test_schema_validation[config1-None] PASSED [ 26%] tests/unittests/config/test_cc_ubuntu_autoinstall.py::TestAutoInstallSchema::test_schema_validation[config2-is not of type 'integer'] PASSED [ 26%] tests/unittests/config/test_cc_ubuntu_drivers.py::TestUbuntuDrivers::test_happy_path_taken[True-without_version] PASSED [ 26%] tests/unittests/config/test_cc_ubuntu_drivers.py::TestUbuntuDrivers::test_happy_path_taken[True-with_version] PASSED [ 26%] tests/unittests/config/test_cc_ubuntu_drivers.py::TestUbuntuDrivers::test_happy_path_taken[yes-without_version] PASSED [ 26%] tests/unittests/config/test_cc_ubuntu_drivers.py::TestUbuntuDrivers::test_happy_path_taken[yes-with_version] PASSED [ 26%] tests/unittests/config/test_cc_ubuntu_drivers.py::TestUbuntuDrivers::test_happy_path_taken[true-without_version] PASSED [ 26%] tests/unittests/config/test_cc_ubuntu_drivers.py::TestUbuntuDrivers::test_happy_path_taken[true-with_version] PASSED [ 26%] tests/unittests/config/test_cc_ubuntu_drivers.py::TestUbuntuDrivers::test_happy_path_taken[on-without_version] PASSED [ 26%] tests/unittests/config/test_cc_ubuntu_drivers.py::TestUbuntuDrivers::test_happy_path_taken[on-with_version] PASSED [ 26%] tests/unittests/config/test_cc_ubuntu_drivers.py::TestUbuntuDrivers::test_happy_path_taken[1-without_version] PASSED [ 26%] tests/unittests/config/test_cc_ubuntu_drivers.py::TestUbuntuDrivers::test_happy_path_taken[1-with_version] PASSED [ 26%] tests/unittests/config/test_cc_ubuntu_drivers.py::TestUbuntuDrivers::test_handle_raises_error_if_no_drivers_found[without_version] PASSED [ 26%] tests/unittests/config/test_cc_ubuntu_drivers.py::TestUbuntuDrivers::test_handle_raises_error_if_no_drivers_found[with_version] PASSED [ 26%] tests/unittests/config/test_cc_ubuntu_drivers.py::TestUbuntuDrivers::test_handle_inert[license_not_accepted-without_version] PASSED [ 26%] tests/unittests/config/test_cc_ubuntu_drivers.py::TestUbuntuDrivers::test_handle_inert[license_not_accepted-with_version] PASSED [ 26%] tests/unittests/config/test_cc_ubuntu_drivers.py::TestUbuntuDrivers::test_handle_inert[garbage_in_license_field-without_version] PASSED [ 26%] tests/unittests/config/test_cc_ubuntu_drivers.py::TestUbuntuDrivers::test_handle_inert[garbage_in_license_field-with_version] PASSED [ 26%] tests/unittests/config/test_cc_ubuntu_drivers.py::TestUbuntuDrivers::test_handle_inert[no_license_key-without_version] PASSED [ 26%] tests/unittests/config/test_cc_ubuntu_drivers.py::TestUbuntuDrivers::test_handle_inert[no_license_key-with_version] PASSED [ 26%] tests/unittests/config/test_cc_ubuntu_drivers.py::TestUbuntuDrivers::test_handle_inert[no_nvidia_key-without_version] PASSED [ 26%] tests/unittests/config/test_cc_ubuntu_drivers.py::TestUbuntuDrivers::test_handle_inert[no_nvidia_key-with_version] PASSED [ 26%] tests/unittests/config/test_cc_ubuntu_drivers.py::TestUbuntuDrivers::test_handle_inert[string_given_no-without_version] PASSED [ 26%] tests/unittests/config/test_cc_ubuntu_drivers.py::TestUbuntuDrivers::test_handle_inert[string_given_no-with_version] PASSED [ 26%] tests/unittests/config/test_cc_ubuntu_drivers.py::TestUbuntuDrivers::test_handle_inert[string_given_false-without_version] PASSED [ 26%] tests/unittests/config/test_cc_ubuntu_drivers.py::TestUbuntuDrivers::test_handle_inert[string_given_false-with_version] PASSED [ 26%] tests/unittests/config/test_cc_ubuntu_drivers.py::TestUbuntuDrivers::test_handle_inert[string_given_off-without_version] PASSED [ 26%] tests/unittests/config/test_cc_ubuntu_drivers.py::TestUbuntuDrivers::test_handle_inert[string_given_off-with_version] PASSED [ 26%] tests/unittests/config/test_cc_ubuntu_drivers.py::TestUbuntuDrivers::test_handle_inert[string_given_0-without_version] PASSED [ 26%] tests/unittests/config/test_cc_ubuntu_drivers.py::TestUbuntuDrivers::test_handle_inert[string_given_0-with_version] PASSED [ 26%] tests/unittests/config/test_cc_ubuntu_drivers.py::TestUbuntuDrivers::test_handle_inert[with_version-without_version] PASSED [ 26%] tests/unittests/config/test_cc_ubuntu_drivers.py::TestUbuntuDrivers::test_handle_inert[with_version-with_version] PASSED [ 26%] tests/unittests/config/test_cc_ubuntu_drivers.py::TestUbuntuDrivers::test_handle_no_drivers_does_nothing[without_version] PASSED [ 26%] tests/unittests/config/test_cc_ubuntu_drivers.py::TestUbuntuDrivers::test_handle_no_drivers_does_nothing[with_version] PASSED [ 26%] tests/unittests/config/test_cc_ubuntu_drivers.py::TestUbuntuDrivers::test_install_drivers_no_install_if_present[without_version] PASSED [ 26%] tests/unittests/config/test_cc_ubuntu_drivers.py::TestUbuntuDrivers::test_install_drivers_no_install_if_present[with_version] PASSED [ 26%] tests/unittests/config/test_cc_ubuntu_drivers.py::TestUbuntuDrivers::test_install_drivers_rejects_invalid_config[without_version] PASSED [ 26%] tests/unittests/config/test_cc_ubuntu_drivers.py::TestUbuntuDrivers::test_install_drivers_rejects_invalid_config[with_version] PASSED [ 26%] tests/unittests/config/test_cc_ubuntu_drivers.py::TestUbuntuDrivers::test_install_drivers_handles_old_ubuntu_drivers_gracefully[without_version] PASSED [ 26%] tests/unittests/config/test_cc_ubuntu_drivers.py::TestUbuntuDrivers::test_install_drivers_handles_old_ubuntu_drivers_gracefully[with_version] PASSED [ 26%] tests/unittests/config/test_cc_ubuntu_drivers.py::TestUbuntuDrivers::test_debconf_not_installed_does_nothing[without_version] PASSED [ 26%] tests/unittests/config/test_cc_ubuntu_drivers.py::TestUbuntuDrivers::test_debconf_not_installed_does_nothing[with_version] PASSED [ 26%] tests/unittests/config/test_cc_ubuntu_drivers.py::TestUbuntuDriversWithVersion::test_version_none_uses_latest PASSED [ 26%] tests/unittests/config/test_cc_ubuntu_drivers.py::TestUbuntuDriversNotRun::test_no_cfg_drivers_does_nothing PASSED [ 26%] tests/unittests/config/test_cc_ubuntu_drivers.py::TestUbuntuDriversNotRun::test_has_not_debconf_does_nothing PASSED [ 26%] tests/unittests/config/test_cc_ubuntu_drivers.py::TestUbuntuAdvantageSchema::test_schema_validation[config0-drivers.nvidia.license-accepted: 'TRUE' is not of type 'boolean'] PASSED [ 26%] tests/unittests/config/test_cc_ubuntu_drivers.py::TestUbuntuAdvantageSchema::test_schema_validation[config1-drivers:\\ Additional\\ properties\\ are\\ not\\ allowed\\ \\('bogus'] PASSED [ 26%] tests/unittests/config/test_cc_ubuntu_drivers.py::TestUbuntuAdvantageSchema::test_schema_validation[config2-drivers\\.nvidia:\\ Additional\\ properties\\ are\\ not\\ allowed\\ \\('bogus'\\ ] PASSED [ 26%] tests/unittests/config/test_cc_ubuntu_pro.py::TestConfigurePro::test_configure_pro_attach_error PASSED [ 26%] tests/unittests/config/test_cc_ubuntu_pro.py::TestConfigurePro::test_configure_pro_attach[with_token] PASSED [ 26%] tests/unittests/config/test_cc_ubuntu_pro.py::TestConfigurePro::test_configure_pro_attach[with_empty_services] PASSED [ 26%] tests/unittests/config/test_cc_ubuntu_pro.py::TestConfigurePro::test_configure_pro_attach[with_specific_services] PASSED [ 26%] tests/unittests/config/test_cc_ubuntu_pro.py::TestConfigurePro::test_configure_pro_attach[with_string_services] PASSED [ 26%] tests/unittests/config/test_cc_ubuntu_pro.py::TestConfigurePro::test_configure_pro_attach[with_weird_services] PASSED [ 27%] tests/unittests/config/test_cc_ubuntu_pro.py::TestConfigurePro::test_configure_pro_already_attached PASSED [ 27%] tests/unittests/config/test_cc_ubuntu_pro.py::TestConfigurePro::test_configure_pro_attach_on_service_enabled PASSED [ 27%] tests/unittests/config/test_cc_ubuntu_pro.py::TestConfigurePro::test_configure_pro_attach_on_service_error PASSED [ 27%] tests/unittests/config/test_cc_ubuntu_pro.py::TestConfigurePro::test_pro_enable_unexpected_error_codes PASSED [ 27%] tests/unittests/config/test_cc_ubuntu_pro.py::TestConfigurePro::test_pro_enable_non_json_response PASSED [ 27%] tests/unittests/config/test_cc_ubuntu_pro.py::TestUbuntuProSchema::test_schema_validation[config0-expectation0-] PASSED [ 27%] tests/unittests/config/test_cc_ubuntu_pro.py::TestUbuntuProSchema::test_schema_validation[deprecation_of_ubuntu_advantage_skip_old_json] PASSED [ 27%] tests/unittests/config/test_cc_ubuntu_pro.py::TestUbuntuProSchema::test_schema_validation[additional_properties] PASSED [ 27%] tests/unittests/config/test_cc_ubuntu_pro.py::TestUbuntuProSchema::test_schema_validation[disable_auto_attach] PASSED [ 27%] tests/unittests/config/test_cc_ubuntu_pro.py::TestUbuntuProSchema::test_schema_validation[pro_custom_services] PASSED [ 27%] tests/unittests/config/test_cc_ubuntu_pro.py::TestUbuntuProSchema::test_schema_validation[non_pro_beta_services] PASSED [ 27%] tests/unittests/config/test_cc_ubuntu_pro.py::TestUbuntuProSchema::test_schema_validation[pro_additional_features] PASSED [ 27%] tests/unittests/config/test_cc_ubuntu_pro.py::TestUbuntuProSchema::test_schema_validation[pro_config_valid_set] PASSED [ 27%] tests/unittests/config/test_cc_ubuntu_pro.py::TestUbuntuProSchema::test_schema_validation[pro_config_valid_unset] PASSED [ 27%] tests/unittests/config/test_cc_ubuntu_pro.py::TestUbuntuProSchema::test_schema_validation[pro_config_invalid_type] PASSED [ 27%] tests/unittests/config/test_cc_ubuntu_pro.py::TestUbuntuProSchema::test_schema_validation[pro_config_invalid_proxy_type] PASSED [ 27%] tests/unittests/config/test_cc_ubuntu_pro.py::TestUbuntuProSchema::test_schema_validation[pro_config_unknown_props_allowed] PASSED [ 27%] tests/unittests/config/test_cc_ubuntu_pro.py::TestUbuntuProSchema::test_validate_schema_features[ua_section0-expectation0-None] PASSED [ 27%] tests/unittests/config/test_cc_ubuntu_pro.py::TestUbuntuProSchema::test_validate_schema_features[ua_section1-expectation1-None] PASSED [ 27%] tests/unittests/config/test_cc_ubuntu_pro.py::TestUbuntuProSchema::test_validate_schema_features[ua_section2-expectation2-None] PASSED [ 27%] tests/unittests/config/test_cc_ubuntu_pro.py::TestUbuntuProSchema::test_validate_schema_features[ua_section3-expectation3-None] PASSED [ 27%] tests/unittests/config/test_cc_ubuntu_pro.py::TestUbuntuProSchema::test_validate_schema_features[ua_section4-expectation4-log_msgs4] PASSED [ 27%] tests/unittests/config/test_cc_ubuntu_pro.py::TestUbuntuProSchema::test_validate_schema_features[ua_section5-expectation5-log_msgs5] PASSED [ 27%] tests/unittests/config/test_cc_ubuntu_pro.py::TestHandle::test_handle_attach[no_config] PASSED [ 27%] tests/unittests/config/test_cc_ubuntu_pro.py::TestHandle::test_handle_attach[tries_to_install_ubuntu_advantage_tools] PASSED [ 27%] tests/unittests/config/test_cc_ubuntu_pro.py::TestHandle::test_handle_attach[set_pro_config] PASSED [ 27%] tests/unittests/config/test_cc_ubuntu_pro.py::TestHandle::test_handle_attach[passes_credentials_and_services_to_configure_pro] PASSED [ 27%] tests/unittests/config/test_cc_ubuntu_pro.py::TestHandle::test_handle_attach[warns_on_deprecated_ubuntu_pro_key_w_config] PASSED [ 27%] tests/unittests/config/test_cc_ubuntu_pro.py::TestHandle::test_handle_attach[warns_on_enable_beta_in_attach] PASSED [ 27%] tests/unittests/config/test_cc_ubuntu_pro.py::TestHandle::test_handle_attach[prefers_new_style_config] PASSED [ 27%] tests/unittests/config/test_cc_ubuntu_pro.py::TestHandle::test_handle_auto_attach_vs_attach[auto_attach_success] PASSED [ 27%] tests/unittests/config/test_cc_ubuntu_pro.py::TestHandle::test_handle_auto_attach_vs_attach[auto_attach_error] PASSED [ 27%] tests/unittests/config/test_cc_ubuntu_pro.py::TestHandle::test_handle_auto_attach_vs_attach[not_pro_with_token] PASSED [ 27%] tests/unittests/config/test_cc_ubuntu_pro.py::TestHandle::test_handle_auto_attach_vs_attach[not_pro_with_enable] PASSED [ 27%] tests/unittests/config/test_cc_ubuntu_pro.py::TestHandle::test_no_fallback_attach[cfg0-False] PASSED [ 27%] tests/unittests/config/test_cc_ubuntu_pro.py::TestHandle::test_no_fallback_attach[cfg0-True] PASSED [ 27%] tests/unittests/config/test_cc_ubuntu_pro.py::TestHandle::test_no_fallback_attach[cfg1-False] PASSED [ 27%] tests/unittests/config/test_cc_ubuntu_pro.py::TestHandle::test_no_fallback_attach[cfg1-True] PASSED [ 27%] tests/unittests/config/test_cc_ubuntu_pro.py::TestHandle::test_handle_error_on_deprecated_commands_key_dashed[key_dashed] PASSED [ 27%] tests/unittests/config/test_cc_ubuntu_pro.py::TestHandle::test_handle_error_on_deprecated_commands_key_dashed[key_underscore] PASSED [ 27%] tests/unittests/config/test_cc_ubuntu_pro.py::TestHandle::test_handle_errors[on_non_dict_config] PASSED [ 27%] tests/unittests/config/test_cc_ubuntu_pro.py::TestHandle::test_handle_errors[on_non_dict_ua_section] PASSED [ 27%] tests/unittests/config/test_cc_ubuntu_pro.py::TestHandle::test_pro_config_error_invalid_url PASSED [ 27%] tests/unittests/config/test_cc_ubuntu_pro.py::TestHandle::test_fallback_to_attach_no_token PASSED [ 27%] tests/unittests/config/test_cc_ubuntu_pro.py::TestShouldAutoAttach::test_should_auto_attach_error PASSED [ 27%] tests/unittests/config/test_cc_ubuntu_pro.py::TestShouldAutoAttach::test_happy_path[ua_section0-None] PASSED [ 27%] tests/unittests/config/test_cc_ubuntu_pro.py::TestShouldAutoAttach::test_happy_path[ua_section1-None] PASSED [ 27%] tests/unittests/config/test_cc_ubuntu_pro.py::TestShouldAutoAttach::test_happy_path[ua_section2-False] PASSED [ 27%] tests/unittests/config/test_cc_ubuntu_pro.py::TestAutoAttach::test_full_auto_attach_error PASSED [ 27%] tests/unittests/config/test_cc_ubuntu_pro.py::TestAutoAttach::test_happy_path PASSED [ 27%] tests/unittests/config/test_cc_ubuntu_pro.py::TestAttach::test_attach_without_token_raises_error PASSED [ 27%] tests/unittests/config/test_cc_ubuntu_pro.py::TestMaybeInstallUATools::test_maybe_install_ua_tools[noop_when_ua_tools_present] PASSED [ 27%] tests/unittests/config/test_cc_ubuntu_pro.py::TestMaybeInstallUATools::test_maybe_install_ua_tools[raises_update_errors] PASSED [ 27%] tests/unittests/config/test_cc_ubuntu_pro.py::TestMaybeInstallUATools::test_maybe_install_ua_tools[raises_install_errors] PASSED [ 27%] tests/unittests/config/test_cc_ubuntu_pro.py::TestMaybeInstallUATools::test_maybe_install_ua_tools_happy_path PASSED [ 27%] tests/unittests/config/test_cc_ubuntu_pro.py::TestSetProConfig::test_valid_config PASSED [ 27%] tests/unittests/config/test_cc_ubuntu_pro.py::TestSetProConfig::test_pro_config_unset PASSED [ 28%] tests/unittests/config/test_cc_ubuntu_pro.py::TestSetProConfig::test_pro_config_error_non_string_values PASSED [ 28%] tests/unittests/config/test_cc_ubuntu_pro.py::TestSetProConfig::test_pro_config_unknown_prop PASSED [ 28%] tests/unittests/config/test_cc_ubuntu_pro.py::TestSetProConfig::test_pro_config_wrong_type PASSED [ 28%] tests/unittests/config/test_cc_ubuntu_pro.py::TestSetProConfig::test_set_pro_config_error PASSED [ 28%] tests/unittests/config/test_cc_ubuntu_pro.py::TestSetProConfig::test_unset_pro_config_error PASSED [ 28%] tests/unittests/config/test_cc_update_etc_hosts.py::TestHostsFile::test_write_etc_hosts_suse_localhost PASSED [ 28%] tests/unittests/config/test_cc_update_etc_hosts.py::TestHostsFile::test_write_etc_hosts_suse_template PASSED [ 28%] tests/unittests/config/test_cc_update_etc_hosts.py::TestUpdateEtcHosts::test_schema_validation[config0-expectation0] PASSED [ 28%] tests/unittests/config/test_cc_update_etc_hosts.py::TestUpdateEtcHosts::test_schema_validation[config1-expectation1] PASSED [ 28%] tests/unittests/config/test_cc_update_etc_hosts.py::TestUpdateEtcHosts::test_schema_validation[config2-expectation2] PASSED [ 28%] tests/unittests/config/test_cc_update_etc_hosts.py::TestUpdateEtcHosts::test_schema_validation[config3-expectation3] PASSED [ 28%] tests/unittests/config/test_cc_update_etc_hosts.py::TestUpdateEtcHosts::test_schema_validation[config4-expectation4] PASSED [ 28%] tests/unittests/config/test_cc_users_groups.py::TestHandleUsersGroups::test_handle_no_cfg_creates_no_users_or_groups PASSED [ 28%] tests/unittests/config/test_cc_users_groups.py::TestHandleUsersGroups::test_handle_users_in_cfg_calls_create_users PASSED [ 28%] tests/unittests/config/test_cc_users_groups.py::TestHandleUsersGroups::test_handle_users_in_cfg_calls_create_users_on_bsd PASSED [ 28%] tests/unittests/config/test_cc_users_groups.py::TestHandleUsersGroups::test_users_with_ssh_redirect_user_passes_keys PASSED [ 28%] tests/unittests/config/test_cc_users_groups.py::TestHandleUsersGroups::test_users_with_ssh_redirect_user_default_str PASSED [ 28%] tests/unittests/config/test_cc_users_groups.py::TestHandleUsersGroups::test_users_without_home_cannot_import_ssh_keys PASSED [ 28%] tests/unittests/config/test_cc_users_groups.py::TestHandleUsersGroups::test_users_with_ssh_redirect_user_non_default PASSED [ 28%] tests/unittests/config/test_cc_users_groups.py::TestHandleUsersGroups::test_users_with_ssh_redirect_user_default_false PASSED [ 28%] tests/unittests/config/test_cc_users_groups.py::TestHandleUsersGroups::test_users_ssh_redirect_user_and_no_default PASSED [ 28%] tests/unittests/config/test_cc_users_groups.py::TestUsersGroupsSchema::test_schema_validation[config0-expectation0-None] PASSED [ 28%] tests/unittests/config/test_cc_users_groups.py::TestUsersGroupsSchema::test_schema_validation[config1-expectation1-None] PASSED [ 28%] tests/unittests/config/test_cc_users_groups.py::TestUsersGroupsSchema::test_schema_validation[config2-expectation2-None] PASSED [ 28%] tests/unittests/config/test_cc_users_groups.py::TestUsersGroupsSchema::test_schema_validation[config3-expectation3-None] PASSED [ 28%] tests/unittests/config/test_cc_users_groups.py::TestUsersGroupsSchema::test_schema_validation[config4-expectation4-None] PASSED [ 28%] tests/unittests/config/test_cc_users_groups.py::TestUsersGroupsSchema::test_schema_validation[config5-expectation5-None] PASSED [ 28%] tests/unittests/config/test_cc_users_groups.py::TestUsersGroupsSchema::test_schema_validation[config6-expectation6-None] PASSED [ 28%] tests/unittests/config/test_cc_users_groups.py::TestUsersGroupsSchema::test_schema_validation[config7-expectation7-None] PASSED [ 28%] tests/unittests/config/test_cc_users_groups.py::TestUsersGroupsSchema::test_schema_validation[config8-expectation8-True] PASSED [ 28%] tests/unittests/config/test_cc_users_groups.py::TestUsersGroupsSchema::test_schema_validation[config9-expectation9-True] PASSED [ 28%] tests/unittests/config/test_cc_users_groups.py::TestUsersGroupsSchema::test_schema_validation[config10-expectation10-None] PASSED [ 28%] tests/unittests/config/test_cc_users_groups.py::TestUsersGroupsSchema::test_schema_validation[config11-expectation11-None] PASSED [ 28%] tests/unittests/config/test_cc_users_groups.py::TestUsersGroupsSchema::test_schema_validation[config12-expectation12-None] PASSED [ 28%] tests/unittests/config/test_cc_users_groups.py::TestUsersGroupsSchema::test_schema_validation[config13-expectation13-None] PASSED [ 28%] tests/unittests/config/test_cc_users_groups.py::TestUsersGroupsSchema::test_schema_validation[config14-expectation14-None] PASSED [ 28%] tests/unittests/config/test_cc_users_groups.py::TestUsersGroupsSchema::test_schema_validation[config15-expectation15-None] PASSED [ 28%] tests/unittests/config/test_cc_users_groups.py::TestUsersGroupsSchema::test_schema_validation[config16-expectation16-None] PASSED [ 28%] tests/unittests/config/test_cc_users_groups.py::TestUsersGroupsSchema::test_schema_validation[config17-expectation17-False] PASSED [ 28%] tests/unittests/config/test_cc_users_groups.py::TestUsersGroupsSchema::test_schema_validation[config18-expectation18-False] PASSED [ 28%] tests/unittests/config/test_cc_users_groups.py::TestUsersGroupsSchema::test_schema_validation[config19-expectation19-None] PASSED [ 28%] tests/unittests/config/test_cc_users_groups.py::TestUsersGroupsSchema::test_schema_validation[config20-expectation20-False] PASSED [ 28%] tests/unittests/config/test_cc_users_groups.py::TestUsersGroupsSchema::test_schema_validation[config21-expectation21-None] PASSED [ 28%] tests/unittests/config/test_cc_users_groups.py::TestUsersGroupsSchema::test_schema_validation[config22-expectation22-True] PASSED [ 28%] tests/unittests/config/test_cc_users_groups.py::TestUsersGroupsSchema::test_schema_validation[config23-expectation23-True] PASSED [ 28%] tests/unittests/config/test_cc_users_groups.py::TestUsersGroupsSchema::test_schema_validation[config24-expectation24-True] PASSED [ 28%] tests/unittests/config/test_cc_users_groups.py::TestUsersGroupsSchema::test_schema_validation[config25-expectation25-None] PASSED [ 28%] tests/unittests/config/test_cc_users_groups.py::TestUsersGroupsSchema::test_schema_validation[config26-expectation26-False] PASSED [ 28%] tests/unittests/config/test_cc_users_groups.py::TestUsersGroupsSchema::test_schema_validation[config27-expectation27-False] PASSED [ 28%] tests/unittests/config/test_cc_users_groups.py::TestUsersGroupsSchema::test_schema_validation[config28-expectation28-None] PASSED [ 28%] tests/unittests/config/test_cc_users_groups.py::TestUsersGroupsSchema::test_schema_validation[config29-expectation29-False] PASSED [ 28%] tests/unittests/config/test_cc_users_groups.py::TestUsersGroupsSchema::test_schema_validation[config30-expectation30-True] PASSED [ 28%] tests/unittests/config/test_cc_users_groups.py::TestUsersGroupsSchema::test_schema_validation[config31-expectation31-False] PASSED [ 28%] tests/unittests/config/test_cc_wireguard.py::TestWireGuard::test_readiness_probe_schema_non_string_values PASSED [ 28%] tests/unittests/config/test_cc_wireguard.py::TestWireGuard::test_suppl_schema_error_on_missing_keys PASSED [ 28%] tests/unittests/config/test_cc_wireguard.py::TestWireGuard::test_suppl_schema_error_on_non_string_values PASSED [ 28%] tests/unittests/config/test_cc_wireguard.py::TestWireGuard::test_write_config_failed PASSED [ 29%] tests/unittests/config/test_cc_wireguard.py::TestWireGuard::test_readiness_probe_invalid_command PASSED [ 29%] tests/unittests/config/test_cc_wireguard.py::TestWireGuard::test_enable_wg_on_error PASSED [ 29%] tests/unittests/config/test_cc_wireguard.py::TestWireGuard::test_maybe_install_wg_packages_noop_when_wg_tools_present PASSED [ 29%] tests/unittests/config/test_cc_wireguard.py::TestWireGuard::test_maybe_install_wf_tools_raises_update_errors PASSED [ 29%] tests/unittests/config/test_cc_wireguard.py::TestWireGuard::test_maybe_install_wg_raises_install_errors PASSED [ 29%] tests/unittests/config/test_cc_wireguard.py::TestWireGuard::test_load_wg_module_failed PASSED [ 29%] tests/unittests/config/test_cc_wireguard.py::TestWireGuard::test_maybe_install_wg_packages_happy_path PASSED [ 29%] tests/unittests/config/test_cc_wireguard.py::TestWireGuard::test_handle_no_config PASSED [ 29%] tests/unittests/config/test_cc_wireguard.py::TestWireGuard::test_readiness_probe_with_non_string_values PASSED [ 29%] tests/unittests/config/test_cc_wireguard.py::TestWireguardSchema::test_schema_validation[config0-None] PASSED [ 29%] tests/unittests/config/test_cc_write_files.py::TestWriteFiles::test_simple PASSED [ 29%] tests/unittests/config/test_cc_write_files.py::TestWriteFiles::test_empty PASSED [ 29%] tests/unittests/config/test_cc_write_files.py::TestWriteFiles::test_append PASSED [ 29%] tests/unittests/config/test_cc_write_files.py::TestWriteFiles::test_special_permission_bits PASSED [ 29%] tests/unittests/config/test_cc_write_files.py::TestWriteFiles::test_yaml_binary PASSED [ 29%] tests/unittests/config/test_cc_write_files.py::TestWriteFiles::test_all_decodings PASSED [ 29%] tests/unittests/config/test_cc_write_files.py::TestWriteFiles::test_handle_plain_text PASSED [ 29%] tests/unittests/config/test_cc_write_files.py::TestWriteFiles::test_file_uri PASSED [ 29%] tests/unittests/config/test_cc_write_files.py::TestWriteFiles::test_http_uri PASSED [ 29%] tests/unittests/config/test_cc_write_files.py::TestWriteFiles::test_uri_fallback PASSED [ 29%] tests/unittests/config/test_cc_write_files.py::TestWriteFiles::test_deferred PASSED [ 29%] tests/unittests/config/test_cc_write_files.py::TestDecodePerms::test_none_returns_default PASSED [ 29%] tests/unittests/config/test_cc_write_files.py::TestDecodePerms::test_integer PASSED [ 29%] tests/unittests/config/test_cc_write_files.py::TestDecodePerms::test_valid_octal_string PASSED [ 29%] tests/unittests/config/test_cc_write_files.py::TestDecodePerms::test_invalid_octal_string_returns_default_and_warns PASSED [ 29%] tests/unittests/config/test_cc_write_files.py::TestWriteFilesSchema::test_schema_validation[config0-write_files: 1 is not of type 'array'] PASSED [ 29%] tests/unittests/config/test_cc_write_files.py::TestWriteFilesSchema::test_schema_validation[config1-write_files:\\ \\[\\]\\ (is too short|should be non-empty|does not have enough properties)] PASSED [ 29%] tests/unittests/config/test_cc_write_files.py::TestWriteFilesSchema::test_schema_validation[config2-write_files.0: 'path' is a required property] PASSED [ 29%] tests/unittests/config/test_cc_write_files.py::TestWriteFilesSchema::test_schema_validation[config3-write_files\\.0:\\ Additional\\ properties\\ are\\ not\\ allowed\\ \\('bogus'] PASSED [ 29%] tests/unittests/config/test_cc_write_files.py::TestWriteFilesSchema::test_schema_validation[config4-write_files\\.0\\.encoding:\\ 'g'\\ is\\ not\\ one\\ of\\ \\['gz',\\ 'gzip',] PASSED [ 29%] tests/unittests/config/test_cc_write_files.py::TestWriteFilesSchema::test_schema_validation[config5-None] PASSED [ 29%] tests/unittests/config/test_cc_write_files_deferred.py::TestWriteFilesDeferred::test_filtering_deferred_files PASSED [ 29%] tests/unittests/config/test_cc_write_files_deferred.py::TestWriteFilesDeferredSchema::test_schema_validation[config0-write_files.0.defer: 'no' is not of type 'boolean'] PASSED [ 29%] tests/unittests/config/test_cc_yum_add_repo.py::TestConfig::test_bad_config PASSED [ 29%] tests/unittests/config/test_cc_yum_add_repo.py::TestConfig::test_metalink_config PASSED [ 29%] tests/unittests/config/test_cc_yum_add_repo.py::TestConfig::test_mirrorlist_config PASSED [ 29%] tests/unittests/config/test_cc_yum_add_repo.py::TestConfig::test_write_config PASSED [ 29%] tests/unittests/config/test_cc_yum_add_repo.py::TestConfig::test_write_config_array PASSED [ 29%] tests/unittests/config/test_cc_yum_add_repo.py::TestAddYumRepoSchema::test_schema_validation[config0-None] PASSED [ 29%] tests/unittests/config/test_cc_yum_add_repo.py::TestAddYumRepoSchema::test_schema_validation[config1-yum_repo_dir: True is not of type 'string'] PASSED [ 29%] tests/unittests/config/test_cc_yum_add_repo.py::TestAddYumRepoSchema::test_schema_validation[config2-yum_repos:\\ \\{\\}\\ (is too short|should be non-empty|does not have enough properties)] PASSED [ 29%] tests/unittests/config/test_cc_yum_add_repo.py::TestAddYumRepoSchema::test_schema_validation[config3-yum_repos.My-Repo: 'baseurl' is a required] PASSED [ 29%] tests/unittests/config/test_cc_yum_add_repo.py::TestAddYumRepoSchema::test_schema_validation[config4-yum_repos.My Repo.enabled: 'nope' is not of type 'boolean'] PASSED [ 29%] tests/unittests/config/test_cc_yum_add_repo.py::TestAddYumRepoSchema::test_schema_validation[config5-does not match any of the regexes] PASSED [ 29%] tests/unittests/config/test_cc_yum_add_repo.py::TestAddYumRepoSchema::test_schema_validation[config6-does not match any of the regexes] PASSED [ 29%] tests/unittests/config/test_cc_zypper_add_repo.py::TestConfig::test_bad_repo_config PASSED [ 29%] tests/unittests/config/test_cc_zypper_add_repo.py::TestConfig::test_write_repos PASSED [ 29%] tests/unittests/config/test_cc_zypper_add_repo.py::TestConfig::test_write_repo PASSED [ 29%] tests/unittests/config/test_cc_zypper_add_repo.py::TestConfig::test_config_write PASSED [ 29%] tests/unittests/config/test_cc_zypper_add_repo.py::TestConfig::test_config_write_skip_configdir PASSED [ 29%] tests/unittests/config/test_cc_zypper_add_repo.py::TestConfig::test_empty_config_section_no_new_data PASSED [ 29%] tests/unittests/config/test_cc_zypper_add_repo.py::TestConfig::test_empty_config_value_no_new_data PASSED [ 29%] tests/unittests/config/test_cc_zypper_add_repo.py::TestConfig::test_handler_full_setup PASSED [ 29%] tests/unittests/config/test_cc_zypper_add_repo.py::TestConfig::test_no_config_section_no_new_data PASSED [ 29%] tests/unittests/config/test_cc_zypper_add_repo.py::TestConfig::test_no_repo_data PASSED [ 29%] tests/unittests/config/test_modules.py::TestModules::test__is_inapplicable[None-cfg0-True-once-per-instance] PASSED [ 29%] tests/unittests/config/test_modules.py::TestModules::test__is_inapplicable[None-cfg0-True-always] PASSED [ 29%] tests/unittests/config/test_modules.py::TestModules::test__is_inapplicable[None-cfg0-True-once] PASSED [ 30%] tests/unittests/config/test_modules.py::TestModules::test__is_inapplicable[None-cfg1-True-once-per-instance] PASSED [ 30%] tests/unittests/config/test_modules.py::TestModules::test__is_inapplicable[None-cfg1-True-always] PASSED [ 30%] tests/unittests/config/test_modules.py::TestModules::test__is_inapplicable[None-cfg1-True-once] PASSED [ 30%] tests/unittests/config/test_modules.py::TestModules::test__is_inapplicable[activate_by_schema_keys2-cfg2-True-once-per-instance] PASSED [ 30%] tests/unittests/config/test_modules.py::TestModules::test__is_inapplicable[activate_by_schema_keys2-cfg2-True-always] PASSED [ 30%] tests/unittests/config/test_modules.py::TestModules::test__is_inapplicable[activate_by_schema_keys2-cfg2-True-once] PASSED [ 30%] tests/unittests/config/test_modules.py::TestModules::test__is_inapplicable[activate_by_schema_keys3-cfg3-True-once-per-instance] PASSED [ 30%] tests/unittests/config/test_modules.py::TestModules::test__is_inapplicable[activate_by_schema_keys3-cfg3-True-always] PASSED [ 30%] tests/unittests/config/test_modules.py::TestModules::test__is_inapplicable[activate_by_schema_keys3-cfg3-True-once] PASSED [ 30%] tests/unittests/config/test_modules.py::TestModules::test__is_inapplicable[activate_by_schema_keys4-cfg4-True-once-per-instance] PASSED [ 30%] tests/unittests/config/test_modules.py::TestModules::test__is_inapplicable[activate_by_schema_keys4-cfg4-True-always] PASSED [ 30%] tests/unittests/config/test_modules.py::TestModules::test__is_inapplicable[activate_by_schema_keys4-cfg4-True-once] PASSED [ 30%] tests/unittests/config/test_modules.py::TestModules::test__is_inapplicable[activate_by_schema_keys5-cfg5-False-once-per-instance] PASSED [ 30%] tests/unittests/config/test_modules.py::TestModules::test__is_inapplicable[activate_by_schema_keys5-cfg5-False-always] PASSED [ 30%] tests/unittests/config/test_modules.py::TestModules::test__is_inapplicable[activate_by_schema_keys5-cfg5-False-once] PASSED [ 30%] tests/unittests/config/test_modules.py::TestModules::test__is_inapplicable[activate_by_schema_keys6-cfg6-False-once-per-instance] PASSED [ 30%] tests/unittests/config/test_modules.py::TestModules::test__is_inapplicable[activate_by_schema_keys6-cfg6-False-always] PASSED [ 30%] tests/unittests/config/test_modules.py::TestModules::test__is_inapplicable[activate_by_schema_keys6-cfg6-False-once] PASSED [ 30%] tests/unittests/config/test_modules.py::TestModules::test__is_inapplicable_examples[NOTSET] SKIPPED [ 30%] tests/unittests/config/test_modules.py::TestModules::test_run_section[True-once-per-instance] PASSED [ 30%] tests/unittests/config/test_modules.py::TestModules::test_run_section[True-always] PASSED [ 30%] tests/unittests/config/test_modules.py::TestModules::test_run_section[True-once] PASSED [ 30%] tests/unittests/config/test_modules.py::TestModules::test_run_section[False-once-per-instance] PASSED [ 30%] tests/unittests/config/test_modules.py::TestModules::test_run_section[False-always] PASSED [ 30%] tests/unittests/config/test_modules.py::TestModules::test_run_section[False-once] PASSED [ 30%] tests/unittests/config/test_modules.py::TestModules::test_run_section_examples[NOTSET] SKIPPED [ 30%] tests/unittests/config/test_modules.py::TestModules::test_old_handle PASSED [ 30%] tests/unittests/config/test_salt_minion.py::TestSaltMinionSchema::test_schema_validation[config0-None] PASSED [ 30%] tests/unittests/config/test_salt_minion.py::TestSaltMinionSchema::test_schema_validation[config1-None] PASSED [ 30%] tests/unittests/config/test_salt_minion.py::TestSaltMinionSchema::test_schema_validation[config2-Additional properties are not allowed] PASSED [ 30%] tests/unittests/config/test_salt_minion.py::TestSaltMinionSchema::test_schema_validation[config3-'a' is not of type 'object'] PASSED [ 30%] tests/unittests/config/test_salt_minion.py::TestSaltMinionSchema::test_schema_validation[config4-'a' is not of type 'object'] PASSED [ 30%] tests/unittests/config/test_salt_minion.py::TestDaemonInstall::test_daemon_install PASSED [ 30%] tests/unittests/config/test_salt_minion.py::TestDaemonInstall::test_file_client_local PASSED [ 30%] tests/unittests/config/test_schema.py::TestVersionedSchemas::test_versioned_cloud_config_schema_is_valid_json[schema0-None] PASSED [ 30%] tests/unittests/config/test_schema.py::TestVersionedSchemas::test_versioned_cloud_config_schema_is_valid_json[schema1-None] PASSED [ 30%] tests/unittests/config/test_schema.py::TestVersionedSchemas::test_versioned_cloud_config_schema_is_valid_json[schema2-is not one of ['v1']] PASSED [ 30%] tests/unittests/config/test_schema.py::TestVersionedSchemas::test_versioned_cloud_config_schema_is_valid_json[schema3-is not of type 'string'] PASSED [ 30%] tests/unittests/config/test_schema.py::TestVersionedSchemas::test_versioned_cloud_config_schema_is_valid_json[schema4-None] PASSED [ 30%] tests/unittests/config/test_schema.py::TestCheckSchema::test_schema_bools_have_dates PASSED [ 30%] tests/unittests/config/test_schema.py::TestGetSchema::test_static_schema_file_is_valid PASSED [ 30%] tests/unittests/config/test_schema.py::TestGetSchema::test_get_schema_coalesces_known_schema PASSED [ 30%] tests/unittests/config/test_schema.py::TestModuleDocs::test_validate_data_file_schema PASSED [ 30%] tests/unittests/config/test_schema.py::TestNetplanValidateNetworkSchema::test_network_config_schema_validation[None-] PASSED [ 30%] tests/unittests/config/test_schema.py::TestNetplanValidateNetworkSchema::test_network_config_schema_validation[error1-network-config failed schema validation!.*format-l1.c12: Invalid netplan schema. incorrect YAML value: yes for dhcp value] PASSED [ 30%] tests/unittests/config/test_schema.py::TestValidateCloudConfigSchema::test_validateconfig_schema_use_full_schema_when_no_schema_param[None-1] PASSED [ 30%] tests/unittests/config/test_schema.py::TestValidateCloudConfigSchema::test_validateconfig_schema_use_full_schema_when_no_schema_param[schema1-0] PASSED [ 30%] tests/unittests/config/test_schema.py::TestValidateCloudConfigSchema::test_validateconfig_schema_non_strict_emits_warnings FAILED [ 30%] tests/unittests/config/test_schema.py::TestValidateCloudConfigSchema::test_validateconfig_schema_sensitive FAILED [ 30%] tests/unittests/config/test_schema.py::TestValidateCloudConfigSchema::test_validateconfig_schema_emits_warning_on_missing_jsonschema PASSED [ 30%] tests/unittests/config/test_schema.py::TestValidateCloudConfigSchema::test_validateconfig_schema_strict_raises_errors PASSED [ 30%] tests/unittests/config/test_schema.py::TestValidateCloudConfigSchema::test_validateconfig_schema_honors_formats PASSED [ 30%] tests/unittests/config/test_schema.py::TestValidateCloudConfigSchema::test_validateconfig_with_not_keyword_in_schema[schema0-True-Cloud config schema errors: : ({'a': 5, 'b': 6} should not be valid under {'required': \\['a', 'b'\\]}|{'required': \\['a', 'b'\\]} is not allowed for {'a': 5, 'b': 6})] PASSED [ 30%] tests/unittests/config/test_schema.py::TestValidateCloudConfigSchema::test_validateconfig_with_not_keyword_in_schema[schema1-False-Cloud config schema errors: : 'c' is a required property] PASSED [ 30%] tests/unittests/config/test_schema.py::TestValidateCloudConfigSchema::test_validateconfig_with_not_keyword_in_schema[schema2-False-Cloud config schema errors: : 'c' is a required property, : 'd' is a required property] PASSED [ 30%] tests/unittests/config/test_schema.py::TestValidateCloudConfigSchema::test_validateconfig_schema_honors_formats_strict_metaschema PASSED [ 30%] tests/unittests/config/test_schema.py::TestValidateCloudConfigSchema::test_validateconfig_strict_metaschema_do_not_raise_exception PASSED [ 31%] tests/unittests/config/test_schema.py::TestValidateCloudConfigSchema::test_validateconfig_logs_deprecations[schema0-config0-Deprecated cloud-config provided: a-b: Deprecated in version 22.1.-True] PASSED [ 31%] tests/unittests/config/test_schema.py::TestValidateCloudConfigSchema::test_validateconfig_logs_deprecations[schema0-config0-Deprecated cloud-config provided: a-b: Deprecated in version 22.1.-False] PASSED [ 31%] tests/unittests/config/test_schema.py::TestValidateCloudConfigSchema::test_validateconfig_logs_deprecations[schema1-config1-Deprecated cloud-config provided: x: Deprecated in version 22.1.-True] PASSED [ 31%] tests/unittests/config/test_schema.py::TestValidateCloudConfigSchema::test_validateconfig_logs_deprecations[schema1-config1-Deprecated cloud-config provided: x: Deprecated in version 22.1.-False] PASSED [ 31%] tests/unittests/config/test_schema.py::TestValidateCloudConfigSchema::test_validateconfig_logs_deprecations[schema2-config2-Deprecated cloud-config provided: x: Deprecated in version 22.1. -True] PASSED [ 31%] tests/unittests/config/test_schema.py::TestValidateCloudConfigSchema::test_validateconfig_logs_deprecations[schema2-config2-Deprecated cloud-config provided: x: Deprecated in version 22.1. -False] PASSED [ 31%] tests/unittests/config/test_schema.py::TestValidateCloudConfigSchema::test_validateconfig_logs_deprecations[schema3-config3-Deprecated cloud-config provided: x: Deprecated in version 22.1.-True] PASSED [ 31%] tests/unittests/config/test_schema.py::TestValidateCloudConfigSchema::test_validateconfig_logs_deprecations[schema3-config3-Deprecated cloud-config provided: x: Deprecated in version 22.1.-False] PASSED [ 31%] tests/unittests/config/test_schema.py::TestValidateCloudConfigSchema::test_validateconfig_logs_deprecations[schema4-config4-Deprecated cloud-config provided: x: Deprecated in version 22.1.-True] PASSED [ 31%] tests/unittests/config/test_schema.py::TestValidateCloudConfigSchema::test_validateconfig_logs_deprecations[schema4-config4-Deprecated cloud-config provided: x: Deprecated in version 22.1.-False] PASSED [ 31%] tests/unittests/config/test_schema.py::TestValidateCloudConfigSchema::test_validateconfig_logs_deprecations[schema5-config5-None-True] PASSED [ 31%] tests/unittests/config/test_schema.py::TestValidateCloudConfigSchema::test_validateconfig_logs_deprecations[schema5-config5-None-False] PASSED [ 31%] tests/unittests/config/test_schema.py::TestValidateCloudConfigSchema::test_validateconfig_logs_deprecations[schema6-config6-Deprecated cloud-config provided: x: Deprecated in version 32.3.-True] PASSED [ 31%] tests/unittests/config/test_schema.py::TestValidateCloudConfigSchema::test_validateconfig_logs_deprecations[schema6-config6-Deprecated cloud-config provided: x: Deprecated in version 32.3.-False] PASSED [ 31%] tests/unittests/config/test_schema.py::TestValidateCloudConfigSchema::test_validateconfig_logs_deprecations[schema7-config7-Deprecated cloud-config provided: x: Deprecated in version 27.2.-True] PASSED [ 31%] tests/unittests/config/test_schema.py::TestValidateCloudConfigSchema::test_validateconfig_logs_deprecations[schema7-config7-Deprecated cloud-config provided: x: Deprecated in version 27.2.-False] PASSED [ 31%] tests/unittests/config/test_schema.py::TestValidateCloudConfigSchema::test_validateconfig_logs_deprecations[schema8-config8-Deprecated cloud-config provided: a-b: Deprecated in version 27.2.-True] PASSED [ 31%] tests/unittests/config/test_schema.py::TestValidateCloudConfigSchema::test_validateconfig_logs_deprecations[schema8-config8-Deprecated cloud-config provided: a-b: Deprecated in version 27.2.-False] PASSED [ 31%] tests/unittests/config/test_schema.py::TestValidateCloudConfigSchema::test_validateconfig_logs_deprecations[deprecated_pattern_property_without_description-True] PASSED [ 31%] tests/unittests/config/test_schema.py::TestValidateCloudConfigSchema::test_validateconfig_logs_deprecations[deprecated_pattern_property_without_description-False] PASSED [ 31%] tests/unittests/config/test_schema.py::TestCloudConfigExamples::test_validateconfig_schema_of_example[NOTSET] SKIPPED [ 31%] tests/unittests/config/test_schema.py::TestValidateCloudConfigFile::test_validateconfig_file_error_on_invalid_header[True] PASSED [ 31%] tests/unittests/config/test_schema.py::TestValidateCloudConfigFile::test_validateconfig_file_error_on_invalid_header[False] PASSED [ 31%] tests/unittests/config/test_schema.py::TestValidateCloudConfigFile::test_validateconfig_file_error_on_non_yaml_scanner_error[True] PASSED [ 31%] tests/unittests/config/test_schema.py::TestValidateCloudConfigFile::test_validateconfig_file_error_on_non_yaml_scanner_error[False] PASSED [ 31%] tests/unittests/config/test_schema.py::TestValidateCloudConfigFile::test_validateconfig_file_error_on_non_yaml_parser_error[True] PASSED [ 31%] tests/unittests/config/test_schema.py::TestValidateCloudConfigFile::test_validateconfig_file_error_on_non_yaml_parser_error[False] PASSED [ 31%] tests/unittests/config/test_schema.py::TestValidateCloudConfigFile::test_validateconfig_file_strictly_validates_schema[True] PASSED [ 31%] tests/unittests/config/test_schema.py::TestValidateCloudConfigFile::test_validateconfig_file_strictly_validates_schema[False] PASSED [ 31%] tests/unittests/config/test_schema.py::TestValidateCloudConfigFile::test_validateconfig_file_squelches_duplicate_errors[True] PASSED [ 31%] tests/unittests/config/test_schema.py::TestValidateCloudConfigFile::test_validateconfig_file_squelches_duplicate_errors[False] PASSED [ 31%] tests/unittests/config/test_schema.py::TestValidateCloudConfigFile::test_validateconfig_file_no_cloud_cfg[True] PASSED [ 31%] tests/unittests/config/test_schema.py::TestValidateCloudConfigFile::test_validateconfig_file_no_cloud_cfg[False] PASSED [ 31%] tests/unittests/config/test_schema.py::TestValidateCloudConfigFile::test_validateconfig_file_raises_jinja_syntax_error[True] PASSED [ 31%] tests/unittests/config/test_schema.py::TestValidateCloudConfigFile::test_validateconfig_file_raises_jinja_syntax_error[False] PASSED [ 31%] tests/unittests/config/test_schema.py::TestAnnotatedCloudconfigFile::test_annotated_cloudconfig_file_no_schema_errors PASSED [ 31%] tests/unittests/config/test_schema.py::TestAnnotatedCloudconfigFile::test_annotated_cloudconfig_file_schema_annotates_and_adds_footer PASSED [ 31%] tests/unittests/config/test_schema.py::TestAnnotatedCloudconfigFile::test_annotated_cloudconfig_file_annotates_separate_line_items PASSED [ 31%] tests/unittests/config/test_schema.py::TestAnnotatedCloudconfigFile::test_annotated_invalid_top_level_key PASSED [ 31%] tests/unittests/config/test_schema.py::TestMain::test_main_exclusive_args[params0] PASSED [ 31%] tests/unittests/config/test_schema.py::TestMain::test_main_ignores_schema_type[params0-expectation0] PASSED [ 31%] tests/unittests/config/test_schema.py::TestMain::test_main_missing_args PASSED [ 31%] tests/unittests/config/test_schema.py::TestMain::test_main_absent_config_file PASSED [ 31%] tests/unittests/config/test_schema.py::TestMain::test_main_validates_config_file[None-#cloud-config\nntp:-Valid schema] PASSED [ 31%] tests/unittests/config/test_schema.py::TestMain::test_main_validates_config_file[cloud-config-#cloud-config\nntp:-Valid schema] PASSED [ 31%] tests/unittests/config/test_schema.py::TestMain::test_main_validates_config_file[network-config-network: {'version': 2, 'ethernets': {'eth0': {'dhcp': true}}}-Valid schema] PASSED [ 31%] tests/unittests/config/test_schema.py::TestMain::test_main_validates_config_file[network-config-network:\n version: 1\n config:\n - type: physical\n name: eth0\n subnets:\n - type: dhcp\n-Valid schema] PASSED [ 31%] tests/unittests/config/test_schema.py::TestMain::test_main_validates_config_file[network-config-network:\n version: 1\n config:\n - type: physical\n name: eth0\n subnets:\n - type: manual\n-Valid schema] PASSED [ 31%] tests/unittests/config/test_schema.py::TestMain::test_main_validates_config_file[network-config-network:\n version: 1\n config:\n - type: physical\n name: eth0\n subnets:\n - type: static\n-Valid schema] PASSED [ 31%] tests/unittests/config/test_schema.py::TestMain::test_main_validates_config_file[network-config-network:\n version: 1\n config:\n - type: physical\n name: eth0\n subnets:\n - type: static6\n-Valid schema] PASSED [ 31%] tests/unittests/config/test_schema.py::TestMain::test_main_validates_config_file[network-config-network:\n version: 1\n config:\n - type: physical\n name: eth0\n subnets:\n - type: dhcp6\n-Valid schema] PASSED [ 31%] tests/unittests/config/test_schema.py::TestMain::test_main_validates_config_file[network-config-network:\n version: 1\n config:\n - type: physical\n name: eth0\n subnets:\n - type: dhcp4\n-Valid schema] PASSED [ 31%] tests/unittests/config/test_schema.py::TestMain::test_main_validates_config_file[network-config-network:\n version: 1\n config:\n - type: physical\n name: eth0\n subnets:\n - type: ipv6_slaac\n-Valid schema] PASSED [ 31%] tests/unittests/config/test_schema.py::TestMain::test_main_validates_config_file[network-config-network:\n version: 1\n config:\n - type: physical\n name: eth0\n subnets:\n - type: ipv6_dhcpv6-stateful\n-Valid schema] PASSED [ 31%] tests/unittests/config/test_schema.py::TestMain::test_main_validates_config_file[network-config-network:\n version: 1\n config:\n - type: physical\n name: eth0\n subnets:\n - type: ipv6_dhcpv6-stateless\n-Valid schema] PASSED [ 31%] tests/unittests/config/test_schema.py::TestMain::test_main_processed_data_preference_over_raw_data[prefer_processed_data_when_present_and_non_empty] PASSED [ 31%] tests/unittests/config/test_schema.py::TestMain::test_main_processed_data_preference_over_raw_data[prefer_raw_data_when_processed_is_empty] PASSED [ 32%] tests/unittests/config/test_schema.py::TestMain::test_main_processed_data_preference_over_raw_data[prefer_processed_vd_file_path_when_raw_and_processed_empty] PASSED [ 32%] tests/unittests/config/test_schema.py::TestMain::test_main_validates_system_userdata_vendordata_and_network_config[netv1_schema_validated] PASSED [ 32%] tests/unittests/config/test_schema.py::TestMain::test_main_validates_system_userdata_vendordata_and_network_config[netv2_schema_validated_non_netplan] PASSED [ 32%] tests/unittests/config/test_schema.py::TestMain::test_main_validates_system_userdata_vendordata_and_network_config[empty_net_validation_is_skipped] PASSED [ 32%] tests/unittests/config/test_schema.py::TestMain::test_main_validates_system_userdata_vendordata_and_network_config[netv1_schema_errors_handled] PASSED [ 32%] tests/unittests/config/test_schema.py::TestMain::test_main_validates_system_userdata_vendordata_and_network_config[netv1_schema_error_on_nic_name_length] PASSED [ 32%] tests/unittests/config/test_schema.py::TestMain::test_main_system_userdata_requires_root PASSED [ 32%] tests/unittests/config/test_schema.py::TestSchemaDocExamples::test_cloud_config_schema_doc_examples[/build/cloud-init/src/cloud-init-26.2/doc/examples/cloud-config-chef.txt] PASSED [ 32%] tests/unittests/config/test_schema.py::TestSchemaDocExamples::test_cloud_config_schema_doc_examples[/build/cloud-init/src/cloud-init-26.2/doc/examples/cloud-config.txt] PASSED [ 32%] tests/unittests/config/test_schema.py::TestSchemaDocExamples::test_cloud_config_schema_doc_examples[/build/cloud-init/src/cloud-init-26.2/doc/examples/cloud-config-update-apt.txt] PASSED [ 32%] tests/unittests/config/test_schema.py::TestSchemaDocExamples::test_cloud_config_schema_doc_examples[/build/cloud-init/src/cloud-init-26.2/doc/examples/cloud-config-gluster.txt] PASSED [ 32%] tests/unittests/config/test_schema.py::TestSchemaDocExamples::test_cloud_config_schema_doc_examples[/build/cloud-init/src/cloud-init-26.2/doc/examples/cloud-config-yum-repo.txt] PASSED [ 32%] tests/unittests/config/test_schema.py::TestSchemaDocExamples::test_cloud_config_schema_doc_examples[/build/cloud-init/src/cloud-init-26.2/doc/examples/cloud-config-user-groups.txt] PASSED [ 32%] tests/unittests/config/test_schema.py::TestSchemaDocExamples::test_cloud_config_schema_doc_examples[/build/cloud-init/src/cloud-init-26.2/doc/examples/cloud-config-wireguard.txt] PASSED [ 32%] tests/unittests/config/test_schema.py::TestSchemaDocExamples::test_cloud_config_schema_doc_examples[/build/cloud-init/src/cloud-init-26.2/doc/examples/cloud-config-ansible-managed.txt] PASSED [ 32%] tests/unittests/config/test_schema.py::TestSchemaDocExamples::test_cloud_config_schema_doc_examples[/build/cloud-init/src/cloud-init-26.2/doc/examples/cloud-config-ansible-controller.txt] PASSED [ 32%] tests/unittests/config/test_schema.py::TestSchemaDocExamples::test_cloud_config_schema_doc_examples[/build/cloud-init/src/cloud-init-26.2/doc/examples/cloud-config-update-packages.txt] PASSED [ 32%] tests/unittests/config/test_schema.py::TestSchemaDocExamples::test_cloud_config_schema_doc_examples[/build/cloud-init/src/cloud-init-26.2/doc/examples/cloud-config-ansible-pull.txt] PASSED [ 32%] tests/unittests/config/test_schema.py::TestSchemaDocExamples::test_cloud_config_schema_doc_examples[/build/cloud-init/src/cloud-init-26.2/doc/examples/cloud-config-chef-oneiric.txt] PASSED [ 32%] tests/unittests/config/test_schema.py::TestSchemaDocExamples::test_cloud_config_schema_doc_examples[/build/cloud-init/src/cloud-init-26.2/doc/examples/cloud-config-lxd.txt] PASSED [ 32%] tests/unittests/config/test_schema.py::TestSchemaDocExamples::test_cloud_config_schema_doc_examples[/build/cloud-init/src/cloud-init-26.2/doc/examples/cloud-config-write-files.txt] PASSED [ 32%] tests/unittests/config/test_schema.py::TestSchemaDocExamples::test_cloud_config_schema_doc_examples[/build/cloud-init/src/cloud-init-26.2/doc/examples/cloud-config-boot-cmds.txt] PASSED [ 32%] tests/unittests/config/test_schema.py::TestSchemaDocExamples::test_cloud_config_schema_doc_examples[/build/cloud-init/src/cloud-init-26.2/doc/examples/cloud-config-ssh-keys.txt] PASSED [ 32%] tests/unittests/config/test_schema.py::TestSchemaDocExamples::test_cloud_config_schema_doc_examples[/build/cloud-init/src/cloud-init-26.2/doc/examples/cloud-config-add-apt-repos.txt] PASSED [ 32%] tests/unittests/config/test_schema.py::TestSchemaDocExamples::test_cloud_config_schema_doc_examples[/build/cloud-init/src/cloud-init-26.2/doc/examples/cloud-config-ca-certs.txt] PASSED [ 32%] tests/unittests/config/test_schema.py::TestSchemaDocExamples::test_cloud_config_schema_doc_examples[/build/cloud-init/src/cloud-init-26.2/doc/examples/cloud-config-disk-setup.txt] PASSED [ 32%] tests/unittests/config/test_schema.py::TestSchemaDocExamples::test_cloud_config_schema_doc_examples[/build/cloud-init/src/cloud-init-26.2/doc/examples/cloud-config-install-packages.txt] PASSED [ 32%] tests/unittests/config/test_schema.py::TestSchemaDocExamples::test_cloud_config_schema_doc_examples[/build/cloud-init/src/cloud-init-26.2/doc/examples/cloud-config-launch-index.txt] PASSED [ 32%] tests/unittests/config/test_schema.py::TestSchemaDocExamples::test_cloud_config_schema_doc_examples[/build/cloud-init/src/cloud-init-26.2/doc/examples/cloud-config-reporting.txt] PASSED [ 32%] tests/unittests/config/test_schema.py::TestSchemaDocExamples::test_cloud_config_schema_doc_examples[/build/cloud-init/src/cloud-init-26.2/doc/examples/cloud-config-apt.txt] PASSED [ 32%] tests/unittests/config/test_schema.py::TestSchemaDocExamples::test_cloud_config_schema_doc_examples[/build/cloud-init/src/cloud-init-26.2/doc/examples/cloud-config-mount-points.txt] PASSED [ 32%] tests/unittests/config/test_schema.py::TestSchemaDocExamples::test_cloud_config_schema_doc_examples[/build/cloud-init/src/cloud-init-26.2/doc/examples/cloud-config-run-cmds.txt] PASSED [ 32%] tests/unittests/config/test_schema.py::TestSchemaDocExamples::test_cloud_config_schema_doc_examples[/build/cloud-init/src/cloud-init-26.2/doc/examples/cloud-config-ntp.txt] PASSED [ 32%] tests/unittests/config/test_schema.py::TestSchemaDocExamples::test_network_config_schema_v1_doc_examples[/build/cloud-init/src/cloud-init-26.2/doc/examples/network-config-v1-route.yaml] PASSED [ 32%] tests/unittests/config/test_schema.py::TestSchemaDocExamples::test_network_config_schema_v1_doc_examples[/build/cloud-init/src/cloud-init-26.2/doc/examples/network-config-v1-bonded-pair.yaml] PASSED [ 32%] tests/unittests/config/test_schema.py::TestSchemaDocExamples::test_network_config_schema_v1_doc_examples[/build/cloud-init/src/cloud-init-26.2/doc/examples/network-config-v1-physical-dhcp.yaml] PASSED [ 32%] tests/unittests/config/test_schema.py::TestSchemaDocExamples::test_network_config_schema_v1_doc_examples[/build/cloud-init/src/cloud-init-26.2/doc/examples/network-config-v1-multiple-vlan.yaml] PASSED [ 32%] tests/unittests/config/test_schema.py::TestSchemaDocExamples::test_network_config_schema_v1_doc_examples[/build/cloud-init/src/cloud-init-26.2/doc/examples/network-config-v1-bonded-vlan.yaml] PASSED [ 32%] tests/unittests/config/test_schema.py::TestSchemaDocExamples::test_network_config_schema_v1_doc_examples[/build/cloud-init/src/cloud-init-26.2/doc/examples/network-config-v1-physical-3-nic.yaml] PASSED [ 32%] tests/unittests/config/test_schema.py::TestSchemaDocExamples::test_network_config_schema_v1_doc_examples[/build/cloud-init/src/cloud-init-26.2/doc/examples/network-config-v1-subnet-dhcp.yaml] PASSED [ 32%] tests/unittests/config/test_schema.py::TestSchemaDocExamples::test_network_config_schema_v1_doc_examples[/build/cloud-init/src/cloud-init-26.2/doc/examples/network-config-v1-subnet-routes.yaml] PASSED [ 32%] tests/unittests/config/test_schema.py::TestSchemaDocExamples::test_network_config_schema_v1_doc_examples[/build/cloud-init/src/cloud-init-26.2/doc/examples/network-config-v1-subnet-multiple.yaml] PASSED [ 32%] tests/unittests/config/test_schema.py::TestSchemaDocExamples::test_network_config_schema_v1_doc_examples[/build/cloud-init/src/cloud-init-26.2/doc/examples/network-config-v1-bridge.yaml] PASSED [ 32%] tests/unittests/config/test_schema.py::TestSchemaDocExamples::test_network_config_schema_v1_doc_examples[/build/cloud-init/src/cloud-init-26.2/doc/examples/network-config-v1-vlan.yaml] PASSED [ 32%] tests/unittests/config/test_schema.py::TestSchemaDocExamples::test_network_config_schema_v1_doc_examples[/build/cloud-init/src/cloud-init-26.2/doc/examples/network-config-v1-subnet-static.yaml] PASSED [ 32%] tests/unittests/config/test_schema.py::TestSchemaDocExamples::test_network_config_schema_v1_doc_examples[/build/cloud-init/src/cloud-init-26.2/doc/examples/network-config-v1-nameserver.yaml] PASSED [ 32%] tests/unittests/config/test_schema.py::TestSchemaDocExamples::test_network_config_schema_v2_doc_examples[NOTSET] SKIPPED [ 32%] tests/unittests/config/test_schema.py::TestNetworkSchema::test_network_schema[net_v2_simple_example] PASSED [ 32%] tests/unittests/config/test_schema.py::TestNetworkSchema::test_network_schema[net_v2_no_top_level] PASSED [ 32%] tests/unittests/config/test_schema.py::TestNetworkSchema::test_network_schema[config_key_required] PASSED [ 32%] tests/unittests/config/test_schema.py::TestNetworkSchema::test_network_schema[config_key_empty_valid] PASSED [ 32%] tests/unittests/config/test_schema.py::TestNetworkSchema::test_network_schema[unknown_config_type_item] PASSED [ 32%] tests/unittests/config/test_schema.py::TestNetworkSchema::test_network_schema[physical_requires_name_property] PASSED [ 32%] tests/unittests/config/test_schema.py::TestNetworkSchema::test_network_schema[physical_with_name_succeeds] PASSED [ 32%] tests/unittests/config/test_schema.py::TestNetworkSchema::test_network_schema[physical_no_additional_properties] PASSED [ 32%] tests/unittests/config/test_schema.py::TestNetworkSchema::test_network_schema[physical_with_all_known_properties] PASSED [ 32%] tests/unittests/config/test_schema.py::TestNetworkSchema::test_network_schema[bond_with_all_known_properties] PASSED [ 33%] tests/unittests/config/test_schema.py::TestNetworkSchema::test_network_schema[GH-4710_mtu_none_and_str_address] PASSED [ 33%] tests/unittests/config/test_schema.py::TestNetworkSchema::test_network_schema[subnet_metric_validation] PASSED [ 33%] tests/unittests/config/test_schema.py::TestStrictMetaschema::test_modules PASSED [ 33%] tests/unittests/config/test_schema.py::TestStrictMetaschema::test_validate_bad_module PASSED [ 33%] tests/unittests/config/test_schema.py::TestMeta::test_valid_meta_for_every_module PASSED [ 33%] tests/unittests/config/test_schema.py::TestHandleSchemaArgs::test_handle_schema_unable_to_read_cfg_paths[failure0-expected_logs0] PASSED [ 33%] tests/unittests/config/test_schema.py::TestHandleSchemaArgs::test_handle_schema_unable_to_read_cfg_paths[failure1-expected_logs1] PASSED [ 33%] tests/unittests/config/test_schema.py::TestHandleSchemaArgs::test_handle_schema_args_annotate_deprecated_config[test_annotated_deprecation_info_boundary_devel_shows] PASSED [ 33%] tests/unittests/config/test_schema.py::TestHandleSchemaArgs::test_handle_schema_args_annotate_deprecated_config[test_annotated_deprecation_info_boundary_below_unredacted] PASSED [ 33%] tests/unittests/config/test_schema.py::TestHandleSchemaArgs::test_handle_schema_args_annotate_deprecated_config[test_deprecation_info_boundary_does_unannotated_unredacted] PASSED [ 33%] tests/unittests/config/test_schema.py::TestHandleSchemaArgs::test_handle_schema_args_jinja_with_errors[root_annotate_errors_with_exception] PASSED [ 33%] tests/unittests/config/test_schema.py::TestHandleSchemaArgs::test_handle_schema_args_jinja_with_errors[root_no_annotate_exception_with_unique_errors] PASSED [ 33%] tests/unittests/config/test_schema.py::TestHandleSchemaArgs::test_handle_schema_args_unknown_header[root_no_annotate_exception_with_unique_errors] PASSED [ 33%] tests/unittests/config/test_schema.py::TestDeprecation::test_get_meta_doc_deprecation PASSED [ 33%] tests/unittests/distros/package_management/test_apt.py::TestPackageCommand::test_simple_command PASSED [ 33%] tests/unittests/distros/package_management/test_apt.py::TestPackageCommand::test_wait_for_lock PASSED [ 33%] tests/unittests/distros/package_management/test_apt.py::TestPackageCommand::test_lock_wait_timeout PASSED [ 33%] tests/unittests/distros/package_management/test_apt.py::TestPackageCommand::test_lock_exception_wait PASSED [ 33%] tests/unittests/distros/package_management/test_apt.py::TestPackageCommand::test_lock_exception_timeout PASSED [ 33%] tests/unittests/distros/package_management/test_apt.py::TestPackageCommand::test_search_stem PASSED [ 33%] tests/unittests/distros/package_management/test_apt.py::TestUpdatePackageSources::test_force_update_calls_twice PASSED [ 33%] tests/unittests/distros/package_management/test_apt.py::TestUpdatePackageSources::test_force_update_twice_calls_twice PASSED [ 33%] tests/unittests/distros/package_management/test_apt.py::TestUpdatePackageSources::test_no_force_update_calls_once PASSED [ 33%] tests/unittests/distros/test__init__.py::TestGenericDistro::test_doas_ensure_rules PASSED [ 33%] tests/unittests/distros/test__init__.py::TestGenericDistro::test_doas_ensure_rules_list PASSED [ 33%] tests/unittests/distros/test__init__.py::TestGenericDistro::test_doas_ensure_handle_duplicates PASSED [ 33%] tests/unittests/distros/test__init__.py::TestGenericDistro::test_doas_ensure_new PASSED [ 33%] tests/unittests/distros/test__init__.py::TestGenericDistro::test_doas_ensure_append PASSED [ 33%] tests/unittests/distros/test__init__.py::TestGenericDistro::test_sudoers_ensure_rules PASSED [ 33%] tests/unittests/distros/test__init__.py::TestGenericDistro::test_sudoers_ensure_rules_list PASSED [ 33%] tests/unittests/distros/test__init__.py::TestGenericDistro::test_sudoers_ensure_handle_duplicates PASSED [ 33%] tests/unittests/distros/test__init__.py::TestGenericDistro::test_sudoers_ensure_new PASSED [ 33%] tests/unittests/distros/test__init__.py::TestGenericDistro::test_sudoers_ensure_append PASSED [ 33%] tests/unittests/distros/test__init__.py::TestGenericDistro::test_sudoers_ensure_append_sudoer_file PASSED [ 33%] tests/unittests/distros/test__init__.py::TestGenericDistro::test_usr_sudoers_ensure_new PASSED [ 33%] tests/unittests/distros/test__init__.py::TestGenericDistro::test_usr_sudoers_ensure_no_etc_create_when_include_in_usr_etc PASSED [ 33%] tests/unittests/distros/test__init__.py::TestGenericDistro::test_sudoers_ensure_only_one_includedir PASSED [ 33%] tests/unittests/distros/test__init__.py::TestGenericDistro::test_arch_package_mirror_info_unknown PASSED [ 33%] tests/unittests/distros/test__init__.py::TestGenericDistro::test_arch_package_mirror_info_known PASSED [ 33%] tests/unittests/distros/test__init__.py::TestGenericDistro::test_systemd_in_use PASSED [ 33%] tests/unittests/distros/test__init__.py::TestGenericDistro::test_systemd_not_in_use PASSED [ 33%] tests/unittests/distros/test__init__.py::TestGenericDistro::test_systemd_symlink PASSED [ 33%] tests/unittests/distros/test__init__.py::TestGenericDistro::test_get_locale_ubuntu PASSED [ 33%] tests/unittests/distros/test__init__.py::TestGenericDistro::test_get_locale_rhel PASSED [ 33%] tests/unittests/distros/test__init__.py::TestGenericDistro::test_expire_passwd_uses_chpasswd PASSED [ 33%] tests/unittests/distros/test__init__.py::TestGenericDistro::test_expire_passwd_freebsd_uses_pw_command PASSED [ 33%] tests/unittests/distros/test__init__.py::TestGenericDistro::test_do_as_nested_py_cmd PASSED [ 33%] tests/unittests/distros/test__init__.py::TestGetPackageMirrors::test_get_package_mirror_info_az_ec2[True-ec2-mirrors0] PASSED [ 33%] tests/unittests/distros/test__init__.py::TestGetPackageMirrors::test_get_package_mirror_info_az_ec2[True-other-mirrors1] PASSED [ 33%] tests/unittests/distros/test__init__.py::TestGetPackageMirrors::test_get_package_mirror_info_az_ec2[False-ec2-mirrors2] PASSED [ 33%] tests/unittests/distros/test__init__.py::TestGetPackageMirrors::test_get_package_mirror_info_az_ec2[False-other-mirrors3] PASSED [ 33%] tests/unittests/distros/test__init__.py::TestGetPackageMirrors::test_get_package_mirror_info_az_non_ec2 PASSED [ 33%] tests/unittests/distros/test__init__.py::TestGetPackageMirrors::test_get_package_mirror_info_none PASSED [ 33%] tests/unittests/distros/test__init__.py::TestDistro::test_get_tmp_exec_path[False] PASSED [ 33%] tests/unittests/distros/test__init__.py::TestDistro::test_get_tmp_exec_path[True] PASSED [ 33%] tests/unittests/distros/test__init__.py::TestDHCP::test_dhcp_configuration[single_client_is_found_from_config_dhclient] PASSED [ 33%] tests/unittests/distros/test__init__.py::TestDHCP::test_dhcp_configuration[single_client_is_found_from_config_udhcpc] PASSED [ 33%] tests/unittests/distros/test__init__.py::TestDHCP::test_dhcp_configuration[single_client_is_found_from_config_dhcpcd] PASSED [ 34%] tests/unittests/distros/test__init__.py::TestDHCP::test_dhcp_configuration[first_client_is_found_from_config_dhcpcd] PASSED [ 34%] tests/unittests/distros/test__init__.py::TestDHCP::test_dhcp_configuration[first_client_is_found_from_config_udhcpc] PASSED [ 34%] tests/unittests/distros/test__init__.py::TestDHCP::test_dhcp_configuration[first_client_is_found_no_config_dhcpcd] PASSED [ 34%] tests/unittests/distros/test__init__.py::TestDHCP::test_dhcp_configuration[second_client_is_found_from_config_dhcpcd] PASSED [ 34%] tests/unittests/distros/test_alpine.py::TestAlpineBusyboxUserGroup::test_busybox_add_group PASSED [ 34%] tests/unittests/distros/test_alpine.py::TestAlpineBusyboxUserGroup::test_busybox_add_user PASSED [ 34%] tests/unittests/distros/test_alpine.py::TestAlpineShadowUserGroup::test_shadow_add_group PASSED [ 34%] tests/unittests/distros/test_alpine.py::TestAlpineShadowUserGroup::test_shadow_add_user PASSED [ 34%] tests/unittests/distros/test_aosc.py::TestAOSC::test_get_distro PASSED [ 34%] tests/unittests/distros/test_arch.py::TestArch::test_get_distro PASSED [ 34%] tests/unittests/distros/test_azurelinux.py::TestAzurelinux::test_network_renderer PASSED [ 34%] tests/unittests/distros/test_azurelinux.py::TestAzurelinux::test_get_distro PASSED [ 34%] tests/unittests/distros/test_bsd_utils.py::TestBsdUtils::test_get_rc_config_value[hostname=foo\n-foo] PASSED [ 34%] tests/unittests/distros/test_bsd_utils.py::TestBsdUtils::test_get_rc_config_value[hostname=foo-foo] PASSED [ 34%] tests/unittests/distros/test_bsd_utils.py::TestBsdUtils::test_get_rc_config_value[hostname="foo"-foo] PASSED [ 34%] tests/unittests/distros/test_bsd_utils.py::TestBsdUtils::test_get_rc_config_value[hostname='foo'-foo] PASSED [ 34%] tests/unittests/distros/test_bsd_utils.py::TestBsdUtils::test_get_rc_config_value[hostname='foo"-'foo"] PASSED [ 34%] tests/unittests/distros/test_bsd_utils.py::TestBsdUtils::test_get_rc_config_value[-None] PASSED [ 34%] tests/unittests/distros/test_bsd_utils.py::TestBsdUtils::test_get_rc_config_value[\nif something; then\n do something here\nfi\nhostname=foo\n-foo] PASSED [ 34%] tests/unittests/distros/test_bsd_utils.py::TestBsdUtils::test_set_rc_config_value_unchanged PASSED [ 34%] tests/unittests/distros/test_bsd_utils.py::TestBsdUtils::test_set_rc_config_value PASSED [ 34%] tests/unittests/distros/test_create_users.py::TestCreateUser::test_create_options[basic] PASSED [ 34%] tests/unittests/distros/test_create_users.py::TestCreateUser::test_create_options[basic_snappy] PASSED [ 34%] tests/unittests/distros/test_create_users.py::TestCreateUser::test_create_options[no_home] PASSED [ 34%] tests/unittests/distros/test_create_users.py::TestCreateUser::test_create_options[no_home_snappy] PASSED [ 34%] tests/unittests/distros/test_create_users.py::TestCreateUser::test_create_options[system_user] PASSED [ 34%] tests/unittests/distros/test_create_users.py::TestCreateUser::test_create_options[system_user_snappy] PASSED [ 34%] tests/unittests/distros/test_create_users.py::TestCreateUser::test_create_options[explicit_no_home_false] PASSED [ 34%] tests/unittests/distros/test_create_users.py::TestCreateUser::test_create_options[explicit_no_home_false_snappy] PASSED [ 34%] tests/unittests/distros/test_create_users.py::TestCreateUser::test_create_options[unlocked] PASSED [ 34%] tests/unittests/distros/test_create_users.py::TestCreateUser::test_create_options[unlocked_snappy] PASSED [ 34%] tests/unittests/distros/test_create_users.py::TestCreateUser::test_create_options[set_implicit_encrypted_password] PASSED [ 34%] tests/unittests/distros/test_create_users.py::TestCreateUser::test_create_options[set_implicit_encrypted_password_snappy] PASSED [ 34%] tests/unittests/distros/test_create_users.py::TestCreateUser::test_create_options[set_empty_passwd_new_user] PASSED [ 34%] tests/unittests/distros/test_create_users.py::TestCreateUser::test_create_options[set_empty_passwd_new_user_snappy] PASSED [ 34%] tests/unittests/distros/test_create_users.py::TestCreateUser::test_create_options[set_plain_text_password] PASSED [ 34%] tests/unittests/distros/test_create_users.py::TestCreateUser::test_create_options[set_plain_text_password_snappy] PASSED [ 34%] tests/unittests/distros/test_create_users.py::TestCreateUser::test_create_options[set_explicitly_hashed_password] PASSED [ 34%] tests/unittests/distros/test_create_users.py::TestCreateUser::test_create_options[set_explicitly_hashed_password_snappy] PASSED [ 34%] tests/unittests/distros/test_create_users.py::TestCreateUser::test_avoid_unlock_preexisting_user_empty_password[no_unlock_on_locked_empty_user_passwd] PASSED [ 34%] tests/unittests/distros/test_create_users.py::TestCreateUser::test_avoid_unlock_preexisting_user_empty_password[no_unlock_in_snappy_on_locked_empty_user_passwd_in_extrausers] PASSED [ 34%] tests/unittests/distros/test_create_users.py::TestCreateUser::test_avoid_unlock_preexisting_user_empty_password[no_unlock_on_empty_user_passwd_alpine] PASSED [ 34%] tests/unittests/distros/test_create_users.py::TestCreateUser::test_avoid_unlock_preexisting_user_empty_password[no_unlock_on_empty_user_passwd_dragonflybsd] PASSED [ 34%] tests/unittests/distros/test_create_users.py::TestCreateUser::test_avoid_unlock_preexisting_user_empty_password[no_unlock_on_locked_format1_empty_user_passwd_dragonflybsd] PASSED [ 34%] tests/unittests/distros/test_create_users.py::TestCreateUser::test_avoid_unlock_preexisting_user_empty_password[no_unlock_on_locked_format2_empty_user_passwd_dragonflybsd] PASSED [ 34%] tests/unittests/distros/test_create_users.py::TestCreateUser::test_avoid_unlock_preexisting_user_empty_password[no_unlock_on_empty_user_passwd_freebsd] PASSED [ 34%] tests/unittests/distros/test_create_users.py::TestCreateUser::test_avoid_unlock_preexisting_user_empty_password[no_unlock_on_locked_format1_empty_user_passwd_freebsd] PASSED [ 34%] tests/unittests/distros/test_create_users.py::TestCreateUser::test_avoid_unlock_preexisting_user_empty_password[no_unlock_on_locked_format2_empty_user_passwd_freebsd] PASSED [ 34%] tests/unittests/distros/test_create_users.py::TestCreateUser::test_avoid_unlock_preexisting_user_empty_password[no_unlock_on_empty_format1_user_passwd_netbsd] PASSED [ 34%] tests/unittests/distros/test_create_users.py::TestCreateUser::test_avoid_unlock_preexisting_user_empty_password[no_unlock_on_empty_format2_user_passwd_netbsd] PASSED [ 34%] tests/unittests/distros/test_create_users.py::TestCreateUser::test_avoid_unlock_preexisting_user_empty_password[no_unlock_on_locked_empty_user_passwd_netbsd] PASSED [ 34%] tests/unittests/distros/test_create_users.py::TestCreateUser::test_avoid_unlock_preexisting_user_empty_password[no_unlock_on_empty_user_passwd_openbsd] PASSED [ 34%] tests/unittests/distros/test_create_users.py::TestCreateUser::test_avoid_unlock_preexisting_user_empty_password[no_unlock_on_locked_format1_empty_user_passwd_openbsd] PASSED [ 34%] tests/unittests/distros/test_create_users.py::TestCreateUser::test_avoid_unlock_preexisting_user_empty_password[no_unlock_on_locked_format2_empty_user_passwd_openbsd] PASSED [ 34%] tests/unittests/distros/test_create_users.py::TestCreateUser::test_create_passwd_existing_user[skip_passwd_set_on_existing_user] PASSED [ 34%] tests/unittests/distros/test_create_users.py::TestCreateUser::test_create_passwd_existing_user[set_plain_text_password_on_existing_user] PASSED [ 34%] tests/unittests/distros/test_create_users.py::TestCreateUser::test_create_passwd_existing_user[set_explicitly_hashed_password] PASSED [ 35%] tests/unittests/distros/test_create_users.py::TestCreateUser::test_group_added PASSED [ 35%] tests/unittests/distros/test_create_users.py::TestCreateUser::test_snappy_group_added PASSED [ 35%] tests/unittests/distros/test_create_users.py::TestCreateUser::test_only_new_group_added PASSED [ 35%] tests/unittests/distros/test_create_users.py::TestCreateUser::test_snappy_only_new_group_added PASSED [ 35%] tests/unittests/distros/test_create_users.py::TestCreateUser::test_create_groups_with_whitespace_string PASSED [ 35%] tests/unittests/distros/test_create_users.py::TestCreateUser::test_snappy_create_groups_with_whitespace_string PASSED [ 35%] tests/unittests/distros/test_create_users.py::TestCreateUser::test_create_groups_with_dict_deprecated PASSED [ 35%] tests/unittests/distros/test_create_users.py::TestCreateUser::test_create_groups_with_list PASSED [ 35%] tests/unittests/distros/test_create_users.py::TestCreateUser::test_snappy_create_groups_with_list PASSED [ 35%] tests/unittests/distros/test_create_users.py::TestCreateUser::test_explicit_sudo_false PASSED [ 35%] tests/unittests/distros/test_create_users.py::TestCreateUser::test_explicit_sudo_none PASSED [ 35%] tests/unittests/distros/test_create_users.py::TestCreateUser::test_snappy_explicit_sudo_none PASSED [ 35%] tests/unittests/distros/test_create_users.py::TestCreateUser::test_setup_ssh_authorized_keys_with_string PASSED [ 35%] tests/unittests/distros/test_create_users.py::TestCreateUser::test_snappy_setup_ssh_authorized_keys_with_string PASSED [ 35%] tests/unittests/distros/test_create_users.py::TestCreateUser::test_setup_ssh_authorized_keys_with_list PASSED [ 35%] tests/unittests/distros/test_create_users.py::TestCreateUser::test_snappy_setup_ssh_authorized_keys_with_list PASSED [ 35%] tests/unittests/distros/test_create_users.py::TestCreateUser::test_setup_ssh_authorized_keys_with_integer PASSED [ 35%] tests/unittests/distros/test_create_users.py::TestCreateUser::test_create_user_with_ssh_redirect_user_no_cloud_keys PASSED [ 35%] tests/unittests/distros/test_create_users.py::TestCreateUser::test_create_user_with_ssh_redirect_user_with_cloud_keys PASSED [ 35%] tests/unittests/distros/test_create_users.py::TestCreateUser::test_create_user_with_ssh_redirect_user_does_not_disable_auth_keys PASSED [ 35%] tests/unittests/distros/test_create_users.py::TestCreateUser::test_lock_with_usermod_if_no_passwd PASSED [ 35%] tests/unittests/distros/test_create_users.py::TestCreateUser::test_lock_with_passwd_if_available PASSED [ 35%] tests/unittests/distros/test_create_users.py::TestCreateUser::test_lock_raises_runtime_if_no_commands PASSED [ 35%] tests/unittests/distros/test_debian.py::TestDebianApplyLocale::test_no_rerun PASSED [ 35%] tests/unittests/distros/test_debian.py::TestDebianApplyLocale::test_no_regen_on_c_utf8[-install_pkgs0] PASSED [ 35%] tests/unittests/distros/test_debian.py::TestDebianApplyLocale::test_no_regen_on_c_utf8[/usr/bin/update-locale-install_pkgs1] PASSED [ 35%] tests/unittests/distros/test_debian.py::TestDebianApplyLocale::test_rerun_if_different PASSED [ 35%] tests/unittests/distros/test_debian.py::TestDebianApplyLocale::test_rerun_if_no_file[-install_pkgs0] PASSED [ 35%] tests/unittests/distros/test_debian.py::TestDebianApplyLocale::test_rerun_if_no_file[/usr/bin/locale-gen-install_pkgs1] PASSED [ 35%] tests/unittests/distros/test_debian.py::TestDebianApplyLocale::test_rerun_on_unset_system_locale PASSED [ 35%] tests/unittests/distros/test_debian.py::TestDebianApplyLocale::test_rerun_on_mismatched_keys PASSED [ 35%] tests/unittests/distros/test_debian.py::TestDebianApplyLocale::test_falseish_locale_raises_valueerror PASSED [ 35%] tests/unittests/distros/test_debian.py::TestLookupSupportedI18nValue::test_no_match_constructs_default PASSED [ 35%] tests/unittests/distros/test_debian.py::TestLookupSupportedI18nValue::test_formats_with_charset_and_modifier PASSED [ 35%] tests/unittests/distros/test_dragonflybsd.py::TestDragonFlyBSD::test_add_user PASSED [ 35%] tests/unittests/distros/test_dragonflybsd.py::TestDragonFlyBSD::test_unlock_passwd PASSED [ 35%] tests/unittests/distros/test_dragonflybsd.py::test_find_dragonflybsd_part PASSED [ 35%] tests/unittests/distros/test_dragonflybsd.py::test_parse_mount PASSED [ 35%] tests/unittests/distros/test_freebsd.py::TestFreeBSD::test_add_user PASSED [ 35%] tests/unittests/distros/test_freebsd.py::TestFreeBSD::test_unlock_passwd PASSED [ 35%] tests/unittests/distros/test_freebsd.py::TestDeviceLookUp::test_find_freebsd_part_label PASSED [ 35%] tests/unittests/distros/test_freebsd.py::TestDeviceLookUp::test_find_freebsd_part_gpt PASSED [ 35%] tests/unittests/distros/test_freebsd.py::TestDeviceLookUp::test_find_freebsd_part_gptid PASSED [ 35%] tests/unittests/distros/test_freebsd.py::TestDeviceLookUp::test_find_freebsd_part_ufsid PASSED [ 35%] tests/unittests/distros/test_freebsd.py::TestDeviceLookUp::test_get_path_dev_freebsd_label PASSED [ 35%] tests/unittests/distros/test_gentoo.py::TestGentoo::test_write_hostname PASSED [ 35%] tests/unittests/distros/test_gentoo.py::TestGentoo::test_write_existing_hostname_with_comments PASSED [ 35%] tests/unittests/distros/test_gentoo.py::TestGentooOpenRC::test_write_hostname PASSED [ 35%] tests/unittests/distros/test_gentoo.py::TestGentooOpenRC::test_write_existing_hostname_with_comments PASSED [ 35%] tests/unittests/distros/test_hostname.py::TestHostnameHelper::test_parse_same PASSED [ 35%] tests/unittests/distros/test_hostname.py::TestHostnameHelper::test_no_adjust_hostname PASSED [ 35%] tests/unittests/distros/test_hostname.py::TestHostnameHelper::test_adjust_hostname PASSED [ 35%] tests/unittests/distros/test_hosts.py::TestHostsHelper::test_parse PASSED [ 35%] tests/unittests/distros/test_hosts.py::TestHostsHelper::test_add PASSED [ 35%] tests/unittests/distros/test_hosts.py::TestHostsHelper::test_del PASSED [ 35%] tests/unittests/distros/test_ifconfig.py::TestIfconfigParserFreeBSD::test_parse_freebsd PASSED [ 35%] tests/unittests/distros/test_ifconfig.py::TestIfconfigParserFreeBSD::test_is_bridge PASSED [ 36%] tests/unittests/distros/test_ifconfig.py::TestIfconfigParserFreeBSD::test_index PASSED [ 36%] tests/unittests/distros/test_ifconfig.py::TestIfconfigParserFreeBSD::test_is_vlan PASSED [ 36%] tests/unittests/distros/test_ifconfig.py::TestIfconfigParserFreeBSD::test_netmask PASSED [ 36%] tests/unittests/distros/test_ifconfig.py::TestIfconfigParserFreeBSD::test_description PASSED [ 36%] tests/unittests/distros/test_ifconfig.py::TestIfconfigParserFreeBSD::test_vtnet_options PASSED [ 36%] tests/unittests/distros/test_ifconfig.py::TestIfconfigParserFreeBSD::test_duplicate_mac PASSED [ 36%] tests/unittests/distros/test_ifconfig.py::TestIfconfigParserFreeBSDCIDR::test_parse_freebsd PASSED [ 36%] tests/unittests/distros/test_ifconfig.py::TestIfconfigParserFreeBSDCIDR::test_netmask PASSED [ 36%] tests/unittests/distros/test_ifconfig.py::TestIfconfigParserOpenBSD::test_parse_openbsd PASSED [ 36%] tests/unittests/distros/test_ifconfig.py::TestIfconfigParserOpenBSD::test_is_not_physical PASSED [ 36%] tests/unittests/distros/test_ifconfig.py::TestIfconfigParserOpenBSD::test_is_physical PASSED [ 36%] tests/unittests/distros/test_ifconfig.py::TestIfconfigParserOpenBSD::test_index PASSED [ 36%] tests/unittests/distros/test_ifconfig.py::TestIfconfigParserOpenBSD::test_gif_ipv6 PASSED [ 36%] tests/unittests/distros/test_init.py::TestGetPackageMirrorInfo::test_get_package_mirror_info_failsafe[mirror_info0-expected0] PASSED [ 36%] tests/unittests/distros/test_init.py::TestGetPackageMirrorInfo::test_get_package_mirror_info_failsafe[mirror_info1-expected1] PASSED [ 36%] tests/unittests/distros/test_init.py::TestGetPackageMirrorInfo::test_get_package_mirror_info_failsafe[mirror_info2-expected2] PASSED [ 36%] tests/unittests/distros/test_init.py::TestGetPackageMirrorInfo::test_get_package_mirror_info_failsafe[mirror_info3-expected3] PASSED [ 36%] tests/unittests/distros/test_init.py::TestGetPackageMirrorInfo::test_failsafe_used_if_all_search_results_filtered_out PASSED [ 36%] tests/unittests/distros/test_init.py::TestGetPackageMirrorInfo::test_valid_substitution[fk-fake-1f-None-patterns0-expected0-True-ec2] PASSED [ 36%] tests/unittests/distros/test_init.py::TestGetPackageMirrorInfo::test_valid_substitution[fk-fake-1f-None-patterns1-expected1-True-ec2] PASSED [ 36%] tests/unittests/distros/test_init.py::TestGetPackageMirrorInfo::test_valid_substitution[None-fk-fake-1-patterns2-expected2-True-ec2] PASSED [ 36%] tests/unittests/distros/test_init.py::TestGetPackageMirrorInfo::test_valid_substitution[fake-fake-1f-None-patterns3-expected3-True-ec2] PASSED [ 36%] tests/unittests/distros/test_init.py::TestGetPackageMirrorInfo::test_valid_substitution[None-fake-region-patterns4-expected4-True-ec2] PASSED [ 36%] tests/unittests/distros/test_init.py::TestGetPackageMirrorInfo::test_valid_substitution[None-\u0422\u03b5\u0405\u0422\u0323-patterns5-expected5-True-ec2] PASSED [ 36%] tests/unittests/distros/test_init.py::TestGetPackageMirrorInfo::test_valid_substitution[None-\u0422\u03b5\u0405\u0422\u0323-patterns6-expected6-True-ec2] PASSED [ 36%] tests/unittests/distros/test_init.py::TestGetPackageMirrorInfo::test_valid_substitution[None-\u0422\u03b5\u0405\u0422\u0323-patterns7-expected7-True-ec2] PASSED [ 36%] tests/unittests/distros/test_init.py::TestGetPackageMirrorInfo::test_valid_substitution[None-fk-fake-1-patterns8-expected8-True-ec2] PASSED [ 36%] tests/unittests/distros/test_init.py::TestGetPackageMirrorInfo::test_valid_substitution[None-fk-fake-1-patterns9-expected9-True-ec2] PASSED [ 36%] tests/unittests/distros/test_init.py::TestGetPackageMirrorInfo::test_valid_substitution[None-inv[lid-patterns10-expected10-True-ec2] PASSED [ 36%] tests/unittests/distros/test_init.py::TestGetPackageMirrorInfo::test_valid_substitution[None--some-region--patterns11-expected11-True-ec2] PASSED [ 36%] tests/unittests/distros/test_init.py::TestGetPackageMirrorInfo::test_valid_substitution[None-fk\x00fake\x001-patterns12-expected12-True-ec2] PASSED [ 36%] tests/unittests/distros/test_init.py::TestGetPackageMirrorInfo::test_valid_substitution[None-fk\x01fake\x011-patterns13-expected13-True-ec2] PASSED [ 36%] tests/unittests/distros/test_init.py::TestGetPackageMirrorInfo::test_valid_substitution[None-fk\x02fake\x021-patterns14-expected14-True-ec2] PASSED [ 36%] tests/unittests/distros/test_init.py::TestGetPackageMirrorInfo::test_valid_substitution[None-fk\x03fake\x031-patterns15-expected15-True-ec2] PASSED [ 36%] tests/unittests/distros/test_init.py::TestGetPackageMirrorInfo::test_valid_substitution[None-fk\x04fake\x041-patterns16-expected16-True-ec2] PASSED [ 36%] tests/unittests/distros/test_init.py::TestGetPackageMirrorInfo::test_valid_substitution[None-fk\x05fake\x051-patterns17-expected17-True-ec2] PASSED [ 36%] tests/unittests/distros/test_init.py::TestGetPackageMirrorInfo::test_valid_substitution[None-fk\x06fake\x061-patterns18-expected18-True-ec2] PASSED [ 36%] tests/unittests/distros/test_init.py::TestGetPackageMirrorInfo::test_valid_substitution[None-fk\x07fake\x071-patterns19-expected19-True-ec2] PASSED [ 36%] tests/unittests/distros/test_init.py::TestGetPackageMirrorInfo::test_valid_substitution[None-fk\x08fake\x081-patterns20-expected20-True-ec2] PASSED [ 36%] tests/unittests/distros/test_init.py::TestGetPackageMirrorInfo::test_valid_substitution[None-fk\x0bfake\x0b1-patterns21-expected21-True-ec2] PASSED [ 36%] tests/unittests/distros/test_init.py::TestGetPackageMirrorInfo::test_valid_substitution[None-fk\x0cfake\x0c1-patterns22-expected22-True-ec2] PASSED [ 36%] tests/unittests/distros/test_init.py::TestGetPackageMirrorInfo::test_valid_substitution[None-fk\x0efake\x0e1-patterns23-expected23-True-ec2] PASSED [ 36%] tests/unittests/distros/test_init.py::TestGetPackageMirrorInfo::test_valid_substitution[None-fk\x0ffake\x0f1-patterns24-expected24-True-ec2] PASSED [ 36%] tests/unittests/distros/test_init.py::TestGetPackageMirrorInfo::test_valid_substitution[None-fk\x10fake\x101-patterns25-expected25-True-ec2] PASSED [ 36%] tests/unittests/distros/test_init.py::TestGetPackageMirrorInfo::test_valid_substitution[None-fk\x11fake\x111-patterns26-expected26-True-ec2] PASSED [ 36%] tests/unittests/distros/test_init.py::TestGetPackageMirrorInfo::test_valid_substitution[None-fk\x12fake\x121-patterns27-expected27-True-ec2] PASSED [ 36%] tests/unittests/distros/test_init.py::TestGetPackageMirrorInfo::test_valid_substitution[None-fk\x13fake\x131-patterns28-expected28-True-ec2] PASSED [ 36%] tests/unittests/distros/test_init.py::TestGetPackageMirrorInfo::test_valid_substitution[None-fk\x14fake\x141-patterns29-expected29-True-ec2] PASSED [ 36%] tests/unittests/distros/test_init.py::TestGetPackageMirrorInfo::test_valid_substitution[None-fk\x15fake\x151-patterns30-expected30-True-ec2] PASSED [ 36%] tests/unittests/distros/test_init.py::TestGetPackageMirrorInfo::test_valid_substitution[None-fk\x16fake\x161-patterns31-expected31-True-ec2] PASSED [ 36%] tests/unittests/distros/test_init.py::TestGetPackageMirrorInfo::test_valid_substitution[None-fk\x17fake\x171-patterns32-expected32-True-ec2] PASSED [ 36%] tests/unittests/distros/test_init.py::TestGetPackageMirrorInfo::test_valid_substitution[None-fk\x18fake\x181-patterns33-expected33-True-ec2] PASSED [ 36%] tests/unittests/distros/test_init.py::TestGetPackageMirrorInfo::test_valid_substitution[None-fk\x19fake\x191-patterns34-expected34-True-ec2] PASSED [ 36%] tests/unittests/distros/test_init.py::TestGetPackageMirrorInfo::test_valid_substitution[None-fk\x1afake\x1a1-patterns35-expected35-True-ec2] PASSED [ 36%] tests/unittests/distros/test_init.py::TestGetPackageMirrorInfo::test_valid_substitution[None-fk\x1bfake\x1b1-patterns36-expected36-True-ec2] PASSED [ 36%] tests/unittests/distros/test_init.py::TestGetPackageMirrorInfo::test_valid_substitution[None-fk\x1cfake\x1c1-patterns37-expected37-True-ec2] PASSED [ 36%] tests/unittests/distros/test_init.py::TestGetPackageMirrorInfo::test_valid_substitution[None-fk\x1dfake\x1d1-patterns38-expected38-True-ec2] PASSED [ 37%] tests/unittests/distros/test_init.py::TestGetPackageMirrorInfo::test_valid_substitution[None-fk\x1efake\x1e1-patterns39-expected39-True-ec2] PASSED [ 37%] tests/unittests/distros/test_init.py::TestGetPackageMirrorInfo::test_valid_substitution[None-fk\x1ffake\x1f1-patterns40-expected40-True-ec2] PASSED [ 37%] tests/unittests/distros/test_init.py::TestGetPackageMirrorInfo::test_valid_substitution[None-fk fake 1-patterns41-expected41-True-ec2] PASSED [ 37%] tests/unittests/distros/test_init.py::TestGetPackageMirrorInfo::test_valid_substitution[None-fk!fake!1-patterns42-expected42-True-ec2] PASSED [ 37%] tests/unittests/distros/test_init.py::TestGetPackageMirrorInfo::test_valid_substitution[None-fk"fake"1-patterns43-expected43-True-ec2] PASSED [ 37%] tests/unittests/distros/test_init.py::TestGetPackageMirrorInfo::test_valid_substitution[None-fk$fake$1-patterns44-expected44-True-ec2] PASSED [ 37%] tests/unittests/distros/test_init.py::TestGetPackageMirrorInfo::test_valid_substitution[None-fk%fake%1-patterns45-expected45-True-ec2] PASSED [ 37%] tests/unittests/distros/test_init.py::TestGetPackageMirrorInfo::test_valid_substitution[None-fk&fake&1-patterns46-expected46-True-ec2] PASSED [ 37%] tests/unittests/distros/test_init.py::TestGetPackageMirrorInfo::test_valid_substitution[None-fk'fake'1-patterns47-expected47-True-ec2] PASSED [ 37%] tests/unittests/distros/test_init.py::TestGetPackageMirrorInfo::test_valid_substitution[None-fk(fake(1-patterns48-expected48-True-ec2] PASSED [ 37%] tests/unittests/distros/test_init.py::TestGetPackageMirrorInfo::test_valid_substitution[None-fk)fake)1-patterns49-expected49-True-ec2] PASSED [ 37%] tests/unittests/distros/test_init.py::TestGetPackageMirrorInfo::test_valid_substitution[None-fk*fake*1-patterns50-expected50-True-ec2] PASSED [ 37%] tests/unittests/distros/test_init.py::TestGetPackageMirrorInfo::test_valid_substitution[None-fk+fake+1-patterns51-expected51-True-ec2] PASSED [ 37%] tests/unittests/distros/test_init.py::TestGetPackageMirrorInfo::test_valid_substitution[None-fk,fake,1-patterns52-expected52-True-ec2] PASSED [ 37%] tests/unittests/distros/test_init.py::TestGetPackageMirrorInfo::test_valid_substitution[None-fk;fake;1-patterns53-expected53-True-ec2] PASSED [ 37%] tests/unittests/distros/test_init.py::TestGetPackageMirrorInfo::test_valid_substitution[None-fkfake>1-patterns56-expected56-True-ec2] PASSED [ 37%] tests/unittests/distros/test_init.py::TestGetPackageMirrorInfo::test_valid_substitution[None-fk\\fake\\1-patterns57-expected57-True-ec2] PASSED [ 37%] tests/unittests/distros/test_init.py::TestGetPackageMirrorInfo::test_valid_substitution[None-fk^fake^1-patterns58-expected58-True-ec2] PASSED [ 37%] tests/unittests/distros/test_init.py::TestGetPackageMirrorInfo::test_valid_substitution[None-fk_fake_1-patterns59-expected59-True-ec2] PASSED [ 37%] tests/unittests/distros/test_init.py::TestGetPackageMirrorInfo::test_valid_substitution[None-fk`fake`1-patterns60-expected60-True-ec2] PASSED [ 37%] tests/unittests/distros/test_init.py::TestGetPackageMirrorInfo::test_valid_substitution[None-fk{fake{1-patterns61-expected61-True-ec2] PASSED [ 37%] tests/unittests/distros/test_init.py::TestGetPackageMirrorInfo::test_valid_substitution[None-fk|fake|1-patterns62-expected62-True-ec2] PASSED [ 37%] tests/unittests/distros/test_init.py::TestGetPackageMirrorInfo::test_valid_substitution[None-fk}fake}1-patterns63-expected63-True-ec2] PASSED [ 37%] tests/unittests/distros/test_init.py::TestGetPackageMirrorInfo::test_valid_substitution[None-fk~fake~1-patterns64-expected64-True-ec2] PASSED [ 37%] tests/unittests/distros/test_init.py::TestUpdatePackageSources::test_log_errors_with_updating_package_source[apt_error0-None-expected_logs0] PASSED [ 37%] tests/unittests/distros/test_init.py::TestUpdatePackageSources::test_log_errors_with_updating_package_source[None-snap_error1-expected_logs1] PASSED [ 37%] tests/unittests/distros/test_init.py::TestUpdatePackageSources::test_run_available_package_managers[True-False-expected_logs0] PASSED [ 37%] tests/unittests/distros/test_init.py::TestUpdatePackageSources::test_run_available_package_managers[False-True-expected_logs1] PASSED [ 37%] tests/unittests/distros/test_init.py::TestUpdatePackageSources::test_run_available_package_managers[False-False-expected_logs2] PASSED [ 37%] tests/unittests/distros/test_init.py::TestInstall::test_invalid_yaml PASSED [ 37%] tests/unittests/distros/test_init.py::TestInstall::test_unknown_package_manager PASSED [ 37%] tests/unittests/distros/test_init.py::TestInstall::test_non_default_package_manager PASSED [ 37%] tests/unittests/distros/test_init.py::TestInstall::test_non_default_package_manager_fail PASSED [ 37%] tests/unittests/distros/test_init.py::TestInstall::test_default_and_specific_package_manager PASSED [ 37%] tests/unittests/distros/test_init.py::TestInstall::test_specific_package_manager_fail_doesnt_retry PASSED [ 37%] tests/unittests/distros/test_init.py::TestInstall::test_no_attempt_if_no_package_manager PASSED [ 37%] tests/unittests/distros/test_init.py::TestInstall::test_failed[debian_no_apt] PASSED [ 37%] tests/unittests/distros/test_init.py::TestInstall::test_failed[debian_with_apt] PASSED [ 37%] tests/unittests/distros/test_init.py::TestInstall::test_failed[ubuntu_no_apt] PASSED [ 37%] tests/unittests/distros/test_init.py::TestInstall::test_failed[ubuntu_with_apt] PASSED [ 37%] tests/unittests/distros/test_manage_service.py::TestManageService::test_manage_service_systemctl_initcmd PASSED [ 37%] tests/unittests/distros/test_manage_service.py::TestManageService::test_manage_service_service_initcmd PASSED [ 37%] tests/unittests/distros/test_manage_service.py::TestManageService::test_manage_service_rcservice_initcmd PASSED [ 37%] tests/unittests/distros/test_manage_service.py::TestManageService::test_manage_service_alpine_rcupdate_cmd PASSED [ 37%] tests/unittests/distros/test_manage_service.py::TestManageService::test_manage_service_rcctl_initcmd PASSED [ 37%] tests/unittests/distros/test_manage_service.py::TestManageService::test_manage_service_fbsd_service_initcmd PASSED [ 37%] tests/unittests/distros/test_manage_service.py::TestManageService::test_manage_service_systemctl PASSED [ 37%] tests/unittests/distros/test_manage_service.py::TestManageService::test_manage_service_disable_systemctl PASSED [ 37%] tests/unittests/distros/test_mariner.py::TestMariner::test_network_renderer PASSED [ 37%] tests/unittests/distros/test_mariner.py::TestMariner::test_get_distro PASSED [ 37%] tests/unittests/distros/test_netbsd.py::TestNetBSD::test_add_user PASSED [ 37%] tests/unittests/distros/test_netbsd.py::TestNetBSD::test_unlock_passwd PASSED [ 37%] tests/unittests/distros/test_netbsd.py::test_init[True] PASSED [ 37%] tests/unittests/distros/test_netbsd.py::test_init[False] PASSED [ 37%] tests/unittests/distros/test_netconfig.py::TestNetCfgDistroFreeBSD::test_apply_network_config_freebsd_standard PASSED [ 37%] tests/unittests/distros/test_netconfig.py::TestNetCfgDistroFreeBSD::test_apply_network_config_freebsd_ipv6_standard PASSED [ 38%] tests/unittests/distros/test_netconfig.py::TestNetCfgDistroFreeBSD::test_apply_network_config_freebsd_ifrename PASSED [ 38%] tests/unittests/distros/test_netconfig.py::TestNetCfgDistroFreeBSD::test_apply_network_config_freebsd_nameserver PASSED [ 38%] tests/unittests/distros/test_netconfig.py::TestNetCfgDistroUbuntuEni::test_apply_network_config_and_bringup_filters_priority_eni_ub PASSED [ 38%] tests/unittests/distros/test_netconfig.py::TestNetCfgDistroUbuntuEni::test_apply_network_config_and_bringup_activator_defaults_ub PASSED [ 38%] tests/unittests/distros/test_netconfig.py::TestNetCfgDistroUbuntuEni::test_apply_network_config_eni_ub PASSED [ 38%] tests/unittests/distros/test_netconfig.py::TestNetCfgDistroUbuntuEni::test_apply_network_config_ipv6_ub PASSED [ 38%] tests/unittests/distros/test_netconfig.py::TestNetCfgDistroUbuntuNetplan::test_apply_network_config_v1_to_netplan_ub PASSED [ 38%] tests/unittests/distros/test_netconfig.py::TestNetCfgDistroUbuntuNetplan::test_apply_network_config_v1_ipv6_to_netplan_ub PASSED [ 38%] tests/unittests/distros/test_netconfig.py::TestNetCfgDistroUbuntuNetplan::test_apply_network_config_v2_passthrough_ub PASSED [ 38%] tests/unittests/distros/test_netconfig.py::TestNetCfgDistroUbuntuNetplan::test_apply_network_config_v2_passthrough_retain_orig_perms PASSED [ 38%] tests/unittests/distros/test_netconfig.py::TestNetCfgDistroUbuntuNetplan::test_apply_network_config_v2_passthrough_ub_old_behavior PASSED [ 38%] tests/unittests/distros/test_netconfig.py::TestNetCfgDistroUbuntuNetplan::test_apply_network_config_v2_full_passthrough_ub PASSED [ 38%] tests/unittests/distros/test_netconfig.py::TestNetCfgDistroRedhat::test_apply_network_config_rh PASSED [ 38%] tests/unittests/distros/test_netconfig.py::TestNetCfgDistroRedhat::test_apply_network_config_ipv6_rh PASSED [ 38%] tests/unittests/distros/test_netconfig.py::TestNetCfgDistroRedhat::test_sysconfig_network_no_overwite_ipv6_rh PASSED [ 38%] tests/unittests/distros/test_netconfig.py::TestNetCfgDistroRedhat::test_vlan_render_unsupported PASSED [ 38%] tests/unittests/distros/test_netconfig.py::TestNetCfgDistroRedhat::test_vlan_render PASSED [ 38%] tests/unittests/distros/test_netconfig.py::TestNetCfgDistroOpensuse::test_apply_network_config_opensuse PASSED [ 38%] tests/unittests/distros/test_netconfig.py::TestNetCfgDistroOpensuse::test_apply_network_config_ipv6_opensuse PASSED [ 38%] tests/unittests/distros/test_netconfig.py::TestNetCfgDistroArch::test_apply_network_config_v1_with_netplan PASSED [ 38%] tests/unittests/distros/test_netconfig.py::TestNetCfgDistroPhoton::test_photon_network_config_v1 PASSED [ 38%] tests/unittests/distros/test_netconfig.py::TestNetCfgDistroPhoton::test_photon_network_config_v2 PASSED [ 38%] tests/unittests/distros/test_netconfig.py::TestNetCfgDistroPhoton::test_photon_network_config_v1_with_duplicates PASSED [ 38%] tests/unittests/distros/test_netconfig.py::TestNetCfgDistroMariner::test_mariner_network_config_v1 PASSED [ 38%] tests/unittests/distros/test_netconfig.py::TestNetCfgDistroMariner::test_mariner_network_config_v2 PASSED [ 38%] tests/unittests/distros/test_netconfig.py::TestNetCfgDistroMariner::test_mariner_network_config_v1_with_duplicates PASSED [ 38%] tests/unittests/distros/test_netconfig.py::TestNetCfgDistroAzureLinux::test_azurelinux_network_config_v1 PASSED [ 38%] tests/unittests/distros/test_netconfig.py::TestNetCfgDistroAzureLinux::test_azurelinux_network_config_v2 PASSED [ 38%] tests/unittests/distros/test_netconfig.py::TestNetCfgDistroAzureLinux::test_azurelinux_network_config_v1_with_duplicates PASSED [ 38%] tests/unittests/distros/test_networking.py::TestBSDNetworkingIsPhysical::test_is_physical PASSED [ 38%] tests/unittests/distros/test_networking.py::TestBSDNetworkingIsPhysical::test_is_not_physical PASSED [ 38%] tests/unittests/distros/test_networking.py::TestBSDNetworkingIsVLAN::test_is_vlan PASSED [ 38%] tests/unittests/distros/test_networking.py::TestBSDNetworkingIsVLAN::test_is_not_physical PASSED [ 38%] tests/unittests/distros/test_networking.py::TestBSDNetworkingIsBridge::test_is_vlan PASSED [ 38%] tests/unittests/distros/test_networking.py::TestBSDNetworkingIsBridge::test_is_not_physical PASSED [ 38%] tests/unittests/distros/test_networking.py::TestLinuxNetworkingIsPhysical::test_returns_false_by_default PASSED [ 38%] tests/unittests/distros/test_networking.py::TestLinuxNetworkingIsPhysical::test_returns_false_if_devname_exists_but_not_physical PASSED [ 38%] tests/unittests/distros/test_networking.py::TestLinuxNetworkingIsPhysical::test_returns_true_if_device_is_physical PASSED [ 38%] tests/unittests/distros/test_networking.py::TestBSDNetworkingTrySetLinkUp::test_calls_subp_return_true PASSED [ 38%] tests/unittests/distros/test_networking.py::TestLinuxNetworkingTrySetLinkUp::test_calls_subp_return_true PASSED [ 38%] tests/unittests/distros/test_networking.py::TestLinuxNetworkingTrySetLinkUp::test_calls_subp_return_false PASSED [ 38%] tests/unittests/distros/test_networking.py::TestBSDNetworkingSettle::test_settle_doesnt_error PASSED [ 38%] tests/unittests/distros/test_networking.py::TestLinuxNetworkingSettle::test_no_arguments PASSED [ 38%] tests/unittests/distros/test_networking.py::TestLinuxNetworkingSettle::test_exists_argument PASSED [ 38%] tests/unittests/distros/test_networking.py::TestNetworkingWaitForPhysDevs::test_skips_settle_if_all_present PASSED [ 38%] tests/unittests/distros/test_networking.py::TestNetworkingWaitForPhysDevs::test_calls_udev_settle_on_missing PASSED [ 38%] tests/unittests/distros/test_networking.py::TestNetworkingWaitForPhysDevs::test_retrying_and_strict_behaviour[True-expectation0] PASSED [ 38%] tests/unittests/distros/test_networking.py::TestNetworkingWaitForPhysDevs::test_retrying_and_strict_behaviour[False-expectation1] PASSED [ 38%] tests/unittests/distros/test_networking.py::TestLinuxNetworkingApplyNetworkCfgNames::test_apply_renames[v1] PASSED [ 38%] tests/unittests/distros/test_networking.py::TestLinuxNetworkingApplyNetworkCfgNames::test_apply_renames[v2] PASSED [ 38%] tests/unittests/distros/test_networking.py::TestLinuxNetworkingApplyNetworkCfgNames::test_apply_v2_renames_skips_without_setname_or_mac[without_setname] PASSED [ 38%] tests/unittests/distros/test_networking.py::TestLinuxNetworkingApplyNetworkCfgNames::test_apply_v2_renames_skips_without_setname_or_mac[without_mac] PASSED [ 38%] tests/unittests/distros/test_networking.py::TestLinuxNetworkingApplyNetworkCfgNames::test_apply_v2_renames_raises_runtime_error_on_unknown_version PASSED [ 38%] tests/unittests/distros/test_openbsd.py::TestOpenBSD::test_add_user PASSED [ 38%] tests/unittests/distros/test_openbsd.py::TestOpenBSD::test_unlock_passwd PASSED [ 38%] tests/unittests/distros/test_opensuse.py::TestPackageCommands::test_upgrade_not_btrfs PASSED [ 38%] tests/unittests/distros/test_opensuse.py::TestPackageCommands::test_upgrade_not_btrfs_pkg PASSED [ 39%] tests/unittests/distros/test_opensuse.py::TestPackageCommands::test_update_not_btrfs PASSED [ 39%] tests/unittests/distros/test_opensuse.py::TestPackageCommands::test_update_not_btrfs_pkg PASSED [ 39%] tests/unittests/distros/test_opensuse.py::TestPackageCommands::test_install_not_btrfs_pkg PASSED [ 39%] tests/unittests/distros/test_opensuse.py::TestPackageCommands::test_upgrade_btrfs PASSED [ 39%] tests/unittests/distros/test_opensuse.py::TestPackageCommands::test_upgrade_btrfs_pkg PASSED [ 39%] tests/unittests/distros/test_opensuse.py::TestPackageCommands::test_update_btrfs PASSED [ 39%] tests/unittests/distros/test_opensuse.py::TestPackageCommands::test_update_btrfs_pkg PASSED [ 39%] tests/unittests/distros/test_opensuse.py::TestPackageCommands::test_install_btrfs_pkg PASSED [ 39%] tests/unittests/distros/test_opensuse.py::TestPackageCommands::test_upgrade_no_transact_up_ro_root PASSED [ 39%] tests/unittests/distros/test_opensuse.py::TestPackageCommands::test_upgrade_no_transact_up_rw_root_btrfs PASSED [ 39%] tests/unittests/distros/test_opensuse.py::TestPackageCommands::test_upgrade_transact_up_ro_root PASSED [ 39%] tests/unittests/distros/test_opensuse.py::TestPackageCommands::test_refresh_transact_up_ro_root_btrfs PASSED [ 39%] tests/unittests/distros/test_photon.py::TestPhoton::test_network_renderer PASSED [ 39%] tests/unittests/distros/test_photon.py::TestPhoton::test_get_distro PASSED [ 39%] tests/unittests/distros/test_photon.py::TestPhoton::test_write_hostname PASSED [ 39%] tests/unittests/distros/test_photon.py::TestPhoton::test_fallback_netcfg PASSED [ 39%] tests/unittests/distros/test_raspberry_pi_os.py::TestRaspberryPiOS::test_set_keymap_writes_file_and_runs_basics PASSED [ 39%] tests/unittests/distros/test_raspberry_pi_os.py::TestRaspberryPiOS::test_set_keymap_triggers_udevadm_when_available PASSED [ 39%] tests/unittests/distros/test_raspberry_pi_os.py::TestRaspberryPiOS::test_apply_locale_happy_path PASSED [ 39%] tests/unittests/distros/test_raspberry_pi_os.py::TestRaspberryPiOS::test_apply_locale_fallback_to_utf8 PASSED [ 39%] tests/unittests/distros/test_raspberry_pi_os.py::TestRaspberryPiOS::test_add_user_happy_path PASSED [ 39%] tests/unittests/distros/test_raspberry_pi_os.py::TestRaspberryPiOS::test_add_user_existing_user PASSED [ 39%] tests/unittests/distros/test_raspberry_pi_os.py::TestRaspberryPiOS::test_add_user_rename_fails_logs_error PASSED [ 39%] tests/unittests/distros/test_raspberry_pi_os.py::TestRaspberryPiOS::test_fallback_netcfg PASSED [ 39%] tests/unittests/distros/test_resolv.py::TestResolvHelper::test_parse_same PASSED [ 39%] tests/unittests/distros/test_resolv.py::TestResolvHelper::test_local_domain PASSED [ 39%] tests/unittests/distros/test_resolv.py::TestResolvHelper::test_nameservers PASSED [ 39%] tests/unittests/distros/test_resolv.py::TestResolvHelper::test_search_domains PASSED [ 39%] tests/unittests/distros/test_sles.py::TestSLES::test_get_distro PASSED [ 39%] tests/unittests/distros/test_sysconfig.py::TestSysConfHelper::test_parse_no_change PASSED [ 39%] tests/unittests/distros/test_sysconfig.py::TestSysConfHelper::test_parse_shell_vars PASSED [ 39%] tests/unittests/distros/test_sysconfig.py::TestSysConfHelper::test_parse_adjust PASSED [ 39%] tests/unittests/distros/test_sysconfig.py::TestSysConfHelper::test_parse_no_adjust_shell PASSED [ 39%] tests/unittests/distros/test_sysconfig.py::TestSysConfHelper::test_parse_empty PASSED [ 39%] tests/unittests/distros/test_sysconfig.py::TestSysConfHelper::test_parse_add_new PASSED [ 39%] tests/unittests/distros/test_ubuntu.py::TestPackageCommand::test_package_command_only_refresh_snap_when_available[True] PASSED [ 39%] tests/unittests/distros/test_ubuntu.py::TestPackageCommand::test_package_command_only_refresh_snap_when_available[False] PASSED [ 39%] tests/unittests/distros/test_ubuntu.py::TestPackageCommand::test_package_command_avoids_snap_refresh_when_refresh_hold_is_forever[skip_snap_refresh_due_to_global_hold_forever] PASSED [ 39%] tests/unittests/distros/test_ubuntu.py::TestPackageCommand::test_package_command_avoids_snap_refresh_when_refresh_hold_is_forever[perform_snap_refresh_due_to_temporary_global_hold] PASSED [ 39%] tests/unittests/distros/test_ubuntu.py::TestPackageCommand::test_package_command_avoids_snap_refresh_when_refresh_hold_is_forever[snap_refresh_performed_when_no_global_hold_is_set] PASSED [ 39%] tests/unittests/distros/test_user_data_normalize.py::TestUGNormalize::test_group_dict PASSED [ 39%] tests/unittests/distros/test_user_data_normalize.py::TestUGNormalize::test_basic_groups PASSED [ 39%] tests/unittests/distros/test_user_data_normalize.py::TestUGNormalize::test_csv_groups PASSED [ 39%] tests/unittests/distros/test_user_data_normalize.py::TestUGNormalize::test_more_groups PASSED [ 39%] tests/unittests/distros/test_user_data_normalize.py::TestUGNormalize::test_member_groups PASSED [ 39%] tests/unittests/distros/test_user_data_normalize.py::TestUGNormalize::test_users_simple_dict[ug_cfg0] PASSED [ 39%] tests/unittests/distros/test_user_data_normalize.py::TestUGNormalize::test_users_simple_dict[ug_cfg1] PASSED [ 39%] tests/unittests/distros/test_user_data_normalize.py::TestUGNormalize::test_users_simple_dict[ug_cfg2] PASSED [ 39%] tests/unittests/distros/test_user_data_normalize.py::TestUGNormalize::test_users_simple_dict_no[ug_cfg0] PASSED [ 39%] tests/unittests/distros/test_user_data_normalize.py::TestUGNormalize::test_users_simple_dict_no[ug_cfg1] PASSED [ 39%] tests/unittests/distros/test_user_data_normalize.py::TestUGNormalize::test_users_simple_csv PASSED [ 39%] tests/unittests/distros/test_user_data_normalize.py::TestUGNormalize::test_users_simple PASSED [ 39%] tests/unittests/distros/test_user_data_normalize.py::TestUGNormalize::test_users_old_user PASSED [ 39%] tests/unittests/distros/test_user_data_normalize.py::TestUGNormalize::test_users_dict_default_additional PASSED [ 39%] tests/unittests/distros/test_user_data_normalize.py::TestUGNormalize::test_users_dict_override_default_attribute PASSED [ 39%] tests/unittests/distros/test_user_data_normalize.py::TestUGNormalize::test_users_dict_extract PASSED [ 39%] tests/unittests/distros/test_user_data_normalize.py::TestUGNormalize::test_users_dict_default PASSED [ 40%] tests/unittests/distros/test_user_data_normalize.py::TestUGNormalize::test_users_dict_trans PASSED [ 40%] tests/unittests/distros/test_user_data_normalize.py::TestUGNormalize::test_users_dict PASSED [ 40%] tests/unittests/distros/test_user_data_normalize.py::TestUGNormalize::test_create_snap_user PASSED [ 40%] tests/unittests/distros/test_user_data_normalize.py::TestUGNormalize::test_create_snap_user_known PASSED [ 40%] tests/unittests/distros/test_user_data_normalize.py::TestUGNormalize::test_add_user_on_snappy_system PASSED [ 40%] tests/unittests/filters/test_launch_index.py::TestLaunchFilter::testMultiEmailIndex PASSED [ 40%] tests/unittests/filters/test_launch_index.py::TestLaunchFilter::testHeaderEmailIndex PASSED [ 40%] tests/unittests/filters/test_launch_index.py::TestLaunchFilter::testConfigEmailIndex PASSED [ 40%] tests/unittests/filters/test_launch_index.py::TestLaunchFilter::testNoneIndex PASSED [ 40%] tests/unittests/filters/test_launch_index.py::TestLaunchFilter::testIndexes PASSED [ 40%] tests/unittests/net/netops/test_iproute2.py::TestOps::test_link_up PASSED [ 40%] tests/unittests/net/netops/test_iproute2.py::TestOps::test_link_down PASSED [ 40%] tests/unittests/net/netops/test_iproute2.py::TestOps::test_link_rename PASSED [ 40%] tests/unittests/net/netops/test_iproute2.py::TestOps::test_add_route PASSED [ 40%] tests/unittests/net/netops/test_iproute2.py::TestOps::test_del_route PASSED [ 40%] tests/unittests/net/netops/test_iproute2.py::TestOps::test_append_route PASSED [ 40%] tests/unittests/net/netops/test_iproute2.py::TestOps::test_add_addr PASSED [ 40%] tests/unittests/net/netops/test_iproute2.py::TestOps::test_del_addr PASSED [ 40%] tests/unittests/net/netops/test_iproute2.py::TestOps::test_flush_addr PASSED [ 40%] tests/unittests/net/netops/test_iproute2.py::TestOps::test_add_default_route PASSED [ 40%] tests/unittests/net/test_dhcp.py::TestParseDHCPServerFromLeaseFile::test_find_server_address_when_present[no_server_addr_on_absent_lease_file] PASSED [ 40%] tests/unittests/net/test_dhcp.py::TestParseDHCPServerFromLeaseFile::test_find_server_address_when_present[no_server_addr_on_empty_lease_file] PASSED [ 40%] tests/unittests/net/test_dhcp.py::TestParseDHCPServerFromLeaseFile::test_find_server_address_when_present[no_server_addr_when_no_server_ident] PASSED [ 40%] tests/unittests/net/test_dhcp.py::TestParseDHCPServerFromLeaseFile::test_find_server_address_when_present[server_addr_found_when_server_ident_present] PASSED [ 40%] tests/unittests/net/test_dhcp.py::TestParseDHCPLeasesFile::test_parse_empty_lease_file_errors PASSED [ 40%] tests/unittests/net/test_dhcp.py::TestParseDHCPLeasesFile::test_parse_malformed_lease_file_content_errors PASSED [ 40%] tests/unittests/net/test_dhcp.py::TestParseDHCPLeasesFile::test_parse_multiple_leases PASSED [ 40%] tests/unittests/net/test_dhcp.py::TestDHCPRFC3442::test_parse_lease_finds_rfc3442_classless_static_routes PASSED [ 40%] tests/unittests/net/test_dhcp.py::TestDHCPRFC3442::test_parse_lease_finds_classless_static_routes PASSED [ 40%] tests/unittests/net/test_dhcp.py::TestDHCPRFC3442::test_obtain_lease_parses_static_routes PASSED [ 40%] tests/unittests/net/test_dhcp.py::TestDHCPRFC3442::test_obtain_centos_lease_parses_static_routes PASSED [ 40%] tests/unittests/net/test_dhcp.py::TestDHCPParseStaticRoutes::test_parse_static_routes_empty_string PASSED [ 40%] tests/unittests/net/test_dhcp.py::TestDHCPParseStaticRoutes::test_parse_static_routes_invalid_input_returns_empty_list PASSED [ 40%] tests/unittests/net/test_dhcp.py::TestDHCPParseStaticRoutes::test_parse_static_routes_bogus_width_returns_empty_list PASSED [ 40%] tests/unittests/net/test_dhcp.py::TestDHCPParseStaticRoutes::test_parse_static_routes_single_ip PASSED [ 40%] tests/unittests/net/test_dhcp.py::TestDHCPParseStaticRoutes::test_parse_static_routes_single_ip_handles_trailing_semicolon PASSED [ 40%] tests/unittests/net/test_dhcp.py::TestDHCPParseStaticRoutes::test_unknown_121 PASSED [ 40%] tests/unittests/net/test_dhcp.py::TestDHCPParseStaticRoutes::test_parse_static_routes_default_route PASSED [ 40%] tests/unittests/net/test_dhcp.py::TestDHCPParseStaticRoutes::test_unspecified_gateway PASSED [ 40%] tests/unittests/net/test_dhcp.py::TestDHCPParseStaticRoutes::test_parse_static_routes_class_c_b_a PASSED [ 40%] tests/unittests/net/test_dhcp.py::TestDHCPParseStaticRoutes::test_parse_static_routes_logs_error_truncated PASSED [ 40%] tests/unittests/net/test_dhcp.py::TestDHCPParseStaticRoutes::test_parse_static_routes_returns_valid_routes_until_parse_err PASSED [ 40%] tests/unittests/net/test_dhcp.py::TestDHCPParseStaticRoutes::test_redhat_format PASSED [ 40%] tests/unittests/net/test_dhcp.py::TestDHCPParseStaticRoutes::test_redhat_format_with_a_space_too_much_after_comma PASSED [ 40%] tests/unittests/net/test_dhcp.py::TestDHCPDiscoveryClean::test_dhcpcd_exits_with_error PASSED [ 40%] tests/unittests/net/test_dhcp.py::TestDHCPDiscoveryClean::test_dhcp_client_failover PASSED [ 40%] tests/unittests/net/test_dhcp.py::TestDHCPDiscoveryClean::test_absent_dhclient_command PASSED [ 40%] tests/unittests/net/test_dhcp.py::TestDHCPDiscoveryClean::test_dhcp_discovery_warns_invalid_pid PASSED [ 40%] tests/unittests/net/test_dhcp.py::TestDHCPDiscoveryClean::test_dhcp_discovery_waits_on_lease_and_pid PASSED [ 40%] tests/unittests/net/test_dhcp.py::TestDHCPDiscoveryClean::test_dhcp_discovery PASSED [ 40%] tests/unittests/net/test_dhcp.py::TestDHCPDiscoveryClean::test_dhcp_discovery_ib PASSED [ 40%] tests/unittests/net/test_dhcp.py::TestDHCPDiscoveryClean::test_dhcp_output_error_stream PASSED [ 40%] tests/unittests/net/test_dhcp.py::TestSystemdParseLeases::test_no_leases_returns_empty_dict PASSED [ 40%] tests/unittests/net/test_dhcp.py::TestSystemdParseLeases::test_no_leases_dir_returns_empty_dict PASSED [ 40%] tests/unittests/net/test_dhcp.py::TestSystemdParseLeases::test_single_leases_file PASSED [ 40%] tests/unittests/net/test_dhcp.py::TestSystemdParseLeases::test_single_azure_leases_file PASSED [ 40%] tests/unittests/net/test_dhcp.py::TestSystemdParseLeases::test_multiple_files PASSED [ 40%] tests/unittests/net/test_dhcp.py::TestEphemeralDhcpLeaseErrors::test_obtain_lease_raises_error[NoDHCPLeaseInterfaceError] PASSED [ 41%] tests/unittests/net/test_dhcp.py::TestEphemeralDhcpLeaseErrors::test_obtain_lease_raises_error[NoDHCPLeaseMissingDhclientError] PASSED [ 41%] tests/unittests/net/test_dhcp.py::TestEphemeralDhcpLeaseErrors::test_obtain_lease_umbrella_error[NoDHCPLeaseInterfaceError] PASSED [ 41%] tests/unittests/net/test_dhcp.py::TestEphemeralDhcpLeaseErrors::test_obtain_lease_umbrella_error[NoDHCPLeaseMissingDhclientError] PASSED [ 41%] tests/unittests/net/test_dhcp.py::TestEphemeralDhcpLeaseErrors::test_ctx_mgr_raises_error[NoDHCPLeaseInterfaceError] PASSED [ 41%] tests/unittests/net/test_dhcp.py::TestEphemeralDhcpLeaseErrors::test_ctx_mgr_raises_error[NoDHCPLeaseMissingDhclientError] PASSED [ 41%] tests/unittests/net/test_dhcp.py::TestEphemeralDhcpLeaseErrors::test_ctx_mgr_umbrella_error[NoDHCPLeaseInterfaceError] PASSED [ 41%] tests/unittests/net/test_dhcp.py::TestEphemeralDhcpLeaseErrors::test_ctx_mgr_umbrella_error[NoDHCPLeaseMissingDhclientError] PASSED [ 41%] tests/unittests/net/test_dhcp.py::TestUDHCPCDiscoveryClean::test_udhcpc_discovery PASSED [ 41%] tests/unittests/net/test_dhcp.py::TestUDHCPCDiscoveryClean::test_udhcpc_discovery_ib PASSED [ 41%] tests/unittests/net/test_dhcp.py::TestISCDHClient::test_get_newest_lease_file_from_distro_rhel PASSED [ 41%] tests/unittests/net/test_dhcp.py::TestISCDHClient::test_get_newest_lease_file_from_distro_amazonlinux PASSED [ 41%] tests/unittests/net/test_dhcp.py::TestISCDHClient::test_get_newest_lease_file_from_distro_freebsd PASSED [ 41%] tests/unittests/net/test_dhcp.py::TestISCDHClient::test_get_newest_lease_file_from_distro_alpine PASSED [ 41%] tests/unittests/net/test_dhcp.py::TestISCDHClient::test_get_newest_lease_file_from_distro_debian PASSED [ 41%] tests/unittests/net/test_dhcp.py::TestISCDHClient::test_fallback_when_nothing_found PASSED [ 41%] tests/unittests/net/test_dhcp.py::TestISCDHClient::test_get_newest_lease_file_from_distro_notfound PASSED [ 41%] tests/unittests/net/test_dhcp.py::TestDhcpcd::test_parse_lease_dump PASSED [ 41%] tests/unittests/net/test_dhcp.py::TestDhcpcd::test_parse_lease_dump_resilience[lease_has_empty_lines] PASSED [ 41%] tests/unittests/net/test_dhcp.py::TestDhcpcd::test_parse_lease_dump_resilience[lease_has_values_that_arent_key_value_pairs] PASSED [ 41%] tests/unittests/net/test_dhcp.py::TestDhcpcd::test_parse_lease_dump_resilience[lease_has_kv_pair_including_equals_sign_in_value] PASSED [ 41%] tests/unittests/net/test_dhcp.py::TestDhcpcd::test_parse_lease_dump_fails PASSED [ 41%] tests/unittests/net/test_dhcp.py::TestDhcpcd::test_parse_raw_lease[no option 245] PASSED [ 41%] tests/unittests/net/test_dhcp.py::TestDhcpcd::test_parse_raw_lease[a valid option 245] PASSED [ 41%] tests/unittests/net/test_dhcp.py::TestDhcpcd::test_parse_classless_static_routes PASSED [ 41%] tests/unittests/net/test_dhcp.py::TestDhcpcd::test_dhcpcd_discovery_ib PASSED [ 41%] tests/unittests/net/test_dhcp.py::TestDhcpcd::test_dhcpcd_discovery_timeout PASSED [ 41%] tests/unittests/net/test_dhcp.py::TestMaybePerformDhcpDiscovery::test_none_and_missing_fallback PASSED [ 41%] tests/unittests/net/test_dhcp.py::TestNMDhcpLeases::test_find_correct_connected_device_first_match PASSED [ 41%] tests/unittests/net/test_dhcp.py::TestNMDhcpLeases::test_network_manager_load_leases PASSED [ 41%] tests/unittests/net/test_dhcp.py::TestNMDhcpLeases::test_run_nmcli PASSED [ 41%] tests/unittests/net/test_dhcp.py::TestNMDhcpLeases::test_run_nmcli_missing_nmcli PASSED [ 41%] tests/unittests/net/test_dhcp.py::TestNMDhcpLeases::test_run_nmcli_subp_err PASSED [ 41%] tests/unittests/net/test_dns.py::TestNetDns::test_system_mac_address_does_not_break_dns_parsing PASSED [ 41%] tests/unittests/net/test_ephemeral.py::TestEphemeralIPNetwork::test_stack_order[has_connectivity-no_ipv4-no_ipv6] PASSED [ 41%] tests/unittests/net/test_ephemeral.py::TestEphemeralIPNetwork::test_stack_order[has_connectivity-no_ipv4-ipv6] PASSED [ 41%] tests/unittests/net/test_ephemeral.py::TestEphemeralIPNetwork::test_stack_order[has_connectivity-ipv4-no_ipv6] PASSED [ 41%] tests/unittests/net/test_ephemeral.py::TestEphemeralIPNetwork::test_stack_order[has_connectivity-ipv4-ipv6] PASSED [ 41%] tests/unittests/net/test_ephemeral.py::TestEphemeralIPNetwork::test_stack_order[no_connectivity-no_ipv4-no_ipv6] PASSED [ 41%] tests/unittests/net/test_ephemeral.py::TestEphemeralIPNetwork::test_stack_order[no_connectivity-no_ipv4-ipv6] PASSED [ 41%] tests/unittests/net/test_ephemeral.py::TestEphemeralIPNetwork::test_stack_order[no_connectivity-ipv4-no_ipv6] PASSED [ 41%] tests/unittests/net/test_ephemeral.py::TestEphemeralIPNetwork::test_stack_order[no_connectivity-ipv4-ipv6] PASSED [ 41%] tests/unittests/net/test_ephemeral.py::TestEphemeralIPNetwork::test_interface_init_failures[v6_only] PASSED [ 41%] tests/unittests/net/test_ephemeral.py::TestEphemeralIPNetwork::test_interface_init_failures[v4_only] PASSED [ 41%] tests/unittests/net/test_ephemeral.py::TestEphemeralIPNetwork::test_interface_init_failures[v4_error] PASSED [ 41%] tests/unittests/net/test_ephemeral.py::TestEphemeralIPNetwork::test_interface_init_failures[v6_error] PASSED [ 41%] tests/unittests/net/test_ephemeral.py::TestEphemeralIPNetwork::test_interface_init_failures[v4_v6_error] PASSED [ 41%] tests/unittests/net/test_ephemeral.py::TestEphemeralIPNetwork::test_check_connectivity_to_imds[basic_has_connectivity] PASSED [ 41%] tests/unittests/net/test_ephemeral.py::TestEphemeralIPNetwork::test_check_connectivity_to_imds[basic_no_connectivity] PASSED [ 41%] tests/unittests/net/test_ephemeral.py::TestEphemeralIPNetwork::test_check_connectivity_to_imds[exits_early_no_urls] PASSED [ 41%] tests/unittests/net/test_ephemeral.py::TestEphemeralIPNetwork::test_check_connectivity_to_imds[basic_url_error] PASSED [ 41%] tests/unittests/net/test_ephemeral.py::TestEphemeralIPNetwork::test_check_connectivity_to_imds[headers_has_connectivity] PASSED [ 41%] tests/unittests/net/test_init.py::TestSysDevPath::test_sys_dev_path PASSED [ 41%] tests/unittests/net/test_init.py::TestSysDevPath::test_sys_dev_path_without_path PASSED [ 41%] tests/unittests/net/test_init.py::TestReadSysNet::test_read_sys_net_strips_contents_of_sys_path PASSED [ 41%] tests/unittests/net/test_init.py::TestReadSysNet::test_read_sys_net_reraises_oserror PASSED [ 41%] tests/unittests/net/test_init.py::TestReadSysNet::test_read_sys_net_handles_error_with_on_enoent PASSED [ 41%] tests/unittests/net/test_init.py::TestReadSysNet::test_read_sys_net_translates_content PASSED [ 42%] tests/unittests/net/test_init.py::TestReadSysNet::test_read_sys_net_errors_on_translation_failures PASSED [ 42%] tests/unittests/net/test_init.py::TestReadSysNet::test_read_sys_net_handles_handles_with_onkeyerror PASSED [ 42%] tests/unittests/net/test_init.py::TestReadSysNet::test_read_sys_net_safe_false_on_translate_failure PASSED [ 42%] tests/unittests/net/test_init.py::TestReadSysNet::test_read_sys_net_safe_returns_false_on_noent_failure PASSED [ 42%] tests/unittests/net/test_init.py::TestReadSysNet::test_read_sys_net_int_returns_none_on_error PASSED [ 42%] tests/unittests/net/test_init.py::TestReadSysNet::test_read_sys_net_int_returns_none_on_valueerror PASSED [ 42%] tests/unittests/net/test_init.py::TestReadSysNet::test_read_sys_net_int_returns_integer_from_content PASSED [ 42%] tests/unittests/net/test_init.py::TestReadSysNet::test_is_up_true PASSED [ 42%] tests/unittests/net/test_init.py::TestReadSysNet::test_is_up_false PASSED [ 42%] tests/unittests/net/test_init.py::TestReadSysNet::test_is_bridge PASSED [ 42%] tests/unittests/net/test_init.py::TestReadSysNet::test_is_bond PASSED [ 42%] tests/unittests/net/test_init.py::TestReadSysNet::test_get_master PASSED [ 42%] tests/unittests/net/test_init.py::TestReadSysNet::test_master_is_bridge_or_bond PASSED [ 42%] tests/unittests/net/test_init.py::TestReadSysNet::test_master_is_openvswitch PASSED [ 42%] tests/unittests/net/test_init.py::TestReadSysNet::test_is_vlan PASSED [ 42%] tests/unittests/net/test_init.py::TestGenerateFallbackConfig::test_generate_fallback_finds_connected_eth_with_mac PASSED [ 42%] tests/unittests/net/test_init.py::TestGenerateFallbackConfig::test_generate_fallback_finds_dormant_eth_with_mac PASSED [ 42%] tests/unittests/net/test_init.py::TestGenerateFallbackConfig::test_generate_fallback_finds_eth_by_operstate PASSED [ 42%] tests/unittests/net/test_init.py::TestGenerateFallbackConfig::test_generate_fallback_config_skips_veth PASSED [ 42%] tests/unittests/net/test_init.py::TestGenerateFallbackConfig::test_generate_fallback_config_skips_bridges PASSED [ 42%] tests/unittests/net/test_init.py::TestGenerateFallbackConfig::test_generate_fallback_config_skips_bonds PASSED [ 42%] tests/unittests/net/test_init.py::TestGenerateFallbackConfig::test_generate_fallback_config_skips_netfail_devs PASSED [ 42%] tests/unittests/net/test_init.py::TestNetFindFallBackNic::test_generate_fallback_finds_first_connected_eth_with_mac PASSED [ 42%] tests/unittests/net/test_init.py::TestNetFindCandidateNics::test_ignored_interfaces PASSED [ 42%] tests/unittests/net/test_init.py::TestNetFindCandidateNics::test_carrier_preferred PASSED [ 42%] tests/unittests/net/test_init.py::TestNetFindCandidateNics::test_natural_sort PASSED [ 42%] tests/unittests/net/test_init.py::TestNetFindCandidateNics::test_eth0_preferred_with_carrier PASSED [ 42%] tests/unittests/net/test_init.py::TestNetFindCandidateNics::test_eth0_preferred_after_carrier[dormant-False] PASSED [ 42%] tests/unittests/net/test_init.py::TestNetFindCandidateNics::test_eth0_preferred_after_carrier[dormant-True] PASSED [ 42%] tests/unittests/net/test_init.py::TestNetFindCandidateNics::test_eth0_preferred_after_carrier[down-False] PASSED [ 42%] tests/unittests/net/test_init.py::TestNetFindCandidateNics::test_eth0_preferred_after_carrier[down-True] PASSED [ 42%] tests/unittests/net/test_init.py::TestNetFindCandidateNics::test_eth0_preferred_after_carrier[lowerlayerdown-False] PASSED [ 42%] tests/unittests/net/test_init.py::TestNetFindCandidateNics::test_eth0_preferred_after_carrier[lowerlayerdown-True] PASSED [ 42%] tests/unittests/net/test_init.py::TestNetFindCandidateNics::test_eth0_preferred_after_carrier[unknown-False] PASSED [ 42%] tests/unittests/net/test_init.py::TestNetFindCandidateNics::test_eth0_preferred_after_carrier[unknown-True] PASSED [ 42%] tests/unittests/net/test_init.py::TestNetFindCandidateNics::test_no_nics PASSED [ 42%] tests/unittests/net/test_init.py::TestNetFindCandidateNics::test_udevadm_settle_called_for_predictable_names PASSED [ 42%] tests/unittests/net/test_init.py::TestNetFindCandidateNics::test_udevadm_settle_not_called_for_unpredictable_names PASSED [ 42%] tests/unittests/net/test_init.py::TestNetFindCandidateNics::test_udevadm_settle_not_called_for_renamed_interface PASSED [ 42%] tests/unittests/net/test_init.py::TestNetFindCandidateNics::test_udevadm_settle_failure_handled_gracefully PASSED [ 42%] tests/unittests/net/test_init.py::TestGetDeviceList::test_get_devicelist_raise_oserror PASSED [ 42%] tests/unittests/net/test_init.py::TestGetDeviceList::test_get_devicelist_empty_without_sys_net PASSED [ 42%] tests/unittests/net/test_init.py::TestGetDeviceList::test_get_devicelist_empty_with_no_devices_in_sys_net PASSED [ 42%] tests/unittests/net/test_init.py::TestGetDeviceList::test_get_devicelist_lists_any_subdirectories_in_sys_net PASSED [ 42%] tests/unittests/net/test_init.py::TestGetInterfaceMAC::test_get_interface_mac_false_with_no_mac PASSED [ 42%] tests/unittests/net/test_init.py::TestGetInterfaceMAC::test_get_interface_mac PASSED [ 42%] tests/unittests/net/test_init.py::TestGetInterfaceMAC::test_get_interface_mac_grabs_bonding_address PASSED [ 42%] tests/unittests/net/test_init.py::TestGetInterfaceMAC::test_get_interfaces_empty_list_without_sys_net PASSED [ 42%] tests/unittests/net/test_init.py::TestGetInterfaceMAC::test_get_interfaces_by_mac_skips_empty_mac PASSED [ 42%] tests/unittests/net/test_init.py::TestGetInterfaceMAC::test_get_interfaces_by_mac_skips_missing_mac PASSED [ 42%] tests/unittests/net/test_init.py::TestGetInterfaceMAC::test_get_interfaces_by_mac_skips_master_devs PASSED [ 42%] tests/unittests/net/test_init.py::TestGetInterfaceMAC::test_get_interfaces_by_mac_skips_netfailvoer PASSED [ 42%] tests/unittests/net/test_init.py::TestGetInterfaceMAC::test_get_interfaces_does_not_skip_phys_members_of_bridges_and_bonds PASSED [ 42%] tests/unittests/net/test_init.py::TestInterfaceHasOwnMAC::test_interface_has_own_mac_false_when_stolen PASSED [ 42%] tests/unittests/net/test_init.py::TestInterfaceHasOwnMAC::test_interface_has_own_mac_true_when_not_stolen PASSED [ 42%] tests/unittests/net/test_init.py::TestInterfaceHasOwnMAC::test_interface_has_own_mac_strict_errors_on_absent_assign_type PASSED [ 42%] tests/unittests/net/test_init.py::TestEphemeralIPV4Network::test_ephemeral_ipv4_network_errors_on_missing_params PASSED [ 43%] tests/unittests/net/test_init.py::TestEphemeralIPV4Network::test_ephemeral_ipv4_network_errors_invalid_mask_prefix PASSED [ 43%] tests/unittests/net/test_init.py::TestEphemeralIPV4Network::test_ephemeral_ipv4_network_performs_teardown PASSED [ 43%] tests/unittests/net/test_init.py::TestEphemeralIPV4Network::test_teardown_on_enter_exception PASSED [ 43%] tests/unittests/net/test_init.py::TestEphemeralIPV4Network::test_ephemeral_ipv4_network_noop_when_configured PASSED [ 43%] tests/unittests/net/test_init.py::TestEphemeralIPV4Network::test_ephemeral_ipv4_network_with_prefix PASSED [ 43%] tests/unittests/net/test_init.py::TestEphemeralIPV4Network::test_ephemeral_ipv4_network_with_new_default_route PASSED [ 43%] tests/unittests/net/test_init.py::TestEphemeralIPV4Network::test_ephemeral_ipv4_network_with_rfc3442_static_routes PASSED [ 43%] tests/unittests/net/test_init.py::TestEphemeralIPV6Network::test_ephemeral_ipv6_network_performs_setup PASSED [ 43%] tests/unittests/net/test_init.py::TestExtractPhysdevs::test_extract_physdevs_looks_up_driver_v1 PASSED [ 43%] tests/unittests/net/test_init.py::TestExtractPhysdevs::test_extract_physdevs_looks_up_driver_v2 PASSED [ 43%] tests/unittests/net/test_init.py::TestExtractPhysdevs::test_extract_physdevs_looks_up_devid_v1 PASSED [ 43%] tests/unittests/net/test_init.py::TestExtractPhysdevs::test_extract_physdevs_looks_up_devid_v2 PASSED [ 43%] tests/unittests/net/test_init.py::TestExtractPhysdevs::test_get_v1_type_physical PASSED [ 43%] tests/unittests/net/test_init.py::TestExtractPhysdevs::test_get_v2_type_physical PASSED [ 43%] tests/unittests/net/test_init.py::TestExtractPhysdevs::test_get_v2_type_physical_skips_if_no_set_name PASSED [ 43%] tests/unittests/net/test_init.py::TestExtractPhysdevs::test_runtime_error_on_unknown_netcfg_version PASSED [ 43%] tests/unittests/net/test_init.py::TestNetFailOver::test_get_dev_features PASSED [ 43%] tests/unittests/net/test_init.py::TestNetFailOver::test_get_dev_features_none_returns_empty_string PASSED [ 43%] tests/unittests/net/test_init.py::TestNetFailOver::test_has_netfail_standby_feature PASSED [ 43%] tests/unittests/net/test_init.py::TestNetFailOver::test_has_netfail_standby_feature_short_is_false PASSED [ 43%] tests/unittests/net/test_init.py::TestNetFailOver::test_has_netfail_standby_feature_not_present_is_false PASSED [ 43%] tests/unittests/net/test_init.py::TestNetFailOver::test_has_netfail_standby_feature_no_features_is_false PASSED [ 43%] tests/unittests/net/test_init.py::TestNetFailOver::test_is_netfail_master PASSED [ 43%] tests/unittests/net/test_init.py::TestNetFailOver::test_is_netfail_master_checks_master_attr PASSED [ 43%] tests/unittests/net/test_init.py::TestNetFailOver::test_is_netfail_master_wrong_driver PASSED [ 43%] tests/unittests/net/test_init.py::TestNetFailOver::test_is_netfail_master_has_master_attr PASSED [ 43%] tests/unittests/net/test_init.py::TestNetFailOver::test_is_netfail_master_no_standby_feat PASSED [ 43%] tests/unittests/net/test_init.py::TestNetFailOver::test_is_netfail_primary PASSED [ 43%] tests/unittests/net/test_init.py::TestNetFailOver::test_is_netfail_primary_wrong_driver PASSED [ 43%] tests/unittests/net/test_init.py::TestNetFailOver::test_is_netfail_primary_no_master PASSED [ 43%] tests/unittests/net/test_init.py::TestNetFailOver::test_is_netfail_primary_bad_master PASSED [ 43%] tests/unittests/net/test_init.py::TestNetFailOver::test_is_netfail_primary_no_standby PASSED [ 43%] tests/unittests/net/test_init.py::TestNetFailOver::test_is_netfail_standby PASSED [ 43%] tests/unittests/net/test_init.py::TestNetFailOver::test_is_netfail_standby_wrong_driver PASSED [ 43%] tests/unittests/net/test_init.py::TestNetFailOver::test_is_netfail_standby_no_master PASSED [ 43%] tests/unittests/net/test_init.py::TestNetFailOver::test_is_netfail_standby_no_standby_feature PASSED [ 43%] tests/unittests/net/test_init.py::TestNetFailOver::test_is_netfailover_primary PASSED [ 43%] tests/unittests/net/test_init.py::TestNetFailOver::test_is_netfailover_standby PASSED [ 43%] tests/unittests/net/test_init.py::TestNetFailOver::test_is_netfailover_returns_false PASSED [ 43%] tests/unittests/net/test_init.py::TestOpenvswitchIsInstalled::test_mirrors_which_result[True-/some/path] PASSED [ 43%] tests/unittests/net/test_init.py::TestOpenvswitchIsInstalled::test_mirrors_which_result[False-None] PASSED [ 43%] tests/unittests/net/test_init.py::TestOpenvswitchIsInstalled::test_only_calls_which_once PASSED [ 43%] tests/unittests/net/test_init.py::TestGetOVSInternalInterfaces::test_command_used PASSED [ 43%] tests/unittests/net/test_init.py::TestGetOVSInternalInterfaces::test_subp_contents_split_and_returned PASSED [ 43%] tests/unittests/net/test_init.py::TestGetOVSInternalInterfaces::test_database_connection_error_handled_gracefully PASSED [ 43%] tests/unittests/net/test_init.py::TestGetOVSInternalInterfaces::test_other_errors_raised PASSED [ 43%] tests/unittests/net/test_init.py::TestGetOVSInternalInterfaces::test_only_runs_once PASSED [ 43%] tests/unittests/net/test_init.py::TestIsOpenVSwitchInternalInterface::test_false_if_ovs_not_installed PASSED [ 43%] tests/unittests/net/test_init.py::TestIsOpenVSwitchInternalInterface::test_return_value_based_on_detected_interfaces[detected_interfaces0-devname-False] PASSED [ 43%] tests/unittests/net/test_init.py::TestIsOpenVSwitchInternalInterface::test_return_value_based_on_detected_interfaces[detected_interfaces1-devname-False] PASSED [ 43%] tests/unittests/net/test_init.py::TestIsOpenVSwitchInternalInterface::test_return_value_based_on_detected_interfaces[detected_interfaces2-devname-True] PASSED [ 43%] tests/unittests/net/test_init.py::TestIsOpenVSwitchInternalInterface::test_return_value_based_on_detected_interfaces[detected_interfaces3-ours-True] PASSED [ 43%] tests/unittests/net/test_init.py::TestIsIpAddress::test_is_ip_address[value-error] PASSED [ 43%] tests/unittests/net/test_init.py::TestIsIpAddress::test_is_ip_address[ipv4-address] PASSED [ 43%] tests/unittests/net/test_init.py::TestIsIpAddress::test_is_ip_address[ipv4-network] PASSED [ 43%] tests/unittests/net/test_init.py::TestIsIpAddress::test_is_ip_address[ipv6-address] PASSED [ 43%] tests/unittests/net/test_init.py::TestIsIpAddress::test_is_ip_address[ipv6-network] PASSED [ 44%] tests/unittests/net/test_init.py::TestIsIpv4Address::test_is_ip_address[ipv4address_mock0-False] PASSED [ 44%] tests/unittests/net/test_init.py::TestIsIpv4Address::test_is_ip_address[ipv4address_mock1-True] PASSED [ 44%] tests/unittests/net/test_init.py::TestIsIpNetwork::test_is_ip_network[is_ip_network-192.168.1.1-True] PASSED [ 44%] tests/unittests/net/test_init.py::TestIsIpNetwork::test_is_ip_network[is_ip_network-192.168.1.1/24-True] PASSED [ 44%] tests/unittests/net/test_init.py::TestIsIpNetwork::test_is_ip_network[is_ip_network-192.168.1.1/32-True] PASSED [ 44%] tests/unittests/net/test_init.py::TestIsIpNetwork::test_is_ip_network[is_ip_network-192.168.1.1/33-False] PASSED [ 44%] tests/unittests/net/test_init.py::TestIsIpNetwork::test_is_ip_network[is_ip_network-2001:67c:1-False] PASSED [ 44%] tests/unittests/net/test_init.py::TestIsIpNetwork::test_is_ip_network[is_ip_network-2001:67c:1/32-False] PASSED [ 44%] tests/unittests/net/test_init.py::TestIsIpNetwork::test_is_ip_network[is_ip_network-2001:67c::-True] PASSED [ 44%] tests/unittests/net/test_init.py::TestIsIpNetwork::test_is_ip_network[is_ip_network-2001:67c::/32-True] PASSED [ 44%] tests/unittests/net/test_init.py::TestIsIpNetwork::test_is_ip_network[is_ipv4_network-192.168.1.1-True] PASSED [ 44%] tests/unittests/net/test_init.py::TestIsIpNetwork::test_is_ip_network[is_ipv4_network-192.168.1.1/24-True] PASSED [ 44%] tests/unittests/net/test_init.py::TestIsIpNetwork::test_is_ip_network[is_ipv4_network-2001:67c::-False] PASSED [ 44%] tests/unittests/net/test_init.py::TestIsIpNetwork::test_is_ip_network[is_ipv4_network-2001:67c::/32-False] PASSED [ 44%] tests/unittests/net/test_init.py::TestIsIpNetwork::test_is_ip_network[is_ipv6_network-192.168.1.1-False] PASSED [ 44%] tests/unittests/net/test_init.py::TestIsIpNetwork::test_is_ip_network[is_ipv6_network-192.168.1.1/24-False] PASSED [ 44%] tests/unittests/net/test_init.py::TestIsIpNetwork::test_is_ip_network[is_ipv6_network-2001:67c:1-False] PASSED [ 44%] tests/unittests/net/test_init.py::TestIsIpNetwork::test_is_ip_network[is_ipv6_network-2001:67c:1/32-False] PASSED [ 44%] tests/unittests/net/test_init.py::TestIsIpNetwork::test_is_ip_network[is_ipv6_network-2001:67c::-True] PASSED [ 44%] tests/unittests/net/test_init.py::TestIsIpNetwork::test_is_ip_network[is_ipv6_network-2001:67c::/32-True] PASSED [ 44%] tests/unittests/net/test_init.py::TestIsIpNetwork::test_is_ip_network[is_ipv6_network-2001:67c::/129-False] PASSED [ 44%] tests/unittests/net/test_init.py::TestIsIpNetwork::test_is_ip_network[is_ipv6_network-2001:67c::/128-True] PASSED [ 44%] tests/unittests/net/test_init.py::TestIsIpInSubnet::test_is_ip_in_subnet[is_ip_in_subnet-192.168.1.1-2001:67c::1/64-False] PASSED [ 44%] tests/unittests/net/test_init.py::TestIsIpInSubnet::test_is_ip_in_subnet[is_ip_in_subnet-2001:67c::1-192.168.1.1/24-False] PASSED [ 44%] tests/unittests/net/test_init.py::TestIsIpInSubnet::test_is_ip_in_subnet[is_ip_in_subnet-192.168.1.1-192.168.1.1/24-True] PASSED [ 44%] tests/unittests/net/test_init.py::TestIsIpInSubnet::test_is_ip_in_subnet[is_ip_in_subnet-192.168.1.1-192.168.1.1/32-True] PASSED [ 44%] tests/unittests/net/test_init.py::TestIsIpInSubnet::test_is_ip_in_subnet[is_ip_in_subnet-192.168.1.2-192.168.1.1/24-True] PASSED [ 44%] tests/unittests/net/test_init.py::TestIsIpInSubnet::test_is_ip_in_subnet[is_ip_in_subnet-192.168.1.2-192.168.1.1/32-False] PASSED [ 44%] tests/unittests/net/test_init.py::TestIsIpInSubnet::test_is_ip_in_subnet[is_ip_in_subnet-192.168.2.2-192.168.1.1/24-False] PASSED [ 44%] tests/unittests/net/test_init.py::TestIsIpInSubnet::test_is_ip_in_subnet[is_ip_in_subnet-192.168.2.2-192.168.1.1/32-False] PASSED [ 44%] tests/unittests/net/test_init.py::TestIsIpInSubnet::test_is_ip_in_subnet[is_ip_in_subnet-2001:67c1::1-2001:67c1::1/64-True] PASSED [ 44%] tests/unittests/net/test_init.py::TestIsIpInSubnet::test_is_ip_in_subnet[is_ip_in_subnet-2001:67c1::1-2001:67c1::1/128-True] PASSED [ 44%] tests/unittests/net/test_init.py::TestIsIpInSubnet::test_is_ip_in_subnet[is_ip_in_subnet-2001:67c1::2-2001:67c1::1/64-True] PASSED [ 44%] tests/unittests/net/test_init.py::TestIsIpInSubnet::test_is_ip_in_subnet[is_ip_in_subnet-2001:67c1::2-2001:67c1::1/128-False] PASSED [ 44%] tests/unittests/net/test_init.py::TestIsIpInSubnet::test_is_ip_in_subnet[is_ip_in_subnet-2002:67c1::1-2001:67c1::1/8-True] PASSED [ 44%] tests/unittests/net/test_init.py::TestIsIpInSubnet::test_is_ip_in_subnet[is_ip_in_subnet-2002:67c1::1-2001:67c1::1/16-False] PASSED [ 44%] tests/unittests/net/test_net_rendering.py::test_convert[no_matching_mac_v2-Renderer.Netplan|NetworkManager] PASSED [ 44%] tests/unittests/net/test_net_rendering.py::test_convert[openstack_net_config_v1-Renderer.Networkd] PASSED [ 44%] tests/unittests/net/test_net_rendering.py::test_convert[photon_net_config_v2-Renderer.Networkd] PASSED [ 44%] tests/unittests/net/test_netplan.py::TestNetplanRenderer::test_skip_netplan_generate[] PASSED [ 44%] tests/unittests/net/test_netplan.py::TestNetplanRenderer::test_skip_netplan_generate[{'orig_cfg': true}] PASSED [ 44%] tests/unittests/net/test_netplan.py::TestNetplanRenderer::test_skip_netplan_generate[{'new_cfg': true}] PASSED [ 44%] tests/unittests/net/test_netplan.py::TestNetplanAPIWriteYAMLFile::test_no_netplan_python_api PASSED [ 44%] tests/unittests/net/test_netplan.py::TestMaybeStripInvalidMTU::test__strip_invalid_mtu[valid_mtu_unchanged] PASSED [ 44%] tests/unittests/net/test_netplan.py::TestMaybeStripInvalidMTU::test__strip_invalid_mtu[invalid_mtu_redatcted] PASSED [ 44%] tests/unittests/net/test_network_manager.py::TestNetworkManagerRenderNetworkState::test_subnet_route_metric PASSED [ 44%] tests/unittests/net/test_network_manager.py::TestNetworkManagerRenderNetworkState::test_bond_dns_baseline PASSED [ 44%] tests/unittests/net/test_network_manager.py::TestNetworkManagerRenderNetworkState::test_bond_dns_redacted_with_method_disabled PASSED [ 44%] tests/unittests/net/test_network_manager.py::TestNetworkManagerRenderNetworkState::test_bond_balance_tlb_baseline PASSED [ 44%] tests/unittests/net/test_network_manager.py::TestNetworkManagerRenderNetworkState::test_bond_balance_rr_baseline PASSED [ 44%] tests/unittests/net/test_network_manager.py::TestNetworkManagerRenderNetworkState::test_bond_active_backup_baseline PASSED [ 44%] tests/unittests/net/test_network_state.py::TestNetworkStateParseConfig::test_missing_version_returns_none PASSED [ 44%] tests/unittests/net/test_network_state.py::TestNetworkStateParseConfig::test_unknown_versions_returns_none PASSED [ 44%] tests/unittests/net/test_network_state.py::TestNetworkStateParseConfig::test_version_2_passes_self_as_config PASSED [ 44%] tests/unittests/net/test_network_state.py::TestNetworkStateParseConfig::test_valid_config_gets_network_state PASSED [ 44%] tests/unittests/net/test_network_state.py::TestNetworkStateParseConfig::test_empty_v1_config_gets_network_state PASSED [ 44%] tests/unittests/net/test_network_state.py::TestNetworkStateParseConfig::test_empty_v2_config_gets_network_state PASSED [ 44%] tests/unittests/net/test_network_state.py::TestNetworkStateParseConfigV2::test_version_2_ignores_renderer_key PASSED [ 45%] tests/unittests/net/test_network_state.py::TestNetworkStateParseConfigV2::test_v2_warns_deprecated_gateways[non-netplan-ethernets] PASSED [ 45%] tests/unittests/net/test_network_state.py::TestNetworkStateParseConfigV2::test_v2_warns_deprecated_gateways[non-netplan-vlan] PASSED [ 45%] tests/unittests/net/test_network_state.py::TestNetworkStateParseConfigV2::test_v2_warns_deprecated_gateways[non-netplan-bond] PASSED [ 45%] tests/unittests/net/test_network_state.py::TestNetworkStateParseConfigV2::test_v2_warns_deprecated_gateways[non-netplan-bridge] PASSED [ 45%] tests/unittests/net/test_network_state.py::TestNetworkStateParseConfigV2::test_v2_warns_deprecated_gateways[eni-ethernets] PASSED [ 45%] tests/unittests/net/test_network_state.py::TestNetworkStateParseConfigV2::test_v2_warns_deprecated_gateways[eni-vlan] PASSED [ 45%] tests/unittests/net/test_network_state.py::TestNetworkStateParseConfigV2::test_v2_warns_deprecated_gateways[eni-bond] PASSED [ 45%] tests/unittests/net/test_network_state.py::TestNetworkStateParseConfigV2::test_v2_warns_deprecated_gateways[eni-bridge] PASSED [ 45%] tests/unittests/net/test_network_state.py::TestNetworkStateParseConfigV2::test_v2_warns_deprecated_gateways[freebsd-ethernets] PASSED [ 45%] tests/unittests/net/test_network_state.py::TestNetworkStateParseConfigV2::test_v2_warns_deprecated_gateways[freebsd-vlan] PASSED [ 45%] tests/unittests/net/test_network_state.py::TestNetworkStateParseConfigV2::test_v2_warns_deprecated_gateways[freebsd-bond] PASSED [ 45%] tests/unittests/net/test_network_state.py::TestNetworkStateParseConfigV2::test_v2_warns_deprecated_gateways[freebsd-bridge] PASSED [ 45%] tests/unittests/net/test_network_state.py::TestNetworkStateParseConfigV2::test_v2_warns_deprecated_gateways[netbsd-ethernets] PASSED [ 45%] tests/unittests/net/test_network_state.py::TestNetworkStateParseConfigV2::test_v2_warns_deprecated_gateways[netbsd-vlan] PASSED [ 45%] tests/unittests/net/test_network_state.py::TestNetworkStateParseConfigV2::test_v2_warns_deprecated_gateways[netbsd-bond] PASSED [ 45%] tests/unittests/net/test_network_state.py::TestNetworkStateParseConfigV2::test_v2_warns_deprecated_gateways[netbsd-bridge] PASSED [ 45%] tests/unittests/net/test_network_state.py::TestNetworkStateParseConfigV2::test_v2_warns_deprecated_gateways[netplan-ethernets] PASSED [ 45%] tests/unittests/net/test_network_state.py::TestNetworkStateParseConfigV2::test_v2_warns_deprecated_gateways[netplan-vlan] PASSED [ 45%] tests/unittests/net/test_network_state.py::TestNetworkStateParseConfigV2::test_v2_warns_deprecated_gateways[netplan-bond] PASSED [ 45%] tests/unittests/net/test_network_state.py::TestNetworkStateParseConfigV2::test_v2_warns_deprecated_gateways[netplan-bridge] PASSED [ 45%] tests/unittests/net/test_network_state.py::TestNetworkStateParseConfigV2::test_v2_warns_deprecated_gateways[network-manager-ethernets] PASSED [ 45%] tests/unittests/net/test_network_state.py::TestNetworkStateParseConfigV2::test_v2_warns_deprecated_gateways[network-manager-vlan] PASSED [ 45%] tests/unittests/net/test_network_state.py::TestNetworkStateParseConfigV2::test_v2_warns_deprecated_gateways[network-manager-bond] PASSED [ 45%] tests/unittests/net/test_network_state.py::TestNetworkStateParseConfigV2::test_v2_warns_deprecated_gateways[network-manager-bridge] PASSED [ 45%] tests/unittests/net/test_network_state.py::TestNetworkStateParseConfigV2::test_v2_warns_deprecated_gateways[networkd-ethernets] PASSED [ 45%] tests/unittests/net/test_network_state.py::TestNetworkStateParseConfigV2::test_v2_warns_deprecated_gateways[networkd-vlan] PASSED [ 45%] tests/unittests/net/test_network_state.py::TestNetworkStateParseConfigV2::test_v2_warns_deprecated_gateways[networkd-bond] PASSED [ 45%] tests/unittests/net/test_network_state.py::TestNetworkStateParseConfigV2::test_v2_warns_deprecated_gateways[networkd-bridge] PASSED [ 45%] tests/unittests/net/test_network_state.py::TestNetworkStateParseConfigV2::test_v2_warns_deprecated_gateways[openbsd-ethernets] PASSED [ 45%] tests/unittests/net/test_network_state.py::TestNetworkStateParseConfigV2::test_v2_warns_deprecated_gateways[openbsd-vlan] PASSED [ 45%] tests/unittests/net/test_network_state.py::TestNetworkStateParseConfigV2::test_v2_warns_deprecated_gateways[openbsd-bond] PASSED [ 45%] tests/unittests/net/test_network_state.py::TestNetworkStateParseConfigV2::test_v2_warns_deprecated_gateways[openbsd-bridge] PASSED [ 45%] tests/unittests/net/test_network_state.py::TestNetworkStateParseConfigV2::test_v2_warns_deprecated_gateways[sysconfig-ethernets] PASSED [ 45%] tests/unittests/net/test_network_state.py::TestNetworkStateParseConfigV2::test_v2_warns_deprecated_gateways[sysconfig-vlan] PASSED [ 45%] tests/unittests/net/test_network_state.py::TestNetworkStateParseConfigV2::test_v2_warns_deprecated_gateways[sysconfig-bond] PASSED [ 45%] tests/unittests/net/test_network_state.py::TestNetworkStateParseConfigV2::test_v2_warns_deprecated_gateways[sysconfig-bridge] PASSED [ 45%] tests/unittests/net/test_network_state.py::TestNetworkStateParseNameservers::test_v1_nameservers_valid PASSED [ 45%] tests/unittests/net/test_network_state.py::TestNetworkStateParseNameservers::test_v1_nameservers_invalid PASSED [ 45%] tests/unittests/net/test_network_state.py::TestNetworkStateParseNameservers::test_v2_nameservers PASSED [ 45%] tests/unittests/net/test_network_state.py::TestNetworkStateHelperFunctions::test_mask_to_net_prefix_ipv4 PASSED [ 45%] tests/unittests/net/test_network_state.py::TestNetworkStateHelperFunctions::test_mask_to_net_prefix_all_bits_ipv4 PASSED [ 45%] tests/unittests/net/test_network_state.py::TestNetworkStateHelperFunctions::test_mask_to_net_prefix_to_many_bits_ipv4 PASSED [ 45%] tests/unittests/net/test_network_state.py::TestNetworkStateHelperFunctions::test_mask_to_net_prefix_all_bits_ipv6 PASSED [ 45%] tests/unittests/net/test_network_state.py::TestNetworkStateHelperFunctions::test_mask_to_net_prefix_ipv6 PASSED [ 45%] tests/unittests/net/test_network_state.py::TestNetworkStateHelperFunctions::test_mask_to_net_prefix_raises_value_error PASSED [ 45%] tests/unittests/net/test_network_state.py::TestNetworkStateHelperFunctions::test_mask_to_net_prefix_to_many_bits_ipv6 PASSED [ 45%] tests/unittests/net/test_network_state.py::TestNetworkStateHelperFunctions::test_mask_to_net_prefix_ipv4_object PASSED [ 45%] tests/unittests/net/test_network_state.py::TestNetworkStateHelperFunctions::test_mask_to_net_prefix_ipv6_object PASSED [ 45%] tests/unittests/net/test_networkd.py::TestNetworkdRenderState::test_networkd_render_with_optional PASSED [ 45%] tests/unittests/net/test_networkd.py::TestNetworkdRenderState::test_networkd_render_with_set_name PASSED [ 45%] tests/unittests/net/test_networkd.py::TestNetworkdRenderState::test_networkd_render_dhcp_yes_with_dhcp_overrides PASSED [ 45%] tests/unittests/net/test_networkd.py::TestNetworkdRenderState::test_networkd_render_dhcp_domains_vs_overrides[4] PASSED [ 45%] tests/unittests/net/test_networkd.py::TestNetworkdRenderState::test_networkd_render_dhcp_domains_vs_overrides[6] PASSED [ 45%] tests/unittests/net/test_networkd.py::TestNetworkdRenderState::test_networkd_render_dhcp_overrides[4-use-dns-false-UseDNS-False] PASSED [ 45%] tests/unittests/net/test_networkd.py::TestNetworkdRenderState::test_networkd_render_dhcp_overrides[4-use-dns-true-UseDNS-True] PASSED [ 45%] tests/unittests/net/test_networkd.py::TestNetworkdRenderState::test_networkd_render_dhcp_overrides[4-use-ntp-false-UseNTP-False] PASSED [ 45%] tests/unittests/net/test_networkd.py::TestNetworkdRenderState::test_networkd_render_dhcp_overrides[4-use-ntp-true-UseNTP-True] PASSED [ 46%] tests/unittests/net/test_networkd.py::TestNetworkdRenderState::test_networkd_render_dhcp_overrides[4-send-hostname-false-SendHostname-False] PASSED [ 46%] tests/unittests/net/test_networkd.py::TestNetworkdRenderState::test_networkd_render_dhcp_overrides[4-send-hostname-true-SendHostname-True] PASSED [ 46%] tests/unittests/net/test_networkd.py::TestNetworkdRenderState::test_networkd_render_dhcp_overrides[4-use-hostname-false-UseHostname-False] PASSED [ 46%] tests/unittests/net/test_networkd.py::TestNetworkdRenderState::test_networkd_render_dhcp_overrides[4-use-hostname-true-UseHostname-True] PASSED [ 46%] tests/unittests/net/test_networkd.py::TestNetworkdRenderState::test_networkd_render_dhcp_overrides[4-hostname-olivaw-Hostname-olivaw] PASSED [ 46%] tests/unittests/net/test_networkd.py::TestNetworkdRenderState::test_networkd_render_dhcp_overrides[4-route-metric-12345-RouteMetric-12345] PASSED [ 46%] tests/unittests/net/test_networkd.py::TestNetworkdRenderState::test_networkd_render_dhcp_overrides[4-use-domains-false-UseDomains-False] PASSED [ 46%] tests/unittests/net/test_networkd.py::TestNetworkdRenderState::test_networkd_render_dhcp_overrides[4-use-domains-true-UseDomains-True] PASSED [ 46%] tests/unittests/net/test_networkd.py::TestNetworkdRenderState::test_networkd_render_dhcp_overrides[4-use-domains-route-UseDomains-route] PASSED [ 46%] tests/unittests/net/test_networkd.py::TestNetworkdRenderState::test_networkd_render_dhcp_overrides[4-use-mtu-false-UseMTU-False] PASSED [ 46%] tests/unittests/net/test_networkd.py::TestNetworkdRenderState::test_networkd_render_dhcp_overrides[4-use-mtu-true-UseMTU-True] PASSED [ 46%] tests/unittests/net/test_networkd.py::TestNetworkdRenderState::test_networkd_render_dhcp_overrides[4-use-routes-false-UseRoutes-False] PASSED [ 46%] tests/unittests/net/test_networkd.py::TestNetworkdRenderState::test_networkd_render_dhcp_overrides[4-use-routes-true-UseRoutes-True] PASSED [ 46%] tests/unittests/net/test_networkd.py::TestNetworkdRenderState::test_networkd_render_dhcp_overrides[6-use-dns-false-UseDNS-False] PASSED [ 46%] tests/unittests/net/test_networkd.py::TestNetworkdRenderState::test_networkd_render_dhcp_overrides[6-use-dns-true-UseDNS-True] PASSED [ 46%] tests/unittests/net/test_networkd.py::TestNetworkdRenderState::test_networkd_render_dhcp_overrides[6-use-ntp-false-UseNTP-False] PASSED [ 46%] tests/unittests/net/test_networkd.py::TestNetworkdRenderState::test_networkd_render_dhcp_overrides[6-use-ntp-true-UseNTP-True] PASSED [ 46%] tests/unittests/net/test_networkd.py::TestNetworkdRenderState::test_networkd_render_dhcp_overrides[6-use-hostname-false-UseHostname-False] PASSED [ 46%] tests/unittests/net/test_networkd.py::TestNetworkdRenderState::test_networkd_render_dhcp_overrides[6-use-hostname-true-UseHostname-True] PASSED [ 46%] tests/unittests/net/test_networkd.py::TestNetworkdRenderState::test_networkd_render_dhcp_overrides[6-use-domains-false-UseDomains-False] PASSED [ 46%] tests/unittests/net/test_networkd.py::TestNetworkdRenderState::test_networkd_render_dhcp_overrides[6-use-domains-true-UseDomains-True] PASSED [ 46%] tests/unittests/net/test_networkd.py::TestNetworkdRenderState::test_networkd_render_dhcp_overrides[6-use-domains-route-UseDomains-route] PASSED [ 46%] tests/unittests/net/test_networkd.py::TestNetworkdRenderState::test_networkd_render_v1_multi_subnets PASSED [ 46%] tests/unittests/net/test_networkd.py::TestNetworkdRenderState::test_networkd_render_v2_multi_subnets PASSED [ 46%] tests/unittests/net/test_networkd.py::TestNetworkdRenderState::test_networkd_render_v1_multi_subnets_not_onlink PASSED [ 46%] tests/unittests/net/test_networkd.py::TestNetworkdRenderState::test_networkd_render_v2_multi_subnets_not_onlink PASSED [ 46%] tests/unittests/net/test_networkd.py::TestNetworkdRenderState::test_networkd_render_v1_multi_subnets_onlink PASSED [ 46%] tests/unittests/net/test_networkd.py::TestNetworkdRenderState::test_networkd_render_v2_multi_subnets_onlink PASSED [ 46%] tests/unittests/net/test_networkd.py::TestNetworkdRenderState::test_networkd_render_accept_ra[True-4-v1] PASSED [ 46%] tests/unittests/net/test_networkd.py::TestNetworkdRenderState::test_networkd_render_accept_ra[True-4-v2] PASSED [ 46%] tests/unittests/net/test_networkd.py::TestNetworkdRenderState::test_networkd_render_accept_ra[True-6-v1] PASSED [ 46%] tests/unittests/net/test_networkd.py::TestNetworkdRenderState::test_networkd_render_accept_ra[True-6-v2] PASSED [ 46%] tests/unittests/net/test_networkd.py::TestNetworkdRenderState::test_networkd_render_accept_ra[True-10.0.0.10/24-v1] PASSED [ 46%] tests/unittests/net/test_networkd.py::TestNetworkdRenderState::test_networkd_render_accept_ra[True-10.0.0.10/24-v2] PASSED [ 46%] tests/unittests/net/test_networkd.py::TestNetworkdRenderState::test_networkd_render_accept_ra[True-2001:db8::1/64-v1] PASSED [ 46%] tests/unittests/net/test_networkd.py::TestNetworkdRenderState::test_networkd_render_accept_ra[True-2001:db8::1/64-v2] PASSED [ 46%] tests/unittests/net/test_networkd.py::TestNetworkdRenderState::test_networkd_render_accept_ra[False-4-v1] PASSED [ 46%] tests/unittests/net/test_networkd.py::TestNetworkdRenderState::test_networkd_render_accept_ra[False-4-v2] PASSED [ 46%] tests/unittests/net/test_networkd.py::TestNetworkdRenderState::test_networkd_render_accept_ra[False-6-v1] PASSED [ 46%] tests/unittests/net/test_networkd.py::TestNetworkdRenderState::test_networkd_render_accept_ra[False-6-v2] PASSED [ 46%] tests/unittests/net/test_networkd.py::TestNetworkdRenderState::test_networkd_render_accept_ra[False-10.0.0.10/24-v1] PASSED [ 46%] tests/unittests/net/test_networkd.py::TestNetworkdRenderState::test_networkd_render_accept_ra[False-10.0.0.10/24-v2] PASSED [ 46%] tests/unittests/net/test_networkd.py::TestNetworkdRenderState::test_networkd_render_accept_ra[False-2001:db8::1/64-v1] PASSED [ 46%] tests/unittests/net/test_networkd.py::TestNetworkdRenderState::test_networkd_render_accept_ra[False-2001:db8::1/64-v2] PASSED [ 46%] tests/unittests/net/test_networkd.py::TestNetworkdRenderState::test_networkd_render_accept_ra[None-4-v1] PASSED [ 46%] tests/unittests/net/test_networkd.py::TestNetworkdRenderState::test_networkd_render_accept_ra[None-4-v2] PASSED [ 46%] tests/unittests/net/test_networkd.py::TestNetworkdRenderState::test_networkd_render_accept_ra[None-6-v1] PASSED [ 46%] tests/unittests/net/test_networkd.py::TestNetworkdRenderState::test_networkd_render_accept_ra[None-6-v2] PASSED [ 46%] tests/unittests/net/test_networkd.py::TestNetworkdRenderState::test_networkd_render_accept_ra[None-10.0.0.10/24-v1] PASSED [ 46%] tests/unittests/net/test_networkd.py::TestNetworkdRenderState::test_networkd_render_accept_ra[None-10.0.0.10/24-v2] PASSED [ 46%] tests/unittests/net/test_networkd.py::TestNetworkdRenderState::test_networkd_render_accept_ra[None-2001:db8::1/64-v1] PASSED [ 46%] tests/unittests/net/test_networkd.py::TestNetworkdRenderState::test_networkd_render_accept_ra[None-2001:db8::1/64-v2] PASSED [ 46%] tests/unittests/reporting/test_reporting.py::TestReportStartEvent::test_report_start_event_passes_something_with_as_string_to_handlers PASSED [ 46%] tests/unittests/reporting/test_reporting.py::TestReportFinishEvent::test_report_finish_event_passes_something_with_as_string_to_handlers PASSED [ 46%] tests/unittests/reporting/test_reporting.py::TestReportFinishEvent::test_reporting_successful_finish_has_sensible_string_repr PASSED [ 46%] tests/unittests/reporting/test_reporting.py::TestReportFinishEvent::test_reporting_unsuccessful_finish_has_sensible_string_repr PASSED [ 46%] tests/unittests/reporting/test_reporting.py::TestReportFinishEvent::test_invalid_result_raises_attribute_error PASSED [ 47%] tests/unittests/reporting/test_reporting.py::TestReportingEvent::test_as_string PASSED [ 47%] tests/unittests/reporting/test_reporting.py::TestReportingEvent::test_as_dict PASSED [ 47%] tests/unittests/reporting/test_reporting.py::TestFinishReportingEvent::test_as_has_result PASSED [ 47%] tests/unittests/reporting/test_reporting.py::TestFinishReportingEvent::test_has_result_with_optional_post_files PASSED [ 47%] tests/unittests/reporting/test_reporting.py::TestFinishReportingEvent::test_includes_duration_in_as_dict PASSED [ 47%] tests/unittests/reporting/test_reporting.py::TestFinishReportingEvent::test_includes_duration_in_as_string PASSED [ 47%] tests/unittests/reporting/test_reporting.py::TestLogHandler::test_appropriate_logger_used PASSED [ 47%] tests/unittests/reporting/test_reporting.py::TestLogHandler::test_single_log_message_at_info_published PASSED [ 47%] tests/unittests/reporting/test_reporting.py::TestLogHandler::test_log_message_uses_event_as_string PASSED [ 47%] tests/unittests/reporting/test_reporting.py::TestDefaultRegisteredHandler::test_log_handler_registered_by_default PASSED [ 47%] tests/unittests/reporting/test_reporting.py::TestReportingConfiguration::test_empty_configuration_doesnt_add_handlers PASSED [ 47%] tests/unittests/reporting/test_reporting.py::TestReportingConfiguration::test_looks_up_handler_by_type_and_adds_it PASSED [ 47%] tests/unittests/reporting/test_reporting.py::TestReportingConfiguration::test_uses_non_type_parts_of_config_dict_as_kwargs PASSED [ 47%] tests/unittests/reporting/test_reporting.py::TestReportingConfiguration::test_handler_config_not_modified PASSED [ 47%] tests/unittests/reporting/test_reporting.py::TestReportingConfiguration::test_handlers_removed_if_falseish_specified PASSED [ 47%] tests/unittests/reporting/test_reporting.py::TestReportingEventStack::test_start_and_finish_success PASSED [ 47%] tests/unittests/reporting/test_reporting.py::TestReportingEventStack::test_finish_exception_defaults_fail PASSED [ 47%] tests/unittests/reporting/test_reporting.py::TestReportingEventStack::test_result_on_exception_used PASSED [ 47%] tests/unittests/reporting/test_reporting.py::TestReportingEventStack::test_child_fullname_respects_parent PASSED [ 47%] tests/unittests/reporting/test_reporting.py::TestReportingEventStack::test_child_result_bubbles_up PASSED [ 47%] tests/unittests/reporting/test_reporting.py::TestReportingEventStack::test_message_used_in_finish PASSED [ 47%] tests/unittests/reporting/test_reporting.py::TestReportingEventStack::test_message_updatable PASSED [ 47%] tests/unittests/reporting/test_reporting.py::TestReportingEventStack::test_reporting_disabled_does_not_report_events PASSED [ 47%] tests/unittests/reporting/test_reporting.py::TestReportingEventStack::test_reporting_child_default_to_parent PASSED [ 47%] tests/unittests/reporting/test_reporting.py::TestReportingEventStack::test_reporting_event_has_sane_repr PASSED [ 47%] tests/unittests/reporting/test_reporting.py::TestReportingEventStack::test_set_invalid_result_raises_value_error PASSED [ 47%] tests/unittests/reporting/test_reporting.py::TestStatusAccess::test_invalid_status_access_raises_value_error PASSED [ 47%] tests/unittests/reporting/test_reporting.py::TestReportingSchema::test_schema_validation[config0-None] PASSED [ 47%] tests/unittests/reporting/test_reporting.py::TestReportingSchema::test_schema_validation[config1-None] PASSED [ 47%] tests/unittests/reporting/test_reporting.py::TestReportingSchema::test_schema_validation[config2-None] PASSED [ 47%] tests/unittests/reporting/test_reporting.py::TestReportingSchema::test_schema_validation[config3-None] PASSED [ 47%] tests/unittests/reporting/test_reporting.py::TestReportingSchema::test_schema_validation[config4-None] PASSED [ 47%] tests/unittests/reporting/test_reporting.py::TestReportingSchema::test_schema_validation[config5-None] PASSED [ 47%] tests/unittests/reporting/test_reporting.py::TestReportingSchema::test_schema_validation[config6-None] PASSED [ 47%] tests/unittests/reporting/test_reporting.py::TestReportingSchema::test_schema_validation[config7-None] PASSED [ 47%] tests/unittests/reporting/test_reporting.py::TestReportingSchema::test_schema_validation[config8-'a' is not of type 'object'] PASSED [ 47%] tests/unittests/reporting/test_reporting.py::TestReportingSchema::test_schema_validation[config9-'b' is not of type 'object'] PASSED [ 47%] tests/unittests/reporting/test_reporting.py::TestReportingSchema::test_schema_validation[config10-'b'\\ is\\ not\\ one\\ of\\ \\['log'\\]] PASSED [ 47%] tests/unittests/reporting/test_reporting.py::TestReportingSchema::test_schema_validation[config11-'a' was unexpected] PASSED [ 47%] tests/unittests/reporting/test_reporting.py::TestReportingSchema::test_schema_validation[config12-'a' was unexpected] PASSED [ 47%] tests/unittests/reporting/test_reporting.py::TestReportingSchema::test_schema_validation[config13-'a' was unexpected] PASSED [ 47%] tests/unittests/reporting/test_reporting.py::TestReportingSchema::test_schema_validation[config14-'a' was unexpected] PASSED [ 47%] tests/unittests/reporting/test_reporting.py::TestReportingSchema::test_schema_validation[config15-'type' is a required] PASSED [ 47%] tests/unittests/reporting/test_reporting.py::TestReportingSchema::test_schema_validation[config16-'type' is a required] PASSED [ 47%] tests/unittests/reporting/test_reporting.py::TestReportingSchema::test_schema_validation[config17-'endpoint' is a required] PASSED [ 47%] tests/unittests/reporting/test_reporting.py::TestReportingSchema::test_schema_validation[config18-'endpoint' is a required] PASSED [ 47%] tests/unittests/reporting/test_reporting_hyperv.py::TestKvpEncoding::test_encode_decode PASSED [ 47%] tests/unittests/reporting/test_reporting_hyperv.py::TestKvpReporter::test_events_with_higher_incarnation_not_over_written PASSED [ 47%] tests/unittests/reporting/test_reporting_hyperv.py::TestKvpReporter::test_finish_event_result_is_logged PASSED [ 47%] tests/unittests/reporting/test_reporting_hyperv.py::TestKvpReporter::test_file_operation_issue PASSED [ 47%] tests/unittests/reporting/test_reporting_hyperv.py::TestKvpReporter::test_event_very_long PASSED [ 47%] tests/unittests/reporting/test_reporting_hyperv.py::TestKvpReporter::test_not_truncate_kvp_file_modified_after_boot PASSED [ 47%] tests/unittests/reporting/test_reporting_hyperv.py::TestKvpReporter::test_truncate_stale_kvp_file PASSED [ 47%] tests/unittests/reporting/test_reporting_hyperv.py::TestKvpReporter::test_get_boot_telemetry PASSED [ 47%] tests/unittests/reporting/test_reporting_hyperv.py::TestKvpReporter::test_get_system_info PASSED [ 47%] tests/unittests/reporting/test_reporting_hyperv.py::TestKvpReporter::test_report_diagnostic_event_without_logger_func PASSED [ 47%] tests/unittests/reporting/test_reporting_hyperv.py::TestKvpReporter::test_report_diagnostic_event_with_logger_func PASSED [ 48%] tests/unittests/reporting/test_reporting_hyperv.py::TestKvpReporter::test_report_compressed_event PASSED [ 48%] tests/unittests/reporting/test_reporting_hyperv.py::TestKvpReporter::test_unique_kvp_key PASSED [ 48%] tests/unittests/reporting/test_reporting_hyperv.py::TestKvpReporter::test_write_key PASSED [ 48%] tests/unittests/reporting/test_reporting_hyperv.py::TestKvpReporter::test_write_key_truncates PASSED [ 48%] tests/unittests/reporting/test_reporting_hyperv.py::TestKvpReporter::test_vm_id_defaults_to_zero_guid_when_dmi_fails PASSED [ 48%] tests/unittests/reporting/test_reporting_hyperv.py::TestKvpReporter::test_vm_id_fallback_reads_system_uuid PASSED [ 48%] tests/unittests/reporting/test_reporting_hyperv.py::TestKvpReporter::test_vm_id_keeps_zero_guid_when_system_uuid_missing PASSED [ 48%] tests/unittests/reporting/test_reporting_hyperv.py::TestKvpReporter::test_event_key_format PASSED [ 48%] tests/unittests/reporting/test_webhook_handler.py::TestWebHookHandler::test_webhook_handler PASSED [ 48%] tests/unittests/reporting/test_webhook_handler.py::TestWebHookHandler::test_404 PASSED [ 48%] tests/unittests/reporting/test_webhook_handler.py::TestWebHookHandler::test_background_processing PASSED [ 48%] tests/unittests/reporting/test_webhook_handler.py::TestWebHookHandler::test_failures_cancel_flush[2-2-False] PASSED [ 48%] tests/unittests/reporting/test_webhook_handler.py::TestWebHookHandler::test_failures_cancel_flush[3-3-True] PASSED [ 48%] tests/unittests/reporting/test_webhook_handler.py::TestWebHookHandler::test_failures_cancel_flush[50-3-True] PASSED [ 48%] tests/unittests/reporting/test_webhook_handler.py::TestWebHookHandler::test_multiple_failures_no_flush PASSED [ 48%] tests/unittests/runs/test_merge_run.py::TestMergeRun::test_none_ds PASSED [ 48%] tests/unittests/runs/test_simple_run.py::TestSimpleRun::test_none_ds_populates_var_lib_cloud PASSED [ 48%] tests/unittests/runs/test_simple_run.py::TestSimpleRun::test_none_ds_runs_modules_which_do_not_define_distros PASSED [ 48%] tests/unittests/runs/test_simple_run.py::TestSimpleRun::test_none_ds_skips_modules_which_define_unmatched_distros PASSED [ 48%] tests/unittests/runs/test_simple_run.py::TestSimpleRun::test_none_ds_runs_modules_which_distros_all PASSED [ 48%] tests/unittests/runs/test_simple_run.py::TestSimpleRun::test_none_ds_forces_run_via_unverified_modules PASSED [ 48%] tests/unittests/runs/test_simple_run.py::TestSimpleRun::test_none_ds_run_with_no_config_modules PASSED [ 48%] tests/unittests/sources/azure/test_certs.py::TestIsOpensshFormatted::test_valid[rsa-without-comment] PASSED [ 48%] tests/unittests/sources/azure/test_certs.py::TestIsOpensshFormatted::test_valid[ed25519] PASSED [ 48%] tests/unittests/sources/azure/test_certs.py::TestIsOpensshFormatted::test_valid[ecdsa] PASSED [ 48%] tests/unittests/sources/azure/test_certs.py::TestIsOpensshFormatted::test_valid[windows-line-endings] PASSED [ 48%] tests/unittests/sources/azure/test_certs.py::TestIsOpensshFormatted::test_invalid[x509-certificate] PASSED [ 48%] tests/unittests/sources/azure/test_certs.py::TestIsOpensshFormatted::test_invalid[empty-string] PASSED [ 48%] tests/unittests/sources/azure/test_certs.py::TestIsOpensshFormatted::test_invalid[random-string] PASSED [ 48%] tests/unittests/sources/azure/test_certs.py::TestIsOpensshFormatted::test_invalid[malformed-key-type] PASSED [ 48%] tests/unittests/sources/azure/test_certs.py::TestSanitizeOpensshKey::test_sanitize[removes-embedded-crlf] PASSED [ 48%] tests/unittests/sources/azure/test_certs.py::TestSanitizeOpensshKey::test_sanitize[strips-trailing-crlf] PASSED [ 48%] tests/unittests/sources/azure/test_certs.py::TestSanitizeOpensshKey::test_sanitize[clean-key-unchanged] PASSED [ 48%] tests/unittests/sources/azure/test_certs.py::TestSanitizeOpensshKey::test_sanitize[multiple-crlf-sequences] PASSED [ 48%] tests/unittests/sources/azure/test_certs.py::TestIsX509Certificate::test_invalid[openssh-key] PASSED [ 48%] tests/unittests/sources/azure/test_certs.py::TestIsX509Certificate::test_invalid[empty-string] PASSED [ 48%] tests/unittests/sources/azure/test_certs.py::TestIsX509Certificate::test_invalid[random-string] PASSED [ 48%] tests/unittests/sources/azure/test_certs.py::TestIsX509Certificate::test_invalid[only-begin-marker] PASSED [ 48%] tests/unittests/sources/azure/test_certs.py::TestIsX509Certificate::test_invalid[only-end-marker] PASSED [ 48%] tests/unittests/sources/azure/test_certs.py::TestIsX509Certificate::test_invalid_certificate_content PASSED [ 48%] tests/unittests/sources/azure/test_certs.py::TestIsX509Certificate::test_valid_certificate_integration PASSED [ 48%] tests/unittests/sources/azure/test_certs.py::TestIsX509Certificate::test_certificate_with_extra_whitespace_integration PASSED [ 48%] tests/unittests/sources/azure/test_certs.py::TestIsX509Certificate::test_invalid_certificate_integration PASSED [ 48%] tests/unittests/sources/azure/test_certs.py::TestExtractX509Certificates::test_returns_empty_list[empty-string] PASSED [ 48%] tests/unittests/sources/azure/test_certs.py::TestExtractX509Certificates::test_returns_empty_list[none] PASSED [ 48%] tests/unittests/sources/azure/test_certs.py::TestExtractX509Certificates::test_returns_empty_list[no-cert-markers] PASSED [ 48%] tests/unittests/sources/azure/test_certs.py::TestExtractX509Certificates::test_extracts_all_valid_certificates PASSED [ 48%] tests/unittests/sources/azure/test_certs.py::TestExtractX509Certificates::test_skips_private_keys PASSED [ 48%] tests/unittests/sources/azure/test_certs.py::TestExtractX509Certificates::test_skips_invalid_certs PASSED [ 48%] tests/unittests/sources/azure/test_certs.py::TestExtractX509Certificates::test_extraction_from_mixed_bundle_integration PASSED [ 48%] tests/unittests/sources/azure/test_certs.py::TestConvertX509ToOpenssh::test_conversion_with_mocked_commands PASSED [ 48%] tests/unittests/sources/azure/test_certs.py::TestConvertX509ToOpenssh::test_openssl_failure_raises_exception PASSED [ 48%] tests/unittests/sources/azure/test_certs.py::TestConvertX509ToOpenssh::test_ssh_keygen_failure_raises_exception PASSED [ 48%] tests/unittests/sources/azure/test_certs.py::TestConvertX509ToOpenssh::test_conversion_integration SKIPPED [ 48%] tests/unittests/sources/azure/test_errors.py::test_reportable_errors[supporting_data0-foo] PASSED [ 48%] tests/unittests/sources/azure/test_errors.py::test_reportable_errors[supporting_data0-foo bar] PASSED [ 48%] tests/unittests/sources/azure/test_errors.py::test_reportable_errors[supporting_data0-foo'bar] PASSED [ 48%] tests/unittests/sources/azure/test_errors.py::test_reportable_errors[supporting_data1-foo] PASSED [ 49%] tests/unittests/sources/azure/test_errors.py::test_reportable_errors[supporting_data1-foo bar] PASSED [ 49%] tests/unittests/sources/azure/test_errors.py::test_reportable_errors[supporting_data1-foo'bar] PASSED [ 49%] tests/unittests/sources/azure/test_errors.py::test_reportable_errors[supporting_data2-foo] PASSED [ 49%] tests/unittests/sources/azure/test_errors.py::test_reportable_errors[supporting_data2-foo bar] PASSED [ 49%] tests/unittests/sources/azure/test_errors.py::test_reportable_errors[supporting_data2-foo'bar] PASSED [ 49%] tests/unittests/sources/azure/test_errors.py::test_reportable_errors[supporting_data3-foo] PASSED [ 49%] tests/unittests/sources/azure/test_errors.py::test_reportable_errors[supporting_data3-foo bar] PASSED [ 49%] tests/unittests/sources/azure/test_errors.py::test_reportable_errors[supporting_data3-foo'bar] PASSED [ 49%] tests/unittests/sources/azure/test_errors.py::test_reportable_errors[supporting_data4-foo] PASSED [ 49%] tests/unittests/sources/azure/test_errors.py::test_reportable_errors[supporting_data4-foo bar] PASSED [ 49%] tests/unittests/sources/azure/test_errors.py::test_reportable_errors[supporting_data4-foo'bar] PASSED [ 49%] tests/unittests/sources/azure/test_errors.py::test_reportable_errors[supporting_data5-foo] PASSED [ 49%] tests/unittests/sources/azure/test_errors.py::test_reportable_errors[supporting_data5-foo bar] PASSED [ 49%] tests/unittests/sources/azure/test_errors.py::test_reportable_errors[supporting_data5-foo'bar] PASSED [ 49%] tests/unittests/sources/azure/test_errors.py::test_reportable_errors[supporting_data6-foo] PASSED [ 49%] tests/unittests/sources/azure/test_errors.py::test_reportable_errors[supporting_data6-foo bar] PASSED [ 49%] tests/unittests/sources/azure/test_errors.py::test_reportable_errors[supporting_data6-foo'bar] PASSED [ 49%] tests/unittests/sources/azure/test_errors.py::test_reportable_errors[supporting_data7-foo] PASSED [ 49%] tests/unittests/sources/azure/test_errors.py::test_reportable_errors[supporting_data7-foo bar] PASSED [ 49%] tests/unittests/sources/azure/test_errors.py::test_reportable_errors[supporting_data7-foo'bar] PASSED [ 49%] tests/unittests/sources/azure/test_errors.py::test_reportable_errors[supporting_data8-foo] PASSED [ 49%] tests/unittests/sources/azure/test_errors.py::test_reportable_errors[supporting_data8-foo bar] PASSED [ 49%] tests/unittests/sources/azure/test_errors.py::test_reportable_errors[supporting_data8-foo'bar] PASSED [ 49%] tests/unittests/sources/azure/test_errors.py::test_reportable_errors[supporting_data9-foo] PASSED [ 49%] tests/unittests/sources/azure/test_errors.py::test_reportable_errors[supporting_data9-foo bar] PASSED [ 49%] tests/unittests/sources/azure/test_errors.py::test_reportable_errors[supporting_data9-foo'bar] PASSED [ 49%] tests/unittests/sources/azure/test_errors.py::test_reportable_errors[supporting_data10-foo] PASSED [ 49%] tests/unittests/sources/azure/test_errors.py::test_reportable_errors[supporting_data10-foo bar] PASSED [ 49%] tests/unittests/sources/azure/test_errors.py::test_reportable_errors[supporting_data10-foo'bar] PASSED [ 49%] tests/unittests/sources/azure/test_errors.py::test_reportable_errors[supporting_data11-foo] PASSED [ 49%] tests/unittests/sources/azure/test_errors.py::test_reportable_errors[supporting_data11-foo bar] PASSED [ 49%] tests/unittests/sources/azure/test_errors.py::test_reportable_errors[supporting_data11-foo'bar] PASSED [ 49%] tests/unittests/sources/azure/test_errors.py::test_reportable_errors[supporting_data12-foo] PASSED [ 49%] tests/unittests/sources/azure/test_errors.py::test_reportable_errors[supporting_data12-foo bar] PASSED [ 49%] tests/unittests/sources/azure/test_errors.py::test_reportable_errors[supporting_data12-foo'bar] PASSED [ 49%] tests/unittests/sources/azure/test_errors.py::test_reportable_errors[supporting_data13-foo] PASSED [ 49%] tests/unittests/sources/azure/test_errors.py::test_reportable_errors[supporting_data13-foo bar] PASSED [ 49%] tests/unittests/sources/azure/test_errors.py::test_reportable_errors[supporting_data13-foo'bar] PASSED [ 49%] tests/unittests/sources/azure/test_errors.py::test_reportable_errors[supporting_data14-foo] PASSED [ 49%] tests/unittests/sources/azure/test_errors.py::test_reportable_errors[supporting_data14-foo bar] PASSED [ 49%] tests/unittests/sources/azure/test_errors.py::test_reportable_errors[supporting_data14-foo'bar] PASSED [ 49%] tests/unittests/sources/azure/test_errors.py::test_reportable_errors[supporting_data15-foo] PASSED [ 49%] tests/unittests/sources/azure/test_errors.py::test_reportable_errors[supporting_data15-foo bar] PASSED [ 49%] tests/unittests/sources/azure/test_errors.py::test_reportable_errors[supporting_data15-foo'bar] PASSED [ 49%] tests/unittests/sources/azure/test_errors.py::test_dhcp_lease PASSED [ 49%] tests/unittests/sources/azure/test_errors.py::test_dhcp_interface_not_found PASSED [ 49%] tests/unittests/sources/azure/test_errors.py::test_imds_url_error[exception0-connection error querying IMDS] PASSED [ 49%] tests/unittests/sources/azure/test_errors.py::test_imds_url_error[exception1-connection timeout querying IMDS] PASSED [ 49%] tests/unittests/sources/azure/test_errors.py::test_imds_url_error[exception2-read timeout querying IMDS] PASSED [ 49%] tests/unittests/sources/azure/test_errors.py::test_imds_url_error[exception3-http error 404 querying IMDS] PASSED [ 49%] tests/unittests/sources/azure/test_errors.py::test_imds_url_error[exception4-http error 500 querying IMDS] PASSED [ 49%] tests/unittests/sources/azure/test_errors.py::test_imds_url_error[exception5-unexpected error querying IMDS] PASSED [ 49%] tests/unittests/sources/azure/test_errors.py::test_imds_metadata_parsing_exception PASSED [ 49%] tests/unittests/sources/azure/test_errors.py::test_import_error PASSED [ 49%] tests/unittests/sources/azure/test_errors.py::test_ovf_parsing_exception PASSED [ 49%] tests/unittests/sources/azure/test_errors.py::test_ovf_invalid_metadata_exception PASSED [ 49%] tests/unittests/sources/azure/test_errors.py::test_unhandled_exception PASSED [ 50%] tests/unittests/sources/azure/test_errors.py::test_imds_invalid_metadata[running] PASSED [ 50%] tests/unittests/sources/azure/test_errors.py::test_imds_invalid_metadata[string-none] PASSED [ 50%] tests/unittests/sources/azure/test_errors.py::test_imds_invalid_metadata[none-value] PASSED [ 50%] tests/unittests/sources/azure/test_errors.py::test_vm_identification_exception PASSED [ 50%] tests/unittests/sources/azure/test_identity.py::TestByteSwapSystemUuid::test_values[527c2691-029f-fe4c-b1f4-a4da7ebac2cf-91267c52-9f02-4cfe-b1f4-a4da7ebac2cf] PASSED [ 50%] tests/unittests/sources/azure/test_identity.py::TestByteSwapSystemUuid::test_values[527C2691-029F-FE4C-B1F4-A4DA7EBAC2CD-91267c52-9f02-4cfe-b1f4-a4da7ebac2cd] PASSED [ 50%] tests/unittests/sources/azure/test_identity.py::TestByteSwapSystemUuid::test_errors[] PASSED [ 50%] tests/unittests/sources/azure/test_identity.py::TestByteSwapSystemUuid::test_errors[g] PASSED [ 50%] tests/unittests/sources/azure/test_identity.py::TestByteSwapSystemUuid::test_errors[91267c52-9f02-4cfe-b1f4-a4da7ebac2c] PASSED [ 50%] tests/unittests/sources/azure/test_identity.py::TestByteSwapSystemUuid::test_errors[91267c52-9f02-4cfe-b1f4-a4da7ebac2ccc] PASSED [ 50%] tests/unittests/sources/azure/test_identity.py::TestByteSwapSystemUuid::test_errors[-----] PASSED [ 50%] tests/unittests/sources/azure/test_identity.py::TestConvertSystemUuidToVmId::test_gen1 PASSED [ 50%] tests/unittests/sources/azure/test_identity.py::TestConvertSystemUuidToVmId::test_gen2 PASSED [ 50%] tests/unittests/sources/azure/test_identity.py::TestIsVmGen1::test_gen1 PASSED [ 50%] tests/unittests/sources/azure/test_identity.py::TestIsVmGen1::test_gen2_freebsd PASSED [ 50%] tests/unittests/sources/azure/test_identity.py::TestIsVmGen1::test_gen2_linux PASSED [ 50%] tests/unittests/sources/azure/test_identity.py::TestQuerySystemUuid::test_values[527c2691-029f-fe4c-b1f4-a4da7ebac2cf] PASSED [ 50%] tests/unittests/sources/azure/test_identity.py::TestQuerySystemUuid::test_values[527C2691-029F-FE4C-B1F4-A4DA7EBAC2CF] PASSED [ 50%] tests/unittests/sources/azure/test_identity.py::TestQuerySystemUuid::test_errors PASSED [ 50%] tests/unittests/sources/azure/test_identity.py::TestQueryVmId::test_gen1 PASSED [ 50%] tests/unittests/sources/azure/test_identity.py::TestQueryVmId::test_gen2 PASSED [ 50%] tests/unittests/sources/azure/test_identity.py::TestChassisAssetTag::test_true_azure_cloud PASSED [ 50%] tests/unittests/sources/azure/test_identity.py::TestChassisAssetTag::test_false_on_nonazure_chassis[None] PASSED [ 50%] tests/unittests/sources/azure/test_identity.py::TestChassisAssetTag::test_false_on_nonazure_chassis[] PASSED [ 50%] tests/unittests/sources/azure/test_identity.py::TestChassisAssetTag::test_false_on_nonazure_chassis[notazure] PASSED [ 50%] tests/unittests/sources/azure/test_imds.py::TestHeaders::test_headers_cb PASSED [ 50%] tests/unittests/sources/azure/test_imds.py::TestFetchMetadataWithApiFallback::test_basic[0.0] PASSED [ 50%] tests/unittests/sources/azure/test_imds.py::TestFetchMetadataWithApiFallback::test_basic[1.0] PASSED [ 50%] tests/unittests/sources/azure/test_imds.py::TestFetchMetadataWithApiFallback::test_basic[60.0] PASSED [ 50%] tests/unittests/sources/azure/test_imds.py::TestFetchMetadataWithApiFallback::test_basic_fallback[0.0] PASSED [ 50%] tests/unittests/sources/azure/test_imds.py::TestFetchMetadataWithApiFallback::test_basic_fallback[1.0] PASSED [ 50%] tests/unittests/sources/azure/test_imds.py::TestFetchMetadataWithApiFallback::test_basic_fallback[60.0] PASSED [ 50%] tests/unittests/sources/azure/test_imds.py::TestFetchMetadataWithApiFallback::test_will_retry_errors[1-2.0-404] PASSED [ 50%] tests/unittests/sources/azure/test_imds.py::TestFetchMetadataWithApiFallback::test_will_retry_errors[1-2.0-410] PASSED [ 50%] tests/unittests/sources/azure/test_imds.py::TestFetchMetadataWithApiFallback::test_will_retry_errors[1-2.0-429] PASSED [ 50%] tests/unittests/sources/azure/test_imds.py::TestFetchMetadataWithApiFallback::test_will_retry_errors[1-2.0-500] PASSED [ 50%] tests/unittests/sources/azure/test_imds.py::TestFetchMetadataWithApiFallback::test_will_retry_errors[1-2.0-error4] PASSED [ 50%] tests/unittests/sources/azure/test_imds.py::TestFetchMetadataWithApiFallback::test_will_retry_errors[1-2.0-error5] PASSED [ 50%] tests/unittests/sources/azure/test_imds.py::TestFetchMetadataWithApiFallback::test_will_retry_errors_on_fallback[3.0] PASSED [ 50%] tests/unittests/sources/azure/test_imds.py::TestFetchMetadataWithApiFallback::test_will_retry_errors_on_fallback[30.0] PASSED [ 50%] tests/unittests/sources/azure/test_imds.py::TestFetchMetadataWithApiFallback::test_retry_until_failure[None-1-0.0-404] PASSED [ 50%] tests/unittests/sources/azure/test_imds.py::TestFetchMetadataWithApiFallback::test_retry_until_failure[None-1-0.0-410] PASSED [ 50%] tests/unittests/sources/azure/test_imds.py::TestFetchMetadataWithApiFallback::test_retry_until_failure[None-1-0.0-429] PASSED [ 50%] tests/unittests/sources/azure/test_imds.py::TestFetchMetadataWithApiFallback::test_retry_until_failure[None-1-0.0-500] PASSED [ 50%] tests/unittests/sources/azure/test_imds.py::TestFetchMetadataWithApiFallback::test_retry_until_failure[None-1-0.0-error4] PASSED [ 50%] tests/unittests/sources/azure/test_imds.py::TestFetchMetadataWithApiFallback::test_retry_until_failure[None-1-0.0-error5] PASSED [ 50%] tests/unittests/sources/azure/test_imds.py::TestFetchMetadataWithApiFallback::test_retry_until_failure[None-2-1.0-404] PASSED [ 50%] tests/unittests/sources/azure/test_imds.py::TestFetchMetadataWithApiFallback::test_retry_until_failure[None-2-1.0-410] PASSED [ 50%] tests/unittests/sources/azure/test_imds.py::TestFetchMetadataWithApiFallback::test_retry_until_failure[None-2-1.0-429] PASSED [ 50%] tests/unittests/sources/azure/test_imds.py::TestFetchMetadataWithApiFallback::test_retry_until_failure[None-2-1.0-500] PASSED [ 50%] tests/unittests/sources/azure/test_imds.py::TestFetchMetadataWithApiFallback::test_retry_until_failure[None-2-1.0-error4] PASSED [ 50%] tests/unittests/sources/azure/test_imds.py::TestFetchMetadataWithApiFallback::test_retry_until_failure[None-2-1.0-error5] PASSED [ 50%] tests/unittests/sources/azure/test_imds.py::TestFetchMetadataWithApiFallback::test_retry_until_failure[None-301-300.0-404] PASSED [ 50%] tests/unittests/sources/azure/test_imds.py::TestFetchMetadataWithApiFallback::test_retry_until_failure[None-301-300.0-410] PASSED [ 50%] tests/unittests/sources/azure/test_imds.py::TestFetchMetadataWithApiFallback::test_retry_until_failure[None-301-300.0-429] PASSED [ 50%] tests/unittests/sources/azure/test_imds.py::TestFetchMetadataWithApiFallback::test_retry_until_failure[None-301-300.0-500] PASSED [ 50%] tests/unittests/sources/azure/test_imds.py::TestFetchMetadataWithApiFallback::test_retry_until_failure[None-301-300.0-error4] PASSED [ 51%] tests/unittests/sources/azure/test_imds.py::TestFetchMetadataWithApiFallback::test_retry_until_failure[None-301-300.0-error5] PASSED [ 51%] tests/unittests/sources/azure/test_imds.py::TestFetchMetadataWithApiFallback::test_retry_until_failure[1-1-0.0-404] PASSED [ 51%] tests/unittests/sources/azure/test_imds.py::TestFetchMetadataWithApiFallback::test_retry_until_failure[1-1-0.0-410] PASSED [ 51%] tests/unittests/sources/azure/test_imds.py::TestFetchMetadataWithApiFallback::test_retry_until_failure[1-1-0.0-429] PASSED [ 51%] tests/unittests/sources/azure/test_imds.py::TestFetchMetadataWithApiFallback::test_retry_until_failure[1-1-0.0-500] PASSED [ 51%] tests/unittests/sources/azure/test_imds.py::TestFetchMetadataWithApiFallback::test_retry_until_failure[1-1-0.0-error4] PASSED [ 51%] tests/unittests/sources/azure/test_imds.py::TestFetchMetadataWithApiFallback::test_retry_until_failure[1-1-0.0-error5] PASSED [ 51%] tests/unittests/sources/azure/test_imds.py::TestFetchMetadataWithApiFallback::test_retry_until_failure[1-2-1.0-404] PASSED [ 51%] tests/unittests/sources/azure/test_imds.py::TestFetchMetadataWithApiFallback::test_retry_until_failure[1-2-1.0-410] PASSED [ 51%] tests/unittests/sources/azure/test_imds.py::TestFetchMetadataWithApiFallback::test_retry_until_failure[1-2-1.0-429] PASSED [ 51%] tests/unittests/sources/azure/test_imds.py::TestFetchMetadataWithApiFallback::test_retry_until_failure[1-2-1.0-500] PASSED [ 51%] tests/unittests/sources/azure/test_imds.py::TestFetchMetadataWithApiFallback::test_retry_until_failure[1-2-1.0-error4] PASSED [ 51%] tests/unittests/sources/azure/test_imds.py::TestFetchMetadataWithApiFallback::test_retry_until_failure[1-2-1.0-error5] PASSED [ 51%] tests/unittests/sources/azure/test_imds.py::TestFetchMetadataWithApiFallback::test_retry_until_failure[1-301-300.0-404] PASSED [ 51%] tests/unittests/sources/azure/test_imds.py::TestFetchMetadataWithApiFallback::test_retry_until_failure[1-301-300.0-410] PASSED [ 51%] tests/unittests/sources/azure/test_imds.py::TestFetchMetadataWithApiFallback::test_retry_until_failure[1-301-300.0-429] PASSED [ 51%] tests/unittests/sources/azure/test_imds.py::TestFetchMetadataWithApiFallback::test_retry_until_failure[1-301-300.0-500] PASSED [ 51%] tests/unittests/sources/azure/test_imds.py::TestFetchMetadataWithApiFallback::test_retry_until_failure[1-301-300.0-error4] PASSED [ 51%] tests/unittests/sources/azure/test_imds.py::TestFetchMetadataWithApiFallback::test_retry_until_failure[1-301-300.0-error5] PASSED [ 51%] tests/unittests/sources/azure/test_imds.py::TestFetchMetadataWithApiFallback::test_retry_until_failure[11-1-0.0-404] PASSED [ 51%] tests/unittests/sources/azure/test_imds.py::TestFetchMetadataWithApiFallback::test_retry_until_failure[11-1-0.0-410] PASSED [ 51%] tests/unittests/sources/azure/test_imds.py::TestFetchMetadataWithApiFallback::test_retry_until_failure[11-1-0.0-429] PASSED [ 51%] tests/unittests/sources/azure/test_imds.py::TestFetchMetadataWithApiFallback::test_retry_until_failure[11-1-0.0-500] PASSED [ 51%] tests/unittests/sources/azure/test_imds.py::TestFetchMetadataWithApiFallback::test_retry_until_failure[11-1-0.0-error4] PASSED [ 51%] tests/unittests/sources/azure/test_imds.py::TestFetchMetadataWithApiFallback::test_retry_until_failure[11-1-0.0-error5] PASSED [ 51%] tests/unittests/sources/azure/test_imds.py::TestFetchMetadataWithApiFallback::test_retry_until_failure[11-2-1.0-404] PASSED [ 51%] tests/unittests/sources/azure/test_imds.py::TestFetchMetadataWithApiFallback::test_retry_until_failure[11-2-1.0-410] PASSED [ 51%] tests/unittests/sources/azure/test_imds.py::TestFetchMetadataWithApiFallback::test_retry_until_failure[11-2-1.0-429] PASSED [ 51%] tests/unittests/sources/azure/test_imds.py::TestFetchMetadataWithApiFallback::test_retry_until_failure[11-2-1.0-500] PASSED [ 51%] tests/unittests/sources/azure/test_imds.py::TestFetchMetadataWithApiFallback::test_retry_until_failure[11-2-1.0-error4] PASSED [ 51%] tests/unittests/sources/azure/test_imds.py::TestFetchMetadataWithApiFallback::test_retry_until_failure[11-2-1.0-error5] PASSED [ 51%] tests/unittests/sources/azure/test_imds.py::TestFetchMetadataWithApiFallback::test_retry_until_failure[11-301-300.0-404] PASSED [ 51%] tests/unittests/sources/azure/test_imds.py::TestFetchMetadataWithApiFallback::test_retry_until_failure[11-301-300.0-410] PASSED [ 51%] tests/unittests/sources/azure/test_imds.py::TestFetchMetadataWithApiFallback::test_retry_until_failure[11-301-300.0-429] PASSED [ 51%] tests/unittests/sources/azure/test_imds.py::TestFetchMetadataWithApiFallback::test_retry_until_failure[11-301-300.0-500] PASSED [ 51%] tests/unittests/sources/azure/test_imds.py::TestFetchMetadataWithApiFallback::test_retry_until_failure[11-301-300.0-error4] PASSED [ 51%] tests/unittests/sources/azure/test_imds.py::TestFetchMetadataWithApiFallback::test_retry_until_failure[11-301-300.0-error5] PASSED [ 51%] tests/unittests/sources/azure/test_imds.py::TestFetchMetadataWithApiFallback::test_will_not_retry_errors[0.0-403] PASSED [ 51%] tests/unittests/sources/azure/test_imds.py::TestFetchMetadataWithApiFallback::test_will_not_retry_errors[0.0-501] PASSED [ 51%] tests/unittests/sources/azure/test_imds.py::TestFetchMetadataWithApiFallback::test_will_not_retry_errors[1.0-403] PASSED [ 51%] tests/unittests/sources/azure/test_imds.py::TestFetchMetadataWithApiFallback::test_will_not_retry_errors[1.0-501] PASSED [ 51%] tests/unittests/sources/azure/test_imds.py::TestFetchMetadataWithApiFallback::test_will_not_retry_errors[60.0-403] PASSED [ 51%] tests/unittests/sources/azure/test_imds.py::TestFetchMetadataWithApiFallback::test_will_not_retry_errors[60.0-501] PASSED [ 51%] tests/unittests/sources/azure/test_imds.py::TestFetchMetadataWithApiFallback::test_non_json_repsonse[0.0-] PASSED [ 51%] tests/unittests/sources/azure/test_imds.py::TestFetchMetadataWithApiFallback::test_non_json_repsonse[0.0-invalid] PASSED [ 51%] tests/unittests/sources/azure/test_imds.py::TestFetchMetadataWithApiFallback::test_non_json_repsonse[0.0-] PASSED [ 51%] tests/unittests/sources/azure/test_imds.py::TestFetchMetadataWithApiFallback::test_non_json_repsonse[1.0-] PASSED [ 51%] tests/unittests/sources/azure/test_imds.py::TestFetchMetadataWithApiFallback::test_non_json_repsonse[1.0-invalid] PASSED [ 51%] tests/unittests/sources/azure/test_imds.py::TestFetchMetadataWithApiFallback::test_non_json_repsonse[1.0-] PASSED [ 51%] tests/unittests/sources/azure/test_imds.py::TestFetchMetadataWithApiFallback::test_non_json_repsonse[60.0-] PASSED [ 51%] tests/unittests/sources/azure/test_imds.py::TestFetchMetadataWithApiFallback::test_non_json_repsonse[60.0-invalid] PASSED [ 51%] tests/unittests/sources/azure/test_imds.py::TestFetchMetadataWithApiFallback::test_non_json_repsonse[60.0-] PASSED [ 51%] tests/unittests/sources/azure/test_imds.py::TestFetchMetadataWithApiFallback::test_logs_all_errors PASSED [ 51%] tests/unittests/sources/azure/test_imds.py::TestFetchReprovisionData::test_basic PASSED [ 51%] tests/unittests/sources/azure/test_imds.py::TestFetchReprovisionData::test_will_retry_errors[1-error0] PASSED [ 51%] tests/unittests/sources/azure/test_imds.py::TestFetchReprovisionData::test_will_retry_errors[1-error1] PASSED [ 51%] tests/unittests/sources/azure/test_imds.py::TestFetchReprovisionData::test_will_retry_errors[1-error2] PASSED [ 51%] tests/unittests/sources/azure/test_imds.py::TestFetchReprovisionData::test_will_retry_errors[1-error3] PASSED [ 52%] tests/unittests/sources/azure/test_imds.py::TestFetchReprovisionData::test_will_retry_errors[5-error0] PASSED [ 52%] tests/unittests/sources/azure/test_imds.py::TestFetchReprovisionData::test_will_retry_errors[5-error1] PASSED [ 52%] tests/unittests/sources/azure/test_imds.py::TestFetchReprovisionData::test_will_retry_errors[5-error2] PASSED [ 52%] tests/unittests/sources/azure/test_imds.py::TestFetchReprovisionData::test_will_retry_errors[5-error3] PASSED [ 52%] tests/unittests/sources/azure/test_imds.py::TestFetchReprovisionData::test_will_retry_errors[100-error0] PASSED [ 52%] tests/unittests/sources/azure/test_imds.py::TestFetchReprovisionData::test_will_retry_errors[100-error1] PASSED [ 52%] tests/unittests/sources/azure/test_imds.py::TestFetchReprovisionData::test_will_retry_errors[100-error2] PASSED [ 52%] tests/unittests/sources/azure/test_imds.py::TestFetchReprovisionData::test_will_retry_errors[100-error3] PASSED [ 52%] tests/unittests/sources/azure/test_imds.py::TestFetchReprovisionData::test_will_retry_errors[1000-error0] PASSED [ 52%] tests/unittests/sources/azure/test_imds.py::TestFetchReprovisionData::test_will_retry_errors[1000-error1] PASSED [ 52%] tests/unittests/sources/azure/test_imds.py::TestFetchReprovisionData::test_will_retry_errors[1000-error2] PASSED [ 52%] tests/unittests/sources/azure/test_imds.py::TestFetchReprovisionData::test_will_retry_errors[1000-error3] PASSED [ 52%] tests/unittests/sources/azure/test_imds.py::TestFetchReprovisionData::test_retry_until_failure[terminal_error0-1-error0] PASSED [ 52%] tests/unittests/sources/azure/test_imds.py::TestFetchReprovisionData::test_retry_until_failure[terminal_error0-1-error1] PASSED [ 52%] tests/unittests/sources/azure/test_imds.py::TestFetchReprovisionData::test_retry_until_failure[terminal_error0-1-error2] PASSED [ 52%] tests/unittests/sources/azure/test_imds.py::TestFetchReprovisionData::test_retry_until_failure[terminal_error0-1-error3] PASSED [ 52%] tests/unittests/sources/azure/test_imds.py::TestFetchReprovisionData::test_retry_until_failure[terminal_error0-5-error0] PASSED [ 52%] tests/unittests/sources/azure/test_imds.py::TestFetchReprovisionData::test_retry_until_failure[terminal_error0-5-error1] PASSED [ 52%] tests/unittests/sources/azure/test_imds.py::TestFetchReprovisionData::test_retry_until_failure[terminal_error0-5-error2] PASSED [ 52%] tests/unittests/sources/azure/test_imds.py::TestFetchReprovisionData::test_retry_until_failure[terminal_error0-5-error3] PASSED [ 52%] tests/unittests/sources/azure/test_imds.py::TestFetchReprovisionData::test_retry_until_failure[terminal_error0-100-error0] PASSED [ 52%] tests/unittests/sources/azure/test_imds.py::TestFetchReprovisionData::test_retry_until_failure[terminal_error0-100-error1] PASSED [ 52%] tests/unittests/sources/azure/test_imds.py::TestFetchReprovisionData::test_retry_until_failure[terminal_error0-100-error2] PASSED [ 52%] tests/unittests/sources/azure/test_imds.py::TestFetchReprovisionData::test_retry_until_failure[terminal_error0-100-error3] PASSED [ 52%] tests/unittests/sources/azure/test_imds.py::TestFetchReprovisionData::test_retry_until_failure[terminal_error0-1000-error0] PASSED [ 52%] tests/unittests/sources/azure/test_imds.py::TestFetchReprovisionData::test_retry_until_failure[terminal_error0-1000-error1] PASSED [ 52%] tests/unittests/sources/azure/test_imds.py::TestFetchReprovisionData::test_retry_until_failure[terminal_error0-1000-error2] PASSED [ 52%] tests/unittests/sources/azure/test_imds.py::TestFetchReprovisionData::test_retry_until_failure[terminal_error0-1000-error3] PASSED [ 52%] tests/unittests/sources/azure/test_imds.py::TestFetchReprovisionData::test_will_not_retry_errors[error0] PASSED [ 52%] tests/unittests/sources/azure/test_imds.py::TestFetchReprovisionData::test_will_not_retry_errors[error1] PASSED [ 52%] tests/unittests/sources/azure/test_imds.py::TestFetchReprovisionData::test_logs_unique_errors PASSED [ 52%] tests/unittests/sources/azure/test_kvp.py::TestReportFailureToHost::test_report_via_kvp PASSED [ 52%] tests/unittests/sources/azure/test_kvp.py::TestReportFailureToHost::test_report_skipped_without_telemetry PASSED [ 52%] tests/unittests/sources/azure/test_kvp.py::TestReportSuccessToHost::test_report_success_to_host PASSED [ 52%] tests/unittests/sources/azure/test_kvp.py::TestReportSuccessToHost::test_report_skipped_without_telemetry PASSED [ 52%] tests/unittests/sources/azure/test_kvp.py::TestGetKvpHandler::test_vm_id_set_by_get_kvp_handler PASSED [ 52%] tests/unittests/sources/azure/test_kvp.py::TestGetKvpHandler::test_handles_vm_id_lookup_failure PASSED [ 52%] tests/unittests/sources/helpers/test_akamai.py::TestAkamaiHelper::test_get_dmi_config[-expected_result0] PASSED [ 52%] tests/unittests/sources/helpers/test_akamai.py::TestAkamaiHelper::test_get_dmi_config[als=0;ais=0-expected_result1] PASSED [ 52%] tests/unittests/sources/helpers/test_akamai.py::TestAkamaiHelper::test_get_dmi_config[v4=0;v6=0;dhcp=0-expected_result2] PASSED [ 52%] tests/unittests/sources/helpers/test_akamai.py::TestAkamaiHelper::test_get_dmi_config[pmp=ab:cd:-expected_result3] PASSED [ 52%] tests/unittests/sources/helpers/test_akamai.py::TestAkamaiHelper::test_get_dmi_config[pmp=ab:cd:,12:34:-expected_result4] PASSED [ 52%] tests/unittests/sources/helpers/test_akamai.py::TestAkamaiHelper::test_get_dmi_config[unrecognized-expected_result5] PASSED [ 52%] tests/unittests/sources/helpers/test_akamai.py::TestAkamaiHelper::test_get_dmi_config[,;-expected_result6] PASSED [ 52%] tests/unittests/sources/helpers/test_akamai.py::TestAkamaiHelper::test_is_on_akamai[Akamai-True] PASSED [ 52%] tests/unittests/sources/helpers/test_akamai.py::TestAkamaiHelper::test_is_on_akamai[Linode-True] PASSED [ 52%] tests/unittests/sources/helpers/test_akamai.py::TestAkamaiHelper::test_is_on_akamai[GCE-False] PASSED [ 52%] tests/unittests/sources/helpers/test_akamai.py::TestAkamaiHelper::test_is_on_akamai[EC2-False] PASSED [ 52%] tests/unittests/sources/helpers/test_akamai.py::TestAkamaiHelper::test_is_on_akamai[-False] PASSED [ 52%] tests/unittests/sources/helpers/test_ec2.py::TestEc2Util::test_userdata_fetch PASSED [ 52%] tests/unittests/sources/helpers/test_ec2.py::TestEc2Util::test_userdata_fetch_fail_not_found PASSED [ 52%] tests/unittests/sources/helpers/test_ec2.py::TestEc2Util::test_userdata_fetch_fail_server_dead PASSED [ 52%] tests/unittests/sources/helpers/test_ec2.py::TestEc2Util::test_userdata_fetch_fail_server_not_found PASSED [ 52%] tests/unittests/sources/helpers/test_ec2.py::TestEc2Util::test_metadata_fetch_no_keys PASSED [ 52%] tests/unittests/sources/helpers/test_ec2.py::TestEc2Util::test_metadata_fetch_key PASSED [ 52%] tests/unittests/sources/helpers/test_ec2.py::TestEc2Util::test_metadata_fetch_with_2_keys PASSED [ 52%] tests/unittests/sources/helpers/test_ec2.py::TestEc2Util::test_metadata_fetch_bdm PASSED [ 53%] tests/unittests/sources/helpers/test_ec2.py::TestEc2Util::test_metadata_no_security_credentials PASSED [ 53%] tests/unittests/sources/helpers/test_ec2.py::TestEc2Util::test_metadata_children_with_invalid_character PASSED [ 53%] tests/unittests/sources/helpers/test_netlink.py::TestCreateBoundNetlinkSocket::test_socket_error_on_create PASSED [ 53%] tests/unittests/sources/helpers/test_netlink.py::TestReadNetlinkSocket::test_read_netlink_socket PASSED [ 53%] tests/unittests/sources/helpers/test_netlink.py::TestReadNetlinkSocket::test_netlink_read_timeout PASSED [ 53%] tests/unittests/sources/helpers/test_netlink.py::TestReadNetlinkSocket::test_read_invalid_socket PASSED [ 53%] tests/unittests/sources/helpers/test_netlink.py::TestParseNetlinkMessage::test_read_rta_oper_state PASSED [ 53%] tests/unittests/sources/helpers/test_netlink.py::TestParseNetlinkMessage::test_read_none_data PASSED [ 53%] tests/unittests/sources/helpers/test_netlink.py::TestParseNetlinkMessage::test_read_invalid_rta_operstate_none PASSED [ 53%] tests/unittests/sources/helpers/test_netlink.py::TestParseNetlinkMessage::test_read_invalid_rta_ifname_none PASSED [ 53%] tests/unittests/sources/helpers/test_netlink.py::TestParseNetlinkMessage::test_read_invalid_data_len PASSED [ 53%] tests/unittests/sources/helpers/test_netlink.py::TestParseNetlinkMessage::test_unpack_rta_attr_none_data PASSED [ 53%] tests/unittests/sources/helpers/test_netlink.py::TestParseNetlinkMessage::test_unpack_rta_attr_invalid_offset PASSED [ 53%] tests/unittests/sources/helpers/test_netlink.py::TestNicAttachDetach::test_nic_attached_oper_down PASSED [ 53%] tests/unittests/sources/helpers/test_netlink.py::TestNicAttachDetach::test_nic_attached_oper_up PASSED [ 53%] tests/unittests/sources/helpers/test_netlink.py::TestNicAttachDetach::test_nic_attach_ignore_existing PASSED [ 53%] tests/unittests/sources/helpers/test_netlink.py::TestNicAttachDetach::test_nic_attach_read_first PASSED [ 53%] tests/unittests/sources/helpers/test_netlink.py::TestNicAttachDetach::test_nic_detached PASSED [ 53%] tests/unittests/sources/helpers/test_netlink.py::TestWaitForMediaDisconnectConnect::test_media_down_up_scenario PASSED [ 53%] tests/unittests/sources/helpers/test_netlink.py::TestWaitForMediaDisconnectConnect::test_wait_for_media_switch_diff_interface PASSED [ 53%] tests/unittests/sources/helpers/test_netlink.py::TestWaitForMediaDisconnectConnect::test_invalid_msgtype_getlink PASSED [ 53%] tests/unittests/sources/helpers/test_netlink.py::TestWaitForMediaDisconnectConnect::test_invalid_msgtype_setlink PASSED [ 53%] tests/unittests/sources/helpers/test_netlink.py::TestWaitForMediaDisconnectConnect::test_netlink_invalid_switch_scenario PASSED [ 53%] tests/unittests/sources/helpers/test_netlink.py::TestWaitForMediaDisconnectConnect::test_netlink_valid_inbetween_transitions PASSED [ 53%] tests/unittests/sources/helpers/test_netlink.py::TestWaitForMediaDisconnectConnect::test_netlink_invalid_operstate PASSED [ 53%] tests/unittests/sources/helpers/test_netlink.py::TestWaitForMediaDisconnectConnect::test_wait_invalid_socket PASSED [ 53%] tests/unittests/sources/helpers/test_netlink.py::TestWaitForMediaDisconnectConnect::test_wait_invalid_ifname PASSED [ 53%] tests/unittests/sources/helpers/test_netlink.py::TestWaitForMediaDisconnectConnect::test_wait_invalid_rta_attr PASSED [ 53%] tests/unittests/sources/helpers/test_netlink.py::TestWaitForMediaDisconnectConnect::test_read_multiple_netlink_msgs PASSED [ 53%] tests/unittests/sources/helpers/test_netlink.py::TestWaitForMediaDisconnectConnect::test_read_partial_netlink_msgs PASSED [ 53%] tests/unittests/sources/helpers/test_openstack.py::TestConvertNetJson::test_phy_types PASSED [ 53%] tests/unittests/sources/helpers/test_openstack.py::TestConvertNetJson::test_subnet_dns PASSED [ 53%] tests/unittests/sources/helpers/test_openstack.py::TestConvertNetJson::test_bond_mac PASSED [ 53%] tests/unittests/sources/helpers/test_openstack.py::TestConvertNetJson::test_bond_name PASSED [ 53%] tests/unittests/sources/helpers/test_openstack.py::TestConvertNetJson::test_bond_ipv6_accept_ra_false PASSED [ 53%] tests/unittests/sources/helpers/test_openstack.py::TestConvertNetJson::test_dns_servers PASSED [ 53%] tests/unittests/sources/test___init__.py::test_ds_detect_kernel_command_line[aosiejfoij ci.ds=OpenStack -openstack] PASSED [ 53%] tests/unittests/sources/test___init__.py::test_ds_detect_kernel_command_line[ci.ds=OpenStack-openstack] PASSED [ 53%] tests/unittests/sources/test___init__.py::test_ds_detect_kernel_command_line[aosiejfoij ci.ds=OpenStack blah-openstack] PASSED [ 53%] tests/unittests/sources/test___init__.py::test_ds_detect_kernel_command_line[aosiejfoij ci.ds=OpenStack faljskebflk-openstack] PASSED [ 53%] tests/unittests/sources/test___init__.py::test_ds_detect_kernel_command_line[ci.ds=OpenStack;-openstack] PASSED [ 53%] tests/unittests/sources/test___init__.py::test_ds_detect_kernel_command_line[ci.ds=openstack;-openstack] PASSED [ 53%] tests/unittests/sources/test___init__.py::test_ds_detect_kernel_command_line[notci.ds=somecloud ci.ds=openstack-openstack] PASSED [ 53%] tests/unittests/sources/test___init__.py::test_ds_detect_kernel_command_line[aosiejfoij ci.datasource=OpenStack -openstack] PASSED [ 53%] tests/unittests/sources/test___init__.py::test_ds_detect_kernel_command_line[ci.datasource=OpenStack-openstack] PASSED [ 53%] tests/unittests/sources/test___init__.py::test_ds_detect_kernel_command_line[aosiejfoij ci.datasource=OpenStack blah-openstack] PASSED [ 53%] tests/unittests/sources/test___init__.py::test_ds_detect_kernel_command_line[aosiejfoij ci.datasource=OpenStack faljskebflk-openstack] PASSED [ 53%] tests/unittests/sources/test___init__.py::test_ds_detect_kernel_command_line[ci.datasource=OpenStack;-openstack] PASSED [ 53%] tests/unittests/sources/test___init__.py::test_ds_detect_kernel_command_line[ci.datasource=openstack;-openstack] PASSED [ 53%] tests/unittests/sources/test___init__.py::test_ds_detect_kernel_command_line[notci.datasource=0 ci.datasource=nocloud-nocloud] PASSED [ 53%] tests/unittests/sources/test___init__.py::test_ds_detect_kernel_command_line[ci.datasource=OpenStack\n-openstack] PASSED [ 53%] tests/unittests/sources/test___init__.py::test_ds_detect_kernel_command_line[ci.datasource=OpenStack\t-openstack] PASSED [ 53%] tests/unittests/sources/test___init__.py::test_ds_detect_kernel_command_line[ci.datasource=OpenStack\r-openstack] PASSED [ 53%] tests/unittests/sources/test___init__.py::test_ds_detect_kernel_command_line[ci.datasource=OpenStack\x0b-openstack] PASSED [ 53%] tests/unittests/sources/test___init__.py::test_ds_detect_kernel_command_line[ci.ds=OpenStack\n-openstack] PASSED [ 53%] tests/unittests/sources/test___init__.py::test_ds_detect_kernel_command_line[ci.ds=OpenStack\t-openstack] PASSED [ 53%] tests/unittests/sources/test___init__.py::test_ds_detect_kernel_command_line[ci.ds=OpenStack\r-openstack] PASSED [ 54%] tests/unittests/sources/test___init__.py::test_ds_detect_kernel_command_line[ci.ds=OpenStack\x0b-openstack] PASSED [ 54%] tests/unittests/sources/test___init__.py::test_ds_detect_kernel_command_line[ci.ds=nocloud-net\x0b-nocloud-net] PASSED [ 54%] tests/unittests/sources/test___init__.py::test_ds_detect_kernel_command_line[ci.datasource=nocloud\x0b-nocloud] PASSED [ 54%] tests/unittests/sources/test___init__.py::test_ds_detect_kernel_command_line[ds=nocloud-net-nocloud-net] PASSED [ 54%] tests/unittests/sources/test___init__.py::test_ds_detect_kernel_command_line[foo ds=nocloud-net bar-nocloud-net] PASSED [ 54%] tests/unittests/sources/test___init__.py::test_ds_detect_kernel_command_line[bonding.max_bonds=0-] PASSED [ 54%] tests/unittests/sources/test___init__.py::test_ds_detect_kernel_command_line[foo bonding.max_bonds=0 ds=nocloud-net bar-nocloud-net] PASSED [ 54%] tests/unittests/sources/test_akamai.py::TestDataSourceAkamai::test_build_url[token-False-ds_cfg0-http://169.254.169.254/v1/token] PASSED [ 54%] tests/unittests/sources/test_akamai.py::TestDataSourceAkamai::test_build_url[metadata-False-ds_cfg1-http://169.254.169.254/v1/instance] PASSED [ 54%] tests/unittests/sources/test_akamai.py::TestDataSourceAkamai::test_build_url[userdata-False-ds_cfg2-http://169.254.169.254/v1/user-data] PASSED [ 54%] tests/unittests/sources/test_akamai.py::TestDataSourceAkamai::test_build_url[metadata-True-ds_cfg3-http://[fd00:a9fe:a9fe::1]/v1/instance] PASSED [ 54%] tests/unittests/sources/test_akamai.py::TestDataSourceAkamai::test_build_url[token-True-ds_cfg4-http://[fd00:a9fe:a9fe::1]/v1/token] PASSED [ 54%] tests/unittests/sources/test_akamai.py::TestDataSourceAkamai::test_build_url[userdata-True-ds_cfg5-http://[fd00:a9fe:a9fe::1]/v1/user-data] PASSED [ 54%] tests/unittests/sources/test_akamai.py::TestDataSourceAkamai::test_build_url[token-False-ds_cfg6-http://[fd00:a9fe:a9fe::1]/v1/token] PASSED [ 54%] tests/unittests/sources/test_akamai.py::TestDataSourceAkamai::test_build_url[token-False-ds_cfg7-http://169.254.169.254/changed] PASSED [ 54%] tests/unittests/sources/test_akamai.py::TestDataSourceAkamai::test_build_url[token-False-ds_cfg8-http://12.34.56.78/v1/token] PASSED [ 54%] tests/unittests/sources/test_akamai.py::TestDataSourceAkamai::test_should_fetch_data[True-ds_cfg0-MetadataAvailabilityResult.AVAILABLE] PASSED [ 54%] tests/unittests/sources/test_akamai.py::TestDataSourceAkamai::test_should_fetch_data[False-ds_cfg1-MetadataAvailabilityResult.AVAILABLE] PASSED [ 54%] tests/unittests/sources/test_akamai.py::TestDataSourceAkamai::test_should_fetch_data[True-ds_cfg2-MetadataAvailabilityResult.AVAILABLE] PASSED [ 54%] tests/unittests/sources/test_akamai.py::TestDataSourceAkamai::test_should_fetch_data[True-ds_cfg3-MetadataAvailabilityResult.DEFER] PASSED [ 54%] tests/unittests/sources/test_akamai.py::TestDataSourceAkamai::test_should_fetch_data[False-ds_cfg4-MetadataAvailabilityResult.AVAILABLE] PASSED [ 54%] tests/unittests/sources/test_akamai.py::TestDataSourceAkamai::test_should_fetch_data[False-ds_cfg5-MetadataAvailabilityResult.AVAILABLE] PASSED [ 54%] tests/unittests/sources/test_akamai.py::TestDataSourceAkamai::test_should_fetch_data[True-ds_cfg6-MetadataAvailabilityResult.DEFER] PASSED [ 54%] tests/unittests/sources/test_akamai.py::TestDataSourceAkamai::test_should_fetch_data[False-ds_cfg7-MetadataAvailabilityResult.AVAILABLE] PASSED [ 54%] tests/unittests/sources/test_akamai.py::TestDataSourceAkamai::test_should_fetch_data[True-ds_cfg8-MetadataAvailabilityResult.AVAILABLE] PASSED [ 54%] tests/unittests/sources/test_akamai.py::TestDataSourceAkamai::test_should_fetch_data[False-ds_cfg9-MetadataAvailabilityResult.DEFER] PASSED [ 54%] tests/unittests/sources/test_akamai.py::TestDataSourceAkamai::test_should_fetch_data[True-ds_cfg10-MetadataAvailabilityResult.NOT_AVAILABLE] PASSED [ 54%] tests/unittests/sources/test_akamai.py::TestDataSourceAkamai::test_should_fetch_data[False-ds_cfg11-MetadataAvailabilityResult.NOT_AVAILABLE] PASSED [ 54%] tests/unittests/sources/test_akamai.py::TestDataSourceAkamai::test_should_fetch_data[True-ds_cfg12-MetadataAvailabilityResult.NOT_AVAILABLE] PASSED [ 54%] tests/unittests/sources/test_akamai.py::TestDataSourceAkamai::test_should_fetch_data[False-ds_cfg13-MetadataAvailabilityResult.NOT_AVAILABLE] PASSED [ 54%] tests/unittests/sources/test_akamai.py::TestDataSourceAkamai::test_get_network_context_managers[True-ds_cfg0-expected_manager_config0-eth0] PASSED [ 54%] tests/unittests/sources/test_akamai.py::TestDataSourceAkamai::test_get_network_context_managers[True-ds_cfg1-expected_manager_config1-eth0] PASSED [ 54%] tests/unittests/sources/test_akamai.py::TestDataSourceAkamai::test_get_network_context_managers[True-ds_cfg2-expected_manager_config2-eth0] PASSED [ 54%] tests/unittests/sources/test_akamai.py::TestDataSourceAkamai::test_get_network_context_managers[True-ds_cfg3-expected_manager_config3-eth0] PASSED [ 54%] tests/unittests/sources/test_akamai.py::TestDataSourceAkamai::test_get_network_context_managers[True-ds_cfg4-expected_manager_config4-eth1] PASSED [ 54%] tests/unittests/sources/test_akamai.py::TestDataSourceAkamai::test_get_network_context_managers[False-ds_cfg5-expected_manager_config5-eth0] PASSED [ 54%] tests/unittests/sources/test_akamai.py::TestDataSourceAkamai::test_get_network_context_managers[False-ds_cfg6-expected_manager_config6-eth0] PASSED [ 54%] tests/unittests/sources/test_akamai.py::TestDataSourceAkamai::test_get_network_context_managers[False-ds_cfg7-expected_manager_config7-eth0] PASSED [ 54%] tests/unittests/sources/test_akamai.py::TestDataSourceAkamai::test_get_network_context_managers[False-ds_cfg8-expected_manager_config8-eth0] PASSED [ 54%] tests/unittests/sources/test_akamai.py::TestDataSourceAkamai::test_get_network_context_managers[False-ds_cfg9-expected_manager_config9-eth1] PASSED [ 54%] tests/unittests/sources/test_akamai.py::TestDataSourceAkamai::test_fetch_metadata[False-dGVzdGluZyBlbmNvZGVkIHVzZXJkYXRh-testing encoded userdata-base64-encoded ASCII plaintext, IPv4 request] PASSED [ 54%] tests/unittests/sources/test_akamai.py::TestDataSourceAkamai::test_fetch_metadata[True-dGVzdGluZyBlbmNvZGVkIHVzZXJkYXRh-testing encoded userdata-base64-encoded ASCII plaintext, IPv6 request] PASSED [ 54%] tests/unittests/sources/test_akamai.py::TestDataSourceAkamai::test_fetch_metadata[False-H4sIAAAAAAACAytJLS7hAgDGNbk7BQAAAA==-\x1f\x8b\x08\x00\x00\x00\x00\x00\x02\x03+I-.\xe1\x02\x00\xc65\xb9;\x05\x00\x00\x00-base64-encoded gzipped data] PASSED [ 54%] tests/unittests/sources/test_akamai.py::TestDataSourceAkamai::test_fetch_metadata[False-dGVzdDHwn4yKdGVzdDI=-test1\xf0\x9f\x8c\x8atest2-base64-encoded Unicode text] PASSED [ 54%] tests/unittests/sources/test_aliyun.py::TestAliYunDatasource::test_with_mock_server PASSED [ 54%] tests/unittests/sources/test_aliyun.py::TestAliYunDatasource::test_with_mock_server_without_json_path PASSED [ 54%] tests/unittests/sources/test_aliyun.py::TestAliYunDatasource::test_aliyun_local_with_mock_server PASSED [ 54%] tests/unittests/sources/test_aliyun.py::TestAliYunDatasource::test_returns_false_when_not_on_aliyun PASSED [ 54%] tests/unittests/sources/test_aliyun.py::TestAliYunDatasource::test_parse_public_keys PASSED [ 54%] tests/unittests/sources/test_aliyun.py::TestAliYunDatasource::test_route_metric_calculated_with_multiple_network_cards PASSED [ 54%] tests/unittests/sources/test_aliyun.py::TestIsAliYun::test_true_on_aliyun_product PASSED [ 54%] tests/unittests/sources/test_aliyun.py::TestIsAliYun::test_false_on_empty_string PASSED [ 54%] tests/unittests/sources/test_aliyun.py::TestIsAliYun::test_false_on_unknown_string PASSED [ 54%] tests/unittests/sources/test_altcloud.py::TestGetCloudType::test_cloud_info_file_ioerror PASSED [ 54%] tests/unittests/sources/test_altcloud.py::TestGetCloudType::test_cloud_info_file PASSED [ 54%] tests/unittests/sources/test_altcloud.py::TestGetCloudType::test_rhev PASSED [ 54%] tests/unittests/sources/test_altcloud.py::TestGetCloudType::test_vsphere PASSED [ 55%] tests/unittests/sources/test_altcloud.py::TestGetCloudType::test_unknown PASSED [ 55%] tests/unittests/sources/test_altcloud.py::TestGetDataCloudInfoFile::test_rhev PASSED [ 55%] tests/unittests/sources/test_altcloud.py::TestGetDataCloudInfoFile::test_vsphere PASSED [ 55%] tests/unittests/sources/test_altcloud.py::TestGetDataCloudInfoFile::test_fail_rhev PASSED [ 55%] tests/unittests/sources/test_altcloud.py::TestGetDataCloudInfoFile::test_fail_vsphere PASSED [ 55%] tests/unittests/sources/test_altcloud.py::TestGetDataCloudInfoFile::test_unrecognized PASSED [ 55%] tests/unittests/sources/test_altcloud.py::TestGetDataNoCloudInfoFile::test_rhev_no_cloud_file PASSED [ 55%] tests/unittests/sources/test_altcloud.py::TestGetDataNoCloudInfoFile::test_vsphere_no_cloud_file PASSED [ 55%] tests/unittests/sources/test_altcloud.py::TestGetDataNoCloudInfoFile::test_failure_no_cloud_file PASSED [ 55%] tests/unittests/sources/test_altcloud.py::TestUserDataRhevm::test_mount_cb_fails PASSED [ 55%] tests/unittests/sources/test_altcloud.py::TestUserDataRhevm::test_modprobe_fails PASSED [ 55%] tests/unittests/sources/test_altcloud.py::TestUserDataRhevm::test_no_modprobe_cmd PASSED [ 55%] tests/unittests/sources/test_altcloud.py::TestUserDataRhevm::test_udevadm_fails PASSED [ 55%] tests/unittests/sources/test_altcloud.py::TestUserDataRhevm::test_no_udevadm_cmd PASSED [ 55%] tests/unittests/sources/test_altcloud.py::TestUserDataVsphere::test_user_data_vsphere_no_cdrom PASSED [ 55%] tests/unittests/sources/test_altcloud.py::TestUserDataVsphere::test_user_data_vsphere_mcb_fail PASSED [ 55%] tests/unittests/sources/test_altcloud.py::TestUserDataVsphere::test_user_data_vsphere_success PASSED [ 55%] tests/unittests/sources/test_altcloud.py::TestReadUserDataCallback::test_callback_both PASSED [ 55%] tests/unittests/sources/test_altcloud.py::TestReadUserDataCallback::test_callback_dc PASSED [ 55%] tests/unittests/sources/test_altcloud.py::TestReadUserDataCallback::test_callback_non_dc PASSED [ 55%] tests/unittests/sources/test_altcloud.py::TestReadUserDataCallback::test_callback_none PASSED [ 55%] tests/unittests/sources/test_azure.py::TestGenerateNetworkConfig::test_parsing_scenarios[simple interface-metadata0-True-expected0] PASSED [ 55%] tests/unittests/sources/test_azure.py::TestGenerateNetworkConfig::test_parsing_scenarios[hv_netvsc driver-metadata1-True-expected1] PASSED [ 55%] tests/unittests/sources/test_azure.py::TestGenerateNetworkConfig::test_parsing_scenarios[unknown-metadata2-True-expected2] PASSED [ 55%] tests/unittests/sources/test_azure.py::TestGenerateNetworkConfig::test_parsing_scenarios[unknown with unknown matching VF-metadata3-True-expected3] PASSED [ 55%] tests/unittests/sources/test_azure.py::TestGenerateNetworkConfig::test_parsing_scenarios[multiple interfaces with increasing route metric-metadata4-True-expected4] PASSED [ 55%] tests/unittests/sources/test_azure.py::TestGenerateNetworkConfig::test_parsing_scenarios[secondary IPv4s are static-metadata5-True-expected5] PASSED [ 55%] tests/unittests/sources/test_azure.py::TestGenerateNetworkConfig::test_parsing_scenarios[secondary IPv4s are not configured-metadata6-False-expected6] PASSED [ 55%] tests/unittests/sources/test_azure.py::TestGenerateNetworkConfig::test_parsing_scenarios[ipv6 secondaries-metadata7-True-expected7] PASSED [ 55%] tests/unittests/sources/test_azure.py::TestGenerateNetworkConfig::test_parsing_scenarios[ipv6 secondaries not configured-metadata8-False-expected8] PASSED [ 55%] tests/unittests/sources/test_azure.py::TestGenerateNetworkConfig::test_set_name_config[True-expected0] PASSED [ 55%] tests/unittests/sources/test_azure.py::TestGenerateNetworkConfig::test_set_name_config[False-expected1] PASSED [ 55%] tests/unittests/sources/test_azure.py::TestNetworkConfig::test_network_config[True-expected0] PASSED [ 55%] tests/unittests/sources/test_azure.py::TestNetworkConfig::test_network_config[False-expected1] PASSED [ 55%] tests/unittests/sources/test_azure.py::TestNetworkConfig::test_uses_fallback_cfg_when_apply_network_config_is_false PASSED [ 55%] tests/unittests/sources/test_azure.py::TestNetworkConfig::test_uses_fallback_cfg_when_imds_metadata_unset PASSED [ 55%] tests/unittests/sources/test_azure.py::TestNetworkConfig::test_uses_fallback_cfg_when_no_network_metadata PASSED [ 55%] tests/unittests/sources/test_azure.py::TestNetworkConfig::test_uses_fallback_cfg_when_no_interface_metadata PASSED [ 55%] tests/unittests/sources/test_azure.py::TestAzureDataSource::test_get_resource_disk PASSED [ 55%] tests/unittests/sources/test_azure.py::TestAzureDataSource::test_not_ds_detect_seed_should_return_no_datasource PASSED [ 55%] tests/unittests/sources/test_azure.py::TestAzureDataSource::test_platform_viable_but_no_devs_should_return_no_datasource PASSED [ 55%] tests/unittests/sources/test_azure.py::TestAzureDataSource::test_crawl_metadata_exception_returns_no_datasource PASSED [ 55%] tests/unittests/sources/test_azure.py::TestAzureDataSource::test_crawl_metadata_exception_should_report_failure PASSED [ 55%] tests/unittests/sources/test_azure.py::TestAzureDataSource::test_crawl_metadata_exc_should_log_could_not_crawl_msg PASSED [ 55%] tests/unittests/sources/test_azure.py::TestAzureDataSource::test_basic_seed_dir PASSED [ 55%] tests/unittests/sources/test_azure.py::TestAzureDataSource::test_data_dir_without_imds_data PASSED [ 55%] tests/unittests/sources/test_azure.py::TestAzureDataSource::test_basic_dev_file PASSED [ 55%] tests/unittests/sources/test_azure.py::TestAzureDataSource::test_get_data_non_ubuntu_will_not_remove_network_scripts PASSED [ 55%] tests/unittests/sources/test_azure.py::TestAzureDataSource::test_get_data_on_ubuntu_will_remove_network_scripts PASSED [ 55%] tests/unittests/sources/test_azure.py::TestAzureDataSource::test_get_data_on_ubuntu_will_not_remove_network_scripts_disabled PASSED [ 55%] tests/unittests/sources/test_azure.py::TestAzureDataSource::test_crawl_metadata_returns_structured_data_and_caches_nothing PASSED [ 55%] tests/unittests/sources/test_azure.py::TestAzureDataSource::test_crawl_metadata_raises_invalid_metadata_on_error PASSED [ 55%] tests/unittests/sources/test_azure.py::TestAzureDataSource::test_crawl_metadata_call_imds_once_no_reprovision PASSED [ 55%] tests/unittests/sources/test_azure.py::TestAzureDataSource::test_crawl_metadata_call_imds_twice_with_reprovision PASSED [ 55%] tests/unittests/sources/test_azure.py::TestAzureDataSource::test_waagent_d_has_0700_perms PASSED [ 55%] tests/unittests/sources/test_azure.py::TestAzureDataSource::test_network_config_set_from_imds PASSED [ 55%] tests/unittests/sources/test_azure.py::TestAzureDataSource::test_network_config_set_from_imds_route_metric_for_secondary_nic PASSED [ 55%] tests/unittests/sources/test_azure.py::TestAzureDataSource::test_network_config_set_from_imds_for_secondary_nic_no_ip PASSED [ 56%] tests/unittests/sources/test_azure.py::TestAzureDataSource::test_availability_zone_set_from_imds PASSED [ 56%] tests/unittests/sources/test_azure.py::TestAzureDataSource::test_region_set_from_imds PASSED [ 56%] tests/unittests/sources/test_azure.py::TestAzureDataSource::test_sys_cfg_set_never_destroy_ntfs PASSED [ 56%] tests/unittests/sources/test_azure.py::TestAzureDataSource::test_no_admin_username PASSED [ 56%] tests/unittests/sources/test_azure.py::TestAzureDataSource::test_username_used PASSED [ 56%] tests/unittests/sources/test_azure.py::TestAzureDataSource::test_password_given PASSED [ 56%] tests/unittests/sources/test_azure.py::TestAzureDataSource::test_password_with_disable_ssh_pw_auth_true PASSED [ 56%] tests/unittests/sources/test_azure.py::TestAzureDataSource::test_password_with_disable_ssh_pw_auth_false PASSED [ 56%] tests/unittests/sources/test_azure.py::TestAzureDataSource::test_password_with_disable_ssh_pw_auth_unspecified PASSED [ 56%] tests/unittests/sources/test_azure.py::TestAzureDataSource::test_no_password_with_disable_ssh_pw_auth_true PASSED [ 56%] tests/unittests/sources/test_azure.py::TestAzureDataSource::test_no_password_with_disable_ssh_pw_auth_false PASSED [ 56%] tests/unittests/sources/test_azure.py::TestAzureDataSource::test_no_password_with_disable_ssh_pw_auth_unspecified PASSED [ 56%] tests/unittests/sources/test_azure.py::TestAzureDataSource::test_user_not_locked_if_password_redacted PASSED [ 56%] tests/unittests/sources/test_azure.py::TestAzureDataSource::test_userdata_found PASSED [ 56%] tests/unittests/sources/test_azure.py::TestAzureDataSource::test_default_ephemeral_configs_ephemeral_exists PASSED [ 56%] tests/unittests/sources/test_azure.py::TestAzureDataSource::test_default_ephemeral_configs_ephemeral_does_not_exist PASSED [ 56%] tests/unittests/sources/test_azure.py::TestAzureDataSource::test_userdata_arrives PASSED [ 56%] tests/unittests/sources/test_azure.py::TestAzureDataSource::test_password_redacted_in_ovf PASSED [ 56%] tests/unittests/sources/test_azure.py::TestAzureDataSource::test_ovf_env_arrives_in_waagent_dir PASSED [ 56%] tests/unittests/sources/test_azure.py::TestAzureDataSource::test_ovf_can_include_unicode PASSED [ 56%] tests/unittests/sources/test_azure.py::TestAzureDataSource::test_dsaz_report_ready_returns_true_when_report_succeeds PASSED [ 56%] tests/unittests/sources/test_azure.py::TestAzureDataSource::test_dsaz_report_ready_failure_reports_telemetry PASSED [ 56%] tests/unittests/sources/test_azure.py::TestAzureDataSource::test_dsaz_report_failure_returns_true_when_report_succeeds PASSED [ 56%] tests/unittests/sources/test_azure.py::TestAzureDataSource::test_dsaz_report_failure_returns_false_and_does_not_propagate_exc PASSED [ 56%] tests/unittests/sources/test_azure.py::TestAzureDataSource::test_dsaz_report_failure PASSED [ 56%] tests/unittests/sources/test_azure.py::TestAzureDataSource::test_dsaz_report_failure_uses_cached_ephemeral_dhcp_ctx_lease PASSED [ 56%] tests/unittests/sources/test_azure.py::TestAzureDataSource::test_dsaz_report_failure_no_net_uses_new_ephemeral_dhcp_lease PASSED [ 56%] tests/unittests/sources/test_azure.py::TestAzureDataSource::test_exception_fetching_fabric_data_doesnt_propagate PASSED [ 56%] tests/unittests/sources/test_azure.py::TestAzureDataSource::test_fabric_data_included_in_metadata PASSED [ 56%] tests/unittests/sources/test_azure.py::TestAzureDataSource::test_instance_id_case_insensitive PASSED [ 56%] tests/unittests/sources/test_azure.py::TestAzureDataSource::test_instance_id_endianness PASSED [ 56%] tests/unittests/sources/test_azure.py::TestAzureDataSource::test_instance_id_from_dmidecode_used PASSED [ 56%] tests/unittests/sources/test_azure.py::TestAzureDataSource::test_instance_id_from_dmidecode_used_for_builtin PASSED [ 56%] tests/unittests/sources/test_azure.py::TestAzureDataSource::test_list_possible_azure_ds PASSED [ 56%] tests/unittests/sources/test_azure.py::TestAzureDataSource::test_blacklist_through_distro PASSED [ 56%] tests/unittests/sources/test_azure.py::TestAzureDataSource::test_get_public_ssh_keys_with_imds PASSED [ 56%] tests/unittests/sources/test_azure.py::TestAzureDataSource::test_key_without_crlf_valid PASSED [ 56%] tests/unittests/sources/test_azure.py::TestAzureDataSource::test_key_with_crlf_sanitized PASSED [ 56%] tests/unittests/sources/test_azure.py::TestAzureDataSource::test_key_endswith_crlf_valid PASSED [ 56%] tests/unittests/sources/test_azure.py::TestAzureDataSource::test_get_public_ssh_keys_with_no_openssh_format PASSED [ 56%] tests/unittests/sources/test_azure.py::TestAzureDataSource::test_get_public_ssh_keys_without_imds PASSED [ 56%] tests/unittests/sources/test_azure.py::TestAzureDataSource::test_hostname_from_imds PASSED [ 56%] tests/unittests/sources/test_azure.py::TestAzureDataSource::test_username_from_imds PASSED [ 56%] tests/unittests/sources/test_azure.py::TestAzureDataSource::test_disable_password_from_imds_true PASSED [ 56%] tests/unittests/sources/test_azure.py::TestAzureDataSource::test_disable_password_from_imds_false PASSED [ 56%] tests/unittests/sources/test_azure.py::TestAzureDataSource::test_userdata_from_imds PASSED [ 56%] tests/unittests/sources/test_azure.py::TestAzureDataSource::test_userdata_from_imds_with_customdata_from_OVF PASSED [ 56%] tests/unittests/sources/test_azure.py::TestAzureDataSource::test_cleanup_resourcedisk_fstab PASSED [ 56%] tests/unittests/sources/test_azure.py::TestLoadAzureDsDir::test_missing_ovf_env_xml_raises_non_azure_datasource_error PASSED [ 56%] tests/unittests/sources/test_azure.py::TestLoadAzureDsDir::test_wb_invalid_ovf_env_xml_calls_read_azure_ovf PASSED [ 56%] tests/unittests/sources/test_azure.py::TestLoadAzureDsDir::test_import_error_from_failed_import PASSED [ 56%] tests/unittests/sources/test_azure.py::TestReadAzureOvf::test_invalid_xml_raises_non_azure_ds PASSED [ 56%] tests/unittests/sources/test_azure.py::TestReadAzureOvf::test_load_with_pubkeys PASSED [ 56%] tests/unittests/sources/test_azure.py::TestCanDevBeReformatted::test_ntfs_mount_logs PASSED [ 56%] tests/unittests/sources/test_azure.py::TestCanDevBeReformatted::test_three_partitions_is_false PASSED [ 56%] tests/unittests/sources/test_azure.py::TestCanDevBeReformatted::test_no_partitions_is_false PASSED [ 56%] tests/unittests/sources/test_azure.py::TestCanDevBeReformatted::test_two_partitions_not_ntfs_false PASSED [ 57%] tests/unittests/sources/test_azure.py::TestCanDevBeReformatted::test_two_partitions_ntfs_populated_false PASSED [ 57%] tests/unittests/sources/test_azure.py::TestCanDevBeReformatted::test_two_partitions_ntfs_empty_is_true PASSED [ 57%] tests/unittests/sources/test_azure.py::TestCanDevBeReformatted::test_one_partition_not_ntfs_false PASSED [ 57%] tests/unittests/sources/test_azure.py::TestCanDevBeReformatted::test_one_partition_ntfs_populated_false PASSED [ 57%] tests/unittests/sources/test_azure.py::TestCanDevBeReformatted::test_one_partition_ntfs_empty_is_true PASSED [ 57%] tests/unittests/sources/test_azure.py::TestCanDevBeReformatted::test_one_partition_ntfs_empty_with_dataloss_file_is_true PASSED [ 57%] tests/unittests/sources/test_azure.py::TestCanDevBeReformatted::test_one_partition_ntfs_empty_with_svi_file_is_true PASSED [ 57%] tests/unittests/sources/test_azure.py::TestCanDevBeReformatted::test_one_partition_through_realpath_is_true PASSED [ 57%] tests/unittests/sources/test_azure.py::TestCanDevBeReformatted::test_three_partition_through_realpath_is_false PASSED [ 57%] tests/unittests/sources/test_azure.py::TestCanDevBeReformatted::test_ntfs_mount_errors_true PASSED [ 57%] tests/unittests/sources/test_azure.py::TestCanDevBeReformatted::test_never_destroy_ntfs_config_false PASSED [ 57%] tests/unittests/sources/test_azure.py::TestClearCachedData::test_clear_cached_attrs_clears_imds PASSED [ 57%] tests/unittests/sources/test_azure.py::TestAzureNetExists::test_azure_net_must_exist_for_legacy_objpkl PASSED [ 57%] tests/unittests/sources/test_azure.py::TestPreprovisioningReadAzureOvfFlag::test_read_azure_ovf_with_true_flag PASSED [ 57%] tests/unittests/sources/test_azure.py::TestPreprovisioningReadAzureOvfFlag::test_read_azure_ovf_with_false_flag PASSED [ 57%] tests/unittests/sources/test_azure.py::TestPreprovisioningReadAzureOvfFlag::test_read_azure_ovf_without_flag PASSED [ 57%] tests/unittests/sources/test_azure.py::TestPreprovisioningReadAzureOvfFlag::test_read_azure_ovf_with_running_type PASSED [ 57%] tests/unittests/sources/test_azure.py::TestPreprovisioningReadAzureOvfFlag::test_read_azure_ovf_with_savable_type PASSED [ 57%] tests/unittests/sources/test_azure.py::TestPreprovisioningReadAzureOvfFlag::test_read_azure_ovf_with_proxy_guest_agent_true PASSED [ 57%] tests/unittests/sources/test_azure.py::TestPreprovisioningReadAzureOvfFlag::test_read_azure_ovf_with_proxy_guest_agent_false PASSED [ 57%] tests/unittests/sources/test_azure.py::TestDeterminePPSTypeScenarios::test_determine_pps_without_reprovision_marker[ovf_cfg0-imds_md0-PPSType.NONE] PASSED [ 57%] tests/unittests/sources/test_azure.py::TestDeterminePPSTypeScenarios::test_determine_pps_without_reprovision_marker[ovf_cfg1-imds_md1-PPSType.RUNNING] PASSED [ 57%] tests/unittests/sources/test_azure.py::TestDeterminePPSTypeScenarios::test_determine_pps_without_reprovision_marker[ovf_cfg2-imds_md2-PPSType.SAVABLE] PASSED [ 57%] tests/unittests/sources/test_azure.py::TestDeterminePPSTypeScenarios::test_determine_pps_without_reprovision_marker[ovf_cfg3-imds_md3-PPSType.RUNNING] PASSED [ 57%] tests/unittests/sources/test_azure.py::TestDeterminePPSTypeScenarios::test_determine_pps_without_reprovision_marker[ovf_cfg4-imds_md4-PPSType.NONE] PASSED [ 57%] tests/unittests/sources/test_azure.py::TestDeterminePPSTypeScenarios::test_determine_pps_without_reprovision_marker[ovf_cfg5-imds_md5-PPSType.RUNNING] PASSED [ 57%] tests/unittests/sources/test_azure.py::TestDeterminePPSTypeScenarios::test_determine_pps_without_reprovision_marker[ovf_cfg6-imds_md6-PPSType.SAVABLE] PASSED [ 57%] tests/unittests/sources/test_azure.py::TestDeterminePPSTypeScenarios::test_determine_pps_without_reprovision_marker[ovf_cfg7-imds_md7-PPSType.NONE] PASSED [ 57%] tests/unittests/sources/test_azure.py::TestDeterminePPSTypeScenarios::test_determine_pps_without_reprovision_marker[ovf_cfg8-imds_md8-PPSType.RUNNING] PASSED [ 57%] tests/unittests/sources/test_azure.py::TestDeterminePPSTypeScenarios::test_determine_pps_without_reprovision_marker[ovf_cfg9-imds_md9-PPSType.SAVABLE] PASSED [ 57%] tests/unittests/sources/test_azure.py::TestDeterminePPSTypeScenarios::test_determine_pps_without_reprovision_marker[ovf_cfg10-imds_md10-PPSType.RUNNING] PASSED [ 57%] tests/unittests/sources/test_azure.py::TestDeterminePPSTypeScenarios::test_determine_pps_with_reprovision_marker[ovf_cfg0-imds_md0-PPSType.NONE] PASSED [ 57%] tests/unittests/sources/test_azure.py::TestDeterminePPSTypeScenarios::test_determine_pps_with_reprovision_marker[ovf_cfg1-imds_md1-PPSType.RUNNING] PASSED [ 57%] tests/unittests/sources/test_azure.py::TestDeterminePPSTypeScenarios::test_determine_pps_with_reprovision_marker[ovf_cfg2-imds_md2-PPSType.SAVABLE] PASSED [ 57%] tests/unittests/sources/test_azure.py::TestDeterminePPSTypeScenarios::test_determine_pps_with_reprovision_marker[ovf_cfg3-imds_md3-PPSType.RUNNING] PASSED [ 57%] tests/unittests/sources/test_azure.py::TestDeterminePPSTypeScenarios::test_determine_pps_with_reprovision_marker[ovf_cfg4-imds_md4-PPSType.NONE] PASSED [ 57%] tests/unittests/sources/test_azure.py::TestDeterminePPSTypeScenarios::test_determine_pps_with_reprovision_marker[ovf_cfg5-imds_md5-PPSType.RUNNING] PASSED [ 57%] tests/unittests/sources/test_azure.py::TestDeterminePPSTypeScenarios::test_determine_pps_with_reprovision_marker[ovf_cfg6-imds_md6-PPSType.SAVABLE] PASSED [ 57%] tests/unittests/sources/test_azure.py::TestDeterminePPSTypeScenarios::test_determine_pps_with_reprovision_marker[ovf_cfg7-imds_md7-PPSType.NONE] PASSED [ 57%] tests/unittests/sources/test_azure.py::TestDeterminePPSTypeScenarios::test_determine_pps_with_reprovision_marker[ovf_cfg8-imds_md8-PPSType.RUNNING] PASSED [ 57%] tests/unittests/sources/test_azure.py::TestDeterminePPSTypeScenarios::test_determine_pps_with_reprovision_marker[ovf_cfg9-imds_md9-PPSType.SAVABLE] PASSED [ 57%] tests/unittests/sources/test_azure.py::TestDeterminePPSTypeScenarios::test_determine_pps_with_reprovision_marker[ovf_cfg10-imds_md10-PPSType.RUNNING] PASSED [ 57%] tests/unittests/sources/test_azure.py::TestPreprovisioningHotAttachNics::test_detect_nic_attach_reports_ready_and_waits_for_detach PASSED [ 57%] tests/unittests/sources/test_azure.py::TestPreprovisioningHotAttachNics::test_wait_for_nic_attach_multinic_attach PASSED [ 57%] tests/unittests/sources/test_azure.py::TestPreprovisioningHotAttachNics::test_wait_for_link_up_returns_if_already_up PASSED [ 57%] tests/unittests/sources/test_azure.py::TestPreprovisioningHotAttachNics::test_wait_for_link_up_checks_link_after_sleep PASSED [ 57%] tests/unittests/sources/test_azure.py::TestPreprovisioningHotAttachNics::test_wait_for_all_nics_ready_raises_if_socket_fails PASSED [ 57%] tests/unittests/sources/test_azure.py::TestPreprovisioningPollIMDS::test_poll_imds_re_dhcp_on_timeout PASSED [ 57%] tests/unittests/sources/test_azure.py::TestPreprovisioningPollIMDS::test_poll_imds_skips_dhcp_if_ctx_present PASSED [ 57%] tests/unittests/sources/test_azure.py::TestPreprovisioningPollIMDS::test_poll_imds_does_dhcp_on_retries_if_ctx_present PASSED [ 57%] tests/unittests/sources/test_azure.py::TestRemoveUbuntuNetworkConfigScripts::test_remove_network_scripts_removes_both_files_and_directories PASSED [ 57%] tests/unittests/sources/test_azure.py::TestRemoveUbuntuNetworkConfigScripts::test_remove_network_scripts_only_attempts_removal_if_path_exists PASSED [ 57%] tests/unittests/sources/test_azure.py::TestRemoveUbuntuNetworkConfigScripts::test_remove_network_scripts_default_removes_stock_scripts PASSED [ 57%] tests/unittests/sources/test_azure.py::TestIsPlatformViable::test_true_on_azure_chassis[7783-7084-3265-9085-8269-3286-77] PASSED [ 57%] tests/unittests/sources/test_azure.py::TestIsPlatformViable::test_true_on_azure_ovf_env_in_seed_dir PASSED [ 57%] tests/unittests/sources/test_azure.py::TestIsPlatformViable::test_false_on_no_matching_azure_criteria PASSED [ 57%] tests/unittests/sources/test_azure.py::TestRandomSeed::test_non_ascii_seed_is_serializable PASSED [ 58%] tests/unittests/sources/test_azure.py::TestEphemeralNetworking::test_basic_setup[None] PASSED [ 58%] tests/unittests/sources/test_azure.py::TestEphemeralNetworking::test_basic_setup[fakeEth0] PASSED [ 58%] tests/unittests/sources/test_azure.py::TestEphemeralNetworking::test_basic_setup_without_wireserver_opt[None] PASSED [ 58%] tests/unittests/sources/test_azure.py::TestEphemeralNetworking::test_basic_setup_without_wireserver_opt[fakeEth0] PASSED [ 58%] tests/unittests/sources/test_azure.py::TestEphemeralNetworking::test_retry_missing_driver PASSED [ 58%] tests/unittests/sources/test_azure.py::TestEphemeralNetworking::test_no_retry_missing_dhclient_error PASSED [ 58%] tests/unittests/sources/test_azure.py::TestEphemeralNetworking::test_retry_interface_error PASSED [ 58%] tests/unittests/sources/test_azure.py::TestEphemeralNetworking::test_logging_found_iface_mac_driver PASSED [ 58%] tests/unittests/sources/test_azure.py::TestEphemeralNetworking::test_retry_process_error PASSED [ 58%] tests/unittests/sources/test_azure.py::TestEphemeralNetworking::test_retry_sleeps[NoDHCPLeaseInterfaceError-failure to find DHCP interface] PASSED [ 58%] tests/unittests/sources/test_azure.py::TestEphemeralNetworking::test_retry_sleeps[NoDHCPLeaseError-failure to obtain DHCP lease] PASSED [ 58%] tests/unittests/sources/test_azure.py::TestEphemeralNetworking::test_retry_times_out[NoDHCPLeaseInterfaceError-failure to find DHCP interface] PASSED [ 58%] tests/unittests/sources/test_azure.py::TestEphemeralNetworking::test_retry_times_out[NoDHCPLeaseError-failure to obtain DHCP lease] PASSED [ 58%] tests/unittests/sources/test_azure.py::TestEphemeralNetworking::test_update_primary_nic_changes_interface PASSED [ 58%] tests/unittests/sources/test_azure.py::TestCheckIfPrimary::test_primary[static_routes0] PASSED [ 58%] tests/unittests/sources/test_azure.py::TestCheckIfPrimary::test_primary[static_routes1] PASSED [ 58%] tests/unittests/sources/test_azure.py::TestCheckIfPrimary::test_primary_via_wireserver_specified_in_option_245 PASSED [ 58%] tests/unittests/sources/test_azure.py::TestCheckIfPrimary::test_secondary[static_routes0] PASSED [ 58%] tests/unittests/sources/test_azure.py::TestCheckIfPrimary::test_secondary[static_routes1] PASSED [ 58%] tests/unittests/sources/test_azure.py::TestCheckIfPrimary::test_secondary[static_routes2] PASSED [ 58%] tests/unittests/sources/test_azure.py::TestInstanceId::test_metadata PASSED [ 58%] tests/unittests/sources/test_azure.py::TestInstanceId::test_fallback PASSED [ 58%] tests/unittests/sources/test_azure.py::TestProvisioning::test_no_pps PASSED [ 58%] tests/unittests/sources/test_azure.py::TestProvisioning::test_no_pps_gpa PASSED [ 58%] tests/unittests/sources/test_azure.py::TestProvisioning::test_no_pps_gpa_fail PASSED [ 58%] tests/unittests/sources/test_azure.py::TestProvisioning::test_stale_pps[Savable] PASSED [ 58%] tests/unittests/sources/test_azure.py::TestProvisioning::test_stale_pps[Running] PASSED [ 58%] tests/unittests/sources/test_azure.py::TestProvisioning::test_running_pps PASSED [ 58%] tests/unittests/sources/test_azure.py::TestProvisioning::test_running_pps_gpa PASSED [ 58%] tests/unittests/sources/test_azure.py::TestProvisioning::test_savable_pps PASSED [ 58%] tests/unittests/sources/test_azure.py::TestProvisioning::test_savable_pps_gpa PASSED [ 58%] tests/unittests/sources/test_azure.py::TestProvisioning::test_savable_pps_early_unplug[fabric_side_effect0] PASSED [ 58%] tests/unittests/sources/test_azure.py::TestProvisioning::test_savable_pps_early_unplug[fabric_side_effect1] PASSED [ 58%] tests/unittests/sources/test_azure.py::TestProvisioning::test_savable_pps_early_unplug[fabric_side_effect2] PASSED [ 58%] tests/unittests/sources/test_azure.py::TestProvisioning::test_recovery_pps[Savable] PASSED [ 58%] tests/unittests/sources/test_azure.py::TestProvisioning::test_recovery_pps[Running] PASSED [ 58%] tests/unittests/sources/test_azure.py::TestProvisioning::test_recovery_pps[None] PASSED [ 58%] tests/unittests/sources/test_azure.py::TestProvisioning::test_source_pps_fails_initial_dhcp[Savable] PASSED [ 58%] tests/unittests/sources/test_azure.py::TestProvisioning::test_source_pps_fails_initial_dhcp[Running] PASSED [ 58%] tests/unittests/sources/test_azure.py::TestProvisioning::test_source_pps_fails_initial_dhcp[Unknown] PASSED [ 58%] tests/unittests/sources/test_azure.py::TestProvisioning::test_os_disk_pps[subp_side_effect0] PASSED [ 58%] tests/unittests/sources/test_azure.py::TestProvisioning::test_os_disk_pps[subp_side_effect1] PASSED [ 58%] tests/unittests/sources/test_azure.py::TestProvisioning::test_skip_ready_report[None] PASSED [ 58%] tests/unittests/sources/test_azure.py::TestProvisioning::test_skip_ready_report[Running] PASSED [ 58%] tests/unittests/sources/test_azure.py::TestProvisioning::test_skip_ready_report[Savable] PASSED [ 58%] tests/unittests/sources/test_azure.py::TestProvisioning::test_imds_failure_results_in_provisioning_failure PASSED [ 58%] tests/unittests/sources/test_azure.py::TestProvisioning::test_missing_customdata_reporting[True-None-False] PASSED [ 58%] tests/unittests/sources/test_azure.py::TestProvisioning::test_missing_customdata_reporting[True-None-True] PASSED [ 58%] tests/unittests/sources/test_azure.py::TestProvisioning::test_missing_customdata_reporting[True-myCustomData-False] PASSED [ 58%] tests/unittests/sources/test_azure.py::TestProvisioning::test_missing_customdata_reporting[True-myCustomData-True] PASSED [ 58%] tests/unittests/sources/test_azure.py::TestProvisioning::test_missing_customdata_reporting[True--False] PASSED [ 58%] tests/unittests/sources/test_azure.py::TestProvisioning::test_missing_customdata_reporting[True--True] PASSED [ 58%] tests/unittests/sources/test_azure.py::TestProvisioning::test_missing_customdata_reporting[False-None-False] PASSED [ 58%] tests/unittests/sources/test_azure.py::TestProvisioning::test_missing_customdata_reporting[False-None-True] PASSED [ 58%] tests/unittests/sources/test_azure.py::TestCheckAzureProxyAgent::test_check_azure_proxy_agent_status PASSED [ 58%] tests/unittests/sources/test_azure.py::TestCheckAzureProxyAgent::test_check_azure_proxy_agent_status_notfound PASSED [ 58%] tests/unittests/sources/test_azure.py::TestCheckAzureProxyAgent::test_check_azure_proxy_agent_status_failure PASSED [ 59%] tests/unittests/sources/test_azure.py::TestGetMetadataFromImds::test_errors[exception0-ReportableErrorImdsUrlError-False-False] PASSED [ 59%] tests/unittests/sources/test_azure.py::TestGetMetadataFromImds::test_errors[exception0-ReportableErrorImdsUrlError-False-True] PASSED [ 59%] tests/unittests/sources/test_azure.py::TestGetMetadataFromImds::test_errors[exception0-ReportableErrorImdsUrlError-True-False] PASSED [ 59%] tests/unittests/sources/test_azure.py::TestGetMetadataFromImds::test_errors[exception0-ReportableErrorImdsUrlError-True-True] PASSED [ 59%] tests/unittests/sources/test_azure.py::TestGetMetadataFromImds::test_errors[exception1-ReportableErrorImdsMetadataParsingException-False-False] PASSED [ 59%] tests/unittests/sources/test_azure.py::TestGetMetadataFromImds::test_errors[exception1-ReportableErrorImdsMetadataParsingException-False-True] PASSED [ 59%] tests/unittests/sources/test_azure.py::TestGetMetadataFromImds::test_errors[exception1-ReportableErrorImdsMetadataParsingException-True-False] PASSED [ 59%] tests/unittests/sources/test_azure.py::TestGetMetadataFromImds::test_errors[exception1-ReportableErrorImdsMetadataParsingException-True-True] PASSED [ 59%] tests/unittests/sources/test_azure.py::TestReportFailure::test_report_host_only_kvp_enabled[False] PASSED [ 59%] tests/unittests/sources/test_azure.py::TestReportFailure::test_report_host_only_kvp_enabled[True] PASSED [ 59%] tests/unittests/sources/test_azure.py::TestValidateIMDSMetadata::test_normalize_scenarios[001122aabbcc-00:11:22:aa:bb:cc] PASSED [ 59%] tests/unittests/sources/test_azure.py::TestValidateIMDSMetadata::test_normalize_scenarios[001122AABBCC-00:11:22:aa:bb:cc] PASSED [ 59%] tests/unittests/sources/test_azure.py::TestValidateIMDSMetadata::test_normalize_scenarios[00:11:22:aa:bb:cc-00:11:22:aa:bb:cc] PASSED [ 59%] tests/unittests/sources/test_azure.py::TestValidateIMDSMetadata::test_normalize_scenarios[00:11:22:AA:BB:CC-00:11:22:aa:bb:cc] PASSED [ 59%] tests/unittests/sources/test_azure.py::TestValidateIMDSMetadata::test_normalize_scenarios[pass-through-the-unexpected-pass-through-the-unexpected] PASSED [ 59%] tests/unittests/sources/test_azure.py::TestValidateIMDSMetadata::test_normalize_scenarios[-] PASSED [ 59%] tests/unittests/sources/test_azure.py::TestValidateIMDSMetadata::test_empty PASSED [ 59%] tests/unittests/sources/test_azure.py::TestValidateIMDSMetadata::test_validates_one_nic PASSED [ 59%] tests/unittests/sources/test_azure.py::TestValidateIMDSMetadata::test_validates_multiple_nic PASSED [ 59%] tests/unittests/sources/test_azure.py::TestValidateIMDSMetadata::test_missing_all PASSED [ 59%] tests/unittests/sources/test_azure.py::TestValidateIMDSMetadata::test_missing_primary PASSED [ 59%] tests/unittests/sources/test_azure.py::TestValidateIMDSMetadata::test_missing_secondary PASSED [ 59%] tests/unittests/sources/test_azure.py::TestQueryVmId::test_query_vm_id_success PASSED [ 59%] tests/unittests/sources/test_azure.py::TestQueryVmId::test_query_vm_id_system_uuid_failure PASSED [ 59%] tests/unittests/sources/test_azure.py::TestQueryVmId::test_query_vm_id_vm_id_conversion_failure PASSED [ 59%] tests/unittests/sources/test_azure.py::TestHasCustomDataFromImds::test_hascustomdata_from_imds[imds_data0-True] PASSED [ 59%] tests/unittests/sources/test_azure.py::TestHasCustomDataFromImds::test_hascustomdata_from_imds[imds_data1-False] PASSED [ 59%] tests/unittests/sources/test_azure.py::TestHasCustomDataFromImds::test_hascustomdata_from_imds[imds_data2-None] PASSED [ 59%] tests/unittests/sources/test_azure.py::TestHasCustomDataFromImds::test_hascustomdata_from_imds[imds_data3-None] PASSED [ 59%] tests/unittests/sources/test_azure.py::TestHasCustomDataFromImds::test_hascustomdata_from_imds[imds_data4-None] PASSED [ 59%] tests/unittests/sources/test_azure.py::TestHashPassword::test_dependency_fallback PASSED [ 59%] tests/unittests/sources/test_azure.py::TestHashPassword::test_crypt_working PASSED [ 59%] tests/unittests/sources/test_azure.py::TestHashPassword::test_crypt_not_installed_passlib_fallback PASSED [ 59%] tests/unittests/sources/test_azure.py::TestHashPassword::test_crypt_and_passlib_unavailable_raises_error PASSED [ 59%] tests/unittests/sources/test_azure_helper.py::TestGetIpFromLeaseValue::test_get_ip_from_lease_value[62:4c:36:20-98.76.54.32] PASSED [ 59%] tests/unittests/sources/test_azure_helper.py::TestGetIpFromLeaseValue::test_get_ip_from_lease_value[4:3:2:1-4.3.2.1] PASSED [ 59%] tests/unittests/sources/test_azure_helper.py::TestGetIpFromLeaseValue::test_get_ip_from_lease_value[bL6 -98.76.54.32] PASSED [ 59%] tests/unittests/sources/test_azure_helper.py::TestGetIpFromLeaseValue::test_get_ip_from_lease_value[dH\\"l-100.72.34.108] PASSED [ 59%] tests/unittests/sources/test_azure_helper.py::TestGetIpFromLeaseValue::test_get_ip_from_lease_value[dH:l-100.72.58.108] PASSED [ 59%] tests/unittests/sources/test_azure_helper.py::TestGoalStateParsing::test_incarnation_parsed_correctly PASSED [ 59%] tests/unittests/sources/test_azure_helper.py::TestGoalStateParsing::test_container_id_parsed_correctly PASSED [ 59%] tests/unittests/sources/test_azure_helper.py::TestGoalStateParsing::test_instance_id_parsed_correctly PASSED [ 59%] tests/unittests/sources/test_azure_helper.py::TestGoalStateParsing::test_certificates_xml_parsed_and_fetched_correctly PASSED [ 59%] tests/unittests/sources/test_azure_helper.py::TestGoalStateParsing::test_missing_certificates_skips_http_get PASSED [ 59%] tests/unittests/sources/test_azure_helper.py::TestGoalStateParsing::test_invalid_goal_state_xml_raises_parse_error PASSED [ 59%] tests/unittests/sources/test_azure_helper.py::TestGoalStateParsing::test_missing_container_id_in_goal_state_xml_raises_exc PASSED [ 59%] tests/unittests/sources/test_azure_helper.py::TestGoalStateParsing::test_missing_instance_id_in_goal_state_xml_raises_exc PASSED [ 59%] tests/unittests/sources/test_azure_helper.py::TestGoalStateParsing::test_missing_incarnation_in_goal_state_xml_raises_exc PASSED [ 59%] tests/unittests/sources/test_azure_helper.py::TestAzureEndpointHttpClient::test_non_secure_get PASSED [ 59%] tests/unittests/sources/test_azure_helper.py::TestAzureEndpointHttpClient::test_non_secure_get_raises_exception PASSED [ 59%] tests/unittests/sources/test_azure_helper.py::TestAzureEndpointHttpClient::test_secure_get PASSED [ 59%] tests/unittests/sources/test_azure_helper.py::TestAzureEndpointHttpClient::test_secure_get_raises_exception PASSED [ 59%] tests/unittests/sources/test_azure_helper.py::TestAzureEndpointHttpClient::test_post PASSED [ 59%] tests/unittests/sources/test_azure_helper.py::TestAzureEndpointHttpClient::test_post_raises_exception PASSED [ 59%] tests/unittests/sources/test_azure_helper.py::TestAzureEndpointHttpClient::test_post_with_extra_headers PASSED [ 59%] tests/unittests/sources/test_azure_helper.py::TestAzureEndpointHttpClient::test_post_with_sleep_with_extra_headers_raises_exception PASSED [ 59%] tests/unittests/sources/test_azure_helper.py::TestHttpWithRetries::test_timeouts[times0-1-5-0] PASSED [ 59%] tests/unittests/sources/test_azure_helper.py::TestHttpWithRetries::test_timeouts[times1-1-5-1] PASSED [ 60%] tests/unittests/sources/test_azure_helper.py::TestHttpWithRetries::test_timeouts[times2-2-5-1] PASSED [ 60%] tests/unittests/sources/test_azure_helper.py::TestHttpWithRetries::test_timeouts[times3-4-5-1] PASSED [ 60%] tests/unittests/sources/test_azure_helper.py::TestHttpWithRetries::test_timeouts[times4-2-5-10] PASSED [ 60%] tests/unittests/sources/test_azure_helper.py::TestHttpWithRetries::test_network_unreachable PASSED [ 60%] tests/unittests/sources/test_azure_helper.py::TestHttpWithRetries::test_success[times0-1-5-0] PASSED [ 60%] tests/unittests/sources/test_azure_helper.py::TestHttpWithRetries::test_success[times1-1-5-1] PASSED [ 60%] tests/unittests/sources/test_azure_helper.py::TestHttpWithRetries::test_success[times2-2-5-1] PASSED [ 60%] tests/unittests/sources/test_azure_helper.py::TestHttpWithRetries::test_success[times3-4-5-1] PASSED [ 60%] tests/unittests/sources/test_azure_helper.py::TestHttpWithRetries::test_success[times4-2-5-10] PASSED [ 60%] tests/unittests/sources/test_azure_helper.py::TestOpenSSLManager::test_openssl_manager_creates_a_tmpdir PASSED [ 60%] tests/unittests/sources/test_azure_helper.py::TestOpenSSLManager::test_generate_certificate_uses_tmpdir PASSED [ 60%] tests/unittests/sources/test_azure_helper.py::TestOpenSSLManager::test_clean_up PASSED [ 60%] tests/unittests/sources/test_azure_helper.py::TestOpenSSLManagerActions::test_pubkey_extract SKIPPED [ 60%] tests/unittests/sources/test_azure_helper.py::TestOpenSSLManagerActions::test_parse_certificates SKIPPED [ 60%] tests/unittests/sources/test_azure_helper.py::TestOpenSSLManagerActions::test_parse_certificates_processes_all_certificates PASSED [ 60%] tests/unittests/sources/test_azure_helper.py::TestGoalStateHealthReporter::test_send_ready_signal_sends_post_request PASSED [ 60%] tests/unittests/sources/test_azure_helper.py::TestGoalStateHealthReporter::test_send_failure_signal_sends_post_request PASSED [ 60%] tests/unittests/sources/test_azure_helper.py::TestGoalStateHealthReporter::test_build_report_for_ready_signal_health_document PASSED [ 60%] tests/unittests/sources/test_azure_helper.py::TestGoalStateHealthReporter::test_build_report_for_failure_signal_health_document PASSED [ 60%] tests/unittests/sources/test_azure_helper.py::TestGoalStateHealthReporter::test_send_ready_signal_calls_build_report PASSED [ 60%] tests/unittests/sources/test_azure_helper.py::TestGoalStateHealthReporter::test_send_failure_signal_calls_build_report PASSED [ 60%] tests/unittests/sources/test_azure_helper.py::TestGoalStateHealthReporter::test_build_report_escapes_chars PASSED [ 60%] tests/unittests/sources/test_azure_helper.py::TestGoalStateHealthReporter::test_build_report_conforms_to_length_limits PASSED [ 60%] tests/unittests/sources/test_azure_helper.py::TestGoalStateHealthReporter::test_trim_description_then_escape_conforms_to_len_limits_worst_case PASSED [ 60%] tests/unittests/sources/test_azure_helper.py::TestWALinuxAgentShim::test_eject_iso_is_called PASSED [ 60%] tests/unittests/sources/test_azure_helper.py::TestWALinuxAgentShim::test_http_client_does_not_use_certificate_for_report_ready PASSED [ 60%] tests/unittests/sources/test_azure_helper.py::TestWALinuxAgentShim::test_http_client_does_not_use_certificate_for_report_failure PASSED [ 60%] tests/unittests/sources/test_azure_helper.py::TestWALinuxAgentShim::test_correct_url_used_for_goalstate_during_report_ready PASSED [ 60%] tests/unittests/sources/test_azure_helper.py::TestWALinuxAgentShim::test_correct_url_used_for_goalstate_during_report_failure PASSED [ 60%] tests/unittests/sources/test_azure_helper.py::TestWALinuxAgentShim::test_certificates_used_to_determine_public_keys PASSED [ 60%] tests/unittests/sources/test_azure_helper.py::TestWALinuxAgentShim::test_absent_certificates_produces_empty_public_keys PASSED [ 60%] tests/unittests/sources/test_azure_helper.py::TestWALinuxAgentShim::test_correct_url_used_for_report_ready PASSED [ 60%] tests/unittests/sources/test_azure_helper.py::TestWALinuxAgentShim::test_correct_url_used_for_report_failure PASSED [ 60%] tests/unittests/sources/test_azure_helper.py::TestWALinuxAgentShim::test_goal_state_values_used_for_report_ready PASSED [ 60%] tests/unittests/sources/test_azure_helper.py::TestWALinuxAgentShim::test_goal_state_values_used_for_report_failure PASSED [ 60%] tests/unittests/sources/test_azure_helper.py::TestWALinuxAgentShim::test_xml_elems_in_report_ready_post PASSED [ 60%] tests/unittests/sources/test_azure_helper.py::TestWALinuxAgentShim::test_xml_elems_in_report_failure_post PASSED [ 60%] tests/unittests/sources/test_azure_helper.py::TestWALinuxAgentShim::test_register_with_azure_and_fetch_data_calls_send_ready_signal PASSED [ 60%] tests/unittests/sources/test_azure_helper.py::TestWALinuxAgentShim::test_register_with_azure_and_report_failure_calls_send_failure_signal PASSED [ 60%] tests/unittests/sources/test_azure_helper.py::TestWALinuxAgentShim::test_register_with_azure_and_report_failure_does_not_need_certificates PASSED [ 60%] tests/unittests/sources/test_azure_helper.py::TestWALinuxAgentShim::test_clean_up_can_be_called_at_any_time PASSED [ 60%] tests/unittests/sources/test_azure_helper.py::TestWALinuxAgentShim::test_openssl_manager_not_instantiated_by_shim_report_status PASSED [ 60%] tests/unittests/sources/test_azure_helper.py::TestWALinuxAgentShim::test_clean_up_after_report_ready PASSED [ 60%] tests/unittests/sources/test_azure_helper.py::TestWALinuxAgentShim::test_clean_up_after_report_failure PASSED [ 60%] tests/unittests/sources/test_azure_helper.py::TestWALinuxAgentShim::test_fetch_goalstate_during_report_ready_raises_exc_on_get_exc PASSED [ 60%] tests/unittests/sources/test_azure_helper.py::TestWALinuxAgentShim::test_fetch_goalstate_during_report_failure_raises_exc_on_get_exc PASSED [ 60%] tests/unittests/sources/test_azure_helper.py::TestWALinuxAgentShim::test_fetch_goalstate_during_report_ready_raises_exc_on_parse_exc PASSED [ 60%] tests/unittests/sources/test_azure_helper.py::TestWALinuxAgentShim::test_fetch_goalstate_during_report_failure_raises_exc_on_parse_exc PASSED [ 60%] tests/unittests/sources/test_azure_helper.py::TestWALinuxAgentShim::test_failure_to_send_report_ready_health_doc_bubbles_up PASSED [ 60%] tests/unittests/sources/test_azure_helper.py::TestWALinuxAgentShim::test_failure_to_send_report_failure_health_doc_bubbles_up PASSED [ 60%] tests/unittests/sources/test_azure_helper.py::TestGetMetadataGoalStateXMLAndReportReadyToFabric::test_data_from_shim_returned PASSED [ 60%] tests/unittests/sources/test_azure_helper.py::TestGetMetadataGoalStateXMLAndReportReadyToFabric::test_success_calls_clean_up PASSED [ 60%] tests/unittests/sources/test_azure_helper.py::TestGetMetadataGoalStateXMLAndReportReadyToFabric::test_failure_in_registration_propagates_exc_and_calls_clean_up PASSED [ 60%] tests/unittests/sources/test_azure_helper.py::TestGetMetadataGoalStateXMLAndReportReadyToFabric::test_calls_shim_register_with_azure_and_fetch_data PASSED [ 60%] tests/unittests/sources/test_azure_helper.py::TestGetMetadataGoalStateXMLAndReportReadyToFabric::test_instantiates_shim_with_kwargs PASSED [ 60%] tests/unittests/sources/test_azure_helper.py::TestGetMetadataGoalStateXMLAndReportFailureToFabric::test_success_calls_clean_up PASSED [ 60%] tests/unittests/sources/test_azure_helper.py::TestGetMetadataGoalStateXMLAndReportFailureToFabric::test_failure_in_shim_report_failure_propagates_exc_and_calls_clean_up PASSED [ 61%] tests/unittests/sources/test_azure_helper.py::TestGetMetadataGoalStateXMLAndReportFailureToFabric::test_report_failure_to_fabric_calls_shim_report_failure PASSED [ 61%] tests/unittests/sources/test_azure_helper.py::TestGetMetadataGoalStateXMLAndReportFailureToFabric::test_instantiates_shim_with_kwargs PASSED [ 61%] tests/unittests/sources/test_azure_helper.py::TestOvfEnvXml::test_valid_ovf_scenarios[\n\n\n1.0\n\nLinuxProvisioningConfiguration\ntest-host\ntest-user\n\n\n\n1.0\n\nkms.core.windows.net\nfalse\n\n\n\n\n-expected0] PASSED [ 61%] tests/unittests/sources/test_azure_helper.py::TestOvfEnvXml::test_valid_ovf_scenarios[\n\n\n1.0\n\nLinuxProvisioningConfiguration\ntest-host\ntest-user\n\n\n\n1.0\n\nkms.core.windows.net\nfalse\n\n\n\n\n-expected1] PASSED [ 61%] tests/unittests/sources/test_azure_helper.py::TestOvfEnvXml::test_valid_ovf_scenarios[\n\n\n1.0\n\nLinuxProvisioningConfiguration\ntest-host\nother-user\n\n\n\n1.0\n\nkms.core.windows.net\nfalse\n\n\n\n\n-expected2] PASSED [ 61%] tests/unittests/sources/test_azure_helper.py::TestOvfEnvXml::test_valid_ovf_scenarios[\n\n\n1.0\n\nLinuxProvisioningConfiguration\ntest-host\ntest-user\ntest-password\n\n\n\n1.0\n\nkms.core.windows.net\nfalse\n\n\n\n\n-expected3] PASSED [ 61%] tests/unittests/sources/test_azure_helper.py::TestOvfEnvXml::test_valid_ovf_scenarios[\n\n\n1.0\n\nLinuxProvisioningConfiguration\nother-host\ntest-user\n\n\n\n1.0\n\nkms.core.windows.net\nfalse\n\n\n\n\n-expected4] PASSED [ 61%] tests/unittests/sources/test_azure_helper.py::TestOvfEnvXml::test_valid_ovf_scenarios[\n\n\n1.0\n\nLinuxProvisioningConfiguration\ntest-host\ntest-user\n\n\n\n\n\n\n\n1.0\n\nkms.core.windows.net\nfalse\n\n\n\n\n-expected5] PASSED [ 61%] tests/unittests/sources/test_azure_helper.py::TestOvfEnvXml::test_valid_ovf_scenarios[\n\n\n1.0\n\nLinuxProvisioningConfiguration\ntest-host\ntest-user\n\n\n\nfp1\npath1\n\n\n\n\n\n\n\n1.0\n\nkms.core.windows.net\nfalse\n\n\n\n\n-expected6] PASSED [ 61%] tests/unittests/sources/test_azure_helper.py::TestOvfEnvXml::test_valid_ovf_scenarios[\n\n\n1.0\n\nLinuxProvisioningConfiguration\ntest-host\ntest-user\n\n\n\nfp1\npath1\n\n\n\nfp2\npath2\nsomevalue\n\n\n\n\n\n\n1.0\n\nkms.core.windows.net\nfalse\n\n\n\n\n-expected7] PASSED [ 61%] tests/unittests/sources/test_azure_helper.py::TestOvfEnvXml::test_valid_ovf_scenarios[\n\n\n1.0\n\nLinuxProvisioningConfiguration\ntest-host\ntest-user\nZm9v\n\n\n\n1.0\n\nkms.core.windows.net\nfalse\n\n\n\n\n-expected8] PASSED [ 61%] tests/unittests/sources/test_azure_helper.py::TestOvfEnvXml::test_valid_ovf_scenarios[\n\n\n1.0\n\nLinuxProvisioningConfiguration\ntest-host\ntest-user\ntrue\n\n\n\n1.0\n\nkms.core.windows.net\nfalse\n\n\n\n\n-expected9] PASSED [ 61%] tests/unittests/sources/test_azure_helper.py::TestOvfEnvXml::test_valid_ovf_scenarios[\n\n\n1.0\n\nLinuxProvisioningConfiguration\ntest-host\ntest-user\n\n\n\n1.0\n\nkms.core.windows.net\nfalse\n\nfalse\n\n\n\n-expected10] PASSED [ 61%] tests/unittests/sources/test_azure_helper.py::TestOvfEnvXml::test_valid_ovf_scenarios[\n\n\n1.0\n\nLinuxProvisioningConfiguration\ntest-host\ntest-user\n\n\n\n1.0\n\nkms.core.windows.net\nfalse\n\ntrue\n\n\n\n-expected11] PASSED [ 61%] tests/unittests/sources/test_azure_helper.py::TestOvfEnvXml::test_valid_ovf_scenarios[\n\n\n1.0\n\nLinuxProvisioningConfiguration\ntest-host\ntest-user\n\n\n\n1.0\n\nkms.core.windows.net\nfalse\n\ntestpps\n\n\n-expected12] PASSED [ 61%] tests/unittests/sources/test_azure_helper.py::TestOvfEnvXml::test_missing_required_fields[\n\n\n1.0\n\nLinuxProvisioningConfiguration\ntest-user\n\n\n\n1.0\n\nkms.core.windows.net\nfalse\n\n\n\n\n-unexpected metadata parsing ovf-env.xml: missing configuration for 'HostName'] PASSED [ 61%] tests/unittests/sources/test_azure_helper.py::TestOvfEnvXml::test_multiple_sections_fails PASSED [ 61%] tests/unittests/sources/test_azure_helper.py::TestOvfEnvXml::test_multiple_properties_fails PASSED [ 61%] tests/unittests/sources/test_azure_helper.py::TestOvfEnvXml::test_non_azure_ovf PASSED [ 61%] tests/unittests/sources/test_azure_helper.py::TestOvfEnvXml::test_invalid_xml[-error parsing ovf-env.xml: no element found: line 1, column 0] PASSED [ 61%] tests/unittests/sources/test_azure_helper.py::TestOvfEnvXml::test_invalid_xml[-error parsing ovf-env.xml: not well-formed (invalid token): line 1, column 2] PASSED [ 61%] tests/unittests/sources/test_azure_helper.py::TestOvfEnvXml::test_invalid_xml[badxml-error parsing ovf-env.xml: syntax error: line 1, column 0] PASSED [ 61%] tests/unittests/sources/test_azure_helper.py::TestReportDmesgToKvp::test_report_dmesg_to_kvp PASSED [ 61%] tests/unittests/sources/test_azure_helper.py::TestReportDmesgToKvp::test_report_dmesg_to_kvp_dmesg_error PASSED [ 61%] tests/unittests/sources/test_bigstep.py::TestBigstep::test_get_data_honor_cloud_dir[False] PASSED [ 61%] tests/unittests/sources/test_bigstep.py::TestBigstep::test_get_data_honor_cloud_dir[True] PASSED [ 61%] tests/unittests/sources/test_cloudcix.py::TestDataSourceCloudCIX::test_identifying_cloudcix PASSED [ 61%] tests/unittests/sources/test_cloudcix.py::TestDataSourceCloudCIX::test_setting_config_options PASSED [ 61%] tests/unittests/sources/test_cloudcix.py::TestDataSourceCloudCIX::test_determine_md_url PASSED [ 61%] tests/unittests/sources/test_cloudcix.py::TestDataSourceCloudCIX::test_reading_metadata_on_cloudcix PASSED [ 61%] tests/unittests/sources/test_cloudcix.py::TestDataSourceCloudCIX::test_failing_imds_endpoints PASSED [ 61%] tests/unittests/sources/test_cloudcix.py::TestDataSourceCloudCIX::test_read_malformed_metadata PASSED [ 61%] tests/unittests/sources/test_cloudcix.py::TestDataSourceCloudCIX::test_bad_response_code PASSED [ 61%] tests/unittests/sources/test_cloudsigma.py::TestDataSourceCloudSigma::test_get_hostname PASSED [ 61%] tests/unittests/sources/test_cloudsigma.py::TestDataSourceCloudSigma::test_get_public_ssh_keys PASSED [ 61%] tests/unittests/sources/test_cloudsigma.py::TestDataSourceCloudSigma::test_get_instance_id PASSED [ 61%] tests/unittests/sources/test_cloudsigma.py::TestDataSourceCloudSigma::test_platform PASSED [ 61%] tests/unittests/sources/test_cloudsigma.py::TestDataSourceCloudSigma::test_metadata PASSED [ 61%] tests/unittests/sources/test_cloudsigma.py::TestDataSourceCloudSigma::test_user_data PASSED [ 61%] tests/unittests/sources/test_cloudsigma.py::TestDataSourceCloudSigma::test_encoded_user_data PASSED [ 61%] tests/unittests/sources/test_cloudsigma.py::TestDataSourceCloudSigma::test_vendor_data PASSED [ 61%] tests/unittests/sources/test_cloudsigma.py::TestDataSourceCloudSigma::test_lack_of_vendor_data PASSED [ 61%] tests/unittests/sources/test_cloudsigma.py::TestDataSourceCloudSigma::test_lack_of_cloudinit_key_in_vendor_data PASSED [ 61%] tests/unittests/sources/test_cloudsigma.py::TestDsLoads::test_get_datasource_list_returns_in_local PASSED [ 61%] tests/unittests/sources/test_cloudsigma.py::TestDsLoads::test_list_sources_finds_ds PASSED [ 61%] tests/unittests/sources/test_cloudstack.py::TestCloudStackHostname::test_get_domainname_networkd PASSED [ 61%] tests/unittests/sources/test_cloudstack.py::TestCloudStackHostname::test_get_domainname_isc_dhclient PASSED [ 61%] tests/unittests/sources/test_cloudstack.py::TestCloudStackHostname::test_get_domainname_network_manager PASSED [ 61%] tests/unittests/sources/test_cloudstack.py::TestCloudStackHostname::test_get_domainname_nm_multi_conn_nic PASSED [ 61%] tests/unittests/sources/test_cloudstack.py::TestCloudStackHostname::test_get_domainname_nm_single_conn_nic PASSED [ 61%] tests/unittests/sources/test_cloudstack.py::TestCloudStackHostname::test_get_domainname_nm_no_conn_nic PASSED [ 61%] tests/unittests/sources/test_cloudstack.py::TestCloudStackHostname::test_get_domainname_nm_nodhcp_lease_err PASSED [ 61%] tests/unittests/sources/test_cloudstack.py::TestCloudStackHostname::test_get_hostname_non_fqdn PASSED [ 61%] tests/unittests/sources/test_cloudstack.py::TestCloudStackHostname::test_get_hostname_fqdn PASSED [ 61%] tests/unittests/sources/test_cloudstack.py::TestCloudStackHostname::test_get_hostname_fqdn_fallback PASSED [ 61%] tests/unittests/sources/test_cloudstack.py::TestCloudStackHostname::test__get_domainname_supports_all_casing_variants[DOMAINNAME-example.com] PASSED [ 61%] tests/unittests/sources/test_cloudstack.py::TestCloudStackHostname::test__get_domainname_supports_all_casing_variants[Domain-example.com] PASSED [ 62%] tests/unittests/sources/test_cloudstack.py::TestCloudStackHostname::test__get_domainname_supports_all_casing_variants[domain-name-example.com] PASSED [ 62%] tests/unittests/sources/test_cloudstack.py::TestGetDataServer::test_data_server_from_dns[success_on_dns_resolution] PASSED [ 62%] tests/unittests/sources/test_cloudstack.py::TestGetDataServer::test_data_server_from_dns[none_on_no_dns_resolution] PASSED [ 62%] tests/unittests/sources/test_cloudstack.py::TestGetVrAddress::test_get_vr_addr_from_dns PASSED [ 62%] tests/unittests/sources/test_cloudstack.py::TestGetVrAddress::test_get_vr_addr_from_networkd_leases PASSED [ 62%] tests/unittests/sources/test_cloudstack.py::TestGetVrAddress::test_get_vr_addr_from_network_manager_leases PASSED [ 62%] tests/unittests/sources/test_cloudstack.py::TestCloudStackPasswordFetching::test_empty_password_doesnt_create_config PASSED [ 62%] tests/unittests/sources/test_cloudstack.py::TestCloudStackPasswordFetching::test_saved_password_doesnt_create_config PASSED [ 62%] tests/unittests/sources/test_cloudstack.py::TestCloudStackPasswordFetching::test_password_sets_password PASSED [ 62%] tests/unittests/sources/test_cloudstack.py::TestCloudStackPasswordFetching::test_bad_request_doesnt_stop_ds_from_working PASSED [ 62%] tests/unittests/sources/test_cloudstack.py::TestCloudStackPasswordFetching::test_valid_response_means_password_marked_as_saved PASSED [ 62%] tests/unittests/sources/test_cloudstack.py::TestCloudStackPasswordFetching::test_password_not_saved_if_empty PASSED [ 62%] tests/unittests/sources/test_cloudstack.py::TestCloudStackPasswordFetching::test_password_not_saved_if_already_saved PASSED [ 62%] tests/unittests/sources/test_cloudstack.py::TestCloudStackPasswordFetching::test_password_not_saved_if_bad_request PASSED [ 62%] tests/unittests/sources/test_cloudstack.py::TestDataSourceCloudStackLocal::test_local_datasource_fails_ephemeral_dhcp PASSED [ 62%] tests/unittests/sources/test_cloudstack.py::TestDataSourceCloudStackLocal::test_local_datasource_success PASSED [ 62%] tests/unittests/sources/test_common.py::TestExpectedDataSources::test_expected_default_local_sources_found PASSED [ 62%] tests/unittests/sources/test_common.py::TestExpectedDataSources::test_expected_default_network_sources_found PASSED [ 62%] tests/unittests/sources/test_common.py::TestExpectedDataSources::test_expected_nondefault_network_sources_found PASSED [ 62%] tests/unittests/sources/test_common.py::TestDataSourceInvariants::test_data_sources_have_valid_network_config_sources PASSED [ 62%] tests/unittests/sources/test_common.py::TestDataSourceInvariants::test_expected_dsname_defined PASSED [ 62%] tests/unittests/sources/test_configdrive.py::TestConfigDriveDataSource::test_ec2_metadata PASSED [ 62%] tests/unittests/sources/test_configdrive.py::TestConfigDriveDataSource::test_dev_os_remap PASSED [ 62%] tests/unittests/sources/test_configdrive.py::TestConfigDriveDataSource::test_dev_os_map PASSED [ 62%] tests/unittests/sources/test_configdrive.py::TestConfigDriveDataSource::test_dev_ec2_remap PASSED [ 62%] tests/unittests/sources/test_configdrive.py::TestConfigDriveDataSource::test_dev_ec2_map PASSED [ 62%] tests/unittests/sources/test_configdrive.py::TestConfigDriveDataSource::test_dir_valid PASSED [ 62%] tests/unittests/sources/test_configdrive.py::TestConfigDriveDataSource::test_seed_dir_valid_extra PASSED [ 62%] tests/unittests/sources/test_configdrive.py::TestConfigDriveDataSource::test_seed_dir_bad_json_metadata PASSED [ 62%] tests/unittests/sources/test_configdrive.py::TestConfigDriveDataSource::test_seed_dir_no_configdrive PASSED [ 62%] tests/unittests/sources/test_configdrive.py::TestConfigDriveDataSource::test_seed_dir_missing PASSED [ 62%] tests/unittests/sources/test_configdrive.py::TestConfigDriveDataSource::test_find_candidates PASSED [ 62%] tests/unittests/sources/test_configdrive.py::TestConfigDriveDataSource::test_pubkeys_v2 PASSED [ 62%] tests/unittests/sources/test_configdrive.py::TestConfigDriveDataSource::test_subplatform_config_drive_when_starts_with_dev PASSED [ 62%] tests/unittests/sources/test_configdrive.py::TestNetJson::test_network_data_is_found PASSED [ 62%] tests/unittests/sources/test_configdrive.py::TestNetJson::test_network_config_is_converted PASSED [ 62%] tests/unittests/sources/test_configdrive.py::TestNetJson::test_network_config_conversion_dhcp6 PASSED [ 62%] tests/unittests/sources/test_configdrive.py::TestNetJson::test_network_config_conversions PASSED [ 62%] tests/unittests/sources/test_configdrive.py::TestConvertNetworkData::test_conversion_fills_names PASSED [ 62%] tests/unittests/sources/test_configdrive.py::TestConvertNetworkData::test_convert_reads_system_prefers_name PASSED [ 62%] tests/unittests/sources/test_configdrive.py::TestConvertNetworkData::test_convert_raises_value_error_on_missing_name PASSED [ 62%] tests/unittests/sources/test_configdrive.py::TestConvertNetworkData::test_conversion_with_route PASSED [ 62%] tests/unittests/sources/test_configdrive.py::TestConvertNetworkData::test_conversion_with_tap PASSED [ 62%] tests/unittests/sources/test_configdrive.py::TestConvertNetworkData::test_bond_conversion PASSED [ 62%] tests/unittests/sources/test_configdrive.py::TestConvertNetworkData::test_vlan PASSED [ 62%] tests/unittests/sources/test_configdrive.py::TestConvertNetworkData::test_mac_addrs_can_be_upper_case PASSED [ 62%] tests/unittests/sources/test_configdrive.py::TestConvertNetworkData::test_unknown_device_types_accepted PASSED [ 62%] tests/unittests/sources/test_digitalocean.py::TestDataSourceDigitalOcean::test_returns_false_not_on_docean PASSED [ 62%] tests/unittests/sources/test_digitalocean.py::TestDataSourceDigitalOcean::test_deprecation_log_on_init PASSED [ 62%] tests/unittests/sources/test_digitalocean.py::TestDataSourceDigitalOcean::test_deprecation_log_on_unpick PASSED [ 62%] tests/unittests/sources/test_digitalocean.py::TestDataSourceDigitalOcean::test_metadata PASSED [ 62%] tests/unittests/sources/test_digitalocean.py::TestDataSourceDigitalOcean::test_multiple_ssh_keys PASSED [ 62%] tests/unittests/sources/test_digitalocean.py::TestNetworkConvert::test_networking_defined PASSED [ 62%] tests/unittests/sources/test_digitalocean.py::TestNetworkConvert::test_correct_gateways_defined PASSED [ 62%] tests/unittests/sources/test_digitalocean.py::TestNetworkConvert::test_public_interface_defined PASSED [ 62%] tests/unittests/sources/test_digitalocean.py::TestNetworkConvert::test_private_interface_defined PASSED [ 62%] tests/unittests/sources/test_digitalocean.py::TestNetworkConvert::test_public_interface_ipv6 PASSED [ 62%] tests/unittests/sources/test_digitalocean.py::TestNetworkConvert::test_public_interface_ipv4 PASSED [ 63%] tests/unittests/sources/test_digitalocean.py::TestNetworkConvert::test_public_interface_anchor_ipv4 PASSED [ 63%] tests/unittests/sources/test_digitalocean.py::TestNetworkConvert::test_convert_without_private PASSED [ 63%] tests/unittests/sources/test_ec2.py::TestEc2::test_network_config_property_returns_version_2_network_data PASSED [ 63%] tests/unittests/sources/test_ec2.py::TestEc2::test_network_config_property_set_dhcp4 PASSED [ 63%] tests/unittests/sources/test_ec2.py::TestEc2::test_network_config_property_secondary_private_ips PASSED [ 63%] tests/unittests/sources/test_ec2.py::TestEc2::test_network_config_property_is_cached_in_datasource PASSED [ 63%] tests/unittests/sources/test_ec2.py::TestEc2::test_ec2_get_instance_id_refreshes_identity_on_upgrade PASSED [ 63%] tests/unittests/sources/test_ec2.py::TestEc2::test_classic_instance_true PASSED [ 63%] tests/unittests/sources/test_ec2.py::TestEc2::test_classic_instance_false PASSED [ 63%] tests/unittests/sources/test_ec2.py::TestEc2::test_aws_inaccessible_imds_service_fails_with_retries PASSED [ 63%] tests/unittests/sources/test_ec2.py::TestEc2::test_aws_token_403_fails_without_retries PASSED [ 63%] tests/unittests/sources/test_ec2.py::TestEc2::test_aws_token_503_success_after_retries PASSED [ 63%] tests/unittests/sources/test_ec2.py::TestEc2::test_aws_token_redacted PASSED [ 63%] tests/unittests/sources/test_ec2.py::TestEc2::test_valid_platform_with_strict_true PASSED [ 63%] tests/unittests/sources/test_ec2.py::TestEc2::test_valid_platform_with_strict_false PASSED [ 63%] tests/unittests/sources/test_ec2.py::TestEc2::test_unknown_platform_with_strict_true PASSED [ 63%] tests/unittests/sources/test_ec2.py::TestEc2::test_unknown_platform_with_strict_false PASSED [ 63%] tests/unittests/sources/test_ec2.py::TestEc2::test_ec2_local_returns_false_on_non_aws PASSED [ 63%] tests/unittests/sources/test_ec2.py::TestEc2::test_ec2_local_returns_false_on_bsd PASSED [ 63%] tests/unittests/sources/test_ec2.py::TestEc2::test_ec2_local_performs_dhcp_on_non_bsd PASSED [ 63%] tests/unittests/sources/test_ec2.py::TestEc2::test_ec2_local_get_metadata_via_iterating_nics PASSED [ 63%] tests/unittests/sources/test_ec2.py::TestEc2::test_get_instance_tags PASSED [ 63%] tests/unittests/sources/test_ec2.py::TestGetSecondaryAddresses::test_md_with_no_secondary_addresses PASSED [ 63%] tests/unittests/sources/test_ec2.py::TestGetSecondaryAddresses::test_md_with_secondary_v4_and_v6_addresses PASSED [ 63%] tests/unittests/sources/test_ec2.py::TestGetSecondaryAddresses::test_invalid_ipv4_ipv6_cidr_metadata_logged_with_defaults PASSED [ 63%] tests/unittests/sources/test_ec2.py::TestBuildNicOrder::test_build_nic_order[all_empty] PASSED [ 63%] tests/unittests/sources/test_ec2.py::TestBuildNicOrder::test_build_nic_order[all_empty_sort_by_nic_name] PASSED [ 63%] tests/unittests/sources/test_ec2.py::TestBuildNicOrder::test_build_nic_order[empty_macs_metadata] PASSED [ 63%] tests/unittests/sources/test_ec2.py::TestBuildNicOrder::test_build_nic_order[empty_macs] PASSED [ 63%] tests/unittests/sources/test_ec2.py::TestBuildNicOrder::test_build_nic_order[no-device-number-info] PASSED [ 63%] tests/unittests/sources/test_ec2.py::TestBuildNicOrder::test_build_nic_order[no-device-number-info-subset] PASSED [ 63%] tests/unittests/sources/test_ec2.py::TestBuildNicOrder::test_build_nic_order[device-numbers] PASSED [ 63%] tests/unittests/sources/test_ec2.py::TestBuildNicOrder::test_build_nic_order[network-cardes] PASSED [ 63%] tests/unittests/sources/test_ec2.py::TestBuildNicOrder::test_build_nic_order[network-card-partially-missing] PASSED [ 63%] tests/unittests/sources/test_ec2.py::TestBuildNicOrder::test_build_nic_order[macs-not-in-md] PASSED [ 63%] tests/unittests/sources/test_ec2.py::TestBuildNicOrder::test_build_nic_order[empty_macs_metadata_sort_by_nic_name] PASSED [ 63%] tests/unittests/sources/test_ec2.py::TestBuildNicOrder::test_build_nic_order[empty_macs_sort_by_nic_name] PASSED [ 63%] tests/unittests/sources/test_ec2.py::TestBuildNicOrder::test_build_nic_order[no-device-number-info-sort-by-nic-name] PASSED [ 63%] tests/unittests/sources/test_ec2.py::TestBuildNicOrder::test_build_nic_order[no-device-number-info-subset-sort-by-nic-name] PASSED [ 63%] tests/unittests/sources/test_ec2.py::TestBuildNicOrder::test_build_nic_order[device-numbers-sort-by-nic-name] PASSED [ 63%] tests/unittests/sources/test_ec2.py::TestBuildNicOrder::test_build_nic_order[network-cardes-sort-by-nic-name] PASSED [ 63%] tests/unittests/sources/test_ec2.py::TestBuildNicOrder::test_build_nic_order[network-card-partially-missing-sort-by-nic-name] PASSED [ 63%] tests/unittests/sources/test_ec2.py::TestBuildNicOrder::test_build_nic_order[macs-not-in-md-sort-by-nic-name] PASSED [ 63%] tests/unittests/sources/test_ec2.py::TestBuildNicOrder::test_build_nic_order[no-device-number-info-extra-mac-sort-by-nic-name] PASSED [ 63%] tests/unittests/sources/test_ec2.py::TestConvertEc2MetadataNetworkConfig::test_convert_ec2_metadata_network_config_skips_absent_macs PASSED [ 63%] tests/unittests/sources/test_ec2.py::TestConvertEc2MetadataNetworkConfig::test_convert_ec2_metadata_network_config_handles_only_dhcp6 PASSED [ 63%] tests/unittests/sources/test_ec2.py::TestConvertEc2MetadataNetworkConfig::test_convert_ec2_metadata_network_config_local_only_dhcp4 PASSED [ 63%] tests/unittests/sources/test_ec2.py::TestConvertEc2MetadataNetworkConfig::test_convert_ec2_metadata_network_config_handles_absent_dhcp4 PASSED [ 63%] tests/unittests/sources/test_ec2.py::TestConvertEc2MetadataNetworkConfig::test_convert_ec2_metadata_network_config_handles_local_v4_and_v6 PASSED [ 63%] tests/unittests/sources/test_ec2.py::TestConvertEc2MetadataNetworkConfig::test_convert_ec2_metadata_network_config_multi_nics_ipv4 PASSED [ 63%] tests/unittests/sources/test_ec2.py::TestConvertEc2MetadataNetworkConfig::test_convert_ec2_metadata_network_config_multi_nics_ipv4_ipv6_multi_ip PASSED [ 63%] tests/unittests/sources/test_ec2.py::TestConvertEc2MetadataNetworkConfig::test_convert_ec2_metadata_network_config_multi_nics_ipv6_only PASSED [ 63%] tests/unittests/sources/test_ec2.py::TestConvertEc2MetadataNetworkConfig::test_convert_ec2_metadata_network_config_handles_dhcp4_and_dhcp6 PASSED [ 63%] tests/unittests/sources/test_ec2.py::TestConvertEc2MetadataNetworkConfig::test_convert_ec2_metadata_gets_macs_from_get_interfaces_by_mac PASSED [ 63%] tests/unittests/sources/test_ec2.py::TestIdentifyPlatform::test_identify_aws PASSED [ 63%] tests/unittests/sources/test_ec2.py::TestIdentifyPlatform::test_identify_tilaa[Tilaa-tilaa] PASSED [ 63%] tests/unittests/sources/test_ec2.py::TestIdentifyPlatform::test_identify_tilaa[NOTilaa-unknown] PASSED [ 64%] tests/unittests/sources/test_ec2.py::TestIdentifyPlatform::test_identify_aws_endian PASSED [ 64%] tests/unittests/sources/test_ec2.py::TestIdentifyPlatform::test_identify_zstack PASSED [ 64%] tests/unittests/sources/test_ec2.py::TestIdentifyPlatform::test_identify_zstack_full_domain_only PASSED [ 64%] tests/unittests/sources/test_ec2.py::TestIdentifyPlatform::test_identify_e24cloud PASSED [ 64%] tests/unittests/sources/test_ec2.py::TestIdentifyPlatform::test_identify_e24cloud_negative PASSED [ 64%] tests/unittests/sources/test_ec2.py::TestIdentifyPlatform::test_identify_outscale PASSED [ 64%] tests/unittests/sources/test_ec2.py::TestIdentifyPlatform::test_false_on_wrong_sys_vendor PASSED [ 64%] tests/unittests/sources/test_ec2.py::TestIdentifyPlatform::test_false_on_wrong_product_name PASSED [ 64%] tests/unittests/sources/test_ec2.py::TestPreferElasticNics::test_is_stable_when_no_elastic PASSED [ 64%] tests/unittests/sources/test_ec2.py::TestPreferElasticNics::test_is_stable_when_all_elastic PASSED [ 64%] tests/unittests/sources/test_ec2.py::TestPreferElasticNics::test_prefers_elastic_interfaces PASSED [ 64%] tests/unittests/sources/test_exoscale.py::TestDatasourceExoscale::test_password_saved PASSED [ 64%] tests/unittests/sources/test_exoscale.py::TestDatasourceExoscale::test_password_empty PASSED [ 64%] tests/unittests/sources/test_exoscale.py::TestDatasourceExoscale::test_password PASSED [ 64%] tests/unittests/sources/test_exoscale.py::TestDatasourceExoscale::test_activate_removes_set_passwords_semaphore PASSED [ 64%] tests/unittests/sources/test_exoscale.py::TestDatasourceExoscale::test_get_data PASSED [ 64%] tests/unittests/sources/test_exoscale.py::TestDatasourceExoscale::test_get_data_saved_password PASSED [ 64%] tests/unittests/sources/test_exoscale.py::TestDatasourceExoscale::test_get_data_no_password PASSED [ 64%] tests/unittests/sources/test_exoscale.py::TestDatasourceExoscale::test_read_metadata_when_password_server_unreachable PASSED [ 64%] tests/unittests/sources/test_exoscale.py::TestDatasourceExoscale::test_non_viable_platform PASSED [ 64%] tests/unittests/sources/test_gce.py::TestDataSourceGCE::test_connection PASSED [ 64%] tests/unittests/sources/test_gce.py::TestDataSourceGCE::test_metadata PASSED [ 64%] tests/unittests/sources/test_gce.py::TestDataSourceGCE::test_metadata_partial PASSED [ 64%] tests/unittests/sources/test_gce.py::TestDataSourceGCE::test_userdata_no_encoding PASSED [ 64%] tests/unittests/sources/test_gce.py::TestDataSourceGCE::test_metadata_encoding PASSED [ 64%] tests/unittests/sources/test_gce.py::TestDataSourceGCE::test_missing_required_keys_return_false PASSED [ 64%] tests/unittests/sources/test_gce.py::TestDataSourceGCE::test_no_ssh_keys_metadata PASSED [ 64%] tests/unittests/sources/test_gce.py::TestDataSourceGCE::test_cloudinit_ssh_keys PASSED [ 64%] tests/unittests/sources/test_gce.py::TestDataSourceGCE::test_default_user_ssh_keys PASSED [ 64%] tests/unittests/sources/test_gce.py::TestDataSourceGCE::test_instance_ssh_keys_override PASSED [ 64%] tests/unittests/sources/test_gce.py::TestDataSourceGCE::test_block_project_ssh_keys_override PASSED [ 64%] tests/unittests/sources/test_gce.py::TestDataSourceGCE::test_only_last_part_of_zone_used_for_availability_zone PASSED [ 64%] tests/unittests/sources/test_gce.py::TestDataSourceGCE::test_get_data_returns_false_if_not_on_gce PASSED [ 64%] tests/unittests/sources/test_gce.py::TestDataSourceGCE::test_has_expired PASSED [ 64%] tests/unittests/sources/test_gce.py::TestDataSourceGCE::test_parse_public_keys_non_ascii PASSED [ 64%] tests/unittests/sources/test_gce.py::TestDataSourceGCE::test_publish_host_keys PASSED [ 64%] tests/unittests/sources/test_gce.py::TestDataSourceGCE::test_local_datasource_uses_ephemeral_dhcp PASSED [ 64%] tests/unittests/sources/test_gce.py::TestDataSourceGCE::test_local_datasource_tries_on_multi_nic PASSED [ 64%] tests/unittests/sources/test_gce.py::TestDataSourceGCE::test_datasource_doesnt_use_ephemeral_dhcp PASSED [ 64%] tests/unittests/sources/test_gce.py::TestDataSourceGCE::test_datasource_on_dhcp_lease_failure PASSED [ 64%] tests/unittests/sources/test_gce.py::TestDataSourceGCE::test_instance_and_project_data_decoded PASSED [ 64%] tests/unittests/sources/test_hetzner.py::TestDataSourceHetzner::test_read_data PASSED [ 64%] tests/unittests/sources/test_hetzner.py::TestDataSourceHetzner::test_not_on_hetzner_returns_false PASSED [ 64%] tests/unittests/sources/test_ibmcloud.py::TestGetIBMPlatform::test_id_template_live_metadata PASSED [ 64%] tests/unittests/sources/test_ibmcloud.py::TestGetIBMPlatform::test_id_template_prov_metadata PASSED [ 64%] tests/unittests/sources/test_ibmcloud.py::TestGetIBMPlatform::test_id_template_prov_nodata PASSED [ 64%] tests/unittests/sources/test_ibmcloud.py::TestGetIBMPlatform::test_id_os_code PASSED [ 64%] tests/unittests/sources/test_ibmcloud.py::TestGetIBMPlatform::test_id_os_code_must_match_uuid PASSED [ 64%] tests/unittests/sources/test_ibmcloud.py::TestReadMD::test_provisioning_md PASSED [ 64%] tests/unittests/sources/test_ibmcloud.py::TestReadMD::test_provisioning_no_metadata PASSED [ 64%] tests/unittests/sources/test_ibmcloud.py::TestReadMD::test_provisioning_not_ibm PASSED [ 64%] tests/unittests/sources/test_ibmcloud.py::TestReadMD::test_template_live PASSED [ 64%] tests/unittests/sources/test_ibmcloud.py::TestReadMD::test_os_code_live PASSED [ 64%] tests/unittests/sources/test_ibmcloud.py::TestReadMD::test_os_code_live_no_userdata PASSED [ 64%] tests/unittests/sources/test_ibmcloud.py::TestIsIBMProvisioning::test_no_config PASSED [ 64%] tests/unittests/sources/test_ibmcloud.py::TestIsIBMProvisioning::test_config_only PASSED [ 64%] tests/unittests/sources/test_ibmcloud.py::TestIsIBMProvisioning::test_config_with_old_log PASSED [ 65%] tests/unittests/sources/test_ibmcloud.py::TestIsIBMProvisioning::test_config_with_new_log PASSED [ 65%] tests/unittests/sources/test_ibmcloud.py::TestIsIBMProvisioning::test_config_and_log_no_reference PASSED [ 65%] tests/unittests/sources/test_ibmcloud.py::TestDataSourceIBMCloud::test_get_data_false PASSED [ 65%] tests/unittests/sources/test_ibmcloud.py::TestDataSourceIBMCloud::test_get_data_processes_read_md PASSED [ 65%] tests/unittests/sources/test_init.py::TestDataSource::test_datasource_init PASSED [ 65%] tests/unittests/sources/test_init.py::TestDataSource::test_datasource_init_gets_ds_cfg_using_dsname PASSED [ 65%] tests/unittests/sources/test_init.py::TestDataSource::test_str_is_classname PASSED [ 65%] tests/unittests/sources/test_init.py::TestDataSource::test_datasource_get_url_params_defaults PASSED [ 65%] tests/unittests/sources/test_init.py::TestDataSource::test_datasource_get_url_params_subclassed PASSED [ 65%] tests/unittests/sources/test_init.py::TestDataSource::test_datasource_get_url_params_ds_config_override PASSED [ 65%] tests/unittests/sources/test_init.py::TestDataSource::test_datasource_get_url_params_is_zero_or_greater PASSED [ 65%] tests/unittests/sources/test_init.py::TestDataSource::test_datasource_get_url_uses_defaults_on_errors PASSED [ 65%] tests/unittests/sources/test_init.py::TestDataSource::test_fallback_interface_is_discovered PASSED [ 65%] tests/unittests/sources/test_init.py::TestDataSource::test_fallback_interface_logs_undiscovered PASSED [ 65%] tests/unittests/sources/test_init.py::TestDataSource::test_wb_fallback_interface_is_cached PASSED [ 65%] tests/unittests/sources/test_init.py::TestDataSource::test__get_data_unimplemented PASSED [ 65%] tests/unittests/sources/test_init.py::TestDataSource::test_get_data_calls_subclass__get_data PASSED [ 65%] tests/unittests/sources/test_init.py::TestDataSource::test_get_hostname_strips_local_hostname_without_domain PASSED [ 65%] tests/unittests/sources/test_init.py::TestDataSource::test_get_hostname_with_fqdn_returns_local_hostname_with_domain PASSED [ 65%] tests/unittests/sources/test_init.py::TestDataSource::test_get_hostname_without_metadata_uses_system_hostname PASSED [ 65%] tests/unittests/sources/test_init.py::TestDataSource::test_get_hostname_without_metadata_returns_none PASSED [ 65%] tests/unittests/sources/test_init.py::TestDataSource::test_get_hostname_without_metadata_prefers_etc_hosts PASSED [ 65%] tests/unittests/sources/test_init.py::TestDataSource::test_get_data_does_not_write_instance_data_on_failure PASSED [ 65%] tests/unittests/sources/test_init.py::TestDataSource::test_get_data_writes_json_instance_data_on_success PASSED [ 65%] tests/unittests/sources/test_init.py::TestDataSource::test_get_data_writes_redacted_public_json_instance_data PASSED [ 65%] tests/unittests/sources/test_init.py::TestDataSource::test_get_data_writes_json_instance_data_sensitive PASSED [ 65%] tests/unittests/sources/test_init.py::TestDataSource::test_get_data_handles_redacted_unserializable_content PASSED [ 65%] tests/unittests/sources/test_init.py::TestDataSource::test_persist_instance_data_writes_ec2_metadata_when_set PASSED [ 65%] tests/unittests/sources/test_init.py::TestDataSource::test_persist_instance_data_writes_canonical_cloud_id_and_symlink PASSED [ 65%] tests/unittests/sources/test_init.py::TestDataSource::test_persist_instance_data_writes_network_json_when_set PASSED [ 65%] tests/unittests/sources/test_init.py::TestDataSource::test_persist_instance_serializes_datasource_pickle PASSED [ 65%] tests/unittests/sources/test_init.py::TestDataSource::test_get_data_base64encodes_unserializable_bytes PASSED [ 65%] tests/unittests/sources/test_init.py::TestDataSource::test_get_hostname_subclass_support PASSED [ 65%] tests/unittests/sources/test_init.py::TestDataSource::test_clear_cached_attrs_resets_cached_attr_class_attributes PASSED [ 65%] tests/unittests/sources/test_init.py::TestDataSource::test_clear_cached_attrs_noops_on_clean_cache PASSED [ 65%] tests/unittests/sources/test_init.py::TestDataSource::test_clear_cached_attrs_skips_non_attr_class_attributes PASSED [ 65%] tests/unittests/sources/test_init.py::TestDataSource::test_clear_cached_attrs_of_custom_attrs PASSED [ 65%] tests/unittests/sources/test_init.py::TestDataSource::test_update_metadata_only_acts_on_supported_update_events PASSED [ 65%] tests/unittests/sources/test_init.py::TestDataSource::test_update_metadata_returns_true_on_supported_update_event PASSED [ 65%] tests/unittests/sources/test_init.py::TestRedactSensitiveData::test_redact_sensitive_data_noop_when_no_sensitive_keys_present PASSED [ 65%] tests/unittests/sources/test_init.py::TestRedactSensitiveData::test_redact_sensitive_data_redacts_exact_match_name PASSED [ 65%] tests/unittests/sources/test_init.py::TestRedactSensitiveData::test_redact_sensitive_data_does_redacts_with_default_string PASSED [ 65%] tests/unittests/sources/test_init.py::TestCanonicalCloudID::test_cloud_id_returns_platform_on_unknowns PASSED [ 65%] tests/unittests/sources/test_init.py::TestCanonicalCloudID::test_cloud_id_returns_platform_on_none PASSED [ 65%] tests/unittests/sources/test_init.py::TestCanonicalCloudID::test_cloud_id_returns_cloud_name_on_unknown_region PASSED [ 65%] tests/unittests/sources/test_init.py::TestCanonicalCloudID::test_cloud_id_returns_platform_on_unknown_cloud_name PASSED [ 65%] tests/unittests/sources/test_init.py::TestCanonicalCloudID::test_cloud_id_aws_based_on_region_and_cloud_name PASSED [ 65%] tests/unittests/sources/test_init.py::TestCanonicalCloudID::test_cloud_id_azure_based_on_region_and_cloud_name PASSED [ 65%] tests/unittests/sources/test_lxd.py::TestGenerateFallbackNetworkConfig::test_net_v2_based_on_network_mode_virt_type_and_uname_machine[uname_machine0-None-expected0] PASSED [ 65%] tests/unittests/sources/test_lxd.py::TestGenerateFallbackNetworkConfig::test_net_v2_based_on_network_mode_virt_type_and_uname_machine[uname_machine1-None-expected1] PASSED [ 65%] tests/unittests/sources/test_lxd.py::TestGenerateFallbackNetworkConfig::test_net_v2_based_on_network_mode_virt_type_and_uname_machine[anything-lxc\n-expected2] PASSED [ 65%] tests/unittests/sources/test_lxd.py::TestGenerateFallbackNetworkConfig::test_net_v2_based_on_network_mode_virt_type_and_uname_machine[x86_64-kvm\n-expected3] PASSED [ 65%] tests/unittests/sources/test_lxd.py::TestGenerateFallbackNetworkConfig::test_net_v2_based_on_network_mode_virt_type_and_uname_machine[ppc64le-kvm\n-expected4] PASSED [ 65%] tests/unittests/sources/test_lxd.py::TestGenerateFallbackNetworkConfig::test_net_v2_based_on_network_mode_virt_type_and_uname_machine[s390x-kvm\n-expected5] PASSED [ 65%] tests/unittests/sources/test_lxd.py::TestNetworkConfig::test_provided_network_config PASSED [ 65%] tests/unittests/sources/test_lxd.py::TestNetworkConfig::test_provided_devices[multi-device] PASSED [ 65%] tests/unittests/sources/test_lxd.py::TestNetworkConfig::test_provided_devices[no-eth0] PASSED [ 66%] tests/unittests/sources/test_lxd.py::TestNetworkConfig::test_provided_devices[no-eth1] PASSED [ 66%] tests/unittests/sources/test_lxd.py::TestNetworkConfig::test_provided_devices[device-list-empty] PASSED [ 66%] tests/unittests/sources/test_lxd.py::TestDataSourceLXD::test_platform_info PASSED [ 66%] tests/unittests/sources/test_lxd.py::TestDataSourceLXD::test_subplatform PASSED [ 66%] tests/unittests/sources/test_lxd.py::TestDataSourceLXD::test__get_data PASSED [ 66%] tests/unittests/sources/test_lxd.py::TestDataSourceLXD::test_network_config_when_unset PASSED [ 66%] tests/unittests/sources/test_lxd.py::TestDataSourceLXD::test_network_config_crawled_metadata_no_network_config PASSED [ 66%] tests/unittests/sources/test_lxd.py::TestIsPlatformViable::test_expected_viable[False-None-False] PASSED [ 66%] tests/unittests/sources/test_lxd.py::TestIsPlatformViable::test_expected_viable[True-32768-False] PASSED [ 66%] tests/unittests/sources/test_lxd.py::TestIsPlatformViable::test_expected_viable[True-49152-True] PASSED [ 66%] tests/unittests/sources/test_lxd.py::TestReadMetadata::test_read_metadata_handles_unexpected_content_or_http_status[False-url_responses0-expected0-logs0] PASSED [ 66%] tests/unittests/sources/test_lxd.py::TestReadMetadata::test_read_metadata_handles_unexpected_content_or_http_status[False-url_responses1-expected1-logs1] PASSED [ 66%] tests/unittests/sources/test_lxd.py::TestReadMetadata::test_read_metadata_handles_unexpected_content_or_http_status[True-url_responses2-expected2-logs2] PASSED [ 66%] tests/unittests/sources/test_lxd.py::TestReadMetadata::test_read_metadata_handles_unexpected_content_or_http_status[True-url_responses3-expected3-logs3] PASSED [ 66%] tests/unittests/sources/test_lxd.py::TestReadMetadata::test_read_metadata_handles_unexpected_content_or_http_status[True-url_responses4-expected4-logs4] PASSED [ 66%] tests/unittests/sources/test_lxd.py::TestReadMetadata::test_read_metadata_handles_unexpected_content_or_http_status[False-url_responses5-expected5-logs5] PASSED [ 66%] tests/unittests/sources/test_lxd.py::TestReadMetadata::test_read_metadata_handles_unexpected_content_or_http_status[False-url_responses6-expected6-logs6] PASSED [ 66%] tests/unittests/sources/test_lxd.py::TestReadMetadata::test_read_metadata_handles_unexpected_content_or_http_status[False-url_responses7-expected7-logs7] PASSED [ 66%] tests/unittests/sources/test_lxd.py::TestReadMetadata::test_read_metadata_keys[MetaDataKeys.NONE-expected_get_urls0] PASSED [ 66%] tests/unittests/sources/test_lxd.py::TestReadMetadata::test_read_metadata_keys[MetaDataKeys.META_DATA-expected_get_urls1] PASSED [ 66%] tests/unittests/sources/test_lxd.py::TestReadMetadata::test_read_metadata_keys[MetaDataKeys.CONFIG-expected_get_urls2] PASSED [ 66%] tests/unittests/sources/test_lxd.py::TestReadMetadata::test_read_metadata_keys[MetaDataKeys.DEVICES-expected_get_urls3] PASSED [ 66%] tests/unittests/sources/test_lxd.py::TestReadMetadata::test_read_metadata_keys[MetaDataKeys.CONFIG|DEVICES-expected_get_urls4] PASSED [ 66%] tests/unittests/sources/test_lxd.py::TestReadMetadata::test_read_metadata_keys[MetaDataKeys.ALL-expected_get_urls5] PASSED [ 66%] tests/unittests/sources/test_lxd.py::TestReadMetadata::test_socket_retry PASSED [ 66%] tests/unittests/sources/test_maas.py::TestMAASDataSource::test_seed_dir_valid PASSED [ 66%] tests/unittests/sources/test_maas.py::TestMAASDataSource::test_seed_dir_valid_extra PASSED [ 66%] tests/unittests/sources/test_maas.py::TestMAASDataSource::test_seed_dir_invalid PASSED [ 66%] tests/unittests/sources/test_maas.py::TestMAASDataSource::test_seed_dir_none PASSED [ 66%] tests/unittests/sources/test_maas.py::TestMAASDataSource::test_seed_dir_missing PASSED [ 66%] tests/unittests/sources/test_maas.py::TestMAASDataSource::test_seed_url_valid PASSED [ 66%] tests/unittests/sources/test_maas.py::TestMAASDataSource::test_seed_url_vendor_data_dict PASSED [ 66%] tests/unittests/sources/test_maas.py::TestMAASDataSource::tests_wb_local_stage_detects_datasource_on_initramfs_network[no_maas_local_when_missing_run_files_and_cmdline] PASSED [ 66%] tests/unittests/sources/test_maas.py::TestMAASDataSource::tests_wb_local_stage_detects_datasource_on_initramfs_network[no_maas_local_when_run_files_and_no_cmdline] PASSED [ 66%] tests/unittests/sources/test_maas.py::TestMAASDataSource::tests_wb_local_stage_detects_datasource_on_initramfs_network[maas_local_when_run_and_ip_cmdline_present] PASSED [ 66%] tests/unittests/sources/test_maas.py::TestMAASDataSource::test_get_data_with_retry PASSED [ 66%] tests/unittests/sources/test_maas.py::TestGetOauthHelper::test_all_required PASSED [ 66%] tests/unittests/sources/test_maas.py::TestGetOauthHelper::test_other_fields_not_passed_through PASSED [ 66%] tests/unittests/sources/test_maas.py::TestGetIdHash::test_v1_expected PASSED [ 66%] tests/unittests/sources/test_maas.py::TestGetIdHash::test_v1_extra_fields_are_ignored PASSED [ 66%] tests/unittests/sources/test_nocloud.py::TestNoCloudDataSource::test_nocloud_seed_dir_on_lxd PASSED [ 66%] tests/unittests/sources/test_nocloud.py::TestNoCloudDataSource::test_nocloud_seed_dir_non_lxd_platform_is_nocloud PASSED [ 66%] tests/unittests/sources/test_nocloud.py::TestNoCloudDataSource::test_nocloud_seedfrom PASSED [ 66%] tests/unittests/sources/test_nocloud.py::TestNoCloudDataSource::test_nocloud_user_data_meta_data PASSED [ 66%] tests/unittests/sources/test_nocloud.py::TestNoCloudDataSource::test_fs_label PASSED [ 66%] tests/unittests/sources/test_nocloud.py::TestNoCloudDataSource::test_fs_config_lowercase_label PASSED [ 66%] tests/unittests/sources/test_nocloud.py::TestNoCloudDataSource::test_fs_config_uppercase_label PASSED [ 66%] tests/unittests/sources/test_nocloud.py::TestNoCloudDataSource::test_fs_config_lowercase_label_search_uppercase PASSED [ 66%] tests/unittests/sources/test_nocloud.py::TestNoCloudDataSource::test_fs_config_uppercase_label_search_uppercase PASSED [ 66%] tests/unittests/sources/test_nocloud.py::TestNoCloudDataSource::test_no_datasource_expected PASSED [ 66%] tests/unittests/sources/test_nocloud.py::TestNoCloudDataSource::test_seed_in_config PASSED [ 66%] tests/unittests/sources/test_nocloud.py::TestNoCloudDataSource::test_nocloud_seed_with_vendordata PASSED [ 66%] tests/unittests/sources/test_nocloud.py::TestNoCloudDataSource::test_nocloud_no_vendordata PASSED [ 66%] tests/unittests/sources/test_nocloud.py::TestNoCloudDataSource::test_metadata_network_interfaces PASSED [ 66%] tests/unittests/sources/test_nocloud.py::TestNoCloudDataSource::test_metadata_network_config PASSED [ 66%] tests/unittests/sources/test_nocloud.py::TestNoCloudDataSource::test_metadata_network_config_over_interfaces PASSED [ 66%] tests/unittests/sources/test_nocloud.py::TestNoCloudDataSource::test_nocloud_get_devices_freebsd PASSED [ 66%] tests/unittests/sources/test_nocloud.py::TestParseCommandLineData::test_parse_cmdline_data_valid PASSED [ 67%] tests/unittests/sources/test_nocloud.py::TestParseCommandLineData::test_parse_cmdline_data_none PASSED [ 67%] tests/unittests/sources/test_nwcs.py::TestDataSourceNWCS::test_read_data PASSED [ 67%] tests/unittests/sources/test_nwcs.py::TestDataSourceNWCS::test_not_on_nwcs_returns_false PASSED [ 67%] tests/unittests/sources/test_nwcs.py::TestDataSourceNWCS::test_get_interface_name PASSED [ 67%] tests/unittests/sources/test_opennebula.py::TestOpenNebulaDataSource::test_get_data_non_contextdisk PASSED [ 67%] tests/unittests/sources/test_opennebula.py::TestOpenNebulaDataSource::test_get_data_broken_contextdisk PASSED [ 67%] tests/unittests/sources/test_opennebula.py::TestOpenNebulaDataSource::test_get_data_invalid_identity PASSED [ 67%] tests/unittests/sources/test_opennebula.py::TestOpenNebulaDataSource::test_get_data PASSED [ 67%] tests/unittests/sources/test_opennebula.py::TestOpenNebulaDataSource::test_seed_dir_non_contextdisk PASSED [ 67%] tests/unittests/sources/test_opennebula.py::TestOpenNebulaDataSource::test_seed_dir_empty1_context PASSED [ 67%] tests/unittests/sources/test_opennebula.py::TestOpenNebulaDataSource::test_seed_dir_empty2_context PASSED [ 67%] tests/unittests/sources/test_opennebula.py::TestOpenNebulaDataSource::test_seed_dir_broken_context PASSED [ 67%] tests/unittests/sources/test_opennebula.py::TestOpenNebulaDataSource::test_context_parser PASSED [ 67%] tests/unittests/sources/test_opennebula.py::TestOpenNebulaDataSource::test_ssh_key PASSED [ 67%] tests/unittests/sources/test_opennebula.py::TestOpenNebulaDataSource::test_user_data_plain PASSED [ 67%] tests/unittests/sources/test_opennebula.py::TestOpenNebulaDataSource::test_user_data_encoding_required_for_decode PASSED [ 67%] tests/unittests/sources/test_opennebula.py::TestOpenNebulaDataSource::test_user_data_base64_encoding PASSED [ 67%] tests/unittests/sources/test_opennebula.py::TestOpenNebulaDataSource::test_hostname PASSED [ 67%] tests/unittests/sources/test_opennebula.py::TestOpenNebulaDataSource::test_network_interfaces PASSED [ 67%] tests/unittests/sources/test_opennebula.py::TestOpenNebulaDataSource::test_find_candidates PASSED [ 67%] tests/unittests/sources/test_opennebula.py::TestOpenNebulaNetwork::test_context_devname PASSED [ 67%] tests/unittests/sources/test_opennebula.py::TestOpenNebulaNetwork::test_get_nameservers PASSED [ 67%] tests/unittests/sources/test_opennebula.py::TestOpenNebulaNetwork::test_get_mtu PASSED [ 67%] tests/unittests/sources/test_opennebula.py::TestOpenNebulaNetwork::test_get_ip PASSED [ 67%] tests/unittests/sources/test_opennebula.py::TestOpenNebulaNetwork::test_get_ip_emptystring PASSED [ 67%] tests/unittests/sources/test_opennebula.py::TestOpenNebulaNetwork::test_get_ip6 PASSED [ 67%] tests/unittests/sources/test_opennebula.py::TestOpenNebulaNetwork::test_get_ip6_ula PASSED [ 67%] tests/unittests/sources/test_opennebula.py::TestOpenNebulaNetwork::test_get_ip6_dual PASSED [ 67%] tests/unittests/sources/test_opennebula.py::TestOpenNebulaNetwork::test_get_ip6_prefix PASSED [ 67%] tests/unittests/sources/test_opennebula.py::TestOpenNebulaNetwork::test_get_ip6_prefix_emptystring PASSED [ 67%] tests/unittests/sources/test_opennebula.py::TestOpenNebulaNetwork::test_get_gateway PASSED [ 67%] tests/unittests/sources/test_opennebula.py::TestOpenNebulaNetwork::test_get_gateway6 PASSED [ 67%] tests/unittests/sources/test_opennebula.py::TestOpenNebulaNetwork::test_get_mask PASSED [ 67%] tests/unittests/sources/test_opennebula.py::TestOpenNebulaNetwork::test_get_mask_emptystring PASSED [ 67%] tests/unittests/sources/test_opennebula.py::TestOpenNebulaNetwork::test_get_field PASSED [ 67%] tests/unittests/sources/test_opennebula.py::TestOpenNebulaNetwork::test_get_field_withdefaultvalue PASSED [ 67%] tests/unittests/sources/test_opennebula.py::TestOpenNebulaNetwork::test_get_field_withdefaultvalue_emptycontext PASSED [ 67%] tests/unittests/sources/test_opennebula.py::TestOpenNebulaNetwork::test_get_field_emptycontext PASSED [ 67%] tests/unittests/sources/test_opennebula.py::TestOpenNebulaNetwork::test_gen_conf_gateway PASSED [ 67%] tests/unittests/sources/test_opennebula.py::TestOpenNebulaNetwork::test_gen_conf_gateway6 PASSED [ 67%] tests/unittests/sources/test_opennebula.py::TestOpenNebulaNetwork::test_gen_conf_ipv6address PASSED [ 67%] tests/unittests/sources/test_opennebula.py::TestOpenNebulaNetwork::test_gen_conf_dns PASSED [ 67%] tests/unittests/sources/test_opennebula.py::TestOpenNebulaNetwork::test_gen_conf_mtu PASSED [ 67%] tests/unittests/sources/test_opennebula.py::TestOpenNebulaNetwork::test_eth0 PASSED [ 67%] tests/unittests/sources/test_opennebula.py::TestOpenNebulaNetwork::test_distro_passed_through PASSED [ 67%] tests/unittests/sources/test_opennebula.py::TestOpenNebulaNetwork::test_eth0_override PASSED [ 67%] tests/unittests/sources/test_opennebula.py::TestOpenNebulaNetwork::test_eth0_v4v6_override PASSED [ 67%] tests/unittests/sources/test_opennebula.py::TestOpenNebulaNetwork::test_multiple_nics PASSED [ 67%] tests/unittests/sources/test_opennebula.py::TestOpenNebulaNetwork::test_get_nameservers_search_domain[global_only] PASSED [ 67%] tests/unittests/sources/test_opennebula.py::TestOpenNebulaNetwork::test_get_nameservers_search_domain[per_interface_and_global] PASSED [ 67%] tests/unittests/sources/test_opennebula.py::TestOpenNebulaNetwork::test_get_nameservers_search_domain[per_interface_only] PASSED [ 67%] tests/unittests/sources/test_opennebula.py::TestOpenNebulaNetwork::test_get_nameservers_search_domain[dedup_iface_order_preferred] PASSED [ 67%] tests/unittests/sources/test_opennebula.py::TestOpenNebulaNetwork::test_gen_conf_global_search_domain PASSED [ 67%] tests/unittests/sources/test_opennebula.py::TestOpenNebulaNetwork::test_gen_conf_global_search_domain_multiple_nics PASSED [ 67%] tests/unittests/sources/test_opennebula.py::TestOpenNebulaNetwork::test_get_routes[absent] PASSED [ 67%] tests/unittests/sources/test_opennebula.py::TestOpenNebulaNetwork::test_get_routes[empty_string] PASSED [ 67%] tests/unittests/sources/test_opennebula.py::TestOpenNebulaNetwork::test_get_routes[single_entry] PASSED [ 68%] tests/unittests/sources/test_opennebula.py::TestOpenNebulaNetwork::test_get_routes[multiple_comma_separated_entries] PASSED [ 68%] tests/unittests/sources/test_opennebula.py::TestOpenNebulaNetwork::test_get_routes[malformed_entry_skipped] PASSED [ 68%] tests/unittests/sources/test_opennebula.py::TestOpenNebulaNetwork::test_gen_conf_routes PASSED [ 68%] tests/unittests/sources/test_opennebula.py::TestOpenNebulaNetwork::test_gen_conf_no_routes_key_when_absent PASSED [ 68%] tests/unittests/sources/test_opennebula.py::TestParseShellConfig::test_no_seconds PASSED [ 68%] tests/unittests/sources/test_opennebula.py::TestGetPhysicalNicsByMac::test[interfaces_by_mac0-physical_devs0-expected_return0] PASSED [ 68%] tests/unittests/sources/test_opennebula.py::TestGetPhysicalNicsByMac::test[interfaces_by_mac1-physical_devs1-expected_return1] PASSED [ 68%] tests/unittests/sources/test_opennebula.py::TestGetPhysicalNicsByMac::test[interfaces_by_mac2-physical_devs2-expected_return2] PASSED [ 68%] tests/unittests/sources/test_opennebula.py::TestGetPhysicalNicsByMac::test[interfaces_by_mac3-physical_devs3-expected_return3] PASSED [ 68%] tests/unittests/sources/test_openstack.py::TestOpenStackDataSource::test_successful PASSED [ 68%] tests/unittests/sources/test_openstack.py::TestOpenStackDataSource::test_no_ec2 PASSED [ 68%] tests/unittests/sources/test_openstack.py::TestOpenStackDataSource::test_bad_metadata PASSED [ 68%] tests/unittests/sources/test_openstack.py::TestOpenStackDataSource::test_bad_uuid PASSED [ 68%] tests/unittests/sources/test_openstack.py::TestOpenStackDataSource::test_userdata_empty PASSED [ 68%] tests/unittests/sources/test_openstack.py::TestOpenStackDataSource::test_vendordata_empty PASSED [ 68%] tests/unittests/sources/test_openstack.py::TestOpenStackDataSource::test_vendordata2_empty PASSED [ 68%] tests/unittests/sources/test_openstack.py::TestOpenStackDataSource::test_vendordata_invalid PASSED [ 68%] tests/unittests/sources/test_openstack.py::TestOpenStackDataSource::test_vendordata2_invalid PASSED [ 68%] tests/unittests/sources/test_openstack.py::TestOpenStackDataSource::test_metadata_invalid PASSED [ 68%] tests/unittests/sources/test_openstack.py::TestOpenStackDataSource::test_datasource PASSED [ 68%] tests/unittests/sources/test_openstack.py::TestOpenStackDataSource::test_local_datasource PASSED [ 68%] tests/unittests/sources/test_openstack.py::TestOpenStackDataSource::test_bad_datasource_meta PASSED [ 68%] tests/unittests/sources/test_openstack.py::TestOpenStackDataSource::test_no_datasource PASSED [ 68%] tests/unittests/sources/test_openstack.py::TestOpenStackDataSource::test_network_config_disabled_by_datasource_config PASSED [ 68%] tests/unittests/sources/test_openstack.py::TestOpenStackDataSource::test_network_config_from_network_json PASSED [ 68%] tests/unittests/sources/test_openstack.py::TestOpenStackDataSource::test_network_config_cached PASSED [ 68%] tests/unittests/sources/test_openstack.py::TestOpenStackDataSource::test_disabled_datasource PASSED [ 68%] tests/unittests/sources/test_openstack.py::TestOpenStackDataSource::test_wb__crawl_metadata_does_not_persist PASSED [ 68%] tests/unittests/sources/test_openstack.py::TestVendorDataLoading::test_vd_load_none PASSED [ 68%] tests/unittests/sources/test_openstack.py::TestVendorDataLoading::test_vd_load_string PASSED [ 68%] tests/unittests/sources/test_openstack.py::TestVendorDataLoading::test_vd_load_list PASSED [ 68%] tests/unittests/sources/test_openstack.py::TestVendorDataLoading::test_vd_load_dict_no_ci PASSED [ 68%] tests/unittests/sources/test_openstack.py::TestVendorDataLoading::test_vd_load_dict_ci_dict PASSED [ 68%] tests/unittests/sources/test_openstack.py::TestVendorDataLoading::test_vd_load_dict_ci_string PASSED [ 68%] tests/unittests/sources/test_openstack.py::TestVendorDataLoading::test_vd_load_dict_ci_list PASSED [ 68%] tests/unittests/sources/test_openstack.py::TestDetectOpenStack::test_ds_detect_non_intel_x86 PASSED [ 68%] tests/unittests/sources/test_openstack.py::TestDetectOpenStack::test_not_ds_detect_intel_x86_ec2 PASSED [ 68%] tests/unittests/sources/test_openstack.py::TestDetectOpenStack::test_ds_detect_intel_product_name_compute PASSED [ 68%] tests/unittests/sources/test_openstack.py::TestDetectOpenStack::test_ds_detect_opentelekomcloud_chassis_asset_tag PASSED [ 68%] tests/unittests/sources/test_openstack.py::TestDetectOpenStack::test_ds_detect_sapccloud_chassis_asset_tag PASSED [ 68%] tests/unittests/sources/test_openstack.py::TestDetectOpenStack::test_ds_detect_huaweicloud_chassis_asset_tag PASSED [ 68%] tests/unittests/sources/test_openstack.py::TestDetectOpenStack::test_ds_detect_samsung_cloud_platform_chassis_asset_tag PASSED [ 68%] tests/unittests/sources/test_openstack.py::TestDetectOpenStack::test_ds_detect_oraclecloud_chassis_asset_tag PASSED [ 68%] tests/unittests/sources/test_openstack.py::TestDetectOpenStack::test_ds_detect_chassis_asset_tag[OpenStack Nova] PASSED [ 68%] tests/unittests/sources/test_openstack.py::TestDetectOpenStack::test_ds_detect_chassis_asset_tag[OpenStack Compute] PASSED [ 68%] tests/unittests/sources/test_openstack.py::TestDetectOpenStack::test_ds_detect_by_proc_1_environ PASSED [ 68%] tests/unittests/sources/test_openstack.py::TestMetadataReader::test__find_working_version PASSED [ 68%] tests/unittests/sources/test_openstack.py::TestMetadataReader::test__find_working_version_uses_latest PASSED [ 68%] tests/unittests/sources/test_openstack.py::TestMetadataReader::test_read_v2_os_ocata PASSED [ 68%] tests/unittests/sources/test_oracle.py::TestDataSourceOracle::test_check_instance_id PASSED [ 68%] tests/unittests/sources/test_oracle.py::TestDataSourceOracle::test_get_public_ssh_keys PASSED [ 68%] tests/unittests/sources/test_oracle.py::TestDataSourceOracle::test_platform_info PASSED [ 68%] tests/unittests/sources/test_oracle.py::TestDataSourceOracle::test_subplatform_before_fetch PASSED [ 68%] tests/unittests/sources/test_oracle.py::TestDataSourceOracle::test_platform_info_after_fetch[1] PASSED [ 68%] tests/unittests/sources/test_oracle.py::TestDataSourceOracle::test_platform_info_after_fetch[2] PASSED [ 68%] tests/unittests/sources/test_oracle.py::TestDataSourceOracle::test_secondary_nics_disabled_by_default PASSED [ 68%] tests/unittests/sources/test_oracle.py::TestDataSourceOracle::test_sys_cfg_can_enable_configure_secondary_nics PASSED [ 69%] tests/unittests/sources/test_oracle.py::TestIsPlatformViable::test_ds_detect[OracleCloud.com-True] PASSED [ 69%] tests/unittests/sources/test_oracle.py::TestIsPlatformViable::test_ds_detect[None-False] PASSED [ 69%] tests/unittests/sources/test_oracle.py::TestIsPlatformViable::test_ds_detect[LetsGoCubs-False] PASSED [ 69%] tests/unittests/sources/test_oracle.py::TestIbftHasIscsiBootTarget::test_flag_values[flags_contents0-True] PASSED [ 69%] tests/unittests/sources/test_oracle.py::TestIbftHasIscsiBootTarget::test_flag_values[flags_contents1-False] PASSED [ 69%] tests/unittests/sources/test_oracle.py::TestIbftHasIscsiBootTarget::test_flag_values[flags_contents2-False] PASSED [ 69%] tests/unittests/sources/test_oracle.py::TestIbftHasIscsiBootTarget::test_flag_values[flags_contents3-False] PASSED [ 69%] tests/unittests/sources/test_oracle.py::TestIbftHasIscsiBootTarget::test_flag_values[flags_contents4-True] PASSED [ 69%] tests/unittests/sources/test_oracle.py::TestIbftHasIscsiBootTarget::test_flag_values[flags_contents5-False] PASSED [ 69%] tests/unittests/sources/test_oracle.py::TestIbftHasIscsiBootTarget::test_flag_values[flags_contents6-False] PASSED [ 69%] tests/unittests/sources/test_oracle.py::TestIbftHasIscsiBootTarget::test_flag_values[flags_contents7-False] PASSED [ 69%] tests/unittests/sources/test_oracle.py::TestIbftHasIscsiBootTarget::test_unreadable_flags_are_skipped[FileNotFoundError] PASSED [ 69%] tests/unittests/sources/test_oracle.py::TestIbftHasIscsiBootTarget::test_unreadable_flags_are_skipped[PermissionError] PASSED [ 69%] tests/unittests/sources/test_oracle.py::TestNetworkConfigFromOpcImds::test_no_secondary_nics_does_not_mutate_input PASSED [ 69%] tests/unittests/sources/test_oracle.py::TestNetworkConfigFromOpcImds::test_bare_metal_machine_skipped PASSED [ 69%] tests/unittests/sources/test_oracle.py::TestNetworkConfigFromOpcImds::test_missing_mac_skipped[v1] PASSED [ 69%] tests/unittests/sources/test_oracle.py::TestNetworkConfigFromOpcImds::test_missing_mac_skipped[v2] PASSED [ 69%] tests/unittests/sources/test_oracle.py::TestNetworkConfigFromOpcImds::test_imds_nic_setup_v1[True] PASSED [ 69%] tests/unittests/sources/test_oracle.py::TestNetworkConfigFromOpcImds::test_imds_nic_setup_v1[False] PASSED [ 69%] tests/unittests/sources/test_oracle.py::TestNetworkConfigFromOpcImds::test_imds_nic_setup_v1_ipv6_only[set_primary] PASSED [ 69%] tests/unittests/sources/test_oracle.py::TestNetworkConfigFromOpcImds::test_imds_nic_setup_v1_ipv6_only[dont_set_primary] PASSED [ 69%] tests/unittests/sources/test_oracle.py::TestNetworkConfigFromOpcImds::test_network_config_log_errors[False-None] PASSED [ 69%] tests/unittests/sources/test_oracle.py::TestNetworkConfigFromOpcImds::test_network_config_log_errors[False-Exception] PASSED [ 69%] tests/unittests/sources/test_oracle.py::TestNetworkConfigFromOpcImds::test_network_config_log_errors[True-None] PASSED [ 69%] tests/unittests/sources/test_oracle.py::TestNetworkConfigFromOpcImds::test_network_config_log_errors[True-Exception] PASSED [ 69%] tests/unittests/sources/test_oracle.py::TestNetworkConfigFiltersNetFailover::test_ignore_network_config[bogus] PASSED [ 69%] tests/unittests/sources/test_oracle.py::TestNetworkConfigFiltersNetFailover::test_ignore_network_config[unknown_version] PASSED [ 69%] tests/unittests/sources/test_oracle.py::TestNetworkConfigFiltersNetFailover::test__ensure_netfailover_safe[checks_v1_type_physical_interfaces] PASSED [ 69%] tests/unittests/sources/test_oracle.py::TestNetworkConfigFiltersNetFailover::test__ensure_netfailover_safe[skips_v1_non_phys_interfaces] PASSED [ 69%] tests/unittests/sources/test_oracle.py::TestNetworkConfigFiltersNetFailover::test__ensure_netfailover_safe[checks_v2_type_ethernet_interfaces] PASSED [ 69%] tests/unittests/sources/test_oracle.py::TestNetworkConfigFiltersNetFailover::test__ensure_netfailover_safe[skips_v2_non_ethernet_interfaces] PASSED [ 69%] tests/unittests/sources/test_oracle.py::TestNetworkConfigFiltersNetFailover::test_removes_master_mac_property_v1 PASSED [ 69%] tests/unittests/sources/test_oracle.py::TestNetworkConfigFiltersNetFailover::test_removes_master_mac_property_v2 PASSED [ 69%] tests/unittests/sources/test_oracle.py::TestReadOpcMetadata::test_metadata_returned[v2_with_vnic_data] PASSED [ 69%] tests/unittests/sources/test_oracle.py::TestReadOpcMetadata::test_metadata_returned[v2_no_vnic_data] PASSED [ 69%] tests/unittests/sources/test_oracle.py::TestReadOpcMetadata::test_metadata_returned[v1_with_vnic_data] PASSED [ 69%] tests/unittests/sources/test_oracle.py::TestReadOpcMetadata::test_metadata_returned[v1_no_vnic_data] PASSED [ 69%] tests/unittests/sources/test_oracle.py::TestReadOpcMetadata::test_retry PASSED [ 69%] tests/unittests/sources/test_oracle.py::TestReadOpcMetadata::test_fetch_vnics_max_wait PASSED [ 69%] tests/unittests/sources/test_oracle.py::TestReadOpcMetadata::test_attempt_vnics_after_max_wait_expire PASSED [ 69%] tests/unittests/sources/test_oracle.py::TestReadOpcMetadata::test_fetchin_instance_and_vnic_successes_and_failures[fetching both instance and vnics metadata succeeds] PASSED [ 69%] tests/unittests/sources/test_oracle.py::TestReadOpcMetadata::test_fetchin_instance_and_vnic_successes_and_failures[fetching instance metadata fails, vnics not fetched] PASSED [ 69%] tests/unittests/sources/test_oracle.py::TestReadOpcMetadata::test_fetchin_instance_and_vnic_successes_and_failures[fetching instance metadata succeeds, vnics metadata fails] PASSED [ 69%] tests/unittests/sources/test_oracle.py::TestCommon_GetDataBehaviour::test_false_if_platform_not_viable[iscsi] PASSED [ 69%] tests/unittests/sources/test_oracle.py::TestCommon_GetDataBehaviour::test_false_if_platform_not_viable[non-iscsi] PASSED [ 69%] tests/unittests/sources/test_oracle.py::TestCommon_GetDataBehaviour::test_metadata_keys_set_correctly[availability-zone-phx-ad-3-iscsi] PASSED [ 69%] tests/unittests/sources/test_oracle.py::TestCommon_GetDataBehaviour::test_metadata_keys_set_correctly[availability-zone-phx-ad-3-non-iscsi] PASSED [ 69%] tests/unittests/sources/test_oracle.py::TestCommon_GetDataBehaviour::test_metadata_keys_set_correctly[launch-index-0-iscsi] PASSED [ 69%] tests/unittests/sources/test_oracle.py::TestCommon_GetDataBehaviour::test_metadata_keys_set_correctly[launch-index-0-non-iscsi] PASSED [ 69%] tests/unittests/sources/test_oracle.py::TestCommon_GetDataBehaviour::test_metadata_keys_set_correctly[local-hostname-instance-20200320-1400-iscsi] PASSED [ 69%] tests/unittests/sources/test_oracle.py::TestCommon_GetDataBehaviour::test_metadata_keys_set_correctly[local-hostname-instance-20200320-1400-non-iscsi] PASSED [ 69%] tests/unittests/sources/test_oracle.py::TestCommon_GetDataBehaviour::test_metadata_keys_set_correctly[instance-id-ocid1.instance.oc1.phx.anyhqljtniwq6syc3nex55sep5w34qbwmw6TRUNCATED-iscsi] PASSED [ 69%] tests/unittests/sources/test_oracle.py::TestCommon_GetDataBehaviour::test_metadata_keys_set_correctly[instance-id-ocid1.instance.oc1.phx.anyhqljtniwq6syc3nex55sep5w34qbwmw6TRUNCATED-non-iscsi] PASSED [ 69%] tests/unittests/sources/test_oracle.py::TestCommon_GetDataBehaviour::test_metadata_keys_set_correctly[name-instance-20200320-1400-iscsi] PASSED [ 69%] tests/unittests/sources/test_oracle.py::TestCommon_GetDataBehaviour::test_metadata_keys_set_correctly[name-instance-20200320-1400-non-iscsi] PASSED [ 69%] tests/unittests/sources/test_oracle.py::TestCommon_GetDataBehaviour::test_metadata_keys_set_correctly[public_keys-ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQ truncated-iscsi] PASSED [ 69%] tests/unittests/sources/test_oracle.py::TestCommon_GetDataBehaviour::test_metadata_keys_set_correctly[public_keys-ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQ truncated-non-iscsi] PASSED [ 70%] tests/unittests/sources/test_oracle.py::TestCommon_GetDataBehaviour::test_attributes_set_correctly[_crawled_metadata-expected_value0-iscsi] PASSED [ 70%] tests/unittests/sources/test_oracle.py::TestCommon_GetDataBehaviour::test_attributes_set_correctly[_crawled_metadata-expected_value0-non-iscsi] PASSED [ 70%] tests/unittests/sources/test_oracle.py::TestCommon_GetDataBehaviour::test_attributes_set_correctly[userdata_raw-#!/bin/sh\ntouch /tmp/foo-iscsi] PASSED [ 70%] tests/unittests/sources/test_oracle.py::TestCommon_GetDataBehaviour::test_attributes_set_correctly[userdata_raw-#!/bin/sh\ntouch /tmp/foo-non-iscsi] PASSED [ 70%] tests/unittests/sources/test_oracle.py::TestCommon_GetDataBehaviour::test_attributes_set_correctly[system_uuid-my-test-uuid-iscsi] PASSED [ 70%] tests/unittests/sources/test_oracle.py::TestCommon_GetDataBehaviour::test_attributes_set_correctly[system_uuid-my-test-uuid-non-iscsi] PASSED [ 70%] tests/unittests/sources/test_oracle.py::TestCommon_GetDataBehaviour::test_public_keys_handled_correctly[None-expected_value0-iscsi] PASSED [ 70%] tests/unittests/sources/test_oracle.py::TestCommon_GetDataBehaviour::test_public_keys_handled_correctly[None-expected_value0-non-iscsi] PASSED [ 70%] tests/unittests/sources/test_oracle.py::TestCommon_GetDataBehaviour::test_public_keys_handled_correctly[-expected_value1-iscsi] PASSED [ 70%] tests/unittests/sources/test_oracle.py::TestCommon_GetDataBehaviour::test_public_keys_handled_correctly[-expected_value1-non-iscsi] PASSED [ 70%] tests/unittests/sources/test_oracle.py::TestCommon_GetDataBehaviour::test_public_keys_handled_correctly[ssh-rsa ... test@test-expected_value2-iscsi] PASSED [ 70%] tests/unittests/sources/test_oracle.py::TestCommon_GetDataBehaviour::test_public_keys_handled_correctly[ssh-rsa ... test@test-expected_value2-non-iscsi] PASSED [ 70%] tests/unittests/sources/test_oracle.py::TestCommon_GetDataBehaviour::test_public_keys_handled_correctly[ssh-rsa ... test@test\nssh-rsa ... test2@test2-expected_value3-iscsi] PASSED [ 70%] tests/unittests/sources/test_oracle.py::TestCommon_GetDataBehaviour::test_public_keys_handled_correctly[ssh-rsa ... test@test\nssh-rsa ... test2@test2-expected_value3-non-iscsi] PASSED [ 70%] tests/unittests/sources/test_oracle.py::TestCommon_GetDataBehaviour::test_missing_user_data_handled_gracefully[ipv6-iscsi] PASSED [ 70%] tests/unittests/sources/test_oracle.py::TestCommon_GetDataBehaviour::test_missing_user_data_handled_gracefully[ipv6-non-iscsi] PASSED [ 70%] tests/unittests/sources/test_oracle.py::TestCommon_GetDataBehaviour::test_missing_user_data_handled_gracefully[ipv4-iscsi] PASSED [ 70%] tests/unittests/sources/test_oracle.py::TestCommon_GetDataBehaviour::test_missing_user_data_handled_gracefully[ipv4-non-iscsi] PASSED [ 70%] tests/unittests/sources/test_oracle.py::TestCommon_GetDataBehaviour::test_missing_metadata_handled_gracefully[ipv6-iscsi] PASSED [ 70%] tests/unittests/sources/test_oracle.py::TestCommon_GetDataBehaviour::test_missing_metadata_handled_gracefully[ipv6-non-iscsi] PASSED [ 70%] tests/unittests/sources/test_oracle.py::TestCommon_GetDataBehaviour::test_missing_metadata_handled_gracefully[ipv4-iscsi] PASSED [ 70%] tests/unittests/sources/test_oracle.py::TestCommon_GetDataBehaviour::test_missing_metadata_handled_gracefully[ipv4-non-iscsi] PASSED [ 70%] tests/unittests/sources/test_oracle.py::TestNonIscsiRoot_GetDataBehaviour::test_read_opc_metadata_called_with_ephemeral_dhcp PASSED [ 70%] tests/unittests/sources/test_oracle.py::TestPerformDHCPSetup::test_read_opc_metadata_called_with_ephemeral_dhcp[dont_perform_dhcp_setup] PASSED [ 70%] tests/unittests/sources/test_oracle.py::TestPerformDHCPSetup::test_read_opc_metadata_called_with_ephemeral_dhcp[successfully_perform_dhcp_setup] PASSED [ 70%] tests/unittests/sources/test_oracle.py::TestPerformDHCPSetup::test_read_opc_metadata_called_with_ephemeral_dhcp[fail_to_perform_dhcp_setup] PASSED [ 70%] tests/unittests/sources/test_oracle.py::TestNetworkConfig::test_network_config_cached PASSED [ 70%] tests/unittests/sources/test_oracle.py::TestNetworkConfig::test_keep_configuration_set_from_iscsi_klibc PASSED [ 70%] tests/unittests/sources/test_oracle.py::TestNetworkConfig::test_keep_configuration_set_from_imds_fallback PASSED [ 70%] tests/unittests/sources/test_oracle.py::TestNetworkConfig::test_keep_configuration_not_set_without_iscsi PASSED [ 70%] tests/unittests/sources/test_oracle.py::TestNetworkConfig::test_secondary_nic_addition[True-True-expected_set_primary0] PASSED [ 70%] tests/unittests/sources/test_oracle.py::TestNetworkConfig::test_secondary_nic_addition[True-False-expected_set_primary1] PASSED [ 70%] tests/unittests/sources/test_oracle.py::TestNetworkConfig::test_secondary_nic_addition[False-True-expected_set_primary2] PASSED [ 70%] tests/unittests/sources/test_oracle.py::TestNetworkConfig::test_secondary_nic_addition[False-False-expected_set_primary3] PASSED [ 70%] tests/unittests/sources/test_oracle.py::TestNetworkConfig::test_secondary_nic_addition[None-True-expected_set_primary4] PASSED [ 70%] tests/unittests/sources/test_oracle.py::TestNetworkConfig::test_secondary_nic_addition[None-False-expected_set_primary5] PASSED [ 70%] tests/unittests/sources/test_oracle.py::TestNetworkConfig::test_secondary_nic_failure_isnt_blocking PASSED [ 70%] tests/unittests/sources/test_oracle.py::TestNetworkConfig::test_ds_network_cfg_preferred_over_initramfs PASSED [ 70%] tests/unittests/sources/test_oracle.py::TestNetworkConfig::test_system_network_cfg_preferred_over_ds PASSED [ 70%] tests/unittests/sources/test_oracle.py::TestNetworkConfig::test__add_network_config_from_opc_imds_no_vnics_data[True] PASSED [ 70%] tests/unittests/sources/test_oracle.py::TestNetworkConfig::test__add_network_config_from_opc_imds_no_vnics_data[False] PASSED [ 70%] tests/unittests/sources/test_oracle.py::TestNetworkConfig::test_missing_mac_skipped PASSED [ 70%] tests/unittests/sources/test_oracle.py::TestNetworkConfig::test_nics[ipv6 vnics setting primary with secondary mac present] PASSED [ 70%] tests/unittests/sources/test_oracle.py::TestNetworkConfig::test_nics[ipv6 vnics not setting primary with secondary mac present] PASSED [ 70%] tests/unittests/sources/test_oracle.py::TestNetworkConfig::test_nics[ipv6 vnics not setting primary w/o secondary mac present] PASSED [ 70%] tests/unittests/sources/test_oracle.py::TestHelpers::test_get_versioned_metadata_base_url[None] PASSED [ 70%] tests/unittests/sources/test_oracle.py::TestHelpers::test_get_versioned_metadata_base_url[empty] PASSED [ 70%] tests/unittests/sources/test_oracle.py::TestHelpers::test_get_versioned_metadata_base_url[v2] PASSED [ 70%] tests/unittests/sources/test_oracle.py::TestHelpers::test_get_versioned_metadata_base_url[v1] PASSED [ 70%] tests/unittests/sources/test_oracle.py::TestHelpers::test_get_versioned_metadata_base_url[v3_error] PASSED [ 70%] tests/unittests/sources/test_oracle.py::TestHelpers::test_get_versioned_metadata_base_url[v1_many_parts_with_host_and_ports] PASSED [ 70%] tests/unittests/sources/test_ovf.py::TestReadOvfEnv::test_with_b64_userdata PASSED [ 70%] tests/unittests/sources/test_ovf.py::TestReadOvfEnv::test_with_non_b64_userdata PASSED [ 70%] tests/unittests/sources/test_ovf.py::TestReadOvfEnv::test_with_no_userdata PASSED [ 70%] tests/unittests/sources/test_ovf.py::TestReadOvfEnv::test_with_b64_network_config_enable_read_network PASSED [ 70%] tests/unittests/sources/test_ovf.py::TestReadOvfEnv::test_with_non_b64_network_config_enable_read_network PASSED [ 70%] tests/unittests/sources/test_ovf.py::TestReadOvfEnv::test_with_b64_network_config_disable_read_network PASSED [ 70%] tests/unittests/sources/test_ovf.py::TestDatasourceOVF::test_get_data_seed_dir PASSED [ 71%] tests/unittests/sources/test_ovf.py::TestDatasourceOVF::test_get_data_vmware_guestinfo_with_network_config[vmware_guestinfo] PASSED [ 71%] tests/unittests/sources/test_ovf.py::TestDatasourceOVF::test_get_data_vmware_guestinfo_with_network_config[iso9660] PASSED [ 71%] tests/unittests/sources/test_ovf.py::TestTransportIso9660::test_find_already_mounted PASSED [ 71%] tests/unittests/sources/test_ovf.py::TestTransportIso9660::test_find_already_mounted_skips_non_iso9660 PASSED [ 71%] tests/unittests/sources/test_ovf.py::TestTransportIso9660::test_find_already_mounted_matches_kname PASSED [ 71%] tests/unittests/sources/test_ovf.py::TestTransportIso9660::test_mount_cb_called_on_blkdevs_with_iso9660 PASSED [ 71%] tests/unittests/sources/test_ovf.py::TestTransportIso9660::test_mount_cb_called_on_blkdevs_with_iso9660_check_regex PASSED [ 71%] tests/unittests/sources/test_ovf.py::TestTransportIso9660::test_mount_cb_not_called_no_matches PASSED [ 71%] tests/unittests/sources/test_ovf.py::TestTransportIso9660::test_mount_cb_called_require_iso_false PASSED [ 71%] tests/unittests/sources/test_ovf.py::TestTransportIso9660::test_maybe_cdrom_device_none PASSED [ 71%] tests/unittests/sources/test_ovf.py::TestTransportIso9660::test_maybe_cdrom_device_non_string_exception PASSED [ 71%] tests/unittests/sources/test_ovf.py::TestTransportIso9660::test_maybe_cdrom_device_false_on_multi_dir_paths PASSED [ 71%] tests/unittests/sources/test_ovf.py::TestTransportIso9660::test_maybe_cdrom_device_true_on_hd_partitions PASSED [ 71%] tests/unittests/sources/test_ovf.py::TestTransportIso9660::test_maybe_cdrom_device_true_on_valid_relative_paths PASSED [ 71%] tests/unittests/sources/test_ovf.py::TestTransportIso9660::test_maybe_cdrom_device_true_on_xvd_partitions PASSED [ 71%] tests/unittests/sources/test_ovf.py::TestTransportVmwareGuestinfo::test_without_vmware_rpctool_and_without_vmtoolsd_returns_notfound PASSED [ 71%] tests/unittests/sources/test_ovf.py::TestTransportVmwareGuestinfo::test_without_vmware_rpctool_and_with_vmtoolsd_returns_found PASSED [ 71%] tests/unittests/sources/test_ovf.py::TestTransportVmwareGuestinfo::test_notfound_on_exit_code_1 PASSED [ 71%] tests/unittests/sources/test_ovf.py::TestTransportVmwareGuestinfo::test_notfound_if_no_content_but_exit_zero PASSED [ 71%] tests/unittests/sources/test_ovf.py::TestTransportVmwareGuestinfo::test_notfound_and_warns_on_unexpected_exit_code PASSED [ 71%] tests/unittests/sources/test_ovf.py::TestTransportVmwareGuestinfo::test_found_when_guestinfo_present PASSED [ 71%] tests/unittests/sources/test_ovf.py::TestTransportVmwareGuestinfo::test_vmware_rpctool_fails_and_vmtoolsd_fails PASSED [ 71%] tests/unittests/sources/test_ovf.py::TestTransportVmwareGuestinfo::test_vmware_rpctool_fails_and_vmtoolsd_success PASSED [ 71%] tests/unittests/sources/test_rbx.py::TestRbxDataSource::test_seed_read_user_data_callback_empty_file PASSED [ 71%] tests/unittests/sources/test_rbx.py::TestRbxDataSource::test_seed_read_user_data_callback_valid_disk PASSED [ 71%] tests/unittests/sources/test_rbx.py::TestRbxDataSource::test_seed_read_user_data_callback_userdata PASSED [ 71%] tests/unittests/sources/test_rbx.py::TestRbxDataSource::test_generate_network_config PASSED [ 71%] tests/unittests/sources/test_rbx.py::TestRbxDataSource::test_gratuitous_arp_run_standard_arping PASSED [ 71%] tests/unittests/sources/test_rbx.py::TestRbxDataSource::test_handle_rhel_like_arping PASSED [ 71%] tests/unittests/sources/test_rbx.py::TestRbxDataSource::test_continue_on_arping_error PASSED [ 71%] tests/unittests/sources/test_scaleway.py::TestOnScaleway::test_not_ds_detect PASSED [ 71%] tests/unittests/sources/test_scaleway.py::TestOnScaleway::test_ds_detect_dmi PASSED [ 71%] tests/unittests/sources/test_scaleway.py::TestOnScaleway::test_ds_detect_var_run_scaleway PASSED [ 71%] tests/unittests/sources/test_scaleway.py::TestOnScaleway::test_ds_detect_cmdline PASSED [ 71%] tests/unittests/sources/test_scaleway.py::TestDataSourceScaleway::test_set_metadata_url_ipv4_ok PASSED [ 71%] tests/unittests/sources/test_scaleway.py::TestDataSourceScaleway::test_set_metadata_url_ipv6_ok PASSED [ 71%] tests/unittests/sources/test_scaleway.py::TestDataSourceScaleway::test_ipv4_metadata_ok PASSED [ 71%] tests/unittests/sources/test_scaleway.py::TestDataSourceScaleway::test_ipv4_metadata_timeout_ipv6_ok PASSED [ 71%] tests/unittests/sources/test_scaleway.py::TestDataSourceScaleway::test_ipv4_ipv6_metadata_timeout PASSED [ 71%] tests/unittests/sources/test_scaleway.py::TestDataSourceScaleway::test_metadata_ipv4_404 PASSED [ 71%] tests/unittests/sources/test_scaleway.py::TestDataSourceScaleway::test_metadata_connection_errors_legacy_ipv4_url PASSED [ 71%] tests/unittests/sources/test_scaleway.py::TestDataSourceScaleway::test_metadata_connection_errors_two_urls PASSED [ 71%] tests/unittests/sources/test_scaleway.py::TestDataSourceScaleway::test_metadata_ipv4_rate_limit PASSED [ 71%] tests/unittests/sources/test_scaleway.py::TestDataSourceScaleway::test_ssh_keys_empty PASSED [ 71%] tests/unittests/sources/test_scaleway.py::TestDataSourceScaleway::test_ssh_keys_only_tags PASSED [ 71%] tests/unittests/sources/test_scaleway.py::TestDataSourceScaleway::test_ssh_keys_only_conf PASSED [ 71%] tests/unittests/sources/test_scaleway.py::TestDataSourceScaleway::test_ssh_keys_both PASSED [ 71%] tests/unittests/sources/test_scaleway.py::TestDataSourceScaleway::test_primary_ipv4_config_ok PASSED [ 71%] tests/unittests/sources/test_scaleway.py::TestDataSourceScaleway::test_additional_ipv4_config_ok PASSED [ 71%] tests/unittests/sources/test_scaleway.py::TestDataSourceScaleway::test_primary_ipv6_config_ok PASSED [ 71%] tests/unittests/sources/test_scaleway.py::TestDataSourceScaleway::test_primary_ipv4_v6_config_ok PASSED [ 71%] tests/unittests/sources/test_scaleway.py::TestDataSourceScaleway::test_primary_ipv6_v4_config_ok PASSED [ 71%] tests/unittests/sources/test_smartos.py::TestSmartOSDataSource::test_no_base64 PASSED [ 71%] tests/unittests/sources/test_smartos.py::TestSmartOSDataSource::test_uuid PASSED [ 71%] tests/unittests/sources/test_smartos.py::TestSmartOSDataSource::test_platform_info PASSED [ 71%] tests/unittests/sources/test_smartos.py::TestSmartOSDataSource::test_root_keys PASSED [ 71%] tests/unittests/sources/test_smartos.py::TestSmartOSDataSource::test_hostname_b64 PASSED [ 72%] tests/unittests/sources/test_smartos.py::TestSmartOSDataSource::test_hostname PASSED [ 72%] tests/unittests/sources/test_smartos.py::TestSmartOSDataSource::test_hostname_if_no_sdc_hostname PASSED [ 72%] tests/unittests/sources/test_smartos.py::TestSmartOSDataSource::test_sdc_hostname_if_no_hostname PASSED [ 72%] tests/unittests/sources/test_smartos.py::TestSmartOSDataSource::test_sdc_uuid_if_no_hostname_or_sdc_hostname PASSED [ 72%] tests/unittests/sources/test_smartos.py::TestSmartOSDataSource::test_userdata PASSED [ 72%] tests/unittests/sources/test_smartos.py::TestSmartOSDataSource::test_sdc_nics PASSED [ 72%] tests/unittests/sources/test_smartos.py::TestSmartOSDataSource::test_sdc_scripts PASSED [ 72%] tests/unittests/sources/test_smartos.py::TestSmartOSDataSource::test_scripts_shebanged PASSED [ 72%] tests/unittests/sources/test_smartos.py::TestSmartOSDataSource::test_scripts_shebang_not_added PASSED [ 72%] tests/unittests/sources/test_smartos.py::TestSmartOSDataSource::test_userdata_removed PASSED [ 72%] tests/unittests/sources/test_smartos.py::TestSmartOSDataSource::test_vendor_data_not_default PASSED [ 72%] tests/unittests/sources/test_smartos.py::TestSmartOSDataSource::test_default_vendor_data PASSED [ 72%] tests/unittests/sources/test_smartos.py::TestSmartOSDataSource::test_disable_iptables_flag PASSED [ 72%] tests/unittests/sources/test_smartos.py::TestSmartOSDataSource::test_motd_sys_info PASSED [ 72%] tests/unittests/sources/test_smartos.py::TestSmartOSDataSource::test_default_ephemeral PASSED [ 72%] tests/unittests/sources/test_smartos.py::TestSmartOSDataSource::test_override_disk_aliases PASSED [ 72%] tests/unittests/sources/test_smartos.py::TestSmartOSDataSource::test_reconfig_network_on_boot PASSED [ 72%] tests/unittests/sources/test_smartos.py::TestIdentifyFile::test_file_happy_path PASSED [ 72%] tests/unittests/sources/test_smartos.py::TestIdentifyFile::test_returns_none_on_error PASSED [ 72%] tests/unittests/sources/test_smartos.py::TestJoyentMetadataClient::test_get_metadata_writes_a_single_line PASSED [ 72%] tests/unittests/sources/test_smartos.py::TestJoyentMetadataClient::test_get_metadata_writes_bytes PASSED [ 72%] tests/unittests/sources/test_smartos.py::TestJoyentMetadataClient::test_get_metadata_line_starts_with_v2 PASSED [ 72%] tests/unittests/sources/test_smartos.py::TestJoyentMetadataClient::test_get_metadata_uses_get_command PASSED [ 72%] tests/unittests/sources/test_smartos.py::TestJoyentMetadataClient::test_get_metadata_base64_encodes_argument PASSED [ 72%] tests/unittests/sources/test_smartos.py::TestJoyentMetadataClient::test_get_metadata_calculates_length_correctly PASSED [ 72%] tests/unittests/sources/test_smartos.py::TestJoyentMetadataClient::test_get_metadata_uses_appropriate_request_id PASSED [ 72%] tests/unittests/sources/test_smartos.py::TestJoyentMetadataClient::test_get_metadata_uses_random_number_for_request_id PASSED [ 72%] tests/unittests/sources/test_smartos.py::TestJoyentMetadataClient::test_get_metadata_checksums_correctly PASSED [ 72%] tests/unittests/sources/test_smartos.py::TestJoyentMetadataClient::test_get_metadata_reads_a_line PASSED [ 72%] tests/unittests/sources/test_smartos.py::TestJoyentMetadataClient::test_get_metadata_returns_valid_value PASSED [ 72%] tests/unittests/sources/test_smartos.py::TestJoyentMetadataClient::test_get_metadata_throws_exception_for_incorrect_length PASSED [ 72%] tests/unittests/sources/test_smartos.py::TestJoyentMetadataClient::test_get_metadata_throws_exception_for_incorrect_crc PASSED [ 72%] tests/unittests/sources/test_smartos.py::TestJoyentMetadataClient::test_get_metadata_throws_exception_for_request_id_mismatch PASSED [ 72%] tests/unittests/sources/test_smartos.py::TestJoyentMetadataClient::test_get_metadata_returns_None_if_value_not_found PASSED [ 72%] tests/unittests/sources/test_smartos.py::TestJoyentMetadataClient::test_negotiate PASSED [ 72%] tests/unittests/sources/test_smartos.py::TestJoyentMetadataClient::test_negotiate_short_response PASSED [ 72%] tests/unittests/sources/test_smartos.py::TestJoyentMetadataClient::test_negotiate_bad_response PASSED [ 72%] tests/unittests/sources/test_smartos.py::TestJoyentMetadataClient::test_serial_open_transport PASSED [ 72%] tests/unittests/sources/test_smartos.py::TestJoyentMetadataClient::test_flush_failure PASSED [ 72%] tests/unittests/sources/test_smartos.py::TestJoyentMetadataClient::test_flush_many_timeouts PASSED [ 72%] tests/unittests/sources/test_smartos.py::TestJoyentMetadataClient::test_list_metadata_returns_list PASSED [ 72%] tests/unittests/sources/test_smartos.py::TestJoyentMetadataClient::test_list_metadata_returns_empty_list_if_no_customer_metadata PASSED [ 72%] tests/unittests/sources/test_smartos.py::TestNetworkConversion::test_convert_simple PASSED [ 72%] tests/unittests/sources/test_smartos.py::TestNetworkConversion::test_convert_simple_alt PASSED [ 72%] tests/unittests/sources/test_smartos.py::TestNetworkConversion::test_convert_simple_dhcp PASSED [ 72%] tests/unittests/sources/test_smartos.py::TestNetworkConversion::test_convert_simple_multi_ip PASSED [ 72%] tests/unittests/sources/test_smartos.py::TestNetworkConversion::test_convert_with_dns PASSED [ 72%] tests/unittests/sources/test_smartos.py::TestNetworkConversion::test_convert_simple_multi_ipv6 PASSED [ 72%] tests/unittests/sources/test_smartos.py::TestNetworkConversion::test_convert_simple_both_ipv4_ipv6 PASSED [ 72%] tests/unittests/sources/test_smartos.py::TestNetworkConversion::test_gateways_not_on_all_nics PASSED [ 72%] tests/unittests/sources/test_smartos.py::TestNetworkConversion::test_routes_on_all_nics PASSED [ 72%] tests/unittests/sources/test_smartos.py::TestNetworkConversion::test_ipv6_addrconf PASSED [ 72%] tests/unittests/sources/test_smartos.py::TestSerialConcurrency::test_all_keys SKIPPED [ 72%] tests/unittests/sources/test_upcloud.py::TestUpCloudMetadata::test_returns_false_not_on_upcloud PASSED [ 72%] tests/unittests/sources/test_upcloud.py::TestUpCloudMetadata::test_metadata PASSED [ 72%] tests/unittests/sources/test_upcloud.py::TestUpCloudNetworkSetup::test_network_configured_metadata PASSED [ 72%] tests/unittests/sources/test_upcloud.py::TestUpCloudNetworkSetup::test_network_configuration PASSED [ 73%] tests/unittests/sources/test_upcloud.py::TestUpCloudDatasourceLoading::test_get_datasource_list_returns_in_local PASSED [ 73%] tests/unittests/sources/test_upcloud.py::TestUpCloudDatasourceLoading::test_get_datasource_list_returns_in_normal PASSED [ 73%] tests/unittests/sources/test_upcloud.py::TestUpCloudDatasourceLoading::test_list_sources_finds_ds PASSED [ 73%] tests/unittests/sources/test_vmware.py::TestDataSourceVMware::test_no_data_access_method PASSED [ 73%] tests/unittests/sources/test_vmware.py::TestDataSourceVMware::test_convert_to_netifaces_ipv4_format PASSED [ 73%] tests/unittests/sources/test_vmware.py::TestDataSourceVMware::test_convert_to_netifaces_ipv6_format PASSED [ 73%] tests/unittests/sources/test_vmware.py::TestDataSourceVMware::test_get_host_info_ipv4 PASSED [ 73%] tests/unittests/sources/test_vmware.py::TestDataSourceVMware::test_get_host_info_ipv6 PASSED [ 73%] tests/unittests/sources/test_vmware.py::TestDataSourceVMware::test_get_host_info_dual PASSED [ 73%] tests/unittests/sources/test_vmware.py::TestDataSourceVMware::test_get_default_ip_addrs_ipv4only PASSED [ 73%] tests/unittests/sources/test_vmware.py::TestDataSourceVMware::test_get_default_ip_addrs_ipv6only PASSED [ 73%] tests/unittests/sources/test_vmware.py::TestDataSourceVMware::test_get_default_ip_addrs_dualstack PASSED [ 73%] tests/unittests/sources/test_vmware.py::TestDataSourceVMware::test_get_default_ip_addrs_multiaddr PASSED [ 73%] tests/unittests/sources/test_vmware.py::TestDataSourceVMware::test_get_default_ip_addrs_nodefault PASSED [ 73%] tests/unittests/sources/test_vmware.py::TestDataSourceVMware::test_wait_on_network PASSED [ 73%] tests/unittests/sources/test_vmware.py::TestDataSourceVMware::test_advertise_update_events PASSED [ 73%] tests/unittests/sources/test_vmware.py::TestDataSourceVMware::test_extra_hotplug_udev_rules PASSED [ 73%] tests/unittests/sources/test_vmware.py::TestDataSourceVMwareEnvVars::test_get_subplatform PASSED [ 73%] tests/unittests/sources/test_vmware.py::TestDataSourceVMwareEnvVars::test_get_data_metadata_only PASSED [ 73%] tests/unittests/sources/test_vmware.py::TestDataSourceVMwareEnvVars::test_get_data_userdata_only PASSED [ 73%] tests/unittests/sources/test_vmware.py::TestDataSourceVMwareEnvVars::test_get_data_vendordata_only PASSED [ 73%] tests/unittests/sources/test_vmware.py::TestDataSourceVMwareEnvVars::test_get_data_metadata_base64 PASSED [ 73%] tests/unittests/sources/test_vmware.py::TestDataSourceVMwareEnvVars::test_get_data_metadata_b64 PASSED [ 73%] tests/unittests/sources/test_vmware.py::TestDataSourceVMwareEnvVars::test_get_data_metadata_gzip_base64 PASSED [ 73%] tests/unittests/sources/test_vmware.py::TestDataSourceVMwareEnvVars::test_get_data_metadata_gz_b64 PASSED [ 73%] tests/unittests/sources/test_vmware.py::TestDataSourceVMwareEnvVars::test_metadata_single_ssh_key PASSED [ 73%] tests/unittests/sources/test_vmware.py::TestDataSourceVMwareEnvVars::test_metadata_multiple_ssh_keys PASSED [ 73%] tests/unittests/sources/test_vmware.py::TestDataSourceVMwareGuestInfo::test_ds_valid_on_vmware_platform PASSED [ 73%] tests/unittests/sources/test_vmware.py::TestDataSourceVMwareGuestInfo::test_get_subplatform PASSED [ 73%] tests/unittests/sources/test_vmware.py::TestDataSourceVMwareGuestInfo::test_get_data_metadata_with_vmware_rpctool PASSED [ 73%] tests/unittests/sources/test_vmware.py::TestDataSourceVMwareGuestInfo::test_get_data_metadata_non_zero_exit_code_fallback_to_vmtoolsd PASSED [ 73%] tests/unittests/sources/test_vmware.py::TestDataSourceVMwareGuestInfo::test_get_data_metadata_vmware_rpctool_not_found_fallback_to_vmtoolsd PASSED [ 73%] tests/unittests/sources/test_vmware.py::TestDataSourceVMwareGuestInfo::test_get_data_userdata_only PASSED [ 73%] tests/unittests/sources/test_vmware.py::TestDataSourceVMwareGuestInfo::test_get_data_vendordata_only PASSED [ 73%] tests/unittests/sources/test_vmware.py::TestDataSourceVMwareGuestInfo::test_metadata_single_ssh_key PASSED [ 73%] tests/unittests/sources/test_vmware.py::TestDataSourceVMwareGuestInfo::test_metadata_multiple_ssh_keys PASSED [ 73%] tests/unittests/sources/test_vmware.py::TestDataSourceVMwareGuestInfo::test_get_data_metadata_base64 PASSED [ 73%] tests/unittests/sources/test_vmware.py::TestDataSourceVMwareGuestInfo::test_get_data_metadata_b64 PASSED [ 73%] tests/unittests/sources/test_vmware.py::TestDataSourceVMwareGuestInfo::test_get_data_metadata_gzip_base64 PASSED [ 73%] tests/unittests/sources/test_vmware.py::TestDataSourceVMwareGuestInfo::test_get_data_metadata_gz_b64 PASSED [ 73%] tests/unittests/sources/test_vmware.py::TestDataSourceVMwareGuestInfo::test_advertise_update_events PASSED [ 73%] tests/unittests/sources/test_vmware.py::TestDataSourceVMwareGuestInfo::test_advertise_update_events_with_events_from_user_data PASSED [ 73%] tests/unittests/sources/test_vmware.py::TestDataSourceVMwareGuestInfo::test_extra_hotplug_udev_rules_with_net_drivers PASSED [ 73%] tests/unittests/sources/test_vmware.py::TestDataSourceVMwareGuestInfo_InvalidPlatform::test_ds_invalid_on_non_vmware_platform PASSED [ 73%] tests/unittests/sources/test_vmware.py::TestDataSourceVMwareIMC::test_get_subplatform PASSED [ 73%] tests/unittests/sources/test_vmware.py::TestDataSourceVMwareIMC::test_get_data_false_on_none_dmi_data PASSED [ 73%] tests/unittests/sources/test_vmware.py::TestDataSourceVMwareIMC::test_get_imc_data_vmware_customization_disabled PASSED [ 73%] tests/unittests/sources/test_vmware.py::TestDataSourceVMwareIMC::test_get_imc_data_vmware_customization_sys_cfg_disabled PASSED [ 73%] tests/unittests/sources/test_vmware.py::TestDataSourceVMwareIMC::test_get_imc_data_allow_raw_data_disabled PASSED [ 73%] tests/unittests/sources/test_vmware.py::TestDataSourceVMwareIMC::test_get_imc_data_vmware_customization_enabled PASSED [ 73%] tests/unittests/sources/test_vmware.py::TestDataSourceVMwareIMC::test_get_imc_data_cust_script_disabled PASSED [ 73%] tests/unittests/sources/test_vmware.py::TestDataSourceVMwareIMC::test_get_imc_data_cust_script_enabled PASSED [ 73%] tests/unittests/sources/test_vmware.py::TestDataSourceVMwareIMC::test_get_imc_data_force_run_post_script_is_yes PASSED [ 73%] tests/unittests/sources/test_vmware.py::TestDataSourceVMwareIMC::test_get_data_cloudinit_metadata_json PASSED [ 73%] tests/unittests/sources/test_vmware.py::TestDataSourceVMwareIMC::test_get_data_cloudinit_metadata_yaml PASSED [ 73%] tests/unittests/sources/test_vmware.py::TestDataSourceVMwareIMC::test_get_imc_data_cloudinit_metadata_not_valid PASSED [ 73%] tests/unittests/sources/test_vmware.py::TestDataSourceVMwareIMC::test_get_imc_data_cloudinit_metadata_not_found PASSED [ 74%] tests/unittests/sources/test_vmware.py::TestDataSourceVMwareIMC::test_get_data_cloudinit_userdata PASSED [ 74%] tests/unittests/sources/test_vmware.py::TestDataSourceVMwareIMC::test_get_imc_data_cloudinit_userdata_not_found PASSED [ 74%] tests/unittests/sources/test_vmware.py::TestDataSourceVMwareIMC_MarkerFiles::test_false_when_markerid_none PASSED [ 74%] tests/unittests/sources/test_vmware.py::TestDataSourceVMwareIMC_MarkerFiles::test_markerid_file_exist PASSED [ 74%] tests/unittests/sources/test_vmware.py::TestDataSourceVMwareIMC_MarkerFiles::test_marker_file_setup PASSED [ 74%] tests/unittests/sources/test_vultr.py::TestDataSourceVultr::test_datasource PASSED [ 74%] tests/unittests/sources/test_vultr.py::TestDataSourceVultr::test_datasource_cloud_interfaces PASSED [ 74%] tests/unittests/sources/test_vultr.py::TestDataSourceVultr::test_network_config PASSED [ 74%] tests/unittests/sources/test_vultr.py::TestDataSourceVultr::test_private_network_config PASSED [ 74%] tests/unittests/sources/test_vultr.py::TestDataSourceVultr::test_interface_seek PASSED [ 74%] tests/unittests/sources/test_wsl.py::TestWSLHelperFunctions::test_instance_name PASSED [ 74%] tests/unittests/sources/test_wsl.py::TestWSLHelperFunctions::test_mounted_drives PASSED [ 74%] tests/unittests/sources/test_wsl.py::TestWSLHelperFunctions::test_cmd_exe_ok PASSED [ 74%] tests/unittests/sources/test_wsl.py::TestWSLHelperFunctions::test_cmd_not_executable PASSED [ 74%] tests/unittests/sources/test_wsl.py::TestWSLHelperFunctions::test_cmd_exe_no_win_mounts PASSED [ 74%] tests/unittests/sources/test_wsl.py::TestWSLHelperFunctions::test_find_home_raises PASSED [ 74%] tests/unittests/sources/test_wsl.py::TestWSLHelperFunctions::test_candidate_files[linux_distro_value0-files0] PASSED [ 74%] tests/unittests/sources/test_wsl.py::TestWSLHelperFunctions::test_candidate_files[linux_distro_value1-files1] PASSED [ 74%] tests/unittests/sources/test_wsl.py::TestWSLHelperFunctions::test_load_instance_metadata[default_md_on_no_md_file] PASSED [ 74%] tests/unittests/sources/test_wsl.py::TestWSLHelperFunctions::test_load_instance_metadata[metadata_from_pro] PASSED [ 74%] tests/unittests/sources/test_wsl.py::TestWSLHelperFunctions::test_load_instance_metadata[error_on_md_missing_instance_id_key] PASSED [ 74%] tests/unittests/sources/test_wsl.py::TestWSLHelperFunctions::test_load_instance_metadata[error_on_md_invalid_yaml] PASSED [ 74%] tests/unittests/sources/test_wsl.py::TestWSLHelperFunctions::test_landscape_supports_field PASSED [ 74%] tests/unittests/sources/test_wsl.py::TestMergeAgentLandscapeData::test_merged_data_excludes_empty_or_none[none_when_both_agent_and_ud_none] PASSED [ 74%] tests/unittests/sources/test_wsl.py::TestMergeAgentLandscapeData::test_merged_data_excludes_empty_or_none[none_when_agent_none_and_ud_empty] PASSED [ 74%] tests/unittests/sources/test_wsl.py::TestMergeAgentLandscapeData::test_merged_data_excludes_empty_or_none[none_when_agent_empty_and_ud_none] PASSED [ 74%] tests/unittests/sources/test_wsl.py::TestMergeAgentLandscapeData::test_merged_data_excludes_empty_or_none[none_when_both_agent_and_ud_empty] PASSED [ 74%] tests/unittests/sources/test_wsl.py::TestMergeAgentLandscapeData::test_merged_data_excludes_empty_or_none[agent_only_when_ud_empty] PASSED [ 74%] tests/unittests/sources/test_wsl.py::TestMergeAgentLandscapeData::test_merged_data_excludes_empty_or_none[ud_only_when_agent_empty] PASSED [ 74%] tests/unittests/sources/test_wsl.py::TestMergeAgentLandscapeData::test_merged_data_excludes_empty_or_none[merge_agent_and_landscape_ud_when_both_present] PASSED [ 74%] tests/unittests/sources/test_wsl.py::TestWSLDataSource::test_metadata_id_default PASSED [ 74%] tests/unittests/sources/test_wsl.py::TestWSLDataSource::test_metadata_id PASSED [ 74%] tests/unittests/sources/test_wsl.py::TestWSLDataSource::test_get_data_cc PASSED [ 74%] tests/unittests/sources/test_wsl.py::TestWSLDataSource::test_get_data_sh PASSED [ 74%] tests/unittests/sources/test_wsl.py::TestWSLDataSource::test_get_data_jinja PASSED [ 74%] tests/unittests/sources/test_wsl.py::TestWSLDataSource::test_get_data_x[True] PASSED [ 74%] tests/unittests/sources/test_wsl.py::TestWSLDataSource::test_get_data_x[False] PASSED [ 74%] tests/unittests/sources/test_wsl.py::TestWSLDataSource::test_data_precedence PASSED [ 74%] tests/unittests/sources/test_wsl.py::TestWSLDataSource::test_interaction_with_pro PASSED [ 74%] tests/unittests/sources/test_wsl.py::TestWSLDataSource::test_landscape_vs_local_user PASSED [ 74%] tests/unittests/sources/test_wsl.py::TestWSLDataSource::test_landscape_provided_data PASSED [ 74%] tests/unittests/sources/test_wsl.py::TestWSLDataSource::test_landscape_empty_data PASSED [ 74%] tests/unittests/sources/test_wsl.py::TestWSLDataSource::test_landscape_shell_script PASSED [ 74%] tests/unittests/sources/test_wsl.py::TestWSLDataSource::test_with_landscape_no_tags PASSED [ 74%] tests/unittests/sources/test_wsl.py::TestWSLDataSource::test_with_no_tags_at_all PASSED [ 74%] tests/unittests/sources/test_wsl.py::TestWSLDataSource::test_with_no_client_subkey PASSED [ 74%] tests/unittests/sources/vmware/test_custom_script.py::TestVmwareCustomScript::test_prepare_custom_script PASSED [ 74%] tests/unittests/sources/vmware/test_custom_script.py::TestVmwareCustomScript::test_execute_post_cust PASSED [ 74%] tests/unittests/sources/vmware/test_guestcust_util.py::TestGuestCustUtil::test_get_tools_config_not_installed PASSED [ 74%] tests/unittests/sources/vmware/test_guestcust_util.py::TestGuestCustUtil::test_get_tools_config_internal_exception PASSED [ 74%] tests/unittests/sources/vmware/test_guestcust_util.py::TestGuestCustUtil::test_get_tools_config_normal PASSED [ 74%] tests/unittests/sources/vmware/test_guestcust_util.py::TestGuestCustUtil::test_set_gc_status PASSED [ 74%] tests/unittests/sources/vmware/test_vmware_config_file.py::TestVmwareConfigFile::test_utility_methods PASSED [ 74%] tests/unittests/sources/vmware/test_vmware_config_file.py::TestVmwareConfigFile::test_configfile_without_instance_id PASSED [ 74%] tests/unittests/sources/vmware/test_vmware_config_file.py::TestVmwareConfigFile::test_configfile_with_instance_id PASSED [ 74%] tests/unittests/sources/vmware/test_vmware_config_file.py::TestVmwareConfigFile::test_configfile_static_2nics PASSED [ 74%] tests/unittests/sources/vmware/test_vmware_config_file.py::TestVmwareConfigFile::test_config_file_dhcp_2nics PASSED [ 74%] tests/unittests/sources/vmware/test_vmware_config_file.py::TestVmwareConfigFile::test_config_password PASSED [ 75%] tests/unittests/sources/vmware/test_vmware_config_file.py::TestVmwareConfigFile::test_config_reset_passwd PASSED [ 75%] tests/unittests/sources/vmware/test_vmware_config_file.py::TestVmwareConfigFile::test_get_config_nameservers PASSED [ 75%] tests/unittests/sources/vmware/test_vmware_config_file.py::TestVmwareConfigFile::test_get_config_dns_suffixes PASSED [ 75%] tests/unittests/sources/vmware/test_vmware_config_file.py::TestVmwareConfigFile::test_get_nics_list_dhcp PASSED [ 75%] tests/unittests/sources/vmware/test_vmware_config_file.py::TestVmwareConfigFile::test_get_nics_list_static PASSED [ 75%] tests/unittests/sources/vmware/test_vmware_config_file.py::TestVmwareConfigFile::test_custom_script PASSED [ 75%] tests/unittests/sources/vmware/test_vmware_config_file.py::TestVmwareConfigFile::test_post_gc_status PASSED [ 75%] tests/unittests/sources/vmware/test_vmware_config_file.py::TestVmwareConfigFile::test_no_default_run_post_script PASSED [ 75%] tests/unittests/sources/vmware/test_vmware_config_file.py::TestVmwareConfigFile::test_yes_default_run_post_script PASSED [ 75%] tests/unittests/sources/vmware/test_vmware_config_file.py::TestVmwareNetConfig::test_static_nic_without_ipv4_netmask PASSED [ 75%] tests/unittests/sources/vmware/test_vmware_config_file.py::TestVmwareNetConfig::test_static_nic_without_ipv6_netmask PASSED [ 75%] tests/unittests/sources/vmware/test_vmware_config_file.py::TestVmwareNetConfig::test_non_primary_nic_with_gateway PASSED [ 75%] tests/unittests/sources/vmware/test_vmware_config_file.py::TestVmwareNetConfig::test_cust_non_primary_nic_with_gateway_ PASSED [ 75%] tests/unittests/sources/vmware/test_vmware_config_file.py::TestVmwareNetConfig::test_a_primary_nic_with_gateway PASSED [ 75%] tests/unittests/sources/vmware/test_vmware_config_file.py::TestVmwareNetConfig::test_meta_data PASSED [ 75%] tests/unittests/sources/vmware/test_vmware_config_file.py::TestVmwareNetConfig::test_user_data PASSED [ 75%] tests/unittests/test__init__.py::TestWalkerHandleHandler::test_no_errors PASSED [ 75%] tests/unittests/test__init__.py::TestWalkerHandleHandler::test_import_error PASSED [ 75%] tests/unittests/test__init__.py::TestWalkerHandleHandler::test_attribute_error PASSED [ 75%] tests/unittests/test__init__.py::TestHandlerHandlePart::test_normal_version_1 PASSED [ 75%] tests/unittests/test__init__.py::TestHandlerHandlePart::test_normal_version_2 PASSED [ 75%] tests/unittests/test__init__.py::TestHandlerHandlePart::test_modfreq_per_always PASSED [ 75%] tests/unittests/test__init__.py::TestHandlerHandlePart::test_no_handle_when_modfreq_once PASSED [ 75%] tests/unittests/test__init__.py::TestHandlerHandlePart::test_exception_is_caught PASSED [ 75%] tests/unittests/test__init__.py::TestCmdlineUrl::test_parse_cmdline_url_nokey_raises_keyerror PASSED [ 75%] tests/unittests/test__init__.py::TestCmdlineUrl::test_parse_cmdline_url_found PASSED [ 75%] tests/unittests/test__init__.py::TestCmdlineUrl::test_invalid_content PASSED [ 75%] tests/unittests/test__init__.py::TestCmdlineUrl::test_invalid_content_url PASSED [ 75%] tests/unittests/test__init__.py::TestCmdlineUrl::test_valid_content PASSED [ 75%] tests/unittests/test__init__.py::TestCmdlineUrl::test_valid_content_url PASSED [ 75%] tests/unittests/test__init__.py::TestCmdlineUrl::test_no_key_found PASSED [ 75%] tests/unittests/test__init__.py::TestCmdlineUrl::test_exception_warns PASSED [ 75%] tests/unittests/test_all_stages.py::test_all_stages_times_out PASSED [ 75%] tests/unittests/test_all_stages.py::test_all_stages PASSED [ 75%] tests/unittests/test_all_stages.py::test_all_stages_threaded PASSED [ 75%] tests/unittests/test_all_stages.py::test_all_stages_exception PASSED [ 75%] tests/unittests/test_apport.py::TestApport::test_can_attach_sensitive PASSED [ 75%] tests/unittests/test_apport.py::TestApport::test_attach_cloud_init_logs[True] PASSED [ 75%] tests/unittests/test_apport.py::TestApport::test_attach_cloud_init_logs[False] PASSED [ 75%] tests/unittests/test_apport.py::TestApport::test_add_bug_tags_assigns_proper_tags[report0-] PASSED [ 75%] tests/unittests/test_apport.py::TestApport::test_add_bug_tags_assigns_proper_tags[report1-ubuntu-desktop-installer] PASSED [ 75%] tests/unittests/test_apport.py::TestApport::test_add_bug_tags_assigns_proper_tags[report2-curtin subiquity] PASSED [ 75%] tests/unittests/test_apport.py::TestApport::test_add_bug_tags_assigns_proper_tags[report3-systemd-ordering ubuntu-desktop-installer] PASSED [ 75%] tests/unittests/test_apport.py::TestApport::test_attach_ubuntu_pro_info PASSED [ 75%] tests/unittests/test_apport.py::TestApport::test_attach_ubuntu_pro_info_log_non_present PASSED [ 75%] tests/unittests/test_atomic_helper.py::TestAtomicHelper::test_basic_usage PASSED [ 75%] tests/unittests/test_atomic_helper.py::TestAtomicHelper::test_string PASSED [ 75%] tests/unittests/test_atomic_helper.py::TestAtomicHelper::test_file_permissions PASSED [ 75%] tests/unittests/test_atomic_helper.py::TestAtomicHelper::test_file_preserve_permissions PASSED [ 75%] tests/unittests/test_atomic_helper.py::TestAtomicHelper::test_write_json PASSED [ 75%] tests/unittests/test_atomic_helper.py::TestAtomicHelper::test_write_file_ensure_dirs PASSED [ 75%] tests/unittests/test_builtin_handlers.py::TestJinjaTemplatePartHandler::test_jinja_template_part_handler_defaults PASSED [ 75%] tests/unittests/test_builtin_handlers.py::TestJinjaTemplatePartHandler::test_jinja_template_part_handler_looks_up_sub_handler_types PASSED [ 75%] tests/unittests/test_builtin_handlers.py::TestJinjaTemplatePartHandler::test_jinja_template_part_handler_looks_up_subhandler_types PASSED [ 75%] tests/unittests/test_builtin_handlers.py::TestJinjaTemplatePartHandler::test_jinja_template_handle_noop_on_content_signals PASSED [ 75%] tests/unittests/test_builtin_handlers.py::TestJinjaTemplatePartHandler::test_jinja_template_handle_subhandler_v2_with_clean_payload PASSED [ 75%] tests/unittests/test_builtin_handlers.py::TestJinjaTemplatePartHandler::test_jinja_template_handle_subhandler_v3_with_clean_payload PASSED [ 76%] tests/unittests/test_builtin_handlers.py::TestJinjaTemplatePartHandler::test_jinja_template_handle_errors_on_missing_instance_data_json PASSED [ 76%] tests/unittests/test_builtin_handlers.py::TestJinjaTemplatePartHandler::test_jinja_template_handle_errors_on_unreadable_instance_data PASSED [ 76%] tests/unittests/test_builtin_handlers.py::TestJinjaTemplatePartHandler::test_jinja_template_handle_renders_jinja_content PASSED [ 76%] tests/unittests/test_builtin_handlers.py::TestJinjaTemplatePartHandler::test_jinja_template_handle_renders_jinja_content_missing_keys PASSED [ 76%] tests/unittests/test_builtin_handlers.py::TestConvertJinjaInstanceData::test_convert_instance_data_operators_to_underscores[False-data0-expected0] PASSED [ 76%] tests/unittests/test_builtin_handlers.py::TestConvertJinjaInstanceData::test_convert_instance_data_operators_to_underscores[True-data1-expected1] PASSED [ 76%] tests/unittests/test_builtin_handlers.py::TestConvertJinjaInstanceData::test_convert_instance_data_operators_to_underscores[False-data2-expected2] PASSED [ 76%] tests/unittests/test_builtin_handlers.py::TestConvertJinjaInstanceData::test_convert_instance_data_operators_to_underscores[True-data3-expected3] PASSED [ 76%] tests/unittests/test_builtin_handlers.py::TestConvertJinjaInstanceData::test_convert_instance_data_operators_to_underscores[True-data4-expected4] PASSED [ 76%] tests/unittests/test_builtin_handlers.py::TestConvertJinjaInstanceData::test_convert_instance_data_promotes_versioned_keys_to_top_level PASSED [ 76%] tests/unittests/test_builtin_handlers.py::TestConvertJinjaInstanceData::test_convert_instance_data_most_recent_version_of_promoted_keys PASSED [ 76%] tests/unittests/test_builtin_handlers.py::TestConvertJinjaInstanceData::test_convert_instance_data_decodes_decode_paths PASSED [ 76%] tests/unittests/test_builtin_handlers.py::TestRenderJinjaPayload::test_render_jinja_payload_logs_jinja_vars_on_debug PASSED [ 76%] tests/unittests/test_builtin_handlers.py::TestRenderJinjaPayload::test_render_jinja_payload_replaces_missing_variables_and_warns PASSED [ 76%] tests/unittests/test_builtin_handlers.py::TestRenderJinjaPayload::test_render_jinja_payload_blocks_unsafe_attribute_access PASSED [ 76%] tests/unittests/test_builtin_handlers.py::TestShellScriptByFrequencyHandlers::test_get_script_folder_per_boot PASSED [ 76%] tests/unittests/test_builtin_handlers.py::TestShellScriptByFrequencyHandlers::test_get_script_folder_per_instance PASSED [ 76%] tests/unittests/test_builtin_handlers.py::TestShellScriptByFrequencyHandlers::test_get_script_folder_per_once PASSED [ 76%] tests/unittests/test_builtin_handlers.py::TestBootHookHandler::test_handle_part PASSED [ 76%] tests/unittests/test_cli.py::TestCLI::test_status_wrapper_errors[invalid_name] PASSED [ 76%] tests/unittests/test_cli.py::TestCLI::test_status_wrapper_errors[invalid_modes] PASSED [ 76%] tests/unittests/test_cli.py::TestCLI::test_status_wrapper_init_local_writes_fresh_status_info PASSED [ 76%] tests/unittests/test_cli.py::TestCLI::test_status_wrapper_init_local_honor_cloud_dir PASSED [ 76%] tests/unittests/test_cli.py::TestCLI::test_no_arguments_shows_usage PASSED [ 76%] tests/unittests/test_cli.py::TestCLI::test_no_arguments_shows_error_message PASSED [ 76%] tests/unittests/test_cli.py::TestCLI::test_all_subcommands_represented_in_help PASSED [ 76%] tests/unittests/test_cli.py::TestCLI::test_subcommands_log_to_stderr_via_setup_basic_logging[init-False-mocks0] PASSED [ 76%] tests/unittests/test_cli.py::TestCLI::test_subcommands_log_to_stderr_via_setup_basic_logging[modules-False-mocks1] PASSED [ 76%] tests/unittests/test_cli.py::TestCLI::test_subcommands_log_to_stderr_via_setup_basic_logging[schema-True-mocks2] PASSED [ 76%] tests/unittests/test_cli.py::TestCLI::test_modules_subcommand_parser[init] PASSED [ 76%] tests/unittests/test_cli.py::TestCLI::test_modules_subcommand_parser[modules] PASSED [ 76%] tests/unittests/test_cli.py::TestCLI::test_conditional_subcommands_from_entry_point_sys_argv[analyze] PASSED [ 76%] tests/unittests/test_cli.py::TestCLI::test_conditional_subcommands_from_entry_point_sys_argv[clean] PASSED [ 76%] tests/unittests/test_cli.py::TestCLI::test_conditional_subcommands_from_entry_point_sys_argv[collect-logs] PASSED [ 76%] tests/unittests/test_cli.py::TestCLI::test_conditional_subcommands_from_entry_point_sys_argv[devel] PASSED [ 76%] tests/unittests/test_cli.py::TestCLI::test_conditional_subcommands_from_entry_point_sys_argv[status] PASSED [ 76%] tests/unittests/test_cli.py::TestCLI::test_conditional_subcommands_from_entry_point_sys_argv[schema] PASSED [ 76%] tests/unittests/test_cli.py::TestCLI::test_subcommand_parser[clean] PASSED [ 76%] tests/unittests/test_cli.py::TestCLI::test_subcommand_parser[collect-logs] PASSED [ 76%] tests/unittests/test_cli.py::TestCLI::test_subcommand_parser[status] PASSED [ 76%] tests/unittests/test_cli.py::TestCLI::test_subcommand_parser_shows_usage[clean] PASSED [ 76%] tests/unittests/test_cli.py::TestCLI::test_subcommand_parser_shows_usage[collect-logs] PASSED [ 76%] tests/unittests/test_cli.py::TestCLI::test_subcommand_parser_shows_usage[status] PASSED [ 76%] tests/unittests/test_cli.py::TestCLI::test_subcommand_parser_multi_arg[args0-expected_subcommands0] PASSED [ 76%] tests/unittests/test_cli.py::TestCLI::test_subcommand_parser_multi_arg[args1-expected_subcommands1] PASSED [ 76%] tests/unittests/test_cli.py::TestCLI::test_wb_schema_subcommand_parser PASSED [ 76%] tests/unittests/test_cli.py::TestCLI::test_single_subcommand PASSED [ 76%] tests/unittests/test_cli.py::TestCLI::test_features_hook_subcommand PASSED [ 76%] tests/unittests/test_cli.py::TestCLI::test_all_stages_with_tty PASSED [ 76%] tests/unittests/test_cli.py::TestSignalHandling::test_status_wrapper_signal_sys_exit PASSED [ 76%] tests/unittests/test_cli.py::TestSignalHandling::test_status_wrapper_no_signal_sys_exit PASSED [ 76%] tests/unittests/test_cli.py::TestSignalHandling::test_status_wrapper_signal_warnings PASSED [ 76%] tests/unittests/test_conftest.py::TestDisableSubpUsage::test_using_subp_raises_assertion_error PASSED [ 76%] tests/unittests/test_conftest.py::TestDisableSubpUsage::test_typeerrors_on_incorrect_usage PASSED [ 76%] tests/unittests/test_conftest.py::TestDisableSubpUsage::test_subp_exception_escapes_exception_handling PASSED [ 76%] tests/unittests/test_conftest.py::TestDisableSubpUsage::test_subp_usage_can_be_reenabled PASSED [ 76%] tests/unittests/test_conftest.py::TestDisableSubpUsage::test_subp_usage_can_be_conditionally_reenabled PASSED [ 77%] tests/unittests/test_conftest.py::TestDisableSubpUsage::test_subp_usage_can_be_conditionally_reenabled_for_multiple_cmds PASSED [ 77%] tests/unittests/test_conftest.py::TestDisableSubpUsage::test_both_marks_raise_an_error PASSED [ 77%] tests/unittests/test_data.py::TestConsumeUserData::test_simple_jsonp PASSED [ 77%] tests/unittests/test_data.py::TestConsumeUserData::test_simple_jsonp_vendor_and_vendor2_and_user PASSED [ 77%] tests/unittests/test_data.py::TestConsumeUserData::test_simple_jsonp_no_vendor_consumed PASSED [ 77%] tests/unittests/test_data.py::TestConsumeUserData::test_mixed_cloud_config PASSED [ 77%] tests/unittests/test_data.py::TestConsumeUserData::test_cloud_config_as_x_shell_script PASSED [ 77%] tests/unittests/test_data.py::TestConsumeUserData::test_vendor_user_yaml_cloud_config PASSED [ 77%] tests/unittests/test_data.py::TestConsumeUserData::test_vendordata_script PASSED [ 77%] tests/unittests/test_data.py::TestConsumeUserData::test_merging_cloud_config PASSED [ 77%] tests/unittests/test_data.py::TestConsumeUserData::test_unhandled_type_warning PASSED [ 77%] tests/unittests/test_data.py::TestConsumeUserData::test_mime_gzip_compressed PASSED [ 77%] tests/unittests/test_data.py::TestConsumeUserData::test_mime_text_plain PASSED [ 77%] tests/unittests/test_data.py::TestConsumeUserData::test_shellscript PASSED [ 77%] tests/unittests/test_data.py::TestConsumeUserData::test_expected_artifacts PASSED [ 77%] tests/unittests/test_data.py::TestConsumeUserData::test_mime_text_x_shellscript PASSED [ 77%] tests/unittests/test_data.py::TestConsumeUserData::test_mime_text_plain_shell PASSED [ 77%] tests/unittests/test_data.py::TestConsumeUserData::test_mime_application_octet_stream PASSED [ 77%] tests/unittests/test_data.py::TestConsumeUserData::test_cloud_config_archive PASSED [ 77%] tests/unittests/test_data.py::TestConsumeUserData::test_dont_allow_user_data PASSED [ 77%] tests/unittests/test_data.py::TestConsumeUserDataHttp::test_include PASSED [ 77%] tests/unittests/test_data.py::TestConsumeUserDataHttp::test_include_bad_url PASSED [ 77%] tests/unittests/test_data.py::TestConsumeUserDataHttp::test_include_bad_url_no_fail PASSED [ 77%] tests/unittests/test_data.py::TestUDProcess::test_bytes_in_userdata PASSED [ 77%] tests/unittests/test_data.py::TestUDProcess::test_string_in_userdata PASSED [ 77%] tests/unittests/test_data.py::TestUDProcess::test_compressed_in_userdata PASSED [ 77%] tests/unittests/test_data.py::TestConvertString::test_handles_binary_non_utf8_decodable PASSED [ 77%] tests/unittests/test_data.py::TestConvertString::test_handles_binary_utf8_decodable PASSED [ 77%] tests/unittests/test_data.py::TestConvertString::test_handle_headers PASSED [ 77%] tests/unittests/test_data.py::TestConvertString::test_handle_mime_parts PASSED [ 77%] tests/unittests/test_data.py::TestFetchBaseConfig::test_only_builtin_gets_builtin PASSED [ 77%] tests/unittests/test_data.py::TestFetchBaseConfig::test_conf_d_overrides_defaults PASSED [ 77%] tests/unittests/test_data.py::TestFetchBaseConfig::test_confd_with_template PASSED [ 77%] tests/unittests/test_data.py::TestFetchBaseConfig::test_cmdline_overrides_defaults PASSED [ 77%] tests/unittests/test_data.py::TestFetchBaseConfig::test_cmdline_overrides_confd_runtime_and_defaults PASSED [ 77%] tests/unittests/test_data.py::TestFetchBaseConfig::test_order_precedence_is_builtin_system_runtime_cmdline PASSED [ 77%] tests/unittests/test_dmi.py::TestReadDMIData::test_sysfs_used_with_key_in_mapping_and_file_on_disk PASSED [ 77%] tests/unittests/test_dmi.py::TestReadDMIData::test_dmidecode_used_if_no_sysfs_file_on_disk PASSED [ 77%] tests/unittests/test_dmi.py::TestReadDMIData::test_dmidecode_not_used_on_arm PASSED [ 77%] tests/unittests/test_dmi.py::TestReadDMIData::test_none_returned_if_neither_source_has_data PASSED [ 77%] tests/unittests/test_dmi.py::TestReadDMIData::test_none_returned_if_dmidecode_not_in_path PASSED [ 77%] tests/unittests/test_dmi.py::TestReadDMIData::test_empty_string_returned_instead_of_foxfox PASSED [ 77%] tests/unittests/test_dmi.py::TestReadDMIData::test_container_returns_none PASSED [ 77%] tests/unittests/test_dmi.py::TestReadDMIData::test_container_returns_none_on_unknown PASSED [ 77%] tests/unittests/test_dmi.py::TestReadDMIData::test_freebsd_uses_kenv PASSED [ 77%] tests/unittests/test_dmi.py::TestReadDMIData::test_openbsd_uses_kenv PASSED [ 77%] tests/unittests/test_dmi.py::TestSubDMIVars::test_sub_dmi_vars[match_dmi_distro_agnostic_strings_warn_on_unknown] PASSED [ 77%] tests/unittests/test_dmi.py::TestSubDMIVars::test_sub_dmi_vars[match_dmi_agnostic_and_freebsd_dmi_keys_warn_on_unknown] PASSED [ 77%] tests/unittests/test_ds_identify.py::TestDsIdentify::test_wb_print_variables PASSED [ 77%] tests/unittests/test_ds_identify.py::TestDsIdentify::test_ds_found_not_found[mass_not_detected_1] PASSED [ 77%] tests/unittests/test_ds_identify.py::TestDsIdentify::test_ds_found_not_found[mass_not_detected_2] PASSED [ 77%] tests/unittests/test_ds_identify.py::TestDsIdentify::test_ds_found_not_found[mass_not_detected_3] PASSED [ 77%] tests/unittests/test_ds_identify.py::TestDsIdentify::test_ds_found_not_found[azure_invalid_configuration] PASSED [ 77%] tests/unittests/test_ds_identify.py::TestDsIdentify::test_ds_found_not_found[azure_dmi_detection_from_chassis_asset_tag] PASSED [ 77%] tests/unittests/test_ds_identify.py::TestDsIdentify::test_ds_found_not_found[azure_seed_file_detection] PASSED [ 77%] tests/unittests/test_ds_identify.py::TestDsIdentify::test_ds_found_not_found[aws_ec2_hvm] PASSED [ 77%] tests/unittests/test_ds_identify.py::TestDsIdentify::test_ds_found_not_found[aws_ec2_hvm_env] PASSED [ 77%] tests/unittests/test_ds_identify.py::TestDsIdentify::test_ds_found_not_found[aws_ec2_hvm_endian] PASSED [ 78%] tests/unittests/test_ds_identify.py::TestDsIdentify::test_ds_found_not_found[aws_ec2_xen] PASSED [ 78%] tests/unittests/test_ds_identify.py::TestDsIdentify::test_ds_found_not_found[brightbox_is_ec2] PASSED [ 78%] tests/unittests/test_ds_identify.py::TestDsIdentify::test_ds_found_not_found[brightbox_is_not_brightbox] PASSED [ 78%] tests/unittests/test_ds_identify.py::TestDsIdentify::test_ds_found_not_found[freebsd_nocloud] PASSED [ 78%] tests/unittests/test_ds_identify.py::TestDsIdentify::test_ds_found_not_found[gce_by_product_name] PASSED [ 78%] tests/unittests/test_ds_identify.py::TestDsIdentify::test_ds_found_not_found[gce_by_product_name_env] PASSED [ 78%] tests/unittests/test_ds_identify.py::TestDsIdentify::test_ds_found_not_found[gce_by_serial] PASSED [ 78%] tests/unittests/test_ds_identify.py::TestDsIdentify::test_ds_found_not_found[lxd_kvm] PASSED [ 78%] tests/unittests/test_ds_identify.py::TestDsIdentify::test_ds_found_not_found[lxd_kvm_jammy] PASSED [ 78%] tests/unittests/test_ds_identify.py::TestDsIdentify::test_ds_found_not_found[lxd_kvm_jammy_env] PASSED [ 78%] tests/unittests/test_ds_identify.py::TestDsIdentify::test_ds_found_not_found[lxd_containers] PASSED [ 78%] tests/unittests/test_ds_identify.py::TestDsIdentify::test_ds_found_not_found[maas_detected_kernel_cmdline_not_lxd] PASSED [ 78%] tests/unittests/test_ds_identify.py::TestDsIdentify::test_ds_found_not_found[config_drive] PASSED [ 78%] tests/unittests/test_ds_identify.py::TestDsIdentify::test_ds_found_not_found[rbx_cloud] PASSED [ 78%] tests/unittests/test_ds_identify.py::TestDsIdentify::test_ds_found_not_found[rbx_cloud_lower] PASSED [ 78%] tests/unittests/test_ds_identify.py::TestDsIdentify::test_ds_found_not_found[config_drive_upper] PASSED [ 78%] tests/unittests/test_ds_identify.py::TestDsIdentify::test_ds_found_not_found[config_drive_seed] PASSED [ 78%] tests/unittests/test_ds_identify.py::TestDsIdentify::test_ds_found_not_found[multiline_yaml] XFAIL [ 78%] tests/unittests/test_ds_identify.py::TestDsIdentify::test_ds_found_not_found[ibmcloud_template_userdata] PASSED [ 78%] tests/unittests/test_ds_identify.py::TestDsIdentify::test_ds_found_not_found[ibmcloud_os_code] PASSED [ 78%] tests/unittests/test_ds_identify.py::TestDsIdentify::test_ds_found_not_found[aliyun_found_by_product_id] PASSED [ 78%] tests/unittests/test_ds_identify.py::TestDsIdentify::test_ds_found_not_found[default_openstack_intel_is_found] PASSED [ 78%] tests/unittests/test_ds_identify.py::TestDsIdentify::test_ds_found_not_found[openstack_open_telekom_cloud] PASSED [ 78%] tests/unittests/test_ds_identify.py::TestDsIdentify::test_ds_found_not_found[openstack_sap_ccloud] PASSED [ 78%] tests/unittests/test_ds_identify.py::TestDsIdentify::test_ds_found_not_found[openstack_sap_ccloud-env] PASSED [ 78%] tests/unittests/test_ds_identify.py::TestDsIdentify::test_ds_found_not_found[openstack_huawei_cloud] PASSED [ 78%] tests/unittests/test_ds_identify.py::TestDsIdentify::test_ds_found_not_found[openstack_samsung_cloud_platform] PASSED [ 78%] tests/unittests/test_ds_identify.py::TestDsIdentify::test_ds_found_not_found[openstack_asset_tag_nova] PASSED [ 78%] tests/unittests/test_ds_identify.py::TestDsIdentify::test_ds_found_not_found[openstack_asset_tag_compute] PASSED [ 78%] tests/unittests/test_ds_identify.py::TestDsIdentify::test_ds_found_not_found[default_ovf_is_found] PASSED [ 78%] tests/unittests/test_ds_identify.py::TestDsIdentify::test_ds_found_not_found[ovf_on_vmware_iso_found_by_cdrom_with_ovf_schema_match] PASSED [ 78%] tests/unittests/test_ds_identify.py::TestDsIdentify::test_ds_found_not_found[ovf_on_vmware_guestinfo_found] PASSED [ 78%] tests/unittests/test_ds_identify.py::TestDsIdentify::test_ds_found_not_found[default_nocloud_as_vdb_iso9660] PASSED [ 78%] tests/unittests/test_ds_identify.py::TestDsIdentify::test_ds_found_not_found[nocloud_upper] PASSED [ 78%] tests/unittests/test_ds_identify.py::TestDsIdentify::test_ds_found_not_found[nocloud_seed_in_cfg] PASSED [ 78%] tests/unittests/test_ds_identify.py::TestDsIdentify::test_ds_found_not_found[nocloud_fatboot] PASSED [ 78%] tests/unittests/test_ds_identify.py::TestDsIdentify::test_ds_found_not_found[nocloud_seed] PASSED [ 78%] tests/unittests/test_ds_identify.py::TestDsIdentify::test_ds_found_not_found[nocloud_seed_ubuntu_core_writable] PASSED [ 78%] tests/unittests/test_ds_identify.py::TestDsIdentify::test_ds_found_not_found[hetzner_found] PASSED [ 78%] tests/unittests/test_ds_identify.py::TestDsIdentify::test_ds_found_not_found[cloudcix_found] PASSED [ 78%] tests/unittests/test_ds_identify.py::TestDsIdentify::test_ds_found_not_found[nwcs_found] PASSED [ 78%] tests/unittests/test_ds_identify.py::TestDsIdentify::test_ds_found_not_found[smartos_bhyve] PASSED [ 78%] tests/unittests/test_ds_identify.py::TestDsIdentify::test_ds_found_not_found[smartos_lxbrand] PASSED [ 78%] tests/unittests/test_ds_identify.py::TestDsIdentify::test_ds_found_not_found[smartos_lxbrand-env] PASSED [ 78%] tests/unittests/test_ds_identify.py::TestDsIdentify::test_ds_found_not_found[tilaa_is_ec2] PASSED [ 78%] tests/unittests/test_ds_identify.py::TestDsIdentify::test_ds_found_not_found[zstack_is_ec2] PASSED [ 78%] tests/unittests/test_ds_identify.py::TestDsIdentify::test_ds_found_not_found[e24cloud_is_ec2] PASSED [ 78%] tests/unittests/test_ds_identify.py::TestDsIdentify::test_ds_found_not_found[e24cloud_not_active] PASSED [ 78%] tests/unittests/test_ds_identify.py::TestDsIdentify::test_ds_found_not_found[outscale_is_ec2] PASSED [ 78%] tests/unittests/test_ds_identify.py::TestDsIdentify::test_ds_found_not_found[outscale_not_active_sysvendor] PASSED [ 78%] tests/unittests/test_ds_identify.py::TestDsIdentify::test_ds_found_not_found[outscale_not_active_productname] PASSED [ 78%] tests/unittests/test_ds_identify.py::TestDsIdentify::test_ds_found_not_found[vmware_no_valid_transports] PASSED [ 78%] tests/unittests/test_ds_identify.py::TestDsIdentify::test_ds_found_not_found[vmware_on_vmware_when_vmware_customization_is_enabled] PASSED [ 78%] tests/unittests/test_ds_identify.py::TestDsIdentify::test_ds_found_not_found[vmware_ovf_on_vmware_with_vmware_customization_and_ovf_schema] PASSED [ 78%] tests/unittests/test_ds_identify.py::TestDsIdentify::test_ds_found_not_found[ovf_not_on_vmware_with_vmware_customization_and_ovf_schema] PASSED [ 78%] tests/unittests/test_ds_identify.py::TestDsIdentify::test_ds_found_not_found[vmware_envvar_no_data] PASSED [ 78%] tests/unittests/test_ds_identify.py::TestDsIdentify::test_ds_found_not_found[vmware_envvar_no_virt_id] PASSED [ 79%] tests/unittests/test_ds_identify.py::TestDsIdentify::test_ds_found_not_found[vmware_envvar_activated_by_metadata] PASSED [ 79%] tests/unittests/test_ds_identify.py::TestDsIdentify::test_ds_found_not_found[vmware_envvar_activated_by_userdata] PASSED [ 79%] tests/unittests/test_ds_identify.py::TestDsIdentify::test_ds_found_not_found[vmware_envvar_activated_by_vendordata] PASSED [ 79%] tests/unittests/test_ds_identify.py::TestDsIdentify::test_ds_found_not_found[vmware_guestinfo_no_data_rcptool] PASSED [ 79%] tests/unittests/test_ds_identify.py::TestDsIdentify::test_ds_found_not_found[vmware_guestinfo_no_data_vmtoolsd] PASSED [ 79%] tests/unittests/test_ds_identify.py::TestDsIdentify::test_ds_found_not_found[vmware_guestinfo_no_virt_id] PASSED [ 79%] tests/unittests/test_ds_identify.py::TestDsIdentify::test_ds_found_not_found[vmware_guestinfo_activated_by_metadata] PASSED [ 79%] tests/unittests/test_ds_identify.py::TestDsIdentify::test_ds_found_not_found[vmware_guestinfo_activated_by_userdata] PASSED [ 79%] tests/unittests/test_ds_identify.py::TestDsIdentify::test_ds_found_not_found[vmware_guestinfo_activated_by_vendordata] PASSED [ 79%] tests/unittests/test_ds_identify.py::TestDsIdentify::test_ds_found_not_found[vmware_ovf_on_vmware_with_guestinfo_metadata_and_ovf_schema] PASSED [ 79%] tests/unittests/test_ds_identify.py::TestDsIdentify::test_ds_found_not_found[ovf_not_on_vmware_with_guestinfo_metadata_and_ovf_schema] PASSED [ 79%] tests/unittests/test_ds_identify.py::TestDsIdentify::test_ds_found_not_found[akamai_found_by_sys_vendor] PASSED [ 79%] tests/unittests/test_ds_identify.py::TestDsIdentify::test_ds_found_not_found[bsd_dmi_kenv] PASSED [ 79%] tests/unittests/test_ds_identify.py::TestDsIdentify::test_ds_found_not_found[bsd_dmi_sysctl] PASSED [ 79%] tests/unittests/test_ds_identify.py::TestDsIdentify::test_ds_found_not_found[bsd_dmi_dmidecode] PASSED [ 79%] tests/unittests/test_ds_identify.py::TestDsIdentify::test_ds_found_not_found[oracle_found_by_chassis] PASSED [ 79%] tests/unittests/test_ds_identify.py::TestDsIdentify::test_ds_found_not_found[wsl_not_found_virt] PASSED [ 79%] tests/unittests/test_ds_identify.py::TestDsIdentify::test_ds_found_not_found[wsl_no_fs_mounts] PASSED [ 79%] tests/unittests/test_ds_identify.py::TestDsIdentify::test_ds_found_not_found[lxd_virtio_linuxcontainers_serial] PASSED [ 79%] tests/unittests/test_ds_identify.py::TestDsIdentify::test_ds_found_not_found[lxd_virtio_canonical_serial] PASSED [ 79%] tests/unittests/test_ds_identify.py::TestDsIdentify::test_ds_found_not_found[lxd_virtio_wrong_serial] PASSED [ 79%] tests/unittests/test_ds_identify.py::TestDsIdentify::test_ds_found_not_found[lxd_virtio_multiple_ports] PASSED [ 79%] tests/unittests/test_ds_identify.py::TestDsIdentify::test_ds_found_not_found[lxd_virtio_empty_dir] PASSED [ 79%] tests/unittests/test_ds_identify.py::TestDsIdentify::test_flow_sequence_control PASSED [ 79%] tests/unittests/test_ds_identify.py::TestDsIdentify::test_flow_sequence PASSED [ 79%] tests/unittests/test_ds_identify.py::TestDsIdentify::test_config_drive_interacts_with_ibmcloud_config_disk PASSED [ 79%] tests/unittests/test_ds_identify.py::TestDsIdentify::test_ibmcloud_template_userdata_in_provisioning PASSED [ 79%] tests/unittests/test_ds_identify.py::TestDsIdentify::test_ibmcloud_template_no_userdata_in_provisioning PASSED [ 79%] tests/unittests/test_ds_identify.py::TestDsIdentify::test_ibmcloud_template_no_userdata PASSED [ 79%] tests/unittests/test_ds_identify.py::TestDsIdentify::test_ibmcloud_os_code_different_uuid PASSED [ 79%] tests/unittests/test_ds_identify.py::TestDsIdentify::test_ibmcloud_with_nocloud_seed PASSED [ 79%] tests/unittests/test_ds_identify.py::TestDsIdentify::test_ibmcloud_with_configdrive_seed PASSED [ 79%] tests/unittests/test_ds_identify.py::TestDsIdentify::test_policy_disabled PASSED [ 79%] tests/unittests/test_ds_identify.py::TestDsIdentify::test_policy_config_disable_overrides_builtin PASSED [ 79%] tests/unittests/test_ds_identify.py::TestDsIdentify::test_single_entry_defines_datasource PASSED [ 79%] tests/unittests/test_ds_identify.py::TestDsIdentify::test_configured_list_with_none PASSED [ 79%] tests/unittests/test_ds_identify.py::TestDsIdentify::test_nocloud_seedfrom PASSED [ 79%] tests/unittests/test_ds_identify.py::TestDsIdentify::test_nocloud_userdata_and_metadata PASSED [ 79%] tests/unittests/test_ds_identify.py::TestDsIdentify::test_aliyun_over_ec2 PASSED [ 79%] tests/unittests/test_ds_identify.py::TestDsIdentify::test_openstack_on_non_intel_is_maybe PASSED [ 79%] tests/unittests/test_ds_identify.py::TestDsIdentify::test_default_ovf_with_detect_virt_none_not_found PASSED [ 79%] tests/unittests/test_ds_identify.py::TestDsIdentify::test_default_ovf_returns_not_found_on_azure PASSED [ 79%] tests/unittests/test_ds_identify.py::TestDsIdentify::test_ovf_on_vmware_iso_found_by_cdrom_with_matching_fs_label PASSED [ 79%] tests/unittests/test_ds_identify.py::TestDsIdentify::test_ovf_on_vmware_iso_found_by_cdrom_with_different_size PASSED [ 79%] tests/unittests/test_ds_identify.py::TestDsIdentify::test_smartos_lxbrand_requires_socket PASSED [ 79%] tests/unittests/test_ds_identify.py::TestDsIdentify::test_smartos_lxbrand_requires_socket_env PASSED [ 79%] tests/unittests/test_ds_identify.py::TestDsIdentify::test_path_env_gets_set_from_main PASSED [ 79%] tests/unittests/test_ds_identify.py::TestDsIdentify::test_vmware_on_vmware_open_vm_tools_64 PASSED [ 79%] tests/unittests/test_ds_identify.py::TestDsIdentify::test_vmware_on_vmware_open_vm_tools_x86_64_linux_gnu PASSED [ 79%] tests/unittests/test_ds_identify.py::TestDsIdentify::test_vmware_on_vmware_open_vm_tools_aarch64_linux_gnu PASSED [ 79%] tests/unittests/test_ds_identify.py::TestDsIdentify::test_vmware_on_vmware_open_vm_tools_i386_linux_gnu PASSED [ 79%] tests/unittests/test_ds_identify.py::TestAkamai::test_found_by_sys_vendor_akamai PASSED [ 79%] tests/unittests/test_ds_identify.py::TestAkamai::test_not_found PASSED [ 79%] tests/unittests/test_ds_identify.py::TestIsIBMProvisioning::test_no_config PASSED [ 79%] tests/unittests/test_ds_identify.py::TestIsIBMProvisioning::test_config_only PASSED [ 79%] tests/unittests/test_ds_identify.py::TestIsIBMProvisioning::test_config_with_old_log PASSED [ 79%] tests/unittests/test_ds_identify.py::TestIsIBMProvisioning::test_config_with_new_log PASSED [ 80%] tests/unittests/test_ds_identify.py::TestOracle::test_not_found PASSED [ 80%] tests/unittests/test_ds_identify.py::TestWSL::test_no_userprofile PASSED [ 80%] tests/unittests/test_ds_identify.py::TestWSL::test_no_cloudinitdir_in_userprofile PASSED [ 80%] tests/unittests/test_ds_identify.py::TestWSL::test_found_fail_due_instance_name_parsing PASSED [ 80%] tests/unittests/test_event.py::TestEvent::test_userdata_to_events PASSED [ 80%] tests/unittests/test_event.py::TestEvent::test_invalid_scope PASSED [ 80%] tests/unittests/test_event.py::TestEvent::test_invalid_event PASSED [ 80%] tests/unittests/test_features.py::TestGetFeatures::test_feature_without_override PASSED [ 80%] tests/unittests/test_gpg.py::TestGPGCommands::test_dearmor_bad_value PASSED [ 80%] tests/unittests/test_gpg.py::TestGPGCommands::test_gpg_list_args PASSED [ 80%] tests/unittests/test_gpg.py::TestGPGCommands::test_gpg_dearmor_args PASSED [ 80%] tests/unittests/test_gpg.py::TestReceiveKeys::test_retries_on_subp_exc PASSED [ 80%] tests/unittests/test_gpg.py::TestReceiveKeys::test_raises_error_after_retries PASSED [ 80%] tests/unittests/test_gpg.py::TestReceiveKeys::test_no_retries_on_none PASSED [ 80%] tests/unittests/test_gpg.py::TestReceiveKeys::test_expected_gpg_command PASSED [ 80%] tests/unittests/test_gpg.py::TestReceiveKeys::test_kill_gpg_succeeds PASSED [ 80%] tests/unittests/test_gpg.py::TestReceiveKeys::test_do_not_kill_unstarted_gpg PASSED [ 80%] tests/unittests/test_gpg.py::TestReceiveKeys::test_kill_gpg_failover_succeeds PASSED [ 80%] tests/unittests/test_helpers.py::TestPaths::test_get_ipath_and_instance_id_with_slashes PASSED [ 80%] tests/unittests/test_helpers.py::TestPaths::test_get_ipath_and_empty_instance_id_returns_none PASSED [ 80%] tests/unittests/test_helpers.py::Testcloud_init_project_dir::test_top_level_dir PASSED [ 80%] tests/unittests/test_helpers.py::Testcloud_init_project_dir::test_cloud_init_project_dir PASSED [ 80%] tests/unittests/test_importer.py::test_importer[nocloud-net is a special case, make sure it works] PASSED [ 80%] tests/unittests/test_importer.py::test_importer[nocloud is a special case, make sure it works] PASSED [ 80%] tests/unittests/test_importer.py::test_importer[gce, full name] PASSED [ 80%] tests/unittests/test_importer.py::test_importer[gce, name match] PASSED [ 80%] tests/unittests/test_log.py::TestCloudInitLogger::test_logger_uses_gmtime PASSED [ 80%] tests/unittests/test_log.py::TestDeprecatedLogs::test_deprecated_log_level PASSED [ 80%] tests/unittests/test_log.py::TestDeprecatedLogs::test_trace_log_level PASSED [ 80%] tests/unittests/test_log.py::TestDeprecatedLogs::test_deprecate_log_level_based_on_features[test_same_deprecation_info_boundary_is_deprecated_level] PASSED [ 80%] tests/unittests/test_log.py::TestDeprecatedLogs::test_deprecate_log_level_based_on_features[test_lower_deprecation_info_boundary_is_info_level] PASSED [ 80%] tests/unittests/test_log.py::TestDeprecatedLogs::test_log_deduplication PASSED [ 80%] tests/unittests/test_log.py::test_logger_prints_to_stderr PASSED [ 80%] tests/unittests/test_merging.py::TestSimpleRun::test_seed_runs PASSED [ 80%] tests/unittests/test_merging.py::TestSimpleRun::test_merge_cc_samples PASSED [ 80%] tests/unittests/test_merging.py::TestSimpleRun::test_compat_merges_dict PASSED [ 80%] tests/unittests/test_merging.py::TestSimpleRun::test_compat_merges_dict2 PASSED [ 80%] tests/unittests/test_merging.py::TestSimpleRun::test_compat_merges_list PASSED [ 80%] tests/unittests/test_merging.py::TestSimpleRun::test_compat_merges_str PASSED [ 80%] tests/unittests/test_merging.py::TestSimpleRun::test_compat_merge_sub_dict PASSED [ 80%] tests/unittests/test_merging.py::TestSimpleRun::test_compat_merge_sub_dict2 PASSED [ 80%] tests/unittests/test_merging.py::TestSimpleRun::test_compat_merge_sub_list PASSED [ 80%] tests/unittests/test_merging.py::TestMergingSchema::test_schema_validation[config0-None] PASSED [ 80%] tests/unittests/test_merging.py::TestMergingSchema::test_schema_validation[config1-None] PASSED [ 80%] tests/unittests/test_merging.py::TestMergingSchema::test_schema_validation[config2-\\[\\] (is too short|should be non-empty|does not have enough properties)] PASSED [ 80%] tests/unittests/test_merging.py::TestMergingSchema::test_schema_validation[config3-is not of type] PASSED [ 80%] tests/unittests/test_merging.py::TestMergingSchema::test_schema_validation[config4-'append' is not of type 'array'] PASSED [ 80%] tests/unittests/test_merging.py::TestMergingSchema::test_schema_validation[config5-'name' is a required property] PASSED [ 80%] tests/unittests/test_merging.py::TestMergingSchema::test_schema_validation[config6-'settings' is a required property] PASSED [ 80%] tests/unittests/test_merging.py::TestMergingSchema::test_schema_validation[config7-Additional properties are not allowed \\('badkey' was unexpected\\)] PASSED [ 80%] tests/unittests/test_merging.py::TestMergingSchema::test_schema_validation[config8-'badvalue' is not one of] PASSED [ 80%] tests/unittests/test_merging.py::TestMergingSchema::test_schema_validation[config9-'badvalue'\\ is\\ not\\ one\\ of\\ \\['list',\\ 'dict',\\ 'str'\\]] PASSED [ 80%] tests/unittests/test_merging.py::TestMergingSchema::test_schema_validation[config10-None] PASSED [ 80%] tests/unittests/test_merging.py::TestMergingSchema::test_schema_validation[config11-None] PASSED [ 80%] tests/unittests/test_net.py::TestGenerateFallbackConfig::test_device_driver_v2 PASSED [ 80%] tests/unittests/test_net.py::TestGenerateFallbackConfig::test_device_driver PASSED [ 80%] tests/unittests/test_net.py::TestGenerateFallbackConfig::test_hv_netvsc_vf_filter PASSED [ 81%] tests/unittests/test_net.py::TestGenerateFallbackConfig::test_unstable_names PASSED [ 81%] tests/unittests/test_net.py::TestGenerateFallbackConfig::test_unstable_names_disabled PASSED [ 81%] tests/unittests/test_net.py::TestRhelSysConfigRendering::test_default_generation PASSED [ 81%] tests/unittests/test_net.py::TestRhelSysConfigRendering::test_multiple_ipv4_default_gateways PASSED [ 81%] tests/unittests/test_net.py::TestRhelSysConfigRendering::test_multiple_ipv6_default_gateways PASSED [ 81%] tests/unittests/test_net.py::TestRhelSysConfigRendering::test_invalid_network_mask_ipv6 PASSED [ 81%] tests/unittests/test_net.py::TestRhelSysConfigRendering::test_invalid_network_mask_ipv4 PASSED [ 81%] tests/unittests/test_net.py::TestRhelSysConfigRendering::test_openstack_rendering_samples PASSED [ 81%] tests/unittests/test_net.py::TestRhelSysConfigRendering::test_network_config_v1_samples PASSED [ 81%] tests/unittests/test_net.py::TestRhelSysConfigRendering::test_network_config_v1_multi_iface_samples PASSED [ 81%] tests/unittests/test_net.py::TestRhelSysConfigRendering::test_config_with_explicit_loopback PASSED [ 81%] tests/unittests/test_net.py::TestRhelSysConfigRendering::test_config[bond_v1-yaml] PASSED [ 81%] tests/unittests/test_net.py::TestRhelSysConfigRendering::test_config[bond_v2-yaml] PASSED [ 81%] tests/unittests/test_net.py::TestRhelSysConfigRendering::test_config[vlan_v1-yaml] PASSED [ 81%] tests/unittests/test_net.py::TestRhelSysConfigRendering::test_config[vlan_v2-yaml] PASSED [ 81%] tests/unittests/test_net.py::TestRhelSysConfigRendering::test_config[bridge-yaml_v1] PASSED [ 81%] tests/unittests/test_net.py::TestRhelSysConfigRendering::test_config[bridge-yaml_v2] PASSED [ 81%] tests/unittests/test_net.py::TestRhelSysConfigRendering::test_config[manual-yaml] PASSED [ 81%] tests/unittests/test_net.py::TestRhelSysConfigRendering::test_config[small_v1-yaml] PASSED [ 81%] tests/unittests/test_net.py::TestRhelSysConfigRendering::test_config[small_v2-yaml] PASSED [ 81%] tests/unittests/test_net.py::TestRhelSysConfigRendering::test_config[dhcpv6_only-yaml_v1] PASSED [ 81%] tests/unittests/test_net.py::TestRhelSysConfigRendering::test_config[dhcpv6_only-yaml_v2] PASSED [ 81%] tests/unittests/test_net.py::TestRhelSysConfigRendering::test_config[dhcpv6_accept_ra-yaml_v1] PASSED [ 81%] tests/unittests/test_net.py::TestRhelSysConfigRendering::test_config[dhcpv6_accept_ra-yaml_v2] PASSED [ 81%] tests/unittests/test_net.py::TestRhelSysConfigRendering::test_config[dhcpv6_reject_ra-yaml_v1] PASSED [ 81%] tests/unittests/test_net.py::TestRhelSysConfigRendering::test_config[dhcpv6_reject_ra-yaml_v2] PASSED [ 81%] tests/unittests/test_net.py::TestRhelSysConfigRendering::test_config[static6-yaml_v1] PASSED [ 81%] tests/unittests/test_net.py::TestRhelSysConfigRendering::test_config[static6-yaml_v2] PASSED [ 81%] tests/unittests/test_net.py::TestRhelSysConfigRendering::test_config[dhcpv6_stateless-yaml] PASSED [ 81%] tests/unittests/test_net.py::TestRhelSysConfigRendering::test_config[dhcpv6_stateful-yaml] PASSED [ 81%] tests/unittests/test_net.py::TestRhelSysConfigRendering::test_config[wakeonlan_disabled-yaml_v2] PASSED [ 81%] tests/unittests/test_net.py::TestRhelSysConfigRendering::test_config[wakeonlan_enabled-yaml_v2] PASSED [ 81%] tests/unittests/test_net.py::TestRhelSysConfigRendering::test_config[v2-bridges-set-name-yaml] PASSED [ 81%] tests/unittests/test_net.py::TestRhelSysConfigRendering::test_config[v1-dns-yaml] XFAIL [ 81%] tests/unittests/test_net.py::TestRhelSysConfigRendering::test_config[v2-dns-yaml] PASSED [ 81%] tests/unittests/test_net.py::TestRhelSysConfigRendering::test_config[large_v2-yaml] XFAIL [ 81%] tests/unittests/test_net.py::TestRhelSysConfigRendering::test_large_v1_config PASSED [ 81%] tests/unittests/test_net.py::TestRhelSysConfigRendering::test_ipv4_and_ipv6_static_config[yaml_v1-v1_ipv4_and_ipv6_static] PASSED [ 81%] tests/unittests/test_net.py::TestRhelSysConfigRendering::test_ipv4_and_ipv6_static_config[yaml_v2-v2_ipv4_and_ipv6_static] PASSED [ 81%] tests/unittests/test_net.py::TestRhelSysConfigRendering::test_stattic6_from_json PASSED [ 81%] tests/unittests/test_net.py::TestRhelSysConfigRendering::test_netplan_dhcp_false_disable_dhcp_in_state PASSED [ 81%] tests/unittests/test_net.py::TestRhelSysConfigRendering::test_netplan_dhcp_false_no_dhcp_in_sysconfig PASSED [ 81%] tests/unittests/test_net.py::TestRhelSysConfigRendering::test_from_v2_vlan_mtu PASSED [ 81%] tests/unittests/test_net.py::TestRhelSysConfigRendering::test_from_v2_bond_mtu PASSED [ 81%] tests/unittests/test_net.py::TestRhelSysConfigRendering::test_from_v2_route_metric PASSED [ 81%] tests/unittests/test_net.py::TestRhelSysConfigRendering::test_from_v2_routes PASSED [ 81%] tests/unittests/test_net.py::TestRhelSysConfigRendering::test_iface_name_from_device_with_matching_mac_address PASSED [ 81%] tests/unittests/test_net.py::TestOpenSuseSysConfigRendering::test_default_generation PASSED [ 81%] tests/unittests/test_net.py::TestOpenSuseSysConfigRendering::test_openstack_rendering_samples PASSED [ 81%] tests/unittests/test_net.py::TestOpenSuseSysConfigRendering::test_network_config_v1_samples PASSED [ 81%] tests/unittests/test_net.py::TestOpenSuseSysConfigRendering::test_config_with_explicit_loopback PASSED [ 81%] tests/unittests/test_net.py::TestOpenSuseSysConfigRendering::test_config[bond_v1-yaml] PASSED [ 81%] tests/unittests/test_net.py::TestOpenSuseSysConfigRendering::test_config[bond_v2-yaml] PASSED [ 81%] tests/unittests/test_net.py::TestOpenSuseSysConfigRendering::test_config[vlan_v1-yaml] PASSED [ 81%] tests/unittests/test_net.py::TestOpenSuseSysConfigRendering::test_config[vlan_v2-yaml] PASSED [ 81%] tests/unittests/test_net.py::TestOpenSuseSysConfigRendering::test_config[bridge-yaml_v1] PASSED [ 81%] tests/unittests/test_net.py::TestOpenSuseSysConfigRendering::test_config[bridge-yaml_v2] PASSED [ 81%] tests/unittests/test_net.py::TestOpenSuseSysConfigRendering::test_config[manual-yaml] PASSED [ 82%] tests/unittests/test_net.py::TestOpenSuseSysConfigRendering::test_config[small_v1-yaml] PASSED [ 82%] tests/unittests/test_net.py::TestOpenSuseSysConfigRendering::test_config[small_suse_dhcp6-yaml_v1] PASSED [ 82%] tests/unittests/test_net.py::TestOpenSuseSysConfigRendering::test_config[small_suse_dhcp6-yaml_v2] PASSED [ 82%] tests/unittests/test_net.py::TestOpenSuseSysConfigRendering::test_config[small_v2-yaml] PASSED [ 82%] tests/unittests/test_net.py::TestOpenSuseSysConfigRendering::test_config[v1_ipv4_and_ipv6_static-yaml_v1] PASSED [ 82%] tests/unittests/test_net.py::TestOpenSuseSysConfigRendering::test_config[v2_ipv4_and_ipv6_static-yaml_v2] PASSED [ 82%] tests/unittests/test_net.py::TestOpenSuseSysConfigRendering::test_config[dhcpv6_only-yaml_v1] PASSED [ 82%] tests/unittests/test_net.py::TestOpenSuseSysConfigRendering::test_config[dhcpv6_only-yaml_v2] PASSED [ 82%] tests/unittests/test_net.py::TestOpenSuseSysConfigRendering::test_config[ipv6_slaac-yaml] PASSED [ 82%] tests/unittests/test_net.py::TestOpenSuseSysConfigRendering::test_config[dhcpv6_stateless-yaml] PASSED [ 82%] tests/unittests/test_net.py::TestOpenSuseSysConfigRendering::test_config[wakeonlan_disabled-yaml_v2] PASSED [ 82%] tests/unittests/test_net.py::TestOpenSuseSysConfigRendering::test_config[wakeonlan_enabled-yaml_v2] PASSED [ 82%] tests/unittests/test_net.py::TestOpenSuseSysConfigRendering::test_config[v4_and_v6-yaml_v1] PASSED [ 82%] tests/unittests/test_net.py::TestOpenSuseSysConfigRendering::test_config[v4_and_v6-yaml_v2] PASSED [ 82%] tests/unittests/test_net.py::TestOpenSuseSysConfigRendering::test_config[v6_and_v4-yaml] PASSED [ 82%] tests/unittests/test_net.py::TestOpenSuseSysConfigRendering::test_config[v1-dns-yaml] PASSED [ 82%] tests/unittests/test_net.py::TestOpenSuseSysConfigRendering::test_config[v2-dns-yaml] PASSED [ 82%] tests/unittests/test_net.py::TestOpenSuseSysConfigRendering::test_config[large_v2-yaml] XFAIL [ 82%] tests/unittests/test_net.py::TestOpenSuseSysConfigRendering::test_large_v2_config PASSED [ 82%] tests/unittests/test_net.py::TestNetworkManagerRendering::test_default_generation PASSED [ 82%] tests/unittests/test_net.py::TestNetworkManagerRendering::test_openstack_rendering_samples PASSED [ 82%] tests/unittests/test_net.py::TestNetworkManagerRendering::test_network_config_v1_samples PASSED [ 82%] tests/unittests/test_net.py::TestNetworkManagerRendering::test_config_with_explicit_loopback PASSED [ 82%] tests/unittests/test_net.py::TestNetworkManagerRendering::test_ipv4_and_ipv6_static_config[yaml_v1-v1_ipv4_and_ipv6_static] PASSED [ 82%] tests/unittests/test_net.py::TestNetworkManagerRendering::test_ipv4_and_ipv6_static_config[yaml_v2-v2_ipv4_and_ipv6_static] PASSED [ 82%] tests/unittests/test_net.py::TestNetworkManagerRendering::test_config[bond_v1-yaml] PASSED [ 82%] tests/unittests/test_net.py::TestNetworkManagerRendering::test_config[bond_v2-yaml] XFAIL [ 82%] tests/unittests/test_net.py::TestNetworkManagerRendering::test_config[vlan_v1-yaml] PASSED [ 82%] tests/unittests/test_net.py::TestNetworkManagerRendering::test_config[vlan_v2-yaml] PASSED [ 82%] tests/unittests/test_net.py::TestNetworkManagerRendering::test_config[bridge-yaml_v1] PASSED [ 82%] tests/unittests/test_net.py::TestNetworkManagerRendering::test_config[bridge-yaml_v2] PASSED [ 82%] tests/unittests/test_net.py::TestNetworkManagerRendering::test_config[manual-yaml] PASSED [ 82%] tests/unittests/test_net.py::TestNetworkManagerRendering::test_config[small_v1-yaml] PASSED [ 82%] tests/unittests/test_net.py::TestNetworkManagerRendering::test_config[small_v2-yaml] PASSED [ 82%] tests/unittests/test_net.py::TestNetworkManagerRendering::test_config[dhcpv6_only-yaml_v1] PASSED [ 82%] tests/unittests/test_net.py::TestNetworkManagerRendering::test_config[dhcpv6_only-yaml_v2] PASSED [ 82%] tests/unittests/test_net.py::TestNetworkManagerRendering::test_config[ipv6_slaac-yaml] PASSED [ 82%] tests/unittests/test_net.py::TestNetworkManagerRendering::test_config[dhcpv6_stateless-yaml] PASSED [ 82%] tests/unittests/test_net.py::TestNetworkManagerRendering::test_config[wakeonlan_disabled-yaml_v2] PASSED [ 82%] tests/unittests/test_net.py::TestNetworkManagerRendering::test_config[wakeonlan_enabled-yaml_v2] PASSED [ 82%] tests/unittests/test_net.py::TestNetworkManagerRendering::test_config[v4_and_v6-yaml_v1] PASSED [ 82%] tests/unittests/test_net.py::TestNetworkManagerRendering::test_config[v4_and_v6-yaml_v2] PASSED [ 82%] tests/unittests/test_net.py::TestNetworkManagerRendering::test_config[v6_and_v4-yaml] PASSED [ 82%] tests/unittests/test_net.py::TestNetworkManagerRendering::test_config[v1-dns-yaml] PASSED [ 82%] tests/unittests/test_net.py::TestNetworkManagerRendering::test_config[v2-mixed-routes-yaml] PASSED [ 82%] tests/unittests/test_net.py::TestNetworkManagerRendering::test_config[v2-mixed-routes-reversed-yaml] PASSED [ 82%] tests/unittests/test_net.py::TestNetworkManagerRendering::test_config[v2-mixed-routes-no-ipv6-addr-yaml] PASSED [ 82%] tests/unittests/test_net.py::TestNetworkManagerRendering::test_config[v2-dns-yaml] PASSED [ 82%] tests/unittests/test_net.py::TestNetworkManagerRendering::test_config[v2-dns-no-if-ips-yaml] PASSED [ 82%] tests/unittests/test_net.py::TestNetworkManagerRendering::test_config[v2-dns-no-dhcp-yaml] PASSED [ 82%] tests/unittests/test_net.py::TestNetworkManagerRendering::test_config[v2-route-no-gateway-yaml] PASSED [ 82%] tests/unittests/test_net.py::TestNetworkManagerRendering::test_config[v2-bridges-set-name-yaml] PASSED [ 82%] tests/unittests/test_net.py::TestNetworkManagerRendering::test_config[large_v2-yaml] XFAILt rendered when DHCP is enabled.) [ 82%] tests/unittests/test_net.py::TestNetworkManagerRendering::test_large_v1_config PASSED [ 82%] tests/unittests/test_net.py::TestEniNetRendering::test_default_generation PASSED [ 82%] tests/unittests/test_net.py::TestEniNetRendering::test_config_with_explicit_loopback PASSED [ 82%] tests/unittests/test_net.py::TestEniNetRendering::test_v2_route_metric_to_eni PASSED [ 83%] tests/unittests/test_net.py::TestNetplanNetRendering::test_render[default_generation] PASSED [ 83%] tests/unittests/test_net.py::TestNetplanNetRendering::test_render[subnet_metric_in_dhcp] PASSED [ 83%] tests/unittests/test_net.py::TestNetplanNetRendering::test_render[gateway_with_metric] PASSED [ 83%] tests/unittests/test_net.py::TestNetplanNetRendering::test_render[static_routes_with_metrics] PASSED [ 83%] tests/unittests/test_net.py::TestNetplanNetRendering::test_render[physical_gateway46] PASSED [ 83%] tests/unittests/test_net.py::TestNetplanNetRendering::test_render[bond_gateway46] PASSED [ 83%] tests/unittests/test_net.py::TestNetplanNetRendering::test_render[bridge_gateway46] PASSED [ 83%] tests/unittests/test_net.py::TestNetplanNetRendering::test_render[vlan_gateway46] PASSED [ 83%] tests/unittests/test_net.py::TestNetplanNetRendering::test_render[nameserver_gateway4] PASSED [ 83%] tests/unittests/test_net.py::TestNetplanNetRendering::test_render[two_subnets_old_new_gateway46] PASSED [ 83%] tests/unittests/test_net.py::TestNetplanNetRendering::test_render[one_subnet_old_new_gateway46] PASSED [ 83%] tests/unittests/test_net.py::TestNetplanNetRendering::test_render[onlink_gateways] PASSED [ 83%] tests/unittests/test_net.py::TestNetplanCleanDefault::test_clean_known_config_cleaned PASSED [ 83%] tests/unittests/test_net.py::TestNetplanCleanDefault::test_clean_unknown_config_not_cleaned PASSED [ 83%] tests/unittests/test_net.py::TestNetplanCleanDefault::test_clean_known_config_cleans_only_expected PASSED [ 83%] tests/unittests/test_net.py::TestNetplanPostcommands::test_netplan_render_calls_postcmds PASSED [ 83%] tests/unittests/test_net.py::TestNetplanPostcommands::test_netplan_postcmds PASSED [ 83%] tests/unittests/test_net.py::TestCmdlineConfigParsing::test_cmdline_convert_dhcp PASSED [ 83%] tests/unittests/test_net.py::TestCmdlineConfigParsing::test_cmdline_convert_dhcp6 PASSED [ 83%] tests/unittests/test_net.py::TestCmdlineConfigParsing::test_cmdline_convert_static PASSED [ 83%] tests/unittests/test_net.py::TestCmdlineConfigParsing::test_config_from_cmdline_net_cfg PASSED [ 83%] tests/unittests/test_net.py::TestCmdlineConfigParsing::test_cmdline_with_b64 PASSED [ 83%] tests/unittests/test_net.py::TestCmdlineConfigParsing::test_cmdline_with_net_config_disabled PASSED [ 83%] tests/unittests/test_net.py::TestCmdlineConfigParsing::test_cmdline_with_net_config_unencoded_logs_error PASSED [ 83%] tests/unittests/test_net.py::TestCmdlineConfigParsing::test_cmdline_with_b64_gz PASSED [ 83%] tests/unittests/test_net.py::TestCmdlineKlibcNetworkConfigSource::test_without_ip PASSED [ 83%] tests/unittests/test_net.py::TestCmdlineKlibcNetworkConfigSource::test_with_ip PASSED [ 83%] tests/unittests/test_net.py::TestCmdlineKlibcNetworkConfigSource::test_with_ip6 PASSED [ 83%] tests/unittests/test_net.py::TestCmdlineKlibcNetworkConfigSource::test_with_no_ip_or_ip6 PASSED [ 83%] tests/unittests/test_net.py::TestCmdlineKlibcNetworkConfigSource::test_with_faux_ip PASSED [ 83%] tests/unittests/test_net.py::TestCmdlineKlibcNetworkConfigSource::test_empty_cmdline PASSED [ 83%] tests/unittests/test_net.py::TestCmdlineKlibcNetworkConfigSource::test_whitespace_cmdline PASSED [ 83%] tests/unittests/test_net.py::TestCmdlineKlibcNetworkConfigSource::test_cmdline_no_lhand PASSED [ 83%] tests/unittests/test_net.py::TestCmdlineKlibcNetworkConfigSource::test_cmdline_embedded_ip PASSED [ 83%] tests/unittests/test_net.py::TestCmdlineKlibcNetworkConfigSource::test_with_both_ip_ip6 PASSED [ 83%] tests/unittests/test_net.py::TestReadInitramfsConfig::test_no_sources PASSED [ 83%] tests/unittests/test_net.py::TestReadInitramfsConfig::test_no_applicable_sources PASSED [ 83%] tests/unittests/test_net.py::TestReadInitramfsConfig::test_one_applicable_source PASSED [ 83%] tests/unittests/test_net.py::TestReadInitramfsConfig::test_one_applicable_source_after_inapplicable_sources PASSED [ 83%] tests/unittests/test_net.py::TestReadInitramfsConfig::test_first_applicable_source_is_used PASSED [ 83%] tests/unittests/test_net.py::TestNetplanRoundTrip::test_config[bond_v1-yaml] PASSED [ 83%] tests/unittests/test_net.py::TestNetplanRoundTrip::test_config[bond_v2-yaml] PASSED [ 83%] tests/unittests/test_net.py::TestNetplanRoundTrip::test_config[small_v1-yaml] PASSED [ 83%] tests/unittests/test_net.py::TestNetplanRoundTrip::test_config[v4_and_v6-yaml_v1] PASSED [ 83%] tests/unittests/test_net.py::TestNetplanRoundTrip::test_config[v4_and_v6-yaml_v2] PASSED [ 83%] tests/unittests/test_net.py::TestNetplanRoundTrip::test_config[v1_ipv4_and_ipv6_static-yaml_v1] PASSED [ 83%] tests/unittests/test_net.py::TestNetplanRoundTrip::test_config[v2_ipv4_and_ipv6_static-yaml_v2] PASSED [ 83%] tests/unittests/test_net.py::TestNetplanRoundTrip::test_config[dhcpv6_only-yaml_v1] PASSED [ 83%] tests/unittests/test_net.py::TestNetplanRoundTrip::test_config[dhcpv6_only-yaml_v2] PASSED [ 83%] tests/unittests/test_net.py::TestNetplanRoundTrip::test_config[dhcpv6_accept_ra-yaml_v1] PASSED [ 83%] tests/unittests/test_net.py::TestNetplanRoundTrip::test_config[dhcpv6_reject_ra-yaml_v1] PASSED [ 83%] tests/unittests/test_net.py::TestNetplanRoundTrip::test_config[ipv6_slaac-yaml] PASSED [ 83%] tests/unittests/test_net.py::TestNetplanRoundTrip::test_config[dhcpv6_stateless-yaml] PASSED [ 83%] tests/unittests/test_net.py::TestNetplanRoundTrip::test_config[dhcpv6_stateful-yaml] PASSED [ 83%] tests/unittests/test_net.py::TestNetplanRoundTrip::test_config[wakeonlan_disabled-yaml_v2] PASSED [ 83%] tests/unittests/test_net.py::TestNetplanRoundTrip::test_config[wakeonlan_enabled-yaml_v2] PASSED [ 83%] tests/unittests/test_net.py::TestNetplanRoundTrip::test_config[large_v1-yaml] PASSED [ 84%] tests/unittests/test_net.py::TestNetplanRoundTrip::test_config[manual-yaml] PASSED [ 84%] tests/unittests/test_net.py::TestNetplanRoundTrip::test_config[v1-dns-yaml] XFAIL [ 84%] tests/unittests/test_net.py::TestNetplanRoundTrip::test_render_output_has_yaml_no_aliases PASSED [ 84%] tests/unittests/test_net.py::TestNetplanRoundTrip::test_render_output_supports_both_grat_arp_spelling PASSED [ 84%] tests/unittests/test_net.py::TestEniRoundTrip::testsimple_convert_and_render PASSED [ 84%] tests/unittests/test_net.py::TestEniRoundTrip::test_config[large_v1-yaml] PASSED [ 84%] tests/unittests/test_net.py::TestEniRoundTrip::test_config[large_v2-yaml] XFAIL than bond_miimon. No rendering of bridge_gcint. No rendering of bridge_waitport. IPv6 routes added to IPv4 section. DNS rendering inconsistencies.) [ 84%] tests/unittests/test_net.py::TestEniRoundTrip::test_config[small_v1-yaml] PASSED [ 84%] tests/unittests/test_net.py::TestEniRoundTrip::test_config[small_v2-yaml] XFAIL [ 84%] tests/unittests/test_net.py::TestEniRoundTrip::test_config[v4_and_v6-yaml_v1] PASSED [ 84%] tests/unittests/test_net.py::TestEniRoundTrip::test_config[v4_and_v6-yaml_v2] PASSED [ 84%] tests/unittests/test_net.py::TestEniRoundTrip::test_config[dhcpv6_only-yaml_v1] PASSED [ 84%] tests/unittests/test_net.py::TestEniRoundTrip::test_config[dhcpv6_only-yaml_v2] PASSED [ 84%] tests/unittests/test_net.py::TestEniRoundTrip::test_config[v1_ipv4_and_ipv6_static-yaml_v1] PASSED [ 84%] tests/unittests/test_net.py::TestEniRoundTrip::test_config[v2_ipv4_and_ipv6_static-yaml_v2] PASSED [ 84%] tests/unittests/test_net.py::TestEniRoundTrip::test_config[v1_eni_ipv4_and_ipv6_static_dnsnameservers_only-yaml_v1] PASSED [ 84%] tests/unittests/test_net.py::TestEniRoundTrip::test_config[v2_eni_ipv4_and_ipv6_static_dnsnameservers_only-yaml_v2] PASSED [ 84%] tests/unittests/test_net.py::TestEniRoundTrip::test_config[v1_eni_ipv4_and_ipv6_static_dns_only_ipv4-yaml_v1] PASSED [ 84%] tests/unittests/test_net.py::TestEniRoundTrip::test_config[v2_eni_ipv4_and_ipv6_static_dns_only_ipv4-yaml_v2] PASSED [ 84%] tests/unittests/test_net.py::TestEniRoundTrip::test_config[v1_eni_ipv4_and_ipv6_static_dns_only_ipv6-yaml_v1] PASSED [ 84%] tests/unittests/test_net.py::TestEniRoundTrip::test_config[v2_eni_ipv4_and_ipv6_static_dns_only_ipv6-yaml_v2] PASSED [ 84%] tests/unittests/test_net.py::TestEniRoundTrip::test_config[v1_eni_ipv4_and_ipv6_static_dns_both_ipv4_ipv6-yaml_v1] PASSED [ 84%] tests/unittests/test_net.py::TestEniRoundTrip::test_config[v2_eni_ipv4_and_ipv6_static_dns_both_ipv4_ipv6-yaml_v2] PASSED [ 84%] tests/unittests/test_net.py::TestEniRoundTrip::test_config[dhcpv6_stateless-yaml] PASSED [ 84%] tests/unittests/test_net.py::TestEniRoundTrip::test_config[ipv6_slaac-yaml] PASSED [ 84%] tests/unittests/test_net.py::TestEniRoundTrip::test_config[dhcpv6_stateful-yaml] XFAIL [ 84%] tests/unittests/test_net.py::TestEniRoundTrip::test_config[dhcpv6_accept_ra-yaml_v1] PASSED [ 84%] tests/unittests/test_net.py::TestEniRoundTrip::test_config[dhcpv6_accept_ra-yaml_v2] PASSED [ 84%] tests/unittests/test_net.py::TestEniRoundTrip::test_config[dhcpv6_reject_ra-yaml_v1] PASSED [ 84%] tests/unittests/test_net.py::TestEniRoundTrip::test_config[dhcpv6_reject_ra-yaml_v2] PASSED [ 84%] tests/unittests/test_net.py::TestEniRoundTrip::test_config[wakeonlan_disabled-yaml_v2] PASSED [ 84%] tests/unittests/test_net.py::TestEniRoundTrip::test_config[wakeonlan_enabled-yaml_v2] PASSED [ 84%] tests/unittests/test_net.py::TestEniRoundTrip::test_config[manual-yaml] PASSED [ 84%] tests/unittests/test_net.py::TestEniRoundTrip::test_config[bond_v1-yaml] PASSED [ 84%] tests/unittests/test_net.py::TestEniRoundTrip::test_config[bond_v2-yaml] XFAIL routes for gateway rather gateway. Adding ipv6 routes to ipv4 section) [ 84%] tests/unittests/test_net.py::TestEniRoundTrip::test_config[v1-dns-yaml] XFAIL [ 84%] tests/unittests/test_net.py::TestEniRoundTrip::test_config[v2-dns-yaml] PASSED [ 84%] tests/unittests/test_net.py::TestEniRoundTrip::test_config[v2-mixed-routes-yaml] PASSED [ 84%] tests/unittests/test_net.py::TestEniRoundTrip::test_config[v2-mixed-routes-reversed-yaml] PASSED [ 84%] tests/unittests/test_net.py::TestEniRoundTrip::test_config[v2-mixed-routes-no-ipv6-addr-yaml] PASSED [ 84%] tests/unittests/test_net.py::TestEniRoundTrip::test_config[v2-dns-no-if-ips-yaml] PASSED [ 84%] tests/unittests/test_net.py::TestEniRoundTrip::test_config[v2-dns-no-dhcp-yaml] PASSED [ 84%] tests/unittests/test_net.py::TestEniRoundTrip::test_routes_rendered_ip_cmd PASSED [ 84%] tests/unittests/test_net.py::TestEniRoundTrip::test_routes_rendered_route_cmd PASSED [ 84%] tests/unittests/test_net.py::TestEniRoundTrip::test_ipv6_static_routes_ip_cmd PASSED [ 84%] tests/unittests/test_net.py::TestEniRoundTrip::test_ipv6_static_routes_route_cmd PASSED [ 84%] tests/unittests/test_net.py::TestNetworkdNetRendering::test_networkd_default_generation PASSED [ 84%] tests/unittests/test_net.py::TestNetworkdRoundTrip::test_config[v4_and_v6-yaml_v1] PASSED [ 84%] tests/unittests/test_net.py::TestNetworkdRoundTrip::test_config[v4_and_v6-yaml_v2] PASSED [ 84%] tests/unittests/test_net.py::TestNetworkdRoundTrip::test_config[v1_ipv4_and_ipv6_static-yaml_v1] PASSED [ 84%] tests/unittests/test_net.py::TestNetworkdRoundTrip::test_config[v2_ipv4_and_ipv6_static-yaml_v2] PASSED [ 84%] tests/unittests/test_net.py::TestNetworkdRoundTrip::test_config[dhcpv6_only-yaml_v1] PASSED [ 84%] tests/unittests/test_net.py::TestNetworkdRoundTrip::test_config[dhcpv6_only-yaml_v2] PASSED [ 84%] tests/unittests/test_net.py::TestNetworkdRoundTrip::test_config[dhcpv6_accept_ra-yaml_v1] PASSED [ 84%] tests/unittests/test_net.py::TestNetworkdRoundTrip::test_config[dhcpv6_accept_ra-yaml_v2] PASSED [ 84%] tests/unittests/test_net.py::TestNetworkdRoundTrip::test_config[dhcpv6_reject_ra-yaml_v1] PASSED [ 84%] tests/unittests/test_net.py::TestNetworkdRoundTrip::test_config[dhcpv6_reject_ra-yaml_v2] PASSED [ 85%] tests/unittests/test_net.py::TestNetworkdRoundTrip::testsimple_render_small_networkd_v1 PASSED [ 85%] tests/unittests/test_net.py::TestNetworkdRoundTrip::testsimple_render_small_networkd_v2 PASSED [ 85%] tests/unittests/test_net.py::TestNetworkdRoundTrip::test_v1_dns XFAIL [ 85%] tests/unittests/test_net.py::TestNetworkdRoundTrip::test_v2_dns PASSED [ 85%] tests/unittests/test_net.py::TestRenderersSelect::test_valid_renderer_from_defaults_depending_on_availability[RendererNotFoundError-False-False-False-False-False] PASSED [ 85%] tests/unittests/test_net.py::TestRenderersSelect::test_valid_renderer_from_defaults_depending_on_availability[eni-False-True-False-False-False] PASSED [ 85%] tests/unittests/test_net.py::TestRenderersSelect::test_valid_renderer_from_defaults_depending_on_availability[eni-True-True-False-False-False] PASSED [ 85%] tests/unittests/test_net.py::TestRenderersSelect::test_valid_renderer_from_defaults_depending_on_availability[netplan-True-False-False-True-False] PASSED [ 85%] tests/unittests/test_net.py::TestRenderersSelect::test_valid_renderer_from_defaults_depending_on_availability[netplan-True-False-False-False-False] PASSED [ 85%] tests/unittests/test_net.py::TestRenderersSelect::test_valid_renderer_from_defaults_depending_on_availability[sysconfig-False-False-True-False-False] PASSED [ 85%] tests/unittests/test_net.py::TestRenderersSelect::test_valid_renderer_from_defaults_depending_on_availability[sysconfig-False-False-True-True-False] PASSED [ 85%] tests/unittests/test_net.py::TestRenderersSelect::test_valid_renderer_from_defaults_depending_on_availability[network-manager-False-False-False-True-False] PASSED [ 85%] tests/unittests/test_net.py::TestRenderersSelect::test_valid_renderer_from_defaults_depending_on_availability[network-manager-False-False-False-True-True] PASSED [ 85%] tests/unittests/test_net.py::TestRenderersSelect::test_valid_renderer_from_defaults_depending_on_availability[networkd-False-False-False-False-True] PASSED [ 85%] tests/unittests/test_net.py::TestNetRenderers::test_eni_and_sysconfig_available PASSED [ 85%] tests/unittests/test_net.py::TestNetRenderers::test_search_returns_empty_on_none PASSED [ 85%] tests/unittests/test_net.py::TestNetRenderers::test_first_in_priority PASSED [ 85%] tests/unittests/test_net.py::TestNetRenderers::test_select_positive PASSED [ 85%] tests/unittests/test_net.py::TestNetRenderers::test_select_none_found_raises PASSED [ 85%] tests/unittests/test_net.py::TestNetRenderers::test_sysconfig_available_uses_variant_mapping PASSED [ 85%] tests/unittests/test_net.py::TestNetRenderers::test_networkd_available PASSED [ 85%] tests/unittests/test_net.py::TestGetInterfaces::test_gi_includes_duplicate_macs PASSED [ 85%] tests/unittests/test_net.py::TestGetInterfaces::test_gi_excludes_any_without_mac_address PASSED [ 85%] tests/unittests/test_net.py::TestGetInterfaces::test_gi_excludes_stolen_macs PASSED [ 85%] tests/unittests/test_net.py::TestGetInterfaces::test_gi_excludes_bridges PASSED [ 85%] tests/unittests/test_net.py::TestInterfaceHasOwnMac::test_non_strict_with_no_addr_assign_type PASSED [ 85%] tests/unittests/test_net.py::TestInterfaceHasOwnMac::test_strict_with_no_addr_assign_type_raises PASSED [ 85%] tests/unittests/test_net.py::TestInterfaceHasOwnMac::test_expected_values PASSED [ 85%] tests/unittests/test_net.py::TestGetInterfacesByMac::test_raise_exception_on_duplicate_macs PASSED [ 85%] tests/unittests/test_net.py::TestGetInterfacesByMac::test_raise_exception_on_duplicate_netvsc_macs PASSED [ 85%] tests/unittests/test_net.py::TestGetInterfacesByMac::test_excludes_any_without_mac_address PASSED [ 85%] tests/unittests/test_net.py::TestGetInterfacesByMac::test_excludes_stolen_macs PASSED [ 85%] tests/unittests/test_net.py::TestGetInterfacesByMac::test_excludes_bridges PASSED [ 85%] tests/unittests/test_net.py::TestGetInterfacesByMac::test_excludes_vlans PASSED [ 85%] tests/unittests/test_net.py::TestGetInterfacesByMac::test_duplicates_of_empty_mac_are_ok PASSED [ 85%] tests/unittests/test_net.py::TestGetInterfacesByMac::test_skip_all_zeros PASSED [ 85%] tests/unittests/test_net.py::TestGetInterfacesByMac::test_ib PASSED [ 85%] tests/unittests/test_net.py::TestDuplicateMac::test_duplicate_ignored_macs[mscc_felix] PASSED [ 85%] tests/unittests/test_net.py::TestDuplicateMac::test_duplicate_ignored_macs[fsl_enetc] PASSED [ 85%] tests/unittests/test_net.py::TestDuplicateMac::test_duplicate_ignored_macs[qmi_wwan] PASSED [ 85%] tests/unittests/test_net.py::TestInterfacesSorting::test_natural_order PASSED [ 85%] tests/unittests/test_net.py::TestGetIBHwaddrsByInterface::test_ethernet PASSED [ 85%] tests/unittests/test_net.py::TestGetIBHwaddrsByInterface::test_ib PASSED [ 85%] tests/unittests/test_net.py::TestRenameInterfaces::test_rename_all PASSED [ 85%] tests/unittests/test_net.py::TestRenameInterfaces::test_rename_no_driver_no_device_id PASSED [ 85%] tests/unittests/test_net.py::TestRenameInterfaces::test_rename_all_bounce PASSED [ 85%] tests/unittests/test_net.py::TestRenameInterfaces::test_rename_duplicate_macs PASSED [ 85%] tests/unittests/test_net.py::TestRenameInterfaces::test_rename_duplicate_macs_driver_no_devid PASSED [ 85%] tests/unittests/test_net.py::TestRenameInterfaces::test_rename_multi_mac_dups PASSED [ 85%] tests/unittests/test_net.py::TestRenameInterfaces::test_rename_macs_case_insensitive PASSED [ 85%] tests/unittests/test_net.py::TestNetworkState::test_bcast_addr PASSED [ 85%] tests/unittests/test_net_activators.py::TestSearchAndSelect::test_empty_list PASSED [ 85%] tests/unittests/test_net_activators.py::TestSearchAndSelect::test_priority PASSED [ 85%] tests/unittests/test_net_activators.py::TestSearchAndSelect::test_first_not_available PASSED [ 85%] tests/unittests/test_net_activators.py::TestSearchAndSelect::test_priority_not_exist PASSED [ 85%] tests/unittests/test_net_activators.py::TestSearchAndSelect::test_none_available PASSED [ 85%] tests/unittests/test_net_activators.py::TestActivatorsAvailable::test_available[IfUpDownActivator-available_calls0] PASSED [ 85%] tests/unittests/test_net_activators.py::TestActivatorsAvailable::test_available[NetplanActivator-available_calls1] PASSED [ 86%] tests/unittests/test_net_activators.py::TestActivatorsAvailable::test_available[NetworkdActivator-available_calls2] PASSED [ 86%] tests/unittests/test_net_activators.py::TestActivatorsBringUp::test_bring_up_interface_log_level_on_stderr[IfUpDownActivator-expected_call_list0] PASSED [ 86%] tests/unittests/test_net_activators.py::TestActivatorsBringUp::test_bring_up_interface_log_level_on_stderr[NetplanActivator-expected_call_list1] PASSED [ 86%] tests/unittests/test_net_activators.py::TestActivatorsBringUp::test_bring_up_interface_log_level_on_stderr[NetworkManagerActivator-expected_call_list2] PASSED [ 86%] tests/unittests/test_net_activators.py::TestActivatorsBringUp::test_bring_up_interface_log_level_on_stderr[NetworkdActivator-expected_call_list3] PASSED [ 86%] tests/unittests/test_net_activators.py::TestActivatorsBringUp::test_bring_up_interface[IfUpDownActivator-expected_call_list0] PASSED [ 86%] tests/unittests/test_net_activators.py::TestActivatorsBringUp::test_bring_up_interface[NetplanActivator-expected_call_list1] PASSED [ 86%] tests/unittests/test_net_activators.py::TestActivatorsBringUp::test_bring_up_interface[NetworkManagerActivator-expected_call_list2] PASSED [ 86%] tests/unittests/test_net_activators.py::TestActivatorsBringUp::test_bring_up_interface[NetworkdActivator-expected_call_list3] PASSED [ 86%] tests/unittests/test_net_activators.py::TestActivatorsBringUpAll::test_bring_up_interfaces[IfUpDownActivator-expected_call_list0] PASSED [ 86%] tests/unittests/test_net_activators.py::TestActivatorsBringUpAll::test_bring_up_interfaces[NetplanActivator-expected_call_list1] PASSED [ 86%] tests/unittests/test_net_activators.py::TestActivatorsBringUpAll::test_bring_up_interfaces[NetworkManagerActivator-expected_call_list2] PASSED [ 86%] tests/unittests/test_net_activators.py::TestActivatorsBringUpAll::test_bring_up_interfaces[NetworkdActivator-expected_call_list3] PASSED [ 86%] tests/unittests/test_net_activators.py::TestActivatorsBringUpAll::test_bring_up_all_interfaces_v1[IfUpDownActivator-expected_call_list0] PASSED [ 86%] tests/unittests/test_net_activators.py::TestActivatorsBringUpAll::test_bring_up_all_interfaces_v1[NetplanActivator-expected_call_list1] PASSED [ 86%] tests/unittests/test_net_activators.py::TestActivatorsBringUpAll::test_bring_up_all_interfaces_v1[NetworkManagerActivator-expected_call_list2] PASSED [ 86%] tests/unittests/test_net_activators.py::TestActivatorsBringUpAll::test_bring_up_all_interfaces_v1[NetworkdActivator-expected_call_list3] PASSED [ 86%] tests/unittests/test_net_activators.py::TestActivatorsBringUpAll::test_bring_up_all_interfaces_v2[IfUpDownActivator-expected_call_list0] PASSED [ 86%] tests/unittests/test_net_activators.py::TestActivatorsBringUpAll::test_bring_up_all_interfaces_v2[NetplanActivator-expected_call_list1] PASSED [ 86%] tests/unittests/test_net_activators.py::TestActivatorsBringUpAll::test_bring_up_all_interfaces_v2[NetworkManagerActivator-expected_call_list2] PASSED [ 86%] tests/unittests/test_net_activators.py::TestActivatorsBringUpAll::test_bring_up_all_interfaces_v2[NetworkdActivator-expected_call_list3] PASSED [ 86%] tests/unittests/test_net_activators.py::TestActivatorsBringDown::test_bring_down_interface[IfUpDownActivator-expected_call_list0] PASSED [ 86%] tests/unittests/test_net_activators.py::TestActivatorsBringDown::test_bring_down_interface[NetplanActivator-expected_call_list1] PASSED [ 86%] tests/unittests/test_net_activators.py::TestActivatorsBringDown::test_bring_down_interface[NetworkManagerActivator-expected_call_list2] PASSED [ 86%] tests/unittests/test_net_activators.py::TestActivatorsBringDown::test_bring_down_interface[NetworkdActivator-expected_call_list3] PASSED [ 86%] tests/unittests/test_net_activators.py::TestNetworkManagerActivatorBringUp::test_bring_up_interface_no_nm_conn PASSED [ 86%] tests/unittests/test_net_activators.py::TestNetworkManagerActivatorBringUp::test_bring_up_interface_no_plugin_no_nm_conn PASSED [ 86%] tests/unittests/test_net_activators.py::TestNetworkManagerActivatorBringUp::test_bring_up_interface_no_conn_file PASSED [ 86%] tests/unittests/test_net_freebsd.py::TestInterfacesByMac::test_get_interfaces_by_mac PASSED [ 86%] tests/unittests/test_net_freebsd.py::TestFreeBSDRoundTrip::test_render_output_has_yaml PASSED [ 86%] tests/unittests/test_netinfo.py::TestNetInfo::test_netdev_old_nettools_pformat PASSED [ 86%] tests/unittests/test_netinfo.py::TestNetInfo::test_netdev_new_nettools_pformat PASSED [ 86%] tests/unittests/test_netinfo.py::TestNetInfo::test_netdev_freebsd_nettools_pformat PASSED [ 86%] tests/unittests/test_netinfo.py::TestNetInfo::test_netdev_iproute_pformat[1: lo: mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000\n link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00\n inet 127.0.0.1/8 scope host lo\\ valid_lft forever preferred_lft forever\n inet6 ::1/128 scope host \\ valid_lft forever preferred_lft forever\n2: enp0s25: mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000\n link/ether 50:7b:9d:2c:af:91 brd ff:ff:ff:ff:ff:ff\n inet 192.168.2.18/24 metric 100 brd 192.168.2.255 scope global dynamic enp0s25\n valid_lft 84174sec preferred_lft 84174sec\n inet6 fe80::7777:2222:1111:eeee/64 scope global\n valid_lft forever preferred_lft forever\n inet6 fe80::8107:2b92:867e:f8a6/64 scope link\n valid_lft forever preferred_lft forever\n-False] PASSED [ 86%] tests/unittests/test_netinfo.py::TestNetInfo::test_netdev_iproute_pformat[[\n {\n "ifindex": 1,\n "ifname": "lo",\n "flags": [\n "LOOPBACK",\n "UP",\n "LOWER_UP"\n ],\n "mtu": 65536,\n "qdisc": "noqueue",\n "operstate": "UNKNOWN",\n "group": "default",\n "txqlen": 1000,\n "link_type": "loopback",\n "address": "00:00:00:00:00:00",\n "broadcast": "00:00:00:00:00:00",\n "addr_info": [\n {\n "family": "inet",\n "local": "127.0.0.1",\n "prefixlen": 8,\n "scope": "host",\n "label": "lo",\n "valid_life_time": 4294967295,\n "preferred_life_time": 4294967295\n },\n {\n "family": "inet6",\n "local": "::1",\n "prefixlen": 128,\n "scope": "host",\n "valid_life_time": 4294967295,\n "preferred_life_time": 4294967295\n }\n ]\n },\n {\n "ifindex": 23,\n "link_index": 24,\n "ifname": "enp0s25",\n "flags": [\n "BROADCAST",\n "MULTICAST",\n "UP",\n "LOWER_UP"\n ],\n "mtu": 1500,\n "qdisc": "noqueue",\n "operstate": "UP",\n "group": "default",\n "txqlen": 1000,\n "link_type": "ether",\n "address": "50:7b:9d:2c:af:91",\n "broadcast": "ff:ff:ff:ff:ff:ff",\n "link_netnsid": 0,\n "addr_info": [\n {\n "family": "inet",\n "local": "192.168.2.18",\n "prefixlen": 24,\n "metric": 100,\n "broadcast": "192.168.2.255",\n "scope": "global",\n "dynamic": true,\n "label": "enp0s25",\n "valid_life_time": 2339,\n "preferred_life_time": 2339\n },\n {\n "family": "inet6",\n "local": "fe80::7777:2222:1111:eeee",\n "prefixlen": 64,\n "scope": "global",\n "dynamic": true,\n "mngtmpaddr": true,\n "noprefixroute": true,\n "valid_life_time": 6823,\n "preferred_life_time": 3223\n },\n {\n "family": "inet6",\n "local": "fe80::8107:2b92:867e:f8a6",\n "prefixlen": 64,\n "scope": "link",\n "valid_life_time": 4294967295,\n "preferred_life_time": 4294967295\n }\n ]\n }\n]\n-True] PASSED [ 86%] tests/unittests/test_netinfo.py::TestNetInfo::test_netdev_warn_on_missing_commands PASSED [ 86%] tests/unittests/test_netinfo.py::TestNetInfo::test_netdev_info_nettools_down PASSED [ 86%] tests/unittests/test_netinfo.py::TestNetInfo::test_netdev_info_iproute_down[netinfo/sample-ipaddrshow-output-down-False] PASSED [ 86%] tests/unittests/test_netinfo.py::TestNetInfo::test_netdev_info_iproute_down[netinfo/sample-ipaddrshow-json-down-True] PASSED [ 86%] tests/unittests/test_netinfo.py::TestNetInfo::test_netdev_pformat_with_down PASSED [ 86%] tests/unittests/test_netinfo.py::TestNetInfo::test_route_nettools_pformat PASSED [ 86%] tests/unittests/test_netinfo.py::TestNetInfo::test_route_iproute_pformat PASSED [ 86%] tests/unittests/test_netinfo.py::TestNetInfo::test_route_iproute_pformat_missing_gateway PASSED [ 86%] tests/unittests/test_netinfo.py::TestNetInfo::test_route_warn_on_missing_commands PASSED [ 86%] tests/unittests/test_netinfo.py::TestNetInfo::test_netdev_info_iproute_json[input0-expected0] PASSED [ 86%] tests/unittests/test_netinfo.py::TestNetInfo::test_netdev_info_iproute_json[input1-expected1] PASSED [ 86%] tests/unittests/test_netinfo.py::TestNetInfo::test_netdev_info_iproute_json[input2-expected2] PASSED [ 86%] tests/unittests/test_pathprefix2dict.py::TestPathPrefix2Dict::test_required_only PASSED [ 86%] tests/unittests/test_pathprefix2dict.py::TestPathPrefix2Dict::test_required_missing PASSED [ 86%] tests/unittests/test_pathprefix2dict.py::TestPathPrefix2Dict::test_no_required_and_optional PASSED [ 86%] tests/unittests/test_pathprefix2dict.py::TestPathPrefix2Dict::test_required_and_optional PASSED [ 86%] tests/unittests/test_persistence.py::TestPickleMixin::test_unpickle_called PASSED [ 86%] tests/unittests/test_persistence.py::TestPickleMixin::test_subclasses[InstanceVersionNotUsed] PASSED [ 86%] tests/unittests/test_persistence.py::TestPickleMixin::test_subclasses[MissingVersionHandled] PASSED [ 86%] tests/unittests/test_persistence.py::TestPickleMixin::test_subclasses[OverridenVersionHonored] PASSED [ 86%] tests/unittests/test_persistence.py::TestPickleMixin::test_subclasses[StateIsRestored] PASSED [ 86%] tests/unittests/test_persistence.py::TestPickleMixin::test_subclasses[UnpickleCanBeUnoverriden] PASSED [ 87%] tests/unittests/test_persistence.py::TestPickleMixin::test_subclasses[VersionDefaultsToZero] PASSED [ 87%] tests/unittests/test_persistence.py::TestPickleMixin::test_subclasses[VersionIsPoppedFromState] PASSED [ 87%] tests/unittests/test_registry.py::TestDictRegistry::test_added_item_included_in_output PASSED [ 87%] tests/unittests/test_registry.py::TestDictRegistry::test_registry_starts_out_empty PASSED [ 87%] tests/unittests/test_registry.py::TestDictRegistry::test_modifying_registered_items_isnt_exposed_to_other_callers PASSED [ 87%] tests/unittests/test_registry.py::TestDictRegistry::test_keys_cannot_be_replaced PASSED [ 87%] tests/unittests/test_render_template.py::TestRenderCloudCfg::test_variant_sets_distro_in_cloud_cfg_subp PASSED [ 87%] tests/unittests/test_render_template.py::TestRenderCloudCfg::test_variant_sets_prefix_in_cloud_cfg_subp PASSED [ 87%] tests/unittests/test_render_template.py::TestRenderCloudCfg::test_variant_sets_distro_in_cloud_cfg[amazon] PASSED [ 87%] tests/unittests/test_render_template.py::TestRenderCloudCfg::test_variant_sets_distro_in_cloud_cfg[arch] PASSED [ 87%] tests/unittests/test_render_template.py::TestRenderCloudCfg::test_variant_sets_distro_in_cloud_cfg[azurelinux] PASSED [ 87%] tests/unittests/test_render_template.py::TestRenderCloudCfg::test_variant_sets_distro_in_cloud_cfg[centos] PASSED [ 87%] tests/unittests/test_render_template.py::TestRenderCloudCfg::test_variant_sets_distro_in_cloud_cfg[debian] PASSED [ 87%] tests/unittests/test_render_template.py::TestRenderCloudCfg::test_variant_sets_distro_in_cloud_cfg[eurolinux] PASSED [ 87%] tests/unittests/test_render_template.py::TestRenderCloudCfg::test_variant_sets_distro_in_cloud_cfg[fedora] PASSED [ 87%] tests/unittests/test_render_template.py::TestRenderCloudCfg::test_variant_sets_distro_in_cloud_cfg[freebsd] PASSED [ 87%] tests/unittests/test_render_template.py::TestRenderCloudCfg::test_variant_sets_distro_in_cloud_cfg[gentoo] PASSED [ 87%] tests/unittests/test_render_template.py::TestRenderCloudCfg::test_variant_sets_distro_in_cloud_cfg[mariner] PASSED [ 87%] tests/unittests/test_render_template.py::TestRenderCloudCfg::test_variant_sets_distro_in_cloud_cfg[netbsd] PASSED [ 87%] tests/unittests/test_render_template.py::TestRenderCloudCfg::test_variant_sets_distro_in_cloud_cfg[openbsd] PASSED [ 87%] tests/unittests/test_render_template.py::TestRenderCloudCfg::test_variant_sets_distro_in_cloud_cfg[photon] PASSED [ 87%] tests/unittests/test_render_template.py::TestRenderCloudCfg::test_variant_sets_distro_in_cloud_cfg[raspberry-pi-os] PASSED [ 87%] tests/unittests/test_render_template.py::TestRenderCloudCfg::test_variant_sets_distro_in_cloud_cfg[rhel] PASSED [ 87%] tests/unittests/test_render_template.py::TestRenderCloudCfg::test_variant_sets_distro_in_cloud_cfg[suse] PASSED [ 87%] tests/unittests/test_render_template.py::TestRenderCloudCfg::test_variant_sets_distro_in_cloud_cfg[ubuntu] PASSED [ 87%] tests/unittests/test_render_template.py::TestRenderCloudCfg::test_variant_sets_distro_in_cloud_cfg[unknown] PASSED [ 87%] tests/unittests/test_render_template.py::TestRenderCloudCfg::test_variant_sets_default_user_in_cloud_cfg[amazon] PASSED [ 87%] tests/unittests/test_render_template.py::TestRenderCloudCfg::test_variant_sets_default_user_in_cloud_cfg[arch] PASSED [ 87%] tests/unittests/test_render_template.py::TestRenderCloudCfg::test_variant_sets_default_user_in_cloud_cfg[azurelinux] PASSED [ 87%] tests/unittests/test_render_template.py::TestRenderCloudCfg::test_variant_sets_default_user_in_cloud_cfg[centos] PASSED [ 87%] tests/unittests/test_render_template.py::TestRenderCloudCfg::test_variant_sets_default_user_in_cloud_cfg[debian] PASSED [ 87%] tests/unittests/test_render_template.py::TestRenderCloudCfg::test_variant_sets_default_user_in_cloud_cfg[eurolinux] PASSED [ 87%] tests/unittests/test_render_template.py::TestRenderCloudCfg::test_variant_sets_default_user_in_cloud_cfg[fedora] PASSED [ 87%] tests/unittests/test_render_template.py::TestRenderCloudCfg::test_variant_sets_default_user_in_cloud_cfg[freebsd] PASSED [ 87%] tests/unittests/test_render_template.py::TestRenderCloudCfg::test_variant_sets_default_user_in_cloud_cfg[gentoo] PASSED [ 87%] tests/unittests/test_render_template.py::TestRenderCloudCfg::test_variant_sets_default_user_in_cloud_cfg[mariner] PASSED [ 87%] tests/unittests/test_render_template.py::TestRenderCloudCfg::test_variant_sets_default_user_in_cloud_cfg[netbsd] PASSED [ 87%] tests/unittests/test_render_template.py::TestRenderCloudCfg::test_variant_sets_default_user_in_cloud_cfg[openbsd] PASSED [ 87%] tests/unittests/test_render_template.py::TestRenderCloudCfg::test_variant_sets_default_user_in_cloud_cfg[photon] PASSED [ 87%] tests/unittests/test_render_template.py::TestRenderCloudCfg::test_variant_sets_default_user_in_cloud_cfg[raspberry-pi-os] PASSED [ 87%] tests/unittests/test_render_template.py::TestRenderCloudCfg::test_variant_sets_default_user_in_cloud_cfg[rhel] PASSED [ 87%] tests/unittests/test_render_template.py::TestRenderCloudCfg::test_variant_sets_default_user_in_cloud_cfg[suse] PASSED [ 87%] tests/unittests/test_render_template.py::TestRenderCloudCfg::test_variant_sets_default_user_in_cloud_cfg[ubuntu] PASSED [ 87%] tests/unittests/test_render_template.py::TestRenderCloudCfg::test_variant_sets_default_user_in_cloud_cfg[unknown] PASSED [ 87%] tests/unittests/test_render_template.py::TestRenderCloudCfg::test_variant_sets_network_renderer_priority_in_cloud_cfg[freebsd-renderers0] PASSED [ 87%] tests/unittests/test_render_template.py::TestRenderCloudCfg::test_variant_sets_network_renderer_priority_in_cloud_cfg[netbsd-renderers1] PASSED [ 87%] tests/unittests/test_render_template.py::TestRenderCloudCfg::test_variant_sets_network_renderer_priority_in_cloud_cfg[openbsd-renderers2] PASSED [ 87%] tests/unittests/test_render_template.py::TestRenderCloudCfg::test_variant_sets_network_renderer_priority_in_cloud_cfg[ubuntu-renderers3] PASSED [ 87%] tests/unittests/test_render_template.py::TestRenderCloudCfg::test_variant_sets_network_renderer_priority_in_cloud_cfg[raspberry-pi-os-renderers4] PASSED [ 87%] tests/unittests/test_render_template.py::TestRenderSourcesList::test_render_sources_list_templates[debian] PASSED [ 87%] tests/unittests/test_render_template.py::TestRenderSourcesList::test_render_sources_list_templates[debian_822] PASSED [ 87%] tests/unittests/test_render_template.py::TestRenderSourcesList::test_render_sources_list_templates[ubuntu] PASSED [ 87%] tests/unittests/test_render_template.py::TestRenderSourcesList::test_render_sources_list_templates[ubuntu_822] PASSED [ 87%] tests/unittests/test_safeyaml.py::TestLoadWithMarks::test_schema_marks_preserved[invalid_nondict_config] PASSED [ 87%] tests/unittests/test_safeyaml.py::TestLoadWithMarks::test_schema_marks_preserved[handle_whitespace_and_comments] PASSED [ 87%] tests/unittests/test_safeyaml.py::TestLoadWithMarks::test_schema_marks_preserved[list_items] PASSED [ 87%] tests/unittests/test_safeyaml.py::TestLoadWithMarks::test_schema_marks_preserved[nested_dicts_within_dicts] PASSED [ 88%] tests/unittests/test_safeyaml.py::TestLoadWithMarks::test_schema_marks_preserved[nested_dicts_within_list] PASSED [ 88%] tests/unittests/test_safeyaml.py::TestLoadWithMarks::test_schema_marks_preserved[list_of_scalar] PASSED [ 88%] tests/unittests/test_safeyaml.py::TestLoadWithMarks::test_schema_marks_preserved[dict_of_lists_oneline] PASSED [ 88%] tests/unittests/test_safeyaml.py::TestLoadWithMarks::test_schema_marks_preserved[dict_of_lists_multiline] PASSED [ 88%] tests/unittests/test_safeyaml.py::TestLoadWithMarks::test_schema_marks_preserved[separate_dicts_scalar_vs_nested_list] PASSED [ 88%] tests/unittests/test_safeyaml.py::TestLoadWithMarks::test_schema_marks_preserved[separate_dicts_nested_lists] PASSED [ 88%] tests/unittests/test_safeyaml.py::TestLoadWithMarks::test_schema_marks_preserved[list_of_dict_items] PASSED [ 88%] tests/unittests/test_safeyaml.py::TestLoadWithMarks::test_schema_marks_preserved[list_of_dict_items_with_nested_lists] PASSED [ 88%] tests/unittests/test_safeyaml.py::TestLoadWithMarks::test_schema_marks_preserved[list_of_dict_items_with_nested_lists_of_lists] PASSED [ 88%] tests/unittests/test_signal_handler.py::TestSignalHandler::test_handle_exit PASSED [ 88%] tests/unittests/test_simpletable.py::TestSimpleTable::test_no_rows PASSED [ 88%] tests/unittests/test_simpletable.py::TestSimpleTable::test_net_dev PASSED [ 88%] tests/unittests/test_simpletable.py::TestSimpleTable::test_route_ipv4 PASSED [ 88%] tests/unittests/test_simpletable.py::TestSimpleTable::test_authorized_keys PASSED [ 88%] tests/unittests/test_simpletable.py::TestSimpleTable::test_get_string PASSED [ 88%] tests/unittests/test_ssh_util.py::TestAuthKeyLineParser::test_parse[ecdsa-True-True] PASSED [ 88%] tests/unittests/test_ssh_util.py::TestAuthKeyLineParser::test_parse[ecdsa-True-False] PASSED [ 88%] tests/unittests/test_ssh_util.py::TestAuthKeyLineParser::test_parse[ecdsa-False-True] PASSED [ 88%] tests/unittests/test_ssh_util.py::TestAuthKeyLineParser::test_parse[ecdsa-False-False] PASSED [ 88%] tests/unittests/test_ssh_util.py::TestAuthKeyLineParser::test_parse[rsa-True-True] PASSED [ 88%] tests/unittests/test_ssh_util.py::TestAuthKeyLineParser::test_parse[rsa-True-False] PASSED [ 88%] tests/unittests/test_ssh_util.py::TestAuthKeyLineParser::test_parse[rsa-False-True] PASSED [ 88%] tests/unittests/test_ssh_util.py::TestAuthKeyLineParser::test_parse[rsa-False-False] PASSED [ 88%] tests/unittests/test_ssh_util.py::TestAuthKeyLineParser::test_parse[ed25519-True-True] PASSED [ 88%] tests/unittests/test_ssh_util.py::TestAuthKeyLineParser::test_parse[ed25519-True-False] PASSED [ 88%] tests/unittests/test_ssh_util.py::TestAuthKeyLineParser::test_parse[ed25519-False-True] PASSED [ 88%] tests/unittests/test_ssh_util.py::TestAuthKeyLineParser::test_parse[ed25519-False-False] PASSED [ 88%] tests/unittests/test_ssh_util.py::TestAuthKeyLineParser::test_parse[ecdsa-sha2-nistp256-cert-v01@openssh.com-True-True] PASSED [ 88%] tests/unittests/test_ssh_util.py::TestAuthKeyLineParser::test_parse[ecdsa-sha2-nistp256-cert-v01@openssh.com-True-False] PASSED [ 88%] tests/unittests/test_ssh_util.py::TestAuthKeyLineParser::test_parse[ecdsa-sha2-nistp256-cert-v01@openssh.com-False-True] PASSED [ 88%] tests/unittests/test_ssh_util.py::TestAuthKeyLineParser::test_parse[ecdsa-sha2-nistp256-cert-v01@openssh.com-False-False] PASSED [ 88%] tests/unittests/test_ssh_util.py::TestAuthKeyLineParser::test_parse[ecdsa-sha2-nistp256-True-True] PASSED [ 88%] tests/unittests/test_ssh_util.py::TestAuthKeyLineParser::test_parse[ecdsa-sha2-nistp256-True-False] PASSED [ 88%] tests/unittests/test_ssh_util.py::TestAuthKeyLineParser::test_parse[ecdsa-sha2-nistp256-False-True] PASSED [ 88%] tests/unittests/test_ssh_util.py::TestAuthKeyLineParser::test_parse[ecdsa-sha2-nistp256-False-False] PASSED [ 88%] tests/unittests/test_ssh_util.py::TestAuthKeyLineParser::test_parse[ecdsa-sha2-nistp384-cert-v01@openssh.com-True-True] PASSED [ 88%] tests/unittests/test_ssh_util.py::TestAuthKeyLineParser::test_parse[ecdsa-sha2-nistp384-cert-v01@openssh.com-True-False] PASSED [ 88%] tests/unittests/test_ssh_util.py::TestAuthKeyLineParser::test_parse[ecdsa-sha2-nistp384-cert-v01@openssh.com-False-True] PASSED [ 88%] tests/unittests/test_ssh_util.py::TestAuthKeyLineParser::test_parse[ecdsa-sha2-nistp384-cert-v01@openssh.com-False-False] PASSED [ 88%] tests/unittests/test_ssh_util.py::TestAuthKeyLineParser::test_parse[ecdsa-sha2-nistp384-True-True] PASSED [ 88%] tests/unittests/test_ssh_util.py::TestAuthKeyLineParser::test_parse[ecdsa-sha2-nistp384-True-False] PASSED [ 88%] tests/unittests/test_ssh_util.py::TestAuthKeyLineParser::test_parse[ecdsa-sha2-nistp384-False-True] PASSED [ 88%] tests/unittests/test_ssh_util.py::TestAuthKeyLineParser::test_parse[ecdsa-sha2-nistp384-False-False] PASSED [ 88%] tests/unittests/test_ssh_util.py::TestAuthKeyLineParser::test_parse[ecdsa-sha2-nistp521-cert-v01@openssh.com-True-True] PASSED [ 88%] tests/unittests/test_ssh_util.py::TestAuthKeyLineParser::test_parse[ecdsa-sha2-nistp521-cert-v01@openssh.com-True-False] PASSED [ 88%] tests/unittests/test_ssh_util.py::TestAuthKeyLineParser::test_parse[ecdsa-sha2-nistp521-cert-v01@openssh.com-False-True] PASSED [ 88%] tests/unittests/test_ssh_util.py::TestAuthKeyLineParser::test_parse[ecdsa-sha2-nistp521-cert-v01@openssh.com-False-False] PASSED [ 88%] tests/unittests/test_ssh_util.py::TestAuthKeyLineParser::test_parse[ecdsa-sha2-nistp521-True-True] PASSED [ 88%] tests/unittests/test_ssh_util.py::TestAuthKeyLineParser::test_parse[ecdsa-sha2-nistp521-True-False] PASSED [ 88%] tests/unittests/test_ssh_util.py::TestAuthKeyLineParser::test_parse[ecdsa-sha2-nistp521-False-True] PASSED [ 88%] tests/unittests/test_ssh_util.py::TestAuthKeyLineParser::test_parse[ecdsa-sha2-nistp521-False-False] PASSED [ 88%] tests/unittests/test_ssh_util.py::TestAuthKeyLineParser::test_parse[sk-ecdsa-sha2-nistp256-cert-v01@openssh.com-True-True] PASSED [ 88%] tests/unittests/test_ssh_util.py::TestAuthKeyLineParser::test_parse[sk-ecdsa-sha2-nistp256-cert-v01@openssh.com-True-False] PASSED [ 88%] tests/unittests/test_ssh_util.py::TestAuthKeyLineParser::test_parse[sk-ecdsa-sha2-nistp256-cert-v01@openssh.com-False-True] PASSED [ 88%] tests/unittests/test_ssh_util.py::TestAuthKeyLineParser::test_parse[sk-ecdsa-sha2-nistp256-cert-v01@openssh.com-False-False] PASSED [ 88%] tests/unittests/test_ssh_util.py::TestAuthKeyLineParser::test_parse[sk-ecdsa-sha2-nistp256@openssh.com-True-True] PASSED [ 88%] tests/unittests/test_ssh_util.py::TestAuthKeyLineParser::test_parse[sk-ecdsa-sha2-nistp256@openssh.com-True-False] PASSED [ 88%] tests/unittests/test_ssh_util.py::TestAuthKeyLineParser::test_parse[sk-ecdsa-sha2-nistp256@openssh.com-False-True] PASSED [ 89%] tests/unittests/test_ssh_util.py::TestAuthKeyLineParser::test_parse[sk-ecdsa-sha2-nistp256@openssh.com-False-False] PASSED [ 89%] tests/unittests/test_ssh_util.py::TestAuthKeyLineParser::test_parse[sk-ssh-ed25519-cert-v01@openssh.com-True-True] PASSED [ 89%] tests/unittests/test_ssh_util.py::TestAuthKeyLineParser::test_parse[sk-ssh-ed25519-cert-v01@openssh.com-True-False] PASSED [ 89%] tests/unittests/test_ssh_util.py::TestAuthKeyLineParser::test_parse[sk-ssh-ed25519-cert-v01@openssh.com-False-True] PASSED [ 89%] tests/unittests/test_ssh_util.py::TestAuthKeyLineParser::test_parse[sk-ssh-ed25519-cert-v01@openssh.com-False-False] PASSED [ 89%] tests/unittests/test_ssh_util.py::TestAuthKeyLineParser::test_parse[sk-ssh-ed25519@openssh.com-True-True] PASSED [ 89%] tests/unittests/test_ssh_util.py::TestAuthKeyLineParser::test_parse[sk-ssh-ed25519@openssh.com-True-False] PASSED [ 89%] tests/unittests/test_ssh_util.py::TestAuthKeyLineParser::test_parse[sk-ssh-ed25519@openssh.com-False-True] PASSED [ 89%] tests/unittests/test_ssh_util.py::TestAuthKeyLineParser::test_parse[sk-ssh-ed25519@openssh.com-False-False] PASSED [ 89%] tests/unittests/test_ssh_util.py::TestAuthKeyLineParser::test_parse[ssh-ed25519-cert-v01@openssh.com-True-True] PASSED [ 89%] tests/unittests/test_ssh_util.py::TestAuthKeyLineParser::test_parse[ssh-ed25519-cert-v01@openssh.com-True-False] PASSED [ 89%] tests/unittests/test_ssh_util.py::TestAuthKeyLineParser::test_parse[ssh-ed25519-cert-v01@openssh.com-False-True] PASSED [ 89%] tests/unittests/test_ssh_util.py::TestAuthKeyLineParser::test_parse[ssh-ed25519-cert-v01@openssh.com-False-False] PASSED [ 89%] tests/unittests/test_ssh_util.py::TestAuthKeyLineParser::test_parse[ssh-ed25519-True-True] PASSED [ 89%] tests/unittests/test_ssh_util.py::TestAuthKeyLineParser::test_parse[ssh-ed25519-True-False] PASSED [ 89%] tests/unittests/test_ssh_util.py::TestAuthKeyLineParser::test_parse[ssh-ed25519-False-True] PASSED [ 89%] tests/unittests/test_ssh_util.py::TestAuthKeyLineParser::test_parse[ssh-ed25519-False-False] PASSED [ 89%] tests/unittests/test_ssh_util.py::TestAuthKeyLineParser::test_parse[ssh-rsa-cert-v01@openssh.com-True-True] PASSED [ 89%] tests/unittests/test_ssh_util.py::TestAuthKeyLineParser::test_parse[ssh-rsa-cert-v01@openssh.com-True-False] PASSED [ 89%] tests/unittests/test_ssh_util.py::TestAuthKeyLineParser::test_parse[ssh-rsa-cert-v01@openssh.com-False-True] PASSED [ 89%] tests/unittests/test_ssh_util.py::TestAuthKeyLineParser::test_parse[ssh-rsa-cert-v01@openssh.com-False-False] PASSED [ 89%] tests/unittests/test_ssh_util.py::TestAuthKeyLineParser::test_parse[ssh-rsa-True-True] PASSED [ 89%] tests/unittests/test_ssh_util.py::TestAuthKeyLineParser::test_parse[ssh-rsa-True-False] PASSED [ 89%] tests/unittests/test_ssh_util.py::TestAuthKeyLineParser::test_parse[ssh-rsa-False-True] PASSED [ 89%] tests/unittests/test_ssh_util.py::TestAuthKeyLineParser::test_parse[ssh-rsa-False-False] PASSED [ 89%] tests/unittests/test_ssh_util.py::TestAuthKeyLineParser::test_parse[ssh-xmss-cert-v01@openssh.com-True-True] PASSED [ 89%] tests/unittests/test_ssh_util.py::TestAuthKeyLineParser::test_parse[ssh-xmss-cert-v01@openssh.com-True-False] PASSED [ 89%] tests/unittests/test_ssh_util.py::TestAuthKeyLineParser::test_parse[ssh-xmss-cert-v01@openssh.com-False-True] PASSED [ 89%] tests/unittests/test_ssh_util.py::TestAuthKeyLineParser::test_parse[ssh-xmss-cert-v01@openssh.com-False-False] PASSED [ 89%] tests/unittests/test_ssh_util.py::TestAuthKeyLineParser::test_parse[ssh-xmss@openssh.com-True-True] PASSED [ 89%] tests/unittests/test_ssh_util.py::TestAuthKeyLineParser::test_parse[ssh-xmss@openssh.com-True-False] PASSED [ 89%] tests/unittests/test_ssh_util.py::TestAuthKeyLineParser::test_parse[ssh-xmss@openssh.com-False-True] PASSED [ 89%] tests/unittests/test_ssh_util.py::TestAuthKeyLineParser::test_parse[ssh-xmss@openssh.com-False-False] PASSED [ 89%] tests/unittests/test_ssh_util.py::TestAuthKeyLineParser::test_parse_with_options_parameter[rsa-None-True-True] PASSED [ 89%] tests/unittests/test_ssh_util.py::TestAuthKeyLineParser::test_parse_with_options_parameter[rsa-None-True-False] PASSED [ 89%] tests/unittests/test_ssh_util.py::TestAuthKeyLineParser::test_parse_with_options_parameter[rsa-None-False-True] PASSED [ 89%] tests/unittests/test_ssh_util.py::TestAuthKeyLineParser::test_parse_with_options_parameter[rsa-None-False-False] PASSED [ 89%] tests/unittests/test_ssh_util.py::TestAuthKeyLineParser::test_parse_with_options_parameter[rsa--True-True] PASSED [ 89%] tests/unittests/test_ssh_util.py::TestAuthKeyLineParser::test_parse_with_options_parameter[rsa--True-False] PASSED [ 89%] tests/unittests/test_ssh_util.py::TestAuthKeyLineParser::test_parse_with_options_parameter[rsa--False-True] PASSED [ 89%] tests/unittests/test_ssh_util.py::TestAuthKeyLineParser::test_parse_with_options_parameter[rsa--False-False] PASSED [ 89%] tests/unittests/test_ssh_util.py::TestAuthKeyLineParser::test_parse_with_options_parameter[rsa-from="::1"-True-True] PASSED [ 89%] tests/unittests/test_ssh_util.py::TestAuthKeyLineParser::test_parse_with_options_parameter[rsa-from="::1"-True-False] PASSED [ 89%] tests/unittests/test_ssh_util.py::TestAuthKeyLineParser::test_parse_with_options_parameter[rsa-from="::1"-False-True] PASSED [ 89%] tests/unittests/test_ssh_util.py::TestAuthKeyLineParser::test_parse_with_options_parameter[rsa-from="::1"-False-False] PASSED [ 89%] tests/unittests/test_ssh_util.py::TestAuthKeyLineParser::test_parse_with_options_parameter[ed25519-None-True-True] PASSED [ 89%] tests/unittests/test_ssh_util.py::TestAuthKeyLineParser::test_parse_with_options_parameter[ed25519-None-True-False] PASSED [ 89%] tests/unittests/test_ssh_util.py::TestAuthKeyLineParser::test_parse_with_options_parameter[ed25519-None-False-True] PASSED [ 89%] tests/unittests/test_ssh_util.py::TestAuthKeyLineParser::test_parse_with_options_parameter[ed25519-None-False-False] PASSED [ 89%] tests/unittests/test_ssh_util.py::TestAuthKeyLineParser::test_parse_with_options_parameter[ed25519--True-True] PASSED [ 89%] tests/unittests/test_ssh_util.py::TestAuthKeyLineParser::test_parse_with_options_parameter[ed25519--True-False] PASSED [ 89%] tests/unittests/test_ssh_util.py::TestAuthKeyLineParser::test_parse_with_options_parameter[ed25519--False-True] PASSED [ 89%] tests/unittests/test_ssh_util.py::TestAuthKeyLineParser::test_parse_with_options_parameter[ed25519--False-False] PASSED [ 89%] tests/unittests/test_ssh_util.py::TestAuthKeyLineParser::test_parse_with_options_parameter[ed25519-from="::1"-True-True] PASSED [ 89%] tests/unittests/test_ssh_util.py::TestAuthKeyLineParser::test_parse_with_options_parameter[ed25519-from="::1"-True-False] PASSED [ 89%] tests/unittests/test_ssh_util.py::TestAuthKeyLineParser::test_parse_with_options_parameter[ed25519-from="::1"-False-True] PASSED [ 89%] tests/unittests/test_ssh_util.py::TestAuthKeyLineParser::test_parse_with_options_parameter[ed25519-from="::1"-False-False] PASSED [ 90%] tests/unittests/test_ssh_util.py::TestAuthKeyLineParser::test_parse_with_options_passed_in PASSED [ 90%] tests/unittests/test_ssh_util.py::TestAuthKeyLineParser::test_parse_invalid_keytype PASSED [ 90%] tests/unittests/test_ssh_util.py::TestUpdateAuthorizedKeys::test_new_keys_replace[new_entries0] PASSED [ 90%] tests/unittests/test_ssh_util.py::TestUpdateAuthorizedKeys::test_new_keys_replace[skip-invalid-entries] PASSED [ 90%] tests/unittests/test_ssh_util.py::TestParseSSHConfig::test_dummy_file[empty-file] PASSED [ 90%] tests/unittests/test_ssh_util.py::TestParseSSHConfig::test_dummy_file[not-a-file] PASSED [ 90%] tests/unittests/test_ssh_util.py::TestParseSSHConfig::test_comment_line[comment_line] PASSED [ 90%] tests/unittests/test_ssh_util.py::TestParseSSHConfig::test_comment_line[two-comment_lines] PASSED [ 90%] tests/unittests/test_ssh_util.py::TestParseSSHConfig::test_blank_lines PASSED [ 90%] tests/unittests/test_ssh_util.py::TestParseSSHConfig::test_case_config[lower-case] PASSED [ 90%] tests/unittests/test_ssh_util.py::TestParseSSHConfig::test_case_config[upper-case] PASSED [ 90%] tests/unittests/test_ssh_util.py::TestParseSSHConfig::test_case_config[lower-case-with-equals] PASSED [ 90%] tests/unittests/test_ssh_util.py::TestParseSSHConfig::test_case_config[upper-case-with-equals] PASSED [ 90%] tests/unittests/test_ssh_util.py::TestParseSSHConfig::test_duplicated_keys PASSED [ 90%] tests/unittests/test_ssh_util.py::TestUpdateSshConfigLines::test_update_ssh_config_lines[new_option_added] PASSED [ 90%] tests/unittests/test_ssh_util.py::TestUpdateSshConfigLines::test_update_ssh_config_lines[commented_out_not_updated_but_appended] PASSED [ 90%] tests/unittests/test_ssh_util.py::TestUpdateSshConfigLines::test_option_without_value PASSED [ 90%] tests/unittests/test_ssh_util.py::TestUpdateSshConfigLines::test_single_option_updated PASSED [ 90%] tests/unittests/test_ssh_util.py::TestUpdateSshConfigLines::test_multiple_updates_with_add PASSED [ 90%] tests/unittests/test_ssh_util.py::TestUpdateSshConfigLines::test_return_empty_if_no_changes PASSED [ 90%] tests/unittests/test_ssh_util.py::TestUpdateSshConfigLines::test_keycase_not_modified PASSED [ 90%] tests/unittests/test_ssh_util.py::TestUpdateSshConfig::test_modified PASSED [ 90%] tests/unittests/test_ssh_util.py::TestUpdateSshConfig::test_not_modified PASSED [ 90%] tests/unittests/test_ssh_util.py::TestUpdateSshConfig::test_without_include PASSED [ 90%] tests/unittests/test_ssh_util.py::TestUpdateSshConfig::test_without_sshd_config PASSED [ 90%] tests/unittests/test_ssh_util.py::TestUpdateSshConfig::test_with_include[Include {mycfg}.d/*.conf] PASSED [ 90%] tests/unittests/test_ssh_util.py::TestUpdateSshConfig::test_with_include[Include {mycfg}.d/*.conf # comment] PASSED [ 90%] tests/unittests/test_ssh_util.py::TestUpdateSshConfig::test_with_commented_include PASSED [ 90%] tests/unittests/test_ssh_util.py::TestUpdateSshConfig::test_with_other_include PASSED [ 90%] tests/unittests/test_ssh_util.py::TestAppendSshConfig::test_append_ssh_config PASSED [ 90%] tests/unittests/test_ssh_util.py::TestBasicAuthorizedKeyParse::test_render_authorizedkeysfile_paths[user] PASSED [ 90%] tests/unittests/test_ssh_util.py::TestBasicAuthorizedKeyParse::test_render_authorizedkeysfile_paths[user_file] PASSED [ 90%] tests/unittests/test_ssh_util.py::TestBasicAuthorizedKeyParse::test_render_authorizedkeysfile_paths[user_file_2] PASSED [ 90%] tests/unittests/test_ssh_util.py::TestBasicAuthorizedKeyParse::test_render_authorizedkeysfile_paths[multiple] PASSED [ 90%] tests/unittests/test_ssh_util.py::TestBasicAuthorizedKeyParse::test_render_authorizedkeysfile_paths[multiple_2] PASSED [ 90%] tests/unittests/test_ssh_util.py::TestBasicAuthorizedKeyParse::test_render_authorizedkeysfile_paths[relative] PASSED [ 90%] tests/unittests/test_ssh_util.py::TestBasicAuthorizedKeyParse::test_render_authorizedkeysfile_paths[home] PASSED [ 90%] tests/unittests/test_ssh_util.py::TestBasicAuthorizedKeyParse::test_render_authorizedkeysfile_paths[all] PASSED [ 90%] tests/unittests/test_ssh_util.py::TestMultipleSshAuthorizedKeysFile::test_single_user_two_local_files[False] PASSED [ 90%] tests/unittests/test_ssh_util.py::TestMultipleSshAuthorizedKeysFile::test_single_user_two_local_files[True] PASSED [ 90%] tests/unittests/test_ssh_util.py::TestMultipleSshAuthorizedKeysFile::test_single_user_local_global_files[False] PASSED [ 90%] tests/unittests/test_ssh_util.py::TestMultipleSshAuthorizedKeysFile::test_single_user_local_global_files[True] PASSED [ 90%] tests/unittests/test_ssh_util.py::TestMultipleSshAuthorizedKeysFile::test_single_user_global_file PASSED [ 90%] tests/unittests/test_ssh_util.py::TestMultipleSshAuthorizedKeysFile::test_two_users_local_file_standard PASSED [ 90%] tests/unittests/test_ssh_util.py::TestMultipleSshAuthorizedKeysFile::test_two_users_local_file_custom PASSED [ 90%] tests/unittests/test_ssh_util.py::TestMultipleSshAuthorizedKeysFile::test_two_users_local_global_files PASSED [ 90%] tests/unittests/test_ssh_util.py::TestMultipleSshAuthorizedKeysFile::test_two_users_local_global_files_badguy PASSED [ 90%] tests/unittests/test_ssh_util.py::TestMultipleSshAuthorizedKeysFile::test_two_users_unaccessible_file PASSED [ 90%] tests/unittests/test_ssh_util.py::TestMultipleSshAuthorizedKeysFile::test_two_users_accessible_file PASSED [ 90%] tests/unittests/test_ssh_util.py::TestMultipleSshAuthorizedKeysFile::test_two_users_hardcoded_single_user_file[False] PASSED [ 90%] tests/unittests/test_ssh_util.py::TestMultipleSshAuthorizedKeysFile::test_two_users_hardcoded_single_user_file[True] PASSED [ 90%] tests/unittests/test_ssh_util.py::TestMultipleSshAuthorizedKeysFile::test_two_users_hardcoded_user_files PASSED [ 90%] tests/unittests/test_stages.py::TestUpdateEventEnabled::test_hotplug_added_by_file[enabled_file_content0-True-cfg0] PASSED [ 90%] tests/unittests/test_stages.py::TestUpdateEventEnabled::test_hotplug_added_by_file[enabled_file_content0-True-cfg1] PASSED [ 90%] tests/unittests/test_stages.py::TestUpdateEventEnabled::test_hotplug_added_by_file[enabled_file_content0-True-cfg2] PASSED [ 90%] tests/unittests/test_stages.py::TestUpdateEventEnabled::test_hotplug_added_by_file[enabled_file_content0-True-cfg3] PASSED [ 90%] tests/unittests/test_stages.py::TestUpdateEventEnabled::test_hotplug_added_by_file[enabled_file_content0-True-cfg4] PASSED [ 91%] tests/unittests/test_stages.py::TestUpdateEventEnabled::test_hotplug_added_by_file[enabled_file_content1-False-cfg0] PASSED [ 91%] tests/unittests/test_stages.py::TestUpdateEventEnabled::test_hotplug_added_by_file[enabled_file_content1-False-cfg1] PASSED [ 91%] tests/unittests/test_stages.py::TestUpdateEventEnabled::test_hotplug_added_by_file[enabled_file_content1-False-cfg2] PASSED [ 91%] tests/unittests/test_stages.py::TestUpdateEventEnabled::test_hotplug_added_by_file[enabled_file_content1-False-cfg3] PASSED [ 91%] tests/unittests/test_stages.py::TestUpdateEventEnabled::test_hotplug_added_by_file[enabled_file_content1-False-cfg4] PASSED [ 91%] tests/unittests/test_stages.py::TestNetworkConfigWithoutDS::test_network_config PASSED [ 91%] tests/unittests/test_stages.py::TestInit::test_wb__find_networking_config_disabled PASSED [ 91%] tests/unittests/test_stages.py::TestInit::test_wb__find_networking_config_disabled_by_kernel[net_config0] PASSED [ 91%] tests/unittests/test_stages.py::TestInit::test_wb__find_networking_config_disabled_by_kernel[net_config1] PASSED [ 91%] tests/unittests/test_stages.py::TestInit::test_wb__find_networking_config_disabled_by_initrd[net_config0] PASSED [ 91%] tests/unittests/test_stages.py::TestInit::test_wb__find_networking_config_disabled_by_initrd[net_config1] PASSED [ 91%] tests/unittests/test_stages.py::TestInit::test_wb__find_networking_config_disabled_by_datasrc[net_config0] PASSED [ 91%] tests/unittests/test_stages.py::TestInit::test_wb__find_networking_config_disabled_by_datasrc[net_config1] PASSED [ 91%] tests/unittests/test_stages.py::TestInit::test_wb__find_networking_config_disabled_by_sysconfig[net_config0] PASSED [ 91%] tests/unittests/test_stages.py::TestInit::test_wb__find_networking_config_disabled_by_sysconfig[net_config1] PASSED [ 91%] tests/unittests/test_stages.py::TestInit::test__find_networking_config_uses_datasrc_order[in_config0-out_config0] PASSED [ 91%] tests/unittests/test_stages.py::TestInit::test__find_networking_config_uses_datasrc_order[in_config1-out_config1] PASSED [ 91%] tests/unittests/test_stages.py::TestInit::test__find_networking_config_warns_if_datasrc_uses_invalid_src[in_config0-out_config0] PASSED [ 91%] tests/unittests/test_stages.py::TestInit::test__find_networking_config_warns_if_datasrc_uses_invalid_src[in_config1-out_config1] PASSED [ 91%] tests/unittests/test_stages.py::TestInit::test__find_networking_config_warns_if_datasrc_uses_unavailable_src[in_config0-out_config0] PASSED [ 91%] tests/unittests/test_stages.py::TestInit::test__find_networking_config_warns_if_datasrc_uses_unavailable_src[in_config1-out_config1] PASSED [ 91%] tests/unittests/test_stages.py::TestInit::test_wb__find_networking_config_returns_kernel[in_config0-out_config0] PASSED [ 91%] tests/unittests/test_stages.py::TestInit::test_wb__find_networking_config_returns_kernel[in_config1-out_config1] PASSED [ 91%] tests/unittests/test_stages.py::TestInit::test_wb__find_networking_config_returns_initramfs[in_config0-out_config0] PASSED [ 91%] tests/unittests/test_stages.py::TestInit::test_wb__find_networking_config_returns_initramfs[in_config1-out_config1] PASSED [ 91%] tests/unittests/test_stages.py::TestInit::test_wb__find_networking_config_returns_system_cfg[in_config0-out_config0] PASSED [ 91%] tests/unittests/test_stages.py::TestInit::test_wb__find_networking_config_returns_system_cfg[in_config1-out_config1] PASSED [ 91%] tests/unittests/test_stages.py::TestInit::test_wb__find_networking_config_returns_datasrc_cfg[in_config0-out_config0] PASSED [ 91%] tests/unittests/test_stages.py::TestInit::test_wb__find_networking_config_returns_datasrc_cfg[in_config1-out_config1] PASSED [ 91%] tests/unittests/test_stages.py::TestInit::test_wb__find_networking_config_returns_fallback PASSED [ 91%] tests/unittests/test_stages.py::TestInit::test_warn_on_empty_network PASSED [ 91%] tests/unittests/test_stages.py::TestInit::test_apply_network_config_disabled PASSED [ 91%] tests/unittests/test_stages.py::TestInit::test_apply_network_on_new_instance[True] PASSED [ 91%] tests/unittests/test_stages.py::TestInit::test_apply_network_on_new_instance[False] PASSED [ 91%] tests/unittests/test_stages.py::TestInit::test_apply_network_on_same_instance_id PASSED [ 91%] tests/unittests/test_stages.py::TestInit::test_apply_network_allowed_when_default_boot PASSED [ 91%] tests/unittests/test_stages.py::TestInit::test_apply_network_disabled_when_no_default_boot PASSED [ 91%] tests/unittests/test_stages.py::TestInit::test_apply_network_allowed_with_userdata_overrides PASSED [ 91%] tests/unittests/test_stages.py::TestInit::test_apply_network_disabled_when_unsupported PASSED [ 91%] tests/unittests/test_stages.py::TestInit_InitializeFilesystem::test_ensure_file_not_called_if_no_log_file_configured PASSED [ 91%] tests/unittests/test_stages.py::TestInit_InitializeFilesystem::test_log_files_existence_is_ensured_if_configured PASSED [ 91%] tests/unittests/test_stages.py::TestInit_InitializeFilesystem::test_existing_file_permissions[511-416] PASSED [ 91%] tests/unittests/test_stages.py::TestInit_InitializeFilesystem::test_existing_file_permissions[416-416] PASSED [ 91%] tests/unittests/test_stages.py::TestInit_InitializeFilesystem::test_existing_file_permissions[390-384] PASSED [ 91%] tests/unittests/test_stages.py::TestInit_InitializeFilesystem::test_existing_file_permissions[321-256] PASSED [ 91%] tests/unittests/test_stages.py::test_strictest_permissions[511-416-416] PASSED [ 91%] tests/unittests/test_stages.py::test_strictest_permissions[416-511-416] PASSED [ 91%] tests/unittests/test_stages.py::test_strictest_permissions[416-353-288] PASSED [ 91%] tests/unittests/test_stages.py::test_strictest_permissions[73-40-8] PASSED [ 91%] tests/unittests/test_stages.py::test_strictest_permissions[409-416-384] PASSED [ 91%] tests/unittests/test_stages.py::test_strictest_permissions[433-416-416] PASSED [ 91%] tests/unittests/test_stages.py::test_strictest_permissions[299-393-265] PASSED [ 91%] tests/unittests/test_subp.py::TestPrependBaseCommands::test_prepend_base_command_errors_on_neither_string_nor_list PASSED [ 91%] tests/unittests/test_subp.py::TestPrependBaseCommands::test_prepend_base_command_warns_on_non_base_string_commands PASSED [ 91%] tests/unittests/test_subp.py::TestPrependBaseCommands::test_prepend_base_command_prepends_on_non_base_list_commands PASSED [ 91%] tests/unittests/test_subp.py::TestPrependBaseCommands::test_prepend_base_command_removes_first_item_when_none PASSED [ 91%] tests/unittests/test_subp.py::TestSubp::test_subp_handles_bytestrings PASSED [ 92%] tests/unittests/test_subp.py::TestSubp::test_subp_handles_strings PASSED [ 92%] tests/unittests/test_subp.py::TestSubp::test_subp_handles_utf8 PASSED [ 92%] tests/unittests/test_subp.py::TestSubp::test_subp_respects_decode_false PASSED [ 92%] tests/unittests/test_subp.py::TestSubp::test_subp_decode_ignore PASSED [ 92%] tests/unittests/test_subp.py::TestSubp::test_subp_decode_strict_valid_utf8 PASSED [ 92%] tests/unittests/test_subp.py::TestSubp::test_subp_decode_invalid_utf8_replaces PASSED [ 92%] tests/unittests/test_subp.py::TestSubp::test_subp_decode_strict_raises PASSED [ 92%] tests/unittests/test_subp.py::TestSubp::test_subp_capture_stderr PASSED [ 92%] tests/unittests/test_subp.py::TestSubp::test_subp_reads_env PASSED [ 92%] tests/unittests/test_subp.py::TestSubp::test_subp_update_env PASSED [ 92%] tests/unittests/test_subp.py::TestSubp::test_subp_warn_missing_shebang PASSED [ 92%] tests/unittests/test_subp.py::TestSubp::test_returns_none_if_no_capture PASSED [ 92%] tests/unittests/test_subp.py::TestSubp::test_exception_has_out_err_are_bytes_if_decode_false PASSED [ 92%] tests/unittests/test_subp.py::TestSubp::test_exception_has_out_err_are_bytes_if_decode_true PASSED [ 92%] tests/unittests/test_subp.py::TestSubp::test_exception_invalid_command PASSED [ 92%] tests/unittests/test_subp.py::TestSubp::test_bunch_of_slashes_in_path PASSED [ 92%] tests/unittests/test_subp.py::TestSubp::test_c_lang_can_take_utf8_args PASSED [ 92%] tests/unittests/test_temp_utils.py::TestTempUtils::test_mkdtemp_default_non_root PASSED [ 92%] tests/unittests/test_temp_utils.py::TestTempUtils::test_mkdtemp_default_non_root_needs_exe PASSED [ 92%] tests/unittests/test_temp_utils.py::TestTempUtils::test_mkdtemp_default_root PASSED [ 92%] tests/unittests/test_temp_utils.py::TestTempUtils::test_mkstemp_default_non_root PASSED [ 92%] tests/unittests/test_temp_utils.py::TestTempUtils::test_mkstemp_default_root PASSED [ 92%] tests/unittests/test_temp_utils.py::TestTempUtils::test_tempdir_error_suppression PASSED [ 92%] tests/unittests/test_templating.py::TestTemplates::test_render_basic PASSED [ 92%] tests/unittests/test_templating.py::TestTemplates::test_render_jinja PASSED [ 92%] tests/unittests/test_templating.py::TestTemplates::test_render_default PASSED [ 92%] tests/unittests/test_templating.py::TestTemplates::test_render_basic_deeper PASSED [ 92%] tests/unittests/test_templating.py::TestTemplates::test_render_basic_no_parens PASSED [ 92%] tests/unittests/test_templating.py::TestTemplates::test_render_basic_parens PASSED [ 92%] tests/unittests/test_templating.py::TestTemplates::test_render_basic2 PASSED [ 92%] tests/unittests/test_templating.py::TestTemplates::test_jinja_nonascii_render_to_string PASSED [ 92%] tests/unittests/test_templating.py::TestTemplates::test_jinja_nonascii_render_undefined_variables_to_default_py3 PASSED [ 92%] tests/unittests/test_templating.py::TestTemplates::test_jinja_nonascii_render_to_file PASSED [ 92%] tests/unittests/test_templating.py::TestTemplates::test_jinja_nonascii_render_from_file PASSED [ 92%] tests/unittests/test_templating.py::TestTemplates::test_jinja_do_extension_render_to_string PASSED [ 92%] tests/unittests/test_templating.py::TestTemplates::test_jinja_blocks_unsafe_attribute_access PASSED [ 92%] tests/unittests/test_templating.py::TestJinjaSyntaxParsingException::test_jinja_syntax_parsing_exception_message PASSED [ 92%] tests/unittests/test_templating.py::TestJinjaSyntaxParsingException::test_functionality_for_various_syntax_errors[4-replace_tuple0-unexpected '}'] PASSED [ 92%] tests/unittests/test_templating.py::TestJinjaSyntaxParsingException::test_functionality_for_various_syntax_errors[6-replace_tuple1-expected token 'end of statement block', got '%'] PASSED [ 92%] tests/unittests/test_templating.py::TestJinjaSyntaxParsingException::test_functionality_for_various_syntax_errors[8-replace_tuple2-expected token 'end of statement block', got '%'] PASSED [ 92%] tests/unittests/test_templating.py::TestJinjaSyntaxParsingException::test_functionality_for_various_syntax_errors[4-replace_tuple3-unexpected '}'] PASSED [ 92%] tests/unittests/test_templating.py::TestJinjaSyntaxParsingException::test_functionality_for_various_syntax_errors[6-replace_tuple4-unexpected '}'] PASSED [ 92%] tests/unittests/test_templating.py::TestJinjaSyntaxParsingException::test_functionality_for_various_syntax_errors[8-replace_tuple5-unexpected '}'] PASSED [ 92%] tests/unittests/test_templating.py::TestJinjaSyntaxParsingException::test_functionality_for_various_syntax_errors[4-replace_tuple6-expected token 'end of statement block', got '='] PASSED [ 92%] tests/unittests/test_templating.py::TestJinjaSyntaxParsingException::test_functionality_for_various_syntax_errors[7-replace_tuple7-unexpected '}'] PASSED [ 92%] tests/unittests/test_templating.py::TestJinjaSyntaxParsingException::test_format_error_message_with_content_line PASSED [ 92%] tests/unittests/test_templating.py::TestJinjaSyntaxParsingException::test_format_error_message_without_content_line[] PASSED [ 92%] tests/unittests/test_templating.py::TestJinjaSyntaxParsingException::test_format_error_message_without_content_line[None] PASSED [ 92%] tests/unittests/test_upgrade.py::TestUpgrade::test_all_ds_init_vs_unpickle_attributes[mode0] PASSED [ 92%] tests/unittests/test_upgrade.py::TestUpgrade::test_all_ds_init_vs_unpickle_attributes[mode1] PASSED [ 92%] tests/unittests/test_upgrade.py::TestUpgrade::test_pkl_load_defines_all_init_side_effect_attributes[focal-20.3-2-g371b392c-0ubuntu1~20.04.1.pkl] PASSED [ 92%] tests/unittests/test_upgrade.py::TestUpgrade::test_networking_set_on_distro[focal-20.3-2-g371b392c-0ubuntu1~20.04.1.pkl] PASSED [ 92%] tests/unittests/test_upgrade.py::TestUpgrade::test_paths_has_run_dir_attribute[focal-20.3-2-g371b392c-0ubuntu1~20.04.1.pkl] PASSED [ 92%] tests/unittests/test_upgrade.py::TestUpgrade::test_vendordata_exists[focal-20.3-2-g371b392c-0ubuntu1~20.04.1.pkl] PASSED [ 92%] tests/unittests/test_upgrade.py::TestUpgrade::test_pkl_load_defines_all_init_side_effect_attributes[focal-azure-20.1-10-g71af48df-0ubuntu5.pkl] PASSED [ 92%] tests/unittests/test_upgrade.py::TestUpgrade::test_networking_set_on_distro[focal-azure-20.1-10-g71af48df-0ubuntu5.pkl] PASSED [ 92%] tests/unittests/test_upgrade.py::TestUpgrade::test_paths_has_run_dir_attribute[focal-azure-20.1-10-g71af48df-0ubuntu5.pkl] PASSED [ 92%] tests/unittests/test_upgrade.py::TestUpgrade::test_vendordata_exists[focal-azure-20.1-10-g71af48df-0ubuntu5.pkl] PASSED [ 93%] tests/unittests/test_upgrade.py::TestUpgrade::test_pkl_load_defines_all_init_side_effect_attributes[focal-20.1-10-g71af48df-0ubuntu5.pkl] PASSED [ 93%] tests/unittests/test_upgrade.py::TestUpgrade::test_networking_set_on_distro[focal-20.1-10-g71af48df-0ubuntu5.pkl] PASSED [ 93%] tests/unittests/test_upgrade.py::TestUpgrade::test_paths_has_run_dir_attribute[focal-20.1-10-g71af48df-0ubuntu5.pkl] PASSED [ 93%] tests/unittests/test_upgrade.py::TestUpgrade::test_vendordata_exists[focal-20.1-10-g71af48df-0ubuntu5.pkl] PASSED [ 93%] tests/unittests/test_upgrade.py::TestUpgrade::test_pkl_load_defines_all_init_side_effect_attributes[trusty-14.04.1-0.7.5.pkl] PASSED [ 93%] tests/unittests/test_upgrade.py::TestUpgrade::test_networking_set_on_distro[trusty-14.04.1-0.7.5.pkl] PASSED [ 93%] tests/unittests/test_upgrade.py::TestUpgrade::test_paths_has_run_dir_attribute[trusty-14.04.1-0.7.5.pkl] PASSED [ 93%] tests/unittests/test_upgrade.py::TestUpgrade::test_vendordata_exists[trusty-14.04.1-0.7.5.pkl] PASSED [ 93%] tests/unittests/test_url_helper.py::TestOAuthHeaders::test_oauth_headers_raises_not_implemented_when_oathlib_missing PASSED [ 93%] tests/unittests/test_url_helper.py::TestOAuthHeaders::test_oauth_headers_calls_oathlibclient_when_available PASSED [ 93%] tests/unittests/test_url_helper.py::TestOauthUrlHelper::test_wrapped_readurl PASSED [ 93%] tests/unittests/test_url_helper.py::TestOauthUrlHelper::test_default_exception_cb PASSED [ 93%] tests/unittests/test_url_helper.py::TestOauthUrlHelper::test_custom_exception_cb PASSED [ 93%] tests/unittests/test_url_helper.py::TestOauthUrlHelper::test_default_headers_cb PASSED [ 93%] tests/unittests/test_url_helper.py::TestOauthUrlHelper::test_custom_headers_cb PASSED [ 93%] tests/unittests/test_url_helper.py::TestReadFileOrUrl::test_read_file_or_url_str_from_file PASSED [ 93%] tests/unittests/test_url_helper.py::TestReadFileOrUrl::test_read_file_or_url_str_from_url PASSED [ 93%] tests/unittests/test_url_helper.py::TestReadFileOrUrl::test_read_file_or_url_str_from_url_streamed PASSED [ 93%] tests/unittests/test_url_helper.py::TestReadFileOrUrl::test_read_file_or_url_str_from_url_redacting_headers_from_logs PASSED [ 93%] tests/unittests/test_url_helper.py::TestReadFileOrUrl::test_read_file_or_url_str_from_url_redacts_noheaders PASSED [ 93%] tests/unittests/test_url_helper.py::TestReadFileOrUrl::test_wb_read_url_defaults_honored_by_read_file_or_url_callers PASSED [ 93%] tests/unittests/test_url_helper.py::TestReadFileOrUrlParameters::test_read_file_or_url_passes_params_to_readurl[timeout-int] PASSED [ 93%] tests/unittests/test_url_helper.py::TestReadFileOrUrlParameters::test_read_file_or_url_passes_params_to_readurl[timeout-float] PASSED [ 93%] tests/unittests/test_url_helper.py::TestReadFileOrUrlParameters::test_read_file_or_url_passes_params_to_readurl[timeout-str-int] PASSED [ 93%] tests/unittests/test_url_helper.py::TestReadFileOrUrlParameters::test_read_file_or_url_passes_params_to_readurl[timeout-tuple-write-default] PASSED [ 93%] tests/unittests/test_url_helper.py::TestReadFileOrUrlParameters::test_read_file_or_url_passes_params_to_readurl[timeout-tuple-read-write] PASSED [ 93%] tests/unittests/test_url_helper.py::TestReadFileOrUrlParameters::test_read_file_or_url_passes_params_to_readurl[timeout-tuple-none] PASSED [ 93%] tests/unittests/test_url_helper.py::TestReadFileOrUrlParameters::test_readurl_timeout[negative-int-defaults-to-zero] PASSED [ 93%] tests/unittests/test_url_helper.py::TestReadFileOrUrlParameters::test_readurl_timeout[negative-str-defaults-to-zero] PASSED [ 93%] tests/unittests/test_url_helper.py::TestReadFileOrUrlParameters::test_readurl_timeout[none-timeout] PASSED [ 93%] tests/unittests/test_url_helper.py::TestReadFileOrUrlParameters::test_readurl_timeout[int-timeout] PASSED [ 93%] tests/unittests/test_url_helper.py::TestReadFileOrUrlParameters::test_readurl_timeout[float-timeout] PASSED [ 93%] tests/unittests/test_url_helper.py::TestReadFileOrUrlParameters::test_readurl_timeout[str-int-timeout] PASSED [ 93%] tests/unittests/test_url_helper.py::TestReadFileOrUrlParameters::test_readurl_timeout[tuple-read-timeout-only] PASSED [ 93%] tests/unittests/test_url_helper.py::TestReadFileOrUrlParameters::test_readurl_timeout[tuple-read-write-timeout] PASSED [ 93%] tests/unittests/test_url_helper.py::TestReadFileOrUrlParameters::test_readurl_timeout[tuple-none-timeout] PASSED [ 93%] tests/unittests/test_url_helper.py::TestReadUrl::test_headers[headers0] PASSED [ 93%] tests/unittests/test_url_helper.py::TestReadUrl::test_headers[headers1] PASSED [ 93%] tests/unittests/test_url_helper.py::TestReadUrl::test_headers_cb[headers0] PASSED [ 93%] tests/unittests/test_url_helper.py::TestReadUrl::test_headers_cb[headers1] PASSED [ 93%] tests/unittests/test_url_helper.py::TestReadUrl::test_error_no_cb PASSED [ 93%] tests/unittests/test_url_helper.py::TestReadUrl::test_error_cb_true PASSED [ 93%] tests/unittests/test_url_helper.py::TestReadUrl::test_error_cb_false PASSED [ 93%] tests/unittests/test_url_helper.py::TestReadUrl::test_exception_503 PASSED [ 93%] tests/unittests/test_url_helper.py::TestDualStack::test_dual_stack[-addresses0-1-1-one] PASSED [ 93%] tests/unittests/test_url_helper.py::TestDualStack::test_dual_stack[-addresses1-1-0-None] PASSED [ 93%] tests/unittests/test_url_helper.py::TestDualStack::test_dual_stack[-addresses2-0-1-two] PASSED [ 93%] tests/unittests/test_url_helper.py::TestDualStack::test_dual_stack[-addresses3-0-1-one] PASSED [ 93%] tests/unittests/test_url_helper.py::TestDualStack::test_dual_stack[-addresses4-0-1-two] PASSED [ 93%] tests/unittests/test_url_helper.py::TestDualStack::test_dual_stack[-addresses5-0-1-tri] PASSED [ 93%] tests/unittests/test_url_helper.py::TestDualStack::test_dual_stack_exceptions[-addresses0-0-1-division by zero-ZeroDivisionError] PASSED [ 93%] tests/unittests/test_url_helper.py::TestDualStack::test_dual_stack_exceptions[-addresses1-0-1-division by zero-ZeroDivisionError] PASSED [ 93%] tests/unittests/test_url_helper.py::TestDualStack::test_dual_stack_exceptions[-addresses2-0-1-list index out of range-IndexError] PASSED [ 93%] tests/unittests/test_url_helper.py::TestDualStack::test_dual_stack_exceptions[-addresses3-0-1-soapstone is not effective soap-Exception] PASSED [ 93%] tests/unittests/test_url_helper.py::TestDualStack::test_dual_stack_staggered PASSED [ 93%] tests/unittests/test_url_helper.py::TestWaitForUrl::test_order[addresses0-0-SUCCESS] PASSED [ 93%] tests/unittests/test_url_helper.py::TestWaitForUrl::test_order[addresses1-1-SUCCESS] PASSED [ 94%] tests/unittests/test_url_helper.py::TestWaitForUrl::test_order[addresses2-2-SUCCESS] PASSED [ 94%] tests/unittests/test_url_helper.py::TestWaitForUrl::test_order[addresses3-0-SUCCESS] PASSED [ 94%] tests/unittests/test_url_helper.py::TestWaitForUrl::test_timeout PASSED [ 94%] tests/unittests/test_url_helper.py::TestWaitForUrl::test_explicit_arguments PASSED [ 94%] tests/unittests/test_url_helper.py::TestWaitForUrl::test_shortened_timeout PASSED [ 94%] tests/unittests/test_url_helper.py::TestWaitForUrl::test_default_sleep_time PASSED [ 94%] tests/unittests/test_url_helper.py::TestWaitForUrl::test_503 PASSED [ 94%] tests/unittests/test_url_helper.py::TestWaitForUrl::test_503_async PASSED [ 94%] tests/unittests/test_url_helper.py::TestHandleError::test_handle_error_no_cb PASSED [ 94%] tests/unittests/test_url_helper.py::TestHandleError::test_handle_error_cb_false PASSED [ 94%] tests/unittests/test_url_helper.py::TestHandleError::test_handle_error_cb_true PASSED [ 94%] tests/unittests/test_url_helper.py::TestHandleError::test_handle_503 PASSED [ 94%] tests/unittests/test_url_helper.py::TestHandleError::test_handle_503_with_retry_header PASSED [ 94%] tests/unittests/test_url_helper.py::TestHandleError::test_handle_503_with_retry_header_in_past PASSED [ 94%] tests/unittests/test_url_helper.py::TestHandleError::test_handle_503_cb_true PASSED [ 94%] tests/unittests/test_url_helper.py::TestHandleError::test_handle_503_cb_false PASSED [ 94%] tests/unittests/test_util.py::TestUtil::test_parse_mount_info_no_opts_no_arg PASSED [ 94%] tests/unittests/test_util.py::TestUtil::test_parse_mount_info_no_opts_arg PASSED [ 94%] tests/unittests/test_util.py::TestUtil::test_parse_mount_info_with_opts PASSED [ 94%] tests/unittests/test_util.py::TestUtil::test_has_mount_opt[rw-True] PASSED [ 94%] tests/unittests/test_util.py::TestUtil::test_has_mount_opt[relatime-True] PASSED [ 94%] tests/unittests/test_util.py::TestUtil::test_has_mount_opt[idmapped-True] PASSED [ 94%] tests/unittests/test_util.py::TestUtil::test_has_mount_opt[noexec-False] PASSED [ 94%] tests/unittests/test_util.py::TestUtil::test_mount_is_rw PASSED [ 94%] tests/unittests/test_util.py::TestUtil::test_mount_is_ro PASSED [ 94%] tests/unittests/test_util.py::TestUtil::test_read_conf PASSED [ 94%] tests/unittests/test_util.py::TestUtil::test_read_conf_with_template PASSED [ 94%] tests/unittests/test_util.py::TestUtil::test_read_conf_with_failed_config_json PASSED [ 94%] tests/unittests/test_util.py::TestUtil::test_read_conf_with_failed_instance_data_json PASSED [ 94%] tests/unittests/test_util.py::TestUtil::test_read_conf_with_config_invalid_jinja_syntax[{"a": "{{c} } }"] PASSED [ 94%] tests/unittests/test_util.py::TestUtil::test_read_conf_with_config_invalid_jinja_syntax[{"a": "{{c} } "] PASSED [ 94%] tests/unittests/test_util.py::TestUtil::test_read_conf_with_config_invalid_jinja_syntax[{% if c %} C is present {% else % } C is NOT present {% endif %}] PASSED [ 94%] tests/unittests/test_util.py::TestUtil::test_read_conf_d_no_permissions PASSED [ 94%] tests/unittests/test_util.py::TestUtil::test_read_conf_with_confd_no_permissions[False-expected_call0] PASSED [ 94%] tests/unittests/test_util.py::TestUtil::test_read_conf_with_confd_no_permissions[True-expected_call1] PASSED [ 94%] tests/unittests/test_util.py::TestUtil::test_fetch_ssl_details[True] PASSED [ 94%] tests/unittests/test_util.py::TestUtil::test_fetch_ssl_details[False] PASSED [ 94%] tests/unittests/test_util.py::TestSymlink::test_sym_link_simple PASSED [ 94%] tests/unittests/test_util.py::TestSymlink::test_sym_link_source_exists PASSED [ 94%] tests/unittests/test_util.py::TestSymlink::test_sym_link_dangling_link PASSED [ 94%] tests/unittests/test_util.py::TestSymlink::test_sym_link_create_dangling PASSED [ 94%] tests/unittests/test_util.py::TestUptime::test_uptime_non_linux_path PASSED [ 94%] tests/unittests/test_util.py::TestShellify::test_input_dict_raises_type_error PASSED [ 94%] tests/unittests/test_util.py::TestShellify::test_input_str_raises_type_error PASSED [ 94%] tests/unittests/test_util.py::TestShellify::test_value_with_int_raises_type_error PASSED [ 94%] tests/unittests/test_util.py::TestShellify::test_supports_strings_and_lists PASSED [ 94%] tests/unittests/test_util.py::TestShellify::test_supports_comments PASSED [ 94%] tests/unittests/test_util.py::TestGetHostnameFqdn::test_get_hostname_fqdn_from_only_cfg_fqdn PASSED [ 94%] tests/unittests/test_util.py::TestGetHostnameFqdn::test_get_hostname_fqdn_from_cfg_fqdn_and_hostname PASSED [ 94%] tests/unittests/test_util.py::TestGetHostnameFqdn::test_get_hostname_fqdn_from_cfg_hostname_with_domain PASSED [ 94%] tests/unittests/test_util.py::TestGetHostnameFqdn::test_get_hostname_fqdn_from_cfg_hostname_without_domain PASSED [ 94%] tests/unittests/test_util.py::TestGetHostnameFqdn::test_get_hostname_fqdn_from_without_fqdn_or_hostname PASSED [ 94%] tests/unittests/test_util.py::TestGetHostnameFqdn::test_get_hostname_fqdn_from_numeric_fqdn PASSED [ 94%] tests/unittests/test_util.py::TestGetHostnameFqdn::test_get_hostname_fqdn_from_numeric_fqdn_with_domain PASSED [ 94%] tests/unittests/test_util.py::TestGetHostnameFqdn::test_get_hostname_fqdn_from_passes_metadata_only_to_cloud PASSED [ 94%] tests/unittests/test_util.py::TestBlkid::test_functional_blkid PASSED [ 94%] tests/unittests/test_util.py::TestBlkid::test_blkid_no_cache_uses_no_cache PASSED [ 95%] tests/unittests/test_util.py::TestUdevadmSettle::test_with_no_params PASSED [ 95%] tests/unittests/test_util.py::TestUdevadmSettle::test_udevadm_not_present PASSED [ 95%] tests/unittests/test_util.py::TestUdevadmSettle::test_with_exists_and_not_exists PASSED [ 95%] tests/unittests/test_util.py::TestUdevadmSettle::test_with_exists_and_file_exists PASSED [ 95%] tests/unittests/test_util.py::TestUdevadmSettle::test_with_timeout_int PASSED [ 95%] tests/unittests/test_util.py::TestUdevadmSettle::test_with_timeout_string PASSED [ 95%] tests/unittests/test_util.py::TestUdevadmSettle::test_with_exists_and_timeout PASSED [ 95%] tests/unittests/test_util.py::TestUdevadmSettle::test_subp_exception_raises_to_caller PASSED [ 95%] tests/unittests/test_util.py::TestGetLinuxDistro::test_get_linux_distro_quoted_name PASSED [ 95%] tests/unittests/test_util.py::TestGetLinuxDistro::test_get_linux_distro_bare_name PASSED [ 95%] tests/unittests/test_util.py::TestGetLinuxDistro::test_get_linux_freebsd PASSED [ 95%] tests/unittests/test_util.py::TestGetLinuxDistro::test_get_linux_centos6 PASSED [ 95%] tests/unittests/test_util.py::TestGetLinuxDistro::test_get_linux_centos7_redhat_release PASSED [ 95%] tests/unittests/test_util.py::TestGetLinuxDistro::test_get_linux_redhat7_osrelease PASSED [ 95%] tests/unittests/test_util.py::TestGetLinuxDistro::test_get_linux_redhat7_rhrelease PASSED [ 95%] tests/unittests/test_util.py::TestGetLinuxDistro::test_get_linux_redhat6_rhrelease PASSED [ 95%] tests/unittests/test_util.py::TestGetLinuxDistro::test_get_linux_copr_centos PASSED [ 95%] tests/unittests/test_util.py::TestGetLinuxDistro::test_get_linux_almalinux8_rhrelease PASSED [ 95%] tests/unittests/test_util.py::TestGetLinuxDistro::test_get_linux_almalinux8_osrelease PASSED [ 95%] tests/unittests/test_util.py::TestGetLinuxDistro::test_get_linux_eurolinux7_rhrelease PASSED [ 95%] tests/unittests/test_util.py::TestGetLinuxDistro::test_get_linux_eurolinux7_osrelease PASSED [ 95%] tests/unittests/test_util.py::TestGetLinuxDistro::test_get_linux_eurolinux8_rhrelease PASSED [ 95%] tests/unittests/test_util.py::TestGetLinuxDistro::test_get_linux_eurolinux8_osrelease PASSED [ 95%] tests/unittests/test_util.py::TestGetLinuxDistro::test_get_linux_miraclelinux8_rhrelease PASSED [ 95%] tests/unittests/test_util.py::TestGetLinuxDistro::test_get_linux_miraclelinux8_osrelease PASSED [ 95%] tests/unittests/test_util.py::TestGetLinuxDistro::test_get_linux_rocky8_rhrelease PASSED [ 95%] tests/unittests/test_util.py::TestGetLinuxDistro::test_get_linux_rocky8_osrelease PASSED [ 95%] tests/unittests/test_util.py::TestGetLinuxDistro::test_get_linux_virtuozzo8_rhrelease PASSED [ 95%] tests/unittests/test_util.py::TestGetLinuxDistro::test_get_linux_virtuozzo8_osrelease PASSED [ 95%] tests/unittests/test_util.py::TestGetLinuxDistro::test_get_linux_cloud8_rhrelease PASSED [ 95%] tests/unittests/test_util.py::TestGetLinuxDistro::test_get_linux_cloud8_osrelease PASSED [ 95%] tests/unittests/test_util.py::TestGetLinuxDistro::test_get_linux_debian PASSED [ 95%] tests/unittests/test_util.py::TestGetLinuxDistro::test_get_linux_openeuler PASSED [ 95%] tests/unittests/test_util.py::TestGetLinuxDistro::test_get_linux_opencloudos PASSED [ 95%] tests/unittests/test_util.py::TestGetLinuxDistro::test_get_linux_tencentos PASSED [ 95%] tests/unittests/test_util.py::TestGetLinuxDistro::test_get_linux_opensuse PASSED [ 95%] tests/unittests/test_util.py::TestGetLinuxDistro::test_get_linux_opensuse_l15 PASSED [ 95%] tests/unittests/test_util.py::TestGetLinuxDistro::test_get_linux_opensuse_tw PASSED [ 95%] tests/unittests/test_util.py::TestGetLinuxDistro::test_get_linux_photon_os_release PASSED [ 95%] tests/unittests/test_util.py::TestGetLinuxDistro::test_get_linux_mariner_os_release PASSED [ 95%] tests/unittests/test_util.py::TestGetLinuxDistro::test_get_linux_azurelinux_os_release PASSED [ 95%] tests/unittests/test_util.py::TestGetLinuxDistro::test_get_linux_openmandriva PASSED [ 95%] tests/unittests/test_util.py::TestGetLinuxDistro::test_get_linux_cos PASSED [ 95%] tests/unittests/test_util.py::TestGetLinuxDistro::test_get_linux_distro_no_data PASSED [ 95%] tests/unittests/test_util.py::TestGetVariant::test_get_variant[info0-almalinux] PASSED [ 95%] tests/unittests/test_util.py::TestGetVariant::test_get_variant[info1-alpine] PASSED [ 95%] tests/unittests/test_util.py::TestGetVariant::test_get_variant[info2-arch] PASSED [ 95%] tests/unittests/test_util.py::TestGetVariant::test_get_variant[info3-azurelinux] PASSED [ 95%] tests/unittests/test_util.py::TestGetVariant::test_get_variant[info4-centos] PASSED [ 95%] tests/unittests/test_util.py::TestGetVariant::test_get_variant[info5-cloudlinux] PASSED [ 95%] tests/unittests/test_util.py::TestGetVariant::test_get_variant[info6-debian] PASSED [ 95%] tests/unittests/test_util.py::TestGetVariant::test_get_variant[info7-eurolinux] PASSED [ 95%] tests/unittests/test_util.py::TestGetVariant::test_get_variant[info8-fedora] PASSED [ 95%] tests/unittests/test_util.py::TestGetVariant::test_get_variant[info9-mariner] PASSED [ 95%] tests/unittests/test_util.py::TestGetVariant::test_get_variant[info10-openeuler] PASSED [ 95%] tests/unittests/test_util.py::TestGetVariant::test_get_variant[info11-opencloudos] PASSED [ 95%] tests/unittests/test_util.py::TestGetVariant::test_get_variant[info12-photon] PASSED [ 96%] tests/unittests/test_util.py::TestGetVariant::test_get_variant[info13-rhel] PASSED [ 96%] tests/unittests/test_util.py::TestGetVariant::test_get_variant[info14-rocky] PASSED [ 96%] tests/unittests/test_util.py::TestGetVariant::test_get_variant[info15-suse] PASSED [ 96%] tests/unittests/test_util.py::TestGetVariant::test_get_variant[info16-tencentos] PASSED [ 96%] tests/unittests/test_util.py::TestGetVariant::test_get_variant[info17-virtuozzo] PASSED [ 96%] tests/unittests/test_util.py::TestGetVariant::test_get_variant[info18-ubuntu] PASSED [ 96%] tests/unittests/test_util.py::TestGetVariant::test_get_variant[info19-ubuntu] PASSED [ 96%] tests/unittests/test_util.py::TestGetVariant::test_get_variant[info20-ubuntu] PASSED [ 96%] tests/unittests/test_util.py::TestGetVariant::test_get_variant[info21-rhel] PASSED [ 96%] tests/unittests/test_util.py::TestGetVariant::test_get_variant[info22-suse] PASSED [ 96%] tests/unittests/test_util.py::TestGetVariant::test_get_variant[info23-suse] PASSED [ 96%] tests/unittests/test_util.py::TestGetVariant::test_get_variant[info24-suse] PASSED [ 96%] tests/unittests/test_util.py::TestGetVariant::test_get_variant[info25-suse] PASSED [ 96%] tests/unittests/test_util.py::TestGetVariant::test_get_variant[info26-suse] PASSED [ 96%] tests/unittests/test_util.py::TestGetVariant::test_get_variant[info27-linux] PASSED [ 96%] tests/unittests/test_util.py::TestGetVariant::test_get_variant[info28-windows] PASSED [ 96%] tests/unittests/test_util.py::TestGetVariant::test_get_variant[info29-darwin] PASSED [ 96%] tests/unittests/test_util.py::TestGetVariant::test_get_variant[info30-freebsd] PASSED [ 96%] tests/unittests/test_util.py::TestGetVariant::test_get_variant[info31-netbsd] PASSED [ 96%] tests/unittests/test_util.py::TestGetVariant::test_get_variant[info32-openbsd] PASSED [ 96%] tests/unittests/test_util.py::TestGetVariant::test_get_variant[info33-dragonfly] PASSED [ 96%] tests/unittests/test_util.py::TestJsonDumps::test_is_str PASSED [ 96%] tests/unittests/test_util.py::TestJsonDumps::test_utf8 PASSED [ 96%] tests/unittests/test_util.py::TestJsonDumps::test_non_utf8 PASSED [ 96%] tests/unittests/test_util.py::TestIsLXD::test_is_lxd_true_on_sock_device PASSED [ 96%] tests/unittests/test_util.py::TestIsLXD::test_is_lxd_false_when_sock_device_absent PASSED [ 96%] tests/unittests/test_util.py::TestReadCcFromCmdline::test_read_conf_from_cmdline_config[random_string] PASSED [ 96%] tests/unittests/test_util.py::TestReadCcFromCmdline::test_read_conf_from_cmdline_config[foo cc: end_cc bar-None] PASSED [ 96%] tests/unittests/test_util.py::TestReadCcFromCmdline::test_read_conf_from_cmdline_config[foo cc: ssh_pwauth: true-expected_cfg2] PASSED [ 96%] tests/unittests/test_util.py::TestReadCcFromCmdline::test_read_conf_from_cmdline_config[foo cc: ssh_pwauth: true\\n-expected_cfg3] PASSED [ 96%] tests/unittests/test_util.py::TestReadCcFromCmdline::test_read_conf_from_cmdline_config[foo cc: ssh_pwauth: true end_cc bar-expected_cfg4] PASSED [ 96%] tests/unittests/test_util.py::TestReadCcFromCmdline::test_read_conf_from_cmdline_config[cc: ssh_import_id: [smoser, kirkland]\\n-expected_cfg5] PASSED [ 96%] tests/unittests/test_util.py::TestReadCcFromCmdline::test_read_conf_from_cmdline_config[cc: ssh_import_id: %5Bsmoser, kirkland%5D end_cc-expected_cfg6] PASSED [ 96%] tests/unittests/test_util.py::TestReadCcFromCmdline::test_read_conf_from_cmdline_config[cc: ssh_import_id%3A%20%5Buser1%2C%20user2%5D end_cc-expected_cfg7] PASSED [ 96%] tests/unittests/test_util.py::TestReadCcFromCmdline::test_read_conf_from_cmdline_config[cc: ntp: {enabled: true, ntp_client: myclient} end_cc-expected_cfg8] PASSED [ 96%] tests/unittests/test_util.py::TestReadCcFromCmdline::test_read_conf_from_cmdline_config[cc: ssh_import_id: smoser end_cc-expected_cfg9] PASSED [ 96%] tests/unittests/test_util.py::TestReadCcFromCmdline::test_read_conf_from_cmdline_config[cc: ssh_import_id: [smoser, bob]\\nruncmd: [ [ ls, -l ], echo hi ] end_cc-expected_cfg10] PASSED [ 96%] tests/unittests/test_util.py::TestReadCcFromCmdline::test_read_conf_from_cmdline_config[cc: ssh_import_id: %5Bsmoser, bob%5D\\nruncmd: [ [ ls, -l ], echo hi ] end_cc-expected_cfg11] PASSED [ 96%] tests/unittests/test_util.py::TestReadCcFromCmdline::test_read_conf_from_cmdline_config[cc: ssh_import_id%3A%20%5Bsmoser%2C%20bob%5D%5Cnruncmd%3A%20%5B%20%5B%20ls%2C%20-l%20%5D%2C%20echo%20hi%20%5D end_cc-expected_cfg12] PASSED [ 96%] tests/unittests/test_util.py::TestReadCcFromCmdline::test_read_conf_from_cmdline_config[cc: ssh_import_id%3A%20%5Bsmoser%2C%20bob%5D%0Aruncmd%3A%20%5B%20%5B%20ls%2C%20-l%20%5D%2C%20echo%20hi%20%5D end_cc-expected_cfg13] PASSED [ 96%] tests/unittests/test_util.py::TestReadCcFromCmdline::test_read_conf_from_cmdline_config[cc:ssh_import_id: [smoser, bob] end_cc cc: runcmd: [ [ ls, -l ] ] end_cc-expected_cfg14] PASSED [ 96%] tests/unittests/test_util.py::TestReadCcFromCmdline::test_read_conf_from_cmdline_config[cc:ssh_import_id%3A%20%5Bsmoser%5D end_cc cc:runcmd%3A%20%5B%20%5B%20ls%2C%20-l%20%5D%20%5D end_cc-expected_cfg15] PASSED [ 96%] tests/unittests/test_util.py::TestReadCcFromCmdline::test_read_conf_from_cmdline_config[BOOTIF=aa:bb:cc:dd bar-None] PASSED [ 96%] tests/unittests/test_util.py::TestReadCcFromCmdline::test_read_conf_from_cmdline_config[BOOTIF=aa:bb:cc:dd cc: end_cc bar-None] PASSED [ 96%] tests/unittests/test_util.py::TestReadCcFromCmdline::test_read_conf_from_cmdline_config[BOOTIF=aa:bb:cc:dd cc: ssh_pwauth: true-expected_cfg18] PASSED [ 96%] tests/unittests/test_util.py::TestReadCcFromCmdline::test_read_conf_from_cmdline_config[BOOTIF=aa:bb:cc:dd cc: ssh_pwauth: true end_cc-expected_cfg19] PASSED [ 96%] tests/unittests/test_util.py::TestReadCcFromCmdline::test_read_conf_from_cmdline_config[cc: ssh_pwauth: true end_cc BOOTIF=aa:bb:cc:dd-expected_cfg20] PASSED [ 96%] tests/unittests/test_util.py::TestMountCb::test_normalize_mtype_on_bsd[iso9660-cd9660] PASSED [ 96%] tests/unittests/test_util.py::TestMountCb::test_normalize_mtype_on_bsd[vfat-msdos] PASSED [ 96%] tests/unittests/test_util.py::TestMountCb::test_normalize_mtype_on_bsd[msdosfs-msdos] PASSED [ 96%] tests/unittests/test_util.py::TestMountCb::test_normalize_mtype_on_bsd[ufs-ufs] PASSED [ 96%] tests/unittests/test_util.py::TestMountCb::test_typeerror_raised_for_invalid_mtype[0] PASSED [ 96%] tests/unittests/test_util.py::TestMountCb::test_typeerror_raised_for_invalid_mtype[0.0] PASSED [ 96%] tests/unittests/test_util.py::TestMountCb::test_typeerror_raised_for_invalid_mtype[invalid_mtype2] PASSED [ 96%] tests/unittests/test_util.py::TestMountCb::test_already_mounted_does_not_mount_or_umount_anything PASSED [ 96%] tests/unittests/test_util.py::TestMountCb::test_already_mounted_calls_callback[/] PASSED [ 96%] tests/unittests/test_util.py::TestMountCb::test_already_mounted_calls_callback[] PASSED [ 96%] tests/unittests/test_util.py::TestMountCb::test_already_mounted_calls_callback_with_data PASSED [ 97%] tests/unittests/test_util.py::TestMountCb::test_mount_cb_log[True] PASSED [ 97%] tests/unittests/test_util.py::TestMountCb::test_mount_cb_log[False] PASSED [ 97%] tests/unittests/test_util.py::TestEnsureFile::test_parameters_passed_through PASSED [ 97%] tests/unittests/test_util.py::TestEnsureFile::test_defaults[mode-420] PASSED [ 97%] tests/unittests/test_util.py::TestEnsureFile::test_defaults[preserve_mode-False] PASSED [ 97%] tests/unittests/test_util.py::TestEnsureFile::test_static_parameters_are_passed PASSED [ 97%] tests/unittests/test_util.py::TestRedirectOutputPreexecFn::test_preexec_fn_sets_umask[outfmt] PASSED [ 97%] tests/unittests/test_util.py::TestRedirectOutputPreexecFn::test_preexec_fn_sets_umask[errfmt] PASSED [ 97%] tests/unittests/test_util.py::TestRedirectOutputPreexecFn::test_preexec_fn_sets_group_id_if_adm_group_present[outfmt] PASSED [ 97%] tests/unittests/test_util.py::TestRedirectOutputPreexecFn::test_preexec_fn_sets_group_id_if_adm_group_present[errfmt] PASSED [ 97%] tests/unittests/test_util.py::TestRedirectOutputPreexecFn::test_preexec_fn_handles_absent_adm_group_gracefully[outfmt] PASSED [ 97%] tests/unittests/test_util.py::TestRedirectOutputPreexecFn::test_preexec_fn_handles_absent_adm_group_gracefully[errfmt] PASSED [ 97%] tests/unittests/test_util.py::TestGetCfgOptionListOrStr::test_not_found_no_default PASSED [ 97%] tests/unittests/test_util.py::TestGetCfgOptionListOrStr::test_not_found_with_default PASSED [ 97%] tests/unittests/test_util.py::TestGetCfgOptionListOrStr::test_found_with_default PASSED [ 97%] tests/unittests/test_util.py::TestGetCfgOptionListOrStr::test_found_convert_to_list PASSED [ 97%] tests/unittests/test_util.py::TestGetCfgOptionListOrStr::test_value_is_none PASSED [ 97%] tests/unittests/test_util.py::TestWriteFile::test_basic_usage PASSED [ 97%] tests/unittests/test_util.py::TestWriteFile::test_dir_is_created_if_required PASSED [ 97%] tests/unittests/test_util.py::TestWriteFile::test_dir_ownership PASSED [ 97%] tests/unittests/test_util.py::TestWriteFile::test_dir_is_not_created_if_ensure_dir_false PASSED [ 97%] tests/unittests/test_util.py::TestWriteFile::test_explicit_mode PASSED [ 97%] tests/unittests/test_util.py::TestWriteFile::test_preserve_mode_no_existing PASSED [ 97%] tests/unittests/test_util.py::TestWriteFile::test_preserve_mode_with_existing PASSED [ 97%] tests/unittests/test_util.py::TestWriteFile::test_custom_omode PASSED [ 97%] tests/unittests/test_util.py::TestWriteFile::test_restorecon_if_possible_is_called PASSED [ 97%] tests/unittests/test_util.py::TestDeleteDirContents::test_does_not_delete_dir PASSED [ 97%] tests/unittests/test_util.py::TestDeleteDirContents::test_deletes_files PASSED [ 97%] tests/unittests/test_util.py::TestDeleteDirContents::test_deletes_empty_dirs PASSED [ 97%] tests/unittests/test_util.py::TestDeleteDirContents::test_deletes_nested_dirs PASSED [ 97%] tests/unittests/test_util.py::TestDeleteDirContents::test_deletes_non_empty_dirs PASSED [ 97%] tests/unittests/test_util.py::TestDeleteDirContents::test_deletes_symlinks PASSED [ 97%] tests/unittests/test_util.py::TestDelDir::test_del_dir_existing_directory PASSED [ 97%] tests/unittests/test_util.py::TestDelDir::test_del_dir_file_not_found PASSED [ 97%] tests/unittests/test_util.py::TestDelDir::test_del_dir_generic_errors PASSED [ 97%] tests/unittests/test_util.py::TestKeyValStrings::test_keyval_str_to_dict PASSED [ 97%] tests/unittests/test_util.py::TestGetCmdline::test_cmdline_reads_debug_env PASSED [ 97%] tests/unittests/test_util.py::TestFipsEnabled::test_fips_enabled_based_on_proc_crypto[false_when_no_fips_enabled_file] PASSED [ 97%] tests/unittests/test_util.py::TestFipsEnabled::test_fips_enabled_based_on_proc_crypto[false_when_fips_disabled] PASSED [ 97%] tests/unittests/test_util.py::TestFipsEnabled::test_fips_enabled_based_on_proc_crypto[true_when_fips_enabled] PASSED [ 97%] tests/unittests/test_util.py::TestFipsEnabled::test_fips_enabled_based_on_proc_crypto[true_when_fips_enabled_no_newline] PASSED [ 97%] tests/unittests/test_util.py::TestLoadYaml::test_simple PASSED [ 97%] tests/unittests/test_util.py::TestLoadYaml::test_nonallowed_returns_default PASSED [ 97%] tests/unittests/test_util.py::TestLoadYaml::test_bogus_scan_error_returns_default PASSED [ 97%] tests/unittests/test_util.py::TestLoadYaml::test_bogus_parse_error_returns_default PASSED [ 97%] tests/unittests/test_util.py::TestLoadYaml::test_unsafe_types PASSED [ 97%] tests/unittests/test_util.py::TestLoadYaml::test_python_unicode PASSED [ 97%] tests/unittests/test_util.py::TestLoadYaml::test_none_returns_default PASSED [ 97%] tests/unittests/test_util.py::TestFstabEscaping::test_escape_unescape_roundtrip[/mnt/Cdrom Drive-/mnt/Cdrom\\040Drive] PASSED [ 97%] tests/unittests/test_util.py::TestFstabEscaping::test_escape_unescape_roundtrip[/mnt/a\tb-/mnt/a\\011b] PASSED [ 97%] tests/unittests/test_util.py::TestFstabEscaping::test_escape_unescape_roundtrip[/mnt/a\nb-/mnt/a\\012b] PASSED [ 97%] tests/unittests/test_util.py::TestFstabEscaping::test_escape_unescape_roundtrip[/mnt/a\\b-/mnt/a\\134b] PASSED [ 97%] tests/unittests/test_util.py::TestFstabEscaping::test_escape_unescape_roundtrip[/mnt/a \\b-/mnt/a\\040\\134b] PASSED [ 97%] tests/unittests/test_util.py::TestFstabEscaping::test_escape_unescape_roundtrip[/mnt/plain-/mnt/plain] PASSED [ 97%] tests/unittests/test_util.py::TestMounts::test_mounts_unescapes_mountpoint PASSED [ 97%] tests/unittests/test_util.py::TestMountinfoParsing::test_invalid_mountinfo PASSED [ 97%] tests/unittests/test_util.py::TestMountinfoParsing::test_precise_ext4_root PASSED [ 98%] tests/unittests/test_util.py::TestMountinfoParsing::test_raring_btrfs_root PASSED [ 98%] tests/unittests/test_util.py::TestMountinfoParsing::test_parse_mount_with_ext PASSED [ 98%] tests/unittests/test_util.py::TestMountinfoParsing::test_parse_mount_with_zfs PASSED [ 98%] tests/unittests/test_util.py::TestIsX86::test_is_x86_matches_x86_types PASSED [ 98%] tests/unittests/test_util.py::TestIsX86::test_is_x86_unmatched_types PASSED [ 98%] tests/unittests/test_util.py::TestIsX86::test_is_x86_calls_uname_for_architecture PASSED [ 98%] tests/unittests/test_util.py::TestGetConfigLogfiles::test_empty_cfg_returns_empty_list PASSED [ 98%] tests/unittests/test_util.py::TestGetConfigLogfiles::test_default_log_file_present PASSED [ 98%] tests/unittests/test_util.py::TestGetConfigLogfiles::test_output_logs_parsed_when_teeing_files PASSED [ 98%] tests/unittests/test_util.py::TestGetConfigLogfiles::test_output_logs_parsed_when_redirecting PASSED [ 98%] tests/unittests/test_util.py::TestGetConfigLogfiles::test_output_logs_parsed_when_appending PASSED [ 98%] tests/unittests/test_util.py::TestGetConfigLogfiles::test_output_logs_parsed_when_teeing_files_and_rotated PASSED [ 98%] tests/unittests/test_util.py::TestMultiLog::test_stderr_used_by_default PASSED [ 98%] tests/unittests/test_util.py::TestMultiLog::test_stderr_not_used_if_false PASSED [ 98%] tests/unittests/test_util.py::TestMultiLog::test_logs_go_to_console_by_default PASSED [ 98%] tests/unittests/test_util.py::TestMultiLog::test_logs_dont_go_to_stdout_if_console_exists PASSED [ 98%] tests/unittests/test_util.py::TestMultiLog::test_logs_go_to_stdout_if_console_does_not_exist PASSED [ 98%] tests/unittests/test_util.py::TestMultiLog::test_logs_dont_go_to_stdout_if_fallback_to_stdout_is_false PASSED [ 98%] tests/unittests/test_util.py::TestMultiLog::test_logs_go_to_stdout_if_writing_to_console_fails_and_fallback_true PASSED [ 98%] tests/unittests/test_util.py::TestMultiLog::test_logs_go_nowhere_if_writing_to_console_fails_and_fallback_false PASSED [ 98%] tests/unittests/test_util.py::TestMultiLog::test_logs_go_to_log_if_given PASSED [ 98%] tests/unittests/test_util.py::TestMultiLog::test_newlines_stripped_from_log_call PASSED [ 98%] tests/unittests/test_util.py::TestMultiLog::test_log_level_defaults_to_debug PASSED [ 98%] tests/unittests/test_util.py::TestMultiLog::test_given_log_level_used PASSED [ 98%] tests/unittests/test_util.py::TestMessageFromString::test_unicode_not_messed_up PASSED [ 98%] tests/unittests/test_util.py::TestReadOptionalSeed::test_read_optional_seed_sets_fill_on_success[seed_dir0-expected_fill0-False] PASSED [ 98%] tests/unittests/test_util.py::TestReadOptionalSeed::test_read_optional_seed_sets_fill_on_success[seed_dir1-expected_fill1-False] PASSED [ 98%] tests/unittests/test_util.py::TestReadOptionalSeed::test_read_optional_seed_sets_fill_on_success[seed_dir2-expected_fill2-True] PASSED [ 98%] tests/unittests/test_util.py::TestReadOptionalSeed::test_read_optional_seed_sets_fill_on_success[seed_dir3-expected_fill3-True] PASSED [ 98%] tests/unittests/test_util.py::TestReadOptionalSeed::test_read_optional_seed_sets_fill_on_success[seed_dir4-expected_fill4-True] PASSED [ 98%] tests/unittests/test_util.py::TestReadSeeded::test_unicode_not_messed_up PASSED [ 98%] tests/unittests/test_util.py::TestReadSeeded::test_handle_http_urls[expand_percent_s_to_data_route] PASSED [ 98%] tests/unittests/test_util.py::TestReadSeeded::test_handle_http_urls[no_duplicate_forward_slash_when_already_present] PASSED [ 98%] tests/unittests/test_util.py::TestReadSeeded::test_handle_http_urls[append_fwd_slash_on_routes_when_absent_and_no_query_str] PASSED [ 98%] tests/unittests/test_util.py::TestReadSeeded::test_handle_http_urls[feature_off_append_fwd_slash_when_absent_and_no_query_str] PASSED [ 98%] tests/unittests/test_util.py::TestReadSeeded::test_handle_http_urls[avoid_trailing_forward_slash_on_routes_with_query_strings] PASSED [ 98%] tests/unittests/test_util.py::TestReadSeededWithoutVendorData::test_unicode_not_messed_up PASSED [ 98%] tests/unittests/test_util.py::TestEncode::test_decode_binary_plain_text_with_hex PASSED [ 98%] tests/unittests/test_util.py::TestProcessExecutionError::test_pexec_error_indent_text PASSED [ 98%] tests/unittests/test_util.py::TestProcessExecutionError::test_pexec_error_type PASSED [ 98%] tests/unittests/test_util.py::TestProcessExecutionError::test_pexec_error_empty_msgs PASSED [ 98%] tests/unittests/test_util.py::TestProcessExecutionError::test_pexec_error_single_line_msgs PASSED [ 98%] tests/unittests/test_util.py::TestProcessExecutionError::test_pexec_error_multi_line_msgs PASSED [ 98%] tests/unittests/test_util.py::TestSystemIsSnappy::test_id_in_os_release_quoted PASSED [ 98%] tests/unittests/test_util.py::TestSystemIsSnappy::test_id_in_os_release PASSED [ 98%] tests/unittests/test_util.py::TestSystemIsSnappy::test_bad_content_in_os_release_no_effect PASSED [ 98%] tests/unittests/test_util.py::TestSystemIsSnappy::test_snap_core_in_cmdline_is_snappy PASSED [ 98%] tests/unittests/test_util.py::TestSystemIsSnappy::test_nothing_found_is_not_snappy PASSED [ 98%] tests/unittests/test_util.py::TestSystemIsSnappy::test_channel_ini_with_snappy_is_snappy PASSED [ 98%] tests/unittests/test_util.py::TestSystemIsSnappy::test_system_image_config_dir_is_snappy PASSED [ 98%] tests/unittests/test_util.py::TestLoadShellContent::test_comments_handled_correctly PASSED [ 98%] tests/unittests/test_util.py::TestGetProcEnv::test_non_utf8_in_environment PASSED [ 98%] tests/unittests/test_util.py::TestGetProcEnv::test_all_utf8_encoded PASSED [ 98%] tests/unittests/test_util.py::TestGetProcEnv::test_non_existing_file_returns_empty_dict PASSED [ 98%] tests/unittests/test_util.py::TestGetProcPpid::test_get_proc_ppid_linux PASSED [ 98%] tests/unittests/test_util.py::TestGetProcPpid::test_get_proc_pgrp_linux PASSED [ 98%] tests/unittests/test_util.py::TestGetProcPpid::test_get_proc_ppid_ps PASSED [ 99%] tests/unittests/test_util.py::TestGetProcPpid::test_get_proc_ppid_mocked PASSED [ 99%] tests/unittests/test_util.py::TestHuman2Bytes::test_human2bytes PASSED [ 99%] tests/unittests/test_util.py::TestHuman2Bytes::test_ibibytes2bytes PASSED [ 99%] tests/unittests/test_util.py::TestKernelVersion::test_kernel_version[5.6.19-300.fc32.x86_64-expected0] PASSED [ 99%] tests/unittests/test_util.py::TestKernelVersion::test_kernel_version[4.15.0-101-generic-expected1] PASSED [ 99%] tests/unittests/test_util.py::TestKernelVersion::test_kernel_version[3.10.0-1062.12.1.vz7.131.10-expected2] PASSED [ 99%] tests/unittests/test_util.py::TestKernelVersion::test_kernel_version[4.18.0-144.el8.x86_64-expected3] PASSED [ 99%] tests/unittests/test_util.py::TestFindDevs::test_find_devs_with PASSED [ 99%] tests/unittests/test_util.py::TestFindDevs::test_find_devs_with_openbsd PASSED [ 99%] tests/unittests/test_util.py::TestFindDevs::test_find_devs_with_openbsd_with_criteria PASSED [ 99%] tests/unittests/test_util.py::TestFindDevs::test_find_devs_with_freebsd[None-expected_devlist0] PASSED [ 99%] tests/unittests/test_util.py::TestFindDevs::test_find_devs_with_freebsd[TYPE=iso9660-expected_devlist1] PASSED [ 99%] tests/unittests/test_util.py::TestFindDevs::test_find_devs_with_freebsd[TYPE=vfat-expected_devlist2] PASSED [ 99%] tests/unittests/test_util.py::TestFindDevs::test_find_devs_with_freebsd[LABEL_FATBOOT=A_LABEL-expected_devlist3] PASSED [ 99%] tests/unittests/test_util.py::TestFindDevs::test_find_devs_with_netbsd[None-expected_devlist0] PASSED [ 99%] tests/unittests/test_util.py::TestFindDevs::test_find_devs_with_netbsd[TYPE=iso9660-expected_devlist1] PASSED [ 99%] tests/unittests/test_util.py::TestFindDevs::test_find_devs_with_netbsd[TYPE=vfat-expected_devlist2] PASSED [ 99%] tests/unittests/test_util.py::TestFindDevs::test_find_devs_with_netbsd[LABEL_FATBOOT=A_LABEL-expected_devlist3] PASSED [ 99%] tests/unittests/test_util.py::TestFindDevs::test_find_devs_with_dragonflybsd[None-expected_devlist0] PASSED [ 99%] tests/unittests/test_util.py::TestFindDevs::test_find_devs_with_dragonflybsd[TYPE=iso9660-expected_devlist1] PASSED [ 99%] tests/unittests/test_util.py::TestFindDevs::test_find_devs_with_dragonflybsd[TYPE=vfat-expected_devlist2] PASSED [ 99%] tests/unittests/test_util.py::TestFindDevs::test_find_devs_with_dragonflybsd[LABEL_FATBOOT=A_LABEL-expected_devlist3] PASSED [ 99%] tests/unittests/test_util.py::TestVersion::test_eq[3.1.0-3.1.0-True] PASSED [ 99%] tests/unittests/test_util.py::TestVersion::test_eq[3.1.0-3.1.1-False] PASSED [ 99%] tests/unittests/test_util.py::TestVersion::test_eq[3.1-3.1.0.0-False] PASSED [ 99%] tests/unittests/test_util.py::TestVersion::test_gt[3.1.0-3.1.0-False] PASSED [ 99%] tests/unittests/test_util.py::TestVersion::test_gt[3.1.0-3.1.1-False] PASSED [ 99%] tests/unittests/test_util.py::TestVersion::test_gt[3.1-3.1.0.0-False] PASSED [ 99%] tests/unittests/test_util.py::TestVersion::test_gt[3.1.0.0-3.1-True] PASSED [ 99%] tests/unittests/test_util.py::TestVersion::test_gt[3.1.1-3.1.0-True] PASSED [ 99%] tests/unittests/test_util.py::TestVersion::test_to_version_and_back_to_str[3.1.0] PASSED [ 99%] tests/unittests/test_util.py::TestVersion::test_to_version_and_back_to_str[3.0.1] PASSED [ 99%] tests/unittests/test_util.py::TestVersion::test_to_version_and_back_to_str[3.1] PASSED [ 99%] tests/unittests/test_util.py::TestVersion::test_to_version_and_back_to_str[3.1.0.0] PASSED [ 99%] tests/unittests/test_util.py::TestVersion::test_to_version_and_back_to_str[3.1.1] PASSED [ 99%] tests/unittests/test_util.py::TestVersion::test_from_str[0.0.0.0-cls_ver0] PASSED [ 99%] tests/unittests/test_util.py::TestVersion::test_from_str[1.0.0.0-cls_ver1] PASSED [ 99%] tests/unittests/test_util.py::TestVersion::test_from_str[1.0.2.0-cls_ver2] PASSED [ 99%] tests/unittests/test_util.py::TestVersion::test_from_str[9.8.2.0-cls_ver3] PASSED [ 99%] tests/unittests/test_util.py::TestResolvable::test_ips_need_not_be_resolved PASSED [ 99%] tests/unittests/test_util.py::TestResolvable::test_hostnames_require_dns_resolution PASSED [ 99%] tests/unittests/test_util.py::TestMaybeB64Decode::test_raises_error_on_non_bytes[not bytes] PASSED [ 99%] tests/unittests/test_util.py::TestMaybeB64Decode::test_raises_error_on_non_bytes[4] PASSED [ 99%] tests/unittests/test_util.py::TestMaybeB64Decode::test_happy_path[this is my data-this is my data] PASSED [ 99%] tests/unittests/test_util.py::TestMaybeB64Decode::test_happy_path[ZGF0YQ==-data] PASSED [ 99%] tests/unittests/test_util.py::TestReadHotplugEnabledFile::test_file_not_found PASSED [ 99%] tests/unittests/test_util.py::TestReadHotplugEnabledFile::test_json_decode_error PASSED [ 99%] tests/unittests/test_util.py::TestReadHotplugEnabledFile::test_file_present[{"scopes": ["network"]}] PASSED [ 99%] tests/unittests/test_util.py::TestLogExc::test_logexc PASSED [ 99%] tests/unittests/test_util.py::TestLogExc::test_logexc_with_log_level[10] PASSED [ 99%] tests/unittests/test_util.py::TestLogExc::test_logexc_with_log_level[20] PASSED [ 99%] tests/unittests/test_util.py::TestLogExc::test_logexc_with_log_level[30] PASSED [ 99%] tests/unittests/test_util.py::TestLogExc::test_logexc_with_log_level[40] PASSED [ 99%] tests/unittests/test_version.py::TestExportsFeatures::test_has_network_config_v1 PASSED [ 99%] tests/unittests/test_version.py::TestExportsFeatures::test_has_network_config_v2 PASSED [ 99%] tests/unittests/test_version.py::TestVersionString::test_package_version_respected PASSED [ 99%] tests/unittests/test_version.py::TestVersionString::test_package_version_skipped PASSED [100%] =================================== FAILURES =================================== _ TestValidateCloudConfigSchema.test_validateconfig_schema_non_strict_emits_warnings _ self = caplog = <_pytest.logging.LogCaptureFixture object at 0x3f8cc9b230> @skipUnlessJsonSchema() def test_validateconfig_schema_non_strict_emits_warnings(self, caplog): """When strict is False validate_cloudconfig_schema emits warnings.""" schema = {"properties": {"p1": {"type": "string"}}} validate_cloudconfig_schema({"p1": -1}, schema=schema, strict=False) assert caplog.record_tuples and ( len(caplog.record_tuples) == 1 or len(caplog.record_tuples) == 2 ), caplog.record_tuples > [(module, log_level, log_msg)] = caplog.record_tuples ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ E ValueError: too many values to unpack (expected 1, got 2) tests/unittests/config/test_schema.py:457: ValueError ----------------------------- Captured stderr call ----------------------------- FALLBACK: 2026-08-31 20:51:52,941 - schema.py[WARNING]: cloud-config failed schema validation! p1: -1 is not of type 'string' FALLBACK: 2026-08-31 20:51:52,941 - schema.py[WARNING]: cloud-config failed schema validation! p1: -1 is not of type 'string' FALLBACK: 2026-08-31 20:51:52,941 - schema.py[WARNING]: cloud-config failed schema validation! p1: -1 is not of type 'string' FALLBACK: 2026-08-31 20:51:52,941 - schema.py[WARNING]: cloud-config failed schema validation! p1: -1 is not of type 'string' 2026-08-31 20:51:52,941 - schema.py[WARNING]: cloud-config failed schema validation! p1: -1 is not of type 'string' 2026-08-31 20:51:52,941 - schema.py[WARNING]: cloud-config failed schema validation! p1: -1 is not of type 'string' 2026-08-31 20:51:52,941 - schema.py[WARNING]: cloud-config failed schema validation! p1: -1 is not of type 'string' 2026-08-31 20:51:52,941 - schema.py[WARNING]: cloud-config failed schema validation! p1: -1 is not of type 'string' 2026-08-31 20:51:52,941 - schema.py[WARNING]: cloud-config failed schema validation! p1: -1 is not of type 'string' 2026-08-31 20:51:52,941 - schema.py[WARNING]: cloud-config failed schema validation! p1: -1 is not of type 'string' 2026-08-31 20:51:52,941 - schema.py[WARNING]: cloud-config failed schema validation! p1: -1 is not of type 'string' 2026-08-31 20:51:52,941 - schema.py[WARNING]: cloud-config failed schema validation! p1: -1 is not of type 'string' 2026-08-31 20:51:52,941 - schema.py[WARNING]: cloud-config failed schema validation! p1: -1 is not of type 'string' 2026-08-31 20:51:52,941 - schema.py[WARNING]: cloud-config failed schema validation! p1: -1 is not of type 'string' 2026-08-31 20:51:52,941 - schema.py[WARNING]: cloud-config failed schema validation! p1: -1 is not of type 'string' 2026-08-31 20:51:52,941 - schema.py[WARNING]: cloud-config failed schema validation! p1: -1 is not of type 'string' 2026-08-31 20:51:52,941 - schema.py[WARNING]: cloud-config failed schema validation! p1: -1 is not of type 'string' 2026-08-31 20:51:52,941 - schema.py[WARNING]: cloud-config failed schema validation! p1: -1 is not of type 'string' 2026-08-31 20:51:52,941 - schema.py[WARNING]: cloud-config failed schema validation! p1: -1 is not of type 'string' 2026-08-31 20:51:52,941 - schema.py[WARNING]: cloud-config failed schema validation! p1: -1 is not of type 'string' 2026-08-31 20:51:52,941 - schema.py[WARNING]: cloud-config failed schema validation! p1: -1 is not of type 'string' 2026-08-31 20:51:52,941 - schema.py[WARNING]: cloud-config failed schema validation! p1: -1 is not of type 'string' 2026-08-31 20:51:52,941 - schema.py[WARNING]: cloud-config failed schema validation! p1: -1 is not of type 'string' 2026-08-31 20:51:52,941 - schema.py[WARNING]: cloud-config failed schema validation! p1: -1 is not of type 'string' 2026-08-31 20:51:52,941 - schema.py[WARNING]: cloud-config failed schema validation! p1: -1 is not of type 'string' 2026-08-31 20:51:52,941 - schema.py[WARNING]: cloud-config failed schema validation! p1: -1 is not of type 'string' 2026-08-31 20:51:52,941 - schema.py[WARNING]: cloud-config failed schema validation! p1: -1 is not of type 'string' 2026-08-31 20:51:52,941 - schema.py[WARNING]: cloud-config failed schema validation! p1: -1 is not of type 'string' 2026-08-31 20:51:52,941 - schema.py[WARNING]: cloud-config failed schema validation! p1: -1 is not of type 'string' FALLBACK: 2026-08-31 20:51:52,944 - performance.py[DEBUG]: Validating schema took 0.011 seconds FALLBACK: 2026-08-31 20:51:52,944 - performance.py[DEBUG]: Validating schema took 0.011 seconds FALLBACK: 2026-08-31 20:51:52,944 - performance.py[DEBUG]: Validating schema took 0.011 seconds FALLBACK: 2026-08-31 20:51:52,944 - performance.py[DEBUG]: Validating schema took 0.011 seconds 2026-08-31 20:51:52,944 - performance.py[DEBUG]: Validating schema took 0.011 seconds 2026-08-31 20:51:52,944 - performance.py[DEBUG]: Validating schema took 0.011 seconds 2026-08-31 20:51:52,944 - performance.py[DEBUG]: Validating schema took 0.011 seconds 2026-08-31 20:51:52,944 - performance.py[DEBUG]: Validating schema took 0.011 seconds 2026-08-31 20:51:52,944 - performance.py[DEBUG]: Validating schema took 0.011 seconds 2026-08-31 20:51:52,944 - performance.py[DEBUG]: Validating schema took 0.011 seconds 2026-08-31 20:51:52,944 - performance.py[DEBUG]: Validating schema took 0.011 seconds 2026-08-31 20:51:52,944 - performance.py[DEBUG]: Validating schema took 0.011 seconds 2026-08-31 20:51:52,944 - performance.py[DEBUG]: Validating schema took 0.011 seconds 2026-08-31 20:51:52,944 - performance.py[DEBUG]: Validating schema took 0.011 seconds 2026-08-31 20:51:52,944 - performance.py[DEBUG]: Validating schema took 0.011 seconds 2026-08-31 20:51:52,944 - performance.py[DEBUG]: Validating schema took 0.011 seconds 2026-08-31 20:51:52,944 - performance.py[DEBUG]: Validating schema took 0.011 seconds 2026-08-31 20:51:52,944 - performance.py[DEBUG]: Validating schema took 0.011 seconds 2026-08-31 20:51:52,944 - performance.py[DEBUG]: Validating schema took 0.011 seconds 2026-08-31 20:51:52,944 - performance.py[DEBUG]: Validating schema took 0.011 seconds 2026-08-31 20:51:52,944 - performance.py[DEBUG]: Validating schema took 0.011 seconds 2026-08-31 20:51:52,944 - performance.py[DEBUG]: Validating schema took 0.011 seconds 2026-08-31 20:51:52,944 - performance.py[DEBUG]: Validating schema took 0.011 seconds 2026-08-31 20:51:52,944 - performance.py[DEBUG]: Validating schema took 0.011 seconds 2026-08-31 20:51:52,944 - performance.py[DEBUG]: Validating schema took 0.011 seconds 2026-08-31 20:51:52,944 - performance.py[DEBUG]: Validating schema took 0.011 seconds 2026-08-31 20:51:52,944 - performance.py[DEBUG]: Validating schema took 0.011 seconds 2026-08-31 20:51:52,944 - performance.py[DEBUG]: Validating schema took 0.011 seconds 2026-08-31 20:51:52,944 - performance.py[DEBUG]: Validating schema took 0.011 seconds ------------------------------ Captured log call ------------------------------- 2026-08-31 20:51:52 WARNING cloudinit.config.schema:schema.py:841 cloud-config failed schema validation! p1: -1 is not of type 'string' 2026-08-31 20:51:52 DEBUG cloudinit.performance:performance.py:64 Validating schema took 0.011 seconds ______ TestValidateCloudConfigSchema.test_validateconfig_schema_sensitive ______ self = caplog = <_pytest.logging.LogCaptureFixture object at 0x3f8b086890> @skipUnlessJsonSchema() def test_validateconfig_schema_sensitive(self, caplog): """When log_details=False, ensure details are omitted""" schema = { "properties": {"hashed_password": {"type": "string"}}, "additionalProperties": False, } validate_cloudconfig_schema( {"hashed-password": "secret"}, schema=schema, strict=False, log_details=False, ) > [(module, log_level, log_msg)] = caplog.record_tuples ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ E ValueError: too many values to unpack (expected 1, got 2) tests/unittests/config/test_schema.py:478: ValueError ----------------------------- Captured stderr call ----------------------------- FALLBACK: 2026-08-31 20:51:53,386 - schema.py[WARNING]: cloud-config failed schema validation! You may run 'sudo cloud-init schema --system' to check the details. FALLBACK: 2026-08-31 20:51:53,386 - schema.py[WARNING]: cloud-config failed schema validation! You may run 'sudo cloud-init schema --system' to check the details. FALLBACK: 2026-08-31 20:51:53,386 - schema.py[WARNING]: cloud-config failed schema validation! You may run 'sudo cloud-init schema --system' to check the details. FALLBACK: 2026-08-31 20:51:53,386 - schema.py[WARNING]: cloud-config failed schema validation! You may run 'sudo cloud-init schema --system' to check the details. 2026-08-31 20:51:53,386 - schema.py[WARNING]: cloud-config failed schema validation! You may run 'sudo cloud-init schema --system' to check the details. 2026-08-31 20:51:53,386 - schema.py[WARNING]: cloud-config failed schema validation! You may run 'sudo cloud-init schema --system' to check the details. 2026-08-31 20:51:53,386 - schema.py[WARNING]: cloud-config failed schema validation! You may run 'sudo cloud-init schema --system' to check the details. 2026-08-31 20:51:53,386 - schema.py[WARNING]: cloud-config failed schema validation! You may run 'sudo cloud-init schema --system' to check the details. 2026-08-31 20:51:53,386 - schema.py[WARNING]: cloud-config failed schema validation! You may run 'sudo cloud-init schema --system' to check the details. 2026-08-31 20:51:53,386 - schema.py[WARNING]: cloud-config failed schema validation! You may run 'sudo cloud-init schema --system' to check the details. 2026-08-31 20:51:53,386 - schema.py[WARNING]: cloud-config failed schema validation! You may run 'sudo cloud-init schema --system' to check the details. 2026-08-31 20:51:53,386 - schema.py[WARNING]: cloud-config failed schema validation! You may run 'sudo cloud-init schema --system' to check the details. 2026-08-31 20:51:53,386 - schema.py[WARNING]: cloud-config failed schema validation! You may run 'sudo cloud-init schema --system' to check the details. 2026-08-31 20:51:53,386 - schema.py[WARNING]: cloud-config failed schema validation! You may run 'sudo cloud-init schema --system' to check the details. 2026-08-31 20:51:53,386 - schema.py[WARNING]: cloud-config failed schema validation! You may run 'sudo cloud-init schema --system' to check the details. 2026-08-31 20:51:53,386 - schema.py[WARNING]: cloud-config failed schema validation! You may run 'sudo cloud-init schema --system' to check the details. 2026-08-31 20:51:53,386 - schema.py[WARNING]: cloud-config failed schema validation! You may run 'sudo cloud-init schema --system' to check the details. 2026-08-31 20:51:53,386 - schema.py[WARNING]: cloud-config failed schema validation! You may run 'sudo cloud-init schema --system' to check the details. 2026-08-31 20:51:53,386 - schema.py[WARNING]: cloud-config failed schema validation! You may run 'sudo cloud-init schema --system' to check the details. 2026-08-31 20:51:53,386 - schema.py[WARNING]: cloud-config failed schema validation! You may run 'sudo cloud-init schema --system' to check the details. 2026-08-31 20:51:53,386 - schema.py[WARNING]: cloud-config failed schema validation! You may run 'sudo cloud-init schema --system' to check the details. 2026-08-31 20:51:53,386 - schema.py[WARNING]: cloud-config failed schema validation! You may run 'sudo cloud-init schema --system' to check the details. 2026-08-31 20:51:53,386 - schema.py[WARNING]: cloud-config failed schema validation! You may run 'sudo cloud-init schema --system' to check the details. 2026-08-31 20:51:53,386 - schema.py[WARNING]: cloud-config failed schema validation! You may run 'sudo cloud-init schema --system' to check the details. 2026-08-31 20:51:53,386 - schema.py[WARNING]: cloud-config failed schema validation! You may run 'sudo cloud-init schema --system' to check the details. 2026-08-31 20:51:53,386 - schema.py[WARNING]: cloud-config failed schema validation! You may run 'sudo cloud-init schema --system' to check the details. 2026-08-31 20:51:53,386 - schema.py[WARNING]: cloud-config failed schema validation! You may run 'sudo cloud-init schema --system' to check the details. 2026-08-31 20:51:53,386 - schema.py[WARNING]: cloud-config failed schema validation! You may run 'sudo cloud-init schema --system' to check the details. 2026-08-31 20:51:53,386 - schema.py[WARNING]: cloud-config failed schema validation! You may run 'sudo cloud-init schema --system' to check the details. FALLBACK: 2026-08-31 20:51:53,389 - performance.py[DEBUG]: Validating schema took 0.011 seconds FALLBACK: 2026-08-31 20:51:53,389 - performance.py[DEBUG]: Validating schema took 0.011 seconds FALLBACK: 2026-08-31 20:51:53,389 - performance.py[DEBUG]: Validating schema took 0.011 seconds FALLBACK: 2026-08-31 20:51:53,389 - performance.py[DEBUG]: Validating schema took 0.011 seconds 2026-08-31 20:51:53,389 - performance.py[DEBUG]: Validating schema took 0.011 seconds 2026-08-31 20:51:53,389 - performance.py[DEBUG]: Validating schema took 0.011 seconds 2026-08-31 20:51:53,389 - performance.py[DEBUG]: Validating schema took 0.011 seconds 2026-08-31 20:51:53,389 - performance.py[DEBUG]: Validating schema took 0.011 seconds 2026-08-31 20:51:53,389 - performance.py[DEBUG]: Validating schema took 0.011 seconds 2026-08-31 20:51:53,389 - performance.py[DEBUG]: Validating schema took 0.011 seconds 2026-08-31 20:51:53,389 - performance.py[DEBUG]: Validating schema took 0.011 seconds 2026-08-31 20:51:53,389 - performance.py[DEBUG]: Validating schema took 0.011 seconds 2026-08-31 20:51:53,389 - performance.py[DEBUG]: Validating schema took 0.011 seconds 2026-08-31 20:51:53,389 - performance.py[DEBUG]: Validating schema took 0.011 seconds 2026-08-31 20:51:53,389 - performance.py[DEBUG]: Validating schema took 0.011 seconds 2026-08-31 20:51:53,389 - performance.py[DEBUG]: Validating schema took 0.011 seconds 2026-08-31 20:51:53,389 - performance.py[DEBUG]: Validating schema took 0.011 seconds 2026-08-31 20:51:53,389 - performance.py[DEBUG]: Validating schema took 0.011 seconds 2026-08-31 20:51:53,389 - performance.py[DEBUG]: Validating schema took 0.011 seconds 2026-08-31 20:51:53,389 - performance.py[DEBUG]: Validating schema took 0.011 seconds 2026-08-31 20:51:53,389 - performance.py[DEBUG]: Validating schema took 0.011 seconds 2026-08-31 20:51:53,389 - performance.py[DEBUG]: Validating schema took 0.011 seconds 2026-08-31 20:51:53,389 - performance.py[DEBUG]: Validating schema took 0.011 seconds 2026-08-31 20:51:53,389 - performance.py[DEBUG]: Validating schema took 0.011 seconds 2026-08-31 20:51:53,389 - performance.py[DEBUG]: Validating schema took 0.011 seconds 2026-08-31 20:51:53,389 - performance.py[DEBUG]: Validating schema took 0.011 seconds 2026-08-31 20:51:53,389 - performance.py[DEBUG]: Validating schema took 0.011 seconds 2026-08-31 20:51:53,389 - performance.py[DEBUG]: Validating schema took 0.011 seconds 2026-08-31 20:51:53,389 - performance.py[DEBUG]: Validating schema took 0.011 seconds ------------------------------ Captured log call ------------------------------- 2026-08-31 20:51:53 WARNING cloudinit.config.schema:schema.py:841 cloud-config failed schema validation! You may run 'sudo cloud-init schema --system' to check the details. 2026-08-31 20:51:53 DEBUG cloudinit.performance:performance.py:64 Validating schema took 0.011 seconds =============================== warnings summary =============================== ../../../../usr/lib/python3.14/site-packages/_pytest/python.py:124 /usr/lib/python3.14/site-packages/_pytest/python.py:124: PytestRemovedIn10Warning: Passing a non-Collection iterable to parametrize is deprecated. Test: tests/unittests/cmd/devel/test_net_convert.py::TestNetConvert::test_argparse_error_on_missing_args, argvalues type: combinations Please convert to a list or tuple. See https://docs.pytest.org/en/stable/deprecations.html#parametrize-iterators metafunc.parametrize(*marker.args, **marker.kwargs, _param_mark=marker) ../../../../usr/lib/python3.14/site-packages/_pytest/python.py:124 /usr/lib/python3.14/site-packages/_pytest/python.py:124: PytestRemovedIn10Warning: Passing a non-Collection iterable to parametrize is deprecated. Test: tests/unittests/config/test_schema.py::TestMain::test_main_exclusive_args, argvalues type: combinations Please convert to a list or tuple. See https://docs.pytest.org/en/stable/deprecations.html#parametrize-iterators metafunc.parametrize(*marker.args, **marker.kwargs, _param_mark=marker) ../../../../usr/lib/python3.14/site-packages/_pytest/python.py:124 /usr/lib/python3.14/site-packages/_pytest/python.py:124: PytestRemovedIn10Warning: Passing a non-Collection iterable to parametrize is deprecated. Test: tests/unittests/config/test_schema.py::TestSchemaDocExamples::test_cloud_config_schema_doc_examples, argvalues type: generator Please convert to a list or tuple. See https://docs.pytest.org/en/stable/deprecations.html#parametrize-iterators metafunc.parametrize(*marker.args, **marker.kwargs, _param_mark=marker) ../../../../usr/lib/python3.14/site-packages/_pytest/python.py:124 /usr/lib/python3.14/site-packages/_pytest/python.py:124: PytestRemovedIn10Warning: Passing a non-Collection iterable to parametrize is deprecated. Test: tests/unittests/config/test_schema.py::TestSchemaDocExamples::test_network_config_schema_v1_doc_examples, argvalues type: generator Please convert to a list or tuple. See https://docs.pytest.org/en/stable/deprecations.html#parametrize-iterators metafunc.parametrize(*marker.args, **marker.kwargs, _param_mark=marker) ../../../../usr/lib/python3.14/site-packages/_pytest/python.py:124 /usr/lib/python3.14/site-packages/_pytest/python.py:124: PytestRemovedIn10Warning: Passing a non-Collection iterable to parametrize is deprecated. Test: tests/unittests/config/test_schema.py::TestSchemaDocExamples::test_network_config_schema_v2_doc_examples, argvalues type: generator Please convert to a list or tuple. See https://docs.pytest.org/en/stable/deprecations.html#parametrize-iterators metafunc.parametrize(*marker.args, **marker.kwargs, _param_mark=marker) tests/unittests/test_upgrade.py::TestUpgrade::test_pkl_load_defines_all_init_side_effect_attributes[focal-20.3-2-g371b392c-0ubuntu1~20.04.1.pkl] tests/unittests/test_upgrade.py::TestUpgrade::test_pkl_load_defines_all_init_side_effect_attributes[focal-azure-20.1-10-g71af48df-0ubuntu5.pkl] tests/unittests/test_upgrade.py::TestUpgrade::test_pkl_load_defines_all_init_side_effect_attributes[focal-20.1-10-g71af48df-0ubuntu5.pkl] tests/unittests/test_upgrade.py::TestUpgrade::test_pkl_load_defines_all_init_side_effect_attributes[trusty-14.04.1-0.7.5.pkl] /usr/lib/python3.14/site-packages/_pytest/fixtures.py:1312: PytestRemovedIn10Warning: Class-scoped fixture defined as instance method is deprecated. Instance attributes set in this fixture will NOT be visible to test methods, as each test gets a new instance while the fixture runs only once per class. Use @classmethod decorator and set attributes on cls instead. See https://docs.pytest.org/en/stable/deprecations.html#class-scoped-fixture-as-instance-method fixturefunc = resolve_fixture_function(fixturedef, request) -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html =========================== short test summary info ============================ FAILED tests/unittests/config/test_schema.py::TestValidateCloudConfigSchema::test_validateconfig_schema_non_strict_emits_warnings - ValueError: too many values to unpack (expected 1, got 2) FAILED tests/unittests/config/test_schema.py::TestValidateCloudConfigSchema::test_validateconfig_schema_sensitive - ValueError: too many values to unpack (expected 1, got 2) = 2 failed, 5704 passed, 8 skipped, 29 deselected, 13 xfailed, 9 warnings in 785.78s (0:13:05) = ==> ERROR: A failure occurred in check().  Aborting... ==> ERROR: Build failed, check /var/lib/archbuild/extra-riscv64/felix-0/build receiving incremental file list cloud-init-26.2-1-riscv64-build.log cloud-init-26.2-1-riscv64-check.log sent 62 bytes received 69,423 bytes 27,794.00 bytes/sec total size is 730,544 speedup is 10.51