docs: fix tests/README.md — correct nwnss test paths and add missing sections

NSS helper tests live in tests/nwnss/ with nwnss.* prefix, not in
tests/core/ with nwcore.* prefix as previously documented. Add explicit
sections for tests/nwnss, tests/flaim and tests/fake. Fix the intro
example (nwcore.unicode does not exist; nwnss.unicode does).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Mario Fetka
2026-06-18 17:34:39 +02:00
parent 979c2c099f
commit 27d41d6786

View File

@@ -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.<subsystem>` 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