Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(827)

Unified Diff: third_party/protobuf/conformance/conformance_test.h

Issue 2590803003: Revert "third_party/protobuf: Update to HEAD (83d681ee2c)" (Closed)
Patch Set: Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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.
« no previous file with comments | « third_party/protobuf/conformance/conformance_ruby.rb ('k') | third_party/protobuf/conformance/conformance_test.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698