Re: GerH source distro at hebbut.net: HOW TO compile/compare/merge for Bill et al

Paolo <[email protected]>
Newsgroups gmane.mail.spam.crm114
Message-ID <20080401213925.GZ25908@localhost>
On Tue, Apr 01, 2008 at 01:24:46PM -0400, Bill Y wrote:
> However- how can we test the system if big chunks of it are optional,
> unless the test system itself gets dynamically reconfigured to only
> test things that ought to be there?

yes, that's usual for many apps that offer configurability and provide a
(compile time) test suite.

> This sort of complication is why conditionalizing builds is not something
> I enjoy.

but it helps to design better tests and better sort out problems. Hopely.
The current case of NN blowing up test run time is one such case.

> I am also unconvinced that there is very much savings in the idea of 
> leaving out some classifiers.  The binaries just aren't that big

think of openssl, ssh: you choose which cypher you want in - no sense to 
include IDEA if you know you won't ever use it; think of Linux kernel, no
sense to compile in VIA chipset support for the kernel for your Inte chipset 
notebook, and so on - it's the general good practice of keeping things
as modular as possible. Un- needed/wanted code may undermine stability 
and/or security of the installed binary, beside small or big size/startup
penalties, for no good reasons.

>     And megatest.sh should skip those excluded.
>     Better yet, megatest.sh should be splitted in eg. 
>     - regex_test.sh
>     - ...
...
> I tried that once.  What I ended up with was lots and lots of little 
> files that were very hard to maintain.  In short, the testability
> got worse and maintainability got MUCH WORSE.

well, I realized that current test suite is already as I described, except 
that we dont' have .sh but .crm scriptlets.
What's missing is the per-test timing and the conditional run logic.
It'd be fairly easy, if crm -h would say which classifiers/modules are 
available, eg:


!trap "rm -f _test_block.sh"  1 2 3 4 8 9 11 13 15
...
!if ./crm114 -h | grep -w SVM; then
!  cat <<__F > _test_block.sh
!<svm test block>
!__F
!  time  -f "SVM: real %e  user %U  sys %S" ash _test_block.sh
!  rm -f _test_block.sh
!fi

(in a portable way, of course)


-- 
paolo

-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.