#! /bin/bash # This script is intended as a FileCheck replacement to update the test # expectations in a -ast-dump test. # # 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) shift prefix="$1" ;; --implicit-check-not) shift ;; -*) ;; *) file="$1" ;; esac shift done testdir="$(dirname "$file")" read -r -d '' script <", "{{( )?}}", s) gsub("line:[0-9]+:[0-9]+", "line:{{.*}}", s) gsub("line:[0-9]+", "line:{{.*}}", s) gsub("col:[0-9]+", "col:{{.*}}", s) gsub(":[0-9]+:[0-9]+", "{{.*}}", s) } } matched_last_line == 0 { print "// ${prefix}:" s } matched_last_line == 1 { print "// ${prefix}-NEXT:" s } { matched_last_line = 1 } REWRITE echo "$script" { cat "$file" | grep -v "$prefix" awk "$script" } > "$file.new" mv "$file.new" "$file"