diff --git a/tests/README.md b/tests/README.md index 2a040b7..6288879 100644 --- a/tests/README.md +++ b/tests/README.md @@ -4,30 +4,45 @@ The test tree contains small smoke helpers for protocol areas that are easier to exercise outside the normal install flow. CTest names use dotted library/protocol prefixes so the output groups tests by -owner: `nwcore.ini`, `nwcore.log`, `nwcore.unicode`, `nwtui.smoke`, -`nwfs.dirquota`, `nwflaim.api.create-query-encrypt`, and so on. Keep new test -names in that shape instead of adding flat underscore-style names. +owner: `nwcore.ini`, `nwcore.log`, `nwtui.smoke`, `nwfs.dirquota`, +`nwnss.bit`, `nwnss.unicode`, `nwflaim.api.create-query-encrypt`, and so on. +Keep new test names in that shape instead of adding flat underscore-style names. +## Core library unit tests -## Core and TUI library unit tests +`tests/core` contains CTest unit tests for Mars-native `libnwcore` facilities: -`tests/core` contains normal CTest unit tests for `libnwcore` facilities. -Keep them grouped by core subsystem: `tests/core/ini` covers the shared -`nw_ini_*` reader/writer facade, `tests/core/log` covers the `nwlog_*` -level-mask facade, and imported NSS low-level helpers are covered by sibling -subdirectories such as `tests/core/bit`, `tests/core/bitmap`, -`tests/core/crc`, `tests/core/xctype`, `tests/core/xstring`, -`tests/core/utf8`, `tests/core/codepage`, `tests/core/utc`, -`tests/core/guid`, `tests/core/id`, `tests/core/zalloc`, and -`tests/core/unicode`. Future Unicode/codepage/byte coverage should keep using -new focused sibling -subdirectories instead of being added as a flat list. +- `tests/core/ini` — `nwcore.ini`: shared `nw_ini_*` reader/writer facade +- `tests/core/log` — `nwcore.log`: `nwlog_*` level-mask facade `tests/tui` contains non-interactive `libnwtui` smoke tests. These tests must not require a real terminal or compare full-screen terminal output; test widget and style logic outside the termbox2 runtime, and keep true terminal smokes optional if they are added later. +## NSS unit tests + +`tests/nwnss` contains CTest unit tests for the imported NSS runtime in +`libnwnss`. Each subdirectory covers one NSS subsystem and carries the +`nwnss.` prefix, for example `nwnss.bit`, `nwnss.bitmap`, `nwnss.crc`, +`nwnss.xctype`, `nwnss.xstring`, `nwnss.utf8`, `nwnss.codepage`, `nwnss.utc`, +`nwnss.guid`, `nwnss.id`, `nwnss.zalloc`, `nwnss.unicode`, `nwnss.namespace`, +and many more. Future NSS imports should add a focused sibling subdirectory +with a matching `nwnss.` test name. + +## FLAIM unit tests + +`tests/flaim` contains CTest unit tests for the FLAIM and XFLAIM database +libraries: `nwflaim.api.create-query-encrypt`, `nwxflaim.api.alloc`, and +`nwflaimsql.header-link`. These tests require the `ENABLE_DIRECTORY` build +option. + +## Offline dependency stubs + +`tests/fake` contains minimal GDBM and PAM header/library stubs for +compile-only local builds without system development packages. See +`tests/fake/README.md` for usage; do not use these stubs for runtime testing. + ## NWFS lib/CTest coverage `nwfs.dirquota` runs `tests/nwfs/nwfs_dirquota_test` as a normal CTest/libnwfs plausibility test for