On Thu, Aug 19, 2010 at 9:48 AM, Robby Findler <ro...@eecs.northwestern.edu> wrote: > On Thu, Aug 19, 2010 at 8:44 AM, Sam Tobin-Hochstadt <sa...@ccs.neu.edu> > wrote: >> On Tue, Aug 17, 2010 at 3:57 PM, Jay McCarthy <jay.mccar...@gmail.com> wrote: >>> Please comment. >> >> I think that this: >> >> "Your first task when changing old code is to build an adequate test >> suite to ensure you do not introduce new mistakes as you attempt to >> improve it. Thank you for improving the world for future generations!" >> >> is too demanding. There are enormous areas of our code that don't >> have a test suite. How comprehensive a test suite do I need before >> changing slideshow? Or scribble (which has a test suite for the >> syntax, but not the language)? > > You should make a reasonable effort to put in a test case or two for > the specific functionality that you're adding/modifying. If there is > no test suite and you aren't sure how to build one, then ask, see what > responses you get, and go from there.
So, to make this concrete, I recently made some small changes to the scriblib/autobib library. These included changing the regexp to allow hyphens in last names, as well as allowing multiple citations at once in a particular special case. I tested these changes by running a not-then-published paper that I was working on, and seeing that it did the right thing. Then I sent the patch to Matthew, and he said it looked good. Then I committed it. There's two forms of automated test that I could have added. I could have just added a file the used the functionality, and checked that it didn't error when run. That would have been a minimal test, and wouldn't even have exercised the bug fix (it was just parsing my name wrong). Or I could have written a test framework for Scribble PDF rendering. I'm not sure how that would have worked, and it would have been a big programming investment. I don't think I had time then (or now) to do that work. For Typed Racket, testing is a hard problem, but one that I've put a bunch of effort into making possible, because it needs testing. But there's no way I'd expect someone else to put that effort in. -- sam th sa...@ccs.neu.edu _________________________________________________ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev