httpd-modules-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Sorin Manolache <sor...@gmail.com>
Subject Re: Howto unittest httpd modules?
Date Thu, 11 Nov 2010 10:01:09 GMT
On Thu, Nov 11, 2010 at 08:11, Edgar Frank <ef-lists@email.de> wrote:
> Hi modules-dev-folks,
>
> I've written a handful of modules for httpd. I'm now looking for a way to setup some
unit tests. We have continuous integration running, so I want to supply some tests, starting
from compiling against httpd to basic functionality to more elaborate feature tests.
>
> I wonder how to unit-test this, as the prerequsites are rather complicated. The tests
would have to setup a httpd, provide a config, compile and install the modules. As you don't
want to modify the modules themselves, you have to run a bunch of requests and monitor expected
output - maybe measuring coverage or running valgrind on the way.
>
> I see no way to run "real" unit tests as you would have to emulate httpd and run your
modules against it, as most of the code is httpd or at least highly APR dependent. I see no
point in emulating httpd as you would have to implement every little detail - httpd specific
behaviour (e.g. in version bumps) is one important thing to test IMHO.
>
> So, has anyone some experience with this, some suggestions, howtos or tutorials? Any
help would be greatly appreciated.
>
> Regards,
> Edgar
>


In our group we unit test only parts of our modules. We unit test the
callbacks and their sequence (a sort of poor-man's emulation of
httpd). We populate a request_rec structure and then we pass it to the
various callbacks.

Our callbacks are mainly wrappers around bigger functions that are
httpd-independent. The apache filters are tested in this way.

The part that needed more code in order to emulate httpd was the
subrequest infrastructure.

Sorin

Mime
View raw message