conform test to formatter

pull/10306/head
Alexander Polcyn 8 years ago
parent 34bb6df108
commit 077f890965
  1. 2
      src/ruby/end2end/channel_closing_driver.rb
  2. 2
      src/ruby/end2end/channel_state_driver.rb
  3. 5
      src/ruby/end2end/end2end_common.rb
  4. 5
      src/ruby/end2end/killed_client_thread_client.rb
  5. 56
      src/ruby/end2end/killed_client_thread_driver.rb
  6. 2
      src/ruby/end2end/sig_handling_driver.rb
  7. 2
      src/ruby/end2end/sig_int_during_channel_watch_driver.rb
  8. 1
      tools/run_tests/helper_scripts/run_ruby_end2end_tests.sh

@ -36,7 +36,7 @@ require_relative './end2end_common'
def main def main
STDERR.puts 'start server' STDERR.puts 'start server'
server_runner = ServerRunner.new server_runner = ServerRunner.new(EchoServerImpl)
server_port = server_runner.run server_port = server_runner.run
sleep 1 sleep 1

@ -35,7 +35,7 @@ require_relative './end2end_common'
def main def main
STDERR.puts 'start server' STDERR.puts 'start server'
server_runner = ServerRunner.new server_runner = ServerRunner.new(EchoServerImpl)
server_port = server_runner.run server_port = server_runner.run
sleep 1 sleep 1

@ -55,13 +55,14 @@ end
# ServerRunner starts an "echo server" that test clients can make calls to # ServerRunner starts an "echo server" that test clients can make calls to
class ServerRunner class ServerRunner
def initialize def initialize(service_impl)
@service_impl = service_impl
end end
def run def run
@srv = GRPC::RpcServer.new @srv = GRPC::RpcServer.new
port = @srv.add_http2_port('0.0.0.0:0', :this_port_is_insecure) port = @srv.add_http2_port('0.0.0.0:0', :this_port_is_insecure)
@srv.handle(EchoServerImpl) @srv.handle(@service_impl)
@thd = Thread.new do @thd = Thread.new do
@srv.run @srv.run

@ -29,6 +29,9 @@
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
# Attempt to reproduce
# https://github.com/GoogleCloudPlatform/google-cloud-ruby/issues/1327
require_relative './end2end_common' require_relative './end2end_common'
def main def main
@ -46,7 +49,7 @@ def main
stub = Echo::EchoServer::Stub.new("localhost:#{server_port}", stub = Echo::EchoServer::Stub.new("localhost:#{server_port}",
:this_channel_is_insecure) :this_channel_is_insecure)
stub.echo(Echo::EchoRequest.new(request: 'hello')) stub.echo(Echo::EchoRequest.new(request: 'hello'))
raise 'the clients rpc in this test shouldnt complete. ' \ fail 'the clients rpc in this test shouldnt complete. ' \
'expecting SIGINT to happen in the middle of the call' 'expecting SIGINT to happen in the middle of the call'
end end
thd.join thd.join

