accumulo-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Josh Elser (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (ACCUMULO-3929) Separate performance/timing-sensitive tests from the rest of integration tests
Date Mon, 06 Jul 2015 22:12:04 GMT

     [ https://issues.apache.org/jira/browse/ACCUMULO-3929?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Josh Elser updated ACCUMULO-3929:
---------------------------------
    Resolution: Fixed
        Status: Resolved  (was: Patch Available)

After some more hacking, I think I got something desirable working.

There's an interface {{PerformanceTest}} which, when used in conjunction with the JUnit Category
annotation, can be used to separate an IT from the normal ITs.

See [AssignmentThreadsIT|https://git1-us-west.apache.org/repos/asf?p=accumulo.git;a=commitdiff;h=f599b46b80108807fb0b2441ac127454260738f6#patch2]
for an example.

These tests are now invoked by providing the {{-PperformanceTests}} profile and invoking the
{{verify}} lifecycle phase, e.g. {{mvn verify -PperformanceTests}}. The normal invocation
of {{mvn verify}} has not changed, the tests annotated with the PerformanceTests category
will just not be run.

I added a few tests that I thought were good candidates, but the classes I did annotate don't
need to be considered final.

> Separate performance/timing-sensitive tests from the rest of integration tests
> ------------------------------------------------------------------------------
>
>                 Key: ACCUMULO-3929
>                 URL: https://issues.apache.org/jira/browse/ACCUMULO-3929
>             Project: Accumulo
>          Issue Type: Improvement
>          Components: test
>            Reporter: Josh Elser
>            Assignee: Josh Elser
>             Fix For: 1.8.0
>
>         Attachments: ACCUMULO-3929-01.patch
>
>          Time Spent: 20m
>  Remaining Estimate: 0h
>
> Sometimes in the course of fixing bugs in Accumulo, we want to write tests that are sensitive
to certain performance characteristics of the underlying hardware.
> These kinds of tests are important in helping us catch regressions, but they're not suitable
to run as a normal part of the integration test suite.
> We can separate these tests by creating a special Java annotation and the Category support
on the [surefire plugin|http://maven.apache.org/surefire/maven-surefire-plugin/examples/junit.html#Using_JUnit_Categories].
> The difficulty will likely be in how we want to run these tests. It should be very straightfoward
to _only_ run the performance tests. Maybe more work if we want to be able to run all the
normal ITs and these performance tests. Not entirely sure. HBase's top-level pom has some
examples of setting up multiple executions of the surefire-plugin.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message