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]