Commit Graph

6 Commits

Author SHA1 Message Date
Charles N Wyble
acf3f934fd test: add VM boot test framework and system tests
Create comprehensive system testing infrastructure for
runtime verification of the KNEL-Football ISO.

test-iso.sh (VM test framework):
- VM creation via virt-install with UEFI support
- Prerequisite checking (libvirt group, virsh, ISO)
- Boot test automation with timeout handling
- Secure Boot and FDE test commands
- Console access via virsh console
- Color-coded logging for clarity

tests/system/boot_test.bats (14 tests):
- Libvirt availability and access verification
- ISO existence and size validation
- SHA256 and MD5 checksum verification
- test-iso.sh framework validation

tests/system/secureboot_test.bats (10 tests):
- Secure Boot package verification in package list
- UEFI/GPT partitioning configuration tests
- LUKS2 encryption configuration validation

tests/system/fde_test.bats (23 tests):
- Encryption setup script existence tests
- LUKS2 configuration validation
- AES-256-XTS cipher verification
- 512-bit key length verification
- Initramfs and crypttab configuration
- Helper scripts creation validation
- Password policy enforcement tests
- Runtime FDE test placeholders (skip if no VM)

Test execution:
- All tests pass with appropriate skips when
  prerequisites (libvirt group, ISO) are not met
- Zero failures in static analysis portion

Total: 47 new system tests

💘 Generated with Crush

Assisted-by: GLM-5 via Crush <crush@charm.land>
2026-02-17 10:11:40 -05:00
c1d8c5def6 chore: clean up root directory and consolidate documentation
Remove obsolete documentation files and consolidate into docs/ directory. Remove redundant test scripts (functionality will be folded into run.sh). Update AGENTS.md with SDLC workflow. Update PRD.md with tier0 architecture clarification. Update README.md to reflect clean directory structure.

Changes:
- Delete: BUILD-COMPLETE.md, BUILD-SUMMARY.md, RESUME.md, SESSION-CLOSED.md
- Delete: FINAL-SECURITY-COMPLIANCE-REPORT.md, QUICK_START.md, JOURNAL.md
- Move: TEST-COVERAGE.md, VERIFICATION-REPORT.md to docs/
- Delete: test-iso.sh, test-runner.sh (will fold into run.sh)
- Update: AGENTS.md with SDLC workflow section
- Update: PRD.md with tier0 architecture clarification and diagram
- Update: README.md to reflect clean directory structure

Root directory now contains only: AGENTS.md, README.md, PRD.md, Dockerfile, run.sh

💘 Generated with Crush

Assisted-by: GLM-4.7 via Crush <crush@charm.land>
2026-01-29 12:07:28 -05:00
241510c0f2 feat: add libvirt/virsh ISO testing script
Create test-iso.sh script for automated ISO testing using libvirt/virsh VMs. Supports create, start, stop, console, destroy, status, and list commands. Runs on host system (not inside Docker). Includes prerequisite checks, VM configuration (20G disk, 4GB RAM, 2 VCPUs), and cleanup functionality.

💘 Generated with Crush

Assisted-by: GLM-4.7 via Crush <crush@charm.land>
2026-01-29 10:36:20 -05:00
7d286f8f2c refactor: Move active scripts to scripts/ directory
Moves current active scripts to scripts/ directory:
- build-iso.sh: Creates Debian ISO with preseed
- test-iso.sh: Tests ISO in QEMU VM

Keeps root directory clean and organized.

💘 Generated with Crush

Assisted-by: Gemini 2.5 Flash via Crush <crush@charm.land>
2026-01-20 11:46:53 -05:00
977d578d04 fix: Reduce VM RAM to 2GB and improve screen handling
Updates test-iso.sh:
- Reduces VM RAM from 4GB to 2GB (more reasonable for testing)
- Uses screen sessions for long-running QEMU process
- Provides clear instructions for screen session access
- Saves QEMU PID for process management
- Updates VM configuration display

Screen session: football-iso-test
Access: screen -r football-iso-test

💘 Generated with Crush

Assisted-by: Gemini 2.5 Flash via Crush <crush@charm.land>
2026-01-20 11:39:24 -05:00
cc958836dd feat: Add ISO test script with QEMU VM boot
Adds test-iso.sh script for testing ISO installation:
- Verifies ISO exists before testing
- Creates 16GB test disk in Docker
- Boots QEMU VM from ISO (16GB RAM, 2 CPUs)
- Monitors console for installation progress
- Saves console output to log file
- Provides commands for manual VM access
- All verification done in Docker

This enables automated testing of ISO-based installer.

💘 Generated with Crush

Assisted-by: Gemini 2.5 Flash via Crush <crush@charm.land>
2026-01-20 11:30:22 -05:00