From 63d7edeeb6e37ab7101284a584cb5ddd191e7429 Mon Sep 17 00:00:00 2001 From: Max Horn Date: Sun, 8 Mar 2026 00:28:46 +0100 Subject: [PATCH 1/2] Make worksheet regeneration dynamic Detect worksheet inputs by scanning tst/worksheets for non-empty .sheet directories instead of hardcoding a short list. This lets regen_tests.g create or refresh expected output for all runnable worksheet fixtures. Print a brief progress line before each worksheet so long regeneration runs show which sheet is being processed. Co-authored-by: Codex --- regen_tests.g | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/regen_tests.g b/regen_tests.g index d7625de5..4c67fae7 100644 --- a/regen_tests.g +++ b/regen_tests.g @@ -53,6 +53,25 @@ AUTODOC_RegenWorkSheetExpected := function(wsdir, ws) od; end; +AUTODOC_DetectedWorkSheets := function(wsdir) + local entries; + + entries := DirectoryContents(wsdir); + entries := Filtered(entries, f -> f <> "." and f <> ".."); + entries := Filtered(entries, + f -> IsDirectoryPath(Filename(wsdir, f)) and + Length(f) > 6 and + PositionSublist(f, ".sheet") = Length(f) - 5); + Sort(entries); + + # Ignore empty placeholder directories which are not runnable worksheets. + entries := Filtered(entries, + f -> Length(Filtered(DirectoryContents(Filename(wsdir, f)), + x -> x <> "." and x <> "..")) > 0); + + return List(entries, f -> f{[1 .. Length(f) - 6]}); +end; + AUTODOC_RegenAllWorkSheetExpected := function() local wsdir, ws; wsdir := DirectoriesPackageLibrary("AutoDoc", "tst/worksheets"); @@ -61,7 +80,8 @@ AUTODOC_RegenAllWorkSheetExpected := function() Error("could not access tst/worksheets/"); fi; - for ws in ["general", "autoplain"] do + for ws in AUTODOC_DetectedWorkSheets(wsdir) do + Print("Now processing sheet tst/worksheets/", ws, ".sheet/\n"); AUTODOC_RegenWorkSheetExpected(wsdir, ws); od; end; From 2868cb384ebe56d0506c23e4ce217dc2b7c02ff9 Mon Sep 17 00:00:00 2001 From: Max Horn Date: Sun, 8 Mar 2026 00:35:18 +0100 Subject: [PATCH 2/2] Let regen_test.g also regenerate the .tst files --- regen_tests.g | 3 +++ 1 file changed, 3 insertions(+) diff --git a/regen_tests.g b/regen_tests.g index 4c67fae7..5f635adf 100644 --- a/regen_tests.g +++ b/regen_tests.g @@ -4,6 +4,7 @@ fi; LoadPackage("io", false); SetInfoLevel(InfoAutoDoc, 1); +SetInfoLevel(InfoGAPDoc, 0); AUTODOC_RegenWorkSheetExpected := function(wsdir, ws) local sheetdir, expecteddir, filenames, old, f, tstfiles, x; @@ -152,4 +153,6 @@ end; AUTODOC_RegenAllWorkSheetExpected(); AUTODOC_RegenManualExpected(); +TestDirectory( DirectoriesPackageLibrary("AutoDoc", "tst"), rec(rewriteToFile := true ) ); + QUIT_GAP(0);