diff --git a/src/tests/Makefile.am b/src/tests/Makefile.am index db53be0..e9210ee 100644 --- a/src/tests/Makefile.am +++ b/src/tests/Makefile.am @@ -47,5 +47,13 @@ ctest_list_test_LDADD = libice_ctest.la \ src/list.o check_PROGRAMS += ctest_list.test +ctest_reportxml_test_SOURCES = %reldir%/ctest_reportxml.c +ctest_reportxml_test_LDADD = libice_ctest.la \ + thread/libicethread.la \ + avl/libiceavl.la \ + src/ro.o \ + src/reportxml.o +check_PROGRAMS += ctest_reportxml.test + # Add all programs to TESTS TESTS = $(check_PROGRAMS) diff --git a/src/tests/ctest_reportxml.c b/src/tests/ctest_reportxml.c new file mode 100644 index 0000000..2ca4b09 --- /dev/null +++ b/src/tests/ctest_reportxml.c @@ -0,0 +1,47 @@ +/* Icecast + * + * This program is distributed under the GNU General Public License, version 2. + * A copy of this license is included with this source. + * + * Copyright 2018, Philipp "ph3-der-loewe" Schafft , + */ + +#ifdef HAVE_CONFIG_H +#include +#endif + +#include + +#include "ctest_lib.h" + +#include + +static void test_create_unref(void) +{ + igloo_reportxml_t *report; + igloo_reportxml_node_t *node; + igloo_reportxml_database_t *database; + + report = igloo_ro_new(igloo_reportxml_t); + ctest_test("report created", !igloo_RO_IS_NULL(report)); + ctest_test("un-referenced", igloo_ro_unref(report) == 0); + + node = reportxml_node_new(REPORTXML_NODE_TYPE_REPORT, NULL, NULL, NULL); + ctest_test("node created", !igloo_RO_IS_NULL(node)); + ctest_test("un-referenced", igloo_ro_unref(node) == 0); + + database = igloo_ro_new(igloo_reportxml_database_t); + ctest_test("database created", !igloo_RO_IS_NULL(database)); + ctest_test("un-referenced", igloo_ro_unref(database) == 0); +} + +int main (void) +{ + ctest_init(); + + test_create_unref(); + + ctest_fin(); + + return 0; +}