summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xclang-tools-extra/test/clang-tidy/check_clang_tidy_fix.sh19
1 files changed, 14 insertions, 5 deletions
diff --git a/clang-tools-extra/test/clang-tidy/check_clang_tidy_fix.sh b/clang-tools-extra/test/clang-tidy/check_clang_tidy_fix.sh
index d1c1fb98b55..851307aa031 100755
--- a/clang-tools-extra/test/clang-tidy/check_clang_tidy_fix.sh
+++ b/clang-tools-extra/test/clang-tidy/check_clang_tidy_fix.sh
@@ -1,25 +1,34 @@
#!/bin/sh
#
# Run clang-tidy in fix mode and verify the result.
+# Usage:
+# check_clang_tidy_fix.sh <source-file> <check-name> <temp-file> \
+# [optional compiler arguments]
+#
+# Example:
+# // RUN: $(dirname %s)/check_clang_tidy_fix.sh %s llvm-include-order %t -isystem $(dirname %s)/Inputs/Headers
+# // REQUIRES: shell
INPUT_FILE=$1
CHECK_TO_RUN=$2
TEMPORARY_FILE=$3.cpp
+# Feed the rest arguments to clang-tidy after --.
shift 3
+set -o errexit
+
# Remove the contents of the CHECK lines to avoid CHECKs matching on themselves.
# We need to keep the comments to preserve line numbers while avoiding empty
# lines which could potentially trigger formatting-related checks.
sed 's#// *[A-Z-]\+:.*#//#' ${INPUT_FILE} > ${TEMPORARY_FILE}
-clang-tidy ${TEMPORARY_FILE} -fix --checks="-*,${CHECK_TO_RUN}" -- --std=c++11 \
- $* > ${TEMPORARY_FILE}.msg 2>&1 || exit $?
+clang-tidy ${TEMPORARY_FILE} -fix --checks="-*,${CHECK_TO_RUN}" \
+ -- --std=c++11 $* > ${TEMPORARY_FILE}.msg 2>&1
FileCheck -input-file=${TEMPORARY_FILE} ${INPUT_FILE} \
- -check-prefix=CHECK-FIXES -strict-whitespace || exit $?
+ -check-prefix=CHECK-FIXES -strict-whitespace
if grep -q CHECK-MESSAGES ${INPUT_FILE}; then
FileCheck -input-file=${TEMPORARY_FILE}.msg ${INPUT_FILE} \
- -check-prefix=CHECK-MESSAGES -implicit-check-not="{{warning|error}}:" \
- || exit $?
+ -check-prefix=CHECK-MESSAGES -implicit-check-not="{{warning|error}}:"
fi
OpenPOWER on IntegriCloud