|
From: Jakob K. <jke...@ch...> - 2009-02-11 15:52:15
|
here's the patch i spoke of. this fixes the problem for me, however i don't
know whether it's not a little too rigorous to exclude all non-existing
files. maybe someone could have a look at it.
also, this patch does not fix the problem of the errorhandling going wild...
On Tuesday 10 February 2009 10:42:14 Jakob Ketterl wrote:
> hi list,
>
> i've just checked out the current trunk and am trying to get the code
> coverage feature to work. unfortunately it seems that using the eval()
> function seems to break it completely. what i'm getting is this:
>
> Test cases run: 49/51, Passes: 777, Failures: 60, Exceptions: 37
>
> Fatal error: Maximum function nesting level of '100' reached, aborting!
> in /home/jketterl/workspace/SimpleTest/errors.php on line 274
>
> Call Stack:
> 0.0015 115276 1. {main}
> () /home/jketterl/workspace/me/tests/index.php:0
> 30.4381 20075780 2.
> CodeCoverage->stopCoverage()
> /home/jketterl/workspace/me/tests/index.php:152 30.5230 21371992 3.
> CoverageDataHandler->write()
> /home/jketterl/workspace/SimpleTest/extensions/coverage/coverage.php:91
> 31.9787 21403664 4.
> SQLiteDatabase->queryExec()
> /home/jketterl/workspace/SimpleTest/extensions/coverage/coverage_data_handl
>er.php:44 31.9788 21404320 5.
> SimpleTestErrorHandler() /home/jketterl/workspace/SimpleTest/errors.php:0
> 31.9802 21404516 6.
> SimpleErrorQueue->add() /home/jketterl/workspace/SimpleTest/errors.php:241
> 31.9806 21404580 7.
> SimpleErrorQueue->testLatestError()
> /home/jketterl/workspace/SimpleTest/errors.php:121 31.9809 21404644 8.
> SimpleTestCase->error() /home/jketterl/workspace/SimpleTest/errors.php:157
> 31.9810 21404772 9.
> trigger_error() /home/jketterl/workspace/SimpleTest/test_case.php:274
> 31.9810 21405140 10.
> SimpleTestErrorHandler() /home/jketterl/workspace/SimpleTest/errors.php:0
> 31.9816 21405312 11.
> SimpleErrorQueue->add() /home/jketterl/workspace/SimpleTest/errors.php:241
> 31.9817 21405520 12.
> SimpleErrorQueue->testLatestError()
> /home/jketterl/workspace/SimpleTest/errors.php:121 31.9820 21405584 13.
> SimpleTestCase->error() /home/jketterl/workspace/SimpleTest/errors.php:157
> 31.9821 21405784 14.
> trigger_error() /home/jketterl/workspace/SimpleTest/test_case.php:274
> 31.9821 21406344 15.
> SimpleTestErrorHandler() /home/jketterl/workspace/SimpleTest/errors.php:0
> 31.9827 21406592 16.
> SimpleErrorQueue->add() /home/jketterl/workspace/SimpleTest/errors.php:241
> 31.9829 21406812 17.
> SimpleErrorQueue->testLatestError()
> /home/jketterl/workspace/SimpleTest/errors.php:121
>
> [snip]
>
> it just keeps repeating from there on.
>
> i've inserted an echo statement just for debugging and it seems as if the
> code trips on this sqlite statement:
>
> insert into coverage (name, coverage) values
> ('/home/jketterl/workspace/me/library/Cxo/Filter/Element.php(212) :
> eval()'d code', 'a:3:{i:1;i:1;i:2;i:1;i:3;i:1;}')
>
> seems reasonable, since there's an unmatched quote in there, which should
> raise an error (i'm having a different system though where this results in
> a segfault, but that's a different story...)
>
> i'm trying to get a patch that would block invalid sql statements, but the
> stack trace above looks like there's some kind of error handling active
> that should only trip on tests, but not on simpletests own code.
>
> any advice how to handle this?
>
> ---------------------------------------------------------------------------
>--- Create and Deploy Rich Internet Apps outside the browser with
> Adobe(R)AIR(TM) software. With Adobe AIR, Ajax developers can use existing
> skills and code to build responsive, highly engaging applications that
> combine the power of local resources and data with the reach of the web.
> Download the Adobe AIR SDK and Ajax docs to start building applications
> today-http://p.sf.net/sfu/adobe-com
> _______________________________________________
> Simpletest-support mailing list
> Sim...@li...
> https://lists.sourceforge.net/lists/listinfo/simpletest-support
|