On 11/10/12 Nov 10 -11:41 AM, Tapiwa Gutu wrote:
Faithful hackers,
I decided to take up the challenge laid down here http://fare.livejournal.com/169346.html and try to consolidate the Common Lisp unit testing frameworks.I have written a framework that aims to consolidate all the major features of all your frameworks mentioned in this blog http://aperiodic.net/phil/archives/Geekery/notes-on-lisp-testing-frameworks.....
You can find it on Github https://github.com/tgutu/clunit. I also wrote a blog on the development of the framework and reasons for it here http://ml.sun.ac.za/2012/11/09/developing-a-unit-test-framework-part-1/ if you are interested.
I would very much appreciate it, if you could join me in this effort and we all work together torwards making this project a success.
Executive summary: Hey! Not so fast!
Longer:
I'm in favor of Faré's approach, but I feel like you are jumping in faster than I'd like to see us go. Faré's article suggests these steps:
1. Pick your favorite problem domain 2. Identify all libraries that address it 3. Work with various library authors 4. Pick the most promising library 5. Declare it THE library
It feels to me like you are skipping steps 3 and 4.
I guess I'd like to see a wider discussion of this issue before jumping to #5.
At SIFT, we ended up choosing FiveAM as THE library, for our purposes. Are you saying that cl-unit is the most promising? If so, why?
Or are you saying that "None of the above" is the most promising, and we need to build YA framework from scratch? That is not at all what Faré was arguing for, as I read it. Certainly the write-up by Olin Shivers should be read as a push to fix an existing framework, rather than develop a new one.
If you are proposing that we take cl-unit, what are you planning to do to provide a compatibility layer for people whose decisions are different for yours? Are you going to make it possible for people who use FiveAM to migrate their existing test suites without a lot of work?
What's your plan to do this task that Faré identifies:
"To fully solve the problem domain, we must identify all the libraries, and all their current and desired features, so that we may provide a 100% replacement to each and every one of these existing libraries, based on an architecture that makes all the future features possible."
That sounds to me like the right thing to do now is try to come to consensus around a requirements document.
I don't think that jumping into setting up a repo and slinging code is the right place to be now. Please do a little more consensus building and more "work with various library authors" and working with library users, so that you are not building YA 80% solution.
Thanks! r