]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
testrunner: Allow checking generated C sources
authorRico Tzschichholz <ricotz@ubuntu.com>
Sun, 23 May 2021 15:48:49 +0000 (17:48 +0200)
committerRico Tzschichholz <ricotz@ubuntu.com>
Fri, 16 Jul 2021 14:59:57 +0000 (16:59 +0200)
build-aux/testrunner.sh
tests/Makefile.am
valadoc/tests/Makefile.am

index a756d00255b234013624501aabb0dcba984a2876..967a06238b564b3254319e465769d2a1067a9f64 100755 (executable)
@@ -43,6 +43,7 @@ VALAC=$abs_top_builddir/compiler/valac$EXEEXT
 VALAFLAGS="$VALAFLAGS \
        --vapidir $vapidir \
        --enable-checking \
+       --disable-version-header \
        --disable-warnings \
        --save-temps \
        --cc $CC \
@@ -156,8 +157,20 @@ function sourceend() {
                PACKAGEFLAGS=$([ -z "$PACKAGES" ] || echo $PACKAGES | xargs -n 1 echo -n " --pkg")
                echo "$VALAC $VALAFLAGS $PACKAGEFLAGS -o $ns$EXEEXT $SOURCEFILE" >> prepare
                if [ $DBUSTEST -eq 1 ]; then
+                       echo "UPDATE_EXPECTED=$UPDATE_EXPECTED" >> prepare
                        if [ $ISSERVER -eq 1 ]; then
+                               echo "if [ -n \"$UPDATE_EXPECTED\" ]; then" >> prepare
+                               echo "  cp -p ${SOURCEFILE%.*}.c $abs_srcdir/${testfile%.*}_server.c-expected" >> prepare
+                               echo "elif [ -f $abs_srcdir/${testfile%.*}_server.c-expected ]; then" >> prepare
+                               echo "  diff -wu $abs_srcdir/${testfile%.*}_server.c-expected ${SOURCEFILE%.*}.c || exit 1" >> prepare
+                               echo "fi" >> prepare
                                echo "./$ns$EXEEXT" >> check
+                       else
+                               echo "if [ -n \"$UPDATE_EXPECTED\" ]; then" >> prepare
+                               echo "  cp -p ${SOURCEFILE%.*}.c $abs_srcdir/${testfile%.*}_client.c-expected" >> prepare
+                               echo "elif [ -f $abs_srcdir/${testfile%.*}_client.c-expected ]; then" >> prepare
+                               echo "  diff -wu $abs_srcdir/${testfile%.*}_client.c-expected ${SOURCEFILE%.*}.c || exit 1" >> prepare
+                               echo "fi" >> prepare
                        fi
                else
                        echo "./$ns$EXEEXT" >> check
@@ -183,6 +196,11 @@ case "$testfile" in
        cat "$abs_srcdir/$testfile" > ./$SOURCEFILE
        PACKAGEFLAGS=$([ -z "$PACKAGES" ] || echo $PACKAGES | xargs -n 1 echo -n " --pkg")
        $VALAC $VALAFLAGS $PACKAGEFLAGS -o $testpath$EXEEXT $SOURCEFILE
+       if [ -n "$UPDATE_EXPECTED" ]; then
+               cp -p ${SOURCEFILE%.*}.c $abs_srcdir/${testfile%.*}.c-expected
+       elif [ -f $abs_srcdir/${testfile%.*}.c-expected ]; then
+               diff -wu $abs_srcdir/${testfile%.*}.c-expected ${SOURCEFILE%.*}.c || exit 1
+       fi
        ./$testpath$EXEEXT
        ;;
 *.test)
index cb96b0d061b2fa30d390fab75c99d43a40ab0efb..503c601197395f7bc352e7f43d07a87ff1cd72d3 100644 (file)
@@ -26,6 +26,7 @@ GS_LOG_COMPILER = $(TEST_RUNNER)
 TEST_LOG_COMPILER = $(TEST_RUNNER)
 
 AM_TESTS_ENVIRONMENT = \
+       export UPDATE_EXPECTED=$(UPDATE_EXPECTED); \
        export EXEEXT=$(EXEEXT); \
        export CFLAGS='$(CFLAGS)'; \
        export CPPFLAGS='$(CPPFLAGS)'; \
@@ -1285,4 +1286,5 @@ EXTRA_DIST = \
        version/tests-extra-environment.sh \
        $(TESTS) \
        $(LINUX_TESTS) \
+       $(wildcard $(srcdir)/*/*.c-expected) \
        $(NULL)
index 62edb7b7cf80dd56b28213ad290aba375d409746..b6e6104c9ea6271bcc6e9ff1df4e59bb137dc575 100644 (file)
@@ -4,6 +4,7 @@ NULL =
 
 LOG_COMPILER = $(abs_top_srcdir)/build-aux/testrunner.sh
 AM_TESTS_ENVIRONMENT = \
+       export UPDATE_EXPECTED=$(UPDATE_EXPECTED); \
        export EXEEXT=$(EXEEXT); \
        export CFLAGS='$(CFLAGS)'; \
        export CPPFLAGS='$(CPPFLAGS)'; \