riccibruno created this revision. riccibruno added reviewers: aaron.ballman, stephenkelly. riccibruno added a project: clang. Herald added a reviewer: jdoerfert. Herald added subscribers: cfe-commits, sstefan1. riccibruno added a comment.
Example of a test: F12153075: ast-dump-lambda.cpp <https://reviews.llvm.org/F12153075> 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. Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D81786 Files: clang/utils/make-ast-dump-check.sh Index: clang/utils/make-ast-dump-check.sh =================================================================== --- clang/utils/make-ast-dump-check.sh +++ clang/utils/make-ast-dump-check.sh @@ -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 @@ 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 {
Index: clang/utils/make-ast-dump-check.sh =================================================================== --- clang/utils/make-ast-dump-check.sh +++ clang/utils/make-ast-dump-check.sh @@ -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 @@ 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 {
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits