tests: add timeout tests

sanity tests for timeouts.

v2:
  use test_sleep instead of sleep
  add few more test-cases

Signed-off-by: Marek Chalupa <mchqwerty@gmail.com>
Acked-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
This commit is contained in:
Marek Chalupa 2014-11-12 13:14:47 +01:00 committed by Pekka Paalanen
parent 6ebe55060e
commit 1d2ef9ee08

View file

@ -29,6 +29,9 @@
#include "test-runner.h"
#include "wayland-util.h"
#define WL_HIDE_DEPRECATED
#include "test-compositor.h"
extern int leak_check_enabled;
TEST(empty)
@ -125,3 +128,67 @@ TEST(sanity_fd_exec)
exec_fd_leak_check(nr_fds + 2);
}
FAIL_TEST(timeout_tst)
{
test_set_timeout(1);
/* test should reach timeout */
test_sleep(2);
}
TEST(timeout2_tst)
{
/* the test should end before reaching timeout,
* thus it should pass */
test_set_timeout(1);
/* 200 000 microsec = 0.2 sec */
test_usleep(200000);
}
FAIL_TEST(timeout_reset_tst)
{
test_set_timeout(5);
test_set_timeout(10);
test_set_timeout(1);
/* test should fail on timeout */
test_sleep(2);
}
TEST(timeout_turnoff)
{
test_set_timeout(1);
test_set_timeout(0);
test_usleep(2);
}
/* test timeouts with test-compositor */
FAIL_TEST(tc_timeout_tst)
{
struct display *d = display_create();
client_create(d, timeout_tst);
display_run(d);
display_destroy(d);
}
FAIL_TEST(tc_timeout2_tst)
{
struct display *d = display_create();
client_create(d, timeout_reset_tst);
display_run(d);
display_destroy(d);
}
TEST(tc_timeout3_tst)
{
struct display *d = display_create();
client_create(d, timeout2_tst);
display_run(d);
client_create(d, timeout_turnoff);
display_run(d);
display_destroy(d);
}