mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-10-24 20:59:03 -05:00
fix: accept -p and -t in every tool
verify, generate_pack and cross_reference took -p and -t, slots, generate_truth, diff_truth, export_native and refresh_data_dirs refused them. A test reads every add_argument call.
This commit is contained in:
1 parent
fac47dc4c0
commit
2eee7a991d
6 files changed
+36
-7
No files matched your search
@@ -182,7 +182,7 @@ def main() -> None:
|
||||
group.add_argument(
|
||||
"--all", action="store_true", help="diff all registered platforms"
|
||||
)
|
||||
group.add_argument("--platform", type=platform_arg, help="diff a single platform")
|
||||
group.add_argument("--platform", "-p", type=platform_arg, help="diff a single platform")
|
||||
# One output form: --json beside --format markdown printed JSON and
|
||||
# dropped the markdown without a word.
|
||||
output = parser.add_mutually_exclusive_group()
|
||||
@@ -207,7 +207,7 @@ def main() -> None:
|
||||
help="platform YAML directory (default: %(default)s)",
|
||||
)
|
||||
parser.add_argument(
|
||||
"--target",
|
||||
"--target", "-t",
|
||||
help="read the models generate_truth --target wrote, each under the "
|
||||
"target as its platform files it",
|
||||
)
|
||||
|
||||
@@ -857,7 +857,7 @@ def main() -> None:
|
||||
)
|
||||
group = parser.add_mutually_exclusive_group(required=True)
|
||||
group.add_argument("--all", action="store_true", help="every platform")
|
||||
group.add_argument("--platform", type=platform_arg, help="a single platform")
|
||||
group.add_argument("--platform", "-p", type=platform_arg, help="a single platform")
|
||||
parser.add_argument(
|
||||
"--output-dir", default="exports",
|
||||
help="directory the updated platform files go to (default: %(default)s)",
|
||||
|
||||
@@ -43,7 +43,7 @@ def parse_args(argv: list[str] | None = None) -> argparse.Namespace:
|
||||
)
|
||||
group = parser.add_mutually_exclusive_group(required=True)
|
||||
group.add_argument("--all", action="store_true", help="all registered platforms")
|
||||
group.add_argument("--platform", type=platform_arg, help="single platform name")
|
||||
group.add_argument("--platform", "-p", type=platform_arg, help="single platform name")
|
||||
parser.add_argument(
|
||||
"--output-dir",
|
||||
default=DEFAULT_OUTPUT_DIR,
|
||||
|
||||
@@ -576,7 +576,9 @@ def main() -> None:
|
||||
parser.add_argument(
|
||||
"--dry-run", action="store_true", help="Preview without downloading"
|
||||
)
|
||||
parser.add_argument("--platform", type=platform_arg, help="Only refresh entries for this platform")
|
||||
parser.add_argument(
|
||||
"--platform", "-p", type=platform_arg, help="Only refresh entries for this platform"
|
||||
)
|
||||
parser.add_argument(
|
||||
"--registry", default=DEFAULT_REGISTRY, help="Path to _data_dirs.yml"
|
||||
)
|
||||
|
||||
+2
-2
@@ -897,7 +897,7 @@ def main() -> int:
|
||||
"the file a platform baseline would ship.",
|
||||
)
|
||||
parser.add_argument(
|
||||
"--platform", type=platform_arg,
|
||||
"--platform", "-p", type=platform_arg,
|
||||
help="one platform instead of all",
|
||||
)
|
||||
parser.add_argument(
|
||||
@@ -918,7 +918,7 @@ def main() -> int:
|
||||
help="with all platforms, the archived ones too (RetroPie)",
|
||||
)
|
||||
parser.add_argument(
|
||||
"--target", help="judge only the cores a hardware target builds",
|
||||
"--target", "-t", help="judge only the cores a hardware target builds",
|
||||
)
|
||||
parser.add_argument(
|
||||
"--strict",
|
||||
|
||||
@@ -145,6 +145,33 @@ class TheVerifySummaryCountsDiscrepancies(unittest.TestCase):
|
||||
self.assertIn(part, message)
|
||||
|
||||
|
||||
class OneSpellingPerOption(unittest.TestCase):
|
||||
"""verify.py -p batocera worked and slots.py -p batocera was refused."""
|
||||
|
||||
SHORT = {"--platform": "-p", "--target": "-t"}
|
||||
# migrate.py's --target is the directory files move to, not a hardware target.
|
||||
OTHER_MEANING = {("migrate.py", "--target")}
|
||||
|
||||
def test_every_script_takes_the_short_forms(self):
|
||||
import ast # noqa: PLC0415
|
||||
|
||||
missing = []
|
||||
for path in sorted((REPO_ROOT / "scripts").rglob("*.py")):
|
||||
tree = ast.parse(path.read_text(encoding="utf-8"))
|
||||
for node in ast.walk(tree):
|
||||
if not (isinstance(node, ast.Call)
|
||||
and getattr(node.func, "attr", None) == "add_argument"):
|
||||
continue
|
||||
flags = [a.value for a in node.args
|
||||
if isinstance(a, ast.Constant) and isinstance(a.value, str)]
|
||||
for long, short in self.SHORT.items():
|
||||
if (path.name, long) in self.OTHER_MEANING:
|
||||
continue
|
||||
if long in flags and short not in flags:
|
||||
missing.append(f"{path.relative_to(REPO_ROOT)}:{node.lineno} {long}")
|
||||
self.assertEqual(missing, [])
|
||||
|
||||
|
||||
class ThePipelineCountsItsRealSteps(unittest.TestCase):
|
||||
"""Labels read N/8 for a run of 24 steps, and the summary used keys
|
||||
the log never printed."""
|
||||
|
||||
Reference in new issue
Block a user