summaryrefslogtreecommitdiff
path: root/tests
AgeCommit message (Collapse)Author
2014-12-15Added msgdef flag to indicate map_entry protos.Chris Fallin
2014-12-09Removed obsolete benchmarks/ and examples/ directories.Josh Haberman
2014-12-09Decoder bugfix, .gitignore update, and delete obsolete files.Josh Haberman
2014-12-09JSON test, symbolic enum names in JSON, and a few improvements.Chris Fallin
- Added a JSON test that round-trips (parses then re-serializes) several test messages, ensuring that the re-serialized form matches the original exactly. - Added support for printing and parsing symbolic enum names (rather than integer values) in JSON. - Updated JSON printer to properly handle string fields that come in multiple pieces. ('bytes' fields still do not support this, and this work is more challenging because it requires making the base64 encoder resumable. Base64 encoding is not separable at an input-byte granularity, unlike string escaping.) - Fixed a < vs. <= bug in UTF-8 encoding generation (oops).
2014-12-03Sync from Google-internal development.Josh Haberman
Most notably, a JSON parser is now provided.
2014-11-18Fixed building of googlepbtests.Josh Haberman
2014-11-18Sync to Google-internal development.Josh Haberman
2014-09-01Added lua and core32 Travis builds, and rewrote README.mdJosh Haberman
2014-09-01Added compiled version of test.proto.Josh Haberman
This avoids requiring protoc to be installed just to build/run the basic tests. When upb has its own .proto file parser we should be able to remove this precompiled version from the repository.
2014-09-01Enable more Travis configurations.Josh Haberman
2014-08-31Rewrite of build system.Josh Haberman
Notable changes: - We now only build things by default that require no dependencies. So you can build upb even if you don't have Lua or Google protobuf installed. - Checked in a pre-built version of the JIT, so you don't need Lua installed at build time to run DynASM. It will still notice if you change the .dasc file and attempt to re-run DynASM in that case. - The build system now builds all modules of upb into separate libraries, reflecting the modularity that is already inherent in upb's design. This should make it easier to trim the fat. - removed the GDB JIT interface. I wasn't using it much; using a .so is easier and more robust.
2014-08-30Fix in test_cpp for bad macro expansion.Josh Haberman
2014-08-30Fixed build and added Travis CI support.Josh Haberman
2014-07-29Added UPB_UNTRACKED_REF and some more handler overload options.Josh Haberman
2014-07-24Sync from Google-internal development.Josh Haberman
2014-07-02Sync from internal Google development.Josh Haberman
2014-06-26Sync from internal Google development.Josh Haberman
2014-02-04Sync from Google development.Josh Haberman
2014-01-21Sync to internal Google development.Josh Haberman
2013-12-20Sync from Google-internal development.Josh Haberman
2013-10-24Merge from Google-internal development:Josh Haberman
- rewritten decoder; interpreted decoder is bytecode-based, JIT decoder no longer falls back to the interpreter. - C++ improvements: C++11-compatible iterators, upb::reffed_ptr for RAII refcounting, better upcast/downcast support. - removed the gross upb_value abstraction from public upb.h.
2013-05-28Fixes to compile on GCC 4.2, as shipped with XCode.Josh Haberman
2013-05-28Merge from Google-internal development.Josh Haberman
- Better error reporting for upb::Def setters. - error reporting for upb::Handlers setters. - made the start/endmsg handlers a little less special-cased.
2013-05-25Synced with Google-internal development.Josh Haberman
C++ handlers are now type-safe; SinkFrame is gone. Various other changes.
2013-05-11Synced with 3 months of Google-internal development.Josh Haberman
Major changes: - Got rid of all bytestream interfaces in favor of using regular handlers. - new Pipeline object represents a upb pipeline, does bump allocation internally to manage memory. - proto2 support now can handle extensions.
2013-02-15Sync with 8 months of Google-internal development.Josh Haberman
Many things have changed and been simplified. The memory-management story for upb_def and upb_handlers is much more robust; upb_def and upb_handlers should be fairly stable interfaces now. There is still much work to do for the runtime component (upb_sink).
2012-03-31Sync from internal Google development.Joshua Haberman
2012-03-24Sync from internal Google development.Joshua Haberman
Many improvements, too many to mention. One significant perf regression warrants investigation: omitfp.parsetoproto2_googlemessage1.upb_jit: 343 -> 252 (-26.53) plain.parsetoproto2_googlemessage1.upb_jit: 334 -> 251 (-24.85) 25% regression for this benchmark is bad, but since I don't think there's any fundamental design issue that caused it I'm going to go ahead with the commit anyway. Can investigate and fix later. Other benchmarks were neutral or showed slight improvement.
2011-12-22Fixed the open-source build.Joshua Haberman
2011-12-22Sync with internal Google development.Joshua Haberman
This breaks the open-source build, will follow up with a change to fix it.
2011-11-23Refinement of upb_bytesrc interface.Joshua Haberman
Added a upb_byteregion that tracks a region of the input buffer; decoders use this instead of using a upb_bytesrc directly. upb_byteregion is also used as the way of passing a string to a upb_handlers callback. This symmetry makes decoders compose better; if you want to take a parsed string and decode it as something else, you can take the string directly from the callback and feed it as input to another parser. A commented-out version of a pinning interface is present; I decline to actually implement it (and accept its extra complexity) until/unless it is clear that it is actually a win. But it is included as a proof-of-concept, to show that it fits well with the existing interface.
2011-11-19Changes to get upb compiling inside Google.Joshua Haberman
2011-09-12Added an example, constified some more methods.Joshua Haberman
2011-09-09Add failing unit testHunter Morris
This might actually just bring to light my misuse of the upb_fielddef functions. The test assertions are fine, but an assertion in upb/upb.h fails: ./upb/upb.h:181: upb_value_getptr: Assertion `val.type == 33' failed.
2011-09-04Const invasion: large parts of upb made const-correct.Joshua Haberman
2011-09-03Work on C++ wrappers, added C++ test.Joshua Haberman
2011-08-31Header cleanup, clarify/correct comments for interfaces.Joshua Haberman
2011-08-27Refined upb_status.Joshua Haberman
2011-08-27Add packed field support (untested).Joshua Haberman
2011-08-20Some Makefile cleanup.Joshua Haberman
2011-08-19More cleanup.Joshua Haberman
2011-08-19Some source cleanup/commenting.Joshua Haberman
2011-08-04More work on Lua extension, and consequent core refactoring.Joshua Haberman
2011-07-16Get rid of upb_symtabtxn.Joshua Haberman
This type was nothing but a map of defs. We can as easily just pass an array of defs into upb_symtab_add().
2011-07-15Directory restructure.Joshua Haberman
Includes are now via upb/foo.h. Files specific to the protobuf format are now in upb/pb (the core library is concerned with message definitions, handlers, and byte streams, but knows nothing about any particular serializationf format).
2011-07-14Major refactoring: upb_string is gone in favor of upb_strref.Joshua Haberman
2011-06-17Major refactoring: abandon upb_msg, add upb_accessors.Joshua Haberman
Next on the chopping block is upb_string.
2011-05-21Make all handlers objects refcounted.Joshua Haberman
I'm realizing that basically all upb objects will need to be refcounted to be sharable across languages, but *not* messages which are on their way out so we can get out of the business of data representations. Things which must be refcounted: - encoders, decoders - handlers objects - defs
2011-05-20Add startseq/endseq handlers.Joshua Haberman
Startseq/endseq handlers are called at the beginning and end of a sequence of repeated values. Protobuf does not really have direct support for this (repeated primitive fields do not delimit "begin" and "end" of the sequence) but we can infer them from the bytestream. The benefit of supporting them explicitly is that they get their own stack frame and closure, so we can avoid having to find the array's address over and over and deciding if we need to initialize it. This will also pave the way for better support of JSON, which does have explicit "startseq/endseq" markers: [].
2011-05-19Change dispatcher error handling model.Joshua Haberman
Now the dispatcher will call error handlers instaed of returning statuses that the caller has to constantly check.
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback