Commit Graph

6198 Commits

Author SHA1 Message Date
Yang Gao fdc9af8dca Merge pull request #1625 from ctiller/mmm-mmm-mmm-mmm
Add a test of crashing servers and clients
2015-05-21 23:40:51 -07:00
Vijay Pai bfc01822b1 Merge pull request #1693 from dgquintas/fix_sleep_for
Replaced std::this_thread::sleep_for for gpr_sleep_until.
2015-05-21 23:10:29 -07:00
David Garcia Quintas f526bd487a Merge branch 'master' of github.com:grpc/grpc into qps_reporter_refactoring 2015-05-21 16:49:38 -07:00
Craig Tiller da0b312c7f Merge github.com:grpc/grpc into mmm-mmm-mmm-mmm 2015-05-21 16:48:18 -07:00
Craig Tiller d4db33dcab Add missing copyright notices 2015-05-21 15:27:23 -07:00
Craig Tiller 3d49461845 Merge github.com:grpc/grpc into mmm-mmm-mmm-mmm 2015-05-21 14:24:13 -07:00
Craig Tiller 8ebcec484f clang-format 2015-05-21 13:55:22 -07:00
Craig Tiller aeea2f2203 Fix shutdown crash in async streaming test 2015-05-21 13:54:42 -07:00
Craig Tiller 5c8737d171 clang-format qps code - it was getting out of hand 2015-05-21 11:42:17 -07:00
Vijay Pai 76e0fb1dc0 Merge pull request #1669 from dgquintas/benchmark_hosts_info
Added the client and server configurations to the bench results proto.
2015-05-21 11:36:41 -07:00
vjpai efad2ae674 Merge branch 'master' into poisson 2015-05-21 10:20:14 -07:00
David Garcia Quintas feb67f67dc Replaced std::this_thread::sleep_for for gpr_sleep_until.
std::this_thread::sleep_for isn't available in gcc <= 4.6 (4.7?) nor
VS2010.
2015-05-20 23:13:17 -07:00
David Garcia Quintas 30ecd2b8d9 Return shared_ptr by value plus minor dependency fix 2015-05-20 23:08:29 -07:00
David Garcia Quintas a6b559a76a Improvements to reporting mechanism based on comments.
Turned the reporter into a composite, much cleaner arch.
2015-05-20 23:08:29 -07:00
David Garcia Quintas 226beffea1 Simplified code based on comments and fixed build.json 2015-05-20 23:08:29 -07:00
David Garcia Quintas 87ca82768d Added missing benchmark_config.* files 2015-05-20 23:08:29 -07:00
David Garcia Quintas 3cc9ec92d9 Removed registry for benchmark reports & introduced benchmark_config.{h,cc} in the spirit of test_config.{h,cc}.
The purpose of benchmark_config is to allow for different behaviors to
be decided at compile-time.
2015-05-20 23:08:29 -07:00
David Garcia Quintas cdbdedbf23 Refactored benchmark reporting mechanism.
It now allows pluggging in "reporter" instances to process the benchmark results arbitrarily.
This would allow, for example, to send results to a leaderboard and/or other systems for tracking performance metrics.
2015-05-20 23:08:29 -07:00
David Garcia Quintas 08116501cb Fix to work around the fact that Histogram isn't copyable. 2015-05-20 17:27:23 -07:00
Craig Tiller 037d8700a7 Merge github.com:grpc/grpc into we-dont-need-no-backup 2015-05-19 22:20:57 -07:00
David Garcia Quintas 6ba29ba3fb Added the client and server configurations to the bench results proto.
The added configurations also include the host of both parties. This
is useful for reporting.
2015-05-19 18:29:35 -07:00
Craig Tiller fd7166d264 Add response streams to server crash test, fix them 2015-05-19 10:23:03 -07:00
Craig Tiller 7a317e5c77 Add crashing client test 2015-05-19 09:38:29 -07:00
Craig Tiller 882431fff5 Compile fix 2015-05-19 09:25:37 -07:00
Craig Tiller 4f8b679a49 Merge github.com:grpc/grpc into mmm-mmm-mmm-mmm
Conflicts:
	Makefile
	build.json
2015-05-19 09:13:35 -07:00
Craig Tiller 49c3b01c3e Better RNG seeding portability 2015-05-19 08:18:02 -07:00
Craig Tiller f98e56c91b Cheesy attempt to get this working on Travis 2015-05-18 15:00:52 -07:00
vjpai ccced5389d Merge branch 'master' into poisson
Conflicts:
	Makefile
2015-05-18 09:20:43 -07:00
vjpai 6a608020b0 WIP 2015-05-18 09:16:53 -07:00
Yang Gao b57f72dbee resolve comments 2015-05-17 21:54:54 -07:00
Yang Gao 26a4912558 Add fake credentials to the test and verify it actually works 2015-05-15 17:02:56 -07:00
Craig Tiller 74e5edab67 Compile fix 2015-05-15 15:55:01 -07:00
Craig Tiller a969d7c04c Compile fix 2015-05-15 15:47:51 -07:00
Craig Tiller 3cdd9bbdbc clang-format 2015-05-15 14:43:47 -07:00
Craig Tiller 069daa383e Sleep a little after server death to allow TCP time to catch up 2015-05-15 14:40:53 -07:00
Craig Tiller fbac5f17b7 Crash handling test 2015-05-15 14:20:44 -07:00
Yang Gao 280ca17d79 resolve comments 2015-05-15 10:25:10 -07:00
Yang Gao a89389283f support per call credentials in c++ 2015-05-14 11:51:07 -07:00
Craig Tiller 06cf3cc607 Fix async end2end to poll all fds from the main thread 2015-05-13 13:11:01 -07:00
Yang Gao a468c36601 Merge pull request #1493 from ctiller/churn-churn-churn-the-api-gently-down-the-stream
Completion queue binding for new requests API change
2015-05-12 12:37:24 -07:00
vjpai 37f7257529 WIP 2015-05-12 10:29:07 -07:00
vjpai 0426ad0fcb Merge branch 'master' into poisson
Conflicts:
	Makefile
2015-05-12 01:16:33 -07:00
Siddharth Rakesh 2e9157d88c Added async streaming ping pong test 2015-05-11 16:50:10 -07:00
Yang Gao 903810191e Merge pull request #1494 from ctiller/the-churnening
Lose redundant tag on unary calls
2015-05-11 11:27:02 -07:00
Yang Gao 9b75c66860 Merge pull request #1489 from ctiller/all-the-small-things
Split thread stress from end2end to improve parallelism
2015-05-11 11:17:18 -07:00
vjpai df99410ffd Merge branch 'master' into poisson
Conflicts:
	Makefile
	build.json
2015-05-11 10:03:17 -07:00
Craig Tiller 0b488f7649 Merge github.com:grpc/grpc into churn-churn-churn-the-api-gently-down-the-stream
Conflicts:
	test/cpp/end2end/async_end2end_test.cc
2015-05-08 16:38:32 -07:00
Vijay Pai aef386b221 Merge pull request #1530 from ctiller/async-fail
Increase test timeout
2015-05-08 14:30:31 -07:00
Craig Tiller 5f871ac225 Merge github.com:grpc/grpc into the-churnening 2015-05-08 13:05:51 -07:00
Craig Tiller e9da2eefcf Merge github.com:grpc/grpc into all-the-small-things 2015-05-08 12:57:26 -07:00
Craig Tiller 2bac1f8c39 Merge pull request #1470 from vjpai/stream_ctx
Fix a bug in synchronous streaming QPS test
2015-05-08 12:12:15 -07:00
Craig Tiller f51199f2b9 Increase test timeout 2015-05-08 09:32:53 -07:00
Craig Tiller 2be6095c10 Merge github.com:grpc/grpc into churn-churn-churn-the-api-gently-down-the-stream 2015-05-08 08:37:41 -07:00
Craig Tiller 9b015dcf86 Merge branch 'standalone_benchmarks' of https://github.com/dgquintas/grpc into dgquintas-standalone_benchmarks 2015-05-08 08:29:26 -07:00
Craig Tiller f7ad9a0a1b Merge branch 'yang-g-mock' 2015-05-08 08:27:40 -07:00
Craig Tiller 696929e09c Merge github.com:grpc/grpc into all-the-small-things 2015-05-08 08:25:30 -07:00
Craig Tiller fee0cfa0d5 Merge github.com:grpc/grpc into churn-churn-churn-the-api-gently-down-the-stream
Conflicts:
	src/cpp/server/server.cc
2015-05-08 07:46:46 -07:00
vjpai f993194b08 Merge branch 'stream_ctx' into poisson
Conflicts:
	test/cpp/qps/client_sync.cc
