[PATCH] Fix running of nosetests on python 3

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxxx>
---
 setup.py | 17 ++++++++++++++++-
 1 file changed, 16 insertions(+), 1 deletion(-)

This is technically a CI build breaker fix for rawhide, but it
could do with review so I've not pushed it yet.

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):
-- 
2.9.3

--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list



[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]
  Powered by Linux