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
reviewable/pr29621/r13^2
Jan Tattermusch 3 years ago committed by GitHub
parent 8b1cef6e19
commit 4976933e6b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 35
      src/objective-c/tests/build_one_example_bazel.sh
  2. 82
      src/objective-c/tests/run_plugin_option_tests.sh
  3. 69
      src/objective-c/tests/run_plugin_tests.sh
  4. 56
      tools/run_tests/run_tests.py

@ -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

@ -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."

@ -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."

@ -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'],

Loading…
Cancel
Save