grpc/tools/run_tests
Jan Tattermusch 9ed5589d5c Merge pull request #6867 from ctiller/blazing-fuzz
Expand corpus, make one-shot runners not self-check leaks (to give ASAN a chance)
2016-06-13 08:23:36 -07:00
..
dockerize prepare to enable ubsan in continuous build 2016-05-12 16:43:17 -07:00
performance Changed Python Sync streaming qps to follow spec 2016-06-07 17:49:03 -07:00
sanity update third_party/protobuf to v3.0.0-beta3 2016-05-16 15:29:04 -07:00
stress_test Misc changes 2016-05-17 18:37:52 -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 Fix windows linkage in Python grpcio-tools 2016-05-07 13:01:14 -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_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 Make Node build_package script consistent with grpc-tools package.json file 2016-05-10 12:52:19 -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 Fixed build_package_ruby's use of variables 2016-04-29 12:55:28 -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 update locations of dockerization scripts 2016-05-03 15:54:44 -07:00
dockerjob.py Fix stdin on run_interop_tests 2015-11-19 13:09:52 -08:00
interop_html_report.template Added test cases for Cloud gateway. 2016-02-08 10:15:36 -08:00
jobset.py Small tweaks 2016-04-06 12:59:23 -07:00
package_targets.py update locations of dockerization scripts 2016-05-03 15:54:44 -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 Added python jwt_token_creds interop test 2016-06-07 19:06:05 -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 mark unconstrained scenarios with scalable category 2016-05-19 16:15:01 -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 #6503 from kpayson64/python_3_support 2016-06-11 09:56:50 -07:00
sources_and_headers.json Merge pull request #6481 from dgquintas/compression_md_level_bis 2016-06-08 19:17:20 -07:00
task_runner.py /usr/bin/env python -> /usr/bin/env python2.7 2016-02-02 22:17:44 +00:00
tests.json Merge pull request #6867 from ctiller/blazing-fuzz 2016-06-13 08:23:36 -07: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)