2015-05-07 10:15:04 -07:00
vjpai 8dd7aab00e Merge branch 'master' into poisson 2015-05-07 10:01:56 -07:00
Craig Tiller 2da0296478 Eliminate need for SIGPIPE handling 2015-05-06 16:14:25 -07:00
Craig Tiller fb775b80cb Fix test 2015-05-06 13:09:41 -07:00
Craig Tiller 3676b38183 Lose redundant tag on unary calls 2015-05-06 13:01:05 -07:00
Craig Tiller f9e6adf998 Completion queue binding for new requests API change
Move completion queue binding for new requests to the new request
request time, not server instantiation time.
2015-05-06 11:45:59 -07:00
Craig Tiller 0c23320c8a Split thread stress from end2end to improve parallelism 2015-05-06 07:42:43 -07:00
vjpai 4f1a75f0aa Merge branch 'master' into stream_ctx 2015-05-05 17:11:02 -07:00
David Garcia Quintas d4f10c0320 Split C++'s smoke_test into 4 stand alone ones. 2015-05-05 15:46:27 -07:00
Yang Gao 691ff71da5 Merge remote-tracking branch 'upstream/master' into mock 2015-05-05 13:31:40 -07:00
Yang Gao 196ade3e4d add a test using the mock interfaces 2015-05-05 13:31:12 -07:00
Vijay Pai dfe83deb2c Make sure that we have enough server threads to actually support the
number of outstanding streams
2015-05-05 11:42:54 -07:00
vjpai 0a4129399a Also need to create a vector of streams 2015-05-04 16:39:18 -07:00
Vijay Pai 36ff3f00e2 clang-format 2015-05-04 14:40:21 -07:00
Vijay Pai 25aa12fa75 Support multi-stream synchronous client tests 2015-05-04 14:38:14 -07:00
Yang Gao 3d3d632d72 merge with head 2015-05-04 13:54:11 -07:00
vjpai 041998d986 Change function-pointer to std::function 2015-05-04 09:24:08 -07:00
Yang Gao c71a9d2b56 clang-format 2015-05-04 00:22:12 -07:00
vjpai ce3062b324 Merge branch 'master' into poisson 2015-05-01 15:28:52 -07:00
vjpai 3b2e2f77ff Merge branch 'master' into async-cleanup 2015-05-01 15:26:47 -07:00
Yang Gao ea13af73e0 merge with head 2015-05-01 11:34:45 -07:00
Yang Gao 3921c56bee Expose max message size at the server side 2015-04-30 16:07:06 -07:00
Vijay Pai 7ebb17e595 Merge branch 'async-cleanup' into poisson 2015-04-30 14:32:58 -07:00
Vijay Pai e10ebf15eb Keep code that is common between both async client versions in a new async superclass and only use unary/streaming-specific material in the subclass. 2015-04-30 13:12:31 -07:00
Craig Tiller 81e57d9acf Add a thread stress end2end test 2015-04-29 16:34:13 -07:00
Vijay Pai 0b94127bb1 Merge branch 'master' into poisson 2015-04-29 13:58:36 -07:00
vjpai 9ba29cd8f3 Move end_threads to subclass since some subclass-specific fields will still be
alive at this time

Conflicts:
	test/cpp/qps/client_sync.cc
2015-04-29 11:06:57 -07:00
vjpai 07b2fe6f96 Move end_threads to subclass since some subclass-specific fields will still be
alive at this time
2015-04-29 10:40:26 -07:00
vjpai c6aa60e510 Move interarrival timer to Client class so that it can be used for async tests
as well
2015-04-29 10:20:41 -07:00
vjpai 7608e9ed45 Merge branch 'master' into poisson 2015-04-29 10:18:40 -07:00
Craig Tiller c8667056d5 Merge pull request #1367 from yang-g/interop
Add two scenarios in interop test
2015-04-28 17:09:56 -07:00
Vijay Pai 0e6df83b03 Merge branch 'master' into poisson 2015-04-28 09:15:07 -07:00
Vijay Pai fec0c2cdda Merge pull request #1375 from ctiller/qps_client
Fix a race in QPS client shutdown
2015-04-28 07:55:54 -07:00
vjpai a188b1f1c4 Merge branch 'poisson' of git://github.com/vjpai/grpc into vjpai-poisson
Conflicts:
	Makefile
2015-04-27 16:24:22 -07:00
Vijay Pai 4d4372b452 Supply command line flags for open-loop testing 2015-04-27 12:21:15 -07:00
Vijay Pai e36a32a495 Fix names 2015-04-27 12:21:06 -07:00
Vijay Pai 87dd702783 Fix embarassing break bug 2015-04-27 12:17:37 -07:00
Craig Tiller 98ae48d63c Ignore SIGPIPE 2015-04-27 11:20:39 -07:00
Craig Tiller 77e0d64b4d Fix a race in QPS client shutdown
Previously we were cleaning up threads only AFTER local resources were
reclaimed, leading to many crashes.
2015-04-27 10:52:54 -07:00
Vijay Pai 105ff2eb2e Support for open-loop sync test 2015-04-26 01:04:23 -07:00
Craig Tiller 7305dc69e6 Merge pull request #1227 from nicolasnoble/the-purge-2
Refactoring std::chrono out.
2015-04-24 17:57:49 -07:00
Yang Gao fa74ec4617 Merge pull request #1359 from a11r/cc2
Test client stream cancellation and fix bug exposed by the test.
2015-04-24 15:16:51 -07:00
Yang Gao 68d615737b Add two scenarios in interop test 2015-04-24 14:42:42 -07:00
Nicolas "Pixel" Noble fd2bf675f7 Merge branch 'master' of github.com:grpc/grpc into the-purge-2
Conflicts:
	include/grpc++/completion_queue.h
2015-04-24 23:24:44 +02:00
Yang Gao c4b6ffb1b6 Add a GrpcLibrary class to wrap grpc_init and grpc_shutdown and convert all the tests to init/shutdown free. 2015-04-24 13:09:40 -07:00
Nicolas "Pixel" Noble 23be280366 Merge branch 'master' of github.com:grpc/grpc into the-purge-2
Conflicts:
	src/cpp/client/channel.cc
	vsprojects/vs2010/grpc++.vcxproj
	vsprojects/vs2013/grpc++.vcxproj.filters
2015-04-24 00:38:19 +02:00
Abhishek Kumar d774c5cadb Test client stream cancellation and fix bug exposed by the test. 2015-04-23 14:59:49 -07:00
Craig Tiller bab1d2cf5f Merge pull request #1307 from a11r/streamcancel
Added e2e tests for server and bidi stream cancellation.
2015-04-23 14:15:41 -07:00
Vijay Pai e23aba4884 Fix definition of InterarrivalTimer to enable late initialization
and use nanoseconds
2015-04-23 13:53:36 -07:00
Abhishek Kumar a1d3a72930 fixed indentation 2015-04-23 10:24:04 -07:00
Yang Gao 3fbf7d76e2 Merge pull request #1312 from ctiller/batch-metadata
Batch metadata
2015-04-22 14:35:46 -07:00
vjpai 9cf0b3b84d Random number distributions and test for common distributions 2015-04-21 12:58:31 -07:00
Yang Gao 3b3097fb7a Remove an extra unref 2015-04-21 11:47:45 -07:00
Craig Tiller 12088b26d9 Tweak tests 2015-04-20 09:51:27 -07:00
Abhishek Kumar 18298a7440 Fixed flakes due to OK racing with cancel 2015-04-17 15:00:25 -07:00
Abhishek Kumar e41d0402ba Added end2end test for server streaming rpc cancellation. 2015-04-17 14:12:33 -07:00
Abhishek Kumar 82a83313db Added test case demonstrating cancel on bidi stream 2015-04-17 13:30:51 -07:00
Abhishek Kumar 60572d422b Move .proto files up for reuse 2015-04-16 20:45:25 -07:00
Abhishek Kumar 1b3e3cd75b Moving test.proto to an outer directory so others can depend on it. 2015-04-16 20:10:29 -07:00
Nicolas Noble d35b7107f8 Merge pull request #1291 from yang-g/headers
Wrap ParseCommandLineFlags in InitTest
2015-04-16 15:50:58 -07:00
Yang Gao 103837ee6b Wrap ParseCommandLineFlags in InitTest 2015-04-15 15:23:54 -07:00
Yang Gao eaccf90aef Return 1 when test_case is not supported in interop test 2015-04-15 14:05:07 -07:00
Nicolas "Pixel" Noble b7c2035e83 Merge branch 'master' of https://github.com/grpc/grpc into the-purge-2
Conflicts:
	test/cpp/end2end/async_end2end_test.cc
	test/cpp/end2end/end2end_test.cc
	test/cpp/interop/client.cc
