Commit Graph

333 Commits

Author SHA1 Message Date
David L. Jones
cd5cc37624
Fix some style/lint issues. (#10003)
- Starlark: ensure docstrings are present.
- python/setup.py: https://refex.readthedocs.io/en/latest/guide/fixers/superfluous_parens.html
2022-05-19 14:22:56 -07:00
David L. Jones
cbd1adc6cf
[Bazel/C++] Factor out compiler packages. (#9985)
This change adds packages for protoc sources under src/google/protobuf/compiler (this is similar to what was done in #9980).
2022-05-17 16:39:47 -07:00
David L. Jones
354aba886e
Add a test for bazel-built dist archives (#9929)
This also fixes some packaging rules that are needed for the result to be buildable.
2022-05-09 16:32:59 -07:00
David L. Jones
637a699969
[Bazel] Move conformance test targets to //conformance. (#9922) 2022-05-06 13:30:48 -07:00
Adam Cozzette
860f8ad171
Remove the JavaScript implementation (#9874)
This implementation is about to be split out into a separate Git repo.
2022-04-28 12:08:26 -07:00
Elliotte Rusty Harold
d2b669a4dd
more descriptive error messages and exceptions (#9868)
* more descriptive error messages and exceptions
* Travis --> Kokoro
2022-04-27 17:02:01 +00:00
noahdietz
5abf802bc2 Replace master with main in URLs & docs 2022-04-12 10:25:08 -07:00
Mike Kruskal
a29e0e3f44 Sync from Piper @439400376
PROTOBUF_SYNC_PIPER
2022-04-04 13:42:37 -07:00
David L. Jones
1ba1d73e0d Sync from Piper @429333699
PROTOBUF_SYNC_PIPER
2022-02-17 09:53:51 -08:00
Joshua Haberman
fb9f5862d3 Fixed JavaScript conformance test and failure list. 2022-02-08 23:06:32 -08:00
Joshua Haberman
06196e9b4c Merge tag 'refs/tags/sync-piper' into sync-stage 2022-02-08 20:53:32 -08:00
Joshua Haberman
dce403a8b3 Sync from Piper @427369078
PROTOBUF_SYNC_PIPER
2022-02-08 20:53:31 -08:00
Deanna Garcia
a2f7cfab27 Fixing more tests 2022-02-02 22:21:04 +00:00
Deanna Garcia
b7fe12e367 Syncing from internal 2022-02-01 21:30:49 +00:00
Deanna Garcia
ab4585a695 Sync from Piper @425656941
PROTOBUF_SYNC_PIPER
2022-02-01 18:24:53 +00:00
James Newton-King
aa15931050
Update .NET SDKs to LTS versions 2021-11-10 08:49:53 +13:00
Jason Lunn
3581d85ced Update JRuby to leverage pure-Ruby DSL.
JRuby unit and conformance test fixes.
2021-10-03 18:25:43 -04:00
Sandy Zhang
6dd2176354 Sync from Piper @396393195
PROTOBUF_SYNC_PIPER
2021-09-13 17:56:05 +00:00
Sandy Zhang
215dd1335b Sync from Piper @395989630
PROTOBUF_SYNC_PIPER
2021-09-10 20:04:52 +00:00
Joshua Haberman
a76f5da9a0 Removed extraneous trailing backslashes. 2021-09-09 13:25:55 -07:00
Joshua Haberman
a33aa736fc Removed more testing of Python <3.5. 2021-09-09 13:20:34 -07:00
Joshua Haberman
7adaf9eb79 Marked JS conformance runner as executable. 2021-09-09 11:33:31 -07:00
Joshua Haberman
f46293839e Removed redundant license header that confounded shebang line. 2021-09-09 11:14:48 -07:00
Joshua Haberman
018e2e7751 Merge tag 'refs/tags/sync-piper' into sync-stage
# Conflicts:
#	src/google/protobuf/descriptor.pb.cc
#	src/google/protobuf/duration.pb.cc
#	src/google/protobuf/timestamp.pb.cc
#	src/google/protobuf/type.pb.cc
#	src/google/protobuf/wrappers.pb.cc
2021-09-09 08:23:12 -07:00
Joshua Haberman
e5c570bb57 Sync from Piper @395706834
PROTOBUF_SYNC_PIPER
2021-09-09 08:21:42 -07:00
Adam Cozzette
9faf5a79bc Use kName naming style for enum in binary_json_conformance_suite.cc
This style is officially the correct one according to the style guide,
but more importantly this fixes a conflict with TRUE and FALSE macros
defined on Mac OS.
2021-08-25 13:55:16 -07:00
Joshua Haberman
9521803d40 Sync from Piper @375548932
PROTOBUF_SYNC_PIPER
2021-05-24 13:49:39 -07:00
Deanna Garcia
380e352b0b Sync from Piper @373820256
PROTOBUF_SYNC_PIPER
2021-05-14 17:50:31 +00:00
Derek Perez
bc45f92262
Bazel powered Java testing (#8506)
* Protobuf Java/Core Tests running w/ Bazel.

Also integrates rules_jvm_external and migrates existing maven deps
in place.

* Add test_suite target that maps to rule name.

* Lite tests passing in Bazel

* util tests passing with Bazel.

* Add conformance and build testing to //java:core

* Cleanup bzl style and lock down access to failure lists.

* Adding Java Lite conformance tests.

* rm newline

* parameterize conformance_test

This makes usage of failure lists more explicit.

* restrict visibility more for newly added libs and fix formatting.

* fix formatting and visibility.

* move testing.bzl to an internal package.

* fix file formatting.

* moving conformance_test to internal.bzl
2021-04-20 11:36:32 -07:00
Joshua Haberman
b7285b6c69 Sync from Piper @368903491
PROTOBUF_SYNC_PIPER
2021-04-16 12:59:54 -07:00
Joshua Haberman
ba3836703b Sync from Piper @368866736
PROTOBUF_SYNC_PIPER
2021-04-16 09:55:03 -07:00
Joshua Haberman
ce560630bf Sync from Piper @368734211
PROTOBUF_SYNC_PIPER
2021-04-15 15:53:17 -07:00
Joshua Haberman
77334e39a7 Merge tag 'refs/tags/sync-piper' into sync-stage 2021-03-22 13:05:55 -07:00
Joshua Haberman
96307d28f6 Sync from Piper @364389596
PROTOBUF_SYNC_PIPER
2021-03-22 13:05:55 -07:00
Yannic Bonenberger
aa5cb98712 Fix conformance_cpp 2021-03-10 10:05:31 +01:00
Joshua Haberman
9df42757f9 Sync from Piper @359788468
PROTOBUF_SYNC_PIPER
2021-02-26 10:37:37 -08:00
Abhishek Jain
0ef575beff
Fix compiler warnings issue found in conformance_test_runner#8189 (#8190) 2021-02-11 16:29:47 -08:00
Joshua Haberman
9abf6e2ab0
Ported Ruby extension to upb_msg (#8184)
* WIP.

* WIP.

* WIP.

* WIP.

* WIP.

* WIP.

* Added some missing files.

* WIP.

* WIP.

* Updated upb.

* Extension loads, but crashes immediately.

* Gets through the test suite without SEGV!

Still a lot of bugs to fix, but it is a major step!

214 tests, 378 assertions, 37 failures, 147 errors, 0 pendings, 0 omissions, 0 notifications
14.0187% passed

* Test and build for Ruby 3.0

* Fixed a few more bugs, efficient #inspect is almost done.

214 tests, 134243 assertions, 30 failures, 144 errors, 0 pendings, 0 omissions, 0 notifications
18.6916% passed

* Fixed message hash initialization and encode depth checking.

214 tests, 124651 assertions, 53 failures, 70 errors, 0 pendings, 0 omissions, 0 notifications
42.5234% passed

* A bunch of fixes to failing tests, now 70% passing.

214 tests, 202091 assertions, 41 failures, 23 errors, 0 pendings, 0 omissions, 0 notifications
70.0935% passed

* More than 80% of tests are passing now.

214 tests, 322331 assertions, 30 failures, 9 errors, 0 pendings, 0 omissions, 0 notifications
81.7757% passed

Unfortunately there is also a sporadic bug/segfault hanging around
that appears to be GC-related.

* Add linux/ruby30 and macos/ruby30

* Use rvm master for 3.0.0-preview2

* Over 90% of tests are passing!

214 tests, 349898 assertions, 15 failures, 1 errors, 0 pendings, 0 omissions, 0 notifications
92.5234% passed

* Passes all tests!

214 tests, 369388 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
100% passed

* A bunch of cleanup.

1. Removed a bunch of internal-only symbols from headers.
2. Required a frozen check to get a non-const pointer to a map or array.
3. De-duplicated the code to get a type argument for Map/RepeatedField.

* Removed a bunch more stuff from protobuf.h.  There is an intermittent assert failure.

Intermittent failure:

ruby: ../../../../ext/google/protobuf_c/protobuf.c:263: ObjectCache_Add: Assertion `rb_funcall(obj_cache2, (__builtin_constant_p("[]") ? __extension__ ({ static ID rb_intern_id_cache; if (!rb_intern_id_cache) rb_intern_id_cache = rb_intern2((("[]")
), (long)strlen(("[]"))); (ID) rb_intern_id_cache; }) : rb_intern("[]")), 1, key_rb) == val' failed

* Removed a few more things from protobuf.h.

* Ruby 3.0.0-preview2 to 3.0.0

* Require rake-compiler-dock >= 1.1.0

* More progress, fighting with the object cache.

* Passes on all Ruby versions!

* Updated and clarified comment regarding WeakMap.

* Fixed the wyhash compile.

* Fixed conformance tests for Ruby.

Conformance results now look like:

RUBYLIB=../ruby/lib:. ./conformance-test-runner --enforce_recommended --failure_list failure_list_ruby.txt --text_format_failure_list text_format_failure_list_ruby.txt ./conformance_ruby.rb

CONFORMANCE TEST BEGIN ====================================

CONFORMANCE SUITE PASSED: 1955 successes, 0 skipped, 58 expected failures, 0 unexpected failures.

CONFORMANCE TEST BEGIN ====================================

CONFORMANCE SUITE PASSED: 0 successes, 111 skipped, 8 expected failures, 0 unexpected failures.

Fixes include:

- Changed Ruby compiler to no longer reject proto2 maps.
- Changed Ruby compiler to emit a warning when proto2 extensions are
  present instead of rejecting the .proto file completely.
- Fixed conformance tests to allow proto2 and look up message by name
  instead of hardcoding a specific list of messages.
- Fixed conformance test to support the "ignore unknown" option for
  JSON.
- Fixed conformance test to properly report serialization errors.

* Removed debug printf and fixed #inspect for floats.

* Fixed compatibility test to have proper semantics for #to_json.

* Updated Makefile.am with new file list.

* Don't try to copy wyhash when inside Docker.

* Fixed bug where we would forget that a sub-object is frozen in Ruby >=2.7.

* Avoid exporting unneeded symbols and refactored a bit of code.

* Some more refactoring.

* Simplified and added more comments.

* Some more comments and simplification. Added a missing license block.

Co-authored-by: Masaki Hara <hara@wantedly.com>
2021-01-13 12:16:25 -08:00
Rob Widmer
24b2094f8a Set up testing configuration for jruby 2020-12-11 16:02:41 -08:00
Joshua Haberman
920803e18d Merge tag 'refs/tags/sync-piper' into sync-stage 2020-11-20 10:44:58 -08:00
Joshua Haberman
5c028d6cf4 Sync from Piper @343521567
PROTOBUF_SYNC_PIPER
2020-11-20 10:44:58 -08:00
Joshua Haberman
f5ab3b166c PHP: Removed 32-bit-specific PHP failure list.
32 and 64-bit PHP should have the same set of failures now.
2020-11-02 10:45:10 -08:00
Joshua Haberman
6e19526525 PHP: Removed previously failing tests from the failure list. 2020-11-02 10:29:42 -08:00
Joshua Haberman
709775b67e Added missing semicolon. 2020-10-28 10:56:51 -07:00
Joshua Haberman
69b245e63a Added Python 2.7-specific failure list for Python/C++ also. 2020-10-28 10:35:06 -07:00
Joshua Haberman
ee68c9b29c Added text format failure list for Python 2.7. 2020-10-28 10:05:07 -07:00
Joshua Haberman
036865fa7f Add C++ text format failure list, and a Python 2.7 text format failure list. 2020-10-28 09:49:55 -07:00
Joshua Haberman
981be5be20 Python/C++ text_format conformance test fix.
Pass the Python/C++ text_format failure list to the conformance runner.
2020-10-23 11:59:56 -07:00
Joshua Haberman
de371235c9 Sync from Piper @338284531
PROTOBUF_SYNC_PIPER
2020-10-21 10:04:14 -07:00
Joshua Haberman
820d1ca5af Merge tag 'refs/tags/sync-piper' into sync-stage 2020-10-21 10:04:14 -07:00