Greetings to everyone! During Google Summer of code 2009, I have written a lightweight test case framework along with ~300 test cases. Recently, there were some discussions in #dragonflybsd at EFNET on how to make it easy for developers to contribute tests. The various options boil down to:
=== Commit the work in DragonFly's official source tree === Pros: 1. Developers that already have commit access can easily contribute tests. 2. There's no extra administrative cost. Cons: 1. The test suite will look like a foreign body, because it isn't integrated with our make infrastructure, contrary to what OpenBSD does for example. This was and still is a conscious decision by my side, since I'd like the tests to be able to run in other OSes as well. At least those that refer to POSIX conformance. Currently we support a plethora of them (*BSD, Linux, Open/Solaris). The test suite is a piece of software by itself and the best way to stress it is to run it in diverse environments. 2. Not all test cases are of equally high quality or importance -- I'm honest here. And although one may reasonably stand up and start saying that X Y Z test shouldn't get in, I wouldn't want to find myself in such a tasteless discussion that can easily get subjective. === Setup a separate git repository replicating crater's commit access === Pros: 1. Developers that already have commit access can easily contribute tests. 2. No need to worry about *mk integration or which tests worth being imported and whatnot. Cons: 1. Someone needs to make it happen. === Send the tests to me and have the committed to my personal git repository in leaf === Pros: 1. Zero administrative cost. 2. No need to worry about *mk integration or which tests worth being imported and whatnot. Cons: 1. No one will ever send me a test case. Personally I'm leaning towards 2 or 1. Worst case scenario is 3, where I keep working on my own until Real Life (TM) comes in, project fades away and DragonFly is back to square one in terms of regression tests. If we find a common ground of agreement, we can further discuss technical issues. For instance, I'd like to rewrite the Makefiles to make them use automatic variables, rather than the current cluttered naive rules. Of course, provided that portability isn't compromised :) The repository is available here: http://gitweb.dragonflybsd.org/~beket/pcca-tests.git In case anyone wants to give it a really quick shot: $ git clone git://gitweb.dragonflybsd.org/~beket/pcca-tests.git $ cd pcca-tests $ cat README | less # and make sure that the requirements of the host OS are met $ ./mktests.sh -sbr Please let me know of any issue whatsoever you are faced with. Best regards, Stathis Kamperis