grpc/tools/run_tests
Jan Tattermusch a4039ffb21 Merge pull request #7093 from murgatroid99/run_interop_override_server_fix
Fix bug with override_server flag in run_interop_tests.py
2016-06-30 13:36:48 -07:00
..
dockerize prepare to enable ubsan in continuous build 2016-05-12 16:43:17 -07:00
performance small fixes 2016-06-13 15:20:39 +00:00
sanity update third_party/protobuf to v3.0.0-beta-3.2 2016-06-17 11:46:47 -07:00
stress_test PHP stress client in stress test framework 2016-06-14 12:54:02 -07:00
README.md address comments 2016-05-19 15:13:40 -07:00
antagonist.py Use "#!/usr/bin/env python2.7" only in utilities 2015-09-23 16:29:44 +00:00
artifact_targets.py Move manylinux1 precompiler definitions into port_platform.h 2016-05-05 19:14:05 -07:00
build_artifact_csharp.bat add missing copyrights to .bat files 2016-05-13 10:50:29 -07:00
build_artifact_csharp.sh fix copyrights 2016-01-19 12:56:16 -08:00
build_artifact_node.bat Fixed earlier fix with the right command 2016-05-09 14:59:49 -07:00
build_artifact_node.sh Build Node 6 artifacts 2016-05-09 14:00:36 -07:00
build_artifact_php.sh php: simplify installation 2016-02-23 22:26:44 -08:00
build_artifact_protoc.bat download and extract gmock 2016-02-22 07:32:13 -08:00
build_artifact_protoc.sh build protoc artifacts on mac and linux 2016-02-19 09:16:42 -08:00
build_artifact_python.bat Updated grpcio c extension build for windows to use mingw. 2016-06-23 02:38:20 -07:00
build_artifact_python.sh Fix command ordering for building Python artifacts 2016-06-07 22:19:48 -07:00
build_artifact_ruby.sh Load RVM on Linux too... 2016-02-06 07:47:32 +01:00
build_csharp.sh Update copyrights 2016-03-31 07:46:18 -07:00
build_csharp_coreclr.bat make run_tests.py support coreclr on windows 2016-06-20 16:24:05 -07:00
build_csharp_coreclr.sh workaround not necessary in preview2 2016-06-27 22:37:50 -07:00
build_node.bat Simplify Node Windows tests slightly 2016-03-04 13:05:04 -08:00
build_node.sh Update copyrights 2016-03-31 07:46:18 -07:00
build_package_csharp_coreclr.sh build experimental nugets with dotnet CLI 2016-06-29 10:45:38 -07:00
build_package_node.sh fix build node package 2016-06-24 09:13:03 -07:00
build_package_php.sh php: simplify installation 2016-02-23 22:26:44 -08:00
build_package_python.sh add build_package collector targets for python and ruby 2016-02-05 18:17:55 -08:00
build_package_ruby.sh fix building ruby package 2016-06-24 17:05:45 -07:00
build_php.sh Update copyrights 2016-03-31 07:46:18 -07:00
build_python.sh Initial Python3 support 2016-06-10 11:48:24 -07:00
build_ruby.sh Update copyrights 2016-03-31 07:46:18 -07:00
configs.json Merge github.com:grpc/grpc into signal_handler 2016-05-18 15:06:21 -07:00
distribtest_targets.py Add distrib test support for c++. 2016-05-24 13:53:52 -07:00
dockerjob.py Fixes 2016-06-23 16:18:31 -07:00
interop_html_report.template Added test cases for Cloud gateway. 2016-02-08 10:15:36 -08:00
jobset.py Fix bad indentation 2016-06-24 14:04:01 -07:00
package_targets.py build experimental nugets with dotnet CLI 2016-06-29 10:45:38 -07:00
port_server.py put cwd of port server elsewhere 2015-11-05 16:32:08 -08:00
post_tests_c.sh Coverage improvements 2015-11-04 07:30:12 -08:00
post_tests_csharp.bat add missing copyrights to .bat files 2016-05-13 10:50:29 -07:00
post_tests_csharp.sh teach run_tests how to run C# tests with NUnitLite 2016-04-11 11:09:33 -07:00
post_tests_php.sh Update copyrights 2016-03-31 07:46:18 -07:00
post_tests_ruby.sh Update copyrights 2016-03-31 07:46:18 -07:00
pre_build_c.bat add missing copyrights to .bat files 2016-05-13 10:50:29 -07:00
pre_build_csharp.bat add missing copyrights to .bat files 2016-05-13 10:50:29 -07:00
pre_build_csharp.sh Update copyrights 2016-03-31 07:46:18 -07:00
pre_build_node.bat Ensure node and npm are in the path when running tests 2016-03-03 17:22:53 -08:00
pre_build_node.sh Update copyrights 2016-03-31 07:46:18 -07:00
pre_build_ruby.sh run bundle install from repo root 2016-04-18 17:16:48 -07:00
prepare_travis.sh Various Jenkins-related tweaks. 2015-06-17 07:28:16 +02:00
report_utils.py Update copyrights 2016-03-31 07:46:18 -07:00
run_interop_tests.py Fix bug with override_server flag in run_interop_tests.py 2016-06-27 15:48:08 -07:00
run_lcov.sh run_lcov.sh fix 2015-12-14 17:19:13 -08:00
run_node.bat Ensure node and npm are in the path when running tests 2016-03-03 17:22:53 -08:00
run_node.sh Merge branch 'master' into node_coverage_report_fix 2016-04-01 14:16:19 -07:00
run_performance_tests.py Fixes 2016-06-23 16:18:31 -07:00
run_python.sh Initial Python3 support 2016-06-10 11:48:24 -07:00
run_ruby.sh Bundled C core with Ruby library 2015-12-18 11:18:34 -08:00
run_stress_tests.py update locations of dockerization scripts 2016-05-03 15:54:44 -07:00
run_tests.py Merge pull request #7114 from jtattermusch/mac_port_server_timeouts 2016-06-28 14:16:50 -07:00
sources_and_headers.json Merge pull request #6885 from yang-g/import 2016-06-28 11:29:39 -07:00
task_runner.py /usr/bin/env python -> /usr/bin/env python2.7 2016-02-02 22:17:44 +00:00
tests.json Annotate error.c for timing, remove broken test 2016-06-27 11:32:08 -07:00
watch_dirs.py Add copyrights to Python code 2015-02-16 12:00:01 -08:00

