summaryrefslogtreecommitdiffstats
path: root/test/TEX
diff options
context:
space:
mode:
authorSteven Knight <knight@baldmt.com>2005-11-28 15:38:55 (GMT)
committerSteven Knight <knight@baldmt.com>2005-11-28 15:38:55 (GMT)
commitae34c4fe43a546089c123f99de190ff79733e848 (patch)
tree1381ee0bcb9a5a756d60de793fda0843b6faffc5 /test/TEX
parent78ed211cbfcb68bd3af0885f117bb0f75819c305 (diff)
downloadSCons-ae34c4fe43a546089c123f99de190ff79733e848.zip
SCons-ae34c4fe43a546089c123f99de190ff79733e848.tar.gz
SCons-ae34c4fe43a546089c123f99de190ff79733e848.tar.bz2
Add a TeX emitter to cover removal of .aux and .log files. (Joel B. Mohler)
Diffstat (limited to 'test/TEX')
-rw-r--r--test/TEX/LATEX.py52
-rw-r--r--test/TEX/PDFLATEX.py42
-rw-r--r--test/TEX/PDFTEX.py34
-rw-r--r--test/TEX/TEX.py38
4 files changed, 125 insertions, 41 deletions
diff --git a/test/TEX/LATEX.py b/test/TEX/LATEX.py
index a9530fc..2544696 100644
--- a/test/TEX/LATEX.py
+++ b/test/TEX/LATEX.py
@@ -24,6 +24,12 @@
__revision__ = "__FILE__ __REVISION__ __DATE__ __DEVELOPER__"
+"""
+Validate that we can set the LATEX string to our own utility, that
+the produced .dvi, .aux and .log files get removed by the -c option,
+and that we can use this to wrap calls to the real latex utility.
+"""
+
import os
import os.path
import string
@@ -41,10 +47,14 @@ import sys
import os
base_name = os.path.splitext(sys.argv[1])[0]
infile = open(sys.argv[1], 'rb')
-out_file = open(base_name+'.dvi', 'wb')
+dvi_file = open(base_name+'.dvi', 'wb')
+aux_file = open(base_name+'.aux', 'wb')
+log_file = open(base_name+'.log', 'wb')
for l in infile.readlines():
if l[0] != '\\':
- out_file.write(l)
+ dvi_file.write(l)
+ aux_file.write(l)
+ log_file.write(l)
sys.exit(0)
""")
@@ -62,11 +72,25 @@ test.write('test2.latex', r"""This is a .latex test.
\end
""")
-test.run(arguments = '.', stderr = None)
+test.run(arguments = '.')
+
+test.must_match('test1.dvi', "This is a .ltx test.\n")
+test.must_match('test1.aux', "This is a .ltx test.\n")
+test.must_match('test1.log', "This is a .ltx test.\n")
+
+test.must_match('test2.dvi', "This is a .latex test.\n")
+test.must_match('test2.aux', "This is a .latex test.\n")
+test.must_match('test2.log', "This is a .latex test.\n")
+
+test.run(arguments = '-c .')
-test.fail_test(test.read('test1.dvi') != "This is a .ltx test.\n")
+test.must_not_exist('test1.dvi')
+test.must_not_exist('test1.aux')
+test.must_not_exist('test1.log')
-test.fail_test(test.read('test2.dvi') != "This is a .latex test.\n")
+test.must_not_exist('test2.dvi')
+test.must_not_exist('test2.aux')
+test.must_not_exist('test2.log')
@@ -139,27 +163,27 @@ This is the include file.
test.write('bar.latex', latex % 'bar.latex')
- test.write('makeindex.tex', makeindex % 'makeindex.tex');
- test.write('makeindex.idx', '');
+ test.write('makeindex.tex', makeindex % 'makeindex.tex')
+ test.write('makeindex.idx', '')
test.subdir('subdir')
test.write('latexi.tex', latex1 % 'latexi.tex');
test.write([ 'subdir', 'latexincludefile.tex'], latex2)
test.run(arguments = 'foo.dvi', stderr = None)
- test.fail_test(os.path.exists(test.workpath('wrapper.out')))
- test.fail_test(not os.path.exists(test.workpath('foo.dvi')))
+ test.must_not_exist('wrapper.out')
+ test.must_exist('foo.dvi')
test.run(arguments = 'bar.dvi', stderr = None)
- test.fail_test(test.read('wrapper.out') != "wrapper.py\n")
- test.fail_test(not os.path.exists(test.workpath('bar.dvi')))
+ test.must_match('wrapper.out', "wrapper.py\n")
+ test.must_exist('bar.dvi')
test.run(arguments = 'makeindex.dvi', stderr = None)
- test.fail_test(test.read('wrapper.out') != "wrapper.py\n")
+ test.must_match('wrapper.out', "wrapper.py\n")
test.run(arguments = 'latexi.dvi', stderr = None)
- test.fail_test(not os.path.exists(test.workpath('latexi.dvi')))
- test.fail_test(not os.path.exists(test.workpath('latexi.ind')))
+ test.must_exist('latexi.dvi')
+ test.must_exist('latexi.ind')
diff --git a/test/TEX/PDFLATEX.py b/test/TEX/PDFLATEX.py
index 5dcfd0b..015db56 100644
--- a/test/TEX/PDFLATEX.py
+++ b/test/TEX/PDFLATEX.py
@@ -24,6 +24,12 @@
__revision__ = "__FILE__ __REVISION__ __DATE__ __DEVELOPER__"
+"""
+Validate that we can set the PDFLATEX string to our own utility, that
+the produced .dvi, .aux and .log files get removed by the -c option,
+and that we can use this to wrap calls to the real latex utility.
+"""
+
import os
import os.path
import string
@@ -41,10 +47,14 @@ import sys
import os
base_name = os.path.splitext(sys.argv[1])[0]
infile = open(sys.argv[1], 'rb')
-out_file = open(base_name+'.pdf', 'wb')
+pdf_file = open(base_name+'.pdf', 'wb')
+aux_file = open(base_name+'.aux', 'wb')
+log_file = open(base_name+'.log', 'wb')
for l in infile.readlines():
if l[0] != '\\':
- out_file.write(l)
+ pdf_file.write(l)
+ aux_file.write(l)
+ log_file.write(l)
sys.exit(0)
""")
@@ -62,11 +72,25 @@ test.write('test2.latex', r"""This is a .latex test.
\end
""")
-test.run(arguments = '.', stderr = None)
+test.run(arguments = '.')
+
+test.must_exist('test1.pdf')
+test.must_exist('test1.aux')
+test.must_exist('test1.log')
+
+test.must_exist('test2.pdf')
+test.must_exist('test2.aux')
+test.must_exist('test2.log')
+
+test.run(arguments = '-c .')
-test.fail_test(not os.path.exists(test.workpath('test1.pdf')))
+test.must_not_exist('test1.pdf')
+test.must_not_exist('test1.aux')
+test.must_not_exist('test1.log')
-test.fail_test(not os.path.exists(test.workpath('test2.pdf')))
+test.must_not_exist('test2.pdf')
+test.must_not_exist('test2.aux')
+test.must_not_exist('test2.log')
@@ -104,14 +128,14 @@ This is the %s LaTeX file.
test.run(arguments = 'foo.pdf', stderr = None)
- test.fail_test(os.path.exists(test.workpath('wrapper.out')))
+ test.must_not_exist('wrapper.out')
- test.fail_test(not os.path.exists(test.workpath('foo.pdf')))
+ test.must_exist('foo.pdf')
test.run(arguments = 'bar.pdf', stderr = None)
- test.fail_test(test.read('wrapper.out') != "wrapper.py\n")
+ test.must_match('wrapper.out', "wrapper.py\n")
- test.fail_test(not os.path.exists(test.workpath('bar.pdf')))
+ test.must_exist('bar.pdf')
test.pass_test()
diff --git a/test/TEX/PDFTEX.py b/test/TEX/PDFTEX.py
index fa0d839..5b99c23 100644
--- a/test/TEX/PDFTEX.py
+++ b/test/TEX/PDFTEX.py
@@ -24,6 +24,12 @@
__revision__ = "__FILE__ __REVISION__ __DATE__ __DEVELOPER__"
+"""
+Validate that we can set the PDFTEX string to our own utility, that
+the produced .dvi, .aux and .log files get removed by the -c option,
+and that we can use this to wrap calls to the real latex utility.
+"""
+
import os
import os.path
import string
@@ -41,10 +47,14 @@ import sys
import os
base_name = os.path.splitext(sys.argv[1])[0]
infile = open(sys.argv[1], 'rb')
-out_file = open(base_name+'.pdf', 'wb')
+pdf_file = open(base_name+'.pdf', 'wb')
+aux_file = open(base_name+'.aux', 'wb')
+log_file = open(base_name+'.log', 'wb')
for l in infile.readlines():
if l[0] != '\\':
- out_file.write(l)
+ pdf_file.write(l)
+ aux_file.write(l)
+ log_file.write(l)
sys.exit(0)
""")
@@ -57,9 +67,17 @@ test.write('test.tex', r"""This is a test.
\end
""")
-test.run(arguments = 'test.pdf', stderr = None)
+test.run(arguments = 'test.pdf')
+
+test.must_exist('test.pdf')
+test.must_exist('test.aux')
+test.must_exist('test.log')
+
+test.run(arguments = '-c test.pdf')
-test.fail_test(not os.path.exists(test.workpath('test.pdf')))
+test.must_not_exist('test.pdf')
+test.must_not_exist('test.aux')
+test.must_not_exist('test.log')
@@ -95,14 +113,14 @@ This is the %s TeX file.
test.run(arguments = 'foo.pdf', stderr = None)
- test.fail_test(os.path.exists(test.workpath('wrapper.out')))
+ test.must_not_exist('wrapper.out')
- test.fail_test(not os.path.exists(test.workpath('foo.pdf')))
+ test.must_exist('foo.pdf')
test.run(arguments = 'bar.pdf', stderr = None)
- test.fail_test(not os.path.exists(test.workpath('wrapper.out')))
+ test.must_exist('wrapper.out')
- test.fail_test(not os.path.exists(test.workpath('bar.pdf')))
+ test.must_exist('bar.pdf')
test.pass_test()
diff --git a/test/TEX/TEX.py b/test/TEX/TEX.py
index a970822..4645c7c 100644
--- a/test/TEX/TEX.py
+++ b/test/TEX/TEX.py
@@ -24,6 +24,12 @@
__revision__ = "__FILE__ __REVISION__ __DATE__ __DEVELOPER__"
+"""
+Validate that we can set the TEX string to our own utility, that
+the produced .dvi, .aux and .log files get removed by the -c option,
+and that we can use this to wrap calls to the real latex utility.
+"""
+
import os
import os.path
import string
@@ -41,10 +47,14 @@ import sys
import os
base_name = os.path.splitext(sys.argv[1])[0]
infile = open(sys.argv[1], 'rb')
-out_file = open(base_name+'.dvi', 'wb')
+dvi_file = open(base_name+'.dvi', 'wb')
+aux_file = open(base_name+'.aux', 'wb')
+log_file = open(base_name+'.log', 'wb')
for l in infile.readlines():
if l[0] != '\\':
- out_file.write(l)
+ dvi_file.write(l)
+ aux_file.write(l)
+ log_file.write(l)
sys.exit(0)
""")
@@ -57,9 +67,17 @@ test.write('test.tex', r"""This is a test.
\end
""")
-test.run(arguments = 'test.dvi', stderr = None)
+test.run(arguments = 'test.dvi')
+
+test.must_match('test.dvi', "This is a test.\n")
+test.must_match('test.aux', "This is a test.\n")
+test.must_match('test.log', "This is a test.\n")
+
+test.run(arguments = '-c test.dvi')
-test.fail_test(test.read('test.dvi') != "This is a test.\n")
+test.must_not_exist('test.dvi')
+test.must_not_exist('test.aux')
+test.must_not_exist('test.log')
@@ -145,14 +163,14 @@ Run \texttt{latex}, then \texttt{bibtex}, then \texttt{latex} twice again \cite{
test.write('test.bib', bib)
test.run(arguments = 'foo.dvi foo-latex.dvi', stderr = None)
- test.fail_test(os.path.exists(test.workpath('wrapper.out')))
- test.fail_test(not os.path.exists(test.workpath('foo.dvi')))
- test.fail_test(not os.path.exists(test.workpath('foo-latex.dvi')))
+ test.must_not_exist('wrapper.out')
+ test.must_exist('foo.dvi')
+ test.must_exist('foo-latex.dvi')
test.run(arguments = 'bar.dvi bar-latex.dvi', stderr = None)
- test.fail_test(not os.path.exists(test.workpath('wrapper.out')))
- test.fail_test(not os.path.exists(test.workpath('bar.dvi')))
- test.fail_test(not os.path.exists(test.workpath('bar-latex.dvi')))
+ test.must_exist('wrapper.out')
+ test.must_exist('bar.dvi')
+ test.must_exist('bar-latex.dvi')
test.run(stderr = None)
output_lines = string.split(test.stdout(), '\n')