[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: means to disable tests
On Fri, 11 Nov 2005, Neil Van Dyke wrote:
>I'm fond of single-file libraries, and like to embed test cases within
>the libraries, with a simple way of disabling the test suite when the
>library is deployed (to free up some resources).
Me too. The way I handle it is very unschemely, though.
I put it between #ifdef and #endif lines in the source code.
I process Scheme files using CPP and make. Multi-file projects
are concatenated according to make targets and #ifdef configuration
commands into a single "target" file which is loaded into the
system. This is ugly and it fails to win the advantages of separate
compilation, but it's flexible, near universally available and
_means_the_same_thing_in_all_versions_of_scheme_ , so it's the
configuration control and module system I use. Anyway, I have
different makefile targets for "testbuild" and "interactivebuild"
and "releasebuild" -- and often even separate targets for testing
separate specific subsystems that include test routines and
accessors not needed in the general builds.
However, this goes way past just testing; configuration
control is actually a bigger problem. And the fact that
the best solution I've found is at best an ugly hack is
telling, as far as I'm concerned, as to exactly how sticky
a problem it is.
I will be watching the module system proposal from the
R6RS committee with interest; although I wouldn't actually
suggest doing it the way I do it, if I feel that the module
system proposal doesn't allow the same flexibility and
unambiguity, odds are I won't be using it myself.
But on that tack, are we confident that this SRFI won't
be obsoleted instantly by the module system proposal that
presumably allows some kind of configuration control?