README.md

#Overview

This directory contains scripts that facilitate building and running tests. We are using python scripts as entrypoint for our tests because that gives us the opportunity to run tests using the same commandline regardless of the platform you are using.

#Unit tests (run_tests.py)

Builds gRPC in given language and runs unit tests. Use tools/run_tests/run_tests.py --help for more help.

######Example tools/run_tests/run_tests.py -l csharp -c dbg

######Useful options (among many others)

  • --use_docker Builds a docker container containing all the prerequisites for given language and runs the tests under that container.
  • --build_only Only build, do not run the tests.

#Interop tests (run_interop_tests.py)

Runs tests for cross-platform/cross-language interoperability. For more details, see Interop tests descriptions The script is also capable of running interop tests for grpc-java and grpc-go, using sources checked out alongside the ones of the grpc repository.

######Example tools/run_tests/run_interop_tests.py -l csharp -s c++ --use_docker (run interop tests with C# client and C++ server)

#Performance benchmarks (run_performance_tests.py)

Runs predefined benchmark scenarios for given languages. Besides the simple configuration of running all the scenarios locally, the script also supports orchestrating test runs with client and server running on different machines and uploading the results to BigQuery.

######Example tools/run_tests/run_peformance_tests.py -l c++ node

######Useful options

  • --regex use regex to select particular scenarios to run.

#Stress tests (run_stress_tests.py)

Runs modified interop tests clients and servers under heavy load for an extended period of time to discover potential stability issues. The tests are internally using Kubernetes to run the client and server on GKE and upload statistics to BigQuery.

tools/run_tests/stress_test/run_on_gke.py --gcp_project_id=<google-cloud-platform-project-id> --config_file=<path-to-config-file>

The directory tools/run_tests/stress_test/configs/ contains the config files for several scenarios

#Artifacts & Packages (task_runner.py)

A generalized framework for running predefined tasks based on their labels. We use this to building binary artifacts & distrib packages and testing them)

######Example tools/run_tests/task_runner.py -f python artifact linux x64 (build tasks with labels python, artifact, linux, and x64)