mirror of
https://gitlab.uni-freiburg.de/opensourcevdi/spice
synced 2025-12-27 15:45:54 +00:00
New API: spice_server_set_ws_ports This adds an optional dependency on libwebsockets. You need to get my patched 0.0.3 version here: git://people.freedesktop.org/~alon/libwebsockets There is no qemu patches yet, to test change in reds.c the default value of spice_ws_port to 5959 (for the default of spice-html5). For testing there is an online client at http://spice-space.org/spice-html5/spice.html Known issues: 1. The tester (server/tests/test_display_no_ssl) gets into dropping all data after a few seconds, I think it's an issue with the implemented watches, but haven't figured it out. 2. libwebsocket's read interface is inverted to what our code expects, i.e. there is no libwebsocket_read, so there is an additional copy involved (see RedsWebSocket). This can be fixed. 3. Listening on a separate port. Since the headers are different, we could listen on the same port (first three bytes RED/GET). I don't know if we want to? Todos: 1. SSL not implemented yet. Needs some thought as to how. 2. Serve spice-html5 when accessed as a http server. Nice to have. |
||
|---|---|---|
| .. | ||
| .gitignore | ||
| base_test.ppm | ||
| basic_event_loop.c | ||
| basic_event_loop.h | ||
| Makefile.am | ||
| README | ||
| regression_test.py | ||
| test_display_base.c | ||
| test_display_base.h | ||
| test_display_no_ssl.c | ||
| test_display_resolution_changes.c | ||
| test_display_streaming.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_spice_version.sh | ||
| test_two_servers.c | ||
| test_util.h | ||
| test_vdagent.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