]> code.delx.au - pulseaudio/blobdiff - src/tests/rtpoll-test.c
tests: modify rtpoll-test to use 'check' framework
[pulseaudio] / src / tests / rtpoll-test.c
index 953fd61dae1764fc9c248179458b86cfbb47bb5d..2ac34f0e5136533ef13c96d035cd1e135e681820 100644 (file)
@@ -3,7 +3,7 @@
 
   PulseAudio is free software; you can redistribute it and/or modify
   it under the terms of the GNU Lesser General Public License as published
 
   PulseAudio is free software; you can redistribute it and/or modify
   it under the terms of the GNU Lesser General Public License as published
-  by the Free Software Foundation; either version 2 of the License,
+  by the Free Software Foundation; either version 2.1 of the License,
   or (at your option) any later version.
 
   PulseAudio is distributed in the hope that it will be useful, but
   or (at your option) any later version.
 
   PulseAudio is distributed in the hope that it will be useful, but
 #include <config.h>
 #endif
 
 #include <config.h>
 #endif
 
+#include <check.h>
 #include <signal.h>
 #include <signal.h>
-#include <poll.h>
 
 
+#include <pulsecore/poll.h>
 #include <pulsecore/log.h>
 #include <pulsecore/rtpoll.h>
 #include <pulsecore/log.h>
 #include <pulsecore/rtpoll.h>
-#include <pulsecore/rtsig.h>
 
 static int before(pa_rtpoll_item *i) {
     pa_log("before");
 
 static int before(pa_rtpoll_item *i) {
     pa_log("before");
@@ -42,15 +42,11 @@ static int worker(pa_rtpoll_item *w) {
     return 0;
 }
 
     return 0;
 }
 
-int main(int argc, char *argv[]) {
+START_TEST (rtpoll_test) {
     pa_rtpoll *p;
     pa_rtpoll_item *i, *w;
     struct pollfd *pollfd;
 
     pa_rtpoll *p;
     pa_rtpoll_item *i, *w;
     struct pollfd *pollfd;
 
-#ifdef SIGRTMIN
-    pa_rtsig_configure(SIGRTMIN+10, SIGRTMAX);
-#endif
-
     p = pa_rtpoll_new();
 
     i = pa_rtpoll_item_new(p, PA_RTPOLL_EARLY, 1);
     p = pa_rtpoll_new();
 
     i = pa_rtpoll_item_new(p, PA_RTPOLL_EARLY, 1);
@@ -64,7 +60,6 @@ int main(int argc, char *argv[]) {
     w = pa_rtpoll_item_new(p, PA_RTPOLL_NORMAL, 0);
     pa_rtpoll_item_set_before_callback(w, worker);
 
     w = pa_rtpoll_item_new(p, PA_RTPOLL_NORMAL, 0);
     pa_rtpoll_item_set_before_callback(w, worker);
 
-    pa_rtpoll_install(p);
     pa_rtpoll_set_timer_relative(p, 10000000); /* 10 s */
 
     pa_rtpoll_run(p, 1);
     pa_rtpoll_set_timer_relative(p, 10000000); /* 10 s */
 
     pa_rtpoll_run(p, 1);
@@ -86,6 +81,28 @@ int main(int argc, char *argv[]) {
     pa_rtpoll_item_free(w);
 
     pa_rtpoll_free(p);
     pa_rtpoll_item_free(w);
 
     pa_rtpoll_free(p);
+}
+END_TEST
 
 
-    return 0;
+int main(int argc, char *argv[]) {
+    int failed = 0;
+    Suite *s;
+    TCase *tc;
+    SRunner *sr;
+
+    s = suite_create("RT Poll");
+    tc = tcase_create("rtpoll");
+    tcase_add_test(tc, rtpoll_test);
+    /* the default timeout is too small,
+     * set it to a reasonable large one.
+     */
+    tcase_set_timeout(tc, 60 * 60);
+    suite_add_tcase(s, tc);
+
+    sr = srunner_create(s);
+    srunner_run_all(sr, CK_NORMAL);
+    failed = srunner_ntests_failed(sr);
+    srunner_free(sr);
+
+    return (failed == 0) ? EXIT_SUCCESS : EXIT_FAILURE;
 }
 }