From 46fac0f58d169555cd0d53f8acb7fbe83a45a191 Mon Sep 17 00:00:00 2001 From: Joshua Haberman Date: Sun, 30 Aug 2009 21:12:17 -0700 Subject: Tests use valgrind, chdir in test. --- tests/test_vs_proto2.cc | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) (limited to 'tests') diff --git a/tests/test_vs_proto2.cc b/tests/test_vs_proto2.cc index e284100..f1966ef 100644 --- a/tests/test_vs_proto2.cc +++ b/tests/test_vs_proto2.cc @@ -172,8 +172,22 @@ void parse_and_compare(MESSAGE_CIDENT *proto2_msg, struct upb_msg *upb_msg, compare(*proto2_msg, upb_msg); } -int main() +int main(int argc, char *argv[]) { + // Change cwd to where the binary is. + (void)argc; + char *lastslash = strrchr(argv[0], '/'); + char *progname = argv[0]; + if(lastslash) { + *lastslash = '\0'; + if(chdir(argv[0]) < 0) { + fprintf(stderr, "Error changing directory to %s.\n", argv[0]); + return 1; + } + *lastslash = '/'; + progname = lastslash + 3; /* "/b_" */ + } + // Initialize upb state, parse descriptor. struct upb_context *c = upb_context_new(); struct upb_string *fds = upb_strreadfile(MESSAGE_DESCRIPTOR_FILE); -- cgit v1.2.3