Ticket #342 (closed enhancement: fixed)
custom-made re-engine in SelectorUtils is awful slow
| Reported by: | uwe@… | Owned by: | mrook |
|---|---|---|---|
| Priority: | minor | Milestone: | 2.4.0RC1 |
| Component: | phing-core | Version: | 2.3.2 |
| Keywords: | Cc: |
Description
The methods match() and matchPath() in SelectorUtils are quite slow doing a regular expression matching "by hand". Instead of reimplementing a lite form of preg_match() we better should use preg_match() directly. The attached patch converts the pattern into a regular expression and does the matching using preg_match().
Having to copy round about 1800 files in a <copy /> task it took 29.5 seconds using phing 2.3.3. With the patch applied the runtime droped to 18.9 seconds.
I suppose the method matchPatternStart() could be optimized as well but I couldn't quite understand it's intended purpose so I didn't touch it. As far as I can see in the cachegrind.out, it didn't even get invoked.
Attachments
Change History
comment:1 Changed 3 years ago by mrook
- Owner changed from hans to mrook
- Priority changed from major to minor
- Status changed from new to assigned
- Milestone set to 2.4.0
comment:2 Changed 3 years ago by mrook
Unfortunately, your patch breaks one of the Phing unit tests...
comment:3 Changed 3 years ago by Uwe Mesecke <uwe@…>
in 2.3 or 2.4? I did not try phing 2.4 but I try to look at it tomorrow...
comment:4 Changed 3 years ago by Uwe Mesecke <uwe@…>
Hmm... I have troubles running the unit tests myself... After installing phpunit2 I tried to launch run-tests.php but there are a lot of errors:
phing-2.4 clean checkout from svn-trunk:
Hermione:~/workspace/phing-trunk/test uwe$ php run-tests.php PHPUnit 2.3.6 by Sebastian Bergmann. FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF Time: 0.012387 There were 35 failures: 1) Warning(PHPUnit2_Framework_Warning) Constructor of class IntrospectionHelperTest is not TestCase($name) or TestCase(). /Users/uwe/workspace/phing-trunk/test/run-tests.php:85 2) Warning(PHPUnit2_Framework_Warning) Constructor of class IntrospectionHelperTest is not TestCase($name) or TestCase(). /Users/uwe/workspace/phing-trunk/test/run-tests.php:85 3) Warning(PHPUnit2_Framework_Warning) Constructor of class IntrospectionHelperTest is not TestCase($name) or TestCase(). /Users/uwe/workspace/phing-trunk/test/run-tests.php:85 [...] 34) Warning(PHPUnit2_Framework_Warning) Constructor of class ImportTaskTest is not TestCase($name) or TestCase(). /Users/uwe/workspace/phing-trunk/test/run-tests.php:85 35) Warning(PHPUnit2_Framework_Warning) Constructor of class ImportTaskTest is not TestCase($name) or TestCase(). /Users/uwe/workspace/phing-trunk/test/run-tests.php:85 FAILURES!!! Tests run: 35, Failures: 35, Errors: 0, Incomplete Tests: 0.
With phing 2.3.3 there is an error about a missing file oops.php:
Hermione:~/workspace/phing/test uwe$ php run-tests.php PHPUnit 2.3.6 by Sebastian Bergmann. ............ Warning: include_once(oops.php): failed to open stream: No such file or directory in /Users/uwe/workspace/phing/classes/phing/Phing.php on line 1006 Warning: include_once(): Failed opening 'oops.php' for inclusion (include_path='/Users/uwe/workspace/phing/test/classes: /Users/uwe/workspace/phing/classes:.:/opt/local/lib/php') in /Users/uwe/workspace/phing/classes/phing/Phing.php on line 1006 E........... Time: 1.212557 There was 1 error: 1) testClassNotFound(TypedefTaskTest) Error importing oops.php /Users/uwe/workspace/phing/classes/phing/Phing.php:964 /Users/uwe/workspace/phing/classes/phing/Project.php:534 /Users/uwe/workspace/phing/classes/phing/tasks/system/TypedefTask.php:107 /Users/uwe/workspace/phing/classes/phing/Task.php:253 /Users/uwe/workspace/phing/classes/phing/Target.php:240 /Users/uwe/workspace/phing/classes/phing/Target.php:263 /Users/uwe/workspace/phing/classes/phing/Project.php:702 /Users/uwe/workspace/phing/test/classes/phing/BuildFileTest.php:196 /Users/uwe/workspace/phing/test/classes/phing/BuildFileTest.php:227 /Users/uwe/workspace/phing/test/classes/phing/BuildFileTest.php:73 /Users/uwe/workspace/phing/test/classes/phing/tasks/TypedefTaskTest.php:48 /Users/uwe/workspace/phing/test/run-tests.php:81 FAILURES!!! Tests run: 24, Failures: 0, Errors: 1, Incomplete Tests: 0.
Apart from that error in ping 2.3.3 I have no further failures when applying my patch... Hmm...
I also tried using phing and the build.xml file that lies in the test directory but then I got errors about class redeclaring:
Hermione:~/workspace/phing/test uwe$ phing
Buildfile: /Users/uwe/workspace/phing/test/build.xml
[property] Loading /Users/uwe/workspace/phing/test/./test.properties
[property] Unable to find property file: /Users/uwe/workspace/phing/test/./test.properties... skipped
[resolvepath] Resolved . to /Users/uwe/workspace/phing/test
[resolvepath] Resolved ./classes to /Users/uwe/workspace/phing/test/classes
[resolvepath] Resolved ../classes to /Users/uwe/workspace/phing/classes
Phing Build Tests > initialize:
Phing Build Tests > configure:
[echo] -------------------------------------------------
[echo] +++++ Running Phing unit tests
[echo] -------------------------------------------------
Phing Build Tests > reports:
Fatal error: Cannot redeclare class Writer in /Users/uwe/workspace/phing/classes/phing/system/io/Writer.php on line 27
comment:5 Changed 3 years ago by mrook
Note that PHPUnit2 is no longer supported in trunk, please run the tests by running phing in the test directory.
comment:6 Changed 3 years ago by Uwe Mesecke <uwe@…>
running tests from 2.4 using phing now:
Hermione:~/workspace/phing-trunk uwe$ svn up
D test/run-tests.php
Aktualisiert zu Revision 499.
Hermione:~/workspace/phing-trunk uwe$ cd test/
Hermione:~/workspace/phing-trunk/test uwe$ sh ../bin/phing -logger phing.listener.DefaultLogger
Buildfile: /Users/uwe/workspace/phing-trunk/test/build.xml
[property] Loading /Users/uwe/workspace/phing-trunk/test/./test.properties
[property] Unable to find property file: /Users/uwe/workspace/phing-trunk/test/./test.properties... skipped
[resolvepath] Resolved . to /Users/uwe/workspace/phing-trunk/test
[resolvepath] Resolved ./classes to /Users/uwe/workspace/phing-trunk/test/classes
[resolvepath] Resolved ../classes to /Users/uwe/workspace/phing-trunk/classes
Phing Build Tests > initialize:
Phing Build Tests > configure:
[echo] -------------------------------------------------
[echo] +++++ Running Phing unit tests
[echo] -------------------------------------------------
Phing Build Tests > reports:
[phpunit] Testsuite: LineContainsTest
[phpunit] Tests run: 1, Failures: 0, Errors: 0, Incomplete: 0, Skipped: 0, Time elapsed: 0.06387 s
[phpunit] Test: LineContainsTest, Run: 1, Failures: 0, Errors: 0, Incomplete: 0, Skipped: 0, Time elapsed: 0.06425 s
[phpunit] Testsuite: IntrospectionHelperTest
[phpunit] Tests run: 3, Failures: 0, Errors: 0, Incomplete: 0, Skipped: 0, Time elapsed: 0.01044 s
[phpunit] Test: IntrospectionHelperTest, Run: 3, Failures: 0, Errors: 0, Incomplete: 0, Skipped: 0, Time elapsed: 0.01078 s
[phpunit] Testsuite: CopyTaskFileListTest
[phpunit] Tests run: 1, Failures: 0, Errors: 0, Incomplete: 0, Skipped: 0, Time elapsed: 0.04588 s
[phpunit] Test: CopyTaskFileListTest, Run: 1, Failures: 0, Errors: 0, Incomplete: 0, Skipped: 0, Time elapsed: 0.04623 s
[phpunit] Testsuite: CustomTaskFileSetTest
[phpunit] Tests run: 1, Failures: 0, Errors: 0, Incomplete: 0, Skipped: 0, Time elapsed: 0.08847 s
[phpunit] Test: CustomTaskFileSetTest, Run: 1, Failures: 0, Errors: 0, Incomplete: 0, Skipped: 0, Time elapsed: 0.08919 s
Parse error: syntax error, unexpected '}' in /Users/uwe/workspace/phing-trunk/classes/phing/tasks/system/AdhocTask.php(76) : eval()'d code on line 1
[phpunit] Testsuite: PhingCallAdhocTest
[phpunit] Tests run: 1, Failures: 0, Errors: 1, Incomplete: 0, Skipped: 0, Time elapsed: 0.03385 s
[phpunit] testPhingCallTask ERROR
[phpunit] Error reading project file [wrapped: /Users/uwe/workspace/phing-trunk/test/etc/regression/299/build.xml:13:2: You must define one (and only one) class for AdhocTaskdefTask.]
[phpunit] /Users/uwe/workspace/phing-trunk/classes/phing/parser/ProjectConfigurator.php:197
[phpunit] /Users/uwe/workspace/phing-trunk/classes/phing/parser/ProjectConfigurator.php:77
[phpunit] /Users/uwe/workspace/phing-trunk/test/classes/phing/BuildFileTest.php:181
[phpunit] /Users/uwe/workspace/phing-trunk/test/classes/phing/regression/PhingCallAdhocTest.php:34
[phpunit] /Users/uwe/workspace/phing-trunk/bin/phing.php:37
[phpunit] Test: PhingCallAdhocTest, Run: 1, Failures: 0, Errors: 1, Incomplete: 0, Skipped: 0, Time elapsed: 0.04414 s
[phpunit] Testsuite: FileOutputStreamTest
[phpunit] Tests run: 2, Failures: 0, Errors: 2, Incomplete: 0, Skipped: 0, Time elapsed: 0.01852 s
[phpunit] testWrite ERROR
[phpunit] Unable to open tmp/FileOutputStreamTest.txt for writing: fopen(/Users/uwe/workspace/phing-trunk/test/etc/regression/299/tmp/FileOutputStreamTest.txt): failed to open stream: No such file or directory
[phpunit] /Users/uwe/workspace/phing-trunk/classes/phing/system/io/FileOutputStream.php:58
[phpunit] /Users/uwe/workspace/phing-trunk/test/classes/phing/system/FileOutputStreamTest.php:42
[phpunit] /Users/uwe/workspace/phing-trunk/bin/phing.php:37
[phpunit] testFlush ERROR
[phpunit] Unable to open tmp/FileOutputStreamTest.txt for writing: fopen(/Users/uwe/workspace/phing-trunk/test/etc/regression/299/tmp/FileOutputStreamTest.txt): failed to open stream: No such file or directory
[phpunit] /Users/uwe/workspace/phing-trunk/classes/phing/system/io/FileOutputStream.php:58
[phpunit] /Users/uwe/workspace/phing-trunk/test/classes/phing/system/FileOutputStreamTest.php:42
[phpunit] /Users/uwe/workspace/phing-trunk/bin/phing.php:37
[phpunit] Test: FileOutputStreamTest, Run: 2, Failures: 0, Errors: 2, Incomplete: 0, Skipped: 0, Time elapsed: 0.02060 s
[phpunit] Testsuite: ContainsConditionTest
[phpunit] Tests run: 1, Failures: 0, Errors: 0, Incomplete: 0, Skipped: 0, Time elapsed: 0.00365 s
[phpunit] Test: ContainsConditionTest, Run: 1, Failures: 0, Errors: 0, Incomplete: 0, Skipped: 0, Time elapsed: 0.01684 s
[phpunit] Testsuite: EqualsConditionTest
[phpunit] Tests run: 2, Failures: 0, Errors: 0, Incomplete: 0, Skipped: 0, Time elapsed: 0.00542 s
[phpunit] Test: EqualsConditionTest, Run: 2, Failures: 0, Errors: 0, Incomplete: 0, Skipped: 0, Time elapsed: 0.00595 s
[phpunit] Testsuite: ImportTaskTest
[phpunit] Tests run: 5, Failures: 0, Errors: 0, Incomplete: 0, Skipped: 0, Time elapsed: 0.16958 s
[phpunit] Test: ImportTaskTest, Run: 5, Failures: 0, Errors: 0, Incomplete: 0, Skipped: 0, Time elapsed: 0.17010 s
[phpunit] Testsuite: PropertyTaskTest
[phpunit] Tests run: 6, Failures: 0, Errors: 0, Incomplete: 0, Skipped: 0, Time elapsed: 0.15128 s
[phpunit] Test: PropertyTaskTest, Run: 6, Failures: 0, Errors: 0, Incomplete: 0, Skipped: 0, Time elapsed: 0.15185 s
[phpunit] Testsuite: TaskdefTaskTest
[phpunit] Tests run: 6, Failures: 0, Errors: 0, Incomplete: 0, Skipped: 0, Time elapsed: 0.21283 s
[phpunit] Test: TaskdefTaskTest, Run: 6, Failures: 0, Errors: 0, Incomplete: 0, Skipped: 0, Time elapsed: 0.21382 s
[phpunit] Testsuite: TypedefTaskTest
[phpunit] Tests run: 6, Failures: 0, Errors: 0, Incomplete: 0, Skipped: 0, Time elapsed: 0.19929 s
[phpunit] Test: TypedefTaskTest, Run: 6, Failures: 0, Errors: 0, Incomplete: 0, Skipped: 0, Time elapsed: 0.19984 s
[phpunit] Testsuite: CommandlineTest
[phpunit] Tests run: 1, Failures: 0, Errors: 0, Incomplete: 0, Skipped: 0, Time elapsed: 0.00471 s
[phpunit] Test: CommandlineTest, Run: 1, Failures: 0, Errors: 0, Incomplete: 0, Skipped: 0, Time elapsed: 0.00520 s
[phpunit] Testsuite: FileSetTest
[phpunit] Tests run: 1, Failures: 0, Errors: 0, Incomplete: 0, Skipped: 0, Time elapsed: 0.00898 s
[phpunit] Test: FileSetTest, Run: 1, Failures: 0, Errors: 0, Incomplete: 0, Skipped: 0, Time elapsed: 0.00935 s
[phpunit] Testsuite: MapperTest
[phpunit] Tests run: 3, Failures: 0, Errors: 0, Incomplete: 0, Skipped: 0, Time elapsed: 1.51339 s
[phpunit] Test: MapperTest, Run: 3, Failures: 0, Errors: 0, Incomplete: 0, Skipped: 0, Time elapsed: 1.51422 s
[phpunit] Testsuite: TaskdefForCopyTest
[phpunit] Tests run: 1, Failures: 0, Errors: 0, Incomplete: 0, Skipped: 0, Time elapsed: 1.02074 s
[phpunit] Test: TaskdefForCopyTest, Run: 1, Failures: 0, Errors: 0, Incomplete: 0, Skipped: 0, Time elapsed: 1.02146 s
Execution of target "reports" failed for the following reason: /Users/uwe/workspace/phing-trunk/test/build.xml:55:2: Test ERROR (testFlush): Unable to open tmp/FileOutputStreamTest.txt for writing: fopen(/Users/uwe/workspace/phing-trunk/test/etc/regression/299/tmp/FileOutputStreamTest.txt): failed to open stream: No such file or directory
BUILD FAILED
/Users/uwe/workspace/phing-trunk/test/build.xml:55:2: Test ERROR (testFlush): Unable to open tmp/FileOutputStreamTest.txt for writing: fopen(/Users/uwe/workspace/phing-trunk/test/etc/regression/299/tmp/FileOutputStreamTest.txt): failed to open stream: No such file or directory
Total time: 5.6207 seconds
There are no further errors or failures even after applying the patch...
Could you perhaps give me a testcase where the patch breaks phing?
comment:7 Changed 3 years ago by Uwe Mesecke <uwe@…>
ah... okay... I missed a failure in testCustomTask... going to look at it tomorrow... ;)
comment:8 Changed 3 years ago by Uwe Mesecke <uwe@…>
Apparently there is a problem with matching a single filename (e.g. TestPhpLintTask.php) against the pattern "/*.php". The "old" matching did a positive match in that case and I personally would consider that a bug, because there is a fixed / before the filename so the files should have a directory depth of at least one or more. ;)
But to prevent breakage I will transform the pattern "/" into ""... Now the Tests in CustomTaskFileSetTest are successful:
Hermione:~/workspace/phing/test uwe$ sh ../bin/phing -logger phing.listener.DefaultLogger
Buildfile: /Users/uwe/workspace/phing/test/build.xml
[property] Loading /Users/uwe/workspace/phing/test/./test.properties
[property] Unable to find property file: /Users/uwe/workspace/phing/test/./test.properties... skipped
[resolvepath] Resolved . to /Users/uwe/workspace/phing/test
[resolvepath] Resolved ./classes to /Users/uwe/workspace/phing/test/classes
[resolvepath] Resolved ../classes to /Users/uwe/workspace/phing/classes
Phing Build Tests > initialize:
Phing Build Tests > configure:
[echo] -------------------------------------------------
[echo] +++++ Running Phing unit tests
[echo] -------------------------------------------------
Phing Build Tests > reports:
[phpunit] Testsuite: LineContainsTest
[phpunit] Tests run: 1, Failures: 0, Errors: 0, Incomplete: 0, Skipped: 0, Time elapsed: 0.09093 s
[phpunit] Test: LineContainsTest, Run: 1, Failures: 0, Errors: 0, Incomplete: 0, Skipped: 0, Time elapsed: 0.09476 s
[phpunit] Testsuite: IntrospectionHelperTest
[phpunit] Tests run: 3, Failures: 0, Errors: 0, Incomplete: 0, Skipped: 0, Time elapsed: 0.04218 s
[phpunit] Test: IntrospectionHelperTest, Run: 3, Failures: 0, Errors: 0, Incomplete: 0, Skipped: 0, Time elapsed: 0.04329 s
[phpunit] Testsuite: CopyTaskFileListTest
[phpunit] Tests run: 1, Failures: 0, Errors: 0, Incomplete: 0, Skipped: 0, Time elapsed: 0.09067 s
[phpunit] Test: CopyTaskFileListTest, Run: 1, Failures: 0, Errors: 0, Incomplete: 0, Skipped: 0, Time elapsed: 0.09128 s
[phpunit] Testsuite: CustomTaskFileSetTest
[phpunit] Tests run: 1, Failures: 0, Errors: 0, Incomplete: 0, Skipped: 0, Time elapsed: 0.11492 s
[phpunit] Test: CustomTaskFileSetTest, Run: 1, Failures: 0, Errors: 0, Incomplete: 0, Skipped: 0, Time elapsed: 0.11567 s
Parse error: syntax error, unexpected '}' in /Users/uwe/workspace/phing/classes/phing/tasks/system/AdhocTask.php(76) : eval()'d code on line 1
Call Stack:
0.0018 76316 1. {main}() /Users/uwe/workspace/phing/bin/phing.php:0
0.2512 4830288 2. Phing::fire(array(4)) /Users/uwe/workspace/phing/bin/phing.php:37
0.2512 4830380 3. Phing::start(array(4), null) /Users/uwe/workspace/phing/classes/phing/Phing.php:270
0.2556 4912740 4. Phing->runBuild() /Users/uwe/workspace/phing/classes/phing/Phing.php:170
0.9225 15143792 5. Project->executeTargets(array(1)) /Users/uwe/workspace/phing/classes/phing/Phing.php:541
0.9225 15143792 6. Project->executeTarget(string(7)) /Users/uwe/workspace/phing/classes/phing/Project.php:687
0.9369 15221620 7. Target->performTasks() /Users/uwe/workspace/phing/classes/phing/Project.php:714
0.9370 15221988 8. Target->main() /Users/uwe/workspace/phing/classes/phing/Target.php:263
0.9370 15222856 9. Task->perform() /Users/uwe/workspace/phing/classes/phing/Target.php:240
0.9619 15481328 10. PHPUnitTask->main() /Users/uwe/workspace/phing/classes/phing/Task.php:253
2.1705 17649316 11. PHPUnitTask->execute(string(18)) /Users/uwe/workspace/phing/classes/phing/tasks/ext/phpunit/PHPUnitTask.php:235
2.1797 17660880 12. PHPUnitTestRunner->run(class PHPUnit_Framework_TestSuite) /Users/uwe/workspace/phing/classes/phing/tasks/ext/phpunit/PHPUnitTask.php:280
2.1797 17662524 13. PHPUnit_Framework_TestSuite->run(class PHPUnit_Framework_TestResult, bool, array(0), array(0)) /Users/uwe/workspace/phing/classes/phing/tasks/ext/phpunit/PHPUnitTestRunner.php:103
2.1804 17664984 14. PHPUnit_Framework_TestSuite->runTest(class PhingCallAdhocTest, class PHPUnit_Framework_TestResult) /opt/local/lib/php/PHPUnit/Framework/TestSuite.php:660
2.1804 17664984 15. PHPUnit_Framework_TestCase->run(class PHPUnit_Framework_TestResult) /opt/local/lib/php/PHPUnit/Framework/TestSuite.php:679
2.1804 17665172 16. PHPUnit_Framework_TestResult->run(class PhingCallAdhocTest) /opt/local/lib/php/PHPUnit/Framework/TestCase.php:375
2.1808 17666740 17. PHPUnit_Framework_TestCase->runBare() /opt/local/lib/php/PHPUnit/Framework/TestResult.php:607
2.1822 17690316 18. PhingCallAdhocTest->setUp() /opt/local/lib/php/PHPUnit/Framework/TestCase.php:394
2.1822 17690484 19. BuildFileTest->configureProject(string(60)) /Users/uwe/workspace/phing/test/classes/phing/regression/PhingCallAdhocTest.php:34
2.2016 17747520 20. ProjectConfigurator::configureProject(class Project, class PhingFile) /Users/uwe/workspace/phing/test/classes/phing/BuildFileTest.php:181
2.2022 17747520 21. ProjectConfigurator->parse() /Users/uwe/workspace/phing/classes/phing/parser/ProjectConfigurator.php:77
2.2031 17755380 22. ExpatParser->parse() /Users/uwe/workspace/phing/classes/phing/parser/ProjectConfigurator.php:187
2.2033 17829776 23. xml_parse(resource(993) of type (xml), string(414), long) /Users/uwe/workspace/phing/classes/phing/parser/ExpatParser.php:129
2.2144 17876296 24. AbstractSAXParser->endElement(resource(993) of type (xml), string(10)) /Users/uwe/workspace/phing/classes/phing/parser/AbstractSAXParser.php:0
2.2144 17876296 25. AbstractHandler->endElement(string(10)) /Users/uwe/workspace/phing/classes/phing/parser/AbstractSAXParser.php:91
2.2144 17876296 26. TaskHandler->finished() /Users/uwe/workspace/phing/classes/phing/parser/AbstractHandler.php:80
2.2145 17876684 27. Task->perform() /Users/uwe/workspace/phing/classes/phing/parser/TaskHandler.php:188
2.2145 17877272 28. AdhocTaskdefTask->main() /Users/uwe/workspace/phing/classes/phing/Task.php:253
2.2146 17878300 29. AdhocTask->execute() /Users/uwe/workspace/phing/classes/phing/tasks/system/AdhocTaskdefTask.php:81
[phpunit] Testsuite: PhingCallAdhocTest
[phpunit] Tests run: 1, Failures: 0, Errors: 1, Incomplete: 0, Skipped: 0, Time elapsed: 0.05972 s
[phpunit] testPhingCallTask ERROR
[phpunit] Error reading project file [wrapped: /Users/uwe/workspace/phing/test/etc/regression/299/build.xml:13:2: You must define one (and only one) class for AdhocTaskdefTask.]
[phpunit] /Users/uwe/workspace/phing/classes/phing/parser/ProjectConfigurator.php:197
[phpunit] /Users/uwe/workspace/phing/classes/phing/parser/ProjectConfigurator.php:77
[phpunit] /Users/uwe/workspace/phing/test/classes/phing/BuildFileTest.php:181
[phpunit] /Users/uwe/workspace/phing/test/classes/phing/regression/PhingCallAdhocTest.php:34
[phpunit] /Users/uwe/workspace/phing/bin/phing.php:37
[phpunit] Test: PhingCallAdhocTest, Run: 1, Failures: 0, Errors: 1, Incomplete: 0, Skipped: 0, Time elapsed: 0.06154 s
[phpunit] Testsuite: FileOutputStreamTest
[phpunit] Tests run: 2, Failures: 0, Errors: 0, Incomplete: 0, Skipped: 0, Time elapsed: 0.01889 s
[phpunit] Test: FileOutputStreamTest, Run: 2, Failures: 0, Errors: 0, Incomplete: 0, Skipped: 0, Time elapsed: 0.02260 s
[phpunit] Testsuite: ContainsConditionTest
[phpunit] Tests run: 1, Failures: 0, Errors: 0, Incomplete: 0, Skipped: 0, Time elapsed: 0.00462 s
[phpunit] Test: ContainsConditionTest, Run: 1, Failures: 0, Errors: 0, Incomplete: 0, Skipped: 0, Time elapsed: 0.00541 s
[phpunit] Testsuite: EqualsConditionTest
[phpunit] Tests run: 2, Failures: 0, Errors: 0, Incomplete: 0, Skipped: 0, Time elapsed: 0.01032 s
[phpunit] Test: EqualsConditionTest, Run: 2, Failures: 0, Errors: 0, Incomplete: 0, Skipped: 0, Time elapsed: 0.01095 s
[phpunit] Testsuite: ImportTaskTest
[phpunit] Tests run: 5, Failures: 0, Errors: 0, Incomplete: 0, Skipped: 0, Time elapsed: 0.29829 s
[phpunit] Test: ImportTaskTest, Run: 5, Failures: 0, Errors: 0, Incomplete: 0, Skipped: 0, Time elapsed: 0.29903 s
[phpunit] Testsuite: PropertyTaskTest
[phpunit] Tests run: 6, Failures: 0, Errors: 0, Incomplete: 0, Skipped: 0, Time elapsed: 0.25681 s
[phpunit] Test: PropertyTaskTest, Run: 6, Failures: 0, Errors: 0, Incomplete: 0, Skipped: 0, Time elapsed: 0.25760 s
[phpunit] Testsuite: TaskdefTaskTest
[phpunit] Tests run: 6, Failures: 0, Errors: 0, Incomplete: 0, Skipped: 0, Time elapsed: 0.31732 s
[phpunit] Test: TaskdefTaskTest, Run: 6, Failures: 0, Errors: 0, Incomplete: 0, Skipped: 0, Time elapsed: 0.31795 s
[phpunit] Testsuite: TypedefTaskTest
[phpunit] Tests run: 6, Failures: 0, Errors: 0, Incomplete: 0, Skipped: 0, Time elapsed: 0.29941 s
[phpunit] Test: TypedefTaskTest, Run: 6, Failures: 0, Errors: 0, Incomplete: 0, Skipped: 0, Time elapsed: 0.30004 s
[phpunit] Testsuite: CommandlineTest
[phpunit] Tests run: 1, Failures: 0, Errors: 0, Incomplete: 0, Skipped: 0, Time elapsed: 0.00813 s
[phpunit] Test: CommandlineTest, Run: 1, Failures: 0, Errors: 0, Incomplete: 0, Skipped: 0, Time elapsed: 0.00878 s
[phpunit] Testsuite: FileSetTest
[phpunit] Tests run: 1, Failures: 0, Errors: 0, Incomplete: 0, Skipped: 0, Time elapsed: 0.01654 s
[phpunit] Test: FileSetTest, Run: 1, Failures: 0, Errors: 0, Incomplete: 0, Skipped: 0, Time elapsed: 0.01724 s
[phpunit] Testsuite: MapperTest
[phpunit] Tests run: 3, Failures: 0, Errors: 0, Incomplete: 0, Skipped: 0, Time elapsed: 0.62089 s
[phpunit] Test: MapperTest, Run: 3, Failures: 0, Errors: 0, Incomplete: 0, Skipped: 0, Time elapsed: 0.62169 s
[phpunit] Testsuite: TaskdefForCopyTest
[phpunit] Tests run: 1, Failures: 0, Errors: 0, Incomplete: 0, Skipped: 0, Time elapsed: 0.65739 s
[phpunit] Test: TaskdefForCopyTest, Run: 1, Failures: 0, Errors: 0, Incomplete: 0, Skipped: 0, Time elapsed: 0.65856 s
Execution of target "reports" failed for the following reason: /Users/uwe/workspace/phing/test/build.xml:55:2: Test ERROR (testPhingCallTask): Error reading project file [wrapped: /Users/uwe/workspace/phing/test/etc/regression/299/build.xml:13:2: You must define one (and only one) class for AdhocTaskdefTask.]
BUILD FAILED
/Users/uwe/workspace/phing/test/build.xml:55:2: Test ERROR (testPhingCallTask): Error reading project file [wrapped: /Users/uwe/workspace/phing/test/etc/regression/299/build.xml:13:2: You must define one (and only one) class for AdhocTaskdefTask.]
Total time: 4.6104 seconds
comment:10 Changed 2 years ago by mrook
- Status changed from assigned to closed
- Resolution set to fixed
This bug has been fixed in the SVN tree, revision r515.
Thank you for the report, and for helping us make Phing better!

