protobuf/kokoro/linux
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
..
32-bit Php 7.3 fix (#5434) 2018-12-18 10:57:03 -08:00
64-bit reverted 64-bit/Dockerfile 2019-06-27 14:20:41 -04:00
bazel Fix :protobuf_objc bazel target (#7538) 2020-05-21 12:46:35 -07:00
benchmark Set execute bit on files if and only if they begin with (#!). (#7347) 2020-04-01 15:28:25 -07:00
cpp_distcheck Attempt to mitigate "docker pull" failures 2020-02-11 12:59:49 -08:00
cpp_tcmalloc Create test for protoc with tcmalloc (#5612) 2019-01-23 10:02:51 -08:00
csharp Bump target frameworks of C# programs from netcoreapp1.0 to netcoreapp2.1 (#5838) 2019-03-11 13:03:58 -07:00
dist_install Create test to verify that the dist artifact can be installed. (#5854) 2019-03-07 14:34:28 -08:00
dockerfile Ported Ruby extension to upb_msg (#8184) 2021-01-13 12:16:25 -08:00
golang Shard 64-bit Linux languages into different Kokoro jobs 2017-12-20 18:18:41 -08:00
java_compatibility Use docker for csharp, java_compatibility, and python_compatibility. Remove prepare_build_linux_rc that is no longer needed. 2018-12-13 15:20:25 -08:00
java_jdk7 Shard 64-bit Linux languages into different Kokoro jobs 2017-12-20 18:18:41 -08:00
java_linkage_monitor continuous.cfg 2019-06-27 15:19:17 -04:00
java_oracle7 Shard 64-bit Linux languages into different Kokoro jobs 2017-12-20 18:18:41 -08:00
javascript Upgrade the closure compiler version (#5955) 2019-03-28 09:54:13 -07:00
php80 Port for php8 (#8105) 2020-12-04 13:46:34 -08:00
php_all Php 7.3 fix (#5434) 2018-12-18 10:57:03 -08:00
python Shard 64-bit Linux languages into different Kokoro jobs 2017-12-20 18:18:41 -08:00
python27 Change Python kokoro configs to test only their specified version. (#7927) 2020-09-30 15:56:17 -07:00
python27_cpp Change Python kokoro configs to test only their specified version. (#7927) 2020-09-30 15:56:17 -07:00
python35 Change Python kokoro configs to test only their specified version. (#7927) 2020-09-30 15:56:17 -07:00
python35_cpp Change Python kokoro configs to test only their specified version. (#7927) 2020-09-30 15:56:17 -07:00
python36 Change Python kokoro configs to test only their specified version. (#7927) 2020-09-30 15:56:17 -07:00
python36_cpp Change Python kokoro configs to test only their specified version. (#7927) 2020-09-30 15:56:17 -07:00
python37 Change Python kokoro configs to test only their specified version. (#7927) 2020-09-30 15:56:17 -07:00
python37_cpp Change Python kokoro configs to test only their specified version. (#7927) 2020-09-30 15:56:17 -07:00
python38 Change Python kokoro configs to test only their specified version. (#7927) 2020-09-30 15:56:17 -07:00
python38_cpp Change Python kokoro configs to test only their specified version. (#7927) 2020-09-30 15:56:17 -07:00
python_compatibility Use docker for csharp, java_compatibility, and python_compatibility. Remove prepare_build_linux_rc that is no longer needed. 2018-12-13 15:20:25 -08:00
python_cpp Shard 64-bit Linux languages into different Kokoro jobs 2017-12-20 18:18:41 -08:00
ruby23 Add ruby 2.6 test (#5528) 2019-01-03 14:25:50 -08:00
ruby24 Add ruby 2.6 test (#5528) 2019-01-03 14:25:50 -08:00
ruby25 Add ruby 2.6 test (#5528) 2019-01-03 14:25:50 -08:00
ruby26 Add ruby 2.6 test (#5528) 2019-01-03 14:25:50 -08:00
ruby27 Test in Ruby 2.7 (#7386) 2020-04-24 09:50:27 -07:00
ruby30 Ported Ruby extension to upb_msg (#8184) 2021-01-13 12:16:25 -08:00
build_and_run_docker.sh Attempt to mitigate "docker pull" failures 2020-02-11 12:59:49 -08:00
make_test_output.py Migrate Jenkins jobs to Kokoro 2017-12-19 13:06:09 -08:00
pull_request_in_docker.sh Cleanup kokoro scripts. 2018-08-09 15:22:22 -07:00