The three new programs join the two memory sweeps

Both corpora are explicit lists and not globs, so a program added to
test/programs is covered by dune test and by @x86 and by nothing else until
somebody types its name here. files.flan, math3.flan and time.flan are typed.

time.flan is the one with something to say. getenv hands back a slice viewing
the process environment and never a copy, which is the exact shape a
use-after-free or an off-by-one length would be, and neither ASan nor memcheck
had ever seen it. files.flan brings three more path buffers through
flan_path_cstr. math3.flan is the cheap one and is here for completeness.

files.flan makes and removes its own tree, so the sweeps' two runs of it see
the same directory both times.

@sanitize is clean with all three in. @valgrind is not run here -- it is tens
of minutes and opt-in -- so those three entries are checked by the next person
who runs the alias.
This commit is contained in:
Joseph Ferano 2026-09-17 22:02:38 +07:00
parent c5b8af23a1
commit 901376ba49
2 changed files with 12 additions and 0 deletions

View File

@ -128,9 +128,14 @@ let corpus =
"programs/edn.flan", [];
"programs/enum-compare.flan", [];
"programs/error.flan", [];
(* Makes and removes its own tree, so the two runs of the sweep see the
same directory; the new C here is three more path buffers, which is
exactly what this tool is for. *)
"programs/files.flan", [];
"programs/handles.flan", [];
"programs/machine.flan", [];
"programs/math.flan", [];
"programs/math3.flan", [];
"programs/pkg-diamond.flan", [];
"programs/pkg-return.flan", [];
"programs/pkg-shared.flan", [];
@ -143,6 +148,10 @@ let corpus =
"programs/slices.flan", [];
"programs/string-of-bytes.flan", [];
"programs/text.flan", [];
(* The clock and getenv. getenv hands back a slice viewing the process
environment and never a copy, so a report here would be the one that
matters. *)
"programs/time.flan", [];
"programs/unit-main.flan", [];
"programs/utf8.flan", [];
"programs/values.flan", [];

View File

@ -215,6 +215,7 @@ let corpus =
"programs/error.flan", [];
"programs/exhausted.flan", [];
"programs/exhausted-unhandled.flan", [];
"programs/files.flan", [];
"programs/free-all-refused.flan", [];
"programs/handles.flan", [];
"programs/machine.flan", [];
@ -222,6 +223,7 @@ let corpus =
"programs/map-stale-region.flan", [];
"programs/maps.flan", [];
"programs/math.flan", [];
"programs/math3.flan", [];
"programs/pool-stale-region.flan", [];
"programs/pkg-macro.flan", [];
"programs/pkg-diamond.flan", [];
@ -241,6 +243,7 @@ let corpus =
"programs/stale-region.flan", [];
"programs/string-of-bytes.flan", [];
"programs/text.flan", [];
"programs/time.flan", [];
"programs/datas.flan", [];
"programs/unit-main.flan", [];
"programs/utf8.flan", [];