initial commit
This commit is contained in:
73
libraries/FastLED/ci/util/test_commands.py
Normal file
73
libraries/FastLED/ci/util/test_commands.py
Normal file
@@ -0,0 +1,73 @@
|
||||
#!/usr/bin/env python3
|
||||
import subprocess
|
||||
import sys
|
||||
from pathlib import Path
|
||||
from typing import Any, List
|
||||
|
||||
from ci.util.running_process import RunningProcess
|
||||
from ci.util.test_types import TestArgs
|
||||
|
||||
|
||||
def build_cpp_test_command(args: TestArgs) -> str:
|
||||
"""Build the C++ test command based on arguments"""
|
||||
cmd_list = ["uv", "run", "python", "-m", "ci.compiler.cpp_test_run"]
|
||||
|
||||
if args.clang:
|
||||
cmd_list.append("--clang")
|
||||
|
||||
if args.test:
|
||||
cmd_list.append("--test")
|
||||
cmd_list.append(args.test)
|
||||
if args.clean:
|
||||
cmd_list.append("--clean")
|
||||
if args.verbose:
|
||||
cmd_list.append("--verbose") # Always pass verbose flag when enabled
|
||||
if args.show_compile:
|
||||
cmd_list.append("--show-compile") # Pass show-compile flag
|
||||
if args.show_link:
|
||||
cmd_list.append("--show-link") # Pass show-link flag
|
||||
if args.check:
|
||||
cmd_list.append("--check")
|
||||
|
||||
if args.no_unity:
|
||||
cmd_list.append("--no-unity")
|
||||
|
||||
return subprocess.list2cmdline(cmd_list)
|
||||
|
||||
|
||||
def make_pio_check_cmd() -> List[str]:
|
||||
"""Create the PlatformIO check command"""
|
||||
return [
|
||||
"pio",
|
||||
"check",
|
||||
"--skip-packages",
|
||||
"--src-filters=+<src/>",
|
||||
"--severity=medium",
|
||||
"--fail-on-defect=high",
|
||||
"--flags",
|
||||
"--inline-suppr --enable=all --std=c++17",
|
||||
]
|
||||
|
||||
|
||||
def make_compile_uno_test_process(enable_stack_trace: bool = True) -> RunningProcess:
|
||||
"""Create a process to compile the uno tests"""
|
||||
cmd = [
|
||||
"uv",
|
||||
"run",
|
||||
"python",
|
||||
"-m",
|
||||
"ci.ci-compile",
|
||||
"uno",
|
||||
"--examples",
|
||||
"Blink",
|
||||
"--no-interactive",
|
||||
]
|
||||
return RunningProcess(cmd, auto_run=True, enable_stack_trace=enable_stack_trace)
|
||||
|
||||
|
||||
def run_command(cmd: List[str], **kwargs: Any) -> None:
|
||||
"""Run a command and handle errors"""
|
||||
try:
|
||||
subprocess.run(cmd, check=True, **kwargs)
|
||||
except subprocess.CalledProcessError as e:
|
||||
sys.exit(e.returncode)
|
||||
Reference in New Issue
Block a user