diff options
-rw-r--r-- | src/ruby/end2end/package_with_underscore_checker.rb | 54 | ||||
-rw-r--r-- | src/ruby/end2end/protos/package_with_underscore/data.proto (renamed from src/ruby/spec/pb/package_with_underscore/data.proto) | 0 | ||||
-rw-r--r-- | src/ruby/end2end/protos/package_with_underscore/service.proto (renamed from src/ruby/spec/pb/package_with_underscore/service.proto) | 0 | ||||
-rw-r--r-- | src/ruby/spec/pb/package_with_underscore/checker_spec.rb | 51 | ||||
-rwxr-xr-x | tools/run_tests/helper_scripts/build_ruby.sh | 3 | ||||
-rwxr-xr-x | tools/run_tests/helper_scripts/run_ruby.sh | 3 | ||||
-rwxr-xr-x | tools/run_tests/helper_scripts/run_ruby_end2end_tests.sh | 1 |
7 files changed, 58 insertions, 54 deletions
diff --git a/src/ruby/end2end/package_with_underscore_checker.rb b/src/ruby/end2end/package_with_underscore_checker.rb new file mode 100644 index 0000000000..27ea00ffa7 --- /dev/null +++ b/src/ruby/end2end/package_with_underscore_checker.rb @@ -0,0 +1,54 @@ +# Copyright 2018 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. + +require 'open3' +require 'tmpdir' + +def main + root_dir = File.join(File.dirname(__FILE__), '..', '..', '..') + pb_dir = File.join(root_dir, 'src', 'ruby', 'end2end', 'protos') + + fail 'CONFIG env variable unexpectedly unset' unless ENV['CONFIG'] + bins_sub_dir = ENV['CONFIG'] + bins_dir = File.join(root_dir, 'bins', bins_sub_dir) + + plugin = File.join(bins_dir, 'grpc_ruby_plugin') + protoc = File.join(bins_dir, 'protobuf', 'protoc') + + got = nil + + Dir.mktmpdir do |tmp_dir| + gen_out = File.join(tmp_dir, 'package_with_underscore', 'service_services_pb.rb') + + pid = spawn( + protoc, + "--proto_path=#{pb_dir}", + 'package_with_underscore/service.proto', + "--grpc_out=#{tmp_dir}", + "--plugin=protoc-gen-grpc=#{plugin}" + ) + Process.waitpid2(pid) + File.open(gen_out) { |f| got = f.read } + end + + correct_modularized_rpc = 'rpc :TestOne, ' \ + 'Grpc::Testing::PackageWithUnderscore::Data::Request, ' \ + 'Grpc::Testing::PackageWithUnderscore::Data::Response' + + return if got.include?(correct_modularized_rpc) + + fail 'generated file does not match with correct_modularized_rpc' +end + +main diff --git a/src/ruby/spec/pb/package_with_underscore/data.proto b/src/ruby/end2end/protos/package_with_underscore/data.proto index 2706f1d7be..2706f1d7be 100644 --- a/src/ruby/spec/pb/package_with_underscore/data.proto +++ b/src/ruby/end2end/protos/package_with_underscore/data.proto diff --git a/src/ruby/spec/pb/package_with_underscore/service.proto b/src/ruby/end2end/protos/package_with_underscore/service.proto index 814c7898cd..814c7898cd 100644 --- a/src/ruby/spec/pb/package_with_underscore/service.proto +++ b/src/ruby/end2end/protos/package_with_underscore/service.proto diff --git a/src/ruby/spec/pb/package_with_underscore/checker_spec.rb b/src/ruby/spec/pb/package_with_underscore/checker_spec.rb deleted file mode 100644 index dac7c14a9a..0000000000 --- a/src/ruby/spec/pb/package_with_underscore/checker_spec.rb +++ /dev/null @@ -1,51 +0,0 @@ -# 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. - -require 'open3' -require 'tmpdir' - -describe 'Package with underscore protobuf code generation' do - it 'should have the same content as created by code generation' do - root_dir = File.join(File.dirname(__FILE__), '..', '..', '..', '..', '..') - pb_dir = File.join(root_dir, 'src', 'ruby', 'spec', 'pb') - - fail 'CONFIG env variable unexpectedly unset' unless ENV['CONFIG'] - bins_sub_dir = ENV['CONFIG'] - bins_dir = File.join(root_dir, 'bins', bins_sub_dir) - - plugin = File.join(bins_dir, 'grpc_ruby_plugin') - protoc = File.join(bins_dir, 'protobuf', 'protoc') - - got = nil - - Dir.mktmpdir do |tmp_dir| - gen_out = File.join(tmp_dir, 'package_with_underscore', 'service_services_pb.rb') - - pid = spawn( - protoc, - '-I.', - 'package_with_underscore/service.proto', - "--grpc_out=#{tmp_dir}", - "--plugin=protoc-gen-grpc=#{plugin}", - chdir: pb_dir) - Process.waitpid2(pid) - File.open(gen_out) { |f| got = f.read } - end - - correct_modularized_rpc = 'rpc :TestOne, ' \ - 'Grpc::Testing::PackageWithUnderscore::Data::Request, ' \ - 'Grpc::Testing::PackageWithUnderscore::Data::Response' - expect(got).to include(correct_modularized_rpc) - end -end diff --git a/tools/run_tests/helper_scripts/build_ruby.sh b/tools/run_tests/helper_scripts/build_ruby.sh index b15a8639d9..38f99d80ab 100755 --- a/tools/run_tests/helper_scripts/build_ruby.sh +++ b/tools/run_tests/helper_scripts/build_ruby.sh @@ -23,3 +23,6 @@ cd "$(dirname "$0")/../../.." rm -rf ./tmp rake compile + +# build grpc_ruby_plugin +make grpc_ruby_plugin -j8 diff --git a/tools/run_tests/helper_scripts/run_ruby.sh b/tools/run_tests/helper_scripts/run_ruby.sh index 03eaeb0ec7..4e9c212877 100755 --- a/tools/run_tests/helper_scripts/run_ruby.sh +++ b/tools/run_tests/helper_scripts/run_ruby.sh @@ -18,7 +18,4 @@ set -ex # change to grpc repo root cd "$(dirname "$0")/../../.." -# build grpc_ruby_plugin -make grpc_ruby_plugin -j8 - rake diff --git a/tools/run_tests/helper_scripts/run_ruby_end2end_tests.sh b/tools/run_tests/helper_scripts/run_ruby_end2end_tests.sh index 5784745bac..a480091c58 100755 --- a/tools/run_tests/helper_scripts/run_ruby_end2end_tests.sh +++ b/tools/run_tests/helper_scripts/run_ruby_end2end_tests.sh @@ -29,4 +29,5 @@ ruby src/ruby/end2end/grpc_class_init_driver.rb || EXIT_CODE=1 ruby src/ruby/end2end/multiple_killed_watching_threads_driver.rb || EXIT_CODE=1 ruby src/ruby/end2end/load_grpc_with_gc_stress_driver.rb || EXIT_CODE=1 ruby src/ruby/end2end/client_memory_usage_driver.rb || EXIT_CODE=1 +ruby src/ruby/end2end/package_with_underscore_checker.rb || EXIT_CODE=1 exit $EXIT_CODE |