diff options
author | Jan Tattermusch <jtattermusch@google.com> | 2018-06-06 10:14:52 +0200 |
---|---|---|
committer | Jan Tattermusch <jtattermusch@google.com> | 2018-06-06 10:14:52 +0200 |
commit | 4fae81d7778977dc879c4acd78e7257f0f3f07f4 (patch) | |
tree | 59977203f4ffd574ade49e5a691dd1ac1a992ff2 | |
parent | 583f39ad94c0a14a50916e86a5ccd8c3c77ae2c6 (diff) |
test C# codegen in distribtests
-rw-r--r-- | test/distrib/csharp/DistribTest/packages.config | 1 | ||||
-rwxr-xr-x | test/distrib/csharp/run_distrib_test.sh | 3 | ||||
-rw-r--r-- | test/distrib/csharp/test_codegen/helloworld.proto | 38 | ||||
-rwxr-xr-x | test/distrib/csharp/test_codegen/test_codegen.sh | 29 | ||||
-rwxr-xr-x | test/distrib/csharp/update_version.sh | 2 |
5 files changed, 72 insertions, 1 deletions
diff --git a/test/distrib/csharp/DistribTest/packages.config b/test/distrib/csharp/DistribTest/packages.config index 84be8f76b5..3cb2c46bcf 100644 --- a/test/distrib/csharp/DistribTest/packages.config +++ b/test/distrib/csharp/DistribTest/packages.config @@ -6,6 +6,7 @@ <package id="Grpc" version="__GRPC_NUGET_VERSION__" targetFramework="net45" /> <package id="Grpc.Auth" version="__GRPC_NUGET_VERSION__" targetFramework="net45" /> <package id="Grpc.Core" version="__GRPC_NUGET_VERSION__" targetFramework="net45" /> + <package id="Grpc.Tools" version="__GRPC_NUGET_VERSION__" targetFramework="net45" /> <package id="System.Interactive.Async" version="3.0.0" targetFramework="net45" /> <package id="Newtonsoft.Json" version="7.0.1" targetFramework="net45" /> </packages>
\ No newline at end of file diff --git a/test/distrib/csharp/run_distrib_test.sh b/test/distrib/csharp/run_distrib_test.sh index eee24d0e57..f9371410e7 100755 --- a/test/distrib/csharp/run_distrib_test.sh +++ b/test/distrib/csharp/run_distrib_test.sh @@ -26,3 +26,6 @@ nuget restore xbuild DistribTest.sln mono DistribTest/bin/Debug/DistribTest.exe + +# test that codegen work +test_codegen/test_codegen.sh diff --git a/test/distrib/csharp/test_codegen/helloworld.proto b/test/distrib/csharp/test_codegen/helloworld.proto new file mode 100644 index 0000000000..be878ce25f --- /dev/null +++ b/test/distrib/csharp/test_codegen/helloworld.proto @@ -0,0 +1,38 @@ +// 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. + +syntax = "proto3"; + +option java_multiple_files = true; +option java_package = "io.grpc.examples.helloworld"; +option java_outer_classname = "HelloWorldProto"; +option objc_class_prefix = "HLW"; + +package helloworld; + +// The greeting service definition. +service Greeter { + // Sends a greeting + rpc SayHello (HelloRequest) returns (HelloReply) {} +} + +// The request message containing the user's name. +message HelloRequest { + string name = 1; +} + +// The response message containing the greetings +message HelloReply { + string message = 1; +} diff --git a/test/distrib/csharp/test_codegen/test_codegen.sh b/test/distrib/csharp/test_codegen/test_codegen.sh new file mode 100755 index 0000000000..62c9040f20 --- /dev/null +++ b/test/distrib/csharp/test_codegen/test_codegen.sh @@ -0,0 +1,29 @@ +#!/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. + +set -ex + +cd "$(dirname "$0")" + +ls -lR ../packages/Grpc.Tools.__GRPC_NUGET_VERSION__/tools + +PROTOC=../packages/Grpc.Tools.__GRPC_NUGET_VERSION__/tools/linux_x64/protoc +PLUGIN=../packages/Grpc.Tools.__GRPC_NUGET_VERSION__/tools/linux_x64/grpc_csharp_plugin + +$PROTOC --plugin=protoc-gen-grpc=$PLUGIN --csharp_out=. --grpc_out=. -I . helloworld.proto + +ls *.cs + +echo 'Code generation works.' diff --git a/test/distrib/csharp/update_version.sh b/test/distrib/csharp/update_version.sh index 9759cc5648..0e47ed3abd 100755 --- a/test/distrib/csharp/update_version.sh +++ b/test/distrib/csharp/update_version.sh @@ -28,4 +28,4 @@ then fi # Replaces version placeholder with value provided as first argument. -sed -ibak "s/__GRPC_NUGET_VERSION__/${CSHARP_VERSION}/g" DistribTest/packages.config DistribTest/DistribTest.csproj DistribTest/DistribTestDotNet.csproj +sed -ibak "s/__GRPC_NUGET_VERSION__/${CSHARP_VERSION}/g" DistribTest/packages.config DistribTest/DistribTest.csproj DistribTest/DistribTestDotNet.csproj test_codegen/test_codegen.sh |