mirror of
https://github.com/ruvnet/RuView
synced 2026-06-24 12:43:18 +00:00
fix(ci): QEMU validation treats WARNs as OK + swarm IDF export
1. validate_qemu_output.py: WARNs exit 0 by default (no real WiFi hardware in QEMU = no CSI data = expected WARNs for frame/vitals checks). Add --strict flag to fail on warnings when needed. 2. Swarm Test: source IDF export.sh before running qemu_swarm.py so pip-installed pyyaml is on the Python path. Co-Authored-By: claude-flow <ruv@ruv.net>
This commit is contained in:
@@ -375,6 +375,10 @@ def main():
|
||||
"log_file",
|
||||
help="Path to QEMU UART log file",
|
||||
)
|
||||
parser.add_argument(
|
||||
"--strict", action="store_true",
|
||||
help="Exit non-zero on warnings (default: only fail on errors/fatals)",
|
||||
)
|
||||
args = parser.parse_args()
|
||||
|
||||
log_path = Path(args.log_file)
|
||||
@@ -392,12 +396,15 @@ def main():
|
||||
report = validate_log(log_text)
|
||||
report.print_report()
|
||||
|
||||
# Map max severity to exit code
|
||||
# Map max severity to exit code.
|
||||
# WARNs are expected in QEMU without real WiFi hardware (no CSI data
|
||||
# flowing), so they exit 0 to avoid failing CI. Use --strict to
|
||||
# fail on warnings (useful for mock-CSI scenarios where data IS expected).
|
||||
max_sev = report.max_severity
|
||||
if max_sev <= Severity.SKIP:
|
||||
sys.exit(0)
|
||||
elif max_sev == Severity.WARN:
|
||||
sys.exit(1)
|
||||
sys.exit(1 if args.strict else 0)
|
||||
elif max_sev == Severity.ERROR:
|
||||
sys.exit(2)
|
||||
else:
|
||||
|
||||
Reference in New Issue
Block a user