Skip to content

Commit c95ebfc

Browse files
Bouncheckavelanarius
authored andcommitted
Update .md docs
Adds info about new tags for disabled tests, instructions how to run tests, misc. info about contributing. Resolves #130
1 parent 437f94b commit c95ebfc

File tree

1 file changed

+35
-2
lines changed

1 file changed

+35
-2
lines changed

CONTRIBUTING.md

Lines changed: 35 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,11 @@
11
# Contributing guidelines
22

3+
## Reaching out
4+
5+
If you are aiming to implement something to be reviewed and merged it is strongly recommended to
6+
reach out through [ScyllaDB Users slack](https://scylladb-users.slack.com). You can look at
7+
[github issues](https://github.com/scylladb/java-driver/issues) to get a rough idea what needs to be implemented.
8+
39
## Code formatting
410

511
### Java
@@ -255,10 +261,12 @@ process, which can be either one of:
255261
256262
For an example of a Simulacron-based test, see `NodeTargetingIT`.
257263
* [CCM](https://github.com/pcmanus/ccm): launches actual Cassandra nodes locally. The `ccm`
258-
executable must be in the path.
264+
executable must be in the path. [Scylla CCM](https://github.com/scylladb/scylla-ccm) is a drop-in alternative that can also launch Scylla nodes.
259265
260266
You can pass a `-Dccm.version` system property to the build to target a particular Cassandra
261-
version (it defaults to 3.11.0). `-Dccm.directory` allows you to point to a local installation
267+
version (it defaults to 3.11.0). With `-Dccm.scylla=true` Scylla CCM will target a particular Scylla version.
268+
269+
Setting `-Dccm.directory` allows you to point to a local installation
262270
-- this can be a checkout of the Cassandra codebase, as long as it's built. See `CcmBridge` in
263271
the driver codebase for more details.
264272

@@ -315,6 +323,24 @@ To isolate an integration test, annotate it with `@Category(IsolatedTests.class)
315323
316324
For an example, see `HeapCompressionIT`.
317325
326+
##### Disabled tests
327+
328+
This is a special non-disjoint category. We use several different tags to further categorize failing tests
329+
that needed disabling and are yet to be fixed:
330+
- `@IntegrationTestDisabledCassandra3Failure` - general regression when running with Cassandra 3.11
331+
- `@IntegrationTestDisabledCassandra4Failure` - general regression when running with Cassandra 4
332+
- `@IntegrationTestDisabledPaxExam` - disabling test using PaxExam functionality
333+
- `@IntegrationTestDisabledScyllaFailure` - general regression when running with Scylla
334+
- `@IntegrationTestDisabledScyllaJVMArgs` - disabling test, when running with Scylla, that uses Cassandra's JVM arguments
335+
- `@IntegrationTestDisabledScyllaUDF` - disabling test, when running with Scylla, that uses Cassandra's UDF implementation
336+
- `@IntegrationTestDisabledScyllaUnsupportedFunctionality` - disabling test, when running with Scylla, that uses functionality unsupported by Scylla (for example SASI indexes or Cassandra's CDC)
337+
- `@IntegrationTestDisabledScyllaUnsupportedIndex` - disabling test, when running with Scylla, that uses Cassandra's indexes unsupported by Scylla
338+
- `@IntegrationTestDisabledSSL` - a disabled test that also happens to test SSL functionality
339+
- `@IntegrationTestDisabledScyllaProtocolV5` - a disabled test that relies on Protocol V5
340+
- `@IntegrationTestDisabledScyllaDifferentText` - a disabled test that expects a Cassandra-specific text (such as tracing message)
341+
- `@IntegrationTestDisabledCCMFailure` - a disabled test that fails at CCM stage (mostly adding new nodes to the cluster)
342+
343+
318344
#### About test rules
319345
320346
Do not mix `CcmRule` and `SimulacronRule` in the same test. It makes things harder to follow, and
@@ -377,6 +403,13 @@ for each commit if you enable the pre-commit hook -- see below).
377403
This currently takes about 9 minutes. We don't have a hard limit, but ideally it should stay within
378404
30 minutes to 1 hour.
379405
406+
As mentioned earlier you can choose a particular cluster version to run them against:
407+
* `mvn clean verify -Dccm.version=3.11.12 -e` (Cassandra 3.11.12)
408+
409+
* `mvn clean verify -Dccm.version=4.0.3 -e` (Cassandra 4.0.3)
410+
411+
* `mvn clean verify -Dccm.version=4.5.3 -Dccm.scylla=true` (Scylla OSS 4.5.3)
412+
380413
You can skip test categories individually with `-DskipParallelizableITs`, `-DskipSerialITs` and
381414
`-DskipIsolatedITs` (`-DskipITs` still works to skip them all at once).
382415

0 commit comments

Comments
 (0)