> Given our current level of explicit guarantees (i.e. none), I agree with
> Daniel about this.
>
> There are two questions of ordering/timing in the code:
>
> 1. Whether mir_surface_configure_cursor() will be processed by the server
> before mir_surface_set_state().
I say this is expected behavior - and would be surprised if we ever change that. Doing so would invalidate other tests - e.g. ClientLibrary.can_set_surface_state.
Further, if the server can re-order the requests, then waiting for the request submission to complete doesn't give any guarantee that the request has been handled.
> 2. Whether mir_surface_configure_cursor() will have been processed by the
> server by the time we release the surface/connection.
We wait (expectations_satisfied.wait_for_at_most_seconds(60);) for the server to process the call before closing the client.
> Given our current level of explicit guarantees (i.e. none), I agree with configure_ cursor( ) will be processed by the server set_state( ).
> Daniel about this.
>
> There are two questions of ordering/timing in the code:
>
> 1. Whether mir_surface_
> before mir_surface_
I say this is expected behavior - and would be surprised if we ever change that. Doing so would invalidate other tests - e.g. ClientLibrary. can_set_ surface_ state.
Further, if the server can re-order the requests, then waiting for the request submission to complete doesn't give any guarantee that the request has been handled.
> 2. Whether mir_surface_ configure_ cursor( ) will have been processed by the
> server by the time we release the surface/connection.
We wait (expectations_ satisfied. wait_for_ at_most_ seconds( 60);) for the server to process the call before closing the client.