bind9/util/check-cocci.sh
Colin Vidal fa45a7cc17 check-cocci fails in WARNING is found on stderr
As the implicit cast check print "WARNING: ..." on stderr, add a pattern
to make sure that check-cocci would fails if such warning is found on
stderr. This is generic (not specific like the existing "parse error")
so it should be able to support future Coccinelle spatch warnings.

(cherry picked from commit 3b3bb3eb80)
2025-11-12 10:32:20 +00:00

34 lines
986 B
Bash
Executable file

#!/bin/sh
#
# Copyright (C) Internet Systems Consortium, Inc. ("ISC")
#
# SPDX-License-Identifier: MPL-2.0
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, you can obtain one at https://mozilla.org/MPL/2.0/.
#
# See the COPYRIGHT file distributed with this work for additional
# information regarding copyright ownership.
ret=0
for spatch in cocci/*.spatch; do
patch="$(dirname "$spatch")/$(basename "$spatch" .spatch).patch"
: >"$patch"
echo "Applying semantic patch $spatch..."
spatch --jobs "${TEST_PARALLEL_JOBS:-1}" --sp-file "$spatch" --use-gitgrep --dir "." --very-quiet --include-headers "$@" >>"$patch" 2>cocci.stderr
cat cocci.stderr
if grep -q -e "parse error" -e "EXN: Failure" -e "WARNING" cocci.stderr; then
ret=1
fi
if [ "$(wc <"$patch" -l)" -gt "0" ]; then
cat "$patch"
ret=1
else
rm "$patch"
fi
done
rm -f cocci.stderr
exit $ret