grpc/tools/run_tests
Jan Tattermusch 00ab5304b7 Merge pull request #6839 from dgquintas/simplify_compression_interop
Revamped interop spec, especially wrt compression
2016-06-21 20:28:15 -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
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 Change cleanup step in node package build to account for well known protos 2016-06-15 11:23:09 -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 compiler/plugin.proto copying to the wrong place 2016-06-15 11:21:58 -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 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
report_utils.py Update copyrights 2016-03-31 07:46:18 -07:00
run_interop_tests.py added freaking missing comma 2016-06-21 17:33:03 -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 #6352 from ctiller/error 2016-06-17 18:50:55 -07:00
sources_and_headers.json Merge pull request #6839 from dgquintas/simplify_compression_interop 2016-06-21 20:28:15 -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 #6969 from ctiller/stream_finish 2016-06-21 12:40:14 -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)