From 181c7f26360429b236ab833c746d10d97811931f Mon Sep 17 00:00:00 2001 From: Josh Haberman Date: Wed, 15 Jul 2015 11:05:10 -0700 Subject: Added Ruby to conformance tests. This involved fixing a few important bugs in the Ruby implementation -- mostly cases of mixing upb field types and descriptor types (upb field types do not distinguish between int/sint/fixed/sfixed like descriptor types do). Also added protobuf-specific exceptions so parse errors can be caught specifically. Change-Id: Ib49d3db976900b2c6f3455c8b88af52cfb86e036 --- conformance/conformance_test_runner.cc | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'conformance/conformance_test_runner.cc') diff --git a/conformance/conformance_test_runner.cc b/conformance/conformance_test_runner.cc index b56e19cf..780e1c44 100644 --- a/conformance/conformance_test_runner.cc +++ b/conformance/conformance_test_runner.cc @@ -219,12 +219,16 @@ void ParseFailureList(const char *filename, vector* failure_list) { int main(int argc, char *argv[]) { int arg = 1; char *program; - vector failure_list; + google::protobuf::ConformanceTestSuite suite; for (int arg = 1; arg < argc; ++arg) { if (strcmp(argv[arg], "--failure_list") == 0) { if (++arg == argc) UsageError(); + vector failure_list; ParseFailureList(argv[arg], &failure_list); + suite.SetFailureList(failure_list); + } else if (strcmp(argv[arg], "--verbose") == 0) { + suite.SetVerbose(true); } else if (argv[arg][0] == '-') { fprintf(stderr, "Unknown option: %s\n", argv[arg]); UsageError(); @@ -238,8 +242,6 @@ int main(int argc, char *argv[]) { } ForkPipeRunner runner(program); - google::protobuf::ConformanceTestSuite suite; - suite.SetFailureList(failure_list); std::string output; bool ok = suite.RunSuite(&runner, &output); -- cgit v1.2.3