[
https://issues.apache.org/jira/browse/CASSANDRA-15539?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17044276#comment-17044276
]
Alex Petrov edited comment on CASSANDRA-15539 at 2/25/20 10:42 AM:
-------------------------------------------------------------------
What was done so far:
1. Create a new library that publishes a new in-jvm-dtest API out-of-tree.
2. Publish artifact for a version 0.0.1-SNAPSHOT of API library
3. Bring API library to be used in Cassandra, without migrating the tests out
4. Create a patch that migrates tests out of tree, that uses 1.0.0 version of
the API library
I did run tests out of tree on all branches locally, too. Now we only have to
set up CI to run it.
Patches for all branches:
|2.2|[patch|https://github.com/ifesdjeen/cassandra/tree/CASSANDRA-15539-2.2-oss]|[CI|https://circleci.com/gh/ifesdjeen/cassandra/tree/CASSANDRA-15539-2.2-oss]|
|3.0|[patch|https://github.com/ifesdjeen/cassandra/tree/CASSANDRA-15539-3.0-oss]|[CI|https://circleci.com/gh/ifesdjeen/cassandra/tree/CASSANDRA-15539-3.0-oss]|
|3.11|[patch|https://github.com/ifesdjeen/cassandra/tree/CASSANDRA-15539-3.11-oss]|[CI|https://circleci.com/gh/ifesdjeen/cassandra/tree/CASSANDRA-15539-3.11-oss]|
|trunk|[patch|https://github.com/ifesdjeen/cassandra/tree/CASSANDRA-15539-trunk-oss]|[CI|https://circleci.com/gh/ifesdjeen/cassandra/tree/CASSANDRA-15539-trunk-oss]|
New repo patch: https://github.com/apache/cassandra-in-jvm-dtest-api/pull/1
was (Author: ifesdjeen):
What was done so far:
1. Create a new library that publishes a new in-jvm-dtest API out-of-tree.
2. Publish artifact for a version 0.0.1-SNAPSHOT of API library
3. Bring API library to be used in Cassandra, without migrating the tests out
4. Create a patch that migrates tests out of tree, that uses 1.0.0 version of
the API library
I did run tests out of tree on all branches locally, too. Now we only have to
set up CI to run it.
Patches for all branches:
|2.2|[patch|https://github.com/ifesdjeen/cassandra/tree/CASSANDRA-15539-2.2-oss]|[CI|https://circleci.com/gh/ifesdjeen/cassandra/tree/CASSANDRA-15539-2.2-oss]|
|3.0|[patch|https://github.com/ifesdjeen/cassandra/tree/CASSANDRA-15539-3.0-oss]|[CI|https://circleci.com/gh/ifesdjeen/cassandra/tree/CASSANDRA-15539-3.0-oss]|
|3.11|[patch|https://github.com/ifesdjeen/cassandra/tree/CASSANDRA-15539-3.11-oss]|[CI|https://circleci.com/gh/ifesdjeen/cassandra/tree/CASSANDRA-15539-3.11-oss]|
|trunk|[patch|https://github.com/ifesdjeen/cassandra/tree/CASSANDRA-15539-trunk-oss]|[CI|https://circleci.com/gh/ifesdjeen/cassandra/tree/CASSANDRA-15539-trunk-oss]|
> Extract in-jvm API and tests out of Cassandra and into a separate repository
> ----------------------------------------------------------------------------
>
> Key: CASSANDRA-15539
> URL: https://issues.apache.org/jira/browse/CASSANDRA-15539
> Project: Cassandra
> Issue Type: Task
> Components: Test/dtest
> Reporter: Alex Petrov
> Assignee: Alex Petrov
> Priority: Normal
>
> Extract in-jvm DTest _API_ and tests into a separate repository that is
> shared between Cassandra branches. Tests themselves should be buildable using
> just API, which is not the case now, since cluster creation relies on impl
> package, since we do not have factories / constructors in API.
> Main goals we’re trying to achieve:
> 1. We should be able to fail a build on API incompatibility between versions
> 2. Make it as easy as possible to detect break APIs between versions.
> 3. Make development of _tests_ based on in-jvm framework simpler
> 4. Reduce surface area of impact when making modifications to tests
> Potentially, we’d also like to use a plugin to detect API incompatibilities
> between in-jvm DTest API and in-branch implementations, and start running
> tests using shared in-jvm test repository with each existing implementation
> in the branch. This entails both running tests for all branches whenever
> there’s a change in tests jar and running tests for a specific branch
> whenever the branch has changed.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]