Support #13600

Create a comprehensive test suite

Added by Richard Neswold over 4 years ago. Updated over 4 years ago.

Target version:
Start date:
Due date:
% Done:


Estimated time:


When we originally created the protocol compiler, we had a test suite for the C++, Java and Erlang generators. As we added new target languages, the test code didn't include tests for them. The original tests have also fallen behind. This issue proposes a comprehensive test suite to make sure all target languages are correct and can communicate between each other.

All platforms can run the C++ tests (since they can build the protocol compiler, they have access to a C++ compiler.) The platforms can test to see which further targets can be tested. For instance, if Java isn't installed, then the Java tests would be skipped. Since every platform will validate their C++ generator, we don't necessarily need a platform that supports all targets. A platform that only tests C++ and Java, for example, has validated Java for all platforms. Tests that run on OS X will verify C++ and Objective-C, which means the Objective-C code will work correctly on iOS devices.


#1 Updated by Richard Neswold over 4 years ago

An initial testsuite framework has been committed (8e0e4781). At the moment, the testsuite only checks the C++ generator (and, even then, it's only testing the primitive marshal/unmarshal functions.) Although it's just a beginning, the tests found a lingering bug when unmarshalling doubles which was introduced in July when we went to a fixed-sized encoding of floating point.

#2 Updated by Richard Neswold over 4 years ago

Some initial tests have been added for the Erlang generator.

Also available in: Atom PDF