For folks considering using thrift, one of the complaints I see multiple times in discussions is that "if you stay from the core, you're on your own". In other words, if I want to use the compact protocol with a csharp client and a python3 server using zlib compression (transport wrapper) on a framed transport, does it work? How would I know?
The cross test framework generates a large amount of data about what gets tested:
- client language
- server language
- transport wrapper (inferred as a transport currently)
- success or failure
And some things it would be nice to have:
- server type (simple, threaded, ASYNC) : this does not exist yet - most tests run with a simple server.
Also there is a list of known combinations that fail in test/known_failures_Linux.json.
It would be really nice to have a web page someone can go to which would be able to analyze the result of (and perhaps cache) the output from the cross test jobs in CI for release builds and for master builds, and let folks choose a variety of ways to inspect the matrix.
- Select a server language, transport, and protocol. What clients are currently tested and known to work at a fundamental level? What clients are known not to work?
- Select a server language, client language, and one of transport or protocol; show the other of the two and what works, what doesn't.
There are probably others. Something like this would be pretty useful to folks who are trying to make a decision on whether to use thrift for their project or not.