Hi Shuo Li,

> I would like to express my gratitude for providing a valuable tool
> like Thrift.

Appreciated, but Apache Thrift is (as the name indicates) an ASF project and as such FOSS, built from many, many contributions from contributors all over the world. Thank Facebook if you will, the ASF and all those people spending their time and efforts making Thrift better. I personally have much less to do with that as you might think.

> During my current study,  I have encountered some confusion regarding
> "cross testing." Particularly, when using Python 3, it seems that
> only the ThriftTest.thrift test case is executed.

That is the main cross test file, correct. The idea of the cross test is to make sure that implementations are interoperable between languages, which is one of the core features of Apache Thrift. Hence, a commonly implemented test suite is required, and this is the IDL file for it.

> It appears that
> this test employs a client alongside assert statements for testing,
> and the test case's return_code seems fixed. However, I have noticed
> a minor inconsistency between this approach and the description
> outlined in the README file at
> https://github.com/apache/thrift/tree/master/test.

It would help us to help you if you could also mention, what these inconcistencies were. It is rather hard to give any answer at all if one doesn't even know the question.

> I am seeking clarification on whether I may have overlooked crucial
> information or if there might be a misunderstanding on my part that
> is causing this disparity. I am keen to understand how to properly
> conduct cross testing. I have followed the instructions in the
> /test/readme tutorial, but unfortunately, all the test cases are
> failing.

You have any error messages at hand? Test logs? Anything like that?

> I am particularly interested in comprehending the workings of the
> "cross test." Therefore, I would greatly appreciate any guidance or
> clarification you can provide to help me gain a better understanding
> of the Thrift cross testing process.

The idea is to have a client and a server for each language we support, all of them implementing the same IDL and returning a well defined set of responses. In theory, the test script runs every possible combination of client, server, transport and protocol. In practice, there are a few limitations to that, but that's the general idea.

If there is any specific question to it, we're keen to help.

Have fun,
JensG

PS: I redirected the conversation to the official channels. Direct emails to people are  usually undesirable in FOSS projects.





Reply via email to