OLD | NEW |
(Empty) | |
| 1 Protocol Buffers - Google's data interchange format |
| 2 =================================================== |
| 3 |
| 4 [![Build Status](https://travis-ci.org/google/protobuf.svg?branch=master)](https
://travis-ci.org/google/protobuf) |
| 5 |
| 6 Copyright 2008 Google Inc. |
| 7 |
| 8 This directory contains conformance tests for testing completeness and |
| 9 correctness of Protocol Buffers implementations. These tests are designed |
| 10 to be easy to run against any Protocol Buffers implementation. |
| 11 |
| 12 This directory contains the tester process `conformance-test`, which |
| 13 contains all of the tests themselves. Then separate programs written |
| 14 in whatever language you want to test communicate with the tester |
| 15 program over a pipe. |
| 16 |
| 17 Before running any of these tests, make sure you run `make` in the base |
| 18 directory to build `protoc`, since all the tests depend on it. |
| 19 |
| 20 $ make |
| 21 |
| 22 Then to run the tests against the C++ implementation, run: |
| 23 |
| 24 $ cd conformance && make test_cpp |
| 25 |
| 26 More tests and languages will be added soon! |
| 27 |
| 28 Testing other Protocol Buffer implementations |
| 29 --------------------------------------------- |
| 30 |
| 31 To run these tests against a new Protocol Buffers implementation, write a |
| 32 program in your language that uses the protobuf implementation you want |
| 33 to test. This program should implement the testing protocol defined in |
| 34 [conformance.proto](https://github.com/google/protobuf/blob/master/conformance/c
onformance.proto). |
| 35 This is designed to be as easy as possible: the C++ version is only |
| 36 150 lines and is a good example for what this program should look like |
| 37 (see [conformance_cpp.cc](https://github.com/google/protobuf/blob/master/conform
ance/conformance_cpp.cc)). |
| 38 The program only needs to be able to read from stdin and write to stdout. |
| 39 |
| 40 Portability |
| 41 ----------- |
| 42 |
| 43 Note that the test runner currently does not work on Windows. Patches |
| 44 to fix this are welcome! (But please get in touch first to settle on |
| 45 a general implementation strategy). |
OLD | NEW |