2015-04-11 01:53:09 +02:00
Craig Tiller b1c55ce13d Merge github.com:grpc/grpc into local_worker 2015-04-10 22:13:37 +00:00
Nicolas Noble 92cd367b99 Merge pull request #1244 from yang-g/interop
Split interop client and server into components
2015-04-10 13:51:36 -07:00
Craig Tiller 217b7f0e80 Merge branch 'qps' into local_worker
Conflicts:
	Makefile
	build.json
	test/cpp/qps/worker.cc
2015-04-10 08:31:37 -07:00
Craig Tiller 66f37b477d Merge github.com:google/grpc into qps
Conflicts:
	Makefile
2015-04-10 08:28:31 -07:00
Craig Tiller 66048f4fc1 Add reporting library, use it 2015-04-10 08:23:52 -07:00
Craig Tiller 41faf0f4c8 s/11/1 2015-04-10 08:06:05 -07:00
Yang Gao a40020788f Split interop client and server into components 2015-04-09 23:25:21 -07:00
Craig Tiller e9a6eb7332 Allow RunScenarios to spawn in-process workers
This allows us to get back to single binary tests where appropriate, which will help in-depth profiling efforts.
I've built this atop my smoke_test changes as they inspired me to get this done.
2015-04-09 15:51:41 -07:00
Craig Tiller c908eb65df :Merge branch 'qps' of github.com:ctiller/grpc into qps 2015-04-09 21:46:49 +00:00
Craig Tiller 4cc8a172f5 Tweaks 2015-04-09 21:46:33 +00:00
Yang Gao 3ca65e3228 Merge pull request #1238 from nicolasnoble/plugin-rework
Splitting gRPC service class codegen into its own set of files.
2015-04-09 14:35:42 -07:00
Nicolas "Pixel" Noble 0caebbfcfe Splitting gRPC service class codegen into its own set of files. 2015-04-09 23:08:51 +02:00
Craig Tiller 206d59a56a fine tuning 2015-04-09 20:06:33 +00:00
Craig Tiller 8221e40ac0 Indentation fixes, s/11/1/g 2015-04-09 12:23:21 -07:00
Craig Tiller 1c61af7364 Dont sleep forever on async cq 2015-04-09 12:08:44 -07:00
Craig Tiller 8a5a666ad0 Handle errors better on client 2015-04-09 11:31:28 -07:00
Craig Tiller aa2fca5a48 Remove asserts 2015-04-09 10:56:06 -07:00
Craig Tiller 2c2cf6d2c5 Smoke test initial version 2015-04-09 09:40:20 -07:00
Craig Tiller b9de09f2ac Allow specifying warmup, benchmark times 2015-04-08 17:08:05 -07:00
Nicolas "Pixel" Noble a05b8b7b25 Removing a few more references to #include <chrono> 2015-04-08 09:07:20 +02:00
Nicolas Noble 89219162dd Refactoring std::chrono out. 2015-04-08 05:42:08 +02:00
Vijay Pai f2554d051b Revive proper SIGINT handling 2015-04-02 13:58:27 -07:00
Vijay Pai 54e16ee548 Put in calls to profiling 2015-03-31 12:50:56 -07:00
Vijay Pai 49673133b3 Remove unused header file for profiler 2015-03-31 12:39:51 -07:00
Vijay Pai ce3bd9680b Remove outdated file 2015-03-31 12:06:20 -07:00
Yang Gao 0c4b0ddcc5 Add tests with delayed cancellation from client and server 2015-03-30 13:08:34 -07:00
Vijay Pai bc6f3f04d8 Merge pull request #1144 from yang-g/genericstub
generic stub implementation
2015-03-27 15:33:07 -07:00
Yang Gao b946b5ea74 Refactor and add a unit test 2015-03-27 13:20:59 -07:00
Yang Gao fa50753059 Merge pull request #1113 from vjpai/qps-stream
Add C++ streaming QPS test, fix bug in async C++ tests
2015-03-27 10:10:29 -07:00
Yang Gao 48bbd000eb merge upstream and resolve conflict 2015-03-26 23:12:14 -07:00
Yang Gao 166f9d00ce add back mis-deleted method string 2015-03-26 23:06:45 -07:00
Yang Gao ced2b89f55 Finish grpc_cli 2015-03-26 22:59:54 -07:00
vjpai 6130809a8b Work around a compiler limitation caused by inability to properly handle
vectors created from initializer list
2015-03-26 17:12:17 -04:00
Vijay Pai 92a928fa68 Make string construction explicit as implicit conversion doesn't work in 4.4 2015-03-26 16:30:22 -04:00
vjpai 4bcab68012 Include the config.h file to make sure that nullptr is covered 2015-03-26 13:21:24 -07:00
Vijay Pai bef9cbc7dc Eliminate range-based fors 2015-03-26 11:02:06 -07:00
Vijay Pai 9032adcbef Fix conflicts 2015-03-26 10:32:52 -07:00
Nicolas Noble 96e32aa0a5 Merge pull request #1133 from yang-g/cleanup
clean up
2015-03-25 12:38:40 -07:00
Yang Gao 16c78c922c Clean up unneeded includes and remove shutdown protobuf library 2015-03-25 10:36:16 -07:00
Yang Gao a5e20d35c9 a stub of the cli tool 2015-03-25 09:55:20 -07:00
Vijay Pai 82dd80abc6 Elminate range-based fors and work around some other limitations in older compilers 2015-03-24 10:36:08 -07:00
Vijay Pai 6266b9341c Sweep different parameter sets in a single shell script. 2015-03-23 14:38:18 -07:00
Vijay Pai 1da729ad7d Merge branch 'qps-stream' of https://github.com/vjpai/grpc into vjpai-qps-stream 2015-03-23 12:52:56 -07:00
Vijay Pai 8ad32091e6 Make sure that nothing gets added to cq after shutdown 2015-03-23 12:44:28 -07:00
Vijay Pai 55bb5bdf80 No need to do an extra read 2015-03-23 12:44:09 -07:00
Vijay Pai c5b397927c test return value of rpc parse 2015-03-23 10:46:37 -07:00
vjpai 653803e310 Make RPC type configurable 2015-03-23 10:19:12 -07:00
vjpai 46f65239cf Added streaming C++ tests for sync and sync cases 2015-03-23 10:10:27 -07:00
Yang Gao cdb2a6e071 Protect on some overflow scenarios, add a test and build/run the test 2015-03-20 23:55:04 -07:00
Yang Gao 993d540e37 covert test to use generic stub 2015-03-19 13:35:49 -07:00
Jan Tattermusch 5e36d0d474 Merge pull request #1093 from nicolasnoble/windows
Various Windows fixes.
2015-03-19 10:29:47 -07:00
Yang Gao 1fc046902c sync to head and run clang-format again 2015-03-19 07:23:08 -07:00
Nicolas Noble cfd6073a66 Various Windows fixes.
-) using dupenv_s instead of getenv_s and calling strdup ourselves.
-) few impossible-to-obtain if checks.
-) various signed/unsigned casting.
-) using time_t instead of time32_t
-) checking output of FormatMessage for failures.
-) don't redefine _WIN32_WINNT without undefining it first.
-) fixed msvc's interlocked casting.
-) renamed AddPort to AddListeningPort.
-) added protobuf's third_party includes to search path.
-) added a missing definition for inet_ntop in mingw32.
-) removed useless declarations.
2015-03-19 04:21:22 +01:00
donnadionne f2093977ae Merge pull request #1067 from yang-g/print
Print out status when it is not ok in interop tests
2015-03-18 17:44:42 -07:00
Yang Gao 757afaeb30 clang-format new changes 2015-03-17 15:49:26 -07:00
Yang Gao d672d8fbe2 resolve merge confict 2015-03-17 15:47:47 -07:00
Yang Gao 700bdeb6f5 Merge pull request #1023 from vjpai/async
Non-blocking Next method for C++ async completion queue
2015-03-17 15:45:33 -07:00
Yang Gao 3c220dfc32 Print out status when it is not ok in interop tests 2015-03-17 11:47:54 -07:00
Yang Gao 6baa9b67ad clang-format c++ code 2015-03-17 10:49:39 -07:00
vjpai 7aadf46fdb Change to std::chrono and add a test. 2015-03-17 00:39:18 -07:00
Yang Gao 1ad253d137 expose the server's cq through the generic service object 2015-03-16 13:11:29 -07:00
Yang Gao 5333c5a261 Merge branch 'master' into untypedAPI 2015-03-16 11:39:14 -07:00
Yang Gao 45c09db87c sort the tags, this is not necessary, just make it look better 2015-03-13 15:49:35 -07:00
Yang Gao 9fbbc7bb13 add one bidi test 2015-03-13 15:33:08 -07:00
Yang Gao 4999649653 Rename to AsyncGeneric* 2015-03-12 16:40:19 -07:00
Yang Gao 005eb88c45 Rename anonymous to generic globally 2015-03-11 22:17:13 -07:00
Yang Gao 7d6b184f57 add a jwt test case for interop test 2015-03-11 14:51:50 -07:00
Yang Gao f859510340 Merge branch 'master' into jwt 2015-03-11 14:31:00 -07:00
Yang Gao 0cb6c25e71 A first test with typed async client and untyped service for a simple rpc 2015-03-11 00:30:57 -07:00
Chilledheart 4be94b9541 Add missing GRPC_OVERRIDE, NFC
Testing asan configuration with the latest clang compiler fails due to
the warning `-Winconsistent-missing-override`. This patch fixes it.
2015-03-10 00:46:10 +08:00
Craig Tiller 68de8e91cc Merge github.com:grpc/grpc into credit 2015-03-05 15:45:46 -08:00
Craig Tiller 43ef582e42 override --> GRPC_OVERRIDE 2015-03-04 20:01:09 -08:00
Craig Tiller 78524b75d7 Compile fix 2015-03-04 17:13:03 -08:00
Craig Tiller 2eaf1596bb ACTUALLY set the server thread pool 2015-03-04 14:47:18 -08:00
Craig Tiller a182bf12b0 clang-format 2015-03-04 13:54:39 -08:00
Craig Tiller 50a976f56c Linux compile fix 2015-03-04 13:40:52 -08:00
Craig Tiller 96cca4e83a Merge branch 'qps_driver' of github.com:ctiller/grpc into qps_driver 2015-03-04 13:40:06 -08:00
Craig Tiller c98bef7303 Compile fix 2015-03-04 13:01:21 -08:00
Craig Tiller a8dc37a2dd Rename some files 2015-03-04 12:56:00 -08:00
Craig Tiller d6479d6cc4 Async server works 2015-03-04 12:50:11 -08:00
Craig Tiller ef63839042 Async client works 2015-03-04 12:23:12 -08:00
Craig Tiller e38ec21122 Linux compile fix 2015-03-04 11:19:15 -08:00
Craig Tiller d1e18faefc Async client progress 2015-03-04 10:51:03 -08:00
Craig Tiller 8856875900 Async client progress 2015-03-04 10:50:43 -08:00
Craig Tiller f282514389 Print resource utilization 2015-03-03 17:15:36 -08:00
Craig Tiller d701c5f5c3 Formatting 2015-03-03 16:05:04 -08:00
Craig Tiller 76877c3f66 Generate latencies in driver 2015-03-03 16:04:23 -08:00
Craig Tiller e70a0cc7e5 Merge github.com:grpc/grpc into qps_driver 2015-03-03 15:21:34 -08:00
Craig Tiller 10923c2fb5 Formatting 2015-03-03 14:24:49 -08:00
Craig Tiller e7460e87d3 Merge github.com:grpc/grpc into credit 2015-03-03 13:48:40 -08:00
Craig Tiller 6af9ed0bf7 Rework QPS client/server
Now setup as a driver and N anonymous workers that may become clients or servers.
Will convert async soon.
2015-03-02 22:42:10 -08:00
Craig Tiller 26598a394a WIP 2015-03-02 16:16:00 -08:00
Vijay Pai acf6f318fc Better use of threads, avoid thread safety issues on destructor with
a proper join.

