Without looking at the code I can't be sure, but I would assume that
you can't include -and- exclude the same file. Probably the exclude
list is processed "last' in the code which means it won't run.
Wayne
On 11/11/07, Dan Kigelman <[EMAIL PROTECTED]> wrote:
> 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]
> >
> >
>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]