No, the basedir was correct, but the cwd wasn't.

For each test case I copy the jars required by that test case as well as
its test data into the test case's subdirectory. This allows each test
case to be a self-contained unit if I need to pull it out for further
analysis or send it to someone or whatever. What that means, though, is
that I want to define a classpath like this:

<path id="exec.class.path">
  <pathelement location="./Test.jar"/>
  <pathelement location="./Object.jar"/>
  <pathelement location="./Messaging.jar"/>
  ...
</path>

where "." is the test directory. I then do:

<subant genericantfile="${basedir}/build.xml" target="test1">
  <dirset dir="." includes="test1"/>
</subant>

<subant genericantfile="${basedir}/build.xml" target="test2">
  <dirset dir="." includes="test2"/>
</subant>

and so forth. (This is simplified, not every directory is intended to be
invoked separately by <subant>.) The targets look like this:

<target name="test1">
  <junit haltonfailure="on" fork="true">
    <classpath>
      <path refid="exec.class.path"/>
    </classpath>
    <test name="com.silverlink.object.BasicTest"/>
  </junit>
</target>

<target name="test2">
  <junit haltonfailure="on" fork="true">
    <classpath>
      <path refid="exec.class.path"/>
    </classpath>
    <test name="com.silverlink.object.AdvancedTest"/>
  </junit>
</target>

I was hoping that when target test1 was invoked, the current working
directory would be "./test1" while when target test2 is invoked, the
current working directory would be "./test2", where "." is the
${basedir} of the original ant invocation. Instead, though the <subant>s
have their ${basedir} as expected ("./test1" and "./test2",
respectively), the CWDs are still the original ${basedir}. This means my
tests can't find their data, which are stored in the test
subdirectories.

--
Rick Genter
Principal Engineer
Silverlink Communications
<mailto:[EMAIL PROTECTED]>
(781) 272-3080 x242

-----Original Message-----
From: Dominique Devienne [mailto:[EMAIL PROTECTED] 
Sent: Tuesday, February 01, 2005 12:12 PM
To: Ant Users List
Subject: RE: Working directory confusion

> From: Rick Genter [mailto:[EMAIL PROTECTED]
> 
> My overall issue is that I'm trying to build an ant script that will
run
> a number of unit tests after it builds my product. Each test is in its
> own test subdirectory; what I *really* wanted to do was use <subant>
> using the genericantfile attribute to specify the build file, but
> running each test in its own directory sharing a common set of
> properties. That failed pretty miserably, though.

And why/how did it fail? Because the basedir was not correct again? --DD

---------------------------------------------------------------------
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]

Reply via email to