Type-safe test arguments
| 69 | @typechecked |
| 70 | @dataclass |
| 71 | class TestArgs: |
| 72 | """Type-safe test arguments""" |
| 73 | |
| 74 | cpp: bool = False |
| 75 | unit: bool = False |
| 76 | py: bool = False |
| 77 | test: Optional[str] = None |
| 78 | clang: bool = False |
| 79 | gcc: bool = False |
| 80 | clean: bool = False |
| 81 | no_interactive: bool = False |
| 82 | interactive: bool = False |
| 83 | verbose: bool = False |
| 84 | show_compile: bool = False |
| 85 | show_link: bool = False |
| 86 | quick: bool = False |
| 87 | no_stack_trace: bool = False |
| 88 | stack_trace: bool = False |
| 89 | check: bool = False |
| 90 | examples: Optional[list[str]] = None |
| 91 | no_pch: bool = False |
| 92 | full: bool = False |
| 93 | |
| 94 | no_parallel: bool = False # Force sequential test execution |
| 95 | debug: bool = False # Enable debug mode for unit tests and examples |
| 96 | build_mode: Optional[str] = None # Override build mode (quick, debug, release) |
| 97 | qemu: Optional[list[str]] = ( |
| 98 | None # Run examples in QEMU emulation (deprecated - use --run) |
| 99 | ) |
| 100 | run: Optional[list[str]] = ( |
| 101 | None # Run examples in emulation (QEMU for ESP32, avr8js for AVR) |
| 102 | ) |
| 103 | no_fingerprint: bool = False # Disable fingerprint caching |
| 104 | build: bool = False # Build Docker images if missing (use with --run) |
| 105 | force: bool = False # Force rerun of all tests, ignore fingerprint cache |
| 106 | no_unity: bool = False # Not in use any more, maybe revived later |
| 107 | docker: bool = ( |
| 108 | False # Run tests inside Docker container (implies --debug unless overridden) |
| 109 | ) |
| 110 | default_mode: bool = False # True when no specific test flags were provided |
| 111 | list_tests: bool = False # List available tests without running them |
| 112 | raw_test_query: Optional[str] = None # Original test query before disambiguation |
| 113 | log_failures: Optional[Path] = None # Directory to write per-test failure logs |
| 114 | debug_test: bool = False # Enable debug tracing for KeyboardInterrupt handlers |
| 115 | setup_only: bool = ( |
| 116 | False # Run Meson setup only (generate compile_commands.json), skip build/test |
| 117 | ) |
| 118 | |
| 119 | |
| 120 | @typechecked |