Commit Briefs
allow running only specific tests
It's now possible to run only a subset of the tests with: ./runtime test1 test2 ...
rework the regression suite
The tests are still there, the suite is equivalent to the old one, but this one is better structured. The biggest annoyance I had with the old one was that it wasn't straightforward to test only a specific set of tests. It's still impossible, but it's way easier to do it now. This extract all the tests to their own functions. It's overall better in all possible regards.
update tests
* we don't add a space before the lang anymore * we're more strict in CGI handling: the `invalid' CGI script now triggers a 42 CGI ERROR
fix possible out-of-bound access
While computing the parent directory it an out-of-bound access can occur, which usually means the server process dies. In particular, it can be triggered by making a request for a non-existent file in the root of a virtual host if the path matches the `cgi` pattern. Thanks cage for helping in debugging!
unbreak configless mode
An un-initialized field in the configless code path leads to a crash on the first request.
provide a fallback value for SKIP_RUNTIME_TESTS
some [ implementation will warn about "bad number"
rename `mime MIME EXT' to `map MIME to-ext EXT'
With the newish automatic string concatenation, options like `mime' that accepts two strings as parameter start to become ambiguous: which strings gets concatenated? Instead of trying to document in the manpage which argument(s) is subject to string concatenation, do the concat always and introduce a separator. In the case of mime, `to-ext' now acts as a separator to distinguish. While there, also use a new keyword because it sounds better. It's dead-easy to upgrade to the new configuration, possibly with some sed magic, but for the moment the old `mime' form is preserved: (with a warning!) Will be dropped in the next release.
provide a means to skip the runtime tests
Setting the environment variable SKIP_RUNTIME_TESTS to 1 will prevent the runtime tests. This is useful when running the tests inside a sandbox. based on a similar diff by Anna "CyberTailor"
add some simple test for fastcgi
and while there reorder the targets in the Makefile a bit