Commit Graph

8226 Commits

Author SHA1 Message Date
Adam Cozzette
52784ced2f
Update protobuf version (#8633) 2021-05-19 16:43:44 -07:00
Joshua Haberman
0b87475592
Php & Ruby Cherry Picks for 3.17.1 (#8632)
* Some more updates to PHP testing infrastructure (#8576)

* WIP.

* Added build config for all of the tests.

* Use ../src/protoc if it is available, for cases where Bazel isn't available.

* Added test_php.sh.

* Fix for the broken macOS tests.

* Move all jobs to use php80 instead of lots of separate jobs.

* Only pass -t flag if we are running in a terminal.

* Updated php_all job to use new Docker stuff.

* Fixed PHP memory leaks and arginfo errors (#8614)

* Fixed a bunch of incorrect arginfo and a few incorrect error messages.

* Passes mem check test with no leaks!

* WIP.

* Fix build warning that was causing Bazel build to fail.

* Added compatibility code for PHP <8.0.

* Added test_valgrind target and made tests Valgrind-clean.

* Updated Valgrind test to fail if memory leaks are detected.

* Removed intermediate shell script so commands are easier to cut, paste, and modify.

* Passing all Valgrind tests!

* Hoist addref into ObjCache_Get().

* Removed special case of map descriptors by keying object map on upb_msgdef.

* Removed all remaining RETURN_ZVAL() macros.

* Removed all explicit reference add/del operations.

* Added REFCOUNTING.md to Makefile.am.

* Updated upb version and fixed PHP to not get unset message field. (#8621)

* Updated upb version and fixed PHP to not get unset message field.

* Updated changelog.

* Fixed preproc test to handle old versions of Clang withot __has_attribute().

* A second try at fixing __has_attribute().

* Copy __has_attribute() fix to cc file also.

* Updated failure list for PHP for fixed test.

* Updated version of upb for Ruby (#8624)

* Updated upb.

* Preserve legacy behavior for unset messages.

* Updated failure list.

* Updated CHANGES.txt.

* Added erroneously-deleted test file.

* Fixed condition on compatibility code.

* Re-introduced deleted file again, and fixed Rakefile to not delete it.

* Fix generation of test protos.
2021-05-19 15:53:47 -07:00
Adam Cozzette
65abb64e73
Fixed syntax errors in bswap_64 (#8613)
It looks like some syntax errors were introduced by mistake because some
left parentheses were changed to curly braces without the right parens
being changed accordingly. This fixes #8611.
2021-05-17 10:38:40 -07:00
Adam Cozzette
652d99a8ee
Update protobuf version (#8606) 2021-05-12 16:20:18 -07:00
Adam Cozzette
ca295506c5
Make the dist_install test use Java 8 (#8609)
This is necessary because the Kotlin support requires Java 8 or
higher.

Making this test use Java 8 required switching it to the java_stretch
Docker image and updating that image to include some Python
dependencies.
2021-05-12 14:42:15 -07:00
Adam Cozzette
0aabf89420 Remove some redundant language prefixes from the changelog for 3.17 2021-05-12 09:58:30 -07:00
Adam Cozzette
5a9367ac57 Update tests.sh to skip the Kotlin tests on Oracle 7 2021-05-12 09:58:30 -07:00
Adam Cozzette
a4866d34f9 Updated .gitignore to include Kotlin directories 2021-05-12 09:58:30 -07:00
Yuriy Chernyshov
ca7f54aa1a
Fix -Wunused-parameter in java_names.h (#8601)
* Fix -Wunused-parameter in java_names.h

* Apply review comments
2021-05-11 14:58:29 -07:00
Adam Cozzette
f807c02226
Update protobuf version to 3.17.0-rc2 (#8586)
* Update protobuf version

* Updated Kotlin versions and updated script to handle them
2021-05-10 15:31:35 -07:00
Yuriy Chernyshov
90d4f31438
Fix newly appeared -Wunused-parameter (#8587)
This is #8584 applied to 3.17.x
2021-05-10 13:50:15 -07:00
Adam Cozzette
3546d29a00
Add the kotlin and kotlin-lite directories to the main pom.xml (#8585)
* Add the kotlin and kotlin-lite directories to the main pom.xml

* Updated Kotlin versions to 3.17.0-rc1

* Fix Mac CI tests by resolving brew package conflict
2021-05-10 13:36:33 -07:00
Adam Cozzette
e211ad3300
Updated CHANGES.txt and PHP changelog for 3.17.0 (#8583) 2021-05-07 11:34:04 -07:00
Adam Cozzette
7025f37cde
Update protobuf version (#8575) 2021-05-07 09:51:15 -07:00
Adam Cozzette
3b08c721b8
Comment out unused variable in repeated_field_unittest.cc (#8578)
The test assertion is commented out, but this is causing some warnings
about an unused variable. This commit comments out the variable to fix
that problem.
2021-05-07 08:32:35 -07:00
Daniel Azuma
7e3bbeda92
fix(ruby): Fix crash when calculating Message hash values on 64-bit Windows (#8565)
* fix(ruby): Fix crash when calculating Message hash values on 64-bit Windows

* Better mapping for values outside the fixnum range

* Simpler downcasting of hash values

* Fix precedence

* Fix bundle on Ruby 2.4
2021-05-06 09:45:11 -07:00
Yuriy Chernyshov
c8389f8ed5
Fix constness issue detected by MSVC standard conforming mode (#8568)
This is the continuation of #8344
2021-05-06 09:09:22 -07:00
Daniel Azuma
414aca5f13
fix(ruby): Fix various exceptions in Ruby on 64-bit Windows (#8563)
* fix(ruby): Fix various exceptions in Ruby on 64-bit Windows.

Activates the secondary ObjectCache map on this platform, to prevent weak keys from being garbage collected. This happened on 64-bit Windows because pointers don't necessarily fit in a Fixnum, and were being represented as GC-able Bignums on that platform.

* Removed extraneous code, and used VALUE instead of intptr_t

* Call the C function for new object instance rather than evaling a Ruby string
2021-05-05 15:42:25 -07:00
Dennis Shao
b0f4462ef2
Merge pull request #8536 from shaod2/update-python-docs-script
Update kokoro/docs/publish-python.sh
2021-05-05 16:47:31 -05:00
Adam Cozzette
f98b287125
Remove Python compatibility tests (#8570) 2021-05-05 13:02:38 -07:00
Joshua Haberman
5df4c2ec94
Merge pull request #8546 from haberman/sync-stage
Integrate from Piper for C++, Java, and Python
2021-05-04 17:14:33 -07:00
Joshua Haberman
2bf63f5983 Removed file that was mistakenly re-introduced. 2021-05-04 15:50:02 -07:00
Joshua Haberman
753a2b76ee Merge branch 'master' into sync-stage 2021-05-04 15:49:27 -07:00
Joshua Haberman
8b87075924
Updated and simplified PHP testing structure (#8558)
* Simplified PHP testing setup.

- Consolidated on a single autoloader, created by composer.
- Consolidated on a single phpunit invocation strategy: we run
  phpunit on a directory, which will run all tests matching *Test.php
  in that directory.
- We now rely on autoloading to import all test protos. require_once()
  calls for test protos are removed.
- For now the valgrind tests are removed. A follow-up PR will re-enable
  them in a more robust way.

* More improvements to PHP testing.

1. Replace custom PHPUnit-selection logic in test.sh with generic
   composer version selection.
2. Optimized both test proto generation and the custom extension
   build to avoid unnecessary work when the files are already up
   to date.

* Added assertions to verify that the C test doesn't use PHP sources.

* Updated tests.sh for the new PHP testing commands.

* Removed obsolete rules from tests.sh.

* Fixed generate_test_protos.sh for when tmp does not exist.

Also removed undefined_test.php and fixed Makefile.am.

* Added php8.0_all again which is still used.

* Added missing file to Makefile.am.

* Re-added php_all_32 rule which is also still used.

* Updated testing commands for macOS and download composer.

* Use /usr/local/bin on mac instead of /usr/bin, since the latter is not writable.
2021-05-04 10:19:22 -07:00
Paul Yang
114efc42d4
Fix php json parsing not throwing error for unknown field. (#8528) 2021-05-04 10:09:56 -07:00
Yuriy Chernyshov
28101c3e39
Stop using GG_ prefixed macros (#8539)
* Stop using GG_ prefixed macros

GG_ULONGLONG was renamed to PROTOBUF_ULONGLONG some time ago

* Better
2021-05-03 15:05:02 -07:00
Kenneth Lum
952cf14442
fix typo (#8548) 2021-05-03 11:21:59 -07:00
Joshua Haberman
67044a2820 Reinstate the Python change that was somehow reverted in the sync. 2021-04-30 16:28:12 -07:00
Joshua Haberman
d99a67e893 Updated changelog. 2021-04-30 16:20:39 -07:00
Joshua Haberman
535ddf1c4f Merge tag 'refs/tags/sync-piper' into sync-stage 2021-04-30 16:12:51 -07:00
Joshua Haberman
f5fd897c1d Sync from Piper @371422642
PROTOBUF_SYNC_PIPER
2021-04-30 16:12:50 -07:00
Jan Tattermusch
5e84a6169c
Merge pull request #8544 from jtattermusch/test_javascript_aarch64
Test javascript on linux aarch64 (under qemu emulator)
2021-04-30 07:11:09 +02:00
Jan Tattermusch
f3411a29da node tests require java to be available 2021-04-29 19:00:14 +02:00
Jan Tattermusch
37ba0bcfa2
Merge pull request #8391 from jtattermusch/cpp_aarch64_emulated_tests
run basic C++ aarch64 tests under qemu emulator
2021-04-29 18:20:55 +02:00
Jan Tattermusch
36243917c1 add testing jobs for javascript_aarch64 2021-04-29 16:46:12 +02:00
Jan Tattermusch
7124f2893d add testing scripts for protobuf javascript on aarch64 qemu emulator 2021-04-29 16:45:34 +02:00
Yuriy Chernyshov
a48e005d51
Fix -Wundefined-inline error when using SharedCtor() or SharedDtor() (#8532) 2021-04-28 14:51:03 -07:00
Dennis Shao
8424042534
Update kokoro/docs/publish-python.sh
Update kokoro/docs/publish-python.sh to use the latest version of protoc and python.

This will make [the python doc-publishing job](https://fusion.corp.google.com/projectanalysis/summary/KOKORO/prod:cloud-devrel%2Fclient-libraries%2Fprotobuf%2Fdocs%2Fpython) pass again.
2021-04-26 14:59:14 -05:00
Jan Tattermusch
2a11e892ed
Merge pull request #8530 from jtattermusch/python_aarch64_manylinux_release
Start publishing python aarch64 manylinux wheels normally
2021-04-26 20:29:59 +02:00
Jan Tattermusch
0d60cc5df6
Merge pull request #8534 from jtattermusch/test_csharp_aarch_typo
Fix C# aarch64 tests (fix typo in test_csharp_aarch64.sh)
2021-04-26 20:27:38 +02:00
Jan Tattermusch
1834e8cb4d fix typo in test_csharp_aarch64.sh 2021-04-26 20:17:09 +02:00
Jan Tattermusch
4536154a8a
Merge pull request #8495 from jtattermusch/run_ruby_aarch64_test
Run ruby aarch64 tests on the CI (with an emulator)
2021-04-26 18:37:28 +02:00
Jan Tattermusch
78a8d67f87
Merge pull request #8485 from jtattermusch/run_java_aarch64_test
Run java aarch64 tests on the CI (with an emulator)
2021-04-26 18:24:55 +02:00
Jan Tattermusch
771220e0db
Merge pull request #8501 from jtattermusch/run_csharp_aarch64_test
Run csharp aarch64 tests on the CI (with an emulator)
2021-04-25 19:22:17 +02:00
Jan Tattermusch
0a2ddaebc9 start publishing python aarch64 manylinux wheels normally 2021-04-24 06:15:59 +02:00
Roy Williams
7ad0fd4ed7
Make libprotobuf symbols local on OSX (#8346)
@gnossen gave a great overview in https://github.com/grpc/grpc/pull/24992 of the overall problem.

If a python process using both protobuf _and_ another native library linking in libprotobuf
frequently can cause crashes.  This seems to frequently affect tensorflow as well:

tensorflow/tensorflow#8394,
tensorflow/tensorflow#9525 (comment)
tensorflow/tensorflow#24976,
tensorflow/tensorflow#35573,
https://github.com/tensorflow/tensorflow/blob/v2.0.0/tensorflow/contrib/makefile/rename_protobuf.sh,
tensorflow/tensorflow#16104

Testing locally this fixes both crashes when linking in multiple versions of protobuf
and fixes `DescriptorPool` clashes as well (e.g. Python and Native code import different versions of the same message).
2021-04-23 20:03:01 -07:00
Jan Tattermusch
b2c71571b3 add kokoro configs for csharp aarch64 2021-04-23 12:21:43 +02:00
Jan Tattermusch
47f6283e7f run csharp tests under aarch64 emulator 2021-04-23 12:21:43 +02:00
Jan Tattermusch
7c876925c7 add kokoro configs for ruby aarch64 2021-04-23 12:09:23 +02:00
Jan Tattermusch
e0267f6c0e run ruby tests under aarch64 emulator 2021-04-23 12:09:23 +02:00