Skip to content

Commit 90dbb47

Browse files
committed
[gen_ast_dump_json_test.py] Skip manual tests when using --update
See https://reviews.llvm.org/D70119
1 parent 049f4c9 commit 90dbb47

File tree

1 file changed

+8
-3
lines changed

1 file changed

+8
-3
lines changed

clang/test/AST/gen_ast_dump_json_test.py

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,8 @@ def main():
6868
update_or_generate_group.add_argument("--update", help="Update the file in-place", action="store_true")
6969
update_or_generate_group.add_argument("--opts", help="other options",
7070
action="store", default='', type=str)
71+
parser.add_argument("--update-manual", help="When using --update, also update files that do not have the "
72+
"autogenerated disclaimer", action="store_true")
7173
args = parser.parse_args()
7274

7375
if not args.source:
@@ -89,17 +91,20 @@ def main():
8991
# When updating the first line of the test must be a RUN: line
9092
with open(args.source, "r") as srcf:
9193
first_line = srcf.readline()
92-
filters_line_next = False
94+
found_autogenerated_line = False
9395
filters_line = None
9496
for i, line in enumerate(srcf.readlines()):
95-
if filters_line_next:
97+
if found_autogenerated_line:
9698
# print("Filters line: '", line.rstrip(), "'", sep="")
9799
if line.startswith(filters_line_prefix):
98100
filters_line = line[len(filters_line_prefix):].rstrip()
99101
break
100102
if line.startswith(note_firstline):
101-
filters_line_next = True
103+
found_autogenerated_line = True
102104
# print("Found autogenerated disclaimer at line", i + 1)
105+
if not found_autogenerated_line and not args.update_manual:
106+
print("Not updating", args.source, "since it is not autogenerated.")
107+
sys.exit(0)
103108
if not args.filters and filters_line:
104109
args.filters = filters_line
105110
print("Inferred filters as '" + args.filters + "'")

0 commit comments

Comments
 (0)