Also had been misusing EXPECT_EQ, as well as actually having an invalid
expectation on the ok field. Now it should be sane.
2015-03-02 15:13:39 -08:00
Craig Tiller 3e9cbc749a Merge github.com:grpc/grpc into qps_driver 2015-03-02 09:15:23 -08:00
Craig Tiller 61691f92c3 Merge github.com:grpc/grpc into credit 2015-03-02 08:51:52 -08:00
Nicolas "Pixel" Noble 1ff52d5278 Guard headers tool. 2015-03-01 06:18:14 +01:00
vjpai 4e1e1bc28e Revert "Use typedefs to avoid triply-nested function templates"
This reverts commit 45b0bc4bec.

This revert is being done because the compilers on Travis don't
understand the C++11 template/using syntax.
2015-02-27 23:47:12 -08:00
vjpai 45b0bc4bec Use typedefs to avoid triply-nested function templates 2015-02-27 16:54:17 -08:00
Yang Gao 25770b02d6 add jwt token creds test_case 2015-02-27 15:30:58 -08:00
vjpai 5b39f9a9fb refresh -> Reset 2015-02-27 09:33:00 -08:00
vjpai 6e2e64a8b4 Stop abusing operator() overloading 2015-02-27 09:28:28 -08:00
vjpai 9440a14558 Move std::bind call out of main loop, change constructor appropriately 2015-02-27 09:19:09 -08:00
vjpai cd801c8531 <:: -> < :: 2015-02-27 07:21:31 -08:00
vjpai 3c11066217 override->GRPC_OVERRIDE 2015-02-27 07:17:16 -08:00
vjpai 1b47b12895 Merge remote-tracking branch 'upstream/master' 2015-02-26 23:16:25 -08:00
Vijay Pai 64ac47f389 clang-format all these files 2015-02-26 17:59:51 -08:00
vjpai 56c5129629 Rename Async methods from generator to avoid naming conflicts to
bind and other functions
2015-02-26 17:01:35 -08:00
vjpai dea740f329 New multithreaded async C++ tests. The server is architected the way
that it should be with multiple threads waiting on a single
completion queue.
The client currently uses a separate completion
queue per-thread, as trying to do a single unified queue was leading
to crashes for me. I need to figure that out.
2015-02-26 16:35:35 -08:00
Craig Tiller cf133f41f8 Make it possible to compile with gcc4.6 2015-02-26 14:27:05 -08:00
Craig Tiller 29f1314282 Merge github.com:grpc/grpc into credit 2015-02-26 11:23:01 -08:00
Craig Tiller 36ccead403 Merge pull request #735 from jboeuf/fix_ssl_san
Verifying the peer name on the X509 Certs correctly.
2015-02-24 21:11:26 -08:00
Craig Tiller 8ecb170151 Fix that race better 2015-02-24 17:08:23 -08:00
Craig Tiller 2f3fa9acff Fix linux compile bug 2015-02-24 17:04:22 -08:00
Craig Tiller 25f6cd7a97 Merge github.com:grpc/grpc into credit
Conflicts:
	examples/pubsub/publisher_test.cc
	examples/pubsub/subscriber_test.cc
	include/grpc++/create_channel.h
	src/cpp/client/create_channel.cc
	test/cpp/end2end/async_end2end_test.cc
	test/cpp/end2end/end2end_test.cc
	test/cpp/util/create_test_channel.cc
2015-02-24 08:12:05 -08:00
Craig Tiller 2d0f36c84b Driver to client/server kind of works 2015-02-23 23:16:17 -08:00
Craig Tiller 47445219b3 Merge github.com:grpc/grpc into qps_driver 2015-02-23 20:54:05 -08:00
Craig Tiller 4ef7a29f31 Create server/client lists 2015-02-23 17:29:01 -08:00
Craig Tiller 4f7a1ff6ad 'Fix' a race 2015-02-23 17:16:56 -08:00
Craig Tiller 4271a34e88 Merge github.com:google/grpc into qps_driver 2015-02-23 17:14:40 -08:00
Craig Tiller b9d91eb454 Merge github.com:google/grpc into deprecate-c++
Conflicts:
	test/cpp/end2end/async_end2end_test.cc
	test/cpp/end2end/end2end_test.cc
2015-02-23 17:13:40 -08:00
Craig Tiller e48601934d Getting the driver pieces in place
Driver logic not implemented yet
2015-02-23 17:10:41 -08:00
Yang Gao 0b9dfcf02a Merge pull request #725 from ctiller/unique
Move to unique_ptr for all GRPC returned objects
2015-02-23 17:02:47 -08:00
Julien Boeuf 597a4f2273 Verifying the peer name on the X509 Certs correctly.
- The SANs take precedence over the CN.
- The CN is only checked if there are no SANs.
- Fixing the tests as the test cert did not list *.test.google.com in
  the SANs. Will fix the test cert another time...
