summaryrefslogtreecommitdiff
path: root/tests/pb/test_encoder.cc
diff options
context:
space:
mode:
Diffstat (limited to 'tests/pb/test_encoder.cc')
-rw-r--r--tests/pb/test_encoder.cc24
1 files changed, 22 insertions, 2 deletions
diff --git a/tests/pb/test_encoder.cc b/tests/pb/test_encoder.cc
index 8a222f4..6dd10ba 100644
--- a/tests/pb/test_encoder.cc
+++ b/tests/pb/test_encoder.cc
@@ -1,11 +1,31 @@
#include "tests/upb_test.h"
#include "upb/bindings/stdc++/string.h"
-#include "upb/descriptor/descriptor.upb.h"
+#include "upb/descriptor/descriptor.upbdefs.h"
#include "upb/pb/decoder.h"
#include "upb/pb/encoder.h"
#include "upb/pb/glue.h"
+static char *upb_readfile(const char *filename, size_t *len) {
+ long size;
+ char *buf;
+ FILE *f = fopen(filename, "rb");
+ if(!f) return NULL;
+ if(fseek(f, 0, SEEK_END) != 0) goto error;
+ size = ftell(f);
+ if(size < 0) goto error;
+ if(fseek(f, 0, SEEK_SET) != 0) goto error;
+ buf = (char*)malloc(size + 1);
+ if(size && fread(buf, size, 1, f) != 1) goto error;
+ fclose(f);
+ if (len) *len = size;
+ return buf;
+
+error:
+ fclose(f);
+ return NULL;
+}
+
std::string read_string(const char *filename) {
size_t len;
char *str = upb_readfile(filename, &len);
@@ -18,7 +38,7 @@ std::string read_string(const char *filename) {
void test_pb_roundtrip() {
upb::reffed_ptr<const upb::MessageDef> md(
- upbdefs::google::protobuf::FileDescriptorSet::MessageDef());
+ upbdefs::google::protobuf::FileDescriptorSet::get());
upb::reffed_ptr<const upb::Handlers> encoder_handlers(
upb::pb::Encoder::NewHandlers(md.get()));
upb::reffed_ptr<const upb::pb::DecoderMethod> method(
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback