Re: New asdf version
Marco Baringer <[email protected]>
| Newsgroups | gmane.lisp.cclan.general |
|---|---|
| Message-ID | <[email protected]> |
Daniel Barlow <[email protected]> writes: > 1) Whatever we choose will either be too heavyweight for authors of > small tools to want to get entangled with, or too underfeatured (or > just different) for authors of large systems to port their existing > test suites to. hmm, I hadn't really thought about what this would mean for authors of already existing systems. However, i think there _is_ a desire to write tests for systems (even small ones), just look at the number of different test suites out there. > 2) asdf is a system definition tool, not a testing framework. > Incorporating someone else's testing framework into it just means > headaches tracking version skew. If we just tell people the test > framework is available under separate cover, they have the same > installing-multiple-packages problem granted, however i'd prefer that the maintainers of asdf had to deal with that headache, rather than having every user of asdf systems have to deal with it. (i'm implicitly implying that whatever testing framework is eventually "standardized" (assuming this happens) will be included in the asdf distribution) > We've been talking about putting RT (from the CMU AI repository) into > SBCL contrib - it's already being used by a couple of the existing > contrib packages - if we do, I rather expect it will turn into > something of a de-facto standard at least for people using that > implementation. anything would be better than nothing as far as i'm concerned, and even if i don't love RT i'd rather use RT and have the tests be run than use my own testing framework and have the code go untested. no matter what (if any) testing framework is chosen if someone does want to write a test suite it should be easy to run it through asdf. proposal: If you have a test suite define a method on the generic function asdf:test specialized to (eql <name of system>), ie: (defmethod asdf:test ((dummy (eql :my-system))) (whatever) ...) asdf:test-op will simply call the generic function asdf:test passing the system name as the first arg, this method should print out a message like "PASSED" or "FAILED", but isn't actually required to do anything. If no such method is found asdf will do nothing. (with-tangential > Eventually I hope that someone will produce a lint-op operation or > similar, which will assess asdf packages for good style and complain > about this kind of stuff. But assessing taste in Lisp programming is > probably an AI problem ... well, the the code may be hard to check, but meeting certain ASDF requirements shouldn't be: something like a simple asdf-system-complaint-op which checks the existence of doc/index.html, the existence of a package named <system-name>.system, a defsystem form in the file <system-name>.asd, a directory with some tests, etc. This op would tell you if the system is asdf complaint or not, but not withstanding what this reports you'd still be able to load/compile systems. ) ps - if you downloaded 5am.tar.bz2 from my site you should get it again, the version up there had a small bug -- -Marco Ring the bells that still can ring. Forget your perfect offering. There is a crack in everything. That's how the light gets in. -Leonard Cohen ------------------------------------------------------- This SF.net email is sponsored by:Crypto Challenge is now open! Get cracking and register here for some mind boggling fun and the chance of winning an Apple iPod: http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0031en