Commit Graph

6 Commits

Author SHA1 Message Date
Feng Xiao
e841bac4fc Down-integrate from internal code base. 2015-12-11 17:10:28 -08:00
Josh Haberman
b0500b37b2 Added support for Json and valid input to conformance tests.
This was enabled by the recent open-sourcing of JSON
support and MessageDifferencer.

MessageDifferencer allows the conformance suite to expand
because it allows us to write tests for payloads that parse
successfully.  To verify the testee's output payload, we
need to parse it back into a message and compare the message
instances.  Comparing output bytes vs. a golden message is
*not* valid, because protobufs do not have a canonical
encoding (especially in the presence of maps, which have
no prescribed serialization order).

We only add one small JSON test for now, but with the
framework in place we now have the foundation to dramatically
expand the coverage of the conformance test suite.

Also added the ability for the testee to skip tests that
exercise features that are unimplemented.  This allows
Java (which currently has no JSON support) to skip tests
involving JSON.

Change-Id: I697b4363da432b61ae3b638b4287c4cda1af4deb
2015-07-10 16:36:59 -07:00
Bo Yang
5db217305f down-integrate internal changes 2015-05-21 19:32:02 -07:00
Josh Haberman
420f938bac Added conformance test support for Java.
Change-Id: I4c81808e6ace77d2b5737a43417045321b0b10f0
2015-04-16 15:45:03 -07:00
Josh Haberman
4e63b52088 Factored conformance tests so they can run in-process.
This is necessary for testing on iOS.

Change-Id: I54ec1e3aa2e9fbfff9a6cd6580920a6a62069b63
2015-04-15 14:56:05 -07:00
Josh Haberman
35a1cc7a7c Added first version of conformance tests.
Change-Id: Ib75664194491643f8e4f1503a2ed942a2d1e1655
2015-04-08 13:14:10 -07:00