2015-02-23 16:41:26 -08:00
Craig Tiller 5c004c68de Driver changes
WIP - things compile again after a broad set of changes preparing for
the driver code.
2015-02-23 16:31:57 -08:00
Craig Tiller e8eb8a4fd4 Merge github.com:grpc/grpc into credit 2015-02-23 14:56:42 -08:00
Craig Tiller 74ae8f61d9 Merge pull request #710 from jboeuf/default_google_creds
Added support for default credentials.
2015-02-23 14:41:18 -08:00
Craig Tiller e4fe844b67 s/CreateChannel/CreateChannelDeprecated
For the 2-argument version of CreateChannel.

This is a temporary step until #711 is ready to roll out.
2015-02-23 13:55:15 -08:00
Julien Boeuf c66f2a816e Addressing iniitial feedback.
- Renaming default credentials -> google default credentials.
- Various other things in cpp:
  - Adding Cpp wrapping for JWT Tokens.
  - Renaming ComposeCredentials -> CompositeCredentials.
2015-02-23 13:00:36 -08:00
Craig Tiller fd1b49b757 Move to unique_ptr for all GRPC returned objects 2015-02-23 12:53:39 -08:00
Craig Tiller 42bc87c097 Update C++ server with new core API
And reflects the C++ API in ServerBuilder.
2015-02-23 09:58:23 -08:00
Craig Tiller 47c83fdaf7 Credentials prototyping
- Remove CredentialsFactory as it's unnecessary
- Effectively make Credentials a channel factory, allowing different credential types to create different channel types - this gives us a hook so that InsecureCredentials can at runtime instantiate a different kind of channel as required - giving us a way of generating an openssl free version of grpc++.
- Server credentials not touched yet, but they'll need to be updated.
2015-02-23 09:58:22 -08:00
Craig Tiller fe8af4e2e9 Rename interop_test.c --> interop_test.cc
We have many assumptions about languages baked into the test system, and we want this test harness to trigger when testing C++ stuff, so it needs to be written in C++.
2015-02-21 07:04:49 -08:00
Michael Lumish 00bdbe64a0 Merge pull request #669 from yang-g/comments
clean up some internal path and names
2015-02-20 14:52:32 -08:00
Nicolas Noble d539f69c72 Merge pull request #663 from vjpai/python
Minor changes for compatibility across different compilers
2015-02-20 14:46:15 -08:00
Craig Tiller 2f3e2ec865 Make interop server respond to sigint
This will allow the test to shut down cleanly, and avoid failing.
2015-02-20 13:07:50 -08:00
Yang Gao bbd67c0499 clean up some internal path and names 2015-02-20 13:04:52 -08:00
vjpai 5b47818d93 Some compilers not happy with <:: and need < :: instead 2015-02-20 11:42:42 -08:00
Craig Tiller 16a6ea6bc0 Ensure interop tests are run as part of run_tests
I'm honestly a little shocked this wasn't done previously.
2015-02-20 09:08:54 -08:00
Nicolas "Pixel" Noble 7e80efcb3d Making the usage of gflags uniform across distributions. 2015-02-20 03:13:38 +01:00
Nicolas "Pixel" Noble ba6082080c Fixing gflags' include path. 2015-02-20 02:48:03 +01:00
Nicolas Noble 980a630e7f Merge pull request #605 from vjpai/mac
Mac build is now ready
2015-02-19 10:17:03 -08:00
vjpai d5577aac67 More typecasts to avoid sign-comparison problems on EXPECT_EQ 2015-02-18 22:26:48 -08:00
vjpai c1231eb543 Include typecasts so that int and size_t are not compared (since their
signs don't match)
2015-02-18 22:15:14 -08:00
Craig Tiller 2d11c93ab5 Merge github.com:grpc/grpc into an-update-on-c++ 2015-02-18 15:51:50 -08:00
Craig Tiller 8a287d1a1b Merge pull request #588 from yang-g/c++api
Async client api change. Add a ClientAsyncResponseReader.
2015-02-18 14:50:14 -08:00
Yang Gao 3a5e5495e5 Async client api change. Add a ClientAsyncResponseReader. Make the api similar to streaming and symmetric to server side. 2015-02-18 14:32:38 -08:00
Craig Tiller eaaee49f9b Merge github.com:grpc/grpc into an-update-on-c++ 2015-02-18 13:14:15 -08:00
Craig Tiller 492968f7d9 Server side cancellation receive support 2015-02-18 13:14:03 -08:00
Craig Tiller ce5021b0b9 Add missing new-lines at end of file 2015-02-18 09:25:21 -08:00
Craig Tiller 190d360def Add missing new-lines at end of file 2015-02-18 09:23:38 -08:00
Craig Tiller 0605995e55 Update copyright to 2015 2015-02-18 08:34:56 -08:00
Craig Tiller f74ec4ee43 Merge github.com:grpc/grpc into copyright 2015-02-18 08:30:14 -08:00
Yang Gao da699b8bc1 do not leak reader or writer 2015-02-18 01:10:22 -08:00
Yang Gao 2b7f537546 Add metadata test with rpc. Adding/fixing things to make it work 2015-02-18 00:45:53 -08:00
Craig Tiller 347b83c222 Merge github.com:grpc/grpc into copyright
Conflicts:
	src/python/src/__init__.py
	src/python/src/_adapter/__init__.py
	src/python/src/_framework/__init__.py
	src/python/src/_framework/base/__init__.py
	src/python/src/_framework/base/packets/__init__.py
	src/python/src/_framework/common/__init__.py
	src/python/src/_framework/face/__init__.py
	src/python/src/_framework/face/testing/__init__.py
	src/python/src/_framework/foundation/__init__.py
	src/python/src/_junkdrawer/__init__.py
2015-02-17 20:28:40 -08:00
Craig Tiller 5e276e88c4 Merge github.com:grpc/grpc into c++api 2015-02-17 13:33:24 -08:00
Craig Tiller ad1fd3a49e Add proto copyrights 2015-02-16 12:23:04 -08:00
Nathaniel Manista 1d1f952731 The Python interoperability testing server. 2015-02-15 01:21:18 +00:00
Craig Tiller 771fefb41b Merge pull request #18 from yang-g/c++api
Add missing APIs and a first metadata test, and test passes
2015-02-13 16:30:49 -08:00
Yang Gao 406b32f663 Add missing APIs and a first metadata test, and test passes 2015-02-13 16:25:33 -08:00
Craig Tiller 857680be2c Compile fixes 2015-02-13 15:19:48 -08:00
Yang Gao 0e0d8e11e6 add a simple server streaming e2e test, which passes 2015-02-13 14:40:41 -08:00
Yang Gao 005f18a6a1 change ServerAsyncReader API and add a simple clientstreaming test, it passes 2015-02-13 10:22:33 -08:00
Yang Gao c05b6cb89d add a bidi test and simplify the test a bit, test passes 2015-02-13 00:34:10 -08:00
Yang Gao bb84a30f07 let the client/server use their own cq and pretty the test 2015-02-12 23:30:12 -08:00
Craig Tiller 0220cf14b0 Add end2end async unary single threaded test (compiles) 2015-02-12 17:39:26 -08:00
Craig Tiller ec3257c120 Fix end2end leaks 2015-02-12 15:59:43 -08:00
Craig Tiller 7418d01de4 Make end2end_test use fewer threads
Helps finding interesting threads in gdb much easier
2015-02-11 15:25:03 -08:00
Craig Tiller 5a4f991d5d Merge github.com:grpc/grpc into c++api
Conflicts:
	test/cpp/qps/server.cc
2015-02-11 07:56:42 -08:00
Vijay Pai 4ca479c3a1 Change pointer format 2015-02-10 10:55:53 -08:00
Vijay Pai c3b02d9a67 Allow varying number of server threads via command line flag 2015-02-10 10:39:03 -08:00
Craig Tiller 4d0fb5f1c0 Fixup callers with new api 2015-02-09 16:27:22 -08:00
Craig Tiller f8ac5d846c Fixup callers with new api 2015-02-09 16:24:20 -08:00
Craig Tiller 5319164875 Cleanup 2015-02-09 16:15:23 -08:00
Craig Tiller 1d2e21962e Server progress 2015-02-09 15:25:21 -08:00
Nicolas "Pixel" Noble 3f36f5e316 Few minor fixes.
Fixing a few issues in case you *cough* have a different local implementation of
protobuf, gtest and gflags for some weird reason.
2015-02-06 20:45:54 +01:00
Yang Gao 48d80e5769 update comments 2015-02-05 23:11:02 -08:00
Yang Gao 1988221d15 Use environment variable to set root certs in c++ interop test. 2015-02-05 23:06:54 -08:00
Vijay Pai 0ea6b435f3 Merge pull request #324 from ctiller/bench
Add pprof support to qps client, server
2015-02-01 09:31:09 -08:00
Craig Tiller 056ba544a2 Add pprof support
Starts profiling on client and server.
On client, finishes after a test.
On the server, finishes after sigint.
2015-01-31 21:15:10 -08:00
Yang Gao 2b80e6f1a8 format 2015-01-27 15:06:50 -08:00
Yang Gao aec1d0b391 make the flag name shorter 2015-01-27 15:02:14 -08:00
Yang Gao bd18be2f33 add compute engine credentials support 2015-01-27 14:29:19 -08:00
Yang Gao d785904d0a resolve comments 2015-01-27 11:26:56 -08:00
Yang Gao eec8d1a56c fix comments 2015-01-26 11:03:21 -08:00
Yang Gao 3bc377c5b8 Let each test case create its own channel. 2015-01-26 10:55:25 -08:00
Yang Gao 5fd0d29dfe run clang-format 2015-01-26 00:19:48 -08:00
Yang Gao c38dda4b90 add service_account support into interop client 2015-01-26 00:09:23 -08:00
Yang Gao 02ce729ce2 make CreateTestChannel support additional credentials besides ssl 2015-01-25 23:12:43 -08:00
Yang Gao 94e97ef2c5 sync messages.proto up to date. 2015-01-25 22:33:54 -08:00
Yang Gao dab7095fc5 Make interop server listen on 0.0.0.0. 2015-01-23 16:24:14 -08:00
Nicolas "Pixel" Noble 3d4cba4901 kNumResponseMessages is an int, so i is doing signedness mismatch. 2015-01-22 23:42:15 +01:00
Julien Boeuf 8fbcc4391e Changing the SSL (Server) Credentials API.
- Changed the unsigned char * + size to NULL terminated strings which
  makes sense for the PEM format. I may change TSI later (but the impact
  will hopefully be much more limited).
- Added a way to pass multiple key/cert pairs to servers which is needed
  when hosting more than one domain.
- Removed the C++ SSL credentials tests as we are going to have an
  option to not specify the roots which will then be derived from the
  environment (well-known platform dependent locations and/or
  environment variable).
- Fixed the php build which is the only one added in the run_test.py.
  This change will certainly break node, python and ruby.
2015-01-20 22:18:15 -08:00
Craig Tiller 7b01878736 Fix returned status
The client should return status deadline exceeded when the deadline is
exceeded (not cancelled status)
2015-01-16 09:53:39 -08:00
Yang Gao c6a56dfd45 Merge pull request #32 from ctiller/qpsfix
Remove unused private field
2015-01-14 14:15:41 -08:00
Craig Tiller 8a7a152919 Remove unused private field 2015-01-14 14:12:49 -08:00
Craig Tiller 14e60e9f8b Use C signal handling in C++ end2end 2015-01-14 11:21:21 -08:00
Craig Tiller 1ee7cb0c0b Merge github.com:google/grpc into format 2015-01-13 12:39:00 -08:00
Craig Tiller bf2659f0b6 Fix qps test.
This was failing to compile.
2015-01-13 12:27:06 -08:00
Craig Tiller 856e372c04 Merge github.com:google/grpc into testcpp 2015-01-13 12:20:13 -08:00
vpai 92fe70e983 Added new results to report resource usage and QPS, along with new proto support for this
and also to turn the client into a server that can be controlled remotely (client part
not implemented yet)
	Change on 2015/01/13 by vpai <vpai@google.com>
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=83863541
2015-01-13 11:40:07 -08:00
Craig Tiller b5dcec5a2e clang-format codebase 2015-01-13 11:13:42 -08:00
Craig Tiller de990f9155 Initialize gtest correctly 2015-01-12 17:07:23 -08:00
Craig Tiller b2a42f3271 Make this file compile 2015-01-12 16:41:56 -08:00
Craig Tiller 9608f0f212 Make this file compile 2015-01-12 16:41:41 -08:00
Craig Tiller 35e3971e89 Make this file compile 2015-01-12 16:41:24 -08:00
yangg 0617057a39 Make interop server buildable on opensource build.
Change on 2015/01/12 by yangg <yangg@google.com>
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=83783816
2015-01-12 14:09:03 -08:00
yangg 1b151096d1 Add impl subdirectory under public and move headers that need to be installed
to it.
	Change on 2015/01/09 by yangg <yangg@google.com>
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=83640373
2015-01-12 11:22:02 -08:00
yangg 4105e2b86c Add ServiceAccount Credentials wrapping and handle credentials creation
failure.
	Change on 2015/01/09 by yangg <yangg@google.com>
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=83634736
2015-01-12 11:22:01 -08:00
yangg 1456d15221 Add a test to export two TestService on the same server, only with different
package names. Make sure they work as intended.

This is based on []
	Change on 2015/01/08 by yangg <yangg@google.com>
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=83558743
2015-01-09 17:54:03 -08:00
chenw 6edb547c99 Enable streaming test case for gRPC client in GCE.
Change on 2015/01/08 by chenw <chenw@google.com>
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=83549959
2015-01-09 17:50:09 -08:00
yangg ed5e7e006b Add deadline API on server side.
Change on 2015/01/06 by yangg <yangg@google.com>
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=83351442
2015-01-06 17:45:46 -08:00
chenw ebb4e6dcc6 Add Flags to override host and enable prod ssl root.
Change on 2014/12/22 by chenw <chenw@google.com>
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=82679415
2014-12-29 17:19:19 -08:00
chenw 97fd9e56d2 Add SSL root for production GFE.
Change on 2014/12/19 by chenw <chenw@google.com>
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=82554526
2014-12-29 17:06:52 -08:00
yangg 3f1af6ee2d Make override hostname an argument for testing against prod gfe.
Change on 2014/12/19 by yangg <yangg@google.com>
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=82544544
2014-12-29 17:00:21 -08:00
yangg 59dfc90f57 Client side implementation of creating channel with credentials.
The old test_ssl_channel related code is deleted and the new create channel
call is used for interop tests.
	Change on 2014/12/19 by yangg <yangg@google.com>
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=82540921
2014-12-29 16:59:06 -08:00
yangg da029e39b6 Add a test where client side sees a deadline expired status.
The test is not completely right and I filed [] to track it.
	Change on 2014/12/18 by yangg <yangg@google.com>
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=82442464
2014-12-19 13:14:58 -08:00
yangg 246ec3bd3a Set host to channel's target when creating a call.
Change on 2014/12/17 by yangg <yangg@google.com>
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=82377896
2014-12-19 13:07:20 -08:00
yangg a4b6f5df94 Add ServerContext. It is currently empty and deadline and metadata will come to
it in subsequent cl's.
	Change on 2014/12/17 by yangg <yangg@google.com>
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=82372934
2014-12-19 13:02:04 -08:00
vpai 80b6d014ad Prepare QPS tests for running in GCE
Edit build.json to include qps tests and credentials
Perform required MOE edits for running qps tests in VM
Minor changes to underlying source files to support
issues like more restrictive warning flags in cloud.
	Change on 2014/12/17 by vpai <vpai@google.com>
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=82349829
2014-12-17 15:52:15 -08:00
chenw 69ca59fa74 Add slow client consumer test case for flow control test.
The client will sleep 500 milliseconds before read next message in reponse streaming.
	Change on 2014/12/16 by chenw <chenw@google.com>
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=82265748
2014-12-16 17:20:09 -08:00
yangg abd90a6c30 Use '\0' instead of '0' in payload as java client actually checks that.
Change on 2014/12/12 by yangg <yangg@google.com>
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=82023559
2014-12-15 14:25:44 -08:00
nnoble 72309c6c5d Getting the generated Makefile to support .proto files.
-) Compiling the proto plugin using the HOSTCC compiler.
-) Set up proper rules to invoke the plugin from protoc.
-) Few various renaming hacks to fully get out of [].
	Change on 2014/12/12 by nnoble <nnoble@google.com>
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=82000361
2014-12-12 16:24:32 -08:00
yangg 87da1b937d Make the default deadline gpr_inf_future to avoid mismatch between
gpr_inf_future and time_point::max(). The redundant AbsoluteDeadline prefix is removed from the utility function names.

