From fa4b9a134b9b2b6ad6ae4d4515878551eae93e1a Mon Sep 17 00:00:00 2001 From: Hojun-Cho Date: Sat, 8 Aug 2026 04:29:31 +0900 Subject: [PATCH] lib: migrate every test file to the canonical *_test.ww name 25 renames (git mv, content untouched). _test.ww is what the package coordinator's test detection and the sep loader's canonical exclusion key on; the old *test.ww spellings survived only through the line-leading-@test compatibility scan. Consumers updated in place: LIBRARY_TESTS, the libbyteid roster, the 901/974/975/976 carriers that copy or invoke these files, and the check.c/check.ww + path/ftos comments that cite them. Closes the open-driver-work migration bullet. --- Makefile | 26 +++++------ cmd/wcc/check.c | 2 +- docs/test-system-v2.md | 3 -- lib/ascii/{asciitest.ww => ascii_test.ww} | 0 lib/bufio/{bufiotest.ww => bufio_test.ww} | 0 lib/bytes/{bytestest.ww => bytes_test.ww} | 0 lib/dirs/{dirstest.ww => dirs_test.ww} | 0 lib/encoding/hex/{hextest.ww => hex_test.ww} | 0 .../utf8/{utf8test.ww => utf8_test.ww} | 0 lib/errors/{errnotest.ww => errno_test.ww} | 0 lib/fmt/{fmttest.ww => fmt_test.ww} | 0 .../{fnmatchtest.ww => fnmatch_test.ww} | 0 lib/getopt/{getopttest.ww => getopt_test.ww} | 0 lib/log/{logtest.ww => log_test.ww} | 0 lib/memio/{memiotest.ww => memio_test.ww} | 0 lib/os/{ostest.ww => os_test.ww} | 0 lib/os/{stattest.ww => stat_test.ww} | 0 lib/path/{pathtest.ww => path_test.ww} | 4 +- lib/shlex/{shlextest.ww => shlex_test.ww} | 0 .../test/{ftostest.ww => ftos_test.ww} | 2 +- lib/strconv/test/{inttest.ww => int_test.ww} | 0 .../test/{stoftest.ww => stof_test.ww} | 0 .../{stringstest.ww => strings_test.ww} | 0 lib/temp/{temptest.ww => temp_test.ww} | 0 lib/time/{timetest.ww => time_test.ww} | 0 lib/ww/syntax/{asttest.ww => ast_test.ww} | 0 lib/ww/syntax/{symtest.ww => sym_test.ww} | 0 lib/ww/syntax/{toktest.ww => tok_test.ww} | 0 selfhost/cmd/wcc/check.ww | 2 +- test/byteid/libbyteid_test.ww | 46 +++++++++---------- test/wcc/901_asserttyped_gap.c | 2 +- test/wcc/974_getenv_run.c | 8 ++-- test/wcc/975_dirs_run.c | 6 +-- test/wcc/976_stat_run.c | 6 +-- 34 files changed, 52 insertions(+), 55 deletions(-) rename lib/ascii/{asciitest.ww => ascii_test.ww} (100%) rename lib/bufio/{bufiotest.ww => bufio_test.ww} (100%) rename lib/bytes/{bytestest.ww => bytes_test.ww} (100%) rename lib/dirs/{dirstest.ww => dirs_test.ww} (100%) rename lib/encoding/hex/{hextest.ww => hex_test.ww} (100%) rename lib/encoding/utf8/{utf8test.ww => utf8_test.ww} (100%) rename lib/errors/{errnotest.ww => errno_test.ww} (100%) rename lib/fmt/{fmttest.ww => fmt_test.ww} (100%) rename lib/fnmatch/{fnmatchtest.ww => fnmatch_test.ww} (100%) rename lib/getopt/{getopttest.ww => getopt_test.ww} (100%) rename lib/log/{logtest.ww => log_test.ww} (100%) rename lib/memio/{memiotest.ww => memio_test.ww} (100%) rename lib/os/{ostest.ww => os_test.ww} (100%) rename lib/os/{stattest.ww => stat_test.ww} (100%) rename lib/path/{pathtest.ww => path_test.ww} (98%) rename lib/shlex/{shlextest.ww => shlex_test.ww} (100%) rename lib/strconv/test/{ftostest.ww => ftos_test.ww} (98%) rename lib/strconv/test/{inttest.ww => int_test.ww} (100%) rename lib/strconv/test/{stoftest.ww => stof_test.ww} (100%) rename lib/strings/{stringstest.ww => strings_test.ww} (100%) rename lib/temp/{temptest.ww => temp_test.ww} (100%) rename lib/time/{timetest.ww => time_test.ww} (100%) rename lib/ww/syntax/{asttest.ww => ast_test.ww} (100%) rename lib/ww/syntax/{symtest.ww => sym_test.ww} (100%) rename lib/ww/syntax/{toktest.ww => tok_test.ww} (100%) diff --git a/Makefile b/Makefile index 5a4cf87f..b7d244cf 100644 --- a/Makefile +++ b/Makefile @@ -396,23 +396,23 @@ $(BIN)/test_%: test/wcc/%.c test/wcc/wwtestpkg.h $(LIB)/libwcc.a | $(BIN) # Native library tests execute their source owner directly. The retired C # launchers added no assertion beyond this exit status. -LIBRARY_TESTS = lib/errors/errnotest.ww lib/ascii/asciitest.ww \ - lib/ww/syntax/toktest.ww lib/ww/syntax/asttest.ww \ - lib/ww/syntax/symtest.ww \ - lib/strconv/test/ftostest.ww lib/strconv/test/stoftest.ww \ - lib/strconv/test/inttest.ww lib/strings/stringstest.ww \ - lib/bytes/bytestest.ww lib/encoding/utf8/utf8test.ww \ - lib/bufio/bufiotest.ww lib/math/random/random_test.ww \ - lib/math/checked/checked_test.ww lib/fmt/fmttest.ww \ - lib/log/logtest.ww lib/fnmatch/fnmatchtest.ww \ - lib/shlex/shlextest.ww lib/time/timetest.ww \ - lib/encoding/hex/hextest.ww lib/memio/memiotest.ww \ - lib/temp/temptest.ww lib/getopt/getopttest.ww \ +LIBRARY_TESTS = lib/errors/errno_test.ww lib/ascii/ascii_test.ww \ + lib/ww/syntax/tok_test.ww lib/ww/syntax/ast_test.ww \ + lib/ww/syntax/sym_test.ww \ + lib/strconv/test/ftos_test.ww lib/strconv/test/stof_test.ww \ + lib/strconv/test/int_test.ww lib/strings/strings_test.ww \ + lib/bytes/bytes_test.ww lib/encoding/utf8/utf8_test.ww \ + lib/bufio/bufio_test.ww lib/math/random/random_test.ww \ + lib/math/checked/checked_test.ww lib/fmt/fmt_test.ww \ + lib/log/log_test.ww lib/fnmatch/fnmatch_test.ww \ + lib/shlex/shlex_test.ww lib/time/time_test.ww \ + lib/encoding/hex/hex_test.ww lib/memio/memio_test.ww \ + lib/temp/temp_test.ww lib/getopt/getopt_test.ww \ lib/encoding/base32/base32_test.ww \ lib/encoding/base64/base64_test.ww \ lib/hash/adler32/adler32_test.ww lib/hash/crc16/crc16_test.ww \ lib/hash/crc32/crc32_test.ww lib/hash/crc64/crc64_test.ww \ - lib/path/pathtest.ww lib/crypto/sha256/sha256_test.ww \ + lib/path/path_test.ww lib/crypto/sha256/sha256_test.ww \ lib/hash/siphash/siphash_test.ww # These real sources have a standalone-compilation contract that is not diff --git a/cmd/wcc/check.c b/cmd/wcc/check.c index ec4688f7..f25c93d4 100644 --- a/cmd/wcc/check.c +++ b/cmd/wcc/check.c @@ -2900,7 +2900,7 @@ src_imports(Node *file, const char *modtag, const char *name) if (file == NULL || name == NULL || name[0] == '\0') return 0; for (Node *u = file->list; u; u = u->next) { if (u->kind != N_USE) continue; - /* Skip self-imports: lib/fmt/fmttest.ww carries `use fmt;` + /* Skip self-imports: lib/fmt/fmt_test.ww carries `use fmt;` * even though its module tag is also "fmt"; that directive * doesn't introduce a foreign module bareword and lib/fmt's * own `fn bsprintf(fmt: str, ...)` is not a shadow of it. */ diff --git a/docs/test-system-v2.md b/docs/test-system-v2.md index b38bdd95..cded0423 100644 --- a/docs/test-system-v2.md +++ b/docs/test-system-v2.md @@ -310,9 +310,6 @@ drift: single-threaded by design today). - A package-level `-o` contract (single-file `ww test -o` exists; directory packages publish fixed `.test` stems under `-c`). -- Universal `*_test.ww` filename migration for library tests (several - library suites still use the older `*test.ww` names, enumerated by - `LIBRARY_TESTS` and the `989_lib_byteid` roster). - The remaining invalid-`@test` attribute-shape diagnostics (exported tests, prototypes, arguments, variadics, non-void returns, duplicate annotations) with stable text in both frontends. diff --git a/lib/ascii/asciitest.ww b/lib/ascii/ascii_test.ww similarity index 100% rename from lib/ascii/asciitest.ww rename to lib/ascii/ascii_test.ww diff --git a/lib/bufio/bufiotest.ww b/lib/bufio/bufio_test.ww similarity index 100% rename from lib/bufio/bufiotest.ww rename to lib/bufio/bufio_test.ww diff --git a/lib/bytes/bytestest.ww b/lib/bytes/bytes_test.ww similarity index 100% rename from lib/bytes/bytestest.ww rename to lib/bytes/bytes_test.ww diff --git a/lib/dirs/dirstest.ww b/lib/dirs/dirs_test.ww similarity index 100% rename from lib/dirs/dirstest.ww rename to lib/dirs/dirs_test.ww diff --git a/lib/encoding/hex/hextest.ww b/lib/encoding/hex/hex_test.ww similarity index 100% rename from lib/encoding/hex/hextest.ww rename to lib/encoding/hex/hex_test.ww diff --git a/lib/encoding/utf8/utf8test.ww b/lib/encoding/utf8/utf8_test.ww similarity index 100% rename from lib/encoding/utf8/utf8test.ww rename to lib/encoding/utf8/utf8_test.ww diff --git a/lib/errors/errnotest.ww b/lib/errors/errno_test.ww similarity index 100% rename from lib/errors/errnotest.ww rename to lib/errors/errno_test.ww diff --git a/lib/fmt/fmttest.ww b/lib/fmt/fmt_test.ww similarity index 100% rename from lib/fmt/fmttest.ww rename to lib/fmt/fmt_test.ww diff --git a/lib/fnmatch/fnmatchtest.ww b/lib/fnmatch/fnmatch_test.ww similarity index 100% rename from lib/fnmatch/fnmatchtest.ww rename to lib/fnmatch/fnmatch_test.ww diff --git a/lib/getopt/getopttest.ww b/lib/getopt/getopt_test.ww similarity index 100% rename from lib/getopt/getopttest.ww rename to lib/getopt/getopt_test.ww diff --git a/lib/log/logtest.ww b/lib/log/log_test.ww similarity index 100% rename from lib/log/logtest.ww rename to lib/log/log_test.ww diff --git a/lib/memio/memiotest.ww b/lib/memio/memio_test.ww similarity index 100% rename from lib/memio/memiotest.ww rename to lib/memio/memio_test.ww diff --git a/lib/os/ostest.ww b/lib/os/os_test.ww similarity index 100% rename from lib/os/ostest.ww rename to lib/os/os_test.ww diff --git a/lib/os/stattest.ww b/lib/os/stat_test.ww similarity index 100% rename from lib/os/stattest.ww rename to lib/os/stat_test.ww diff --git a/lib/path/pathtest.ww b/lib/path/path_test.ww similarity index 98% rename from lib/path/pathtest.ww rename to lib/path/path_test.ww index a16c1357..cb001890 100644 --- a/lib/path/pathtest.ww +++ b/lib/path/path_test.ww @@ -1,5 +1,5 @@ // pathtest — exercises lib/path (c2-stack subset). Run with -// `out/bin/ww run lib/path/pathtest.ww`. A failing row aborts via the +// `out/bin/ww run lib/path/path_test.ww`. A failing row aborts via the // assert/abort builtin (task #5 @test conversion). // // Vectors mirror Hare's @test fns in ref/hare/path/stack.ha:77-119 @@ -7,7 +7,7 @@ // to c3 (abs/local unimplemented); only the relative rows run here. // // Parallel `[N]str` row arrays (rather than `[N]struct{...}`) sidestep -// the cstage cgen chained `arr[i].field` store gap (getopttest.ww:6). +// the cstage cgen chained `arr[i].field` store gap (getopt_test.ww:6). // push is stateful, so each row is applied in sequence to one buffer; // the table holds {segment, expected-string} pairs (stack.ha:36-42 is // the normalization spec these rows encode). diff --git a/lib/shlex/shlextest.ww b/lib/shlex/shlex_test.ww similarity index 100% rename from lib/shlex/shlextest.ww rename to lib/shlex/shlex_test.ww diff --git a/lib/strconv/test/ftostest.ww b/lib/strconv/test/ftos_test.ww similarity index 98% rename from lib/strconv/test/ftostest.ww rename to lib/strconv/test/ftos_test.ww index d24a9f41..c91c5ce2 100644 --- a/lib/strconv/test/ftostest.ww +++ b/lib/strconv/test/ftos_test.ww @@ -1,5 +1,5 @@ // ftostest — exercises lib/strconv/ftos.ww (Hare ftos.ha / ftos_ryu.ha -// Ryū port). Run with `out/bin/ww run lib/strconv/test/ftostest.ww`. +// Ryū port). Run with `out/bin/ww run lib/strconv/test/ftos_test.ww`. // A failing row aborts via the assert/abort builtin (task #5 @test // conversion). // diff --git a/lib/strconv/test/inttest.ww b/lib/strconv/test/int_test.ww similarity index 100% rename from lib/strconv/test/inttest.ww rename to lib/strconv/test/int_test.ww diff --git a/lib/strconv/test/stoftest.ww b/lib/strconv/test/stof_test.ww similarity index 100% rename from lib/strconv/test/stoftest.ww rename to lib/strconv/test/stof_test.ww diff --git a/lib/strings/stringstest.ww b/lib/strings/strings_test.ww similarity index 100% rename from lib/strings/stringstest.ww rename to lib/strings/strings_test.ww diff --git a/lib/temp/temptest.ww b/lib/temp/temp_test.ww similarity index 100% rename from lib/temp/temptest.ww rename to lib/temp/temp_test.ww diff --git a/lib/time/timetest.ww b/lib/time/time_test.ww similarity index 100% rename from lib/time/timetest.ww rename to lib/time/time_test.ww diff --git a/lib/ww/syntax/asttest.ww b/lib/ww/syntax/ast_test.ww similarity index 100% rename from lib/ww/syntax/asttest.ww rename to lib/ww/syntax/ast_test.ww diff --git a/lib/ww/syntax/symtest.ww b/lib/ww/syntax/sym_test.ww similarity index 100% rename from lib/ww/syntax/symtest.ww rename to lib/ww/syntax/sym_test.ww diff --git a/lib/ww/syntax/toktest.ww b/lib/ww/syntax/tok_test.ww similarity index 100% rename from lib/ww/syntax/toktest.ww rename to lib/ww/syntax/tok_test.ww diff --git a/selfhost/cmd/wcc/check.ww b/selfhost/cmd/wcc/check.ww index 4bec0705..d5c557a7 100644 --- a/selfhost/cmd/wcc/check.ww +++ b/selfhost/cmd/wcc/check.ww @@ -218,7 +218,7 @@ fn srcimports(file: *syntax.node, modtag: str, name: str) bool = { let u: *syntax.node = file.list; for (u != nil) { if (u.kind == syntax.nkind.N_USE) { - // Skip self-imports: lib/fmt/fmttest.ww carries + // Skip self-imports: lib/fmt/fmt_test.ww carries // `use fmt;` while its module tag is also "fmt". // That directive doesn't introduce a foreign // module bareword and lib/fmt's own diff --git a/test/byteid/libbyteid_test.ww b/test/byteid/libbyteid_test.ww index 1f370fd2..691d253b 100644 --- a/test/byteid/libbyteid_test.ww +++ b/test/byteid/libbyteid_test.ww @@ -104,12 +104,12 @@ fn corpus() []ent = { for (z < es.len) { zeroent(&es[z]); z += 1; }; let n: i32 = 0; let k: *i32 = &n; - fx(es, k, "lib/bytes/bytestest.ww"); - fx(es, k, "lib/dirs/dirstest.ww"); + fx(es, k, "lib/bytes/bytes_test.ww"); + fx(es, k, "lib/dirs/dirs_test.ww"); fx(es, k, "lib/encoding/base32/base32_test.ww"); - fx(es, k, "lib/encoding/hex/hextest.ww"); - fx(es, k, "lib/encoding/utf8/utf8test.ww"); - fx(es, k, "lib/getopt/getopttest.ww"); + fx(es, k, "lib/encoding/hex/hex_test.ww"); + fx(es, k, "lib/encoding/utf8/utf8_test.ww"); + fx(es, k, "lib/getopt/getopt_test.ww"); fx(es, k, "lib/hash/adler32/adler32_test.ww"); fx(es, k, "lib/hash/crc16/crc16_test.ww"); fx(es, k, "lib/hash/crc32/crc32_test.ww"); @@ -117,19 +117,19 @@ fn corpus() []ent = { fx(es, k, "lib/hash/siphash/siphash_test.ww"); fx(es, k, "lib/math/checked/checked_test.ww"); fx(es, k, "lib/math/random/random_test.ww"); - fx(es, k, "lib/memio/memiotest.ww"); - fx(es, k, "lib/os/ostest.ww"); + fx(es, k, "lib/memio/memio_test.ww"); + fx(es, k, "lib/os/os_test.ww"); pr(es, k, "package main;\nimport os.exec;\nfn main() i32 = { return 0; };\n", "package exec;", "lib/os/exec"); fx(es, k, "lib/regex/regex_test.ww"); - fx(es, k, "lib/strconv/test/ftostest.ww"); - fx(es, k, "lib/strconv/test/stoftest.ww"); - fx(es, k, "lib/strconv/test/inttest.ww"); - fx(es, k, "lib/strings/stringstest.ww"); - fx(es, k, "lib/temp/temptest.ww"); - fx(es, k, "lib/time/timetest.ww"); - fx(es, k, "lib/bufio/bufiotest.ww"); - fx(es, k, "lib/fmt/fmttest.ww"); + fx(es, k, "lib/strconv/test/ftos_test.ww"); + fx(es, k, "lib/strconv/test/stof_test.ww"); + fx(es, k, "lib/strconv/test/int_test.ww"); + fx(es, k, "lib/strings/strings_test.ww"); + fx(es, k, "lib/temp/temp_test.ww"); + fx(es, k, "lib/time/time_test.ww"); + fx(es, k, "lib/bufio/bufio_test.ww"); + fx(es, k, "lib/fmt/fmt_test.ww"); pr(es, k, "package main;\nimport sort;\nfn main() i32 = { return 0; };\n", "package sort;", "lib/sort"); pr(es, k, "package main;\nimport path;\nfn main() i32 = { return 0; };\n", @@ -154,17 +154,17 @@ fn corpus() []ent = { // from the retired 815/940/951 driver-parity carriers. No // sentinel: there is no dep unit to prove. pr(es, k, "package main;\nfn main() i32 = { return 0; };\n", "", ""); - fx(es, k, "lib/ascii/asciitest.ww"); + fx(es, k, "lib/ascii/ascii_test.ww"); fx(es, k, "lib/encoding/base64/base64_test.ww"); - fx(es, k, "lib/errors/errnotest.ww"); - fx(es, k, "lib/log/logtest.ww"); - fx(es, k, "lib/os/stattest.ww"); + fx(es, k, "lib/errors/errno_test.ww"); + fx(es, k, "lib/log/log_test.ww"); + fx(es, k, "lib/os/stat_test.ww"); // toktest/asttest resolve `import syntax` via -I lib/ww, cf 905 - fxi(es, k, "lib/ww/syntax/toktest.ww", "lib/ww"); - fxi(es, k, "lib/ww/syntax/asttest.ww", "lib/ww"); + fxi(es, k, "lib/ww/syntax/tok_test.ww", "lib/ww"); + fxi(es, k, "lib/ww/syntax/ast_test.ww", "lib/ww"); fx(es, k, "lib/crypto/sha256/sha256_test.ww"); - fx(es, k, "lib/fnmatch/fnmatchtest.ww"); - fx(es, k, "lib/shlex/shlextest.ww"); + fx(es, k, "lib/fnmatch/fnmatch_test.ww"); + fx(es, k, "lib/shlex/shlex_test.ww"); assert(n == NENTEXPECT); return es; }; diff --git a/test/wcc/901_asserttyped_gap.c b/test/wcc/901_asserttyped_gap.c index 179fb67b..2411ae13 100644 --- a/test/wcc/901_asserttyped_gap.c +++ b/test/wcc/901_asserttyped_gap.c @@ -151,7 +151,7 @@ main(void) "B fn-ptr struct-field call", 0, 1 }, { "lib/encoding/utf8/utf8.ww", "C abort intrinsic callee", 0, 1 }, - { "lib/fnmatch/fnmatchtest.ww", + { "lib/fnmatch/fnmatch_test.ww", "D module-leaf == type/fn name", 0, 1 }, { "lib/math/random/random_test.ww", "D module-leaf == type/fn name", 0, 1 }, diff --git a/test/wcc/974_getenv_run.c b/test/wcc/974_getenv_run.c index f395ad29..fb576708 100644 --- a/test/wcc/974_getenv_run.c +++ b/test/wcc/974_getenv_run.c @@ -2,13 +2,13 @@ * 974_getenv_run — execute the lib/os getenv smoke fixture under the * C-side `ww run` driver and assert exit 0. * - * Pre-arranges the environment that lib/os/ostest.ww asserts against: + * Pre-arranges the environment that lib/os/os_test.ww asserts against: * * WW_TEST_GETENV = "hello-world" (set, non-empty) * WW_TEST_EMPTY = "" (set, empty value) * WW_TEST_NOT_SET unset (unsetenv-cleared) * - * The child `ww run` process inherits this env, so ostest.ww's + * The child `ww run` process inherits this env, so os_test.ww's * `os.getenv` calls see exactly the state we configured here. This * is the "C-side env arrangement" pattern (parent sets, child reads) * — proper POSIX shape for stdlib testing without a `setenv` ww @@ -46,12 +46,12 @@ main(void) char cwd[1024]; if (getcwd(cwd, sizeof cwd) == NULL) return 1; - /* Pre-arrange the env state ostest.ww asserts against. */ + /* Pre-arrange the env state os_test.ww asserts against. */ setenv("WW_TEST_GETENV", "hello-world", 1); setenv("WW_TEST_EMPTY", "", 1); unsetenv("WW_TEST_NOT_SET"); - const char *src = "lib/os/ostest.ww"; + const char *src = "lib/os/os_test.ww"; char path[1024], cmd[2048]; snprintf(path, sizeof path, "%s/%s", cwd, src); snprintf(cmd, sizeof cmd, "%s/ww test %s", bin, path); diff --git a/test/wcc/975_dirs_run.c b/test/wcc/975_dirs_run.c index 8ee91ae1..7d4be32f 100644 --- a/test/wcc/975_dirs_run.c +++ b/test/wcc/975_dirs_run.c @@ -5,9 +5,9 @@ * Workflow: * 1. mkdtemp /tmp/wwdirs-XXXXXX — fresh per run, no cross-run * stale state, no parallel-test conflicts. - * 2. setenv the four cohort env states (see lib/dirs/dirstest.ww + * 2. setenv the four cohort env states (see lib/dirs/dirs_test.ww * file header for the contract). - * 3. exec `ww test lib/dirs/dirstest.ww`. The fixture reads + * 3. exec `ww test lib/dirs/dirs_test.ww`. The fixture reads * WW_TEST_TMPDIR + the XDG_/HOME envs and asserts. * 4. Remove the exact auto-created child dirs bottom-up, then the * mkdtemp-owned root. @@ -63,7 +63,7 @@ main(void) unsetenv("XDG_STATE_HOME"); setenv("WW_TEST_TMPDIR", tmpl, 1); - const char *src = "lib/dirs/dirstest.ww"; + const char *src = "lib/dirs/dirs_test.ww"; char path[1024], cmd[2048]; snprintf(path, sizeof path, "%s/%s", cwd, src); snprintf(cmd, sizeof cmd, "%s/ww test %s", bin, path); diff --git a/test/wcc/976_stat_run.c b/test/wcc/976_stat_run.c index 4d330223..6498e2a2 100644 --- a/test/wcc/976_stat_run.c +++ b/test/wcc/976_stat_run.c @@ -10,9 +10,9 @@ * /symlink → ./regfile (relative symlink) * /subdir directory, mode 0700 * 3. setenv WW_TEST_STAT_REGFILE / SYMLINK / SUBDIR / NOENT with - * the absolute paths; lib/os/stattest.ww reads them via + * the absolute paths; lib/os/stat_test.ww reads them via * os.getenv and exercises stat/lstat/fstat/exists. - * 4. exec `ww test lib/os/stattest.ww`. + * 4. exec `ww test lib/os/stat_test.ww`. * 5. Remove the exact children and then the mkdtemp-owned root. * * Same wrapper shape as 970-975; cleanup runs on success and failure. @@ -62,7 +62,7 @@ main(void) snprintf(symlink_path, sizeof symlink_path, "%s/symlink", tmpl); snprintf(subdir, sizeof subdir, "%s/subdir", tmpl); snprintf(noent, sizeof noent, "%s/does-not-exist", tmpl); - const char *src = "lib/os/stattest.ww"; + const char *src = "lib/os/stat_test.ww"; int fail = 0, subdir_owned = 0; /* Populate. */