diff options
author | Josh Haberman <jhaberman@gmail.com> | 2015-04-01 17:23:48 -0700 |
---|---|---|
committer | Josh Haberman <jhaberman@gmail.com> | 2015-04-08 13:14:10 -0700 |
commit | 35a1cc7a7c7cfd205641f15258ca991f6d3ec2bc (patch) | |
tree | 1deae768e282b203892f5e29a9d4bf1271f43397 /conformance/README.md | |
parent | 86d93063c6d662e7cae91ff8a2adf39b4d93fe53 (diff) | |
download | protobuf-35a1cc7a7c7cfd205641f15258ca991f6d3ec2bc.tar.gz protobuf-35a1cc7a7c7cfd205641f15258ca991f6d3ec2bc.tar.bz2 protobuf-35a1cc7a7c7cfd205641f15258ca991f6d3ec2bc.zip |
Added first version of conformance tests.
Change-Id: Ib75664194491643f8e4f1503a2ed942a2d1e1655
Diffstat (limited to 'conformance/README.md')
-rw-r--r-- | conformance/README.md | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/conformance/README.md b/conformance/README.md new file mode 100644 index 00000000..9388055f --- /dev/null +++ b/conformance/README.md @@ -0,0 +1,45 @@ +Protocol Buffers - Google's data interchange format +=================================================== + +[![Build Status](https://travis-ci.org/google/protobuf.svg?branch=master)](https://travis-ci.org/google/protobuf) + +Copyright 2008 Google Inc. + +This directory contains conformance tests for testing completeness and +correctness of Protocol Buffers implementations. These tests are designed +to be easy to run against any Protocol Buffers implementation. + +This directory contains the tester process `conformance-test`, which +contains all of the tests themselves. Then separate programs written +in whatever language you want to test communicate with the tester +program over a pipe. + +Before running any of these tests, make sure you run `make` in the base +directory to build `protoc`, since all the tests depend on it. + + $ make + +Then to run the tests against the C++ implementation, run: + + $ cd conformance && make test_cpp + +More tests and languages will be added soon! + +Testing other Protocol Buffer implementations +--------------------------------------------- + +To run these tests against a new Protocol Buffers implementation, write a +program in your language that uses the protobuf implementation you want +to test. This program should implement the testing protocol defined in +[conformance.proto](https://github.com/google/protobuf/blob/master/conformance/conformance.proto). +This is designed to be as easy as possible: the C++ version is only +150 lines and is a good example for what this program should look like +(see [conformance_cpp.cc](https://github.com/google/protobuf/blob/master/conformance/conformance_cpp.cc)). +The program only needs to be able to read from stdin and write to stdout. + +Portability +----------- + +Note that the test runner currently does not work on Windows. Patches +to fix this are welcome! (But please get in touch first to settle on +a general implementation strategy). |