[ 
https://issues.apache.org/jira/browse/KAFKA-6474?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16427801#comment-16427801
 ] 

Filipe Agapito commented on KAFKA-6474:
---------------------------------------

Hi John. Thanks for the warning. Great work! Breaking the cycle on the other 
side much cleaner. Unfortunately, I started having some issues with tests after 
rebasing on the current trunk. For instance, running:
{noformat}
./gradlew streams:test -Dtest.single=KStreamKStreamJoinTest
{noformat}
I would get:
{noformat}
org.apache.kafka.streams.kstream.internals.KStreamKStreamJoinTest > 
initializationError FAILED
    java.lang.NoClassDefFoundError: 
Lorg/apache/kafka/streams/test/ConsumerRecordFactory;

        Caused by:
        java.lang.ClassNotFoundException: 
org.apache.kafka.streams.test.ConsumerRecordFactory

1 test completed, 1 failed
{noformat}
So, following your lead, I added the following to build.gradle:
{noformat}
diff --git a/build.gradle b/build.gradle
index 33fa7a750..ca8b0ed4b 100644
--- a/build.gradle
+++ b/build.gradle
@@ -929,6 +929,8 @@ project(':streams') {
     testCompile libs.easymock
     testCompile libs.bcpkix

+    // testRuntimeOnly makes dependencies available at test runtime, while 
preventing the cyclic dependency as noted above
+    testRuntimeOnly project(':streams:test-utils')
     testRuntime libs.slf4jlog4j
   }
{noformat}
Like before I don't know if this is the best solution, but at least it keeps 
the tests from failing. I'll be creating a [WIP] pull request with my current 
changes shortly, to test on Jenkins and get some early feedback as advised. 
Hopefully the tests all pass there too.

I'm close to finishing the migration to the new test driver, but I'm still 
missing about 8 classes. There are also a few tests which still don't work well 
with the new TopologyTestDriver (I'm still relying on KStreamTestDriver for 
those), and I'll have to figure what's wrong before I'm done.

> Rewrite test to use new public TopologyTestDriver
> -------------------------------------------------
>
>                 Key: KAFKA-6474
>                 URL: https://issues.apache.org/jira/browse/KAFKA-6474
>             Project: Kafka
>          Issue Type: Improvement
>          Components: streams, unit tests
>    Affects Versions: 1.1.0
>            Reporter: Matthias J. Sax
>            Assignee: Filipe Agapito
>            Priority: Major
>              Labels: beginner, newbie
>
> With KIP-247 we added public TopologyTestDriver. We should rewrite out own 
> test to use this new test driver and remove the two classes 
> ProcessorTopoogyTestDriver and KStreamTestDriver.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to