mirage / irmin-server

A high-performance server for Irmin
ISC License
23 stars 7 forks source link

Add tests for websocket backend #48

Closed zshipko closed 2 years ago

zshipko commented 2 years ago

@dinakajoy @patricoferris - this branch adds tests for the websocket server. It looks like nearly everything is passing! The only issue seems to be with watches which are kind of a special case where the client reads multiple times without making any requests - I will do some more debugging and let you know if I come up with anything!

zshipko commented 2 years ago

@dinakajoy @patricoferris - I haven't been able to track down the cause of this test failure, any ideas?

Here's the failing test: https://github.com/mirage/irmin/blob/main/src/irmin-test/store_watch.ml#L49

And the code causing issues: https://github.com/mirage/irmin-server/blob/master/src/irmin-client/client.ml#L718 and https://github.com/mirage/irmin-server/blob/master/src/irmin-server-internal/command_backend.ml#L424

It seems like maybe something to do with the way exceptions are handled based on the test that’s failing.

patricoferris commented 2 years ago

Think I know the problem, will try to get a fix for it