AgeCommit message (Collapse)AuthorLines
Spell side-by-side in the test commentsBryce Kwon-1/+1
Ask for a url through cgit_url everywhereBryce Kwon-3/+3
Move the later tests to the config writersBryce Kwon-97/+38
The one-line request wrappers go with them. Configs with several repositories, a key out of place on purpose, the cache on or no repository of their own stay written out.
Work out each gitlink's target onceBryce Kwon-4/+1
Test bodies run in the main shell, so the target named in the fixture reaches every check that greps for it.
Serve both readme escaping checks from one configBryce Kwon-16/+9
Ask each page that sorts odd branches in one loopBryce Kwon-23/+8
Write the test filter scripts with write_scriptBryce Kwon-3/+1
Drop test lines that add nothingBryce Kwon-1/+0
The trash directory starts empty and setup.sh already made the cache, the clamp check already fails on a short query, and the commit the setup named is still there to pin.
Leave two log checks to the log testsBryce Kwon-5/+0
t0103 already renders foo/log and finds commit 5, and its search for a bracket fails the same way this literal search did if --fixed-strings ever goes.
Leave the blob size refusals to the limits testsBryce Kwon-22/+5
t0204 asks the tree, plain, blob and blame pages for one oversized blob and checks the exact status and message, so the looser copy here went.
Serve only the files a dumb clone asks forBryce Kwon-2/+2
The object path check let any run of safe characters through, so a spelling such as info//alternates or info/./alternates reached the alternates file the exact name was refused for. Only a loose object, a pack with its index and info/http-alternates are served now, and any other path is not found.
Describe root-readme as the site's about pageBryce Kwon-0/+16
Answer 404 for any path below the about pageBryce Kwon-1/+1
The about page served every file beside the readme as a page of its own, through the about filter, and answered 200 for directories and missing files alike. Images it passed through came from the root of the default branch whatever the readme's own directory and ref. A readme on disk exposed its whole directory this way.
Pin the advisory classes with tests and name an empty authorBryce Kwon-0/+110
Each class behind cgit's published advisories now has a check against the current code, from a newline in a file name to shell syntax handed to a filter. The feed also treated an ident with an empty name and an empty address as present and wrote an empty person, which Atom forbids.
Test the hardening passBryce Kwon-1/+1
Harden the request path, scan and error recoveryBryce Kwon-5/+26
Clean up the whole treeBryce Kwon-2/+1
Trim the comments and dead code across the treeBryce Kwon-4/+2
Remove the auto-submitting selectsBryce Kwon-4/+4
Renumber the test scripts into themed rangesBryce Kwon-0/+358
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/