Matt Benson wrote:
--- Krzysztof Kucybała <[EMAIL PROTECTED]> wrote:
Hi,
I have a big problem. I'm trying to have ant run
phpunit and phpunit2
tests. To achieve that I'm using an exec task. It
was running smoothly
until I tried to execute multiple files which were
not known at design
time - the contents of a directory for tests. When I
used a fileset to
determine the necessary files to execute, I would
get them with their
whole absolute paths. Maybe this would be ok in
other circumstances, but
in my case that's not really so good.
When I now execute my phpunit tests on that file, it
says it can't find
the class by the name "<<and here comes the whole
path instead of just
the file name>>". Does anyone know of any reasonable
solution to this? I
don't want to list the files by hand, as I'd have to
change the file
everytime someone adds a new test.
Are you using <apply> to do this, or what? If so,
there is a 'relative' attribute that could help you.
Beyond that you can look into solutions that use
filename mappers, or use a scripting language (or Java
for that matter) to work against Ant's API; a
DirectoryScanner, when used "legacy-style," will give
you matching files as paths relative to a fileset's
basedir.
Until I read Your email I was using exec. Then I tried the apply task,
but without significant results. I managed to get the test running once,
but then I couldn't get the xml log out of that run. For some strange
reason this:
<apply executable="phpunit2"
dir="${deploy_path}/unit2"
dest="${log_dir}"
addsourcefile="false"
relative="true"
output="${log_dir}/test.dump"
logError="true"
append="true"
verbose="true"
failonerror="true">
<mapper type="glob" from="*.php" to="*.php.log.xml"/>
<fileset dir="${deploy_path}/unit2">
<include name="**/*test.php"/>
<include name="**/*Test.php"/>
</fileset>
<arg value="--log-xml"/>
<targetfile/>
<srcfile/>
</apply>
wouldn't work. According to the docs, it should translate into this command:
phpunit2 --log-xml MyTest.php.log.xml MyTest.php
(or am I not correct in this assumption?) but the result I see in the
ant log files is utterly different. It looks as if the phpunit2 exec was
invoked without this last parameter - MyTest.php. If I change
"addsourcefile" into true, the tests get run, but the logs don't get
written. My guess is that it's because arg value="--log-xml" is passed
as a single argument, and targetfile as another, whereas they should
actually be a single command line argument. Do You know how to achieve
that?
Best regards,
Krzysztof
HTH,
Matt
Best regards,
Krzysztof
---------------------------------------------------------------------
To unsubscribe, e-mail:
[EMAIL PROTECTED]
For additional commands, e-mail:
[EMAIL PROTECTED]
____________________________________________________________________________________
Building a website is a piece of cake. Yahoo! Small Business gives you all the
tools to get online.
http://smallbusiness.yahoo.com/webhosting
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]