Now the ClientContext holds a gpr_timespec instead of a time_point.

A test will be added in the server side deadline support cl.
	Change on 2014/12/11 by yangg <yangg@google.com>
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=81920769
2014-12-12 16:08:10 -08:00
temiola 33a2168453 Fixes package prefixes
Fixes how module names for messages with package prefixes are rendered.

- detected while prototyping with beefcake
- fixed on the internal beefcake fork here
[]

This change replicates that fix for the official code generator.

TODO: add a test; what's normal done to test features like this the proto
codebase? Add another test.proto/golden file?
	Change on 2014/12/11 by temiola <temiola@google.com>
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=81916292
2014-12-12 16:05:15 -08:00
chenw a8fd44adf8 Build CPP interop client in Git-on-[] as well as in [].
To build client in Git-on-[]:
# regenerate Makefile
net/grpc/tools/buildgen/generate_projects.sh
# generate .pb.h and .pb.cc
protoc --cpp_out=. --grpc_out=. --plugin=protoc-gen-grpc=[]-bin/net/grpc/compiler/cpp_plugin  net/grpc/cpp/test/interop/test.proto net/grpc/cpp/test/interop/empty.proto net/grpc/cpp/test/interop/messages.proto
# Complile and link
net/grpc/tools/build_grpc_dev.sh bins/interop_client

