Skip to content

ci: DH-23264: Rework test conventions - #8342

Open
stanbrub wants to merge 1 commit into
deephaven:mainfrom
stanbrub:nightly/testclassdirs-buildsrc-convention
Open

ci: DH-23264: Rework test conventions#8342
stanbrub wants to merge 1 commit into
deephaven:mainfrom
stanbrub:nightly/testclassdirs-buildsrc-convention

Conversation

@stanbrub

@stanbrub stanbrub commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

Summary

Global convention for Gradle 9 Test task defaults (io.deephaven.java-test-conventions.gradle):

  • Added testClassesDirs and classpath defaults using testing.suites.test.sources in the existing configureEach block. This restores the Gradle 8 behavior where custom Test tasks automatically inherited the test source set's configuration.

Removed per-task boilerplate (5 files):

  • extensions/s3, extensions/kafka, extensions/iceberg/s3, extensions/iceberg, web/client-api — removed explicit testClassesDirs/classpath that are now provided by the convention.

Simplified TestTools.groovy:

  • Removed manual setTestClassesDirs/setClasspath wiring (and unused imports) since the convention provides equivalent defaults.

JMH benchmark projects refactored (3 files):

  • engine/benchmark, extensions/parquet/benchmark, extensions/barrage/benchmark — moved benchmark code from the test source set to a dedicated benchmark source set. This eliminates the need for failOnNoDiscoveredTests = false and properly separates benchmark infrastructure from test infrastructure.

@stanbrub stanbrub self-assigned this Aug 7, 2026
@stanbrub stanbrub added NoDocumentationNeeded NoReleaseNotesNeeded No release notes are needed. labels Aug 7, 2026
@github-actions

github-actions Bot commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

No docs changes detected for 85aa07b

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Reworks Gradle 9 test conventions and separates JMH benchmarks from test source sets.

Changes:

  • Adds global defaults for custom Test tasks.
  • Removes redundant task-level test wiring.
  • Introduces dedicated benchmark source sets and classpaths.

Reviewed changes

Copilot reviewed 10 out of 10 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
buildSrc/src/main/groovy/io.deephaven.java-test-conventions.gradle Adds custom Test task defaults.
buildSrc/src/main/groovy/TestTools.groovy Removes obsolete manual wiring.
engine/benchmark/build.gradle Migrates engine benchmarks to a dedicated source set.
extensions/parquet/benchmark/build.gradle Migrates Parquet benchmarks.
extensions/barrage/benchmark/build.gradle Migrates Barrage benchmarks.
extensions/s3/build.gradle Removes redundant test task wiring.
extensions/kafka/build.gradle Removes redundant test task wiring.
extensions/iceberg/build.gradle Uses convention defaults for security-manager tests.
extensions/iceberg/s3/build.gradle Uses convention defaults for container tests.
web/client-api/client-api.gradle Uses convention defaults for GWT test tasks.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment on lines +18 to 21
configurations {
benchmarkImplementation.extendsFrom implementation
benchmarkRuntimeOnly.extendsFrom runtimeOnly
}
Comment on lines +18 to 21
configurations {
benchmarkImplementation.extendsFrom implementation
benchmarkRuntimeOnly.extendsFrom runtimeOnly
}
Comment on lines +18 to 21
configurations {
benchmarkImplementation.extendsFrom implementation
benchmarkRuntimeOnly.extendsFrom runtimeOnly
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants