From 0a5a13afb8c12a8f4c84aa3e84d1325d43567029 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sun, 3 Jul 2016 10:10:28 +0530 Subject: [PATCH] Better exclusion rule for libusb test --- src/calibre/test_build.py | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/src/calibre/test_build.py b/src/calibre/test_build.py index 1474f926e6..3298ac55a2 100644 --- a/src/calibre/test_build.py +++ b/src/calibre/test_build.py @@ -68,14 +68,13 @@ class BuildTest(unittest.TestCase): # C++ name mangling incompatibilities preventing some modules # from loading exclusions.update(set('podofo'.split())) - else: - # libusb fails to initialize in the travis container - exclusions.update(set('libusb libmtp'.split())) + if islinux and (not os.path.exists('/dev/bus/usb') and not os.path.exists('/proc/bus/usb')): + # libusb fails to initialize in containers without USB subsystems + exclusions.update(set('libusb libmtp'.split())) for name in plugins: if name in exclusions: - if not isosx: - # libusb fails to initialize on travis, so just check that the - # DLL can be loaded + if name in ('libusb', 'libmtp'): + # Just check that the DLL can be loaded ctypes.CDLL(os.path.join(sys.extensions_location, name + ('.dylib' if isosx else '.so'))) continue mod, err = plugins[name] @@ -244,7 +243,7 @@ class TestRunner(unittest.main): self.test = find_tests() def test(): - result = TestRunner(verbosity=2, buffer=True, catchbreak=True, failfast=True, argv=sys.argv[:1], exit=False).result + result = TestRunner(verbosity=2, buffer=True, catchbreak=True, failfast=False, argv=sys.argv[:1], exit=False).result if not result.wasSuccessful(): raise SystemExit(1)