aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/objective-c
diff options
context:
space:
mode:
Diffstat (limited to 'src/objective-c')
-rw-r--r--src/objective-c/README.md2
-rwxr-xr-xsrc/objective-c/tests/build_example_test.sh57
-rwxr-xr-xsrc/objective-c/tests/run_plugin_tests.sh64
-rwxr-xr-xsrc/objective-c/tests/run_tests.sh32
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" \