On Wed, May 23, 2018 at 8:48 AM, Micha Lenk <mi...@lenk.info> wrote: > On 05/25/2017 11:44 PM, Jacob Champion wrote (almost a year ago): >> >> Last week I had a personal hackathon since I couldn't make it out to >> ApacheCon. As a result there is now a C-language unit test suite available >> in branches/httpdunit (based on trunk). I've tested it with a Windows+CMake >> toolchain as well as an Ubuntu+autoconf toolchain. >> >> The suite itself is based on Check, which is a testing library I've had >> some success with in the past. It's supported on a wide variety of platforms >> and has a nice feature of running each test in a separate process space, so >> a crash doesn't derail the entire suite. (Note: Check is LGPL.) The build >> system has been augmented slightly to generate some of the more tedious >> boilerplate code. >> >> If you want to give it a try, just install Check (and, if using the >> configure scripts, make sure Check is visible via pkg-config). The test >> suite will then automatically be added to the default targets. Once >> everything builds you just run the suite directly with >> >> $ ./test/httpdunit >> >> As a Check binary, it has multiple knobs to control which tests run and >> how the reporting is done, but by default it just runs all the tests and >> prints TAP to stdout. >> >> The example tests that are currently running are testing a new API for >> strict Base64 decoding. Right now it's a feature without a client; I >> included it here because it was a good showcase of the test suite (see >> test/unit/base64.c for the test case code). >> >> Let me know what you think! > > > I totally like the idea of having unit tests for httpd, so thanks a lot for > adding them! > > I recently struggled compiling trunk locally on Debian 9.4 because of these > unit tests. Apparently it fails to link test/httpdunit because of undefined > references to ap_queue_info_push_pool and other symbols. See the attached > build log for more details. > > Does anybody have an idea what went wrong? Am I missing something? > How does buildbot build?
I think there was a subsequent change to factor some of the shared queue stuff out of event/worker, probably missing just a few additional targets now. I guess the CI setup needs to be updated to at least build the unit tests?