AgeCommit message (Collapse)AuthorLines
Extend the html validity checksBryce Kwon-1/+26
Add a consistency test for the config documentsBryce Kwon-0/+54
Report ignored config keys on stderrBryce Kwon-0/+53
Fold `enable-stats` back into `max-stats`Bryce Kwon-7/+6
A `max-stats` period enables the page again, as it did before v2.2.0, so one key does both jobs.
Fold the test readme and ignore rules into the rootBryce Kwon-88/+0
Collect test scratch output under trash and resultsBryce Kwon-15/+33
Add a test suite for the shipped extensionsBryce Kwon-0/+1582
Point clone rows at a url a browser can followBryce Kwon-0/+21
Remove the language breakdown from the stats pageBryce Kwon-14/+9
Keep a detached head in the branch switcherBryce Kwon-0/+20
Add a meta description to the page headBryce Kwon-0/+3
Use registered snapshot MIME typesBryce Kwon-3/+3
Null-terminate the stats pathspec argvBryce Kwon-0/+6
Add a README describing the test suiteBryce Kwon-0/+84
Add tests for the plain page and the atom feedBryce Kwon-0/+116
Slim the serve test to what it actually needsBryce Kwon-3/+7
Rewrite the snapshot test around one helperBryce Kwon-182/+73
Deduplicate the cache test request listsBryce Kwon-48/+25
Prefer POSIX forms throughout the test scriptsBryce Kwon-14/+28
Renumber the test scripts into themed rangesBryce Kwon-3/+7
t000x the ground the suite stands on: git version, html validity, the cache t01xx page content, one script per page t02xx features that cut across pages: filters, submodule links, dates, limits t03xx defence, the security regressions and the $HOME promise t04xx the helper tools under tools/
Resolve submodule links from `.gitmodules`Bryce Kwon-1/+149
Fix the submodule rows in the tree listingBryce Kwon-0/+49
A submodule row linked to a path with its trailing slash stripped, was labelled by its path rather than its entry name, shared the name's element with its hash, claimed a size of zero and offered a blame button that cannot work on a gitlink.
Serve nothing further once a fill is abandonedBryce Kwon-0/+29
Keep error pages out of the cacheBryce Kwon-0/+14
Always send the Status headerBryce Kwon-5/+20
Drop the Last-Modified, Expires and ETag headersBryce Kwon-4/+4
Remove the obsolete summary attributesBryce Kwon-1/+1
Rework the diffstat rows and their summaryBryce Kwon-1/+1
Fix ampersand handling in generated urlsBryce Kwon-4/+5
Split preview server output at the first blank lineBryce Kwon-0/+96
Tidy the test comments and shell portabilityBryce Kwon-134/+310
Bound the search and cache key a request can askBryce Kwon-0/+40
Gather page output into one bufferBryce Kwon-0/+65
Emit generated runs in batches, not a write eachBryce Kwon-0/+53
Fix hunk numbering and a leak in the ssdiff viewBryce Kwon-0/+35
A hunk header that states no length was numbered from the wrong line, and the line a deferred row copied was never freed.
Sort refs by the date the ref actually carriesBryce Kwon-0/+57
Expand `module-link` placeholders outside printfBryce Kwon-0/+71
Add `enable-relative-dates` and `date-format`Bryce Kwon-0/+91
Mark the security test executableBryce Kwon-0/+0
Drop the help tab and its built-in guideBryce Kwon-25/+0
Reorganize the tree into vendor/ and custom/Bryce Kwon-8/+8
Replace the browser markdown renderer with a filterBryce Kwon-2/+2
The readme is now escaped plain text unless `about-filter` points at the new `about-render.lua`, which renders markdown, man pages and plain text server-side. `enable-markdown` goes away with the renderer.
Add `max-patch-count` to bound the patch viewBryce Kwon-0/+13
Backfill an absent commit messageBryce Kwon-0/+22
Cap diff blobs by `max-blob-size`Bryce Kwon-0/+26
The diff family inflated a blob of any size just to render it. A file over the limit is reported as binary instead.
Percent-encode file paths in side-by-side diffsBryce Kwon-0/+26
Bound syntax-highlight memory and widen coverageBryce Kwon-0/+5
Reorganize and simplify the MakefileBryce Kwon-2/+2
Make the clean targets remove real test outputBryce Kwon-2/+2
Gate the stats page and add a language breakdownBryce Kwon-0/+81
`max-stats` only bounds the selectable periods now and no longer doubles as the enable switch. The tree walk runs before the history walk on purpose. Releasing commit memory while walking history resets each commit slab index, and a commit graph lookup afterwards would read another commit slot and walk the wrong tree. The stats fixture writes a commit graph so the tests cover that path. The history walk bounds the window in process rather than passing a formatted since date to `setup_revisions`, and parses each commit once.