tree: 3512bbcdea56c2827eeb99fbf9a3fd060749c80c [path history] [tgz]
  1. lib/
  2. protos/
  3. channel_closing_client.rb
  4. channel_closing_driver.rb
  5. channel_state_client.rb
  6. channel_state_driver.rb
  7. end2end_common.rb
  8. forking_client_client.rb
  9. forking_client_driver.rb
  10. gen_protos.sh
  11. grpc_class_init_client.rb
  12. grpc_class_init_driver.rb
  13. killed_client_thread_client.rb
  14. killed_client_thread_driver.rb
  15. load_grpc_with_gc_stress_driver.rb
  16. multiple_killed_watching_threads_driver.rb
  17. README.md
  18. sig_handling_client.rb
  19. sig_handling_driver.rb
  20. sig_int_during_channel_watch_client.rb
  21. sig_int_during_channel_watch_driver.rb
src/ruby/end2end/README.md

This directory contains some grpc-ruby end to end tests.

Each test here involves two files: a "driver" and a "client". For example, the "channel_closing" test involves channel_closing_driver.rb and channel_closing_client.rb.

Typically, the "driver" will start up a simple "echo" server, and then spawn a client. It gives the client the address of the "echo" server as well as an address to listen on for control rpcs. Depending on the test, the client usually starts up a "ClientControl" grpc server for the driver to interact with (the driver can tell the client process to do strange things at different times, depending on the test).

So far these tests are mostly useful for testing process-shutdown related situations, since the client's run in separate processes.

These tests are invoked through the "tools/run_tests/run_tests.py" script (the Rakefile doesn't start these).