@ -31,12 +31,15 @@
require_relative './end2end_common' require_relative './end2end_common'
# Service that sleeps for a long time upon receiving an 'echo request'
# Also, this notified @call_started_cv once it has received a request.
class SleepingEchoServerImpl < Echo::EchoServer::Service class SleepingEchoServerImpl < Echo::EchoServer::Service
def initialize(call_started, call_started_mu, call_started_cv) def initialize(call_started, call_started_mu, call_started_cv)
@call_started = call_started @call_started = call_started
@call_started_mu = call_started_mu @call_started_mu = call_started_mu
@call_started_cv = call_started_cv @call_started_cv = call_started_cv
end end
def echo(echo_req, _) def echo(echo_req, _)
@call_started_mu.synchronize do @call_started_mu.synchronize do
@call_started.set_true @call_started.set_true
@ -47,43 +50,19 @@ class SleepingEchoServerImpl < Echo::EchoServer::Service
end end
end end
class SleepingServerRunner # Mutable boolean
def initialize(service_impl)
@service_impl = service_impl
end
def run
@srv = GRPC::RpcServer.new
port = @srv.add_http2_port('0.0.0.0:0', :this_port_is_insecure)
@srv.handle(@service_impl)
@thd = Thread.new do
@srv.run
end
@srv.wait_till_running
port
end
def stop
@srv.stop
@thd.join
fail 'server not stopped' unless @srv.stopped?
end
end
class BoolHolder class BoolHolder
attr_reader :val
def init def init
@val = false @val = false
end end
def set_true def set_true
@val = true @val = true
end end
def get_val
@val
end
end end
def main def main
STDERR.puts 'start server' STDERR.puts 'start server'
@ -91,20 +70,22 @@ def main
call_started_mu = Mutex.new call_started_mu = Mutex.new
call_started_cv = ConditionVariable.new call_started_cv = ConditionVariable.new
service_impl = SleepingEchoServerImpl.new(call_started, call_started_mu, call_started_cv) service_impl = SleepingEchoServerImpl.new(call_started,
server_runner = SleepingServerRunner.new(service_impl) call_started_mu,
call_started_cv)
server_runner = ServerRunner.new(service_impl)
server_port = server_runner.run server_port = server_runner.run
STDERR.puts 'start client' STDERR.puts 'start client'
_, client_pid = start_client('killed_client_thread_client.rb', _, client_pid = start_client('killed_client_thread_client.rb',
server_port) server_port)
call_started_mu.synchronize do call_started_mu.synchronize do
while !call_started.get_val do call_started_cv.wait(call_started_mu) until call_started.val
call_started_cv.wait(call_started_mu)
end
end end
# SIGINT the child process not that it's
# in the middle of an RPC (happening on a non-main thread)
Process.kill('SIGINT', client_pid) Process.kill('SIGINT', client_pid)
STDERR.puts 'sent shutdown' STDERR.puts 'sent shutdown'
@ -117,13 +98,14 @@ def main
Process.kill('SIGKILL', client_pid) Process.kill('SIGKILL', client_pid)
Process.wait(client_pid) Process.wait(client_pid)
STDERR.puts 'killed client child' STDERR.puts 'killed client child'
raise 'Timed out waiting for client process. It likely hangs when ' \ raise 'Timed out waiting for client process. ' \
'killed while in the middle of an rpc' 'It likely hangs when killed while in the middle of an rpc'
end end
client_exit_code = $CHILD_STATUS client_exit_code = $CHILD_STATUS
if client_exit_code.termsig != 2 # SIGINT if client_exit_code.termsig != 2 # SIGINT
fail "expected client exit from SIGINT but got child status: #{client_exit_code}" fail 'expected client exit from SIGINT ' \
"but got child status: #{client_exit_code}"
end end
server_runner.stop server_runner.stop

@ -36,7 +36,7 @@ require_relative './end2end_common'
def main def main
STDERR.puts 'start server' STDERR.puts 'start server'
server_runner = ServerRunner.new server_runner = ServerRunner.new(EchoServerImpl)
server_port = server_runner.run server_port = server_runner.run
sleep 1 sleep 1

@ -36,7 +36,7 @@ require_relative './end2end_common'
def main def main
STDERR.puts 'start server' STDERR.puts 'start server'
server_runner = ServerRunner.new server_runner = ServerRunner.new(EchoServerImpl)
server_port = server_runner.run server_port = server_runner.run
sleep 1 sleep 1

@ -38,4 +38,5 @@ ruby src/ruby/end2end/sig_handling_driver.rb || EXIT_CODE=1
ruby src/ruby/end2end/channel_state_driver.rb || EXIT_CODE=1 ruby src/ruby/end2end/channel_state_driver.rb || EXIT_CODE=1
ruby src/ruby/end2end/channel_closing_driver.rb || EXIT_CODE=1 ruby src/ruby/end2end/channel_closing_driver.rb || EXIT_CODE=1
ruby src/ruby/end2end/sig_int_during_channel_watch_driver.rb || EXIT_CODE=1 ruby src/ruby/end2end/sig_int_during_channel_watch_driver.rb || EXIT_CODE=1
ruby src/ruby/end2end/killed_client_thread_driver.rb || EXIT_CODE=1
exit $EXIT_CODE exit $EXIT_CODE

Loading…
Cancel
Save