From 6955dfb302f23ddf8421770dc09234533f98b71e Mon Sep 17 00:00:00 2001 From: Joshua Haberman Date: Fri, 15 Apr 2011 13:25:52 -0700 Subject: [PATCH] Calculate and print string sizes in test messages. --- src/upb_decoder_x86.dasc | 2 +- tests/test_vs_proto2.cc | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/upb_decoder_x86.dasc b/src/upb_decoder_x86.dasc index f56b9f80ee..4088ebacd3 100644 --- a/src/upb_decoder_x86.dasc +++ b/src/upb_decoder_x86.dasc @@ -94,7 +94,7 @@ void upb_reg_jit_gdb(upb_decoder *d) { #else void upb_reg_jit_gdb(upb_decoder *d) { - (void)d + (void)d; } #endif diff --git a/tests/test_vs_proto2.cc b/tests/test_vs_proto2.cc index 86d21d2edc..0a8c2db24d 100644 --- a/tests/test_vs_proto2.cc +++ b/tests/test_vs_proto2.cc @@ -18,6 +18,8 @@ #include MESSAGE_HFILE +size_t string_size; + void compare(const google::protobuf::Message& proto2_msg, upb_msg *upb_msg, upb_msgdef *upb_md); @@ -68,6 +70,7 @@ void compare_arrays(const google::protobuf::Reflection *r, std::string str = r->GetRepeatedString(proto2_msg, proto2_f, i); upb_string *upbstr = upb_value_getstr(v); std::string str2(upb_string_getrobuf(upbstr), upb_string_len(upbstr)); + string_size += upb_string_len(upbstr); ASSERT(str == str2); break; } @@ -123,6 +126,7 @@ void compare_values(const google::protobuf::Reflection *r, std::string str = r->GetString(proto2_msg, proto2_f); upb_string *upbstr = upb_value_getstr(v); std::string str2(upb_string_getrobuf(upbstr), upb_string_len(upbstr)); + string_size += upb_string_len(upbstr); ASSERT(str == str2); break; } @@ -185,7 +189,10 @@ void parse_and_compare(MESSAGE_CIDENT *proto2_msg, upb_printerr(&status); exit(1); } + string_size = 0; compare(*proto2_msg, upb_msg, upb_md); + printf("Total size: %d, string size: %zd (%0.2f%%)\n", upb_string_len(str), + string_size, (double)string_size / upb_string_len(str) * 100); upb_status_uninit(&status); }