grpc/tools/run_tests
Mark D. Roth 4eec0041f5 Revert "Remove redundant includes from string.h and tmpfile.h" 2016-12-05 08:03:41 -08:00
..
dockerize allow pulling a docker image from dockerhub instead of building locally 2016-11-30 12:57:20 +01:00
interop ruby doesnt need login shell 2016-11-18 11:06:47 +01:00
performance enable running windows perf tests 2016-11-16 18:46:18 +01:00
sanity Renamed google_benchmark submodule to benchmark 2016-11-23 19:47:04 -08: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
artifact_targets.py Partially implement gRPC Python server reflection 2016-10-20 12:47:06 -07:00
build_artifact_csharp.bat add missing copyrights to .bat files 2016-05-13 10:50:29 -07:00
build_artifact_csharp.sh
build_artifact_node.bat npm cache clean is not a good idea in the artifact build 2016-10-27 11:32:21 -07:00
build_artifact_node.sh npm cache clean is not a good idea in the artifact build 2016-10-27 11:32:21 -07:00
build_artifact_php.sh php: use real artifact name in jenkins test 2016-09-21 16:50:43 -07:00
build_artifact_protoc.bat remove dead gmock link in protoc artifact build 2016-09-15 18:18:27 +02:00
build_artifact_protoc.sh
build_artifact_python.bat Add Python3.5 artifact targets 2016-08-15 10:57:47 -07:00
build_artifact_python.sh Partially implement gRPC Python server reflection 2016-10-20 12:47:06 -07:00
build_artifact_ruby.sh
build_csharp.sh Update copyrights 2016-03-31 07:46:18 -07:00
build_csharp_coreclr.bat update path to C# test build by dotnet cli 2016-09-15 18:18:24 +02:00
build_csharp_coreclr.sh build everything 2016-07-31 03:27:54 +08: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_node.sh Don't get dependencies for Node grpc-health-check package build 2016-08-11 17:01:45 -07:00
build_package_php.sh php: simplify installation 2016-02-23 22:26:44 -08:00
build_package_python.sh
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 Merge pull request #8367 from soltanmm-google/blurb 2016-10-28 13:30:16 -07:00
build_python_msys2.sh Make Python tests run on Windows 2016-07-08 12:36:15 -07:00
build_ruby.sh Update copyrights 2016-03-31 07:46:18 -07:00
build_stats_schema.json Tool for collecting build statistics. 2016-08-12 17:22:44 -07:00
build_stats_schema_no_matrix.json Fix build analysis dashboard 2016-11-11 10:20:36 -08:00
configs.json Timeout increase (again) 2016-10-17 09:11:49 -07:00
distribtest_targets.py dotnet CLI distribtest 2016-09-15 18:18:23 +02:00
dockerjob.py Make testing toolchain python 3.x compliant 2016-07-12 01:35:53 +02:00
filter_pull_request_tests.py Remove sanity test filtering 2016-11-07 15:08:09 -08:00
interop_html_report.template
jobset.py Add comment about testing with reviewable. 2016-12-02 10:53:26 -08:00
package_targets.py get rid of the obsolete C# package builder 2016-11-30 07:45:29 +01:00
port_server.py Make testing toolchain python 3.x compliant 2016-07-12 01:35:53 +02:00
post_tests_c.sh
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 fix windows distribtest and add TODOs to remove hacks 2016-09-15 18:18:28 +02:00
pre_build_csharp.sh fix windows distribtest and add TODOs to remove hacks 2016-09-15 18:18:28 +02:00
pre_build_node.bat Decrease Node module cache time to avoid errors with out-of-date modules 2016-10-26 15:41:30 -07:00
pre_build_node.sh Decrease Node module cache time to avoid errors with out-of-date modules 2016-10-26 15:41:30 -07:00
pre_build_ruby.sh run bundle install from repo root 2016-04-18 17:16:48 -07:00
prepare_travis.sh
report_utils.py Enable pull request test filtering 2016-10-31 14:26:22 -07:00
run_build_statistics.py Fix build analysis dashboard 2016-11-11 10:20:36 -08:00
run_interop_tests.py Merge branch 'master' of https://github.com/grpc/grpc into go_advanced_interop 2016-11-23 16:20:31 -08:00
run_lcov.sh
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 fix windows benchmarks and upload all 3 reports 2016-11-18 14:21:33 +01:00
run_python.sh Make running individual Python tests less painful 2016-07-01 10:18:45 -07:00
run_ruby.sh
run_stress_tests.py Make testing toolchain python 3.x compliant 2016-07-12 01:35:53 +02:00
run_tests.py Scale poll-cv test timeouts up 2016-12-02 13:52:21 -08:00
run_tests_in_workspace.sh save time when creating matrix workspaces on win and mac 2016-10-12 19:17:04 +02:00
run_tests_matrix.py Merge remote-tracking branch 'upstream/v1.0.x' into HEAD 2016-11-22 11:15:53 +01:00
sources_and_headers.json Revert "Remove redundant includes from string.h and tmpfile.h" 2016-12-05 08:03:41 -08:00
task_runner.py Make testing toolchain python 3.x compliant 2016-07-12 01:35:53 +02:00
tests.json Take into account all the configs 2016-11-29 09:12:48 -08:00
watch_dirs.py

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)