diff options
author | Jelmer Vernooij <jelmer@samba.org> | 2006-06-16 13:48:52 +0200 |
---|---|---|
committer | Jelmer Vernooij <jelmer@samba.org> | 2006-06-16 13:48:52 +0200 |
commit | c2fa8279933a103d6576d891e85c1801d90c65ef (patch) | |
tree | 6eecae7f4895b54adbaa59d640aa701416c03708 /tests | |
parent | 07e46c92467d0787f1318412186a64cf1c9da562 (diff) |
Add unit testing infrastructure.
Diffstat (limited to 'tests')
-rw-r--r-- | tests/Makefile | 14 | ||||
-rw-r--r-- | tests/check.c | 17 | ||||
-rw-r--r-- | tests/check_util.c | 34 |
3 files changed, 65 insertions, 0 deletions
diff --git a/tests/Makefile b/tests/Makefile new file mode 100644 index 00000000..3a27a430 --- /dev/null +++ b/tests/Makefile @@ -0,0 +1,14 @@ +include ../Makefile.settings + +LFLAGS +=-lcheck + +all: check + ./check + +check: check.o check_util.o ../util.o + @echo '*' Linking $@ + @$(CC) $(CFLAGS) -o $@ $^ $(LFLAGS) $(EFLAGS) + +%.o: %.c + @echo '*' Compiling $< + @$(CC) -c $(CFLAGS) $< -o $@ diff --git a/tests/check.c b/tests/check.c new file mode 100644 index 00000000..999da16a --- /dev/null +++ b/tests/check.c @@ -0,0 +1,17 @@ +#include <stdlib.h> +#include <glib.h> +#include <gmodule.h> +#include <check.h> + +/* From check_util.c */ +Suite *util_suite(void); + +int main (void) +{ + int nf; + SRunner *sr = srunner_create(util_suite()); + srunner_run_all (sr, CK_NORMAL); + nf = srunner_ntests_failed(sr); + srunner_free(sr); + return (nf == 0) ? EXIT_SUCCESS : EXIT_FAILURE; +} diff --git a/tests/check_util.c b/tests/check_util.c new file mode 100644 index 00000000..52e8174c --- /dev/null +++ b/tests/check_util.c @@ -0,0 +1,34 @@ +#include <stdlib.h> +#include <glib.h> +#include <gmodule.h> +#include <check.h> +#include <string.h> +#include "irc.h" +#include "set.h" +#include "util.h" + +START_TEST(test_strip_linefeed) +{ + int i; + const char *get[] = { "Test", "Test\r", "Test\rX\r", NULL }; + const char *expected[] = { "Test", "Test", "TestX", NULL }; + + for (i = 0; get[i]; i++) { + char copy[20]; + strcpy(copy, get[i]); + strip_linefeed(copy); + fail_unless (strcmp(copy, expected[i]) == 0, + "(%d) strip_linefeed broken: %s -> %s (expected: %s)", + i, get[i], copy, expected[i]); + } +} +END_TEST + +Suite *util_suite (void) +{ + Suite *s = suite_create("Util"); + TCase *tc_core = tcase_create("Core"); + suite_add_tcase (s, tc_core); + tcase_add_test (tc_core, test_strip_linefeed); + return s; +} |