To test against GFE/ESF:
# bring up server
[] build net/grpc/testing/interop:server_components_env
[]-bin/net/grpc/testing/interop/server_components_env --manual --rpc_port=25000
# start client
/tmp/grpc-codebase/bins/interop_client --enable_ssl=true --server_port="server ssl port listening port"

To test [] build against GFE/ESF:
[] run net/grpc/cpp:interop_client  --  --enable_ssl=true --server_port="server ssl port listening port"
	Change on 2014/12/10 by chenw <chenw@google.com>
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=81821921
2014-12-11 15:11:44 -08:00
nnoble 0c475f0ad7 Updating moe_db.txt with the latest equivalence since the ruby import changed the exported structure.
Change on 2014/12/01 by nnoble <nnoble@google.com>
-------------
new [] file for grpc testing.
	Change on 2014/12/02 by donnadionne <donnadionne@google.com>
-------------
Fix unfinished calls in thread_stress_test.

Previously we had an early return if we cancelled a stream part way through a
message. Correct this, so that half close and full close signals are propagated
up the stack correctly so that higher level state machines can see the
termination.
	Change on 2014/12/02 by ctiller <ctiller@google.com>
-------------
Remove dependency on internal C code.
	Change on 2014/12/02 by ctiller <ctiller@google.com>
-------------
Turn off the flaky bit from thread_stress_test.
	Change on 2014/12/02 by ctiller <ctiller@google.com>
-------------
Add test cases of empty request/response, request streaming, response streaming, and half duplex streaming.

Bring up the GFE/ESF for mannual test:
[] build java/com/google/net/[]/testing/integration/hexa:server_components_env
[]-bin/java/com/google/net/[]/testing/integration/hexa/server_components_env --manual --rpc_port=25000 --use_autobahn
	Change on 2014/12/02 by chenw <chenw@google.com>
-------------
Make echo/server.c and fling/server.c shutdown cleanly on SIGINT, and update
the relevant tests to exercise this mechanism.

Now "[] coverage" and the memory leak detector are able to see into the
server processes.
	Change on 2014/12/02 by pmarks <pmarks@google.com>
-------------
Allow the # of channels to be configurable in this performance test. The threads will use the channels in statically-defined round-robin order (not based on when RPCs complete on any channel). The interesting cases are #channels=1 or #channels=#threads (we previously only had the latter case)
	Change on 2014/12/02 by vpai <vpai@google.com>
-------------
Fixed a typo and reworded a comment.
	Change on 2014/12/02 by gnezdo <gnezdo@google.com>
-------------
Require the grpc_call in this ClientContext to be NULL before allowing set_call to be invoked. Otherwise, it's an indication of a leak somewhere.
	Change on 2014/12/02 by vpai <vpai@google.com>
-------------
Correctly return status other than ok and add a test for it.
	Change on 2014/12/02 by yangg <yangg@google.com>
-------------
Better C++ guards for grpc_security.h
	Change on 2014/12/02 by nnoble <nnoble@google.com>
-------------
Use nullptr instead of NULL for consistency.
	Change on 2014/12/02 by vpai <vpai@google.com>
-------------
Updates the ruby gRPC service class to require the serialization method to be
a static method

- this brings it inline with the proto3 ruby API
- it adds a monkey patch to allow existing proto (beefcake) to continue working.
	Change on 2014/12/02 by temiola <temiola@google.com>
-------------
Adding a buildable unit to the blue print file.

Added the buildable unit as its name will be usesd as tap project id.

This test will fail right away in tap until tests are actually added.
	Change on 2014/12/02 by donnadionne <donnadionne@google.com>
-------------
Move interop ESF C++ server from Java to grpc directory.

Tests passed:
[] test javatests/com/google/net/[]/testing/integration/hexa/...
[] test net/grpc/testing/interop/esf_server/...
	Change on 2014/12/02 by chenw <chenw@google.com>
-------------
Return a lame channel as opposed to NULL when secure channel creation fails.

- Looks like we're going to need something similar server-side.
- I changed the prototype of the lame client channel factory to take an
explicit void as I think this is better practice in C. Let me know if you
disagree and I will revert these changes.
	Change on 2014/12/02 by jboeuf <jboeuf@google.com>
-------------
Putting ALPN support where it belongs.
	Change on 2014/12/02 by jboeuf <jboeuf@google.com>
-------------
GOAWAY send path.

Sends a GOAWAY frame when shutting down.
This is not read and understood yet.
	Change on 2014/12/03 by ctiller <ctiller@google.com>
-------------
Adds support for secure channels and servers.

- wraps new C apis (credentials, server_credentials) and Server#add_secure_http_port
- adds tests to ensure credentials and server credentials can be created
- updates client_server_spec to run the client_server wrapper layer end-to-end tests using a secure channel
	Change on 2014/12/03 by temiola <temiola@google.com>
-------------
Fix existing issues regarding out of order events.

At the client side, using pluck as the client_metadata_read can happen anytime after invoke.

At the server side, allow halfclose_ok and rpc_end to come in reverse order.
	Change on 2014/12/03 by yangg <yangg@google.com>
-------------
Don't track coverage of tests.
	Change on 2014/12/03 by ctiller <ctiller@google.com>
-------------
Change UnaryCall to conform standard test requirement of LargeUnaryCall.
	Change on 2014/12/03 by yangg <yangg@google.com>
-------------
updating alpn version to h2-15 ensure all interop are on the same version and working.

Java and go are not ready for h2-16 yet.
	Change on 2014/12/03 by donnadionne <donnadionne@google.com>
-------------
Add config to bring echo server in [].

This is used to test production GFE as its bckend.
	Change on 2014/12/03 by chenw <chenw@google.com>
-------------
In preparation for fixing shutdown race issues, change em to take ownership of
the file descriptor. Add an API to grpc_tcp to take an already created
grpc_em_fd object, and change tcp_client to use that API.

This is needed because otherwise an em user's close() of the file descriptor
may race with libevent internals. That's not an issue yet because destroy()
frees the events inline, but that can't be done safely if there is a concurrent
poller.
	Change on 2014/12/03 by klempner <klempner@google.com>
-------------
Fixing TAP opensource build

We don't want to compile and run C++ tests in the C target.
	Change on 2014/12/03 by nnoble <nnoble@google.com>
-------------
Move and separate interop tests by languages.

Small fixes to the test runner.

Improving logging.
	Change on 2014/12/03 by donnadionne <donnadionne@google.com>
-------------
Fixing the opensource build:

-) The C/C++ split wasn't done up to the 'dep' target level
-) The alpn.c file was missing from build.json
	Change on 2014/12/03 by nnoble <nnoble@google.com>
-------------
Adding blue print files after projects exist
	Change on 2014/12/03 by donnadionne <donnadionne@google.com>
-------------
Refactor StreamContext using the new completion_queue_pluck API.

The dedicated the poller thread has been removed.
This CL keeps the current behavior to make it short. There is one following to
make it usable for both client and server.

The tags for pluck is based on the address of this StreamContext object for potential debug use.

The Read/Write and Wait cannot be called concurrently now and this might need to be fixed.
	Change on 2014/12/03 by yangg <yangg@google.com>
-------------
Binary encoding utilities.

Support base64 encoding, HPACK static huffman encoding, and doing both at once.
	Change on 2014/12/03 by ctiller <ctiller@google.com>
-------------
Enforce Makefile regeneration in presubmits.
	Change on 2014/12/03 by ctiller <ctiller@google.com>
-------------
Make CloseSend() send a real zero-length control message to indicate EOS.
	Change on 2014/12/03 by zhaoq <zhaoq@google.com>
