diff --git a/.travis.yml b/.travis.yml index cd1626a02f..ee692a4ee3 100644 --- a/.travis.yml +++ b/.travis.yml @@ -12,31 +12,5 @@ before_install: - sudo apt-get build-dep -qq gnucash - sudo apt-get install -qq swig xsltproc libdbd-sqlite3 cmake3 texinfo ninja-build - sudo apt-get --reinstall install -qq language-pack-en language-pack-fr -script: | - # The -e here says that if any line below fails, the whole script fails - set -ev - - # First, do the cmake build using the default Makefile generator - if [[ "$BUILDTYPE" == "cmake-make" ]]; then - mkdir /tmp/gnucash-build-cmake-make - cd /tmp/gnucash-build-cmake-make - cmake $TRAVIS_BUILD_DIR - make -j 4 - make check - - # Next, do cmake again, using the Ninja generator this time - elif [[ "$BUILDTYPE" == "cmake-ninja" ]]; then - mkdir /tmp/gnucash-build-cmake-ninja - cd /tmp/gnucash-build-cmake-ninja - cmake -G Ninja $TRAVIS_BUILD_DIR - ninja - ninja check - - # Finally, do the autotools build - elif [[ "$BUILDTYPE" == "autotools" ]]; then - cd $TRAVIS_BUILD_DIR - ./autogen.sh - ./configure - make - make check - fi +script: ./util/travis-script.sh +after_failure: ./util/travis-after-failure.sh diff --git a/src/import-export/test/test-import-parse.c b/src/import-export/test/test-import-parse.c index e75cd44d48..cb30b47c53 100644 --- a/src/import-export/test/test-import-parse.c +++ b/src/import-export/test/test-import-parse.c @@ -52,7 +52,7 @@ my_ymd_t dates_ydm_vals[] = { {1999, 12, 31}, {2001, 6, 17}, {2001, 11, 23}, {0, const char* dates_mdy[] = { "1/16/2001", "12-31-1999", "01171983", NULL }; my_ymd_t dates_mdy_vals[] = { {2001, 1, 16}, {1999, 12, 31}, {1983, 1, 17}, {0, 0, 0} }; const char* dates_dmy[] = { "16/1/2001", "31-12-1999", "17011976", NULL }; -my_ymd_t dates_dmy_vals[] = { {2001, 1, 16}, {1999, 12, 31}, {1976, 1, 17}, {0, 0, 0} }; +my_ymd_t dates_dmy_vals[] = { {2000, 1, 16}, {1999, 12, 31}, {1976, 1, 17}, {0, 0, 0} }; const char* dates_yxx[] = { "99/1/6", "1999-12'10", "20010306", NULL }; const char* dates_xxy[] = { "1/3/99", "12-10'1999", "03062001", NULL }; diff --git a/util/travis-after-failure.sh b/util/travis-after-failure.sh new file mode 100755 index 0000000000..64957def4b --- /dev/null +++ b/util/travis-after-failure.sh @@ -0,0 +1,19 @@ +#! /bin/bash + +# Build logs are located in different places depending on the build environment used +if [[ "$BUILDTYPE" == "cmake-make" ]] || [[ "$BUILDTYPE" == "cmake-ninja" ]]; then + echo "##### LastTest.log #####" + echo "#########################" + cat /tmp/gnucash-build-${BUILDTYPE}/Testing/Temporary/LastTest.log +elif [[ "$BUILDTYPE" == "autotools" ]]; then + for logfile in $( find . -name 'test*.log' ); do + SIZE=$((${#logfile} + 12)) + HRULE=$(head -c $SIZE < /dev/zero | tr '\0' '#') + echo $HRULE + echo "##### ${logfile} #####" + echo $HRULE + cat -- "$logfile" + echo -e "\n\n" + done +fi + diff --git a/util/travis-script.sh b/util/travis-script.sh new file mode 100755 index 0000000000..18dc80f699 --- /dev/null +++ b/util/travis-script.sh @@ -0,0 +1,30 @@ +#! /bin/bash -ev +# The -e above says that if any line below fails, the whole script fails + +# Run tests in different build configurations depending on the +# value of the BUILDTYPE environment variable +# 1. cmake build using the default Makefile generator +if [[ "$BUILDTYPE" == "cmake-make" ]]; then + mkdir /tmp/gnucash-build-cmake-make + cd /tmp/gnucash-build-cmake-make + cmake $TRAVIS_BUILD_DIR + make -j 4 + make check + +# 2. cmake build using the Ninja generator +elif [[ "$BUILDTYPE" == "cmake-ninja" ]]; then + mkdir /tmp/gnucash-build-cmake-ninja + cd /tmp/gnucash-build-cmake-ninja + cmake -G Ninja $TRAVIS_BUILD_DIR + ninja + ninja check + +# 3. autotools build +elif [[ "$BUILDTYPE" == "autotools" ]]; then + cd $TRAVIS_BUILD_DIR + ./autogen.sh + ./configure + make + make check +fi +