mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Fix build test failures on travis
This commit is contained in:
parent
60814b0589
commit
6ffc59ead5
@ -6,12 +6,14 @@ env:
|
|||||||
before_install:
|
before_install:
|
||||||
- sudo add-apt-repository -y ppa:fkrull/deadsnakes-python2.7
|
- sudo add-apt-repository -y ppa:fkrull/deadsnakes-python2.7
|
||||||
- sudo apt-get -qq update
|
- sudo apt-get -qq update
|
||||||
- sudo apt-get install -qq -y python-dev python-imaging python-mechanize python-lxml python-dateutil python-cssutils python-dnspython poppler-utils libpodofo-dev libwmf-dev libchm-dev libicu-dev libmtp-dev python-netifaces python-psutil python-apsw python-dbus python-pygments optipng qtbase5-private-dev libqt5webkit5-dev libqt5x11extras5-dev libqt5svg5-dev qt5-default libfontconfig1-dev libssl-dev libsqlite3-dev libudev-dev libxrender-dev
|
- sudo apt-get install -qq -y python-dev python-imaging python-mechanize python-lxml python-dateutil python-cssutils python-dnspython poppler-utils libpodofo-dev libwmf-dev libchm-dev libicu-dev libmtp-dev python-netifaces python-psutil python-apsw python-dbus python-pygments qtbase5-private-dev libqt5webkit5-dev libqt5x11extras5-dev libqt5svg5-dev qt5-default libfontconfig1-dev libssl-dev libsqlite3-dev libudev-dev libxrender-dev libjpeg-progs
|
||||||
- curl https://download.calibre-ebook.com/travis/sw.tar.xz | tar xJ -C $HOME
|
- curl https://download.calibre-ebook.com/travis/sw.tar.xz | tar xJ -C $HOME
|
||||||
- python setup.py bootstrap --ephemeral
|
- python setup.py bootstrap --ephemeral
|
||||||
script: python setup.py test
|
script: python setup.py test
|
||||||
|
|
||||||
# Commands used to build sip and PyQt5 (as trusty has no python 2 PyQt packages)
|
# Commands used to build optipng, sip and PyQt5 (as trusty has no python 2 PyQt packages)
|
||||||
|
# optipng:
|
||||||
|
# ./configure --prefix=/home/kovid/sw && make -j2 && make install
|
||||||
# Sip:
|
# Sip:
|
||||||
# python configure.py -b ~/sw/bin -d ~/sw/lib/python2.7/dist-packages -e ~/sw/include/python2.7 -v ~/sw/share/sip && make -j2 && make install
|
# python configure.py -b ~/sw/bin -d ~/sw/lib/python2.7/dist-packages -e ~/sw/include/python2.7 -v ~/sw/share/sip && make -j2 && make install
|
||||||
# PyQt (we cannot build the webkit module as Qt is too old):
|
# PyQt (we cannot build the webkit module as Qt is too old):
|
||||||
|
@ -14,6 +14,7 @@ Test a binary calibre build to ensure that all needed binary images/libraries ha
|
|||||||
|
|
||||||
import os, ctypes, sys, unittest
|
import os, ctypes, sys, unittest
|
||||||
from calibre.constants import plugins, iswindows, islinux, isosx
|
from calibre.constants import plugins, iswindows, islinux, isosx
|
||||||
|
is_travis = os.environ.get('TRAVIS') == 'true'
|
||||||
|
|
||||||
class BuildTest(unittest.TestCase):
|
class BuildTest(unittest.TestCase):
|
||||||
|
|
||||||
@ -31,11 +32,12 @@ class BuildTest(unittest.TestCase):
|
|||||||
@unittest.skipUnless(islinux, 'DBUS only used on linux')
|
@unittest.skipUnless(islinux, 'DBUS only used on linux')
|
||||||
def test_dbus(self):
|
def test_dbus(self):
|
||||||
import dbus
|
import dbus
|
||||||
bus = dbus.SystemBus()
|
if 'DISPLAY' in os.environ:
|
||||||
self.assertTrue(bus.list_names(), 'Failed to list names on the system bus')
|
bus = dbus.SystemBus()
|
||||||
bus = dbus.SessionBus()
|
self.assertTrue(bus.list_names(), 'Failed to list names on the system bus')
|
||||||
self.assertTrue(bus.list_names(), 'Failed to list names on the session bus')
|
bus = dbus.SessionBus()
|
||||||
del bus
|
self.assertTrue(bus.list_names(), 'Failed to list names on the session bus')
|
||||||
|
del bus
|
||||||
|
|
||||||
def test_regex(self):
|
def test_regex(self):
|
||||||
import regex
|
import regex
|
||||||
@ -58,6 +60,8 @@ class BuildTest(unittest.TestCase):
|
|||||||
|
|
||||||
def test_plugins(self):
|
def test_plugins(self):
|
||||||
for name in plugins:
|
for name in plugins:
|
||||||
|
if is_travis and name in ('libusb', 'libmtp'):
|
||||||
|
continue
|
||||||
mod, err = plugins[name]
|
mod, err = plugins[name]
|
||||||
self.assertFalse(err or not mod, 'Failed to load plugin: ' + name + ' with error:\n' + err)
|
self.assertFalse(err or not mod, 'Failed to load plugin: ' + name + ' with error:\n' + err)
|
||||||
|
|
||||||
@ -111,18 +115,19 @@ class BuildTest(unittest.TestCase):
|
|||||||
test()
|
test()
|
||||||
|
|
||||||
from calibre.gui2 import Application
|
from calibre.gui2 import Application
|
||||||
from PyQt5.Qt import (QImageReader, QNetworkAccessManager, QFontDatabase)
|
from PyQt5.Qt import QImageReader, QNetworkAccessManager, QFontDatabase
|
||||||
from PyQt5.QtWebKitWidgets import QWebView
|
|
||||||
os.environ.pop('DISPLAY', None)
|
os.environ.pop('DISPLAY', None)
|
||||||
app = Application([], headless=islinux)
|
app = Application([], headless=islinux)
|
||||||
self.assertGreaterEqual(len(QFontDatabase().families()), 5, 'The QPA headless plugin is not able to locate enough system fonts via fontconfig')
|
self.assertGreaterEqual(len(QFontDatabase().families()), 5, 'The QPA headless plugin is not able to locate enough system fonts via fontconfig')
|
||||||
fmts = set(map(unicode, QImageReader.supportedImageFormats()))
|
fmts = set(map(unicode, QImageReader.supportedImageFormats()))
|
||||||
testf = set(['jpg', 'png', 'svg', 'ico', 'gif'])
|
testf = {'jpg', 'png', 'svg', 'ico', 'gif'}
|
||||||
self.assertEqual(testf.intersection(fmts), testf, "Qt doesn't seem to be able to load its image plugins")
|
self.assertEqual(testf.intersection(fmts), testf, "Qt doesn't seem to be able to load its image plugins")
|
||||||
QWebView()
|
|
||||||
del QWebView
|
|
||||||
na = QNetworkAccessManager()
|
na = QNetworkAccessManager()
|
||||||
self.assertTrue(hasattr(na, 'sslErrors'), 'Qt not compiled with openssl')
|
self.assertTrue(hasattr(na, 'sslErrors'), 'Qt not compiled with openssl')
|
||||||
|
if not is_travis:
|
||||||
|
from PyQt5.QtWebKitWidgets import QWebView
|
||||||
|
QWebView()
|
||||||
|
del QWebView
|
||||||
del na
|
del na
|
||||||
del app
|
del app
|
||||||
|
|
||||||
@ -195,10 +200,6 @@ class BuildTest(unittest.TestCase):
|
|||||||
from calibre.library.comments import sanitize_html
|
from calibre.library.comments import sanitize_html
|
||||||
sanitize_html(b'''<script>moo</script>xxx<img src="http://moo.com/x.jpg">''')
|
sanitize_html(b'''<script>moo</script>xxx<img src="http://moo.com/x.jpg">''')
|
||||||
|
|
||||||
def test_image_compression(self):
|
|
||||||
from calibre.utils.img import test
|
|
||||||
test()
|
|
||||||
|
|
||||||
def test_openssl(self):
|
def test_openssl(self):
|
||||||
import ssl
|
import ssl
|
||||||
ssl.PROTOCOL_TLSv1_2
|
ssl.PROTOCOL_TLSv1_2
|
||||||
|
Loading…
x
Reference in New Issue
Block a user