diff options
Diffstat (limited to 'src/objective-c')
-rw-r--r-- | src/objective-c/README.md | 2 | ||||
-rwxr-xr-x | src/objective-c/tests/build_example_test.sh | 57 | ||||
-rwxr-xr-x | src/objective-c/tests/run_plugin_tests.sh | 64 | ||||
-rwxr-xr-x | src/objective-c/tests/run_tests.sh | 32 |
4 files changed, 65 insertions, 90 deletions
diff --git a/src/objective-c/README.md b/src/objective-c/README.md index 3624475b9c..e76ee173ea 100644 --- a/src/objective-c/README.md +++ b/src/objective-c/README.md @@ -112,7 +112,7 @@ the sample Podspec above. For example, you could use: ```ruby s.prepare_command = <<-CMD ... - #{src}/*.proto #{src}/**/*.proto + `find . -name *.proto -print | xargs` CMD ... ms.source_files = "#{dir}/*.pbobjc.{h,m}", "#{dir}/**/*.pbobjc.{h,m}" diff --git a/src/objective-c/tests/build_example_test.sh b/src/objective-c/tests/build_example_test.sh deleted file mode 100755 index 9afd7564c9..0000000000 --- a/src/objective-c/tests/build_example_test.sh +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/bash -# Copyright 2016 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 -evo pipefail - -cd `dirname $0` - -trap 'echo "EXIT TIME: $(date)"' EXIT - -echo "TIME: $(date)" -SCHEME=HelloWorld \ - EXAMPLE_PATH=examples/objective-c/helloworld \ - ./build_one_example.sh - -echo "TIME: $(date)" -SCHEME=RouteGuideClient \ - EXAMPLE_PATH=examples/objective-c/route_guide \ - ./build_one_example.sh - -echo "TIME: $(date)" -SCHEME=AuthSample \ - EXAMPLE_PATH=examples/objective-c/auth_sample \ - ./build_one_example.sh - -rm -f ../examples/RemoteTestClient/*.{h,m} - -echo "TIME: $(date)" -SCHEME=Sample \ - EXAMPLE_PATH=src/objective-c/examples/Sample \ - ./build_one_example.sh - -echo "TIME: $(date)" -SCHEME=Sample \ - EXAMPLE_PATH=src/objective-c/examples/Sample \ - FRAMEWORKS=YES \ - ./build_one_example.sh - -echo "TIME: $(date)" -SCHEME=SwiftSample \ - EXAMPLE_PATH=src/objective-c/examples/SwiftSample \ - ./build_one_example.sh - diff --git a/src/objective-c/tests/run_plugin_tests.sh b/src/objective-c/tests/run_plugin_tests.sh new file mode 100755 index 0000000000..bcab3bb9cf --- /dev/null +++ b/src/objective-c/tests/run_plugin_tests.sh @@ -0,0 +1,64 @@ +#!/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. + +BINDIR=../../../bins/$CONFIG +PROTOC=$BINDIR/protobuf/protoc +PLUGIN=$BINDIR/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/src/objective-c/tests/run_tests.sh b/src/objective-c/tests/run_tests.sh index d9c78ebac9..8843edaede 100755 --- a/src/objective-c/tests/run_tests.sh +++ b/src/objective-c/tests/run_tests.sh @@ -23,38 +23,6 @@ cd $(dirname $0) # Run the tests server. BINDIR=../../../bins/$CONFIG -PROTOC=$BINDIR/protobuf/protoc -PLUGIN=$BINDIR/grpc_objective_c_plugin - -rm -rf PluginTest/*pb* - -# Verify the output proto filename -eval $PROTOC \ - --plugin=protoc-gen-grpc=$PLUGIN \ - --objc_out=PluginTest \ - --grpc_out=PluginTest \ - -I PluginTest \ - -I ../../../third_party/protobuf/src \ - PluginTest/*.proto - -[ -e ./PluginTest/TestDashFilename.pbrpc.h ] || { - echo >&2 "protoc outputs wrong filename." - exit 1 -} - -# Verify names of the imported protos in generated code -[ "`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)\.m"$' | - egrep '-'`" ] && { - echo >&2 "protoc generated import with wrong filename." - exit 1 -} [ -f $BINDIR/interop_server ] || { echo >&2 "Can't find the test server. Make sure run_tests.py is making" \ |