From: Tulio A M Mendes Date: Sun, 15 Feb 2026 00:09:35 +0000 (-0300) Subject: docs: update README, POSIX_ROADMAP, TESTING_PLAN for 35-check smoke test battery X-Git-Url: https://projects.tadryanom.me/docs/static/git-logo.png?a=commitdiff_plain;h=2c261198ce6f87448bf8328fcfe7532d913825b8;p=AdrOS.git docs: update README, POSIX_ROADMAP, TESTING_PLAN for 35-check smoke test battery - README: 35 QEMU smoke tests (was 20), 48 total features, test status - POSIX_ROADMAP: init.elf test count updated to 35 checks - TESTING_PLAN: smoke test count updated to 35 --- diff --git a/README.md b/README.md index 1f8cfbd..39d4b9e 100644 --- a/README.md +++ b/README.md @@ -148,7 +148,7 @@ AdrOS is a Unix-like, POSIX-compatible, multi-architecture operating system deve ### Testing - **47 host-side unit tests** — `test_utils.c` (28) + `test_security.c` (19) -- **20 QEMU smoke tests** — 4-CPU expect-based (includes ICMP ping network test) +- **35 QEMU smoke tests** — 4-CPU expect-based (file I/O, signals, memory mgmt, IPC, devices, procfs, networking) - **16-check test battery** — multi-disk ATA (hda+hdb+hdd), VFS mount, ping, diskfs ops (`make test-battery`) - **Static analysis** — cppcheck, sparse, gcc -fanalyzer - **GDB scripted checks** — heap/PMM/VGA integrity @@ -169,7 +169,7 @@ QEMU debug helpers: See [POSIX_ROADMAP.md](docs/POSIX_ROADMAP.md) for a detailed checklist. -**All 31 planned POSIX tasks are complete**, plus 10+ additional features: DOOM port, uid/gid/euid/egid, framebuffer, raw keyboard, fd-backed mmap, kernel stack guards, FAT12/16/32 full RW, ext2 full RW, ICMP ping, kernel command line parser. ~103K lines of C/ASM/headers across 255 commits. The kernel covers **~95%** of the core POSIX interfaces needed for a practical Unix-like system. +**All 31 planned POSIX tasks are complete**, plus 17 additional features (48 total). ~103K lines of C/ASM/headers across 256+ commits. The kernel covers **~95%** of the core POSIX interfaces needed for a practical Unix-like system. All 35 smoke tests, 16 battery checks, and 47 host unit tests pass clean. ### Remaining work for full POSIX compliance - **Full `ld.so`** — relocation processing for shared libraries (`dlopen`/`dlsym`) diff --git a/docs/POSIX_ROADMAP.md b/docs/POSIX_ROADMAP.md index c3156f2..188aa32 100644 --- a/docs/POSIX_ROADMAP.md +++ b/docs/POSIX_ROADMAP.md @@ -250,7 +250,7 @@ Notes: | Feature | Status | Notes | |---------|--------|-------| | ELF32 loader | [x] | Secure with W^X + ASLR; supports `ET_EXEC` + `ET_DYN` + `PT_INTERP` | -| `/bin/init.elf` (smoke tests) | [x] | Comprehensive test suite (19+ checks) | +| `/bin/init.elf` (smoke tests) | [x] | Comprehensive test suite (35 checks: file I/O, signals, memory, IPC, devices, procfs) | | `/bin/echo` | [x] | argv/envp test | | `/bin/sh` | [x] | POSIX sh-compatible shell; builtins, pipes, redirects, `$PATH` search | | `/bin/cat` | [x] | | diff --git a/docs/TESTING_PLAN.md b/docs/TESTING_PLAN.md index 221058e..c11ab65 100644 --- a/docs/TESTING_PLAN.md +++ b/docs/TESTING_PLAN.md @@ -5,7 +5,7 @@ All four testing layers are **implemented and operational**: - **Static analysis** (`make check`): cppcheck + sparse + gcc -fanalyzer (59 x86 C files) -- **QEMU smoke tests** (`make test`): expect-based, 20 checks (incl. ICMP ping), 4-CPU SMP, 90s timeout +- **QEMU smoke tests** (`make test`): expect-based, 35 checks (file I/O, signals, memory, IPC, devices, procfs, networking), 4-CPU SMP, 90s timeout - **Test battery** (`make test-battery`): 16 checks across 5 QEMU scenarios — multi-disk ATA, VFS mount, ping, diskfs - **Host unit tests** (`make test-host`): 47 tests — `test_utils.c` (28) + `test_security.c` (19) - **GDB scripted checks** (`make test-gdb`): heap/PMM/VGA integrity validation @@ -107,7 +107,7 @@ To run manually: boot AdrOS with `-vga std`, then execute `/bin/doom.elf` from t ```makefile make check # cppcheck + sparse + gcc -fanalyzer -make test # QEMU + expect automated smoke test (20 checks incl. ICMP ping) +make test # QEMU + expect automated smoke test (35 checks incl. ICMP ping) make test-battery # Full test battery: multi-disk ATA, VFS mount, ping, diskfs (16 checks) make test-host # Host-side unit tests for pure functions make test-gdb # QEMU + GDB scripted checks (optional)