summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNate Ohlson <nohlson@purdue.edu>2024-07-30 19:49:15 (GMT)
committerGitHub <noreply@github.com>2024-07-30 19:49:15 (GMT)
commit1cac0908fb6866c30b7fe106bc8d6cd03c7977f9 (patch)
tree82a7cfede6b3a75a1906bffd778e6f6ccaaf7a48
parentc68cb8e0c9bd75ded25578c2fba6469e55a06e93 (diff)
downloadcpython-1cac0908fb6866c30b7fe106bc8d6cd03c7977f9.zip
cpython-1cac0908fb6866c30b7fe106bc8d6cd03c7977f9.tar.gz
cpython-1cac0908fb6866c30b7fe106bc8d6cd03c7977f9.tar.bz2
gh-112301: Add argument aliases and tee compiler output for check warnings (GH-122465)
Also remove superfluous shebang from the warning check script
-rw-r--r--.github/workflows/reusable-ubuntu.yml2
-rw-r--r--Tools/build/check_warnings.py5
2 files changed, 5 insertions, 2 deletions
diff --git a/.github/workflows/reusable-ubuntu.yml b/.github/workflows/reusable-ubuntu.yml
index c6289a7..8dd5f55 100644
--- a/.github/workflows/reusable-ubuntu.yml
+++ b/.github/workflows/reusable-ubuntu.yml
@@ -75,7 +75,7 @@ jobs:
${{ fromJSON(inputs.free-threading) && '--disable-gil' || '' }}
- name: Build CPython out-of-tree
working-directory: ${{ env.CPYTHON_BUILDDIR }}
- run: make -j4 &> compiler_output.txt
+ run: set -o pipefail; make -j4 2>&1 | tee compiler_output.txt
- name: Display build info
working-directory: ${{ env.CPYTHON_BUILDDIR }}
run: make pythoninfo
diff --git a/Tools/build/check_warnings.py b/Tools/build/check_warnings.py
index f0c0067..af9f7f1 100644
--- a/Tools/build/check_warnings.py
+++ b/Tools/build/check_warnings.py
@@ -1,4 +1,3 @@
-#!/usr/bin/env python3
"""
Parses compiler output with -fdiagnostics-format=json and checks that warnings
exist only in files that are expected to have warnings.
@@ -114,24 +113,28 @@ def get_unexpected_improvements(
def main(argv: list[str] | None = None) -> int:
parser = argparse.ArgumentParser()
parser.add_argument(
+ "-c",
"--compiler-output-file-path",
type=str,
required=True,
help="Path to the compiler output file",
)
parser.add_argument(
+ "-i",
"--warning-ignore-file-path",
type=str,
required=True,
help="Path to the warning ignore file",
)
parser.add_argument(
+ "-x",
"--fail-on-regression",
action="store_true",
default=False,
help="Flag to fail if new warnings are found",
)
parser.add_argument(
+ "-X",
"--fail-on-improvement",
action="store_true",
default=False,