| Index: third_party/protobuf/conformance/conformance_test.h
|
| diff --git a/third_party/protobuf/conformance/conformance_test.h b/third_party/protobuf/conformance/conformance_test.h
|
| index 5f05a25bcbdc4c63b64476a9d01940579b4bd15d..75fc97bc1a2c4145790a17b5065a0561992196e8 100644
|
| --- a/third_party/protobuf/conformance/conformance_test.h
|
| +++ b/third_party/protobuf/conformance/conformance_test.h
|
| @@ -49,13 +49,8 @@
|
| namespace conformance {
|
| class ConformanceRequest;
|
| class ConformanceResponse;
|
| -} // namespace conformance
|
| -
|
| -namespace protobuf_test_messages {
|
| -namespace proto3 {
|
| class TestAllTypes;
|
| -} // namespace proto3
|
| -} // namespace protobuf_test_messages
|
| +} // namespace conformance
|
|
|
| namespace google {
|
| namespace protobuf {
|
| @@ -96,30 +91,14 @@ class ConformanceTestRunner {
|
| //
|
| class ConformanceTestSuite {
|
| public:
|
| - ConformanceTestSuite() : verbose_(false), enforce_recommended_(false) {}
|
| + ConformanceTestSuite() : verbose_(false) {}
|
|
|
| void SetVerbose(bool verbose) { verbose_ = verbose; }
|
|
|
| // Sets the list of tests that are expected to fail when RunSuite() is called.
|
| // RunSuite() will fail unless the set of failing tests is exactly the same
|
| // as this list.
|
| - //
|
| - // The filename here is *only* used to create/format useful error messages for
|
| - // how to update the failure list. We do NOT read this file at all.
|
| - void SetFailureList(const std::string& filename,
|
| - const std::vector<std::string>& failure_list);
|
| -
|
| - // Whether to require the testee to pass RECOMMENDED tests. By default failing
|
| - // a RECOMMENDED test case will not fail the entire suite but will only
|
| - // generated a warning. If this flag is set to true, RECOMMENDED tests will
|
| - // be treated the same way as REQUIRED tests and failing a RECOMMENDED test
|
| - // case will cause the entire test suite to fail as well. An implementation
|
| - // can enable this if it wants to be strictly conforming to protobuf spec.
|
| - // See the comments about ConformanceLevel below to learn more about the
|
| - // difference between REQUIRED and RECOMMENDED test cases.
|
| - void SetEnforceRecommended(bool value) {
|
| - enforce_recommended_ = value;
|
| - }
|
| + void SetFailureList(const std::vector<std::string>& failure_list);
|
|
|
| // Run all the conformance tests against the given test runner.
|
| // Test output will be stored in "output".
|
| @@ -130,27 +109,8 @@ class ConformanceTestSuite {
|
| bool RunSuite(ConformanceTestRunner* runner, std::string* output);
|
|
|
| private:
|
| - // Test cases are classified into a few categories:
|
| - // REQUIRED: the test case must be passed for an implementation to be
|
| - // interoperable with other implementations. For example, a
|
| - // parser implementaiton must accept both packed and unpacked
|
| - // form of repeated primitive fields.
|
| - // RECOMMENDED: the test case is not required for the implementation to
|
| - // be interoperable with other implementations, but is
|
| - // recommended for best performance and compatibility. For
|
| - // example, a proto3 serializer should serialize repeated
|
| - // primitive fields in packed form, but an implementation
|
| - // failing to do so will still be able to communicate with
|
| - // other implementations.
|
| - enum ConformanceLevel {
|
| - REQUIRED = 0,
|
| - RECOMMENDED = 1,
|
| - };
|
| - string ConformanceLevelToString(ConformanceLevel level);
|
| -
|
| void ReportSuccess(const std::string& test_name);
|
| void ReportFailure(const string& test_name,
|
| - ConformanceLevel level,
|
| const conformance::ConformanceRequest& request,
|
| const conformance::ConformanceResponse& response,
|
| const char* fmt, ...);
|
| @@ -160,59 +120,35 @@ class ConformanceTestSuite {
|
| void RunTest(const std::string& test_name,
|
| const conformance::ConformanceRequest& request,
|
| conformance::ConformanceResponse* response);
|
| - void RunValidInputTest(const string& test_name,
|
| - ConformanceLevel level,
|
| - const string& input,
|
| + void RunValidInputTest(const string& test_name, const string& input,
|
| conformance::WireFormat input_format,
|
| const string& equivalent_text_format,
|
| conformance::WireFormat requested_output);
|
| - void RunValidJsonTest(const string& test_name,
|
| - ConformanceLevel level,
|
| - const string& input_json,
|
| + void RunValidJsonTest(const string& test_name, const string& input_json,
|
| const string& equivalent_text_format);
|
| - void RunValidJsonTestWithProtobufInput(
|
| - const string& test_name,
|
| - ConformanceLevel level,
|
| - const protobuf_test_messages::proto3::TestAllTypes& input,
|
| - const string& equivalent_text_format);
|
| - void RunValidProtobufTest(const string& test_name, ConformanceLevel level,
|
| - const string& input_protobuf,
|
| - const string& equivalent_text_format);
|
| - void RunValidProtobufTestWithMessage(
|
| - const string& test_name, ConformanceLevel level,
|
| - const protobuf_test_messages::proto3::TestAllTypes& input,
|
| - const string& equivalent_text_format);
|
| + void RunValidJsonTestWithProtobufInput(const string& test_name,
|
| + const conformance::TestAllTypes& input,
|
| + const string& equivalent_text_format);
|
|
|
| typedef std::function<bool(const Json::Value&)> Validator;
|
| void RunValidJsonTestWithValidator(const string& test_name,
|
| - ConformanceLevel level,
|
| const string& input_json,
|
| const Validator& validator);
|
| void ExpectParseFailureForJson(const string& test_name,
|
| - ConformanceLevel level,
|
| const string& input_json);
|
| void ExpectSerializeFailureForJson(const string& test_name,
|
| - ConformanceLevel level,
|
| const string& text_format);
|
| void ExpectParseFailureForProto(const std::string& proto,
|
| - const std::string& test_name,
|
| - ConformanceLevel level);
|
| + const std::string& test_name);
|
| void ExpectHardParseFailureForProto(const std::string& proto,
|
| - const std::string& test_name,
|
| - ConformanceLevel level);
|
| + const std::string& test_name);
|
| void TestPrematureEOFForType(google::protobuf::FieldDescriptor::Type type);
|
| - void TestValidDataForType(
|
| - google::protobuf::FieldDescriptor::Type,
|
| - std::vector<std::pair<std::string, std::string>> values);
|
| - bool CheckSetEmpty(const set<string>& set_to_check,
|
| - const std::string& write_to_file, const std::string& msg);
|
| + bool CheckSetEmpty(const set<string>& set_to_check, const char* msg);
|
| ConformanceTestRunner* runner_;
|
| int successes_;
|
| int expected_failures_;
|
| bool verbose_;
|
| - bool enforce_recommended_;
|
| std::string output_;
|
| - std::string failure_list_filename_;
|
|
|
| // The set of test names that are expected to fail in this run, but haven't
|
| // failed yet.
|
|
|