mirror of
https://gitlab.uni-freiburg.de/opensourcevdi/spice
synced 2025-12-27 07:29:32 +00:00
Check that cancelling a timer the timer callback is not called. This can happen in latency code (red-channel.c). In red_channel_client_cancel_ping_timer latency timer is cancelled and state is set to PING_STATE_NONE however if timer was already active what happens is that the red_channel_client_ping_timer is called and the line spice_assert(rcc->latency_monitor.state == PING_STATE_TIMER); is triggered causing spice-server to abort. This happens as GLib loop add all active sources to an array but if the timer is deactivated before the event is dispatched the event will be dispatched unless the source is destroyed. Signed-off-by: Frediano Ziglio <fziglio@redhat.com> Acked-by: Christophe Fergeau <cfergeau@redhat.com> |
||
|---|---|---|
| .. | ||
| .gitignore | ||
| base_test.ppm | ||
| basic_event_loop.c | ||
| basic_event_loop.h | ||
| Makefile.am | ||
| README | ||
| regression_test.py | ||
| replay.c | ||
| stat-main.c | ||
| stat-test.c | ||
| stream-test.c | ||
| test_display_base.c | ||
| test_display_base.h | ||
| test_display_no_ssl.c | ||
| test_display_resolution_changes.c | ||
| test_display_streaming.c | ||
| test_display_width_stride.c | ||
| test_empty_success.c | ||
| test_fail_on_null_core_interface.c | ||
| test_just_sockets_no_ssl.c | ||
| test_multiple.py | ||
| test_playback.c | ||
| test_two_servers.c | ||
| test_vdagent.c | ||
| test-loop.c | ||
| test-qxl-parsing.c | ||
What is here ============ This directory will contain a testsuite for the server including tetris drawing. Unfortunately tetris and most of the tests are not here right now. You can however run all the tests and use libtool to debug any of them thus: libtool --mode=execute gdb test_just_sockets_no_ssl Overview of tests ================= test_just_sockets_no_ssl A complete server, only provides the main and inputs channels. Doesn't actually produce anything on the channels. Essentially a test of the regular link code (reds.c), good for multiple connect/disconnect tests. test_empty_success tests calling test_fail_on_null_core_interface should abort when run (when spice tries to watch_add) basic_event_loop.c used by test_just_sockets_no_ssl, can be used by other tests. very crude event loop. Should probably use libevent for better tests, but this is self contained. Automated tests =============== test_display_streaming.c this test can be used to check regressions. For this, Spice needs to be compiled with --enable-automated-tests and test_display_streaming needs to be called passing --automated-tests as parameter