forked from OSchip/llvm-project
[clang][utils] Modify make-ast-dump-check.sh to generate AST serialization dump tests
An AST serialization dump test is a test which compares the output of -ast-dump on the source and of -ast-dump-all on a PCH generated from the source. Modulo a few differences the outputs should match. This patch to make-ast-dump-check.sh enables automatically generating these tests. Differential Revision: https://reviews.llvm.org/D81786 Reviewed By: aaron.ballman, lebedev.ri
This commit is contained in:
parent
05843dc6ab
commit
c7350a3bab
|
@ -3,12 +3,21 @@
|
|||
# This script is intended as a FileCheck replacement to update the test
|
||||
# expectations in a -ast-dump test.
|
||||
#
|
||||
# Usage:
|
||||
# Usage (to generate normal AST dump tests):
|
||||
#
|
||||
# $ lit -DFileCheck=$PWD/utils/make-ast-dump-check.sh test/AST/ast-dump-openmp-*
|
||||
#
|
||||
# Usage (to generate serialization AST dump tests):
|
||||
#
|
||||
# $ lit -DFileCheck="generate_serialization_test=1 $PWD/utils/make-ast-dump-check.sh"
|
||||
# test/AST/ast-dump-openmp-*
|
||||
|
||||
prefix=CHECK
|
||||
|
||||
if [ -z ${generate_serialization_test+x} ];
|
||||
then generate_serialization_test=0;
|
||||
fi
|
||||
|
||||
while [[ "$#" -ne 0 ]]; do
|
||||
case "$1" in
|
||||
--check-prefix)
|
||||
|
@ -54,6 +63,10 @@ BEGIN {
|
|||
s = \$0
|
||||
gsub("0x[0-9a-fA-F]+", "{{.*}}", s)
|
||||
gsub("$testdir/", "{{.*}}", s)
|
||||
if ($generate_serialization_test == 1) {
|
||||
gsub(" imported", "{{( imported)?}}", s)
|
||||
gsub(" <undeserialized declarations>", "{{( <undeserialized declarations>)?}}", s)
|
||||
}
|
||||
}
|
||||
|
||||
matched_last_line == 0 {
|
||||
|
|
Loading…
Reference in New Issue