aboutsummaryrefslogtreecommitdiffhomepage
path: root/conformance/conformance_test_runner.cc
diff options
context:
space:
mode:
authorGravatar Josh Haberman <jhaberman@gmail.com>2015-07-15 11:05:10 -0700
committerGravatar Josh Haberman <jhaberman@gmail.com>2015-07-16 12:25:55 -0700
commit181c7f26360429b236ab833c746d10d97811931f (patch)
tree3abdbaf4abb0115c17892bcf2a1629c9475f147c /conformance/conformance_test_runner.cc
parentfde6e89f99eda04a4f1b8677bcea07e6c2040405 (diff)
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
Diffstat (limited to 'conformance/conformance_test_runner.cc')
-rw-r--r--conformance/conformance_test_runner.cc8
1 files changed, 5 insertions, 3 deletions
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<string>* failure_list) {
int main(int argc, char *argv[]) {
int arg = 1;
char *program;
- vector<string> 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<string> 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);