diff --git a/tests/packages/extra/conftest.py b/tests/packages/extra/conftest.py new file mode 100644 index 000000000..b67b56356 --- /dev/null +++ b/tests/packages/extra/conftest.py @@ -0,0 +1,12 @@ +import logging +import pytest +import urllib.request + +@pytest.fixture(scope="session") +def extra_pkgs(host): + version = host.xcp_version + url = f"https://reports.xcp-ng.org/{version}/extra_installable.txt" + + logging.info(f"Getting extra packages from {url}") + response = urllib.request.urlopen(url) + return response.read().decode('utf-8').splitlines() diff --git a/tests/packages/extra/test_extra_group_pkgs.py b/tests/packages/extra/test_extra_group_pkgs.py new file mode 100644 index 000000000..f590242be --- /dev/null +++ b/tests/packages/extra/test_extra_group_pkgs.py @@ -0,0 +1,11 @@ +# Explicitly import package-scoped fixtures (see explanation in pkgfixtures.py) +from pkgfixtures import host_with_saved_yum_state + +def test_extra_group_packages_url_resolved(host, extra_pkgs): + for p in extra_pkgs: + host.ssh(['yumdownloader', '--resolve', '--urls', p]) + +def test_extra_group_packages_can_be_installed(host_with_saved_yum_state, extra_pkgs): + # Just try to install all packages together. Installing them one by one + # takes too much time due to the generation of the initrd. + host_with_saved_yum_state.yum_install(extra_pkgs)