From b136a28f377ea667faed44e939ad0434d419bb8a Mon Sep 17 00:00:00 2001 From: Robin Haberkorn Date: Mon, 14 May 2012 15:58:47 +0200 Subject: added test suite for libexperiment-reader using GTester * automatically generate test reports * does not abort when gtester tools are missing (as test suite programs can be built nevertheless) --- lib/experiment-reader/Makefile.am | 2 + lib/experiment-reader/tests/Makefile.am | 21 + .../tests/test-experiment-valid.xml | 914 +++++++++++++++++++++ lib/experiment-reader/tests/unit-tests.c | 77 ++ 4 files changed, 1014 insertions(+) create mode 100644 lib/experiment-reader/tests/Makefile.am create mode 100644 lib/experiment-reader/tests/test-experiment-valid.xml create mode 100644 lib/experiment-reader/tests/unit-tests.c (limited to 'lib/experiment-reader') diff --git a/lib/experiment-reader/Makefile.am b/lib/experiment-reader/Makefile.am index 7f1a040..fc06aac 100644 --- a/lib/experiment-reader/Makefile.am +++ b/lib/experiment-reader/Makefile.am @@ -1,5 +1,7 @@ AM_CFLAGS = -Wall +SUBDIRS = . tests + reader_datadir = @datarootdir@/libexperiment-reader lib_LTLIBRARIES = libexperiment-reader.la diff --git a/lib/experiment-reader/tests/Makefile.am b/lib/experiment-reader/tests/Makefile.am new file mode 100644 index 0000000..388496f --- /dev/null +++ b/lib/experiment-reader/tests/Makefile.am @@ -0,0 +1,21 @@ +AM_CFLAGS = -Wall +AM_CPPFLAGS = -I.. +LDADD = ../libexperiment-reader.la + +AM_CFLAGS += @LIBGLIB_CFLAGS@ +LDADD += @LIBGLIB_LIBS@ + +check_PROGRAMS = unit-tests +dist_noinst_DATA = test-experiment-valid.xml + +if USE_GTESTER +check-local : gtester-log.html +endif + +gtester-log.html : gtester-log.xml + @GTESTER_REPORT@ $< >$@ + +gtester-log.xml : $(check_PROGRAMS) + @GTESTER@ -m=quick -o=$@ $^ + +CLEANFILES = gtester-log.xml gtester-log.html diff --git a/lib/experiment-reader/tests/test-experiment-valid.xml b/lib/experiment-reader/tests/test-experiment-valid.xml new file mode 100644 index 0000000..a7b8bec --- /dev/null +++ b/lib/experiment-reader/tests/test-experiment-valid.xml @@ -0,0 +1,914 @@ + + + + + + + + + Wizard + + + Proband + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + guten tag und herzlich willkommen + + + + + + + + + + + + + bitte nennen und buchstabieren sie zunächst ihren vor und zunamen + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + mit abschluss dieser aufgabe + + + + + + tschüss + + + + diff --git a/lib/experiment-reader/tests/unit-tests.c b/lib/experiment-reader/tests/unit-tests.c new file mode 100644 index 0000000..6ccb84e --- /dev/null +++ b/lib/experiment-reader/tests/unit-tests.c @@ -0,0 +1,77 @@ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include + +#include +#include + +#include + +#define TEST_EXPERIMENT_VALID "test-experiment-valid.xml" +/* #define TEST_EXPERIMENT_INVALID "test-experiment-invalid.xml" */ + +static void +test_new_valid(void) +{ + ExperimentReader *reader; + + reader = experiment_reader_new(TEST_EXPERIMENT_VALID); + g_assert(reader != NULL); + + g_object_unref(reader); +} + +static void +test_foreach_greeting_topic_values_cb(ExperimentReader *reader, + const gchar *topic_id, + gint64 start_time, + gpointer data) +{ + gint *i = (gint *)data; + + g_assert(reader != NULL); + g_assert(data != NULL); + + switch (*i) { + case 0: + g_assert_cmpstr(topic_id, ==, "bz_2"); + g_assert_cmpint(start_time, ==, 13648); + break; + default: + g_assert_not_reached(); + } + + ++*i; +} + +static void +test_foreach_greeting_topic_values(void) +{ + ExperimentReader *reader; + gint cb_iter = 0; + + reader = experiment_reader_new(TEST_EXPERIMENT_VALID); + g_assert(reader != NULL); + + experiment_reader_foreach_greeting_topic(reader, + test_foreach_greeting_topic_values_cb, + &cb_iter); + + g_object_unref(reader); +} + +int +main(int argc, char **argv) +{ + g_type_init(); + g_test_init(&argc, &argv, NULL); + + g_test_add_func("/api/new/test_valid", test_new_valid); + + g_test_add_func("/api/foreach_greeting_topic/test_values", + test_foreach_greeting_topic_values); + + g_test_run_suite(g_test_get_root()); +} -- cgit v1.2.3