From b49cb21a3ec7f766665bd1d8ab0f21cdf62d3e5e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Hozza?= Date: Tue, 6 Aug 2024 16:48:21 +0200 Subject: [PATCH] test_depsolve.py: test depsolving a package group with excludes MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add a test case for depsolving a package group with specific optional packages of the group being excluded. This is a common scenario in many image definitions. Signed-off-by: Tomáš Hozza --- tools/test/test_depsolve.py | 333 ++++++++++++++++++++++++++++++++++++ 1 file changed, 333 insertions(+) diff --git a/tools/test/test_depsolve.py b/tools/test/test_depsolve.py index 44e4f36a..e8218c65 100644 --- a/tools/test/test_depsolve.py +++ b/tools/test/test_depsolve.py @@ -1,3 +1,5 @@ +# pylint: disable=too-many-lines + import configparser import json import os @@ -501,6 +503,337 @@ test_cases = [ }, } }, + { + "id": "basic_pkg_group_with_excludes", + "transactions": [ + { + "package-specs": [ + "@core", + ], + "exclude-specs": [ + "dracut-config-rescue", + "iwl1000-firmware", + "iwl100-firmware", + "iwl105-firmware", + "iwl135-firmware", + "iwl2000-firmware", + "iwl2030-firmware", + "iwl3160-firmware", + "iwl5000-firmware", + "iwl5150-firmware", + "iwl6000g2a-firmware", + "iwl6050-firmware", + "iwl7260-firmware", + ] + }, + ], + "results": { + "packages": { + "acl", + "alternatives", + "attr", + "audit", + "audit-libs", + "authselect", + "authselect-libs", + "basesystem", + "bash", + "binutils", + "binutils-gold", + "bzip2-libs", + "ca-certificates", + "c-ares", + "centos-gpg-keys", + "centos-stream-release", + "centos-stream-repos", + "coreutils", + "coreutils-common", + "cpio", + "cracklib", + "cracklib-dicts", + "cronie", + "cronie-anacron", + "crontabs", + "crypto-policies", + "crypto-policies-scripts", + "cryptsetup-libs", + "curl", + "cyrus-sasl-lib", + "dbus", + "dbus-broker", + "dbus-common", + "dbus-libs", + "device-mapper", + "device-mapper-libs", + "diffutils", + "dnf", + "dnf-data", + "dnf-plugins-core", + "dracut", + "dracut-network", + "dracut-squash", + "e2fsprogs", + "e2fsprogs-libs", + "elfutils-debuginfod-client", + "elfutils-default-yama-scope", + "elfutils-libelf", + "elfutils-libs", + "ethtool", + "expat", + "file", + "file-libs", + "filesystem", + "findutils", + "firewalld", + "firewalld-filesystem", + "fuse-libs", + "gawk", + "gdbm-libs", + "gettext", + "gettext-libs", + "glib2", + "glibc", + "glibc-common", + "glibc-minimal-langpack", + "gmp", + "gnupg2", + "gnutls", + "gobject-introspection", + "gpgme", + "grep", + "groff-base", + "grub2-common", + "grub2-tools", + "grub2-tools-minimal", + "grubby", + "gzip", + "hostname", + "hwdata", + "ima-evm-utils", + "inih", + "initscripts-rename-device", + "initscripts-service", + "iproute", + "iproute-tc", + "ipset", + "ipset-libs", + "iptables-libs", + "iptables-nft", + "iputils", + "irqbalance", + "jansson", + "jq", + "json-c", + "kbd", + "kbd-legacy", + "kbd-misc", + "kernel-tools", + "kernel-tools-libs", + "kexec-tools", + "keyutils", + "keyutils-libs", + "kmod", + "kmod-libs", + "kpartx", + "krb5-libs", + "less", + "libacl", + "libarchive", + "libassuan", + "libattr", + "libbasicobjects", + "libblkid", + "libbpf", + "libbrotli", + "libcap", + "libcap-ng", + "libcbor", + "libcollection", + "libcom_err", + "libcomps", + "libcurl", + "libdaemon", + "libdb", + "libdhash", + "libdnf", + "libeconf", + "libedit", + "libevent", + "libfdisk", + "libffi", + "libfido2", + "libgcc", + "libgcrypt", + "libgomp", + "libgpg-error", + "libidn2", + "libini_config", + "libkcapi", + "libkcapi-hmaccalc", + "libksba", + "libldb", + "libmnl", + "libmodulemd", + "libmount", + "libndp", + "libnetfilter_conntrack", + "libnfnetlink", + "libnftnl", + "libnghttp2", + "libnl3", + "libnl3-cli", + "libpath_utils", + "libpipeline", + "libpsl", + "libpwquality", + "libref_array", + "librepo", + "libreport-filesystem", + "libseccomp", + "libselinux", + "libselinux-utils", + "libsemanage", + "libsepol", + "libsigsegv", + "libsmartcols", + "libsolv", + "libss", + "libssh", + "libssh-config", + "libsss_certmap", + "libsss_idmap", + "libsss_nss_idmap", + "libsss_sudo", + "libstdc++", + "libsysfs", + "libtalloc", + "libtasn1", + "libtdb", + "libteam", + "libtevent", + "libunistring", + "libuser", + "libutempter", + "libuuid", + "libverto", + "libxcrypt", + "libxml2", + "libyaml", + "libzstd", + "linux-firmware", + "linux-firmware-whence", + "lmdb-libs", + "logrotate", + "lshw", + "lsscsi", + "lua-libs", + "lz4-libs", + "lzo", + "man-db", + "microcode_ctl", + "mpfr", + "ncurses", + "ncurses-base", + "ncurses-libs", + "nettle", + "NetworkManager", + "NetworkManager-libnm", + "NetworkManager-team", + "NetworkManager-tui", + "newt", + "nftables", + "npth", + "numactl-libs", + "oniguruma", + "openldap", + "openssh", + "openssh-clients", + "openssh-server", + "openssl", + "openssl-libs", + "os-prober", + "p11-kit", + "p11-kit-trust", + "pam", + "parted", + "passwd", + "pciutils-libs", + "pcre", + "pcre2", + "pcre2-syntax", + "pigz", + "policycoreutils", + "popt", + "prefixdevname", + "procps-ng", + "psmisc", + "publicsuffix-list-dafsa", + "python3", + "python3-dateutil", + "python3-dbus", + "python3-dnf", + "python3-dnf-plugins-core", + "python3-firewall", + "python3-gobject-base", + "python3-gobject-base-noarch", + "python3-gpg", + "python3-hawkey", + "python3-libcomps", + "python3-libdnf", + "python3-libs", + "python3-nftables", + "python3-pip-wheel", + "python3-rpm", + "python3-setuptools-wheel", + "python3-six", + "python3-systemd", + "readline", + "rootfiles", + "rpm", + "rpm-build-libs", + "rpm-libs", + "rpm-plugin-audit", + "rpm-plugin-selinux", + "rpm-sign-libs", + "sed", + "selinux-policy", + "selinux-policy-targeted", + "setup", + "sg3_utils", + "sg3_utils-libs", + "shadow-utils", + "slang", + "snappy", + "sqlite-libs", + "squashfs-tools", + "sssd-client", + "sssd-common", + "sssd-kcm", + "sudo", + "systemd", + "systemd-libs", + "systemd-pam", + "systemd-rpm-macros", + "systemd-udev", + "teamd", + "tpm2-tss", + "tzdata", + "userspace-rcu", + "util-linux", + "util-linux-core", + "vim-minimal", + "which", + "xfsprogs", + "xz", + "xz-libs", + "yum", + "zlib", + }, + "reponames": { + "baseos", + }, + } + }, # Test that repositories not enabled for the transaction are not used # This test should result in an error because the package is not available in the enabled repositories {