eccc6f5676
feat(testing): add kernel coverage integration — Phase 3 complete
...
tools/uos-boot-test/uos-kernel-coverage.py:
- New coverage orchestration script (376 lines)
- Integrates with existing uos-cover tools
- Workflow: instrument → build → run → extract → parse → report
- Supports --arch, --report, --timeout, --skip-build flags
- Handles missing UMAP data gracefully (expected for initial integration)
kernel/Makefile:
- Add coverage targets: coverage, coverage-armv7, coverage-aarch64, etc.
- Configurable COVERAGE_TOOL and COVERAGE_REPORT paths
.github/workflows/ci.yml:
- Add 'kernel-coverage' job for armv7
- Runs after kernel-build
- Installs QEMU + cross-compiler + Python
- Runs uos-kernel-coverage.py
- Uploads coverage report as artifact
Phase 3 of testing roadmap: Coverage analysis infrastructure operational.
Note: Full coverage requires libuoscov runtime in kernel (future work).
2026-07-12 17:13:51 +01:00
793069c915
feat(testing): add boot test infrastructure — Phase 1 complete
...
kernel/Makefile:
- Add 'test' target that builds + boots all architectures
- Add 'test-armv7', 'test-aarch64', 'test-riscv' per-arch targets
- Configurable timeout (BOOT_TIMEOUT=15s) and banner string
- Architecture matrix: armv7, aarch64, riscv
tools/uos-boot-test/:
- New QEMU orchestrator (356 lines Python)
- Spawns QEMU, captures UART, checks for boot banner
- JUnit XML output for CI integration
- Supports --arch, --timeout, --junit, --verbose flags
- Per-arch configs with correct QEMU binaries and flags
.github/workflows/ci.yml:
- Add 'boot-test' job that runs after kernel-build
- Matrix strategy: armv7, aarch64, riscv
- Downloads ELF artifacts from kernel-build job
- Installs QEMU + cross-compilers
- Runs uos-boot-test.py with JUnit XML output
- Uploads test results as artifacts
Phase 1 of testing roadmap: CI boot testing now operational.
2026-07-12 16:42:23 +01:00