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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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