5 # Permission is hereby granted, free of charge, to any person obtaining
6 # a copy of this software and associated documentation files (the
7 # "Software"), to deal in the Software without restriction, including
8 # without limitation the rights to use, copy, modify, merge, publish,
9 # distribute, sublicense, and/or sell copies of the Software, and to
10 # permit persons to whom the Software is furnished to do so, subject to
11 # the following conditions:
13 # The above copyright notice and this permission notice shall be included
14 # in all copies or substantial portions of the Software.
16 # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
17 # KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
18 # WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19 # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20 # LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21 # OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22 # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
25 __revision__
= "__FILE__ __REVISION__ __DATE__ __DEVELOPER__"
28 Test creation of a Tex document that uses the multibib oackage
30 Test courtesy Rob Managan.
37 test
= TestSCons
.TestSCons()
39 latex
= test
.where_is('pdflatex')
41 test
.skip_test("Could not find 'pdflatex'; skipping test.\n")
43 biber
= test
.where_is('biber')
45 test
.skip_test("Could not find 'biber'; skipping test.\n")
47 cp
= subprocess
.run('kpsewhich biblatex.sty', shell
=True)
49 test
.skip_test("biblatex.sty not installed; skipping test(s).\n")
52 test
.write(['SConstruct'], """\
54 env = Environment(ENV=os.environ)
55 env['BIBTEX'] = 'biber'
56 main_output = env.PDF('bibertest.tex')
60 sources_bib_content
= r
"""
65 publisher={Publisher},
68 test
.write(['ref.bib'],sources_bib_content
% '2013' )
70 test
.write(['bibertest.tex'],r
"""
71 \documentclass{article}
73 \usepackage[backend=biber]{biblatex}
74 \addbibresource{ref.bib}
78 Hello. This is boring.
90 # All (?) the files we expect will get created in the docs directory
104 test
.must_exist([ f
])
106 pdf_output_1
= test
.read('bibertest.pdf')
110 test
.write(['ref.bib'],sources_bib_content
% '1982')
114 pdf_output_2
= test
.read('bibertest.pdf')
116 pdf_output_1
= test
.normalize_pdf(pdf_output_1
)
117 pdf_output_2
= test
.normalize_pdf(pdf_output_2
)
119 # If the PDF file is the same as it was previously, then it didn't
120 # pick up the change from 1981 to 1982, so fail.
121 test
.fail_test(pdf_output_1
== pdf_output_2
)