diff options
Diffstat (limited to 'tools/run_tests')
20 files changed, 387 insertions, 184 deletions
diff --git a/tools/run_tests/artifacts/build_artifact_csharp.sh b/tools/run_tests/artifacts/build_artifact_csharp.sh index 0884a9e5d6..d65340261d 100755 --- a/tools/run_tests/artifacts/build_artifact_csharp.sh +++ b/tools/run_tests/artifacts/build_artifact_csharp.sh @@ -15,7 +15,7 @@ set -ex -cd $(dirname $0)/../../.. +cd "$(dirname "$0")/../../.." make grpc_csharp_ext diff --git a/tools/run_tests/artifacts/build_artifact_php.sh b/tools/run_tests/artifacts/build_artifact_php.sh index bfba956f05..9372dc9b6b 100755 --- a/tools/run_tests/artifacts/build_artifact_php.sh +++ b/tools/run_tests/artifacts/build_artifact_php.sh @@ -13,10 +13,9 @@ # See the License for the specific language governing permissions and # limitations under the License. -PHP_TARGET_ARCH=$1 set -ex -cd $(dirname $0)/../../.. +cd "$(dirname "$0")/../../.." mkdir -p "${ARTIFACTS_OUT}" diff --git a/tools/run_tests/artifacts/build_artifact_protoc.sh b/tools/run_tests/artifacts/build_artifact_protoc.sh index 5c5ab7d78f..b531fc9a5d 100755 --- a/tools/run_tests/artifacts/build_artifact_protoc.sh +++ b/tools/run_tests/artifacts/build_artifact_protoc.sh @@ -18,7 +18,7 @@ source scl_source enable devtoolset-1.1 set -ex -cd $(dirname $0)/../../.. +cd "$(dirname "$0")/../../.." make plugins diff --git a/tools/run_tests/artifacts/build_artifact_python.sh b/tools/run_tests/artifacts/build_artifact_python.sh index ab5bce04f9..10d8211e23 100755 --- a/tools/run_tests/artifacts/build_artifact_python.sh +++ b/tools/run_tests/artifacts/build_artifact_python.sh @@ -15,7 +15,7 @@ set -ex -cd $(dirname $0)/../../.. +cd "$(dirname "$0")/../../.." export GRPC_PYTHON_USE_CUSTOM_BDIST=0 export GRPC_PYTHON_BUILD_WITH_CYTHON=1 @@ -29,30 +29,30 @@ ARTIFACT_DIR="$PWD/${ARTIFACTS_OUT}" # Build the source distribution first because MANIFEST.in cannot override # exclusion of built shared objects among package resources (for some # inexplicable reason). -${SETARCH_CMD} ${PYTHON} setup.py sdist +${SETARCH_CMD} "${PYTHON}" setup.py sdist # Wheel has a bug where directories don't get excluded. # https://bitbucket.org/pypa/wheel/issues/99/cannot-exclude-directory -${SETARCH_CMD} ${PYTHON} setup.py bdist_wheel +${SETARCH_CMD} "${PYTHON}" setup.py bdist_wheel # Build gRPC tools package distribution -${PYTHON} tools/distrib/python/make_grpcio_tools.py +"${PYTHON}" tools/distrib/python/make_grpcio_tools.py # Build gRPC tools package source distribution -${SETARCH_CMD} ${PYTHON} tools/distrib/python/grpcio_tools/setup.py sdist +${SETARCH_CMD} "${PYTHON}" tools/distrib/python/grpcio_tools/setup.py sdist # Build gRPC tools package binary distribution -${SETARCH_CMD} ${PYTHON} tools/distrib/python/grpcio_tools/setup.py bdist_wheel +${SETARCH_CMD} "${PYTHON}" tools/distrib/python/grpcio_tools/setup.py bdist_wheel if [ "$GRPC_BUILD_MANYLINUX_WHEEL" != "" ] then for wheel in dist/*.whl; do - ${AUDITWHEEL} repair $wheel -w "$ARTIFACT_DIR" - rm $wheel + "${AUDITWHEEL}" repair "$wheel" -w "$ARTIFACT_DIR" + rm "$wheel" done for wheel in tools/distrib/python/grpcio_tools/dist/*.whl; do - ${AUDITWHEEL} repair $wheel -w "$ARTIFACT_DIR" - rm $wheel + "${AUDITWHEEL}" repair "$wheel" -w "$ARTIFACT_DIR" + rm "$wheel" done fi @@ -62,17 +62,17 @@ fi # are in a docker image or in a virtualenv. if [ "$GRPC_BUILD_GRPCIO_TOOLS_DEPENDENTS" != "" ] then - ${PIP} install -rrequirements.txt - ${PIP} install grpcio --no-index --find-links "file://$ARTIFACT_DIR/" - ${PIP} install grpcio-tools --no-index --find-links "file://$ARTIFACT_DIR/" + "${PIP}" install -rrequirements.txt + "${PIP}" install grpcio --no-index --find-links "file://$ARTIFACT_DIR/" + "${PIP}" install grpcio-tools --no-index --find-links "file://$ARTIFACT_DIR/" # Build gRPC health-checking source distribution - ${SETARCH_CMD} ${PYTHON} src/python/grpcio_health_checking/setup.py \ + ${SETARCH_CMD} "${PYTHON}" src/python/grpcio_health_checking/setup.py \ preprocess build_package_protos sdist cp -r src/python/grpcio_health_checking/dist/* "$ARTIFACT_DIR" # Build gRPC reflection source distribution - ${SETARCH_CMD} ${PYTHON} src/python/grpcio_reflection/setup.py \ + ${SETARCH_CMD} "${PYTHON}" src/python/grpcio_reflection/setup.py \ preprocess build_package_protos sdist cp -r src/python/grpcio_reflection/dist/* "$ARTIFACT_DIR" fi diff --git a/tools/run_tests/artifacts/build_artifact_ruby.sh b/tools/run_tests/artifacts/build_artifact_ruby.sh index 9165a22484..5ab4cf21b4 100755 --- a/tools/run_tests/artifacts/build_artifact_ruby.sh +++ b/tools/run_tests/artifacts/build_artifact_ruby.sh @@ -14,9 +14,9 @@ # limitations under the License. set -ex -SYSTEM=`uname | cut -f 1 -d_` +SYSTEM=$(uname | cut -f 1 -d_) -cd $(dirname $0)/../../.. +cd "$(dirname "$0")/../../.." set +ex [[ -s /etc/profile.d/rvm.sh ]] && . /etc/profile.d/rvm.sh [[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" @@ -46,7 +46,9 @@ export DOCKERHUB_ORGANIZATION=grpctesting rake gem:native if [ "$SYSTEM" == "Darwin" ] ; then - rm `ls pkg/*.gem | grep -v darwin` + # TODO: consider rewriting this to pass shellcheck + # shellcheck disable=SC2046,SC2010 + rm $(ls pkg/*.gem | grep -v darwin) fi mkdir -p "${ARTIFACTS_OUT}" diff --git a/tools/run_tests/artifacts/build_package_php.sh b/tools/run_tests/artifacts/build_package_php.sh index d2d1e8d459..85e4dda40a 100755 --- a/tools/run_tests/artifacts/build_package_php.sh +++ b/tools/run_tests/artifacts/build_package_php.sh @@ -15,7 +15,7 @@ set -ex -cd $(dirname $0)/../../.. +cd "$(dirname "$0")/../../.." mkdir -p artifacts/ -cp -r $EXTERNAL_GIT_ROOT/platform={windows,linux,macos}/artifacts/php_*/* artifacts/ || true +cp -r "$EXTERNAL_GIT_ROOT"/platform={windows,linux,macos}/artifacts/php_*/* artifacts/ || true diff --git a/tools/run_tests/artifacts/build_package_python.sh b/tools/run_tests/artifacts/build_package_python.sh index 1d9d04e3c0..d596e35000 100755 --- a/tools/run_tests/artifacts/build_package_python.sh +++ b/tools/run_tests/artifacts/build_package_python.sh @@ -15,13 +15,13 @@ set -ex -cd $(dirname $0)/../../.. +cd "$(dirname "$0")/../../.." mkdir -p artifacts/ # All the python packages have been built in the artifact phase already # and we only collect them here to deliver them to the distribtest phase. -cp -r $EXTERNAL_GIT_ROOT/platform={windows,linux,macos}/artifacts/python_*/* artifacts/ || true +cp -r "$EXTERNAL_GIT_ROOT"/platform={windows,linux,macos}/artifacts/python_*/* artifacts/ || true # TODO: all the artifact builder configurations generate a grpcio-VERSION.tar.gz # source distribution package, and only one of them will end up diff --git a/tools/run_tests/artifacts/build_package_ruby.sh b/tools/run_tests/artifacts/build_package_ruby.sh index b7e0965ffe..0283c43843 100755 --- a/tools/run_tests/artifacts/build_package_ruby.sh +++ b/tools/run_tests/artifacts/build_package_ruby.sh @@ -15,7 +15,7 @@ set -ex -cd $(dirname $0)/../../.. +cd "$(dirname "$0")/../../.." base=$(pwd) @@ -23,7 +23,7 @@ mkdir -p artifacts/ # All the ruby packages have been built in the artifact phase already # and we only collect them here to deliver them to the distribtest phase. -cp -r $EXTERNAL_GIT_ROOT/platform={windows,linux,macos}/artifacts/ruby_native_gem_*/* artifacts/ || true +cp -r "$EXTERNAL_GIT_ROOT"/platform={windows,linux,macos}/artifacts/ruby_native_gem_*/* artifacts/ || true well_known_protos=( any api compiler/plugin descriptor duration empty field_mask source_context struct timestamp type wrappers ) @@ -43,16 +43,16 @@ for arch in {x86,x64}; do for plat in {windows,linux,macos}; do input_dir="$EXTERNAL_GIT_ROOT/platform=${plat}/artifacts/protoc_${plat}_${arch}" output_dir="$base/src/ruby/tools/bin/${ruby_arch}-${plat}" - mkdir -p $output_dir/google/protobuf - mkdir -p $output_dir/google/protobuf/compiler # needed for plugin.proto - cp $input_dir/protoc* $output_dir/ - cp $input_dir/grpc_ruby_plugin* $output_dir/ + mkdir -p "$output_dir"/google/protobuf + mkdir -p "$output_dir"/google/protobuf/compiler # needed for plugin.proto + cp "$input_dir"/protoc* "$output_dir"/ + cp "$input_dir"/grpc_ruby_plugin* "$output_dir"/ for proto in "${well_known_protos[@]}"; do - cp $base/third_party/protobuf/src/google/protobuf/$proto.proto $output_dir/google/protobuf/$proto.proto + cp "$base/third_party/protobuf/src/google/protobuf/$proto.proto" "$output_dir/google/protobuf/$proto.proto" done done done -cd $base/src/ruby/tools +cd "$base/src/ruby/tools" gem build grpc-tools.gemspec -cp ./grpc-tools*.gem $base/artifacts/ +cp ./grpc-tools*.gem "$base/artifacts/" diff --git a/tools/run_tests/artifacts/distribtest_targets.py b/tools/run_tests/artifacts/distribtest_targets.py index b2cc16acd4..fdf094cd01 100644 --- a/tools/run_tests/artifacts/distribtest_targets.py +++ b/tools/run_tests/artifacts/distribtest_targets.py @@ -174,11 +174,13 @@ class PythonDistribTest(object): class RubyDistribTest(object): """Tests Ruby package""" - def __init__(self, platform, arch, docker_suffix): - self.name = 'ruby_%s_%s_%s' % (platform, arch, docker_suffix) + def __init__(self, platform, arch, docker_suffix, ruby_version=None): + self.name = 'ruby_%s_%s_%s_version_%s' % (platform, arch, docker_suffix, + ruby_version or 'unspecified') self.platform = platform self.arch = arch self.docker_suffix = docker_suffix + self.ruby_version = ruby_version self.labels = ['distribtest', 'ruby', platform, arch, docker_suffix] def pre_build_jobspecs(self): @@ -192,10 +194,13 @@ class RubyDistribTest(object): if not self.platform == 'linux': raise Exception("Not supported yet.") + dockerfile_name = 'tools/dockerfile/distribtest/ruby_%s_%s' % ( + self.docker_suffix, self.arch) + if self.ruby_version is not None: + dockerfile_name += '_%s' % self.ruby_version return create_docker_jobspec( self.name, - 'tools/dockerfile/distribtest/ruby_%s_%s' % (self.docker_suffix, - self.arch), + dockerfile_name, 'test/distrib/ruby/run_distrib_test.sh %s %s' % (arch_to_gem_arch[self.arch], self.platform), copy_rel_path='test/distrib') @@ -314,6 +319,7 @@ def targets(): RubyDistribTest('linux', 'x64', 'wheezy'), RubyDistribTest('linux', 'x64', 'jessie'), RubyDistribTest('linux', 'x86', 'jessie'), + RubyDistribTest('linux', 'x64', 'jessie', ruby_version='ruby_2_0_0'), RubyDistribTest('linux', 'x64', 'centos6'), RubyDistribTest('linux', 'x64', 'centos7'), RubyDistribTest('linux', 'x64', 'fedora20'), diff --git a/tools/run_tests/artifacts/run_in_workspace.sh b/tools/run_tests/artifacts/run_in_workspace.sh index 5b8af6ab53..20181e077c 100755 --- a/tools/run_tests/artifacts/run_in_workspace.sh +++ b/tools/run_tests/artifacts/run_in_workspace.sh @@ -18,15 +18,19 @@ # All cmdline args will be executed as a command. set -ex -cd $(dirname $0)/../../.. +cd "$(dirname "$0")/../../.." export repo_root=$(pwd) +# TODO: fix file to pass shellcheck + rm -rf "${WORKSPACE_NAME}" git clone . "${WORKSPACE_NAME}" # clone gRPC submodules, use data from locally cloned submodules where possible +# shellcheck disable=SC1004,SC2016 git submodule foreach 'cd "${repo_root}/${WORKSPACE_NAME}" \ && git submodule update --init --reference ${repo_root}/${name} ${name}' echo "Running in workspace ${WORKSPACE_NAME}" -cd ${WORKSPACE_NAME} +cd "${WORKSPACE_NAME}" +# shellcheck disable=SC2068 $@ diff --git a/tools/run_tests/generated/configs.json b/tools/run_tests/generated/configs.json index fee8290efe..a14340cb7b 100644 --- a/tools/run_tests/generated/configs.json +++ b/tools/run_tests/generated/configs.json @@ -42,7 +42,7 @@ } }, { - "config": "c++-compat" + "config": "noexcept" }, { "config": "ubsan", @@ -74,6 +74,9 @@ "config": "lto" }, { + "config": "c++-compat" + }, + { "config": "mutrace" }, { diff --git a/tools/run_tests/generated/sources_and_headers.json b/tools/run_tests/generated/sources_and_headers.json index 0f14b10a18..a771946a7e 100644 --- a/tools/run_tests/generated/sources_and_headers.json +++ b/tools/run_tests/generated/sources_and_headers.json @@ -45,7 +45,7 @@ "language": "c", "name": "alloc_test", "src": [ - "test/core/support/alloc_test.cc" + "test/core/gpr/alloc_test.cc" ], "third_party": false, "type": "target" @@ -94,7 +94,7 @@ "language": "c", "name": "arena_test", "src": [ - "test/core/support/arena_test.cc" + "test/core/gpr/arena_test.cc" ], "third_party": false, "type": "target" @@ -597,7 +597,7 @@ "language": "c", "name": "gpr_avl_test", "src": [ - "test/core/support/avl_test.cc" + "test/core/gpr/avl_test.cc" ], "third_party": false, "type": "target" @@ -612,7 +612,7 @@ "language": "c", "name": "gpr_cmdline_test", "src": [ - "test/core/support/cmdline_test.cc" + "test/core/gpr/cmdline_test.cc" ], "third_party": false, "type": "target" @@ -627,7 +627,7 @@ "language": "c", "name": "gpr_cpu_test", "src": [ - "test/core/support/cpu_test.cc" + "test/core/gpr/cpu_test.cc" ], "third_party": false, "type": "target" @@ -642,7 +642,7 @@ "language": "c", "name": "gpr_env_test", "src": [ - "test/core/support/env_test.cc" + "test/core/gpr/env_test.cc" ], "third_party": false, "type": "target" @@ -657,7 +657,7 @@ "language": "c", "name": "gpr_host_port_test", "src": [ - "test/core/support/host_port_test.cc" + "test/core/gpr/host_port_test.cc" ], "third_party": false, "type": "target" @@ -672,7 +672,7 @@ "language": "c", "name": "gpr_log_test", "src": [ - "test/core/support/log_test.cc" + "test/core/gpr/log_test.cc" ], "third_party": false, "type": "target" @@ -687,7 +687,7 @@ "language": "c", "name": "gpr_manual_constructor_test", "src": [ - "test/core/support/manual_constructor_test.cc" + "test/core/gprpp/manual_constructor_test.cc" ], "third_party": false, "type": "target" @@ -702,7 +702,7 @@ "language": "c", "name": "gpr_mpscq_test", "src": [ - "test/core/support/mpscq_test.cc" + "test/core/gpr/mpscq_test.cc" ], "third_party": false, "type": "target" @@ -717,7 +717,7 @@ "language": "c", "name": "gpr_spinlock_test", "src": [ - "test/core/support/spinlock_test.cc" + "test/core/gpr/spinlock_test.cc" ], "third_party": false, "type": "target" @@ -732,7 +732,7 @@ "language": "c", "name": "gpr_string_test", "src": [ - "test/core/support/string_test.cc" + "test/core/gpr/string_test.cc" ], "third_party": false, "type": "target" @@ -747,7 +747,7 @@ "language": "c", "name": "gpr_sync_test", "src": [ - "test/core/support/sync_test.cc" + "test/core/gpr/sync_test.cc" ], "third_party": false, "type": "target" @@ -762,7 +762,7 @@ "language": "c", "name": "gpr_thd_test", "src": [ - "test/core/support/thd_test.cc" + "test/core/gpr/thd_test.cc" ], "third_party": false, "type": "target" @@ -777,7 +777,7 @@ "language": "c", "name": "gpr_time_test", "src": [ - "test/core/support/time_test.cc" + "test/core/gpr/time_test.cc" ], "third_party": false, "type": "target" @@ -792,7 +792,7 @@ "language": "c", "name": "gpr_tls_test", "src": [ - "test/core/support/tls_test.cc" + "test/core/gpr/tls_test.cc" ], "third_party": false, "type": "target" @@ -807,7 +807,7 @@ "language": "c", "name": "gpr_useful_test", "src": [ - "test/core/support/useful_test.cc" + "test/core/gpr/useful_test.cc" ], "third_party": false, "type": "target" @@ -1636,7 +1636,7 @@ "language": "c", "name": "murmur_hash_test", "src": [ - "test/core/support/murmur_hash_test.cc" + "test/core/gpr/murmur_hash_test.cc" ], "third_party": false, "type": "target" @@ -3172,6 +3172,25 @@ "headers": [], "is_filegroup": false, "language": "c++", + "name": "exception_test", + "src": [ + "test/cpp/end2end/exception_test.cc" + ], + "third_party": false, + "type": "target" + }, + { + "deps": [ + "gpr", + "gpr_test_util", + "grpc", + "grpc++", + "grpc++_test_util", + "grpc_test_util" + ], + "headers": [], + "is_filegroup": false, + "language": "c++", "name": "filter_end2end_test", "src": [ "test/cpp/end2end/filter_end2end_test.cc" @@ -3515,6 +3534,25 @@ "gpr_test_util", "grpc", "grpc++", + "grpc++_test", + "grpc_test_util" + ], + "headers": [], + "is_filegroup": false, + "language": "c++", + "name": "inlined_vector_test", + "src": [ + "test/core/gprpp/inlined_vector_test.cc" + ], + "third_party": false, + "type": "target" + }, + { + "deps": [ + "gpr", + "gpr_test_util", + "grpc", + "grpc++", "grpc++_core_stats", "grpc++_test_config", "grpc++_test_util", @@ -3624,7 +3662,7 @@ "language": "c++", "name": "memory_test", "src": [ - "test/core/support/memory_test.cc" + "test/core/gprpp/memory_test.cc" ], "third_party": false, "type": "target" @@ -3694,6 +3732,25 @@ "gpr_test_util", "grpc", "grpc++", + "grpc++_test", + "grpc_test_util" + ], + "headers": [], + "is_filegroup": false, + "language": "c++", + "name": "orphanable_test", + "src": [ + "test/core/gprpp/orphanable_test.cc" + ], + "third_party": false, + "type": "target" + }, + { + "deps": [ + "gpr", + "gpr_test_util", + "grpc", + "grpc++", "grpc++_proto_reflection_desc_db", "grpc++_reflection", "grpc++_test_util", @@ -3894,7 +3951,7 @@ "language": "c++", "name": "ref_counted_ptr_test", "src": [ - "test/core/support/ref_counted_ptr_test.cc" + "test/core/gprpp/ref_counted_ptr_test.cc" ], "third_party": false, "type": "target" @@ -3913,7 +3970,7 @@ "language": "c++", "name": "ref_counted_test", "src": [ - "test/core/support/ref_counted_test.cc" + "test/core/gprpp/ref_counted_test.cc" ], "third_party": false, "type": "target" @@ -4065,6 +4122,25 @@ "deps": [ "gpr", "gpr_test_util", + "grpc", + "grpc++", + "grpc++_test_util", + "grpc_test_util" + ], + "headers": [], + "is_filegroup": false, + "language": "c++", + "name": "server_early_return_test", + "src": [ + "test/cpp/end2end/server_early_return_test.cc" + ], + "third_party": false, + "type": "target" + }, + { + "deps": [ + "gpr", + "gpr_test_util", "grpc++_test_util_unsecure", "grpc++_unsecure", "grpc_test_util_unsecure", @@ -7788,50 +7864,50 @@ "language": "c", "name": "gpr_base", "src": [ + "src/core/lib/gpr/alloc.cc", + "src/core/lib/gpr/arena.cc", + "src/core/lib/gpr/atm.cc", + "src/core/lib/gpr/avl.cc", + "src/core/lib/gpr/cmdline.cc", + "src/core/lib/gpr/cpu_iphone.cc", + "src/core/lib/gpr/cpu_linux.cc", + "src/core/lib/gpr/cpu_posix.cc", + "src/core/lib/gpr/cpu_windows.cc", + "src/core/lib/gpr/env_linux.cc", + "src/core/lib/gpr/env_posix.cc", + "src/core/lib/gpr/env_windows.cc", + "src/core/lib/gpr/fork.cc", + "src/core/lib/gpr/host_port.cc", + "src/core/lib/gpr/log.cc", + "src/core/lib/gpr/log_android.cc", + "src/core/lib/gpr/log_linux.cc", + "src/core/lib/gpr/log_posix.cc", + "src/core/lib/gpr/log_windows.cc", + "src/core/lib/gpr/mpscq.cc", + "src/core/lib/gpr/murmur_hash.cc", + "src/core/lib/gpr/string.cc", + "src/core/lib/gpr/string_posix.cc", + "src/core/lib/gpr/string_util_windows.cc", + "src/core/lib/gpr/string_windows.cc", + "src/core/lib/gpr/subprocess_posix.cc", + "src/core/lib/gpr/subprocess_windows.cc", + "src/core/lib/gpr/sync.cc", + "src/core/lib/gpr/sync_posix.cc", + "src/core/lib/gpr/sync_windows.cc", + "src/core/lib/gpr/thd.cc", + "src/core/lib/gpr/thd_posix.cc", + "src/core/lib/gpr/thd_windows.cc", + "src/core/lib/gpr/time.cc", + "src/core/lib/gpr/time_posix.cc", + "src/core/lib/gpr/time_precise.cc", + "src/core/lib/gpr/time_windows.cc", + "src/core/lib/gpr/tls_pthread.cc", + "src/core/lib/gpr/tmpfile_msys.cc", + "src/core/lib/gpr/tmpfile_posix.cc", + "src/core/lib/gpr/tmpfile_windows.cc", + "src/core/lib/gpr/wrap_memcpy.cc", "src/core/lib/profiling/basic_timers.cc", - "src/core/lib/profiling/stap_timers.cc", - "src/core/lib/support/alloc.cc", - "src/core/lib/support/arena.cc", - "src/core/lib/support/atm.cc", - "src/core/lib/support/avl.cc", - "src/core/lib/support/cmdline.cc", - "src/core/lib/support/cpu_iphone.cc", - "src/core/lib/support/cpu_linux.cc", - "src/core/lib/support/cpu_posix.cc", - "src/core/lib/support/cpu_windows.cc", - "src/core/lib/support/env_linux.cc", - "src/core/lib/support/env_posix.cc", - "src/core/lib/support/env_windows.cc", - "src/core/lib/support/fork.cc", - "src/core/lib/support/host_port.cc", - "src/core/lib/support/log.cc", - "src/core/lib/support/log_android.cc", - "src/core/lib/support/log_linux.cc", - "src/core/lib/support/log_posix.cc", - "src/core/lib/support/log_windows.cc", - "src/core/lib/support/mpscq.cc", - "src/core/lib/support/murmur_hash.cc", - "src/core/lib/support/string.cc", - "src/core/lib/support/string_posix.cc", - "src/core/lib/support/string_util_windows.cc", - "src/core/lib/support/string_windows.cc", - "src/core/lib/support/subprocess_posix.cc", - "src/core/lib/support/subprocess_windows.cc", - "src/core/lib/support/sync.cc", - "src/core/lib/support/sync_posix.cc", - "src/core/lib/support/sync_windows.cc", - "src/core/lib/support/thd.cc", - "src/core/lib/support/thd_posix.cc", - "src/core/lib/support/thd_windows.cc", - "src/core/lib/support/time.cc", - "src/core/lib/support/time_posix.cc", - "src/core/lib/support/time_precise.cc", - "src/core/lib/support/time_windows.cc", - "src/core/lib/support/tls_pthread.cc", - "src/core/lib/support/tmpfile_msys.cc", - "src/core/lib/support/tmpfile_posix.cc", - "src/core/lib/support/tmpfile_windows.cc", - "src/core/lib/support/wrap_memcpy.cc" + "src/core/lib/profiling/stap_timers.cc" ], "third_party": false, "type": "filegroup" @@ -7867,24 +7943,24 @@ "include/grpc/support/tls_msvc.h", "include/grpc/support/tls_pthread.h", "include/grpc/support/useful.h", - "src/core/lib/profiling/timers.h", - "src/core/lib/support/abstract.h", - "src/core/lib/support/arena.h", - "src/core/lib/support/atomic.h", - "src/core/lib/support/atomic_with_atm.h", - "src/core/lib/support/atomic_with_std.h", - "src/core/lib/support/env.h", - "src/core/lib/support/fork.h", - "src/core/lib/support/manual_constructor.h", - "src/core/lib/support/memory.h", - "src/core/lib/support/mpscq.h", - "src/core/lib/support/murmur_hash.h", - "src/core/lib/support/spinlock.h", - "src/core/lib/support/string.h", - "src/core/lib/support/string_windows.h", - "src/core/lib/support/thd_internal.h", - "src/core/lib/support/time_precise.h", - "src/core/lib/support/tmpfile.h" + "src/core/lib/gpr/arena.h", + "src/core/lib/gpr/env.h", + "src/core/lib/gpr/fork.h", + "src/core/lib/gpr/mpscq.h", + "src/core/lib/gpr/murmur_hash.h", + "src/core/lib/gpr/spinlock.h", + "src/core/lib/gpr/string.h", + "src/core/lib/gpr/string_windows.h", + "src/core/lib/gpr/thd_internal.h", + "src/core/lib/gpr/time_precise.h", + "src/core/lib/gpr/tmpfile.h", + "src/core/lib/gprpp/abstract.h", + "src/core/lib/gprpp/atomic.h", + "src/core/lib/gprpp/atomic_with_atm.h", + "src/core/lib/gprpp/atomic_with_std.h", + "src/core/lib/gprpp/manual_constructor.h", + "src/core/lib/gprpp/memory.h", + "src/core/lib/profiling/timers.h" ], "is_filegroup": true, "language": "c", @@ -7916,24 +7992,24 @@ "include/grpc/support/tls_msvc.h", "include/grpc/support/tls_pthread.h", "include/grpc/support/useful.h", - "src/core/lib/profiling/timers.h", - "src/core/lib/support/abstract.h", - "src/core/lib/support/arena.h", - "src/core/lib/support/atomic.h", - "src/core/lib/support/atomic_with_atm.h", - "src/core/lib/support/atomic_with_std.h", - "src/core/lib/support/env.h", - "src/core/lib/support/fork.h", - "src/core/lib/support/manual_constructor.h", - "src/core/lib/support/memory.h", - "src/core/lib/support/mpscq.h", - "src/core/lib/support/murmur_hash.h", - "src/core/lib/support/spinlock.h", - "src/core/lib/support/string.h", - "src/core/lib/support/string_windows.h", - "src/core/lib/support/thd_internal.h", - "src/core/lib/support/time_precise.h", - "src/core/lib/support/tmpfile.h" + "src/core/lib/gpr/arena.h", + "src/core/lib/gpr/env.h", + "src/core/lib/gpr/fork.h", + "src/core/lib/gpr/mpscq.h", + "src/core/lib/gpr/murmur_hash.h", + "src/core/lib/gpr/spinlock.h", + "src/core/lib/gpr/string.h", + "src/core/lib/gpr/string_windows.h", + "src/core/lib/gpr/thd_internal.h", + "src/core/lib/gpr/time_precise.h", + "src/core/lib/gpr/tmpfile.h", + "src/core/lib/gprpp/abstract.h", + "src/core/lib/gprpp/atomic.h", + "src/core/lib/gprpp/atomic_with_atm.h", + "src/core/lib/gprpp/atomic_with_std.h", + "src/core/lib/gprpp/manual_constructor.h", + "src/core/lib/gprpp/memory.h", + "src/core/lib/profiling/timers.h" ], "third_party": false, "type": "filegroup" @@ -8190,6 +8266,11 @@ "src/core/lib/compression/stream_compression_identity.h", "src/core/lib/debug/stats.h", "src/core/lib/debug/stats_data.h", + "src/core/lib/gprpp/debug_location.h", + "src/core/lib/gprpp/inlined_vector.h", + "src/core/lib/gprpp/orphanable.h", + "src/core/lib/gprpp/ref_counted.h", + "src/core/lib/gprpp/ref_counted_ptr.h", "src/core/lib/http/format_request.h", "src/core/lib/http/httpcli.h", "src/core/lib/http/parser.h", @@ -8265,9 +8346,6 @@ "src/core/lib/slice/slice_hash_table.h", "src/core/lib/slice/slice_internal.h", "src/core/lib/slice/slice_string_helpers.h", - "src/core/lib/support/debug_location.h", - "src/core/lib/support/ref_counted.h", - "src/core/lib/support/ref_counted_ptr.h", "src/core/lib/surface/alarm_internal.h", "src/core/lib/surface/api_trace.h", "src/core/lib/surface/call.h", @@ -8329,6 +8407,11 @@ "src/core/lib/compression/stream_compression_identity.h", "src/core/lib/debug/stats.h", "src/core/lib/debug/stats_data.h", + "src/core/lib/gprpp/debug_location.h", + "src/core/lib/gprpp/inlined_vector.h", + "src/core/lib/gprpp/orphanable.h", + "src/core/lib/gprpp/ref_counted.h", + "src/core/lib/gprpp/ref_counted_ptr.h", "src/core/lib/http/format_request.h", "src/core/lib/http/httpcli.h", "src/core/lib/http/parser.h", @@ -8404,9 +8487,6 @@ "src/core/lib/slice/slice_hash_table.h", "src/core/lib/slice/slice_internal.h", "src/core/lib/slice/slice_string_helpers.h", - "src/core/lib/support/debug_location.h", - "src/core/lib/support/ref_counted.h", - "src/core/lib/support/ref_counted_ptr.h", "src/core/lib/surface/alarm_internal.h", "src/core/lib/surface/api_trace.h", "src/core/lib/surface/call.h", @@ -8523,7 +8603,6 @@ "include/grpc/impl/codegen/byte_buffer_reader.h", "include/grpc/impl/codegen/compression_types.h", "include/grpc/impl/codegen/connectivity_state.h", - "include/grpc/impl/codegen/exec_ctx_fwd.h", "include/grpc/impl/codegen/grpc_types.h", "include/grpc/impl/codegen/propagation_bits.h", "include/grpc/impl/codegen/slice.h", @@ -8537,7 +8616,6 @@ "include/grpc/impl/codegen/byte_buffer_reader.h", "include/grpc/impl/codegen/compression_types.h", "include/grpc/impl/codegen/connectivity_state.h", - "include/grpc/impl/codegen/exec_ctx_fwd.h", "include/grpc/impl/codegen/grpc_types.h", "include/grpc/impl/codegen/propagation_bits.h", "include/grpc/impl/codegen/slice.h", diff --git a/tools/run_tests/generated/tests.json b/tools/run_tests/generated/tests.json index 92b71da757..dc8808e791 100644 --- a/tools/run_tests/generated/tests.json +++ b/tools/run_tests/generated/tests.json @@ -3710,6 +3710,30 @@ "flaky": false, "gtest": true, "language": "c++", + "name": "exception_test", + "platforms": [ + "linux", + "mac", + "posix", + "windows" + ], + "uses_polling": true + }, + { + "args": [], + "benchmark": false, + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], + "cpu_cost": 1.0, + "exclude_configs": [], + "exclude_iomgrs": [], + "flaky": false, + "gtest": true, + "language": "c++", "name": "filter_end2end_test", "platforms": [ "linux", @@ -3943,6 +3967,30 @@ "ci_platforms": [ "linux", "mac", + "posix", + "windows" + ], + "cpu_cost": 1.0, + "exclude_configs": [], + "exclude_iomgrs": [], + "flaky": false, + "gtest": true, + "language": "c++", + "name": "inlined_vector_test", + "platforms": [ + "linux", + "mac", + "posix", + "windows" + ], + "uses_polling": true + }, + { + "args": [], + "benchmark": false, + "ci_platforms": [ + "linux", + "mac", "posix" ], "cpu_cost": 1.0, @@ -4068,6 +4116,30 @@ "flaky": false, "gtest": true, "language": "c++", + "name": "orphanable_test", + "platforms": [ + "linux", + "mac", + "posix", + "windows" + ], + "uses_polling": true + }, + { + "args": [], + "benchmark": false, + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], + "cpu_cost": 1.0, + "exclude_configs": [], + "exclude_iomgrs": [], + "flaky": false, + "gtest": true, + "language": "c++", "name": "proto_server_reflection_test", "platforms": [ "linux", @@ -4326,6 +4398,30 @@ "flaky": false, "gtest": true, "language": "c++", + "name": "server_early_return_test", + "platforms": [ + "linux", + "mac", + "posix", + "windows" + ], + "uses_polling": true + }, + { + "args": [], + "benchmark": false, + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], + "cpu_cost": 1.0, + "exclude_configs": [], + "exclude_iomgrs": [], + "flaky": false, + "gtest": true, + "language": "c++", "name": "server_request_call_test", "platforms": [ "linux", @@ -105397,6 +105493,29 @@ }, { "args": [ + "test/core/end2end/fuzzers/api_fuzzer_corpus/fuzz-input-d2ab5" + ], + "ci_platforms": [ + "linux" + ], + "cpu_cost": 0.1, + "exclude_configs": [ + "tsan" + ], + "exclude_iomgrs": [ + "uv" + ], + "flaky": false, + "language": "c", + "name": "api_fuzzer_one_entry", + "platforms": [ + "mac", + "linux" + ], + "uses_polling": false + }, + { + "args": [ "test/core/end2end/fuzzers/api_fuzzer_corpus/poc-c726ee220e980ed6ad17809fd9efe2844ee61555ac08e4f88afd8901cc2dd53a" ], "ci_platforms": [ diff --git a/tools/run_tests/run_tests.py b/tools/run_tests/run_tests.py index c8e917f117..6b27d6f875 100755 --- a/tools/run_tests/run_tests.py +++ b/tools/run_tests/run_tests.py @@ -1127,6 +1127,7 @@ class Sanity(object): environ = {'TEST': 'true'} if _is_use_docker_child(): environ['CLANG_FORMAT_SKIP_DOCKER'] = 'true' + environ['CLANG_TIDY_SKIP_DOCKER'] = 'true' return [ self.config.job_spec( cmd['script'].split(), diff --git a/tools/run_tests/run_tests_matrix.py b/tools/run_tests/run_tests_matrix.py index ac90bef5ac..ae3a28bde5 100755 --- a/tools/run_tests/run_tests_matrix.py +++ b/tools/run_tests/run_tests_matrix.py @@ -44,14 +44,19 @@ _DEFAULT_INNER_JOBS = 2 _REPORT_SUFFIX = 'sponge_log.xml' +def _safe_report_name(name): + """Reports with '+' in target name won't show correctly in ResultStore""" + return name.replace('+', 'p') + + def _report_filename(name): """Generates report file name""" - return 'report_%s_%s' % (name, _REPORT_SUFFIX) + return 'report_%s_%s' % (_safe_report_name(name), _REPORT_SUFFIX) def _report_filename_internal_ci(name): """Generates report file name that leads to better presentation by internal CI""" - return '%s/%s' % (name, _REPORT_SUFFIX) + return '%s/%s' % (_safe_report_name(name), _REPORT_SUFFIX) def _docker_jobspec(name, @@ -68,7 +73,7 @@ def _docker_jobspec(name, '-j', str(inner_jobs), '-x', _report_filename(name), '--report_suite_name', - '%s' % name + '%s' % _safe_report_name(name) ] + runtests_args, environ=runtests_envs, shortname='run_tests_%s' % name, @@ -95,7 +100,7 @@ def _workspace_jobspec(name, '-t', '-j', str(inner_jobs), '-x', '../%s' % _report_filename(name), '--report_suite_name', - '%s' % name + '%s' % _safe_report_name(name) ] + runtests_args, environ=env, shortname='run_tests_%s' % name, @@ -313,6 +318,15 @@ def _create_portability_test_jobs(extra_args=[], extra_envs={'GRPC_DNS_RESOLVER': 'ares'}, timeout_seconds=_CPP_RUNTESTS_TIMEOUT) + # C and C++ with no-exceptions on Linux + test_jobs += _generate_jobs( + languages=['c', 'c++'], + configs=['noexcept'], + platforms=['linux'], + labels=['portability', 'corelang'], + extra_args=extra_args, + timeout_seconds=_CPP_RUNTESTS_TIMEOUT) + # TODO(zyc): Turn on this test after adding c-ares support on windows. # C with the c-ares DNS resolver on Windows # test_jobs += _generate_jobs(languages=['c'], diff --git a/tools/run_tests/sanity/check_clang_tidy.sh b/tools/run_tests/sanity/check_clang_tidy.sh deleted file mode 100755 index 6c4caa1ee6..0000000000 --- a/tools/run_tests/sanity/check_clang_tidy.sh +++ /dev/null @@ -1,21 +0,0 @@ -#!/bin/sh -# Copyright 2017 gRPC authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -set -e - -make buildtests \ - -j "$(python -c 'import multiprocessing; print multiprocessing.cpu_count()')" -find src/core src/cpp test/core test/cpp -print0 -name '*.h' -or -name '*.cc' \ - | xargs -0 tools/distrib/run_clang_tidy.py "$@" diff --git a/tools/run_tests/sanity/check_shellcheck.sh b/tools/run_tests/sanity/check_shellcheck.sh index f2cba1892b..b30febab04 100755 --- a/tools/run_tests/sanity/check_shellcheck.sh +++ b/tools/run_tests/sanity/check_shellcheck.sh @@ -19,6 +19,7 @@ set -e ROOT="$(dirname "$0")/../../.." DIRS=( + 'tools/run_tests/artifacts' 'tools/run_tests/helper_scripts' 'tools/run_tests/sanity' ) diff --git a/tools/run_tests/sanity/check_sources_and_headers.py b/tools/run_tests/sanity/check_sources_and_headers.py index 6a704eb2e0..57ae5c5acc 100755 --- a/tools/run_tests/sanity/check_sources_and_headers.py +++ b/tools/run_tests/sanity/check_sources_and_headers.py @@ -69,13 +69,10 @@ target_headers_transitive = get_headers_transitive() def target_has_header(target, name): - if name.startswith('absl/'): return True - # print target['name'], name - if name in target['headers']: + if name in target_headers_transitive[target['name']]: + return True + if name.startswith('absl/'): return True - for dep in target['deps']: - if target_has_header(get_target(dep), name): - return True if name in [ 'src/core/lib/profiling/stap_probes.h', 'src/proto/grpc/reflection/v1alpha/reflection.grpc.pb.h' diff --git a/tools/run_tests/sanity/core_banned_functions.py b/tools/run_tests/sanity/core_banned_functions.py index 9ee28964a5..989990542e 100755 --- a/tools/run_tests/sanity/core_banned_functions.py +++ b/tools/run_tests/sanity/core_banned_functions.py @@ -42,8 +42,8 @@ BANNED_EXCEPT = { 'grpc_closure_run(': ['src/core/lib/iomgr/closure.c'], 'grpc_closure_list_sched(': ['src/core/lib/iomgr/closure.c'], 'gpr_getenv_silent(': [ - 'src/core/lib/support/log.c', 'src/core/lib/support/env_linux.c', - 'src/core/lib/support/env_posix.c', 'src/core/lib/support/env_windows.c' + 'src/core/lib/gpr/log.c', 'src/core/lib/gpr/env_linux.c', + 'src/core/lib/gpr/env_posix.c', 'src/core/lib/gpr/env_windows.c' ], } diff --git a/tools/run_tests/sanity/sanity_tests.yaml b/tools/run_tests/sanity/sanity_tests.yaml index dab991a7b1..efdb4d84b5 100644 --- a/tools/run_tests/sanity/sanity_tests.yaml +++ b/tools/run_tests/sanity/sanity_tests.yaml @@ -14,11 +14,11 @@ cpu_cost: 3 - script: tools/distrib/check_copyright.py - script: tools/distrib/clang_format_code.sh +- script: tools/distrib/clang_tidy_code.sh - script: tools/distrib/check_trailing_newlines.sh - script: tools/distrib/check_nanopb_output.sh - script: tools/distrib/check_include_guards.py - script: tools/distrib/pylint_code.sh - script: tools/distrib/yapf_code.sh - script: tools/distrib/python/check_grpcio_tools.py -- script: tools/run_tests/sanity/check_clang_tidy.sh cpu_cost: 1000 |