Skip to content

Commit

Permalink
Add a new test to check that extras pkgs can be installed
Browse files Browse the repository at this point in the history
This test gets a list of extra packages from
https://reports.xcp-ng.org/<xcp-ng-version>/extra_installable.txt
and checks that:
- the package is available and dependencies resolved using
  yumdownloader
- all packages can be installed. Before installing packages it
  saves the yum state and restores it after the installation.

Signed-off-by: Guillaume <[email protected]>
  • Loading branch information
gthvn1 committed Jul 18, 2023
1 parent dfc8a7e commit 7719f16
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 0 deletions.
12 changes: 12 additions & 0 deletions tests/packages/extra/conftest.py
Original file line number Diff line number Diff line change
@@ -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()
11 changes: 11 additions & 0 deletions tests/packages/extra/test_extra_group_pkgs.py
Original file line number Diff line number Diff line change
@@ -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)

0 comments on commit 7719f16

Please sign in to comment.