Running acceptance tests repeateadly I got some failures in:
DefaultDisplayServerTestFixture
BespokeDisplayServerTestFixture
ClientPidTestFixture
DisplayLeak
DisplayConfigurationTest
SurfacesWithOutputId
TestClientInput
Reproduce:
$ ./acceptance-tests --repeat=1000 | grep FAIL
[ FAILED ] DefaultDisplayServerTestFixture.client_library_connects_and_disconnects (0 ms)
[ FAILED ] DefaultDisplayServerTestFixture.synchronous_connection (0 ms)
[ FAILED ] DefaultDisplayServerTestFixture.client_library_creates_surface (0 ms)
[ FAILED ] DefaultDisplayServerTestFixture.surface_types (0 ms)
[ FAILED ] DefaultDisplayServerTestFixture.client_can_set_surface_state (0 ms)
[ FAILED ] DefaultDisplayServerTestFixture.client_receives_surface_state_events (0 ms)
[ FAILED ] DefaultDisplayServerTestFixture.surface_scanout_flag_toggles (1 ms)
[ FAILED ] DefaultDisplayServerTestFixture.client_library_creates_multiple_surfaces (0 ms)
[ FAILED ] DefaultDisplayServerTestFixture.client_library_accesses_and_advances_buffers (0 ms)
[ FAILED ] DefaultDisplayServerTestFixture.fully_synchronous_client (0 ms)
[ FAILED ] DefaultDisplayServerTestFixture.highly_threaded_client (0 ms)
[ FAILED ] DefaultDisplayServerTestFixture.client_library_accesses_platform_package (0 ms)
[ FAILED ] DefaultDisplayServerTestFixture.client_library_accesses_display_info (0 ms)
[ FAILED ] DefaultDisplayServerTestFixture.connect_errors_handled (0 ms)
[ FAILED ] DefaultDisplayServerTestFixture.connect_errors_dont_blow_up (0 ms)
[ FAILED ] DefaultDisplayServerTestFixture.ClientLibraryThreadsHandleNoSignals (0 ms)
[ FAILED ] DefaultDisplayServerTestFixture.ClientLibraryDoesNotInterfereWithClientSignalHandling (0 ms)
[ FAILED ] DefaultDisplayServerTestFixture.MultiSurfaceClientTracksBufferFdsCorrectly (0 ms)
[ FAILED ] DefaultDisplayServerTestFixture.creates_surface_of_correct_size (0 ms)
[ FAILED ] DefaultDisplayServerTestFixture.surfaces_have_distinct_ids (0 ms)
[ FAILED ] DefaultDisplayServerTestFixture.creates_multiple_surfaces_async (0 ms)
[ FAILED ] DefaultDisplayServerTestFixture.demonstrate_multiple_clients (1 ms)
[ FAILED ] BespokeDisplayServerTestFixture.sessions_creating_surface_receive_focus (120001 ms)
[ FAILED ] BespokeDisplayServerTestFixture.surfaces_receive_input_focus_when_created (120000 ms)
[ FAILED ] BespokeDisplayServerTestFixture.server_can_shut_down_when_clients_are_blocked (120001 ms)
[ FAILED ] BespokeDisplayServerTestFixture.server_releases_resources_on_shutdown_with_connected_clients (120001 ms)
[ FAILED ] BespokeDisplayServerTestFixture.a_surface_is_notified_of_receiving_focus (120001 ms)
[ FAILED ] BespokeDisplayServerTestFixture.two_surfaces_are_notified_of_gaining_and_losing_focus (120001 ms)
[ FAILED ] BespokeDisplayServerTestFixture.the_shell_surface_configurator_is_notified_of_attribute_changes (120001 ms)
[ FAILED ] BespokeDisplayServerTestFixture.the_shell_surface_configurator_may_interfere_with_attribute_changes (120000 ms)
[ FAILED ] BespokeDisplayServerTestFixture.server_announces_itself_on_startup (120001 ms)
[ FAILED ] ClientPidTestFixture.session_authorizer_receives_pid_of_connecting_clients (120001 ms)
[ FAILED ] ClientPidTestFixture.authorizer_may_prevent_connection_of_clients (120001 ms)
[ FAILED ] DisplayLeak.on_exit_display_objects_should_be_destroyed (3 ms)
[ FAILED ] DisplayConfigurationTest.display_configuration_reaches_client (120001 ms)
[ FAILED ] DisplayConfigurationTest.hw_display_change_notification_reaches_all_clients (120001 ms)
[ FAILED ] DisplayConfigurationTest.display_change_request_for_unauthorized_client_fails (120001 ms)
[ FAILED ] DisplayConfigurationTest.changing_config_for_focused_client_configures_display (120001 ms)
[ FAILED ] DisplayConfigurationTest.focusing_client_with_display_config_configures_display (120001 ms)
[ FAILED ] DisplayConfigurationTest.changing_focus_from_client_with_config_to_client_without_config_configures_display (120000 ms)
[ FAILED ] DisplayConfigurationTest.hw_display_change_doesnt_apply_base_config_if_per_session_config_is_active (120002 ms)
[ FAILED ] SurfacesWithOutputId.fullscreen_surfaces_are_placed_at_top_left_of_correct_output (120001 ms)
[ FAILED ] SurfacesWithOutputId.non_fullscreen_surfaces_are_not_accepted (120001 ms)
[ FAILED ] TestClientInput.clients_receive_key_input (120001 ms)
[ FAILED ] TestClientInput.clients_receive_us_english_mapped_keys (120001 ms)
[ FAILED ] TestClientInput.clients_receive_motion_inside_window (120001 ms)
[ FAILED ] TestClientInput.clients_receive_button_events_inside_window (120001 ms)
[ FAILED ] TestClientInput.multiple_clients_receive_motion_inside_windows (120001 ms)
[ FAILED ] TestClientInput.clients_do_not_receive_motion_outside_input_region (120001 ms)
[ FAILED ] TestClientInput.surfaces_obscure_motion_events_by_stacking (120001 ms)
[ FAILED ] TestClientInput.hidden_clients_do_not_receive_pointer_events
51 FAILED TESTS
I don't think a collection like this is a useful bug report - as individual tests are likely to be fixed separately.
However, I can reproduce the ClientPidTestFi xture failure, and see a "Broken pipe" error indicating that the server is disconnecting from the socket:
$ MIR_CLIENT_ RPC_REPORT= log bin/acceptance- tests --gtest_ filter= ClientPidTestFi xture.* --gtest_repeat=1000 --gtest_ break_on_ failure
...
Repeating all tests (iteration 688) . . .
Note: Google Test filter = ClientPidTestFi xture.* xture xture.session_ authorizer_ receives_ pid_of_ connecting_ clients
[==========] Running 2 tests from 1 test case.
[----------] Global test environment set-up.
[----------] 2 tests from ClientPidTestFi
[ RUN ] ClientPidTestFi
GMOCK WARNING: display_ is_allowed( 16787) xture.session_ authorizer_ receives_ pid_of_ connecting_ clients (14 ms) xture.authorize r_may_prevent_ connection_ of_clients display_ server/ development- branch/ tests/mir_ test_framework/ testing_ process_ manager. cpp:127: Failure :Result( child_terminate d_by_signal, signal(6), )
Uninteresting mock function call - returning default value.
Function call: configure_
Returns: false
Stack trace:
[DD, rpc] Invocation request: id: 0 method_name: connect
[DD, rpc] Invocation succeeded: id: 0 method_name: connect
[DD, rpc] Result received: id: 0
[DD, rpc] Complete response: id: 0
[DD, rpc] Invocation request: id: 1 method_name: disconnect
[DD, rpc] Invocation succeeded: id: 1 method_name: disconnect
[DD, rpc] Result received: id: 1
[DD, rpc] Complete response: id: 1
[ OK ] ClientPidTestFi
[ RUN ] ClientPidTestFi
[DD, rpc] Invocation request: id: 0 method_name: connect
[EE, rpc] Invocation failed: id: 0 method_name: connect error: Broken pipe
pure virtual method called
terminate called without an active exception
/home/alan/
Value of: result.succeeded()
Actual: false
Expected: true
client terminate error=process:
Segmentation fault (core dumped)