mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-08-30 23:00:21 -04:00
Add build time test for executables
This commit is contained in:
parent
0b1e77dd41
commit
d9c57ad637
@ -25,6 +25,9 @@ from calibre.utils.filenames import ascii_filename as sanitize
|
|||||||
if isosx:
|
if isosx:
|
||||||
usbobserver, usbobserver_err = plugins['usbobserver']
|
usbobserver, usbobserver_err = plugins['usbobserver']
|
||||||
|
|
||||||
|
def eject_exe():
|
||||||
|
return os.path.join(os.path.dirname(sys.executable), 'calibre-eject.exe')
|
||||||
|
|
||||||
class USBDevice:
|
class USBDevice:
|
||||||
|
|
||||||
def __init__(self, dev):
|
def __init__(self, dev):
|
||||||
@ -918,8 +921,7 @@ class Device(DeviceConfig, DevicePlugin):
|
|||||||
|
|
||||||
def do_it2(drives):
|
def do_it2(drives):
|
||||||
import win32process
|
import win32process
|
||||||
EJECT = os.path.join(os.path.dirname(sys.executable), 'calibre-eject.exe')
|
subprocess.Popen([eject_exe()] + drives, creationflags=win32process.CREATE_NO_WINDOW).wait()
|
||||||
subprocess.Popen([EJECT] + drives, creationflags=win32process.CREATE_NO_WINDOW).wait()
|
|
||||||
|
|
||||||
t = Thread(target=do_it2, args=[drives])
|
t = Thread(target=do_it2, args=[drives])
|
||||||
t.daemon = True
|
t.daemon = True
|
||||||
|
@ -12,7 +12,7 @@ __docformat__ = 'restructuredtext en'
|
|||||||
Test a binary calibre build to ensure that all needed binary images/libraries have loaded.
|
Test a binary calibre build to ensure that all needed binary images/libraries have loaded.
|
||||||
'''
|
'''
|
||||||
|
|
||||||
import cStringIO, os, ctypes, shutil
|
import cStringIO, os, ctypes, shutil, sys
|
||||||
from calibre import CurrentDir
|
from calibre import CurrentDir
|
||||||
from calibre.constants import plugins, iswindows, islinux, isosx
|
from calibre.constants import plugins, iswindows, islinux, isosx
|
||||||
from calibre.ptempfile import TemporaryDirectory
|
from calibre.ptempfile import TemporaryDirectory
|
||||||
@ -214,6 +214,24 @@ def test_tokenizer():
|
|||||||
m.run_tests(for_build=True)
|
m.run_tests(for_build=True)
|
||||||
print('tinycss tokenizer OK!')
|
print('tinycss tokenizer OK!')
|
||||||
|
|
||||||
|
def test_executables():
|
||||||
|
from calibre.utils.ipc.launch import Worker
|
||||||
|
if getattr(sys, 'frozen', False):
|
||||||
|
w = Worker({})
|
||||||
|
if not os.path.exists(w.executable):
|
||||||
|
raise SystemExit('calibre-parallel (%s) does not exist' % w.executable)
|
||||||
|
if not os.path.exists(w.gui_executable):
|
||||||
|
raise SystemExit('calibre-parallel-gui (%s) does not exist' % w.gui_executable)
|
||||||
|
if iswindows:
|
||||||
|
from calibre.devices.usbms.device import eject_exe
|
||||||
|
if not os.path.exists(eject_exe()):
|
||||||
|
raise SystemExit('calibre-eject.exe (%s) does not exist' % eject_exe())
|
||||||
|
from calibre.ebooks.pdf.pdftohtml import PDFTOHTML
|
||||||
|
if not os.path.exists(PDFTOHTML):
|
||||||
|
raise SystemExit('pdftohtml (%s) does not exist' % PDFTOHTML)
|
||||||
|
|
||||||
|
print('executables OK!')
|
||||||
|
|
||||||
def test_netifaces():
|
def test_netifaces():
|
||||||
import netifaces
|
import netifaces
|
||||||
if len(netifaces.interfaces()) < 1:
|
if len(netifaces.interfaces()) < 1:
|
||||||
@ -262,6 +280,7 @@ def test():
|
|||||||
if iswindows:
|
if iswindows:
|
||||||
test_dlls()
|
test_dlls()
|
||||||
test_plugins()
|
test_plugins()
|
||||||
|
test_executables()
|
||||||
test_image_compression()
|
test_image_compression()
|
||||||
test_lzma()
|
test_lzma()
|
||||||
test_dukpy()
|
test_dukpy()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user