Fix headerscheck and cpluspluscheck's exit codes.
authorThomas Munro
Mon, 15 Aug 2022 22:53:29 +0000 (10:53 +1200)
committerThomas Munro
Mon, 15 Aug 2022 22:53:29 +0000 (10:53 +1200)
For the benefit of CI, which started running these header check scripts
in its CompilerWarnings task in commit 81b9f23c9c8, they should report
failure if any individual header failed to compile.

Reviewed-by: Andrew Dunstan
Reviewed-by: Andres Freund
Discussion: https://postgr.es/m/CA%2BhUKGKtDwPo9wzKgbStDwfOhEpywMc6PQofio8fAHR7yUjgxw%40mail.gmail.com

src/tools/pginclude/cpluspluscheck
src/tools/pginclude/headerscheck

index eb06ee01111561a73986fcaf110c4e6f2457890d..2d3b785342f46c69a67a6aad3a0fb28dc0f1d06b 100755 (executable)
@@ -52,6 +52,8 @@ tmp=`mktemp -d /tmp/$me.XXXXXX`
 
 trap 'rm -rf $tmp' 0 1 2 3 15
 
+exit_status=0
+
 # Scan all of src/ and contrib/ for header files.
 for f in `cd "$srcdir" && find src contrib -name '*.h' -print`
 do
@@ -167,9 +169,13 @@ do
    esac
 
    # Run the test.
-   ${CXX:-g++} -I $builddir -I $srcdir \
+   if ! ${CXX:-g++} -I $builddir -I $srcdir \
        -I $builddir/src/include -I $srcdir/src/include \
        -I $builddir/src/interfaces/libpq -I $srcdir/src/interfaces/libpq \
        $EXTRAINCLUDES $EXTRAFLAGS $CXXFLAGS -c $tmp/test.cpp
-
+   then
+       exit_status=1
+   fi
 done
+
+exit $exit_status
index 3f8640a03dd65cb089817dfcf746369f26a57293..b8419e46a492c98bb8db00ad177d0c9ae083ffc0 100755 (executable)
@@ -48,6 +48,8 @@ tmp=`mktemp -d /tmp/$me.XXXXXX`
 
 trap 'rm -rf $tmp' 0 1 2 3 15
 
+exit_status=0
+
 # Scan all of src/ and contrib/ for header files.
 for f in `cd "$srcdir" && find src contrib -name '*.h' -print`
 do
@@ -150,9 +152,13 @@ do
    esac
 
    # Run the test.
-   ${CC:-gcc} $CPPFLAGS $CFLAGS -I $builddir -I $srcdir \
+   if ! ${CC:-gcc} $CPPFLAGS $CFLAGS -I $builddir -I $srcdir \
        -I $builddir/src/include -I $srcdir/src/include \
        -I $builddir/src/interfaces/libpq -I $srcdir/src/interfaces/libpq \
        $EXTRAINCLUDES $EXTRAFLAGS -c $tmp/test.c -o $tmp/test.o
-
+   then
+       exit_status=1
+   fi
 done
+
+exit $exit_status