Setting CTEST_OUTPUT_ON_FAILURE will cause ctest to log all
output from failing tests (and only from failing tests).
This will reduce our ci output in case of failures as our
homebrew script 'afterfailure' would output all test logs
in case of failure not only the output of failed tests.
Do so by rerunning these tests in verbose mode
Obviously that's only possible if ctest had already run
which is tested by evaluating the existence of
directory /build/Testing
This needed a few tweaks to the docker file worth mentioning:
- tzdata is not installed by default, resulting in test-gnc-timezone to fail
- there were a couple of debconf warnings
* missing apt-utils package => added it to the list
* no interactive terminal for autoremove => forced non-interactive mode
- in addition I have made building the docker file more verbose in order
to catch such issues more easily in the future. If this turns out to be
too distracting I can undo that part again.
By default we require gettext 0.19.6 as this is needed to generate a translated version of gnucash.desktop and gnucash.appdata.xml.
However this version is not available on some platforms (most notably our own ubuntu 14.04LTS travis instance).
By setting ALLOW_OLD_GETTEXT=ON, the build configuration falls back to generating untranslated versions of said files instead.
This includes removal of the now unused make-gnucash-potfiles.in,
checking for CMakeLists.txt rather than Makefile.am in gnc-vcs-info,
upating the HACKING file,
and generally updating references to autotools.
I have kept "Makefile.*" exclude patterns in our CMakeLists.txt files
because they may still be lingering in the source directory from
previous autogen.sh runs. At some point these should probably be
removed as well still, together with the gitignore references to them.
- Remove trailing semicolons. They're not needed in shell scripts
- Don't create default XDG_DATA_HOME (<HOME>/.local/share) the code
should work equally well if that directory doesn't exist and so
not creating it tests another part of the code
Currently, there is an ubuntu 14.04 and archlinux build and they both
use cmake with ninja, cmake with make, and autotools to build. It should
be straightforward to add another configuration.
Travis checks out the correct branch of the source code for us, and we
expose that source code to the docker container using a docker run
"volume".