Commit a99e9fe2 authored by Daniel P. Berrange's avatar Daniel P. Berrange

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
Signed-off-by: 's avatarDaniel P. Berrange <>
parent c0786508
......@@ -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],
"/usr/bin/nosetests-%d" % (sys.version_info[0]),
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):
os.environ["PYTHONPATH"] = self.build_platlib
self.spawn([sys.executable, "", 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):
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment