Texlive more tests#1027
Conversation
This commit completly overhauls the way Travis tests are done. Previously, these were used by installing appropriate versions of perl and tex into the testing environment and then running a script. This commit introduces a scheme for building appropriate docker test runtime images. This allows for a lot more flexibility and reliable when running tests. It also makes the tests run faster, as it is no longer neccessary to download, install and configure several dependencies.
Now that the Travis Tests have been updated to a newer version of TeXLive, we can re-enable the csquotes babel test.
|
|
||
| latexml_tests("t/babel", | ||
| requires=>{'*'=>['babel.sty','babel.def'], | ||
| csquotes=>['skipbecauseofoldtexliveintravis', 'csquotes.sty', 'frenchb.ldf', 'germanb.ldf'], |
|
|
||
|
|
||
| To build all test images required by the tests, the `src/build-all.sh` can be used. | ||
| After building, this script will upload each image to [latexml/latexml-test-runtime](https://hub.docker.com/r/latexml/latexml-test-runtime/) on DockerHub. |
There was a problem hiding this comment.
cool, 👍 for the DockerHub approach here, very manageable
|
|
||
| source /usr/local/perlbrew/etc/bashrc | ||
|
|
||
| Afterwards, you can run any test command manually. No newline at end of file |
There was a problem hiding this comment.
Great Readme, makes perfect sense to me.
| ENV PERL $PERL | ||
|
|
||
| # run the installation of the given version of perl | ||
| RUN /bin/bash -c "source /usr/local/perlbrew/etc/bashrc; perlbrew --notest install $PERL; perlbrew clean; perlbrew switch $PERL" |
There was a problem hiding this comment.
Hm, perlbrew --notest is a wise approach to speed things along, I am just jotting down that I have had perlbrew's Perl tests fail on old OS-es (Hulk in particular), so it's not always foolproof... but if the tests pass after, it must have worked well anyway?
There was a problem hiding this comment.
I mostly added it to speed up the repetitive docker builds (when building all runtime images at once), and it has worked so far.
| libdb-dev \ | ||
| libxml2-dev \ | ||
| libxslt1-dev \ | ||
| zlib1g-dev |
There was a problem hiding this comment.
One tricky bit is to remember to keep this file up-to-date as we keep developing if dependencies are added. I guess the good news is that the travis tests will fail when it is out of date, so we can't quite forget to 👍
This commit completly overhauls the way Travis tests are done. Previously, these were used by manually installing appropriate versions of perl and tex into the testing environment and then running a script.
This commit introduces a scheme for building appropriate docker test runtime images.
This allows for a lot more flexibility and reliable when running tests.
It also makes the tests run faster, as it is no longer neccessary to download, install and configure several dependencies.
These images are then pulled and used by Travis at testing time.