well-typed / grapesy

Native Haskell gRPC client and server based on `http2`
Other
31 stars 4 forks source link

Implement most client interop tests #94

Closed edsko closed 4 months ago

edsko commented 4 months ago

Still to do: cancel_after_begin, cancel_after_first_message, and timeout_on_sleeping_server.

edsko commented 4 months ago

The status after this PR is

Test Python C++ Go Java
cancel_after_begin
cancel_after_first_response
client_compressed_streaming
client_compressed_unary
client_streaming
custom_metadata
empty_stream
empty_unary
large_unary
ping_pong
server_compressed_streaming
server_compressed_unary
server_streaming
special_status_message
status_code_and_message
timeout_on_sleeping_server
unimplemented_method
unimplemented_service

The custom_metadata failure for Go is due to https://github.com/well-typed/grapesy/issues/93.

When running in automatic rather than manual mode, the tests sometimes fail non-deterministically with HandshakeFailed. I don't yet know what that is caused by.