From 3eae0cbf7e70db885c4ec37e0863022d3ad589d4 Mon Sep 17 00:00:00 2001 From: Thomas Munro Date: Tue, 16 Aug 2022 10:53:29 +1200 Subject: [PATCH] Fix headerscheck and cpluspluscheck's exit codes. 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 | 10 ++++++++-- src/tools/pginclude/headerscheck | 10 ++++++++-- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/src/tools/pginclude/cpluspluscheck b/src/tools/pginclude/cpluspluscheck index eb06ee0111..2d3b785342 100755 --- a/src/tools/pginclude/cpluspluscheck +++ b/src/tools/pginclude/cpluspluscheck @@ -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 diff --git a/src/tools/pginclude/headerscheck b/src/tools/pginclude/headerscheck index 3f8640a03d..b8419e46a4 100755 --- a/src/tools/pginclude/headerscheck +++ b/src/tools/pginclude/headerscheck @@ -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