Thank you Wayne,
I will be careful about that. It seems it was working on my linux laptop,
but I'm sure you've averted some of my future headaches for executing this
on all kinds of shells. I renamed the profile and activation to the
following:
<profile>
<id>conditionProfile</id>
<activation>
<property>
<name>some_condition</name>
<value>true</value>
</property>
</activation>
<build>
I execute now with "mvn test -Dsome_condition=true" but still with the same
result:
-------------------------------------------------------
T E S T S
-------------------------------------------------------
Running sample.test.ExecuteAlwaysTest
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.04 sec
Results :
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
[INFO] [surefire:test {execution: rareTest}]
[INFO] Surefire report directory:
/home/danik/workspace/test2/execute-test-conditionally/target/surefire-reports
-------------------------------------------------------
T E S T S
-------------------------------------------------------
There are no tests to run.
Results :
Tests run: 0, Failures: 0, Errors: 0, Skipped: 0
[INFO]
------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO]
------------------------------------------------------------------------
Somehow the second surefire execution includes no tests...
-- Dan
On Nov 11, 2007 5:41 PM, Wayne Fay <[EMAIL PROTECTED]> wrote:
> Try renaming the profile to some_condition, and then using
> -Dsome_condition=true. I've never tried to use a property named a-b-c
> and I'm not entirely sure how different operating systems pass that to
> Java and how it is interpreted prior to handing it to Maven (eg -D, -h
> etc). So I would just avoid -'s in profile names, personally.
>
> Wayne
>
> On 11/11/07, Dan Kigelman <[EMAIL PROTECTED]> wrote:
> > Hello!
> >
> > I am trying to execute a test if and only if a certain condition is set
> > (such as a profile is activated). The test would fail if it is run on
> some
> > systems, so I am trying to disable it by default, and run it only when
> run
> > on the relevant system.
> >
> > I made a sample project to simplify the problem. Below is the relevant
> part
> > my pom:
> >
> > <build>
> > <plugins>
> > <plugin>
> > <groupId>org.apache.maven.plugins</groupId>
> > <artifactId>maven-surefire-plugin</artifactId>
> > <configuration>
> > <excludes>
> > <exclude>**/ExecuteSometimesTest.java</exclude>
> > </excludes>
> > </configuration>
> > </plugin>
> > </plugins>
> > </build>
> >
> > <profiles>
> > <profile>
> > <id>condition-profile</id>
> > <activation>
> > <property>
> > <name>some-condition</name>
> > </property>
> > </activation>
> > <build>
> > <plugins>
> > <plugin>
> > <groupId>org.apache.maven.plugins</groupId>
> > <artifactId>maven-surefire-plugin</artifactId>
> > <executions>
> > <execution>
> > <id>rare-test</id>
> > <goals>
> > <goal>test</goal>
> > </goals>
> > <phase>test</phase>
> > <configuration>
> > <includes>
> > <include>**/ExecuteSometimesTest.java</include>
> > </includes>
> > <excludes />
> > </configuration>
> > </execution>
> > </executions>
> > </plugin>
> > </plugins>
> > </build>
> > </profile>
> > </profiles>
> >
> > When I execute "mvn test" it works as expected:
> > -------------------------------------------------------
> > T E S T S
> > -------------------------------------------------------
> > Running sample.test.ExecuteAlwaysTest
> > Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.085sec
> >
> > Results :
> >
> > Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
> >
> > [INFO]
> > ------------------------------------------------------------------------
> > [INFO] BUILD SUCCESSFUL
> > [INFO]
> > ------------------------------------------------------------------------
> >
> >
> > However, when I execute "mvn test -Dsome-condition" the
> > ExecuteSometimesTest.java is not executed:
> >
> > -------------------------------------------------------
> > T E S T S
> > -------------------------------------------------------
> > Running sample.test.ExecuteAlwaysTest
> > Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.04 sec
> >
> > Results :
> >
> > Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
> >
> > [INFO] [surefire:test {execution: rare-test}]
> > [INFO] Surefire report directory:
> >
> /home/danik/workspace/test2/execute-test-conditionally/target/surefire-reports
> >
> > -------------------------------------------------------
> > T E S T S
> > -------------------------------------------------------
> > There are no tests to run.
> >
> > Results :
> >
> > Tests run: 0, Failures: 0, Errors: 0, Skipped: 0
> >
> > [INFO]
> > ------------------------------------------------------------------------
> > [INFO] BUILD SUCCESSFUL
> > [INFO]
> > ------------------------------------------------------------------------
> >
> > Am I doing something wrong or is this a known problem?
> >
> > Help would be much appreciated!!
> >
> > -- Dan
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>