]> code.delx.au - pulseaudio/commitdiff
tests: modify sigbus-test to use 'check' framework
authorDeng Zhengrong <dzrongg@gmail.com>
Sat, 28 Jul 2012 22:26:06 +0000 (06:26 +0800)
committerArun Raghavan <arun.raghavan@collabora.co.uk>
Mon, 20 Aug 2012 01:35:59 +0000 (07:05 +0530)
src/Makefile.am
src/tests/sigbus-test.c

index 2cc39839d24f73d3a12e16497d85a87af07fa0be..e5e2b21d4ba38bef854e13b4e42f25b85ade2a02 100644 (file)
@@ -506,8 +506,8 @@ lock_autospawn_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS)
 
 sigbus_test_SOURCES = tests/sigbus-test.c
 sigbus_test_LDADD = $(AM_LDADD) libpulsecore-@PA_MAJORMINOR@.la libpulse.la libpulsecommon-@PA_MAJORMINOR@.la
 
 sigbus_test_SOURCES = tests/sigbus-test.c
 sigbus_test_LDADD = $(AM_LDADD) libpulsecore-@PA_MAJORMINOR@.la libpulse.la libpulsecommon-@PA_MAJORMINOR@.la
-sigbus_test_CFLAGS = $(AM_CFLAGS)
-sigbus_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS)
+sigbus_test_CFLAGS = $(AM_CFLAGS) $(LIBCHECK_CFLAGS)
+sigbus_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS) $(LIBCHECK_LIBS)
 
 gtk_test_SOURCES = tests/gtk-test.c
 gtk_test_LDADD = $(AM_LDADD) $(GTK20_LIBS) libpulse-mainloop-glib.la libpulse.la
 
 gtk_test_SOURCES = tests/gtk-test.c
 gtk_test_LDADD = $(AM_LDADD) $(GTK20_LIBS) libpulse-mainloop-glib.la libpulse.la
index 4b9ca84059397dfc8b8b0807b65fb6d303bbcf3c..e5815e5423b00f0df9665c2ec371a7878ad6514e 100644 (file)
 #include <fcntl.h>
 #include <sys/mman.h>
 
 #include <fcntl.h>
 #include <sys/mman.h>
 
+#include <check.h>
+
 #include <pulsecore/memtrap.h>
 #include <pulsecore/core-util.h>
 
 #include <pulsecore/memtrap.h>
 #include <pulsecore/core-util.h>
 
-int main(int argc, char *argv[]) {
+START_TEST (sigbus_test) {
     void *p;
     int fd;
     pa_memtrap *m;
     void *p;
     int fd;
     pa_memtrap *m;
@@ -38,10 +40,10 @@ int main(int argc, char *argv[]) {
     pa_memtrap_install();
 
     /* Create the memory map */
     pa_memtrap_install();
 
     /* Create the memory map */
-    pa_assert_se((fd = open("sigbus-test-map", O_RDWR|O_TRUNC|O_CREAT, 0660)) >= 0);
-    pa_assert_se(unlink("sigbus-test-map") == 0);
-    pa_assert_se(ftruncate(fd, PA_PAGE_SIZE) >= 0);
-    pa_assert_se((p = mmap(NULL, PA_PAGE_SIZE, PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0)) != MAP_FAILED);
+    fail_unless((fd = open("sigbus-test-map", O_RDWR|O_TRUNC|O_CREAT, 0660)) >= 0);
+    fail_unless(unlink("sigbus-test-map") == 0);
+    fail_unless(ftruncate(fd, PA_PAGE_SIZE) >= 0);
+    fail_unless((p = mmap(NULL, PA_PAGE_SIZE, PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0)) != MAP_FAILED);
 
     /* Register memory map */
     m = pa_memtrap_add(p, PA_PAGE_SIZE);
 
     /* Register memory map */
     m = pa_memtrap_add(p, PA_PAGE_SIZE);
@@ -54,7 +56,7 @@ int main(int argc, char *argv[]) {
     pa_log("And memtrap says it is good: %s", pa_yes_no(pa_memtrap_is_good(m)));
 
     /* Invalidate mapping */
     pa_log("And memtrap says it is good: %s", pa_yes_no(pa_memtrap_is_good(m)));
 
     /* Invalidate mapping */
-    pa_assert_se(ftruncate(fd, 0) >= 0);
+    fail_unless(ftruncate(fd, 0) >= 0);
 
     /* Use memory map */
     pa_snprintf(p, PA_PAGE_SIZE, "This is a test that should fail but get caught.");
 
     /* Use memory map */
     pa_snprintf(p, PA_PAGE_SIZE, "This is a test that should fail but get caught.");
@@ -65,6 +67,24 @@ int main(int argc, char *argv[]) {
 
     pa_memtrap_remove(m);
     munmap(p, PA_PAGE_SIZE);
 
     pa_memtrap_remove(m);
     munmap(p, PA_PAGE_SIZE);
+}
+END_TEST
 
 
-    return 0;
+int main(int argc, char *argv[]) {
+    int failed = 0;
+    Suite *s;
+    TCase *tc;
+    SRunner *sr;
+
+    s = suite_create("Sig Bus");
+    tc = tcase_create("sigbus");
+    tcase_add_test(tc, sigbus_test);
+    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;
 }
 }