diff options
author | Reuben Thomas <rrt@sc3d.org> | 2020-11-03 23:11:34 +0000 |
---|---|---|
committer | Rico Tzschichholz <ricotz@ubuntu.com> | 2020-11-05 08:53:15 +0100 |
commit | 78600a6a0c221e08b1e32912b61042aa1f36775b (patch) | |
tree | 0b55c439dfd6418335a4e090f0a5c7c1df24aa50 /valadoc | |
parent | 88178a7dbe5bbedc24d672fc3e0a2d9a3086048f (diff) | |
download | vala-78600a6a0c221e08b1e32912b61042aa1f36775b.tar.gz |
tests: Use Automake’s parallel test driver to speed up running tests
Fixes https://gitlab.gnome.org/GNOME/vala/issues/1094
Diffstat (limited to 'valadoc')
-rw-r--r-- | valadoc/tests/.gitignore | 2 | ||||
-rw-r--r-- | valadoc/tests/Makefile.am | 33 | ||||
-rw-r--r-- | valadoc/tests/libvaladoc/parser-generic-scanner.vala (renamed from valadoc/tests/libvaladoc/parser/generic-scanner.vala) | 0 | ||||
-rw-r--r-- | valadoc/tests/libvaladoc/parser-manyrule.vala (renamed from valadoc/tests/libvaladoc/parser/manyrule.vala) | 0 | ||||
-rw-r--r-- | valadoc/tests/libvaladoc/parser-oneofrule.vala (renamed from valadoc/tests/libvaladoc/parser/oneofrule.vala) | 0 | ||||
-rw-r--r-- | valadoc/tests/libvaladoc/parser-optionalrule.vala (renamed from valadoc/tests/libvaladoc/parser/optionalrule.vala) | 0 | ||||
-rw-r--r-- | valadoc/tests/libvaladoc/parser-sequencerule.vala (renamed from valadoc/tests/libvaladoc/parser/sequencerule.vala) | 0 | ||||
-rw-r--r-- | valadoc/tests/libvaladoc/parser-stubrule.vala (renamed from valadoc/tests/libvaladoc/parser/stubrule.vala) | 0 | ||||
-rw-r--r-- | valadoc/tests/libvaladoc/tests-extra-environment.sh | 17 | ||||
-rwxr-xr-x | valadoc/tests/testrunner.sh | 154 |
10 files changed, 40 insertions, 166 deletions
diff --git a/valadoc/tests/.gitignore b/valadoc/tests/.gitignore new file mode 100644 index 000000000..7e563b8b3 --- /dev/null +++ b/valadoc/tests/.gitignore @@ -0,0 +1,2 @@ +*.log +*.trs diff --git a/valadoc/tests/Makefile.am b/valadoc/tests/Makefile.am index 13670e268..62edb7b7c 100644 --- a/valadoc/tests/Makefile.am +++ b/valadoc/tests/Makefile.am @@ -2,23 +2,32 @@ include $(top_srcdir)/Makefile.common NULL = -TESTS_ENVIRONMENT = EXEEXT=$(EXEEXT) PACKAGE_SUFFIX=$(PACKAGE_SUFFIX) TOPBUILDDIR=$(abs_top_builddir) TOPSRCDIR=$(abs_top_srcdir) \ - CFLAGS='$(CFLAGS)' CPPFLAGS='$(CPPFLAGS)' LDFLAGS='$(LDFLAGS)' TEST_CFLAGS='$(TEST_CFLAGS)' CC='$(CC)' $(srcdir)/testrunner.sh +LOG_COMPILER = $(abs_top_srcdir)/build-aux/testrunner.sh +AM_TESTS_ENVIRONMENT = \ + export EXEEXT=$(EXEEXT); \ + export CFLAGS='$(CFLAGS)'; \ + export CPPFLAGS='$(CPPFLAGS)'; \ + export LDFLAGS='$(LDFLAGS)'; \ + export TEST_CFLAGS='$(TEST_CFLAGS)'; \ + export PACKAGE_SUFFIX='$(PACKAGE_SUFFIX)' \ + export abs_top_srcdir='$(abs_top_srcdir)'; \ + export abs_top_builddir='$(abs_top_builddir)'; \ + export abs_srcdir='$(abs_srcdir)'; \ + export abs_builddir='$(abs_builddir)'; \ + export CC='$(CC)'; TESTS = \ libvaladoc/errorreporter.vala \ libvaladoc/markupreader.vala \ libvaladoc/gtkdoc-scanner.vala \ - libvaladoc/parser/manyrule.vala \ - libvaladoc/parser/oneofrule.vala \ - libvaladoc/parser/sequencerule.vala \ - libvaladoc/parser/optionalrule.vala \ - libvaladoc/parser/stubrule.vala \ + libvaladoc/parser-manyrule.vala \ + libvaladoc/parser-oneofrule.vala \ + libvaladoc/parser-sequencerule.vala \ + libvaladoc/parser-optionalrule.vala \ + libvaladoc/parser-stubrule.vala \ $(NULL) -check-TESTS: $(TESTS) - @EXEEXT=$(EXEEXT) PACKAGE_SUFFIX=$(PACKAGE_SUFFIX) TOPBUILDDIR=$(abs_top_builddir) TOPSRCDIR=$(abs_top_srcdir) \ - CFLAGS='$(CFLAGS)' CPPFLAGS='$(CPPFLAGS)' LDFLAGS='$(LDFLAGS)' TEST_CFLAGS='$(TEST_CFLAGS)' CC='$(CC)' $(srcdir)/testrunner.sh $(TESTS) +check-local: G_DEBUG=fatal_warnings $(builddir)/driver AM_CFLAGS = \ @@ -90,11 +99,11 @@ driver.vala.stamp: $(driver_VALASOURCES) $(top_srcdir)/vala/libvala@PACKAGE_SUFF EXTRA_DIST = \ driver.vala.stamp \ $(driver_SOURCES) \ - testrunner.sh \ drivers/api-test.data.vapi \ drivers/driver-test.vala \ drivers/generic-api-test.vala \ - libvaladoc/parser/generic-scanner.vala \ + libvaladoc/parser-generic-scanner.vala \ + libvaladoc/tests-extra-environment.sh \ $(TESTS) \ $(NULL) diff --git a/valadoc/tests/libvaladoc/parser/generic-scanner.vala b/valadoc/tests/libvaladoc/parser-generic-scanner.vala index d3dc2a0f9..d3dc2a0f9 100644 --- a/valadoc/tests/libvaladoc/parser/generic-scanner.vala +++ b/valadoc/tests/libvaladoc/parser-generic-scanner.vala diff --git a/valadoc/tests/libvaladoc/parser/manyrule.vala b/valadoc/tests/libvaladoc/parser-manyrule.vala index 2af76d302..2af76d302 100644 --- a/valadoc/tests/libvaladoc/parser/manyrule.vala +++ b/valadoc/tests/libvaladoc/parser-manyrule.vala diff --git a/valadoc/tests/libvaladoc/parser/oneofrule.vala b/valadoc/tests/libvaladoc/parser-oneofrule.vala index 5da75267e..5da75267e 100644 --- a/valadoc/tests/libvaladoc/parser/oneofrule.vala +++ b/valadoc/tests/libvaladoc/parser-oneofrule.vala diff --git a/valadoc/tests/libvaladoc/parser/optionalrule.vala b/valadoc/tests/libvaladoc/parser-optionalrule.vala index b7b68eaf7..b7b68eaf7 100644 --- a/valadoc/tests/libvaladoc/parser/optionalrule.vala +++ b/valadoc/tests/libvaladoc/parser-optionalrule.vala diff --git a/valadoc/tests/libvaladoc/parser/sequencerule.vala b/valadoc/tests/libvaladoc/parser-sequencerule.vala index 13b4eec44..13b4eec44 100644 --- a/valadoc/tests/libvaladoc/parser/sequencerule.vala +++ b/valadoc/tests/libvaladoc/parser-sequencerule.vala diff --git a/valadoc/tests/libvaladoc/parser/stubrule.vala b/valadoc/tests/libvaladoc/parser-stubrule.vala index 6a097fd0b..6a097fd0b 100644 --- a/valadoc/tests/libvaladoc/parser/stubrule.vala +++ b/valadoc/tests/libvaladoc/parser-stubrule.vala diff --git a/valadoc/tests/libvaladoc/tests-extra-environment.sh b/valadoc/tests/libvaladoc/tests-extra-environment.sh new file mode 100644 index 000000000..bed7659ed --- /dev/null +++ b/valadoc/tests/libvaladoc/tests-extra-environment.sh @@ -0,0 +1,17 @@ +VALAFLAGS="\ + -X -D -X TOP_SRC_DIR=\"$abs_top_srcdir\" \ + --pkg libgvc \ + --vapidir $abs_top_srcdir/vala \ + --pkg libvala$PACKAGE_SUFFIX \ + --vapidir $abs_top_srcdir/libvaladoc \ + --pkg valadoc$PACKAGE_SUFFIX \ + --main main \ + -X -L$abs_top_builddir/vala/.libs -X -lvala$PACKAGE_SUFFIX \ + -X -L$abs_top_builddir/libvaladoc/.libs -X -lvaladoc$PACKAGE_SUFFIX \ + -X -I$abs_top_srcdir/gee \ + -X -I$abs_top_srcdir/vala \ + -X -I$abs_top_srcdir/libvaladoc \ + $abs_top_srcdir/valadoc/tests/libvaladoc/parser-generic-scanner.vala \ +" +PKG_CONFIG_PATH=$abs_top_builddir:$abs_top_builddir/libvaladoc +LD_LIBRARY_PATH=$abs_top_builddir/vala/.libs:$abs_top_builddir/libvaladoc/.libs diff --git a/valadoc/tests/testrunner.sh b/valadoc/tests/testrunner.sh deleted file mode 100755 index c06dda358..000000000 --- a/valadoc/tests/testrunner.sh +++ /dev/null @@ -1,154 +0,0 @@ -#!/usr/bin/env bash -# testrunner.sh -# -# Copyright (C) 2006-2008 Jürg Billeter -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -# -# Author: -# Jürg Billeter <j@bitron.ch> - -builddir=$PWD -topbuilddir=$TOPBUILDDIR -topsrcdir=$TOPSRCDIR -vapidir=$topsrcdir/vapi - -export G_DEBUG=fatal_warnings -export PKG_CONFIG_PATH=$topbuilddir:$topbuilddir/libvaladoc -export LD_LIBRARY_PATH=$topbuilddir/vala/.libs:$topbuilddir/libvaladoc/.libs - -VALAC=$topbuilddir/compiler/valac$EXEEXT -VALAFLAGS="$VALAFLAGS \ - -X -D -X TOP_SRC_DIR=\"$topsrcdir\" \ - --vapidir $vapidir --pkg libgvc \ - --vapidir $topsrcdir/vala --pkg libvala$PACKAGE_SUFFIX \ - --vapidir $topsrcdir/libvaladoc --pkg valadoc$PACKAGE_SUFFIX \ - --disable-warnings \ - --main main \ - --save-temps \ - --cc $CC \ - -X -g \ - -X -O0 \ - -X -pipe \ - -X -lm \ - -X -L$topbuilddir/vala/.libs -X -lvala$PACKAGE_SUFFIX \ - -X -L$topbuilddir/libvaladoc/.libs -X -lvaladoc$PACKAGE_SUFFIX \ - -X -I$topsrcdir/gee \ - -X -I$topsrcdir/vala \ - -X -I$topsrcdir/libvaladoc \ - $topsrcdir/valadoc/tests/libvaladoc/parser/generic-scanner.vala" - -# Incorporate the TEST_CFLAGS. -for cflag in ${TEST_CFLAGS}; do - VALAFLAGS="${VALAFLAGS} -X ${cflag}" -done - -# Incorporate the user's CFLAGS. Matters if the user decided to insert -# -m32 in CFLAGS, for example. -for cflag in ${CFLAGS} ${CPPFLAGS} ${LDFLAGS}; do - if [[ ! $cflag =~ ^\-O[0-9]$ ]]; then - VALAFLAGS="${VALAFLAGS} -X ${cflag}" - fi -done - -testdir=_test -rm -rf $testdir -mkdir $testdir -cd $testdir - -echo -n -e "TEST: Building...\033[72G" - -cat << "EOF" > checkall -all=0 -fail=0 -EOF - -cat << "EOF" > main.vala -void main (string[] args) { - switch (args[1]) { -EOF - -PACKAGES=gio-2.0 -SOURCEFILES= -for testfile in "$@"; do - rm -f prepare check - echo 'set -e' >> prepare - - case "$testfile" in - *.vala) - testpath=${testfile/.vala/} - ns=${testpath//\//.} - ns=${ns//-/_} - SOURCEFILE=$ns.vala - SOURCEFILES="$SOURCEFILES $SOURCEFILE" - - echo " case \"/$testpath\": $ns.main (); break;" >> main.vala - echo "namespace $ns {" > $SOURCEFILE - cat "$topsrcdir/valadoc/tests/$testfile" >> $SOURCEFILE - echo "}" >> $SOURCEFILE - - echo "./test$EXEEXT /$testpath" > check - ;; - esac - - cat prepare check > $ns.check - cat << EOF >> checkall -echo -n -e " /$testpath: \033[72G" -((all++)) -if bash $ns.check &>log; then - echo -e "\033[0;32mOK\033[m" -else - ((fail++)) - echo -e "\033[0;31mFAIL\033[m" - cat log -fi -EOF -done - -cat << "EOF" >> checkall -if [ $fail -eq 0 ]; then - echo "All $all tests passed" -else - echo "$fail of $all tests failed" - exit 1 -fi -EOF - -cat << "EOF" >> main.vala - default: assert_not_reached (); - } -} -EOF - -cat $SOURCEFILES >> main.vala - -if $VALAC $VALAFLAGS -o test$EXEEXT $([ -z "$PACKAGES" ] || echo $PACKAGES | xargs -n 1 echo -n " --pkg") main.vala &>log; then - echo -e "\033[0;32mOK\033[m" -else - echo -e "\033[0;31mFAIL\033[m" - cat log - - cd $builddir - exit 1 -fi - -if bash checkall; then - cd $builddir - rm -rf $testdir -else - cd $builddir - exit 1 -fi - |