我有很多.lvt
测试文件正在读取
\input{regression-test.tex}
\documentclass{...}
\usepackage{...}
\begin{document}
\ExplSyntaxOn
...
\ExplSyntaxOff
\input{contents}
\end{document}
它们都是\input
同一个contents.tex
文件。有了这种测试文件,
l3build save ...
contents.tex
由于缺少而失败。
如何在运行之前将l3build
其复制contents.tex
到适当的位置save
?
答案1
使用标准设置,您可以使用源区域内的目录testfiles/support
来包含用于测试的“支持”文件。如果它们被列为,则会自动复制到测试工作区中checksuppfiles
。因此,类似
checksuppfiles = {"*.tex"}
然后您就可以使用\input{<whatever>}
,一切就会“正常工作”。
例如,此技术用于l3kernel
‘后端’测试:d3<backend>.lvt
。
答案2
.lvt
如果你想在流程之外排版你的文件l3build
(例如在开发过程中),请进一步参考 Joseph Wright 的回答
假设您的testfiles
文件夹包含
support/
contents.tex
test.lvt
哪里test.lvt
读
\input{regression-test.tex}
\documentclass{minimal}
\begin{document}
\InputIfFileExists {contents}
{}
{\input{support/contents}}
\end{document}
然后你就可以运行
l3build save test
或者
pdflatex test.lvt
另一种方法是,如果您可以使用软链接:您可以将每个支持文件收集到此目录中,testfiles/support/input
并将其软链接testifies/input
到此目录。这样,您就不必使用该\InputIfFileExists
命令了。