grpc 0.13.1-x86-mingw32 → 0.14.1.pre1-x86-mingw32
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of grpc might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/grpc_c.32.ruby +0 -0
- data/grpc_c.64.ruby +0 -0
- data/src/ruby/ext/grpc/extconf.rb +14 -20
- data/src/ruby/ext/grpc/rb_byte_buffer.c +2 -3
- data/src/ruby/ext/grpc/rb_call.c +37 -4
- data/src/ruby/ext/grpc/rb_call_credentials.c +13 -3
- data/src/ruby/ext/grpc/rb_channel.c +2 -3
- data/src/ruby/ext/grpc/rb_channel_args.c +2 -3
- data/src/ruby/ext/grpc/rb_channel_credentials.c +31 -3
- data/src/ruby/ext/grpc/rb_completion_queue.c +2 -2
- data/src/ruby/ext/grpc/rb_event_thread.c +1 -1
- data/src/ruby/ext/grpc/rb_grpc.c +4 -2
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.c +8 -0
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +14 -2
- data/src/ruby/ext/grpc/rb_server.c +2 -3
- data/src/ruby/ext/grpc/rb_server_credentials.c +16 -13
- data/src/ruby/ext/grpc/rb_signal.c +70 -0
- data/src/ruby/ext/grpc/rb_signal.h +39 -0
- data/src/ruby/lib/grpc.rb +21 -13
- data/src/ruby/lib/grpc/2.0/grpc_c.so +0 -0
- data/src/ruby/lib/grpc/2.1/grpc_c.so +0 -0
- data/src/ruby/lib/grpc/2.2/grpc_c.so +0 -0
- data/src/ruby/lib/grpc/2.3/grpc_c.so +0 -0
- data/src/ruby/lib/grpc/core/time_consts.rb +2 -2
- data/src/ruby/lib/grpc/errors.rb +2 -2
- data/src/ruby/lib/grpc/generic/active_call.rb +10 -3
- data/src/ruby/lib/grpc/generic/bidi_call.rb +2 -2
- data/src/ruby/lib/grpc/generic/client_stub.rb +10 -7
- data/src/ruby/lib/grpc/generic/rpc_desc.rb +2 -2
- data/src/ruby/lib/grpc/generic/rpc_server.rb +21 -61
- data/src/ruby/lib/grpc/generic/service.rb +5 -15
- data/src/ruby/lib/grpc/grpc.rb +3 -3
- data/src/ruby/lib/grpc/grpc_c.so +0 -0
- data/src/ruby/{bin/interop/interop_client.rb → lib/grpc/signals.rb} +39 -21
- data/src/ruby/lib/grpc/version.rb +2 -2
- data/src/ruby/pb/generate_proto_ruby.sh +9 -2
- data/src/ruby/pb/grpc/health/checker.rb +1 -1
- data/src/ruby/pb/grpc/testing/duplicate/echo_duplicate_services.rb +28 -0
- data/src/ruby/pb/grpc/testing/metrics.rb +28 -0
- data/src/ruby/pb/grpc/testing/metrics_services.rb +27 -0
- data/src/ruby/pb/test/client.rb +12 -23
- data/src/ruby/pb/test/server.rb +1 -1
- data/src/ruby/spec/client_server_spec.rb +1 -1
- data/src/ruby/spec/generic/client_stub_spec.rb +18 -17
- data/src/ruby/spec/generic/rpc_server_spec.rb +23 -7
- data/src/ruby/spec/generic/service_spec.rb +0 -69
- data/src/ruby/{bin/interop/interop_server.rb → spec/pb/duplicate/codegen_spec.rb} +41 -20
- data/src/ruby/spec/pb/health/checker_spec.rb +1 -1
- metadata +27 -15
- data/src/ruby/bin/grpc_ruby_interop_client +0 -33
- data/src/ruby/bin/grpc_ruby_interop_server +0 -33
data/src/ruby/pb/test/server.rb
CHANGED
@@ -39,7 +39,7 @@
|
|
39
39
|
|
40
40
|
this_dir = File.expand_path(File.dirname(__FILE__))
|
41
41
|
lib_dir = File.join(File.dirname(File.dirname(this_dir)), 'lib')
|
42
|
-
pb_dir = File.dirname(
|
42
|
+
pb_dir = File.dirname(this_dir)
|
43
43
|
$LOAD_PATH.unshift(lib_dir) unless $LOAD_PATH.include?(lib_dir)
|
44
44
|
$LOAD_PATH.unshift(pb_dir) unless $LOAD_PATH.include?(pb_dir)
|
45
45
|
$LOAD_PATH.unshift(this_dir) unless $LOAD_PATH.include?(this_dir)
|
@@ -193,44 +193,45 @@ describe 'ClientStub' do
|
|
193
193
|
describe '#client_streamer' do
|
194
194
|
shared_examples 'client streaming' do
|
195
195
|
before(:each) do
|
196
|
+
server_port = create_test_server
|
197
|
+
host = "localhost:#{server_port}"
|
198
|
+
@stub = GRPC::ClientStub.new(host, @cq, :this_channel_is_insecure)
|
199
|
+
@options = { k1: 'v1', k2: 'v2' }
|
196
200
|
@sent_msgs = Array.new(3) { |i| 'msg_' + (i + 1).to_s }
|
197
201
|
@resp = 'a_reply'
|
198
202
|
end
|
199
203
|
|
200
204
|
it 'should send requests to/receive a reply from a server' do
|
201
|
-
server_port = create_test_server
|
202
|
-
host = "localhost:#{server_port}"
|
203
205
|
th = run_client_streamer(@sent_msgs, @resp, @pass)
|
204
|
-
stub
|
205
|
-
expect(get_response(stub)).to eq(@resp)
|
206
|
+
expect(get_response(@stub)).to eq(@resp)
|
206
207
|
th.join
|
207
208
|
end
|
208
209
|
|
209
210
|
it 'should send metadata to the server ok' do
|
210
|
-
|
211
|
-
|
212
|
-
th = run_client_streamer(@sent_msgs, @resp, @pass,
|
213
|
-
k1: 'v1', k2: 'v2')
|
214
|
-
stub = GRPC::ClientStub.new(host, @cq, :this_channel_is_insecure)
|
215
|
-
expect(get_response(stub)).to eq(@resp)
|
211
|
+
th = run_client_streamer(@sent_msgs, @resp, @pass, @options)
|
212
|
+
expect(get_response(@stub)).to eq(@resp)
|
216
213
|
th.join
|
217
214
|
end
|
218
215
|
|
219
216
|
it 'should raise an error if the status is not ok' do
|
220
|
-
server_port = create_test_server
|
221
|
-
host = "localhost:#{server_port}"
|
222
217
|
th = run_client_streamer(@sent_msgs, @resp, @fail)
|
223
|
-
|
224
|
-
blk = proc { get_response(stub) }
|
218
|
+
blk = proc { get_response(@stub) }
|
225
219
|
expect(&blk).to raise_error(GRPC::BadStatus)
|
226
220
|
th.join
|
227
221
|
end
|
222
|
+
|
223
|
+
it 'should raise ArgumentError if metadata contains invalid values' do
|
224
|
+
@options.merge!(k3: 3)
|
225
|
+
expect do
|
226
|
+
get_response(@stub)
|
227
|
+
end.to raise_error(ArgumentError,
|
228
|
+
/Header values must be of type string or array/)
|
229
|
+
end
|
228
230
|
end
|
229
231
|
|
230
232
|
describe 'without a call operation' do
|
231
233
|
def get_response(stub)
|
232
|
-
stub.client_streamer(@method, @sent_msgs, noop, noop,
|
233
|
-
k1: 'v1', k2: 'v2')
|
234
|
+
stub.client_streamer(@method, @sent_msgs, noop, noop, @options)
|
234
235
|
end
|
235
236
|
|
236
237
|
it_behaves_like 'client streaming'
|
@@ -239,7 +240,7 @@ describe 'ClientStub' do
|
|
239
240
|
describe 'via a call operation' do
|
240
241
|
def get_response(stub)
|
241
242
|
op = stub.client_streamer(@method, @sent_msgs, noop, noop,
|
242
|
-
return_op: true
|
243
|
+
@options.merge(return_op: true))
|
243
244
|
expect(op).to be_a(GRPC::ActiveCall::Operation)
|
244
245
|
op.execute
|
245
246
|
end
|
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright 2015
|
1
|
+
# Copyright 2015, Google Inc.
|
2
2
|
# All rights reserved.
|
3
3
|
#
|
4
4
|
# Redistribution and use in source and binary forms, with or without
|
@@ -308,10 +308,6 @@ describe GRPC::RpcServer do
|
|
308
308
|
expect { @srv.handle(EmptyService) }.to raise_error
|
309
309
|
end
|
310
310
|
|
311
|
-
it 'raises if the service does not define its rpc methods' do
|
312
|
-
expect { @srv.handle(NoRpcImplementation) }.to raise_error
|
313
|
-
end
|
314
|
-
|
315
311
|
it 'raises if a handler method is already registered' do
|
316
312
|
@srv.handle(EchoService)
|
317
313
|
expect { r.handle(EchoService) }.to raise_error
|
@@ -349,6 +345,25 @@ describe GRPC::RpcServer do
|
|
349
345
|
t.join
|
350
346
|
end
|
351
347
|
|
348
|
+
it 'should return UNIMPLEMENTED on unimplemented methods', server: true do
|
349
|
+
@srv.handle(NoRpcImplementation)
|
350
|
+
t = Thread.new { @srv.run }
|
351
|
+
@srv.wait_till_running
|
352
|
+
req = EchoMsg.new
|
353
|
+
blk = proc do
|
354
|
+
cq = GRPC::Core::CompletionQueue.new
|
355
|
+
stub = GRPC::ClientStub.new(@host, cq, :this_channel_is_insecure,
|
356
|
+
**client_opts)
|
357
|
+
stub.request_response('/an_rpc', req, marshal, unmarshal)
|
358
|
+
end
|
359
|
+
expect(&blk).to raise_error do |error|
|
360
|
+
expect(error).to be_a(GRPC::BadStatus)
|
361
|
+
expect(error.code).to be(GRPC::Core::StatusCodes::UNIMPLEMENTED)
|
362
|
+
end
|
363
|
+
@srv.stop
|
364
|
+
t.join
|
365
|
+
end
|
366
|
+
|
352
367
|
it 'should handle multiple sequential requests', server: true do
|
353
368
|
@srv.handle(EchoService)
|
354
369
|
t = Thread.new { @srv.run }
|
@@ -426,7 +441,7 @@ describe GRPC::RpcServer do
|
|
426
441
|
threads.each(&:join)
|
427
442
|
end
|
428
443
|
|
429
|
-
it 'should return
|
444
|
+
it 'should return RESOURCE_EXHAUSTED on too many jobs', server: true do
|
430
445
|
opts = {
|
431
446
|
a_channel_arg: 'an_arg',
|
432
447
|
server_override: @server,
|
@@ -449,7 +464,8 @@ describe GRPC::RpcServer do
|
|
449
464
|
begin
|
450
465
|
stub.an_rpc(req)
|
451
466
|
rescue GRPC::BadStatus => e
|
452
|
-
one_failed_as_unavailable =
|
467
|
+
one_failed_as_unavailable =
|
468
|
+
e.code == StatusCodes::RESOURCE_EXHAUSTED
|
453
469
|
end
|
454
470
|
end
|
455
471
|
end
|
@@ -273,73 +273,4 @@ describe GenericService do
|
|
273
273
|
end
|
274
274
|
end
|
275
275
|
end
|
276
|
-
|
277
|
-
describe '#assert_rpc_descs_have_methods' do
|
278
|
-
it 'fails if there is no instance method for an rpc descriptor' do
|
279
|
-
c1 = Class.new do
|
280
|
-
include GenericService
|
281
|
-
rpc :AnRpc, GoodMsg, GoodMsg
|
282
|
-
end
|
283
|
-
expect { c1.assert_rpc_descs_have_methods }.to raise_error
|
284
|
-
|
285
|
-
c2 = Class.new do
|
286
|
-
include GenericService
|
287
|
-
rpc :AnRpc, GoodMsg, GoodMsg
|
288
|
-
rpc :AnotherRpc, GoodMsg, GoodMsg
|
289
|
-
|
290
|
-
def an_rpc
|
291
|
-
end
|
292
|
-
end
|
293
|
-
expect { c2.assert_rpc_descs_have_methods }.to raise_error
|
294
|
-
end
|
295
|
-
|
296
|
-
it 'passes if there are corresponding methods for each descriptor' do
|
297
|
-
c = Class.new do
|
298
|
-
include GenericService
|
299
|
-
rpc :AnRpc, GoodMsg, GoodMsg
|
300
|
-
rpc :AServerStreamer, GoodMsg, stream(GoodMsg)
|
301
|
-
rpc :AClientStreamer, stream(GoodMsg), GoodMsg
|
302
|
-
rpc :ABidiStreamer, stream(GoodMsg), stream(GoodMsg)
|
303
|
-
|
304
|
-
def an_rpc(_req, _call)
|
305
|
-
end
|
306
|
-
|
307
|
-
def a_server_streamer(_req, _call)
|
308
|
-
end
|
309
|
-
|
310
|
-
def a_client_streamer(_call)
|
311
|
-
end
|
312
|
-
|
313
|
-
def a_bidi_streamer(_call)
|
314
|
-
end
|
315
|
-
end
|
316
|
-
expect { c.assert_rpc_descs_have_methods }.to_not raise_error
|
317
|
-
end
|
318
|
-
|
319
|
-
it 'passes for subclasses of that include GenericService' do
|
320
|
-
base = Class.new do
|
321
|
-
include GenericService
|
322
|
-
rpc :AnRpc, GoodMsg, GoodMsg
|
323
|
-
|
324
|
-
def an_rpc(_req, _call)
|
325
|
-
end
|
326
|
-
end
|
327
|
-
c = Class.new(base)
|
328
|
-
expect { c.assert_rpc_descs_have_methods }.to_not raise_error
|
329
|
-
expect(c.include?(GenericService)).to be(true)
|
330
|
-
end
|
331
|
-
|
332
|
-
it 'passes if subclasses define the rpc methods' do
|
333
|
-
base = Class.new do
|
334
|
-
include GenericService
|
335
|
-
rpc :AnRpc, GoodMsg, GoodMsg
|
336
|
-
end
|
337
|
-
c = Class.new(base) do
|
338
|
-
def an_rpc(_req, _call)
|
339
|
-
end
|
340
|
-
end
|
341
|
-
expect { c.assert_rpc_descs_have_methods }.to_not raise_error
|
342
|
-
expect(c.include?(GenericService)).to be(true)
|
343
|
-
end
|
344
|
-
end
|
345
276
|
end
|
@@ -1,6 +1,4 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
# Copyright 2015, Google Inc.
|
1
|
+
# Copyright 2016, Google Inc.
|
4
2
|
# All rights reserved.
|
5
3
|
#
|
6
4
|
# Redistribution and use in source and binary forms, with or without
|
@@ -29,22 +27,45 @@
|
|
29
27
|
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
30
28
|
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
31
29
|
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
30
|
+
require 'open3'
|
31
|
+
require 'tmpdir'
|
32
|
+
|
33
|
+
def can_run_codegen_check
|
34
|
+
system('which grpc_ruby_plugin') && system('which protoc')
|
35
|
+
end
|
36
|
+
|
37
|
+
describe 'Ping protobuf code generation' do
|
38
|
+
if !can_run_codegen_check
|
39
|
+
skip 'protoc || grpc_ruby_plugin missing, cannot verify ping code-gen'
|
40
|
+
else
|
41
|
+
it 'should have the same content as created by code generation' do
|
42
|
+
root_dir = File.join(File.dirname(__FILE__), '..', '..', '..', '..', '..')
|
45
43
|
|
46
|
-
|
47
|
-
|
48
|
-
|
44
|
+
# Get the current content
|
45
|
+
service_path = File.join(root_dir, 'src', 'ruby', 'pb', 'grpc',
|
46
|
+
'testing', 'duplicate',
|
47
|
+
'echo_duplicate_services.rb')
|
48
|
+
want = nil
|
49
|
+
File.open(service_path) { |f| want = f.read }
|
49
50
|
|
50
|
-
|
51
|
+
# Regenerate it
|
52
|
+
plugin, = Open3.capture2('which', 'grpc_ruby_plugin')
|
53
|
+
plugin = plugin.strip
|
54
|
+
got = nil
|
55
|
+
Dir.mktmpdir do |tmp_dir|
|
56
|
+
gen_out = File.join(tmp_dir, 'src', 'proto', 'grpc', 'testing',
|
57
|
+
'duplicate', 'echo_duplicate_services.rb')
|
58
|
+
pid = spawn(
|
59
|
+
'protoc',
|
60
|
+
'-I.',
|
61
|
+
'src/proto/grpc/testing/duplicate/echo_duplicate.proto',
|
62
|
+
"--grpc_out=#{tmp_dir}",
|
63
|
+
"--plugin=protoc-gen-grpc=#{plugin}",
|
64
|
+
chdir: root_dir)
|
65
|
+
Process.wait(pid)
|
66
|
+
File.open(gen_out) { |f| got = f.read }
|
67
|
+
end
|
68
|
+
expect(got).to eq(want)
|
69
|
+
end
|
70
|
+
end
|
71
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: grpc
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.14.1.pre1
|
5
5
|
platform: x86-mingw32
|
6
6
|
authors:
|
7
7
|
- gRPC Authors
|
8
8
|
autorequire:
|
9
9
|
bindir: src/ruby/bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-05-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: google-protobuf
|
@@ -52,6 +52,20 @@ dependencies:
|
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '1.9'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: facter
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '2.4'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '2.4'
|
55
69
|
- !ruby/object:Gem::Dependency
|
56
70
|
name: logging
|
57
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -166,13 +180,7 @@ dependencies:
|
|
166
180
|
version: 0.7.0
|
167
181
|
description: Send RPCs from Ruby using GRPC
|
168
182
|
email: temiola@google.com
|
169
|
-
executables:
|
170
|
-
- math_client.rb
|
171
|
-
- math_server.rb
|
172
|
-
- noproto_client.rb
|
173
|
-
- noproto_server.rb
|
174
|
-
- grpc_ruby_interop_client
|
175
|
-
- grpc_ruby_interop_server
|
183
|
+
executables: []
|
176
184
|
extensions: []
|
177
185
|
extra_rdoc_files: []
|
178
186
|
files:
|
@@ -183,10 +191,6 @@ files:
|
|
183
191
|
- src/ruby/bin/apis/pubsub_demo.rb
|
184
192
|
- src/ruby/bin/apis/tech/pubsub/proto/pubsub.rb
|
185
193
|
- src/ruby/bin/apis/tech/pubsub/proto/pubsub_services.rb
|
186
|
-
- src/ruby/bin/grpc_ruby_interop_client
|
187
|
-
- src/ruby/bin/grpc_ruby_interop_server
|
188
|
-
- src/ruby/bin/interop/interop_client.rb
|
189
|
-
- src/ruby/bin/interop/interop_server.rb
|
190
194
|
- src/ruby/bin/math.rb
|
191
195
|
- src/ruby/bin/math_client.rb
|
192
196
|
- src/ruby/bin/math_server.rb
|
@@ -220,6 +224,8 @@ files:
|
|
220
224
|
- src/ruby/ext/grpc/rb_server.h
|
221
225
|
- src/ruby/ext/grpc/rb_server_credentials.c
|
222
226
|
- src/ruby/ext/grpc/rb_server_credentials.h
|
227
|
+
- src/ruby/ext/grpc/rb_signal.c
|
228
|
+
- src/ruby/ext/grpc/rb_signal.h
|
223
229
|
- src/ruby/lib/grpc.rb
|
224
230
|
- src/ruby/lib/grpc/2.0/grpc_c.so
|
225
231
|
- src/ruby/lib/grpc/2.1/grpc_c.so
|
@@ -237,12 +243,16 @@ files:
|
|
237
243
|
- src/ruby/lib/grpc/grpc_c.so
|
238
244
|
- src/ruby/lib/grpc/logconfig.rb
|
239
245
|
- src/ruby/lib/grpc/notifier.rb
|
246
|
+
- src/ruby/lib/grpc/signals.rb
|
240
247
|
- src/ruby/lib/grpc/version.rb
|
241
248
|
- src/ruby/pb/README.md
|
242
249
|
- src/ruby/pb/generate_proto_ruby.sh
|
243
250
|
- src/ruby/pb/grpc/health/checker.rb
|
244
251
|
- src/ruby/pb/grpc/health/v1/health.rb
|
245
252
|
- src/ruby/pb/grpc/health/v1/health_services.rb
|
253
|
+
- src/ruby/pb/grpc/testing/duplicate/echo_duplicate_services.rb
|
254
|
+
- src/ruby/pb/grpc/testing/metrics.rb
|
255
|
+
- src/ruby/pb/grpc/testing/metrics_services.rb
|
246
256
|
- src/ruby/pb/test/client.rb
|
247
257
|
- src/ruby/pb/test/proto/empty.rb
|
248
258
|
- src/ruby/pb/test/proto/messages.rb
|
@@ -261,6 +271,7 @@ files:
|
|
261
271
|
- src/ruby/spec/generic/rpc_server_pool_spec.rb
|
262
272
|
- src/ruby/spec/generic/rpc_server_spec.rb
|
263
273
|
- src/ruby/spec/generic/service_spec.rb
|
274
|
+
- src/ruby/spec/pb/duplicate/codegen_spec.rb
|
264
275
|
- src/ruby/spec/pb/health/checker_spec.rb
|
265
276
|
- src/ruby/spec/server_credentials_spec.rb
|
266
277
|
- src/ruby/spec/server_spec.rb
|
@@ -287,9 +298,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
287
298
|
version: 2.0.0
|
288
299
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
289
300
|
requirements:
|
290
|
-
- - "
|
301
|
+
- - ">"
|
291
302
|
- !ruby/object:Gem::Version
|
292
|
-
version:
|
303
|
+
version: 1.3.1
|
293
304
|
requirements: []
|
294
305
|
rubyforge_project:
|
295
306
|
rubygems_version: 2.5.1
|
@@ -304,6 +315,7 @@ test_files:
|
|
304
315
|
- src/ruby/spec/generic/service_spec.rb
|
305
316
|
- src/ruby/spec/generic/active_call_spec.rb
|
306
317
|
- src/ruby/spec/pb/health/checker_spec.rb
|
318
|
+
- src/ruby/spec/pb/duplicate/codegen_spec.rb
|
307
319
|
- src/ruby/spec/channel_spec.rb
|
308
320
|
- src/ruby/spec/client_server_spec.rb
|
309
321
|
- src/ruby/spec/testdata/README
|
@@ -1,33 +0,0 @@
|
|
1
|
-
#!/usr/bin/env ruby
|
2
|
-
|
3
|
-
# Copyright 2015, Google Inc.
|
4
|
-
# All rights reserved.
|
5
|
-
#
|
6
|
-
# Redistribution and use in source and binary forms, with or without
|
7
|
-
# modification, are permitted provided that the following conditions are
|
8
|
-
# met:
|
9
|
-
#
|
10
|
-
# * Redistributions of source code must retain the above copyright
|
11
|
-
# notice, this list of conditions and the following disclaimer.
|
12
|
-
# * Redistributions in binary form must reproduce the above
|
13
|
-
# copyright notice, this list of conditions and the following disclaimer
|
14
|
-
# in the documentation and/or other materials provided with the
|
15
|
-
# distribution.
|
16
|
-
# * Neither the name of Google Inc. nor the names of its
|
17
|
-
# contributors may be used to endorse or promote products derived from
|
18
|
-
# this software without specific prior written permission.
|
19
|
-
#
|
20
|
-
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
21
|
-
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
22
|
-
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
23
|
-
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
24
|
-
# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
25
|
-
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
26
|
-
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
27
|
-
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
28
|
-
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
29
|
-
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
30
|
-
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
31
|
-
|
32
|
-
# Provides a gem binary entry point for the interop client.
|
33
|
-
require 'test/client'
|