Merge pull request #2663 from jcanizales/run-test-server-locally

Run test server locally
pull/2745/head
Michael Lumish 9 years ago
commit 5d405bd3ec
  1. 6
      src/objective-c/generated_libraries/RemoteTestClient/RemoteTest.podspec
  2. 6
      src/objective-c/generated_libraries/RouteGuideClient/RouteGuide.podspec
  3. 3
      src/objective-c/tests/GRPCClientTests.m
  4. 4
      src/objective-c/tests/InteropTests.m
  5. 6
      src/objective-c/tests/Tests.xcodeproj/xcshareddata/xcschemes/AllTests.xcscheme
  6. 39
      src/objective-c/tests/build_tests.sh
  7. 7
      src/objective-c/tests/run_tests.sh
  8. 20
      tools/run_tests/run_tests.py

@ -8,11 +8,7 @@ Pod::Spec.new do |s|
# Run protoc with the Objective-C and gRPC plugins to generate protocol messages and gRPC clients.
s.prepare_command = <<-CMD
cd ../../../..
# TODO(jcanizales): Make only Objective-C plugin.
make plugins
cd -
protoc --plugin=protoc-gen-grpc=../../../../bins/opt/grpc_objective_c_plugin --objc_out=. --grpc_out=. *.proto
protoc --plugin=protoc-gen-grpc=../../../../bins/$CONFIG/grpc_objective_c_plugin --objc_out=. --grpc_out=. *.proto
CMD
s.subspec "Messages" do |ms|

@ -8,11 +8,7 @@ Pod::Spec.new do |s|
# Run protoc with the Objective-C and gRPC plugins to generate protocol messages and gRPC clients.
s.prepare_command = <<-CMD
cd ../../../..
# TODO(jcanizales): Make only Objective-C plugin.
make plugins
cd -
protoc --plugin=protoc-gen-grpc=../../../../bins/opt/grpc_objective_c_plugin --objc_out=. --grpc_out=. *.proto
protoc --plugin=protoc-gen-grpc=../../../../bins/$CONFIG/grpc_objective_c_plugin --objc_out=. --grpc_out=. *.proto
CMD
s.subspec "Messages" do |ms|

@ -43,7 +43,8 @@
// These are a few tests similar to InteropTests, but which use the generic gRPC client (GRPCCall)
// rather than a generated proto library on top of it.
static NSString * const kHostAddress = @"grpc-test.sandbox.google.com";
// grpc-test.sandbox.google.com
static NSString * const kHostAddress = @"http://localhost:5050";
static NSString * const kPackage = @"grpc.testing";
static NSString * const kService = @"TestService";

@ -83,8 +83,10 @@
RMTTestService *_service;
}
// grpc-test.sandbox.google.com
- (void)setUp {
_service = [[RMTTestService alloc] initWithHost:@"grpc-test.sandbox.google.com"];
_service = [[RMTTestService alloc] initWithHost:@"http://localhost:5050"];
}
// Tests as described here: https://github.com/grpc/grpc/blob/master/doc/interop-test-descriptions.md

@ -38,6 +38,12 @@
ReferencedContainer = "container:Tests.xcodeproj">
</BuildableReference>
<SkippedTests>
<Test
Identifier = "GRPCClientTests/testConnectionToRemoteServer">
</Test>
<Test
Identifier = "GRPCClientTests/testMetadata">
</Test>
<Test
Identifier = "LocalClearTextTests">
</Test>

@ -0,0 +1,39 @@
#!/bin/bash
# Copyright 2015, Google Inc.
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are
# met:
#
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above
# copyright notice, this list of conditions and the following disclaimer
# in the documentation and/or other materials provided with the
# distribution.
# * Neither the name of Google Inc. nor the names of its
# contributors may be used to endorse or promote products derived from
# this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
set -e
cd $(dirname $0)
# The local test server needs to be compiled before this because pod install of
# gRPC renames some C gRPC files and not the server's code references to them.
#
# Suppress error output because Cocoapods issue #3823 causes a flooding warning.
pod install 2>/dev/null

@ -32,9 +32,10 @@ set -e
cd $(dirname $0)
# TODO(jcanizales): Remove when Cocoapods issue #3823 is resolved.
export COCOAPODS_DISABLE_DETERMINISTIC_UUIDS=YES
pod install
# Run the tests server.
../../../bins/$CONFIG/interop_server --port=5050 &
# Kill it when this script exits.
trap 'kill -9 `jobs -p`' EXIT
# xcodebuild is very verbose. We filter its output and tell Bash to fail if any
# element of the pipe fails.

@ -304,6 +304,25 @@ class CSharpLanguage(object):
return 'csharp'
class ObjCLanguage(object):
def test_specs(self, config, travis):
return [config.job_spec(['src/objective-c/tests/run_tests.sh'], None,
environ=_FORCE_ENVIRON_FOR_WRAPPERS)]
def make_targets(self):
return ['grpc_objective_c_plugin', 'interop_server']
def build_steps(self):
return [['src/objective-c/tests/build_tests.sh']]
def supports_multi_config(self):
return False
def __str__(self):
return 'objc'
class Sanity(object):
def test_specs(self, config, travis):
@ -369,6 +388,7 @@ _LANGUAGES = {
'python': PythonLanguage(),
'ruby': RubyLanguage(),
'csharp': CSharpLanguage(),
'objc' : ObjCLanguage(),
'sanity': Sanity(),
'build': Build(),
}

Loading…
Cancel
Save