From: Deng Zhengrong Date: Sat, 28 Jul 2012 22:26:06 +0000 (+0800) Subject: tests: modify sigbus-test to use 'check' framework X-Git-Url: https://code.delx.au/pulseaudio/commitdiff_plain/f4dd422c75e0699f016aba007c40ea872c1c8c36?ds=sidebyside tests: modify sigbus-test to use 'check' framework --- diff --git a/src/Makefile.am b/src/Makefile.am index 2cc39839..e5e2b21d 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -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_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 diff --git a/src/tests/sigbus-test.c b/src/tests/sigbus-test.c index 4b9ca840..e5815e54 100644 --- a/src/tests/sigbus-test.c +++ b/src/tests/sigbus-test.c @@ -26,10 +26,12 @@ #include #include +#include + #include #include -int main(int argc, char *argv[]) { +START_TEST (sigbus_test) { 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_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); @@ -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_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."); @@ -65,6 +67,24 @@ int main(int argc, char *argv[]) { 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; }