fixed # 修改进度条表现

add # 新增Ruff代码格式工作流
This commit is contained in:
2026-10-27 23:02:43 +08:00
parent c6b504924e
commit b09d51c7c9
20 changed files with 486 additions and 136 deletions
+48
View File
@@ -0,0 +1,48 @@
import ast
import sys
import unittest
from pathlib import Path
from unittest.mock import patch
ROOT = Path(__file__).resolve().parents[1]
sys.path.insert(0, str(ROOT / "scripts"))
from format_generated import format_generated
class FormatGeneratedTests(unittest.TestCase):
def test_formats_sorts_and_is_idempotent_without_changing_assets(self):
files = {
"package/main.py": (
b"import sys\r\nimport os\r\n\r\n"
b"def run( ):\r\n return 'ok',os.name,sys.version\r\n"
),
"images/example.png": b"unchanged binary\x00",
}
format_generated(ROOT, files)
source = files["package/main.py"]
self.assertTrue(source.startswith(b"import os\nimport sys\n"))
self.assertIn(b' return "ok", os.name, sys.version\n', source)
self.assertNotIn(b"\r", source)
ast.parse(source, feature_version=(3, 10))
self.assertEqual(files["images/example.png"], b"unchanged binary\x00")
first = files.copy()
format_generated(ROOT, files)
self.assertEqual(files, first)
def test_ruff_failure_does_not_partially_update_file_collection(self):
files = {"good.py": b"x=1\n", "bad.py": b"def broken(:\n"}
before = files.copy()
with self.assertRaisesRegex(RuntimeError, "failed Ruff"):
format_generated(ROOT, files)
self.assertEqual(files, before)
def test_rejects_unsafe_paths_and_missing_ruff(self):
for name in ("../outside.py", "C:/outside.py", "/outside.py"):
with self.subTest(name=name):
with self.assertRaisesRegex(ValueError, "Unsafe"):
format_generated(ROOT, {name: b"x=1\n"})
with patch(
"format_generated.importlib.util.find_spec", return_value=None
):
with self.assertRaisesRegex(RuntimeError, "requirements-build"):
format_generated(ROOT, {"main.py": b"x=1\n"})