mirror of
https://github.com/carbon-language/carbon-lang.git
synced 2026-10-03 15:55:55 +01:00
This was an offshoot of the discussion about how much boilerplate we could remove. lit requires RUN lines be there, everything else is optional.
38 lines
1.0 KiB
Python
Executable File
38 lines
1.0 KiB
Python
Executable File
#!/usr/bin/env python3
|
|
|
|
"""Updates the CHECK: lines in lit tests based on the AUTOUPDATE line."""
|
|
|
|
__copyright__ = """
|
|
Part of the Carbon Language project, under the Apache License v2.0 with LLVM
|
|
Exceptions. See /LICENSE for license information.
|
|
SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
|
"""
|
|
|
|
import os
|
|
import sys
|
|
from pathlib import Path
|
|
|
|
|
|
def main() -> None:
|
|
# Calls the main script using execv in order to avoid Python import
|
|
# behaviors.
|
|
this_py = Path(__file__).resolve()
|
|
actual_py = this_py.parent.parent.parent.joinpath(
|
|
"bazel", "testing", "lit_autoupdate_base.py"
|
|
)
|
|
args = [
|
|
sys.argv[0],
|
|
# Flags to configure for parser testing.
|
|
"--tool=carbon",
|
|
"--autoupdate_arg=dump",
|
|
"--autoupdate_arg=parse-tree",
|
|
r"--line_number_pattern=(?<=\.carbon:)(\d+)(?=(?:\D|$))",
|
|
"--lit_run=%{carbon-run-parser}",
|
|
"--testdata=toolchain/parser/testdata",
|
|
] + sys.argv[1:]
|
|
os.execv(actual_py, args)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
main()
|