Skip to content

3.x driver-core CCM integration tests (*IT.java) are never executed by CI #981

Description

@nikagra

While addressing review feedback on #973, found that driver-core has no Failsafe plugin binding (Failsafe is only bound in driver-tests/osgi/* — a separate OSGi test suite), and Surefire's default include patterns (**/Test*.java, **/*Test.java, **/*Tests.java, **/*TestCase.java) never match *IT.java. The -Pshort/-Plong profiles only set the TestNG test.groups filter, which is applied within files Surefire has already selected by name — it can't rescue files that don't match the include patterns in the first place.

As a result, these existing CCM integration tests in driver-core appear to never actually run in CI on scylla-3.x:

  • LWTLoadBalancingIT
  • SchemaBuilderIT
  • TabletsIT
  • ZeroTokenNodesIT

(DriverConfigReportingCcmIT, added in #973, had the identical problem — fixed there by renaming to DriverConfigReportingCcmTest, which get picked up by Surefire's default discovery.)

Suggested fix

Either:

  1. Rename the 4 classes above to *Test.java (simplest — matches the pattern Surefire already discovers, and what DriverConfigReportingCcmIT was changed to), or
  2. Wire up the Failsafe plugin properly for driver-core (it's already declared in the root pom.xml's pluginManagement, just never bound in driver-core/pom.xml's own <build><plugins>) if there's a reason to keep the IT naming convention.

Verified by extracting the actual Surefire include/exclude configuration via mvn help:effective-pom and cross-checking against the decompiled SurefireMojo defaults in the maven-surefire-plugin jar — no override exists anywhere in this repo's POMs.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions