summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorGeorg Brandl <georg@python.org>2008-11-23 21:58:30 +0100
committerGeorg Brandl <georg@python.org>2008-11-23 21:58:30 +0100
commitb60aa04cbc1cd576fd9f0b1ae44917aa9cf63c73 (patch)
tree9a04e206dd0f41444790f2c67263932c4d90d451 /tests
parentaad01fc33b6a9a297f97adc04e6e3fadbd7544fd (diff)
downloadsphinx-b60aa04cbc1cd576fd9f0b1ae44917aa9cf63c73.tar.gz
Don't fail test suite because of missing latex packages.
Diffstat (limited to 'tests')
-rw-r--r--tests/test_build.py27
1 files changed, 27 insertions, 0 deletions
diff --git a/tests/test_build.py b/tests/test_build.py
index 2ecd6550..8ca17938 100644
--- a/tests/test_build.py
+++ b/tests/test_build.py
@@ -10,6 +10,7 @@
"""
import os
+import sys
import difflib
import htmlentitydefs
from StringIO import StringIO
@@ -129,6 +130,32 @@ def test_latex(app):
'\n'.join(difflib.ndiff(latex_warnings_exp.splitlines(),
latex_warnings.splitlines()))
+ # only run latex if all needed packages are there
+ def kpsetest(filename):
+ try:
+ p = Popen(['kpsewhich', filename], stdout=PIPE)
+ except OSError, err:
+ # no kpsewhich... either no tex distribution is installed or it is
+ # a "strange" one -- don't bother running latex
+ return None
+ else:
+ p.communicate()
+ if p.returncode != 0:
+ # not found
+ return False
+ # found
+ return True
+
+ if kpsetest('article.sty') is None:
+ print >>sys.stderr, 'info: not running latex, it doesn\'t seem to be installed'
+ return
+ for filename in ['fancyhdr.sty', 'fancybox.sty', 'titlesec.sty', 'amsmath.sty',
+ 'framed.sty', 'color.sty', 'fancyvrb.sty', 'threeparttable.sty']:
+ if not kpsetest(filename):
+ print >>sys.stderr, 'info: not running latex, the %s package doesn\'t ' \
+ 'seem to be installed' % filename
+ return
+
# now, try to run latex over it
cwd = os.getcwd()
os.chdir(app.outdir)