mumrah opened a new pull request, #18602:
URL: https://github.com/apache/kafka/pull/18602

   This patch reorganizes our test infrastructure into three Gradle modules:
   
   ":test-common:test-common-api" is now a minimal dependency which exposes 
interfaces and annotations only. It has one project dependency on server-common 
to expose commonly used data classes (MetadataVersion, Feature, etc). Since 
this pulls in server-common, this module is Java 17+. It cannot be used by 
":clients" or other Java 11 modules.
   
   ":test-common:test-common-junit" includes the auto-quarantined JUnit 
extension. The `@Flaky` annotation has been moved here. Since this module has 
no project dependencies, we can add it to the Java 11 list so that ":clients" 
and others can utilize the `@Flaky` annotation
   
   ":test-common:test-common-runtime" now includes all of the test 
infrastructure code (TestKitNodes, etc).
   
   In addition to this reorganization, this patch leverages JUnit SPI service 
discovery so that modules can utilize the integration test framework without 
depending on ":core". This will allow us to start moving integration tests out 
of core and into the appropriate sub-module. This is done by adding 
":test-common:test-common-runtime" as a testRuntimeOnly dependency rather than 
as a testImplementation dependency. A trivial example was added to 
QuorumControllerTest to illustrate this.
   
   This patch does not expose ClusterInstance through the SPI since it has many 
direct dependencies on core. A stripped-down version of ClusterInstance that 
can be used by non-core modules remains as future work.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: jira-unsubscr...@kafka.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to