[ 
https://issues.apache.org/jira/browse/KAFKA-1885?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

jaikiran pai updated KAFKA-1885:
--------------------------------
    Description: 
Gradle in combination with Java plugin allows test "filtering" which lets users 
run select test classes or even select test methods from the command line. See 
"Test filtering" section here 
http://www.gradle.org/docs/2.0/userguide/java_plugin.html#sec:java_test which 
has examples of the commands. Currently we have this working in the "clients" 
and I can run something like:

{code}
./gradlew clients:test --tests 
org.apache.kafka.clients.producer.MetadataTest.testMetadataUpdateWaitTime
{code}

and that command then only runs that specific test method 
(testMetadataUpdateWaitTime) from the MetadataTest class.

{code}
To honour the JVM settings for this build a new JVM will be forked. Please 
consider using the daemon: 
http://gradle.org/docs/2.0/userguide/gradle_daemon.html.
Building project 'core' with Scala version 2.10.4
:clients:compileJava UP-TO-DATE
:clients:processResources UP-TO-DATE
:clients:classes UP-TO-DATE
:clients:compileTestJava UP-TO-DATE
:clients:processTestResources UP-TO-DATE
:clients:testClasses UP-TO-DATE
:clients:test

org.apache.kafka.clients.producer.MetadataTest > testMetadataUpdateWaitTime 
PASSED

BUILD SUCCESSFUL

Total time: 12.714 secs
{code}

I've found this useful when I need to do some quick tests and also reproduce 
issues that aren't noticed sometimes if the whole test class is run.

This currently only works for the "clients" and not for "core" because the 
"core" doesn't have the Java plugin applied to it in the gradle build. I've a 
patch which does that (and one other related thing) which then allowed me to 
run individual test methods even for the core tests. I will create a review 
request for it.


  was:
Gradle in combination with Java plugin allows test "filtering" which lets users 
run select test classes or even select test methods from the command line. See 
"Test filtering" section here 
http://www.gradle.org/docs/2.0/userguide/java_plugin.html#sec:java_test which 
has examples of the commands. Currently we have this working in the "clients" 
and I can run something like:

{code}
./gradlew clients:test --tests 
org.apache.kafka.clients.producer.MetadataTest.testMetadataUpdateWaitTime
{code}

and that command then only runs that specific test method 
(testMetadataUpdateWaitTime) from the MetadataTest class.

{code}
To honour the JVM settings for this build a new JVM will be forked. Please 
consider using the daemon: 
http://gradle.org/docs/2.0/userguide/gradle_daemon.html.
Building project 'core' with Scala version 2.10.4
:clients:compileJava UP-TO-DATE
:clients:processResources UP-TO-DATE
:clients:classes UP-TO-DATE
:clients:compileTestJava UP-TO-DATE
:clients:processTestResources UP-TO-DATE
:clients:testClasses UP-TO-DATE
:clients:test

org.apache.kafka.clients.producer.MetadataTest > testMetadataUpdateWaitTime 
PASSED

BUILD SUCCESSFUL

Total time: 12.714 secs
{code}

I've found this useful when I need to do some quick tests and also reproduce 
issues that aren't noticed sometimes if the whole test class is run.

This currently only works for the "clients" because the "code" doesn't have the 
Java plugin applied to it in the gradle build. I've a patch which does that 
(and one other related thing) which then allowed me to run individual test 
methods even for the core tests. I will create a review request for it.



> Allow test methods in "core" to be individually run from outside of the IDE
> ---------------------------------------------------------------------------
>
>                 Key: KAFKA-1885
>                 URL: https://issues.apache.org/jira/browse/KAFKA-1885
>             Project: Kafka
>          Issue Type: Improvement
>          Components: system tests
>            Reporter: jaikiran pai
>            Assignee: jaikiran pai
>
> Gradle in combination with Java plugin allows test "filtering" which lets 
> users run select test classes or even select test methods from the command 
> line. See "Test filtering" section here 
> http://www.gradle.org/docs/2.0/userguide/java_plugin.html#sec:java_test which 
> has examples of the commands. Currently we have this working in the "clients" 
> and I can run something like:
> {code}
> ./gradlew clients:test --tests 
> org.apache.kafka.clients.producer.MetadataTest.testMetadataUpdateWaitTime
> {code}
> and that command then only runs that specific test method 
> (testMetadataUpdateWaitTime) from the MetadataTest class.
> {code}
> To honour the JVM settings for this build a new JVM will be forked. Please 
> consider using the daemon: 
> http://gradle.org/docs/2.0/userguide/gradle_daemon.html.
> Building project 'core' with Scala version 2.10.4
> :clients:compileJava UP-TO-DATE
> :clients:processResources UP-TO-DATE
> :clients:classes UP-TO-DATE
> :clients:compileTestJava UP-TO-DATE
> :clients:processTestResources UP-TO-DATE
> :clients:testClasses UP-TO-DATE
> :clients:test
> org.apache.kafka.clients.producer.MetadataTest > testMetadataUpdateWaitTime 
> PASSED
> BUILD SUCCESSFUL
> Total time: 12.714 secs
> {code}
> I've found this useful when I need to do some quick tests and also reproduce 
> issues that aren't noticed sometimes if the whole test class is run.
> This currently only works for the "clients" and not for "core" because the 
> "core" doesn't have the Java plugin applied to it in the gradle build. I've a 
> patch which does that (and one other related thing) which then allowed me to 
> run individual test methods even for the core tests. I will create a review 
> request for it.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to