chaokunyang commented on code in PR #3738:
URL: https://github.com/apache/fory/pull/3738#discussion_r3361367755


##########
integration_tests/grpc_tests/java/src/test/java/org/apache/fory/grpc_tests/GrpcInteropTest.java:
##########
@@ -71,7 +71,57 @@ public void testJavaClientPythonServer() throws Exception {
         new PeerOutputCollector(process.getInputStream(), 
"python-grpc-server");
     outputCollector.start();
     try {
-      int port = waitForPort(process, outputCollector, portFile);
+      int port = waitForPort(process, outputCollector, portFile, "Python");
+      ManagedChannel channel =
+          ManagedChannelBuilder.forAddress("127.0.0.1", 
port).usePlaintext().build();
+      try {
+        exerciseFdl(channel);
+        exerciseFbs(channel);
+        exercisePb(channel);
+      } finally {
+        channel.shutdownNow();
+        channel.awaitTermination(10, TimeUnit.SECONDS);
+      }
+    } finally {
+      process.destroy();
+      process.waitFor(10, TimeUnit.SECONDS);
+      if (process.isAlive()) {
+        process.destroyForcibly();
+        process.waitFor(10, TimeUnit.SECONDS);
+      }
+      outputCollector.awaitOutput();
+      Files.deleteIfExists(portFile);
+    }
+  }
+
+  @Test
+  public void testJavaServerRustClient() throws Exception {

Review Comment:
   Please avoid growing this class with one pair of 
`testJavaServer<Lang>Client` / `testJavaClient<Lang>Server` methods per peer 
language. The Java harness can own the two directions once in a base test 
(`Java server -> peer client` and `Java client -> peer server`), while Python 
and Rust subclasses/configs provide the peer command, label, setup/build step, 
and port-file handling they need.
   
   This also needs a `.github/workflows/ci.yml` update: keep the existing 
Java/Python gRPC job focused on Python, and add a separate Java/Rust gRPC job 
that runs only when compiler/codegen code changes. Otherwise Rust gRPC coverage 
stays hidden inside the existing `Java/Python gRPC Tests` job and the check 
name does not reflect what failed.



-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to