We transformed the proto2/proto3 protos to editions, and then run the same set of tests over both. This will verify that migrating to editions preserves the same proto2/proto3 behavior. These will not be enabled by default, and require a flag `--maximum_edition=2023`.
Future changes will:
- add more targeted editions-specific tests
- clean up our conformance test framework to allow for more targeted tests
- add wildcards to failure lists in limited cases to reduce noise
- add feature resolution conformance tests
PiperOrigin-RevId: 574570607
This doesn't change the tests at all, but refactors them to be more reusable in different contexts. Specifically, this will make it easier to add corresponding editions-based tests. This also splits the concept of "uses a proto3 message" and "runs proto3 tests", in preparation for that change.
PiperOrigin-RevId: 574299923
* Adding jsoncpp submodule
* Adding bazel dependency
* Hook up jsoncpp in Bazel builds
* Hook up jsoncpp dependency in CMake
* Fix conformance binary path
* Move jsoncpp import to the end of the file to avoid confusing add_test
* Add binary conformance tests for map fields
* Update failure list
* Fix php conformance test
* Fix php conformance test
In 32-bit platform, int64 should be string. However, map iterator returns string key as integer.
* Add more test cases for map
* Update failure list
* Add binary conformance test for default repeated fields
1) Both packed and unpacked encoding should be accepted for parsing.
2) Encode should follow the default way for the syntax.
* Uncomment test
* Remove is_primitive
* Add failed tests to failure lists.
* Add failed test to failure list
* Use binary format to specify expected value
Text format cannot distinguish whether repeated field is packed or not.
* Change method name from ToHexString to ToOctString
* Add failed test to failure list
* Add failed test to php's failure list
* Fix comments
* Add binary conformance test for message type.
* Add test case for merge repeated scalar message field
* Add failed tests to failure list
* Add failed test to php's failure list
* Remove successful tests from php c's failure list