summaryrefslogtreecommitdiff
path: root/valadoc
diff options
context:
space:
mode:
authorReuben Thomas <rrt@sc3d.org>2020-11-03 23:11:34 +0000
committerRico Tzschichholz <ricotz@ubuntu.com>2020-11-05 08:53:15 +0100
commit78600a6a0c221e08b1e32912b61042aa1f36775b (patch)
tree0b55c439dfd6418335a4e090f0a5c7c1df24aa50 /valadoc
parent88178a7dbe5bbedc24d672fc3e0a2d9a3086048f (diff)
downloadvala-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/.gitignore2
-rw-r--r--valadoc/tests/Makefile.am33
-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.sh17
-rwxr-xr-xvaladoc/tests/testrunner.sh154
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
-