summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/test_vs_proto2.cc7
1 files changed, 7 insertions, 0 deletions
diff --git a/tests/test_vs_proto2.cc b/tests/test_vs_proto2.cc
index 86d21d2..0a8c2db 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);
}
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback