Skip to content

Package test projects for tbRegExp and tbFileSysTools, callout labels, and both packages moved to their newest versions - #237

Merged
KubaO merged 13 commits into
twinbasic:mainfrom
KubaO:staging
Oct 14, 2026
Merged

KubaO merged 13 commits into
twinbasic:mainfrom
KubaO:staging

Conversation

@KubaO

@KubaO KubaO commented Oct 14, 2026

Copy link
Copy Markdown
Collaborator

Adds a test project behind each contributed package's NOTEs and WARNINGs, gives every callout a label naming the build or version it applies to, and brings tbRegExp and tbFileSysTools up to their newest versions.

  • package tests: test/package-tests/<Package>/ holds [TestCase]s that check the correct behaviour, so a defect is a failing case recorded in expect.json.
    • package-tests.bat runs them as 32-bit and 64-bit and judges each case documented, fixed or changed. A package is named, or --all-packages is given; there is no default.
    • check_package_tests.mjs (in test.bat) ties each NOTE and WARNING to its cases through a <!-- test: ... --> marker. A <!-- test --> region does the same for prose that is not a callout.
    • The build publishes each project as <Package>-tests.twinproj with the package linked and none of its code in it. tbrun --only runs a single case.
    • tbRegExp: 31 cases, 15 documented failures. tbFileSysTools: 72 cases, 24 documented failures. Both are the same on win32 and win64.
    • tbFileSysTools WARNING: MoveFile to nul discards the file.
  • callout labels: a callout names its build or version after [!TYPE] (> [!WARNING] BETA 1005, > [!NOTE] 1.0.0.4, > [!WARNING] timeless) and the build draws the label as a tag.
    • The build refuses any other label, a package version other than the section's indexed_from, and an unlabelled callout in a contributed section.
    • analyze lists the callouts a new build or version leaves to check again.
    • 215 callouts moved to labels, 198 more were labelled with their section's version, and 45 are timeless. The console packages' NOTEs about the documentation's own tools are removed.
  • contributed packages:
    • tbRegExp 1.8.0.0: the step budget is per match and scales with the string, so the 3,300-character limit is gone. SearchAborted reports a search that gave up.
    • tbFileSysTools 1.9.0.0: new GetSpecialFolderPath and Folders.Add, and GetSpecialFolder returns a Folder. Item, GetFileVersion, writes to a read-only file and DeleteFolder raise the FSO's errors.
  • tooling: tbbuild and every harness-started IDE remove their temp folder and WebView2 profile once the IDE ends, and tbbuild removes its work folder after each run. The WIP notes lose their history and keep only what to do and why.

KubaO added 13 commits October 13, 2026 22:05
…r and WebView2 profile once it ends, and tbbuild's work folder after each run (a successful --build keeps out\)
… with the string, so long matches work (the 3,300-character limit is gone); SearchAborted reports a search that gave up
…GetSpecialFolder returns a Folder; Item raises 53, 76 and 68, GetFileVersion 53 for a missing file, writes to a read-only file raise 70 (its WARNING gone), DeleteFolder raises 70 as FSO does
…ibuted section's NOTEs and WARNINGs with [TestCase]s that check the correct behaviour (Expect.twin, generated RunAll, expect.json); package-tests.bat runs them (fixed / changed / documented), check_package_tests.mjs in test.bat ties each callout to its cases, the build publishes each project as <Package>-tests.twinproj with the package linked; tbrun --only; the probe harnesses move under it
…given, never all by default; --hang-timeout and --all-packages read under their camelCase keys; check_cli cases for both tools; WIP.md: Test cases after See Also on a contributed landing page
…-> after it) ties a statement that is not a callout to its cases; a NOTE or WARNING is only for a real difference or limit, and a silent difference from the replaced object is a NOTE (owner)
… win32 and win64), markers and regions on its pages, Test cases section; IsValid's note adds LastErrorNumber 0 for a{2,1}; SearchAborted's timings are a few seconds and a second or two
…ame on win32 and win64), markers on its pages, Test cases section; GetRelativePath fails from a 259-character base, CreateFolder nul raises 76, MoveFolder's reserved-name errors, GetFileEncoding's hiragana and kanji; WARNING: MoveFile to nul discards the file
…es to after [!TYPE] (> [!WARNING] BETA 1005, 1.0.0.4, since BETA 984), drawn as tags; the build refuses any other label and a version other than the section's indexed_from; analyze lists the callouts a new build or version leaves to check again; 215 callouts moved to labels
…one (198 labelled with the section's version), and the build refuses one without
…ge (drawn as no tag, never listed to check again); tbFileSysTools' short-name WARNING is timeless and says which procedures the Scripting Runtime shares
…Windows and registry facts, stated design, API contracts; owner); the console packages' NOTEs about the documentation's own tools are gone
@KubaO
KubaO merged commit 7514a4e into twinbasic:main Oct 14, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant