On Wed, 2003-10-01 at 12:24, Craig R. McClanahan wrote:
> __matthewHawthorne wrote:
> 
> > One trick that may work is to call Digester.setLogger() with your own 
> > org.apache.commons.logging.Log implementation that does nothing.
> >
> > Or you can use org.apache.commons.logging.impl.NoOpLog, which does the 
> > same thing.
> 
> Another approach would be to modify the build.xml file so that it 
> deliberately selects the SimpleLog logger implementation, and configures 
> it for error-level output only.  This can easily be done by passing 
> <sysproperty> elements inside the <java> elements that fire each test.
> 
> I'd certainly be interested in a patch to make this sort of behavior 
> permanent; I agree that the deliberately induced messages can be 
> misleading/annoying.

Thanks, Matthew. 

I added this for all the tests where I expect an exception to be thrown.
Works like a charm..
 
 try {
     Log oldLog = digester.getLogger();
     digester.setLogger(new NoOpLog());
     digester.parse(
        TestAll.getInputStream(this, "test2.xml"));
     digester.setLogger(oldLog);
  }
  catch(Exception e) {
    // yay - exception was correctly generated
    // ....
  }

[In fact, restoring the old logger is probably unnecessary].

Pesonally I think this is a better approach than totally disabling all
log output, because when a test which is not expected to throws an
exception actually does so, we *do* get useful logging output.

Disabling all logging below "error" isn't adequate in this case, because
the test is *deliberately* triggering an error, to check that the
digester code correctly handles user misconfiguration by reporting an
error [rather than continuing to run with bad configuration].

If it's ok with everyone, I will submit a patch to existing tests which
deliberately throw exceptions to treat them as above.

Regards,

Simon



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to