Unit tests
Alan DeKok
aland at deployingradius.com
Thu Oct 31 19:03:02 CET 2013
We need a bit more sanity checks on the server functionality. Sorry
about the engineering issues, but the server is getting to be *huge*.
It's getting hard to test everything before a release.
I've just committed a unit test program. It's basically "radiusd",
but without any socket functionality. It's mean to:
- read the config
- load modules, etc. just like a real server
- read a "packet" from a file
- pass the packet through the server
- print the response to another file
It also lets you specify a "filter" file. It will pass the response
through the filter, and see if it matches. This lets the validation
checks be independent of attribute ordering, whitespace, etc.
It can be run via:
$ ./build/make/jlibtool --mode=execute ./build/bin/unittest -D share/ -d
./raddb/ -i src/tests/user_password -xx -f src/tests/boo -o src/tests/out
I'll be committing a simple test framework to src/tests/ over the next
while. If people can assist with patches, it would help enormously.
The goal is to have all of the functionality of the server tested via
functional / unit tests before every release. That will help avoid
"brown bag" issues with a release.
Alan DeKok.
More information about the Freeradius-Devel
mailing list