-------------
Prefer to create dualstack sockets for TCP clients and servers, with automatic
fallback for environments where IPV6_V6ONLY can't be turned off.
	Change on 2014/12/03 by pmarks <pmarks@google.com>
-------------
Add opensource path to build targets.

Ensure that MOE is going to run.
	Change on 2014/12/03 by ctiller <ctiller@google.com>
-------------
Add PingPong test case. Delete FullDuplex test case. The latter is not specified for client in

https://docs.google.com/document/d/1dwrPpIu5EqiKVsquZfoOqTj7vP8fa1i49gornJo50Qw/edit#
	Change on 2014/12/03 by chenw <chenw@google.com>
-------------
Make generate_projects.sh check out the generated targets.
	Change on 2014/12/03 by ctiller <ctiller@google.com>
-------------
rspec cleanup

- stops declaring specs within the GRPC module
- splits Bidi streaming specs into a separate test suite

adding tests in the GRPC module was a mistake, it pollutes the module and can
affect other tests that run later by the test runner

the bidi tests are currently flaky, having them run in their own test suite
allows having two separate continuous builds (once ruby gRPC is on GitHub),
one that includes bidi where we tolerate flakiness, and another that does not,
where there should be no flakiness at all
	Change on 2014/12/03 by temiola <temiola@google.com>
-------------
Adding support for composite and IAM credentials.

- For now, we don't do any checks on credentials compatibility in the
composite credentials. Maybe we'll add that later.
- Refactored the end to end security tests so that we always use the public API
(except for the fake security context which is not exposed).
	Change on 2014/12/03 by jboeuf <jboeuf@google.com>
-------------
Make GPR library buildable in Visual Studio 2013.
	Change on 2014/12/04 by jtattermusch <jtattermusch@google.com>
-------------
Adds codegen for ruby

This is being added now that ruby's proto and grpc apis are defined and stable
	Change on 2014/12/04 by temiola <temiola@google.com>
-------------
Prevent NewStream() from sending negative or 0 timeout.
	Change on 2014/12/04 by zhaoq <zhaoq@google.com>
-------------
Add a grpc_sockaddr_to_string() function, and use it when logging bind
failures.  Also improve const-correctness in some earlier code.

I'm not certain whether inet_ntop() will need any platform-specific
implementations, but for now the compiler offers no complaints.

Demo:
$ []-bin/net/grpc/c/echo_server 1.2.3.4:80
... tcp_server.c:139] bind addr=[::ffff:1.2.3.4]:80: Permission denied
	Change on 2014/12/04 by pmarks <pmarks@google.com>
-------------
Refactoring - moves c wrapped classes to a submodule Google::RPC::Core

- this allows for an explicit rule when reading through gRPC ruby code for telling
when an object is pure ruby or wrapped C
	Change on 2014/12/04 by temiola <temiola@google.com>
-------------
Fixes the bidi_call

[]
	Change on 2014/12/04 by temiola <temiola@google.com>
-------------
Fixing dev build when activating surface traces.
	Change on 2014/12/04 by nnoble <nnoble@google.com>
-------------
Updates the tests to reflect that fact that some Credentials compose works.
	Change on 2014/12/04 by temiola <temiola@google.com>
-------------
Making the generate_project_test actually do something.
	Change on 2014/12/04 by nnoble <nnoble@google.com>
-------------
Rename "esf_server" to "[]4_server". Delete "test_sever" from Java directory.
	Change on 2014/12/04 by chenw <chenw@google.com>
-------------
Added PHP client interop tests. Tested large_unary against the C++ server.
	Change on 2014/12/04 by mlumish <mlumish@google.com>
-------------
Refactor grpc_create_dualstack_socket() by pulling the setsockopt into its own
function.  This separates the magic test flag from the real fallback logic.
	Change on 2014/12/04 by pmarks <pmarks@google.com>
-------------
Fixes the type of the constant used for test cert hostname
	Change on 2014/12/04 by temiola <temiola@google.com>
-------------
Disabling these tests as they're causing flakiness.
	Change on 2014/12/04 by ctiller <ctiller@google.com>
-------------
Change intptr --> uintptr.

Handles the case where a void* turns into a negative number, which then gets
hashed into a negative bucket and segfaults.
	Change on 2014/12/04 by ctiller <ctiller@google.com>
-------------
Add a test fixture to force parsers to handle one byte at a time.

This should expand coverage and hopefully prevent errors at some point (it
seems to pass out of the box for now though).
	Change on 2014/12/04 by ctiller <ctiller@google.com>
-------------
The code generator isn't +x.
	Change on 2014/12/04 by ctiller <ctiller@google.com>
-------------
Updates math_client and math_server to allow construction using crednetials

By:
- Extending rpc_server constructor so that it takes a credentials keyword param
- Extending client_stub constructor so that it takes a credentials keyword param
	Change on 2014/12/04 by temiola <temiola@google.com>
-------------
Format output a little more nicely.

Print each line of output separately - previously logging.info was truncating this at some maximum length, and logs were getting lost.
	Change on 2014/12/04 by ctiller <ctiller@google.com>
-------------
Up timeout for this test.

Under TSAN, if we process one byte at a time, this timeout can be reached - and I think this is the cause of the following flake:
[]
	Change on 2014/12/05 by ctiller <ctiller@google.com>
-------------
Adding more error logging for ssl.
	Change on 2014/12/05 by jboeuf <jboeuf@google.com>
-------------
Read path for goaway.

Still need to add hooks to deprecate a channel on the client side when goaway
is received.
	Change on 2014/12/05 by ctiller <ctiller@google.com>
-------------
Separate accept() into server_accept() and server_end_of_initial_metadata().

This allows servers to initiate reads before finishing writing metadata.
	Change on 2014/12/05 by ctiller <ctiller@google.com>
-------------
Fix for breakage 11512317 - adding missing test files.
	Change on 2014/12/05 by nnoble <nnoble@google.com>
-------------
grpc c++ server side streaming support.

This is based on [] There is a lot of room to clean up the internal implementation which may require refactoring of CompletionQueue. The current cl serves as a working implementation with the missing interfaces.

The sample generated files are included and will be removed before submitting.
	Change on 2014/12/05 by yangg <yangg@google.com>
-------------
Changed to the latest timeout format again (search "grpc-timeout" in [] for the spec).
	Change on 2014/12/05 by zhaoq <zhaoq@google.com>
-------------
Fixing opensource build.
	Change on 2014/12/05 by nnoble <nnoble@google.com>
-------------
Making absolutely sure we can do the moe export by adding a sh_test for it.
	Change on 2014/12/05 by nnoble <nnoble@google.com>
-------------
Change :scheme psuedo-header from "grpc" to "http" or "https".
	Change on 2014/12/05 by zhaoq <zhaoq@google.com>
-------------
Add server credential wrapping for c++ server. It only wraps ssl and []2 for now.

The ServerCredentials class and the factory class are in a similar fashion as
client side wrapping. The difference is the factory method returns shared_ptr
instead of unique_ptr as the server builder needs to keep a reference to it for
actually creating the server later.

The integration will happen in a following cl.
	Change on 2014/12/05 by yangg <yangg@google.com>
-------------
Fixed bugs in new_grpc_docker_builder.sh
	Change on 2014/12/05 by mlumish <mlumish@google.com>
-------------
In secure endpoint, hold a refcount for the life of a write callback if the
write does not complete immediately.
	Change on 2014/12/05 by klempner <klempner@google.com>
-------------
Add migration support to MOE and have TAP verify it doesn't break.

Migration support allows mirroring commits from [] into the git repo, instead of just a dump of the current source.
	Change on 2014/12/05 by ejona <ejona@google.com>
-------------
Change initial window size to 65535 according http2 draft 15.
	Change on 2014/12/05 by zhaoq <zhaoq@google.com>
-------------
Re-enable the flaky cases in dualstack_socket_test, with additional logging to
help track down the problem if it surfaces again.

This also seems like a good opportunity to make grpc_socket_utils a separate
library, as it's not really specific to TCP.

Example output:
logspam: [], 26570) resolved 2 addrs in 37ms:
logspam:   [0] [::1]:26570
logspam:   [1] 127.0.0.1:26570
	Change on 2014/12/05 by pmarks <pmarks@google.com>
-------------
Opensource build fixes.

-) A function that has a return type should actually return something.
-) Don't pass unsigned chars to strlen and strncmp.
	Change on 2014/12/05 by nnoble <nnoble@google.com>
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=81458281
2014-12-05 16:00:44 -08:00
Nicolas Noble b7ebd3b8c6 Initial import. 2014-11-26 16:33:03 -08:00