Commit Graph

137 Commits

Author SHA1 Message Date
Paul Yang
bdcbcabe5e
Add conformance test for php c back (#4966)
* Add conformance test for php c back

php c extension has different result for conformance test for different
php version and architecture. Try to add conformance back for php 7.1 c extension first.

* Disable conformance test for c extension on 32-bit architecture
32-bit and 64-bit have different failing tests

* Fix typo
2018-07-26 13:52:22 -07:00
Feng Xiao
9de4e64cf2 Add cpp tests under release docker image.
1. Added C++ tests under the release docker image.
2. Fixed a compile issue with the docker image.
3. Cleaned up tests.sh and removed traivis stuff.
2018-07-15 16:41:25 -07:00
Paul Yang
78ba021b84
Add continuous test for ruby 2.3, 2.4 and 2.5 (#4829)
* Add continuous test for ruby 2.3, 2.4 and 2.5

* Change ruby 2.5 to 2.5.0

* No need to provide argument to rb_funcall when argc is 0

* Fix tests for ruby 2.5

* Use rescue instead of assert_raise to accept subclass of error
2018-07-02 15:11:36 -07:00
Brent Shaffer
6737954661 PHP namespaces for nested messages and enums (#4536)
* uses namespaces for nested messages and enums

* fixes namespaces for PHP dist

* fixes namespace for Descriptors, adds Cardinality and Kind

* fixes nested namespaces for reserved words and adds tests

* adds tests and generator fix for php class prefixes

* fixes escaping of protobuf packages, enum comments, misc others

* nice refactor of generated code

* adds class files for backwards compatibility

* simplifies code with templates

* adds compatibility files to makefile

* cleanup of generator and fixes nested namespace bug

* regenerates proto types

* remove internal BC classes

* adds deprecated warning, adds methods back

* simplifies if statement

* fixes dist files

* addresses review comments

* adds back TYPE_URL_PREFIX constant

* adds @deprecated to old nested class files

* skips tests which require a separate process when protobuf.so is enabled

* Adds tests for legacy nested classes that do not require separate processes to test

* uses legacy names for GPBUtil message check

* adds block for IDE @deprecated message

* Namespace for nested message/enum in c extension

* Remove unused code
2018-05-24 13:39:41 -07:00
Jie Luo
5f9232b5e0
use brew install instead of easy_install in OSX (#4537)
use brew instead of easy_install in OSX (easy_install keep failing for a month)
2018-05-09 15:35:03 -07:00
Carlos O'Ryan
3c5442a95d Include googletest as a submodule (#3993)
Add googletest as a submodule in third_party/googletest.
2018-03-26 13:54:32 -07:00
Jisi Liu
4880027649 Cat the test-suite.log on errors for presubits 2018-03-19 16:13:36 -07:00
Jisi Liu
bb40c0c0c4
Merge pull request #4291 from google/3.5.x
Merge 3.5.x to master
2018-02-26 10:05:09 -08:00
Paul Yang
51293f36d8
Fix more memory leak for php c extension (#4211)
* Fix more memory leak for php c extension

* Fix memory leak for php5.5
2018-01-25 11:31:05 -08:00
Yilun Chong
4b0209140e add cpp 2017-12-14 17:26:16 -08:00
Yilun Chong
34843eddfe Fix bugs 2017-12-13 14:34:52 -08:00
Yilun Chong
5e732e35c1 Add caliper supported to java benchmark 2017-12-12 12:05:29 -08:00
Yilun Chong
1fd6c1761e Fix bugs to pass tests 2017-12-04 14:39:08 -08:00
Jon Skeet
9a9a66e715 Run C# codegen when testing it
This will cause failures if shared protos change in an incompatible
way.
2017-11-12 15:29:15 +00:00
Paul Yang
2df472690e
Fix php well known type conformance tests (#3828) (#3840)
* Fix php well known type conformance tests

* Properly generate code for test.proto

* Provide GPBMetadata files in c extensions for generated files to import.

* Remove unnecessary test

* Clean up code

* Add declaration for initOnce.

* Refactoring
2017-11-04 09:33:56 -07:00
Paul Yang
bcda919cee
Fix php well known type conformance tests (#3828)
* Fix php well known type conformance tests

* Properly generate code for test.proto

* Provide GPBMetadata files in c extensions for generated files to import.

* Remove unnecessary test

* Clean up code

* Add declaration for initOnce.

* Refactoring
2017-11-03 12:30:09 -07:00
Jisi Liu
de15e73d58 Merge remote-tracking branch 'origin/3.4.x' into master 2017-10-11 14:44:03 -07:00
Paul Yang
77f64bb777 Add well known types to php runtime. (#3697)
* Add well known types to php runtime.

* Fix php7.0 tests

* No longer generate empty.proto in test as it has been included in
runtime.

* Fix zts build

* Clean code

* Rename g_p_b_empty to empty.

* Don't generate code for empty.proto in compatibility test

* Fix 32-bit

* Fix mac build

* Fix Makefile.am to add new files
2017-10-05 21:03:57 -07:00
Feng Xiao
8136ccb296 Fix go example test.
It needs "-I" flag to find imported file google/protobuf/timestamp.proto
2017-09-13 17:04:13 -07:00
Bo Yang
f46a01d0c1 Exclude valid constant name from reserved name. 2017-09-12 15:04:34 -07:00
Bo Yang
e5d000cbb7 Add prefix to php reserved keywords. 2017-09-08 15:17:36 -07:00
Jisi Liu
d8c6193d2c Add mising cmake files in dist 2017-08-24 14:11:37 -07:00
Jisi Liu
55fdbe58f0 Make distcheck aware of test proto files. 2017-08-23 11:35:48 -07:00
Jie Luo
610e433888 Drop python2.6
Jenkins complains for python 2.6
DEPRECATION: Python 2.6 is no longer supported by the Python core team
ERROR: InvocationError: '/tmp/protobuf/protobuf/python/.tox/py26-cpp/bin/python setup.py -q build_py'
https://grpc-testing.appspot.com/job/protobuf_pull_request/1502/testReport/junit/(root)/python_cpp/python_cpp/
2017-08-22 16:39:26 -07:00
Jie Luo
028d6f13ee Add Python 3.5 3.6 2017-08-22 15:59:27 -07:00
Jie Luo
c2aa26e507 Revert "Drop Python 3.3 from testing & add Python 3.5, 3.6 (#3512)" (#3524)
This reverts commit 703f414ca6.
2017-08-18 13:15:06 -07:00
cclauss
703f414ca6 Drop Python 3.3 from testing & add Python 3.5, 3.6 (#3512)
* Drop Python 3.3 from testing & add Python 3.5, 3.6

Python 3.3 goes [EOL](https://docs.python.org/devguide/index.html#branchstatus) next month.

* Sync test.sh with the Python versions in tox.ini
2017-08-18 10:14:00 -07:00
Jie Luo
fae381693f Merge pull request #3454 from anandolee/master
Add python 2.6 test back for cpp implementation.
2017-08-07 11:04:09 -07:00
Jie Luo
d58df3b902 Add python 2.6 test back for cpp implementation. Json format issue was fixed in #869 2017-08-03 16:04:10 -07:00
Paul Yang
c15a3269f9 Expose descriptor API in php c extension (#3422) 2017-08-02 07:42:27 -07:00
Axel Huebl
74dcf447af
Travis: Exclude CMake .pc files
Exclude the unconfigured .pc input files of the CMake
based install: they shall not be packed/distributed,
only their outputs are
2017-07-23 20:48:02 +02:00
Paul Yang
50aa4febaf Merge pull request #3375 from TeBoring/3.3.x
Merge 3.3.x into master
2017-07-19 06:58:05 -07:00
Bo Yang
6ec0b7e4d1 Merge 3.3.x into master 2017-07-18 11:06:16 -07:00
Matt A
9e745f771b Support PHP generic services (#3269)
* Add php_generic_services option

* Generate PHP generic services

* Respect namespaces for generated PHP services

* Test PHP generated services

* Rename PHP generator service method doc comment function

* Correct phpdoc service method case

* Test namespaced PHP generic services

* Always use the FQCN for PHP generic service input/output

* Add generated_service_test to php test.sh

* Add php service test protos to CI

* Add php service files to php_EXTRA_DIST

* Use Interface suffix for php generic services
2017-07-18 07:45:18 -07:00
Paul Yang
ecca6ea95d Add json encode/decode for php. (#3226)
* Add json encode/decode for php.

* Fix php conformance test on 32-bit machines.

* Fix conformance test for c extension.

* Fix comments
2017-06-30 12:14:09 -07:00
Paul Yang
6f325805c0 Add new file option php_namespace. (#3162)
* Add new file option php_namespace.

Use this option to change the namespace of php generated classes.
Default is empty. When this option is empty, the package name will be
used for determining the namespace.

* Uncomment commented tests

* Revert gdb test change

* Update csharp descriptor.

* Add test for empty php_namespace.
2017-06-05 00:10:18 -07:00
Jon Skeet
f26e8c2ae0 Convert C# projects to MSBuild (csproj) format
This has one important packaging change: the netstandard version now
depends (implicitly) on netstandard1.6.1 rather than on individual
packages. This is the preferred style of dependency, and shouldn't
affect any users - see http://stackoverflow.com/questions/42946951
for details.

The tests are still NUnit, but NUnit doesn't support "dotnet test"
yet; the test project is now an executable using NUnitLite. (When
NUnit supports dotnet test, we can adapt to it.)

Note that the project will now only work in Visual Studio 2017 (and
Visual Studio Code, and from the command line with the .NET Core
1.0.0 SDK); Visual Studio 2015 does *not* support this project file
format.
2017-05-24 09:07:33 +01:00
Paul Yang
22319315df Fix c extension for php7.1. (#3077) 2017-05-10 15:59:59 -07:00
Paul Yang
25abd7b7e7 Add compatibility test for php. (#3041)
* Add compatibility test for php.

* Revert API incompatible change.
2017-05-05 11:14:11 -07:00
Paul Yang
4523c9c233 Allow proto files to import descriptor.proto (#2995)
descriptor.proto uses proto2 syntax, which is not ready for external
usage. However, some proto3 files import descriptor.proto and cannot be
used. In this PR, all references (We cheated by only removing
extensions, which is enough for now. User should avoid using messages
defined in descriptor.proto as field type.) to content in
descriptor.proto are removed from generated files. Those that import
descriptor.proto can be used like other proto files.
2017-04-20 16:55:56 -07:00
Paul Yang
190b5270c8 Make PHP c extension work with PHP7 (#2951) 2017-04-19 16:23:51 -07:00
Joshua Haberman
c565e25c7d Merge pull request #1662 from haberman/jsconformance
Conformance tests for JavaScript (Node.js). 15 tests are failing.
2017-03-27 12:03:09 -07:00
Paul Yang
6b27c1f981 Add file option php_class_prefix (#2849)
This option will be prepended to generated classes of all messages in
the containing file.
2017-03-17 11:08:06 -07:00
Paul Yang
dd8d5f57d7 Rename encode/decode to serializeToString/mergeFromString (#2795)
This better shows the semantic of the API. For already setted fields,
mergeFromString do replacement for singular fields and appending for
repeated fields.
2017-03-08 14:31:34 -08:00
Josh Haberman
f873d3213c Added JavaScript conformance tests. All tests pass! 2017-03-06 10:42:27 -08:00
Jie Luo
3f6f73b796 Merge pull request #2701 from anandolee/master
Add csharp compatibility tests against v3.0.0
2017-02-13 10:54:34 -08:00
Paul Yang
74eb9a0a30 Add clear method to PHP message (#2700) 2017-02-11 16:36:17 -08:00
Jie Luo
7288689d8c Add csharp compatibility tests against v3.0.0 and run on Travis. 2017-02-10 13:40:16 -08:00
Paul Yang
cba04b19e8 Implement json encoding decoding for php. (#2682) 2017-02-08 10:27:54 -08:00
Paul Yang
c00274313d Add fixed version to phpunit used in travis (#2673) 2017-02-07 10:55:48 -08:00
Paul Yang
39756643df Add conformance test for php (#2655) 2017-02-01 12:47:58 -08:00
Jie Luo
ea51149100 Add python compatibility tests against v2.5.0 amd run on Travis. 2017-01-26 11:05:16 -08:00
Sergio Campama
1ac8944294 Reenable cocoapods objc test and remove unnecessary workaround for rvm 2016-12-09 11:26:11 -05:00
Thomas Van Lenten
e43f73e099 Merge pull request #2473 from thomasvl/update_xcodes
Update xcode version support and travis usage
2016-12-09 11:15:06 -05:00
Thomas Van Lenten
bc9d0774f3 Skip benchmark test if cmake isn't installed. 2016-12-09 10:16:21 -05:00
Thomas Van Lenten
2754586fa4 Xcode 8.1 support
- Add entries to objectivec/DevTools/full_mac_build.sh
- Support `-quiet` via an option on full_mac_build.sh. NOTE: we don't use
  this on travis because the lack of output for a long time could cause travis
  to kill the build (when we get a slow VM).
- Update travis config to use newer images.
2016-12-09 10:15:40 -05:00
Paul Yang
d8f54c4206 Disable jruby test. (#2469)
Missed in #2467.
2016-12-08 16:27:56 -08:00
Paul Yang
e3e38b81cc Update commit id in Dockerfile to trigger update. (#2467) 2016-12-08 14:39:20 -08:00
Paul Yang
46ae90dc5e Make php generated code conform to PSR-4. (#2435)
1. Generate single file for each message.
2. Lazily initiate metadata.
2016-12-08 11:16:49 -08:00
Feng Xiao
599613e4c4 Update EXTRA_DIST lists. 2016-11-18 15:36:28 -08:00
Paul Yang
df8390790a Fix php c extension on 32-bit machines. (#2348) 2016-11-10 11:20:50 -08:00
Paul Yang
1f2dbc899b Implement RepeatedFieldIter for c extension. (#2333) 2016-11-08 11:38:34 -08:00
Paul Yang
51c5ff889c Fix pure php implementation for 32-bit machine. (#2282) 2016-10-25 17:27:05 -07:00
Paul Yang
daba6653f1 Fix python_cpp test on Mac. Link staticly when building extension, so that the extension doesn't require installing protobuf library. (#2232) 2016-10-10 11:44:54 -07:00
Bo Yang
63448e6059 Fix compile error for php on Mac. 2016-10-10 11:44:54 -07:00
Bo Yang
4f3d20a500 Fix segmentation fault when ZTS is defined. 2016-10-10 11:44:54 -07:00
Bo Yang
c96dd669a9 Add test for php zts build. 2016-10-10 11:44:54 -07:00
Bo Yang
34cdaf4c36 Add travis test on Mac for php. 2016-10-10 11:44:54 -07:00
Bo Yang
c8bd36e5b9 Test php5.5_c test on jenkins 2016-10-10 11:44:54 -07:00
Bo Yang
fd332d146d Add php test script for automated tests. 2016-10-10 11:44:21 -07:00
Bo Yang
e0a6e52023 Add php files for make dist. 2016-10-10 11:44:21 -07:00
Bo Yang
1c4cf0eeb5 Fix python cpp. 2016-10-10 11:44:21 -07:00
Bo Yang
fe1aaad7fe Fix bugs for internal integration. 2016-10-10 11:39:55 -07:00
Joshua Haberman
a289d43608 Added C++ benchmark. (#1525) 2016-09-23 11:07:45 -07:00
Feng Xiao
baa4023cd5 Run Java compatibility tests on Travis.
The test is testing the binary/source compatibility between 3.0.0-beta-4
and the current version (right now it's 3.0.0).

Change-Id: Ic410b535758b38cee7baa99a15a0433734df44e6
2016-07-29 14:11:21 -07:00
Feng Xiao
20fbb357d0 Add more tests to jenkins.
1. Added ruby22 and jruby tests to jenkins.
2. Added javascript tests to jenkins.
3. Added golang tests to jenkins.
4. Removed ruby19/ruby20 tests from travis. Support for ruby 2.0 has
   ended since 2016/02/24.
   https://www.ruby-lang.org/en/news/2016/02/24/support-plan-of-ruby-2-0-0-and-2-1/

Change-Id: Ie984b06772335352a4be7067ab2485f923875685
2016-07-21 18:11:12 -07:00
Feng Xiao
ad49ed78f3 Update travis tests for Java.
1. Set JAVA_HOME so mvn can pick up the correct java version.
2. Remove jdk6 tests. It has been broken for a while and remain undetected as
   mvn is actually using java 7 to build the code. Given that we have
   set -source and -target to 6 in the pom.xml and the built .jar
   should be usable by java 6, having a dedicated java 6 test doesn't
   seem necessary (assuming very few Java 6 users want to compile protobuf
   Java from source).

Change-Id: I4f14da772632df3e47801f180198242b306c3f0f
2016-07-21 11:37:46 -07:00
Feng Xiao
a4f68b16a0 Add missing files in EXTRA_DIST and add a test.
Change-Id: If80725402173cdf50969cb08e7fe5affe3532fb2
2016-07-20 13:53:44 -07:00
Jon Skeet
deaea21315 Use the dotnet-release package feed for Travis.
See https://github.com/dotnet/core/issues/227 for background.
2016-07-19 17:57:46 -07:00
Sergio Campamá
f6d1d1a17e Uses head version of rvm to avoid shell_update_session not found error (#1791)
Uses head version of rvm to avoid shell_update_session not found error

Fixes #1786
2016-07-15 16:59:09 -04:00
Jon Skeet
10a8fb4e73 Move to dotnet cli for building, and .NET Core (netstandard1.0) as target platform (#1727)
Move to dotnet cli for building, and .NET Core (netstandard1.0) as target platform

This also updates the version number to 3.0.0-beta4
2016-07-14 22:01:47 +01:00
Sergio Campamá
f0c1492ef6 Add the CocoaPods integration tests to Travis.
Also hotwires updating ruby as CocoaPods was crashing within a support library.

Fixes #1619
2016-06-14 14:26:01 -04:00
Thomas Van Lenten
368a2f4cee Automated testing tweaks for ObjC
- Move the ObjC tests into the list and exclude them on linux, this will change
  where in the order they start, since they are longer, it will have other
  things run in parallel instead of them ending up last and taking the longest.
- Switch to the Xcode 7.3 image.
- Drop the use of xctool and stream line things through the full_mac_build.sh
  script. This means we end up with only one build script instead of two.
- Tweaks to the mac build script:
  - Make iOS Xcode version support explicit
  - Support Debug/Release only building
  - Change the OS X min parallel count to 2 to better deal with VMs.
- Split the travis ios tests into the two Xcode Configurations as the logs are
  choking travis.
2016-05-24 15:39:36 -04:00
Josh Haberman
49a8918e97 Read files directly from filesystem since xxd isn't always available. 2016-04-29 10:19:03 -07:00
Josh Haberman
cb36bde047 Make the C++ tests build the benchmarking code. 2016-04-29 09:52:20 -07:00
Josh Haberman
a15b916c41 Merge branch 'master' into docker 2016-03-29 16:24:35 -07:00
Josh Haberman
67c727cd41 Rearranged and commented files for running under Jenkins. 2016-03-04 14:34:30 -08:00