You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Russ Hatch (JIRA)" <ji...@apache.org> on 2016/06/21 18:02:58 UTC

[jira] [Created] (CASSANDRA-12050) per-patch smoke suites as an early/fast testing tier

Russ Hatch created CASSANDRA-12050:
--------------------------------------

             Summary: per-patch smoke suites as an early/fast testing tier
                 Key: CASSANDRA-12050
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-12050
             Project: Cassandra
          Issue Type: Improvement
            Reporter: Russ Hatch
            Assignee: Russ Hatch


Coverage data offers a unique opportunity to build metadata about tests and related Cassandra code.

Using the jacoco coverage api we should be able to build a simple index of tests (dtest, unit) to the Cassandra code they touch (and the reverse).

When a new patch is introduced, we do a lookup in that index, based on java source files touched (and possibly lines within those files), and use that to infer most relevant dtests or unit tests. Patch authors can then run that small test subset as a first testing pass.

In this way we can build small, focused, test suites that are custom to each patch. Once this small custom smoke test appears successful things would of course need to be vetted across a more complete test run on CI.

I think the best interface would simply be ant targets. One target would be used to build/refresh the test:source code index (run occasionally and saved somewhere (index building would be time consuming since it will require full job runs). A second target looks at files touched and does the index lookups, then outputs a list of tests to run.

The dev user experience might looking something like this:
{noformat}
ant get-custom-smoke -Dcoverage_index=./trunk_coverage_index_SHA_foo.idx

Generating test lists....

Please run the following two scripts to vet your changes:
./custom_smoke_junit.sh
./custom_smoke_dtest.sh
{noformat}



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