diff mbox series

[v2,1/1] ubuntu_lxc: lxc-tests is deprecated - fetch tests from origin

Message ID 20180530052534.16613-1-khalid.elmously@canonical.com
State New
Headers show
Series [v2,1/1] ubuntu_lxc: lxc-tests is deprecated - fetch tests from origin | expand

Commit Message

Khalid Elmously May 30, 2018, 5:25 a.m. UTC
From: Khalid El Mously <khalid.elmously@canonical.com>

BugLink: https://bugs.launchpad.net/bugs/1772507

The lxc-tests package doesn't exist in Bionic and later. For those releases, clone the 'lxc' repo from github and copy the tests to /usr/bin

Tested on Xenial and Bionic


Signed-off-by: Khalid Elmously <khalid.elmously@canonical.com>
---
 ubuntu_lxc/ubuntu_lxc.py | 13 ++++++++++---
 1 file changed, 10 insertions(+), 3 deletions(-)

Comments

Po-Hsu Lin June 1, 2018, 10:59 a.m. UTC | #1
This patch is good, but I just found that not all test binaries were
pre-built there.

Compare the test result from Artful, there are 39 tests shipped by the
lxc-test package, but only 10 pre-built executables from the repo.

Consider this can be fixed in the next step, I will give my ack here.
Thanks.

Acked-by: Po-Hsu Lin <po-hsu.lin@canonical.com>
diff mbox series

Patch

diff --git a/ubuntu_lxc/ubuntu_lxc.py b/ubuntu_lxc/ubuntu_lxc.py
index 7bdd1996..38aaf829 100644
--- a/ubuntu_lxc/ubuntu_lxc.py
+++ b/ubuntu_lxc/ubuntu_lxc.py
@@ -7,19 +7,26 @@  class ubuntu_lxc(test.test):
     version = 1
 
     def install_required_pkgs(self):
-        arch   = platform.processor()
         series = platform.dist()[2]
 
         pkgs = [
-            'lxc-tests',
             'liblxc1'
         ]
 
-        cmd = 'apt-get install --yes --force-yes ' + ' '.join(pkgs)
+        if series in ['precise', 'trusty', 'xenial', 'artful']:
+            pkgs.append('lxc-tests')
+        else:
+            pkgs.append('lxc-utils')
+
+        cmd = 'apt-get install --yes ' + ' '.join(pkgs)
         self.results = utils.system_output(cmd, retain_output=True)
 
     def initialize(self):
         self.install_required_pkgs()
+        series = platform.dist()[2]
+        if series not in ['precise', 'trusty', 'xenial', 'artful']:
+            self.results = utils.system_output('git clone https://github.com/lxc/lxc.git', retain_output=True)
+            self.results = utils.system_output('sudo find lxc/src/tests -type f -name "lxc-test-*" -executable -exec cp {} /usr/bin/ \;', retain_output=True)
 
     def run_once(self, test_name):
         cmd = '/bin/sh %s/exercise' % self.bindir