On Mon, Oct 1, 2012 at 3:15 PM, Baptiste MATHUS <bmat...@batmat.net> wrote:

> I won't comment much on the smell of having tests that you wanna ignore
> even in CI...
>

It's not extremely pretty, but to clarify, these tests are all passing and
not-ignored in the mainline code. It's just with this new, unfinished
switch that we need some of them temporarily disabled. This is a separate
job -- the one that gates production changes requires all these tests to
pass (which is indeed why we're not just marking them with @Ignore).

Even though, what you explain seems quite complicated just to ignore tests
> failures.
> Did you consider just using Maven Surefire testFailureIgnore parameter?
> http://maven.apache.org/plugins/maven-surefire-plugin/test-mojo.html#testFailureIgnore
>

That doesn't seem to work. The mvn stdout reports success, but the job is
still marked as unstable.

Yuval


> 2012/10/1 Yuval Shavit <ysha...@akiban.com>
>
>> Hi all. I have a job with a maven run in which I expect test failures,
>> and I want the job to *not* be marked as UNSTABLE if there are failures;
>> I'll be doing some custom analysis in script tasks after the maven task in
>> which I'll determine the build's status. In other words, what I'd like is:
>>
>> 1) mvn test ...
>> 2) reset build.result to SUCCESS
>> 3) custom script, which may mark status as FAILING
>>
>> I tried putting a groovy system script at step (2) which sets
>> build.result to Result.SUCCESS, but I wasn't able to get that to work. The
>> script runs correctly (I had it put a badge on the job as a test), but the
>> status stays as UNSTABLE is there are any unit test failures. I also tried
>> using reflection to set the Run.result field directly, to no avail.
>>
>> My current approach is to have two jobs. The "kickoff" job has a groovy
>> script which invokes the "main" job, which does the actual testing. Once
>> that main job is done, the groovy script marks the kickoff job as failing
>> if the main one failed, and as passing if the main job succeeded or was
>> unstable. This works, but it's clumsy and not easy to drill down to the
>> actual failures from the kickoff job.
>>
>> Btw, I realize that JUnit tests can expect errors, but that's not what I
>> want. The project I'm working on is testing an experimental switch which is
>> not done and thus causes a lot of tests to fail; I basically want to ensure
>> that there are no regressions among those tests which we know have passed
>> in the past, while allowing tests to fail if they always have. I'm open to
>> suggestions besides my approach above, but I'd like to avoid completely
>> rewiring our tests for this.
>>
>> Thanks!
>> Yuval
>>
>
>
>
> --
> Baptiste <Batmat> MATHUS - http://batmat.net
> Sauvez un arbre,
> Mangez un castor !
>

Reply via email to