mirror of
https://gitlab.uni-freiburg.de/opensourcevdi/spice
synced 2026-01-07 20:00:20 +00:00
server/tests: add resolution changes tester
This commit is contained in:
parent
a6f9797c79
commit
a7d3f1de82
@ -24,13 +24,14 @@ COMMON_BASE = \
|
||||
test_util.h \
|
||||
$(NULL)
|
||||
|
||||
noinst_PROGRAMS = \
|
||||
test_display_no_ssl \
|
||||
test_display_streaming \
|
||||
test_empty_success \
|
||||
noinst_PROGRAMS = \
|
||||
test_display_no_ssl \
|
||||
test_display_streaming \
|
||||
test_empty_success \
|
||||
test_fail_on_null_core_interface \
|
||||
test_just_sockets_no_ssl \
|
||||
test_playback \
|
||||
test_just_sockets_no_ssl \
|
||||
test_playback \
|
||||
test_display_resolution_changes \
|
||||
$(NULL)
|
||||
|
||||
test_display_streaming_SOURCES = \
|
||||
@ -47,6 +48,13 @@ test_display_no_ssl_SOURCES = \
|
||||
test_display_no_ssl.c \
|
||||
$(NULL)
|
||||
|
||||
test_display_resolution_changes_SOURCES = \
|
||||
$(COMMON_BASE) \
|
||||
test_display_base.c \
|
||||
test_display_base.h \
|
||||
test_display_resolution_changes.c \
|
||||
$(NULL)
|
||||
|
||||
test_just_sockets_no_ssl_SOURCES = \
|
||||
$(COMMON_BASE) \
|
||||
test_just_sockets_no_ssl.c \
|
||||
|
||||
66
server/tests/test_display_resolution_changes.c
Normal file
66
server/tests/test_display_resolution_changes.c
Normal file
@ -0,0 +1,66 @@
|
||||
/**
|
||||
* Recreate the primary surface endlessly.
|
||||
*/
|
||||
|
||||
#include <math.h>
|
||||
#include <config.h>
|
||||
#include <stdlib.h>
|
||||
#include "test_display_base.h"
|
||||
|
||||
SpiceServer *server;
|
||||
SpiceCoreInterface *core;
|
||||
SpiceTimer *ping_timer;
|
||||
|
||||
void show_channels(SpiceServer *server);
|
||||
|
||||
int ping_ms = 100;
|
||||
|
||||
void pinger(void *opaque)
|
||||
{
|
||||
// show_channels is not thread safe - fails if disconnections / connections occur
|
||||
//show_channels(server);
|
||||
|
||||
core->timer_start(ping_timer, ping_ms);
|
||||
}
|
||||
|
||||
void set_primary_params(void *cb_opaque, uint64_t *arg1, uint64_t *arg2)
|
||||
{
|
||||
#if 0
|
||||
static int toggle = 0;
|
||||
|
||||
if (toggle) {
|
||||
*arg1 = 800;
|
||||
*arg2 = 600;
|
||||
} else {
|
||||
*arg1 = 1024;
|
||||
*arg2 = 768;
|
||||
}
|
||||
toggle = 1 - toggle;
|
||||
#endif
|
||||
static int count = 0;
|
||||
|
||||
*arg1 = 800 + sin((float)count / 6) * 200;
|
||||
*arg2 = 600 + cos((float)count / 6) * 200;
|
||||
count++;
|
||||
}
|
||||
|
||||
static Command commands[] = {
|
||||
{DESTROY_PRIMARY, 0, 0, NULL, NULL},
|
||||
{CREATE_PRIMARY, 0, 0, set_primary_params, NULL},
|
||||
};
|
||||
|
||||
int main(void)
|
||||
{
|
||||
core = basic_event_loop_init();
|
||||
server = test_init(core);
|
||||
//spice_server_set_image_compression(server, SPICE_IMAGE_COMPRESS_OFF);
|
||||
test_add_display_interface(server);
|
||||
test_set_command_list(commands, COUNT(commands));
|
||||
|
||||
ping_timer = core->timer_add(pinger, NULL);
|
||||
core->timer_start(ping_timer, ping_ms);
|
||||
|
||||
basic_event_loop_mainloop();
|
||||
|
||||
return 0;
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user