]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
gh-139590: Stricter `ruff` rules for `Tools/wasm` (#139752)
authorsobolevn <mail@sobolevn.me>
Wed, 8 Oct 2025 22:13:27 +0000 (01:13 +0300)
committerGitHub <noreply@github.com>
Wed, 8 Oct 2025 22:13:27 +0000 (01:13 +0300)
.pre-commit-config.yaml
Tools/wasm/.ruff.toml
Tools/wasm/emscripten/__main__.py
Tools/wasm/emscripten/wasm_assets.py
Tools/wasm/wasi/__main__.py

index 0e00ffb3bd2d66986953238a2ebff68eaa072745..b0311f052798adc58618f4bc351fe3c85c80c0f3 100644 (file)
@@ -26,6 +26,10 @@ repos:
         name: Run Ruff (lint) on Tools/peg_generator/
         args: [--exit-non-zero-on-fix, --config=Tools/peg_generator/.ruff.toml]
         files: ^Tools/peg_generator/
+      - id: ruff-check
+        name: Run Ruff (lint) on Tools/wasm/
+        args: [--exit-non-zero-on-fix, --config=Tools/wasm/.ruff.toml]
+        files: ^Tools/wasm/
       - id: ruff-format
         name: Run Ruff (format) on Doc/
         args: [--check]
index aabcf8dc4f502e0bd7fed972a0ba083fffc700fe..3d8e59fa3f22c41573b7f1cb3d64c5246e968127 100644 (file)
@@ -22,7 +22,4 @@ select = [
 ]
 ignore = [
     "E501",    # Line too long
-    "F541",    # f-string without any placeholders
-    "PYI024",  # Use `typing.NamedTuple` instead of `collections.namedtuple`
-    "PYI025",  # Use `from collections.abc import Set as AbstractSet`
 ]
index fdf3142c0a3b1a245984a803dd9d8f5e75048bcf..c88e9edba6d230f250558b0218bc7ff14aadd3a6 100644 (file)
@@ -3,16 +3,16 @@
 import argparse
 import contextlib
 import functools
+import hashlib
 import os
 import shutil
 import subprocess
 import sys
 import sysconfig
-import hashlib
 import tempfile
-from urllib.request import urlopen
 from pathlib import Path
 from textwrap import dedent
+from urllib.request import urlopen
 
 try:
     from os import process_cpu_count as cpu_count
@@ -33,9 +33,7 @@ HOST_DIR = HOST_BUILD_DIR / "python"
 PREFIX_DIR = CROSS_BUILD_DIR / HOST_TRIPLE / "prefix"
 
 LOCAL_SETUP = CHECKOUT / "Modules" / "Setup.local"
-LOCAL_SETUP_MARKER = "# Generated by Tools/wasm/emscripten.py\n".encode(
-    "utf-8"
-)
+LOCAL_SETUP_MARKER = b"# Generated by Tools/wasm/emscripten.py\n"
 
 
 def updated_env(updates={}):
@@ -432,6 +430,7 @@ def main():
         make_build,
         configure_host,
         make_host,
+        clean,
     ):
         subcommand.add_argument(
             "--quiet",
index 90f318f319a9f16f1f162227edbdc17709ddbb3e..384790872353b25da148cb423fba94a9a5ebccce 100755 (executable)
@@ -15,7 +15,6 @@ import pathlib
 import sys
 import sysconfig
 import zipfile
-from typing import Dict
 
 # source directory
 SRCDIR = pathlib.Path(__file__).parents[3].absolute()
@@ -134,7 +133,7 @@ def create_stdlib_zip(
                 pzf.writepy(entry, filterfunc=filterfunc)
 
 
-def detect_extension_modules(args: argparse.Namespace) -> Dict[str, bool]:
+def detect_extension_modules(args: argparse.Namespace) -> dict[str, bool]:
     modules = {}
 
     # disabled by Modules/Setup.local ?
@@ -149,7 +148,7 @@ def detect_extension_modules(args: argparse.Namespace) -> Dict[str, bool]:
     # disabled by configure?
     with open(args.sysconfig_data) as f:
         data = f.read()
-    loc: Dict[str, Dict[str, str]] = {}
+    loc: dict[str, dict[str, str]] = {}
     exec(data, globals(), loc)
 
     for key, value in loc["build_time_vars"].items():
index a0658cb351a86f4f02deb9edcc76e5a9b7008609..b2f643ddbfc2135ee45aff7e46569a03a5fbaf94 100644 (file)
@@ -16,7 +16,6 @@ import sys
 import sysconfig
 import tempfile
 
-
 CHECKOUT = pathlib.Path(__file__).parent.parent.parent.parent
 assert (CHECKOUT / "configure").is_file(), (
     "Please update the location of the file"
@@ -28,9 +27,9 @@ BUILD_DIR = CROSS_BUILD_DIR / sysconfig.get_config_var("BUILD_GNU_TYPE")
 
 LOCAL_SETUP = CHECKOUT / "Modules" / "Setup.local"
 LOCAL_SETUP_MARKER = (
-    "# Generated by Tools/wasm/wasi .\n"
-    "# Required to statically build extension modules."
-).encode("utf-8")
+    b"# Generated by Tools/wasm/wasi .\n"
+    b"# Required to statically build extension modules."
+)
 
 WASI_SDK_VERSION = 24
 
@@ -154,8 +153,7 @@ def build_python_is_pydebug():
     test = "import sys, test.support; sys.exit(test.support.Py_DEBUG)"
     result = subprocess.run(
         [build_python_path(), "-c", test],
-        stdout=subprocess.PIPE,
-        stderr=subprocess.PIPE,
+        capture_output=True,
     )
     return bool(result.returncode)