Go support for Google's protocol buffers
Go to file
Joe Tsai f6cf4925a9 proto: add TestNil test
TestNil checks for panic behavior for all top-level functions that
accept messages to ensure that we can detect when behavior changes
whether accidentally or deliberately.

This test discovered that the pure protobuf reflect behavior
differs with the fast-path implementation for a few cases.

For the protobuf reflection implementation, we explicitly check
for invalid messages in Merge and Reset. Previously, these would
not panic if the message was already empty (i.e., had no need to
actually set/clear any fields in the receiver message).

Change-Id: I571c0a819366bae993ce7c99b05fb4707e55cd3e
Reviewed-on: https://go-review.googlesource.com/c/protobuf/+/220958
Reviewed-by: Damien Neil <dneil@google.com>
2020-02-25 20:33:07 +00:00
cmd/protoc-gen-go cmd/protoc-gen-go/testdata: remove go.mod file 2020-02-24 22:15:38 +00:00
compiler/protogen compiler/protogen: add devsite URL to protogen warnings 2020-02-24 20:14:07 +00:00
encoding all: rename IsInitialized as CheckInitialized 2020-02-20 20:45:40 +00:00
internal internal/impl: check for size cache overflow 2020-02-24 20:12:47 +00:00
proto proto: add TestNil test 2020-02-25 20:33:07 +00:00
reflect all: rename IsInitialized as CheckInitialized 2020-02-20 20:45:40 +00:00
runtime runtime/protoiface: trivial change to Size 2020-02-25 10:28:07 +00:00
testing testing/prototest: refactor prototest API 2020-02-20 22:47:27 +00:00
types testing/prototest: refactor prototest API 2020-02-20 22:47:27 +00:00
.gitignore cmd/protoc-gen-go/testdata: remove go.mod file 2020-02-24 22:15:38 +00:00
.travis.yml .travis.yml: configure for OSX 2019-03-13 18:04:08 +00:00
AUTHORS
CONTRIBUTING.md all: update contributing documentation 2020-02-24 22:15:07 +00:00
CONTRIBUTORS
go.mod proto: remove IsInitialized 2020-02-24 22:37:49 +00:00
go.sum proto: remove IsInitialized 2020-02-24 22:37:49 +00:00
integration_test.go all: remove reliance on --compact-summary 2020-02-22 01:19:34 +00:00
LICENSE
PATENTS
README.md
regenerate.bash internal/cmd/generate-protos: generate test for testdata 2019-03-11 19:40:53 +00:00
release.bash release.bash: add support for building release binaries 2019-08-21 01:15:26 +00:00
test.bash test.bash: add -failfast flag 2019-08-05 21:48:09 +00:00

Next Generation Go Protocol Buffers

WARNING: This repository is in active development. There are no guarantees about API stability. Breaking changes will occur until a stable release is made and announced.

This repository is for the development of the next major Go implementation of protocol buffers. This library makes breaking API changes relative to the existing Go protobuf library. Of particular note, this API aims to make protobuf reflection a first-class feature of the API and implements the protobuf ecosystem in terms of reflection.

Design Documents

List of relevant design documents:

Contributing

We appreciate community contributions. See CONTRIBUTING.md.

Reporting Issues

Issues regarding the new API can be filed at github.com/golang/protobuf. Please use a APIv2: prefix in the title to make it clear that the issue is regarding the new API work.