From 4976933e6b09706ccc542b7c9c7221cd6c50bd32 Mon Sep 17 00:00:00 2001 From: Jan Tattermusch Date: Wed, 18 May 2022 20:35:40 +0200 Subject: [PATCH] Remove some ObjC tests already run by objc_bazel_tests from run_tests.py (#29678) * stop running objc plugin tests with run_tests.py * stop running bazel examples as part of run_tests.py * stop running UnitTests and MacTests as part part of run_tests.py --- .../tests/build_one_example_bazel.sh | 35 -------- .../tests/run_plugin_option_tests.sh | 82 ------------------- src/objective-c/tests/run_plugin_tests.sh | 69 ---------------- tools/run_tests/run_tests.py | 56 ------------- 4 files changed, 242 deletions(-) delete mode 100755 src/objective-c/tests/build_one_example_bazel.sh delete mode 100755 src/objective-c/tests/run_plugin_option_tests.sh delete mode 100755 src/objective-c/tests/run_plugin_tests.sh diff --git a/src/objective-c/tests/build_one_example_bazel.sh b/src/objective-c/tests/build_one_example_bazel.sh deleted file mode 100755 index b547ac157f0..00000000000 --- a/src/objective-c/tests/build_one_example_bazel.sh +++ /dev/null @@ -1,35 +0,0 @@ -#!/bin/bash -# Copyright 2019 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. - -# Don't run this script standalone. Instead, run from the repository root: -# ./tools/run_tests/run_tests.py -l objc - -set -ev - -# Params: -# EXAMPLE_PATH - directory of the example -# SCHEME - scheme of the example, used by xcodebuild - -# CocoaPods requires the terminal to be using UTF-8 encoding. -export LANG=en_US.UTF-8 - -cd `dirname $0`/../../.. - -cd $EXAMPLE_PATH/.. - -if [ "$SCHEME" == "watchOS-sample-WatchKit-App" ]; then - SCHEME="watchOS-sample watchOS-sample-watchApp" -fi -../../../tools/bazel build $SCHEME diff --git a/src/objective-c/tests/run_plugin_option_tests.sh b/src/objective-c/tests/run_plugin_option_tests.sh deleted file mode 100755 index 8f7a6a10be3..00000000000 --- a/src/objective-c/tests/run_plugin_option_tests.sh +++ /dev/null @@ -1,82 +0,0 @@ -#!/bin/bash -# Copyright 2015 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. - -# Don't run this script standalone. Instead, run from the repository root: -# ./tools/run_tests/run_tests.py -l objc - -set -ev - -cd $(dirname $0) - -# Run the tests server. - -ROOT_DIR=../../.. -BAZEL=$ROOT_DIR/tools/bazel -PROTOC=$ROOT_DIR/bazel-bin/external/com_google_protobuf/protoc -PLUGIN=$ROOT_DIR/bazel-bin/src/compiler/grpc_objective_c_plugin -RUNTIME_IMPORT_PREFIX=prefix/dir/ - -[ -f $PROTOC ] && [ -f $PLUGIN ] || { - BAZEL build @com_google_protobuf//:protoc //src/compiler:grpc_objective_c_plugin -} - -rm -rf RemoteTestClient/*pb* - -$PROTOC \ - --plugin=protoc-gen-grpc=$PLUGIN \ - --objc_out=RemoteTestClient \ - --grpc_out=grpc_local_import_prefix=$RUNTIME_IMPORT_PREFIX,runtime_import_prefix=$RUNTIME_IMPORT_PREFIX:RemoteTestClient \ - -I $ROOT_DIR \ - -I ../../../third_party/protobuf/src \ - $ROOT_DIR/src/objective-c/examples/RemoteTestClient/*.proto - -# Verify the "runtime_import_prefix" option -# Verify the output proto filename -[ -e ./RemoteTestClient/src/objective-c/examples/RemoteTestClient/Test.pbrpc.m ] || { - echo >&2 "protoc outputs wrong filename." - exit 1 -} - -# Verify paths of protobuf WKTs in generated code contain runtime import prefix. -[ "`cat RemoteTestClient/src/objective-c/examples/RemoteTestClient/Test.pbrpc.m | - egrep '#import "'"${RUNTIME_IMPORT_PREFIX}"'GPBEmpty\.pbobjc\.h'`" ] || { - echo >&2 "protoc generated import with wrong filename." - exit 1 -} - -# Verify paths of non WKTs protos in generated code don't contain runtime import prefix. -[ "`cat RemoteTestClient/src/objective-c/examples/RemoteTestClient/Test.pbrpc.m | - egrep '.*\Messages.pbobjc.h"$' | - egrep '#import "'"${RUNTIME_IMPORT_PREFIX}"`" ] && { - echo >&2 "protoc generated import with wrong filename." - exit 1 -} - -# Verify the "grpc_local_import_directory" option -# Verify system files are imported in a "local" way in header files. -[ "`cat RemoteTestClient/src/objective-c/examples/RemoteTestClient/Test.pbrpc.h | - egrep '#import "'"${RUNTIME_IMPORT_PREFIX}"'/ProtoRPC/.*\.h'`"] || { - echo >&2 "grpc system files should be imported with full paths." -} - -# Verify system files are imported in a "local" way in source files. -[ "`cat RemoteTestClient/src/objective-c/examples/RemoteTestClient/Test.pbrpc.m | - egrep '#import "'"${RUNTIME_IMPORT_PREFIX}"'/ProtoRPC/.*\.h'`"] || { - echo >&2 "grpc system files should be imported with full paths." -} - -# Run one extra command to clear $? before exiting the script to prevent -# failing even when tests pass. -echo "Plugin option tests passed." diff --git a/src/objective-c/tests/run_plugin_tests.sh b/src/objective-c/tests/run_plugin_tests.sh deleted file mode 100755 index 606aea84cf7..00000000000 --- a/src/objective-c/tests/run_plugin_tests.sh +++ /dev/null @@ -1,69 +0,0 @@ -#!/bin/bash -# Copyright 2015 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. - -# Don't run this script standalone. Instead, run from the repository root: -# ./tools/run_tests/run_tests.py -l objc - -set -ev - -cd $(dirname $0) - -# Run the tests server. - -ROOT_DIR=../../.. -BAZEL=$ROOT_DIR/tools/bazel -PROTOC=$ROOT_DIR/bazel-bin/external/com_google_protobuf/protoc -PLUGIN=$ROOT_DIR/bazel-bin/src/compiler/grpc_objective_c_plugin - -[ -f $PROTOC ] && [ -f $PLUGIN ] || { - BAZEL build @com_google_protobuf//:protoc //src/compiler:grpc_objective_c_plugin -} - -rm -rf PluginTest/*pb* - -$PROTOC \ - --plugin=protoc-gen-grpc=$PLUGIN \ - --objc_out=PluginTest \ - --grpc_out=PluginTest \ - -I PluginTest \ - -I ../../../third_party/protobuf/src \ - PluginTest/*.proto - -# Verify the output proto filename -[ -e ./PluginTest/TestDashFilename.pbrpc.h ] || { - echo >&2 "protoc outputs wrong filename." - exit 1 -} - -# TODO(jtattermusch): rewrite the tests to make them more readable. -# Also, the way they are written, they need one extra command to run in order to -# clear $? after they run (see end of this script) -# Verify names of the imported protos in generated code don't contain dashes. -[ "`cat PluginTest/TestDashFilename.pbrpc.h | - egrep '#import ".*\.pb(objc|rpc)\.h"$' | - egrep '-'`" ] && { - echo >&2 "protoc generated import with wrong filename." - exit 1 -} -[ "`cat PluginTest/TestDashFilename.pbrpc.m | - egrep '#import ".*\.pb(objc|rpc)\.h"$' | - egrep '-'`" ] && { - echo >&2 "protoc generated import with wrong filename." - exit 1 -} - -# Run one extra command to clear $? before exiting the script to prevent -# failing even when tests pass. -echo "Plugin tests passed." diff --git a/tools/run_tests/run_tests.py b/tools/run_tests/run_tests.py index 73e69d0f323..611d8c04415 100755 --- a/tools/run_tests/run_tests.py +++ b/tools/run_tests/run_tests.py @@ -981,18 +981,6 @@ class ObjCLanguage(object): def test_specs(self): out = [] - # TODO(jtattermusch): Remove this task since the sample is already being built as part of the grpc_objc_bazel_test job. - out.append( - self.config.job_spec( - ['src/objective-c/tests/build_one_example_bazel.sh'], - timeout_seconds=10 * 60, - shortname='ios-buildtest-example-sample', - cpu_cost=1e6, - environ={ - 'SCHEME': 'Sample', - 'EXAMPLE_PATH': 'src/objective-c/examples/Sample', - 'FRAMEWORKS': 'NO' - })) # Currently not supporting compiling as frameworks in Bazel # TODO(jtattermusch): verify the above claim is still accurate. out.append( @@ -1017,18 +1005,6 @@ class ObjCLanguage(object): 'SCHEME': 'SwiftSample', 'EXAMPLE_PATH': 'src/objective-c/examples/SwiftSample' })) - # TODO(jtattermusch): Remove this task since the sample is already being built as part of the grpc_objc_bazel_test job. - out.append( - self.config.job_spec( - ['src/objective-c/tests/build_one_example_bazel.sh'], - timeout_seconds=20 * 60, - shortname='ios-buildtest-example-tvOS-sample', - cpu_cost=1e6, - environ={ - 'SCHEME': 'tvOS-sample', - 'EXAMPLE_PATH': 'src/objective-c/examples/tvOS-sample', - 'FRAMEWORKS': 'NO' - })) # Disabled due to #20258 # TODO (mxyan): Reenable this test when #20258 is resolved. # out.append( @@ -1043,21 +1019,6 @@ class ObjCLanguage(object): # 'FRAMEWORKS': 'NO' # })) - # TODO(jtattermusch): Remove this task since the test already runs as part of the grpc_objc_bazel_test job. - out.append( - self.config.job_spec(['src/objective-c/tests/run_plugin_tests.sh'], - timeout_seconds=60 * 60, - shortname='ios-test-plugintest', - cpu_cost=1e6, - environ=_FORCE_ENVIRON_FOR_WRAPPERS)) - # TODO(jtattermusch): Remove this task since the test already runs as part of the grpc_objc_bazel_test job. - out.append( - self.config.job_spec( - ['src/objective-c/tests/run_plugin_option_tests.sh'], - timeout_seconds=60 * 60, - shortname='ios-test-plugin-option-test', - cpu_cost=1e6, - environ=_FORCE_ENVIRON_FOR_WRAPPERS)) # TODO(jtattermusch): move the test out of the test/core/iomgr/CFStreamTests directory? # How does one add the cfstream dependency in bazel? out.append( @@ -1076,13 +1037,6 @@ class ObjCLanguage(object): shortname='ios-test-core-tests', cpu_cost=1e6, environ=_FORCE_ENVIRON_FOR_WRAPPERS)) - # TODO(jtattermusch): Remove this task since the tests are already being run as part of the grpc_objc_bazel_test job. - out.append( - self.config.job_spec(['src/objective-c/tests/run_one_test.sh'], - timeout_seconds=60 * 60, - shortname='ios-test-unittests', - cpu_cost=1e6, - environ={'SCHEME': 'UnitTests'})) # TODO(jtattermusch): Make sure the //src/objective-c/tests:InteropTests bazel test passes reliably and remove the test from there. out.append( self.config.job_spec(['src/objective-c/tests/run_one_test.sh'], @@ -1121,16 +1075,6 @@ class ObjCLanguage(object): shortname='ios-cpp-test-cronet', cpu_cost=1e6, environ=_FORCE_ENVIRON_FOR_WRAPPERS)) - # TODO(jtattermusch): Remove this task since the tests are already being run as part of the grpc_objc_bazel_test job. - out.append( - self.config.job_spec(['src/objective-c/tests/run_one_test.sh'], - timeout_seconds=60 * 60, - shortname='mac-test-basictests', - cpu_cost=1e6, - environ={ - 'SCHEME': 'MacTests', - 'PLATFORM': 'macos' - })) # TODO(jtattermusch): Make sure the //src/objective-c/tests:TvTests bazel test passes and remove the test from here. out.append( self.config.job_spec(['src/objective-c/tests/run_one_test.sh'],