tests: add timeout tests
authorMarek Chalupa <mchqwerty@gmail.com>
Wed, 12 Nov 2014 12:14:47 +0000 (13:14 +0100)
committerPekka Paalanen <pekka.paalanen@collabora.co.uk>
Mon, 17 Nov 2014 14:51:51 +0000 (16:51 +0200)
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>
tests/sanity-test.c

index 46f4f85..bd3f70c 100644 (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);
+}