summaryrefslogtreecommitdiff
path: root/setup.py
diff options
context:
space:
mode:
authorDaniel P. Berrange <berrange@redhat.com>2016-12-14 10:58:52 +0000
committerDaniel P. Berrange <berrange@redhat.com>2016-12-14 10:58:52 +0000
commita99e9fe20ebce4fa208cc0f0599830facf1cc06c (patch)
tree36f6977f6be304432905e3e0804844f2f4baf795 /setup.py
parentc07865087689cd225b6b79e3c5d8359f72320904 (diff)
downloadlibvirt-python-a99e9fe20ebce4fa208cc0f0599830facf1cc06c.tar.gz
Fix running of nosetests on python 3
Previously the way Fedora installed /usr/bin/nosetests allowed it to be invoked with either python 2 or 3. Since Fedora 25 though, it contains a module name that only exists on python 2. So we need to be more intelligent and pick a different nosetests binary per version. Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
Diffstat (limited to 'setup.py')
-rwxr-xr-xsetup.py17
1 files changed, 16 insertions, 1 deletions
diff --git a/setup.py b/setup.py
index bbcfe87..0d65763 100755
--- a/setup.py
+++ b/setup.py
@@ -277,6 +277,20 @@ class my_test(Command):
self.build_platlib = os.path.join(self.build_base,
'lib' + plat_specifier)
+ def find_nosetests_path(self):
+ paths = [
+ "/usr/bin/nosetests-%d.%d" % (sys.version_info[0],
+ sys.version_info[1]),
+ "/usr/bin/nosetests-%d" % (sys.version_info[0]),
+ "/usr/bin/nosetests",
+ ]
+
+ for path in paths:
+ if os.path.exists(path):
+ return path
+
+ raise Exception("Cannot find any nosetests binary")
+
def run(self):
"""
Run test suite
@@ -289,7 +303,8 @@ class my_test(Command):
else:
os.environ["PYTHONPATH"] = self.build_platlib
self.spawn([sys.executable, "sanitytest.py", self.build_platlib, apis[0]])
- self.spawn([sys.executable, "/usr/bin/nosetests"])
+ nose = self.find_nosetests_path()
+ self.spawn([sys.executable, nose])
class my_clean(clean):