]> granicus.if.org Git - vnstat/commitdiff
add tests for iflist
authorTeemu Toivola <git@humdi.net>
Sun, 16 Jun 2019 14:49:49 +0000 (17:49 +0300)
committerTeemu Toivola <git@humdi.net>
Sun, 16 Jun 2019 14:49:49 +0000 (17:49 +0300)
Makefile.am
Makefile.in
tests/iflist_tests.c [new file with mode: 0644]
tests/iflist_tests.h [new file with mode: 0644]
tests/vnstat_tests.c

index 7431d99eb1b1e96acd5eac37e1c267162786e987..1a8f0a81cc6b3739991d927b064f087ccdca5012 100644 (file)
@@ -73,6 +73,7 @@ check_vnstat_SOURCES = tests/vnstat_tests.c tests/vnstat_tests.h \
   tests/misc_tests.c tests/misc_tests.h \
   tests/fs_tests.c tests/fs_tests.h \
   tests/id_tests.c tests/id_tests.h \
+  tests/iflist_tests.c tests/iflist_tests.h \
   tests/daemon_tests.c tests/daemon_tests.h
 
 check_vnstat_SOURCES += src/cfg.c src/cfg.h \
index fada63cca619fc09a36668ad7cca8c471f5aad1a..c61f2890521dd14af8c1c7dab5ea152914086b3c 100644 (file)
@@ -123,16 +123,16 @@ am__check_vnstat_SOURCES_DIST = tests/vnstat_tests.c \
        tests/config_tests.c tests/config_tests.h tests/ifinfo_tests.c \
        tests/ifinfo_tests.h tests/misc_tests.c tests/misc_tests.h \
        tests/fs_tests.c tests/fs_tests.h tests/id_tests.c \
-       tests/id_tests.h tests/daemon_tests.c tests/daemon_tests.h \
-       src/cfg.c src/cfg.h src/cfgoutput.c src/cfgoutput.h \
-       src/common.c src/common.h src/daemon.c src/daemon.h \
-       src/dbsql.c src/dbsql.h src/dbaccess.c src/dbaccess.h \
-       src/datacache.c src/datacache.h src/dbshow.c src/dbshow.h \
-       src/dbjson.c src/dbjson.h src/dbxml.c src/dbxml.h src/ibw.c \
-       src/ibw.h src/ifinfo.c src/ifinfo.h src/iflist.c src/iflist.h \
-       src/misc.c src/misc.h src/fs.c src/fs.h src/id.c src/id.h \
-       tests/image_tests.c tests/image_tests.h src/image.c \
-       src/image.h
+       tests/id_tests.h tests/iflist_tests.c tests/iflist_tests.h \
+       tests/daemon_tests.c tests/daemon_tests.h src/cfg.c src/cfg.h \
+       src/cfgoutput.c src/cfgoutput.h src/common.c src/common.h \
+       src/daemon.c src/daemon.h src/dbsql.c src/dbsql.h \
+       src/dbaccess.c src/dbaccess.h src/datacache.c src/datacache.h \
+       src/dbshow.c src/dbshow.h src/dbjson.c src/dbjson.h \
+       src/dbxml.c src/dbxml.h src/ibw.c src/ibw.h src/ifinfo.c \
+       src/ifinfo.h src/iflist.c src/iflist.h src/misc.c src/misc.h \
+       src/fs.c src/fs.h src/id.c src/id.h tests/image_tests.c \
+       tests/image_tests.h src/image.c src/image.h
 am__dirstamp = $(am__leading_dot)dirstamp
 @HAVE_CHECK_TRUE@@HAVE_LIBGD_TRUE@am__objects_1 = tests/check_vnstat-image_tests.$(OBJEXT) \
 @HAVE_CHECK_TRUE@@HAVE_LIBGD_TRUE@     src/check_vnstat-image.$(OBJEXT)
@@ -147,6 +147,7 @@ am__dirstamp = $(am__leading_dot)dirstamp
 @HAVE_CHECK_TRUE@      tests/check_vnstat-misc_tests.$(OBJEXT) \
 @HAVE_CHECK_TRUE@      tests/check_vnstat-fs_tests.$(OBJEXT) \
 @HAVE_CHECK_TRUE@      tests/check_vnstat-id_tests.$(OBJEXT) \
+@HAVE_CHECK_TRUE@      tests/check_vnstat-iflist_tests.$(OBJEXT) \
 @HAVE_CHECK_TRUE@      tests/check_vnstat-daemon_tests.$(OBJEXT) \
 @HAVE_CHECK_TRUE@      src/check_vnstat-cfg.$(OBJEXT) \
 @HAVE_CHECK_TRUE@      src/check_vnstat-cfgoutput.$(OBJEXT) \
@@ -688,7 +689,8 @@ vnstati_SOURCES = src/vnstati.c src/vnstati.h \
 @HAVE_CHECK_TRUE@      tests/ifinfo_tests.h tests/misc_tests.c \
 @HAVE_CHECK_TRUE@      tests/misc_tests.h tests/fs_tests.c \
 @HAVE_CHECK_TRUE@      tests/fs_tests.h tests/id_tests.c \
-@HAVE_CHECK_TRUE@      tests/id_tests.h tests/daemon_tests.c \
+@HAVE_CHECK_TRUE@      tests/id_tests.h tests/iflist_tests.c \
+@HAVE_CHECK_TRUE@      tests/iflist_tests.h tests/daemon_tests.c \
 @HAVE_CHECK_TRUE@      tests/daemon_tests.h src/cfg.c src/cfg.h \
 @HAVE_CHECK_TRUE@      src/cfgoutput.c src/cfgoutput.h src/common.c \
 @HAVE_CHECK_TRUE@      src/common.h src/daemon.c src/daemon.h \
@@ -897,6 +899,8 @@ tests/check_vnstat-fs_tests.$(OBJEXT): tests/$(am__dirstamp) \
        tests/$(DEPDIR)/$(am__dirstamp)
 tests/check_vnstat-id_tests.$(OBJEXT): tests/$(am__dirstamp) \
        tests/$(DEPDIR)/$(am__dirstamp)
+tests/check_vnstat-iflist_tests.$(OBJEXT): tests/$(am__dirstamp) \
+       tests/$(DEPDIR)/$(am__dirstamp)
 tests/check_vnstat-daemon_tests.$(OBJEXT): tests/$(am__dirstamp) \
        tests/$(DEPDIR)/$(am__dirstamp)
 src/$(am__dirstamp):
@@ -1047,6 +1051,7 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/check_vnstat-fs_tests.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/check_vnstat-id_tests.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/check_vnstat-ifinfo_tests.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/check_vnstat-iflist_tests.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/check_vnstat-image_tests.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/check_vnstat-misc_tests.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/check_vnstat-vnstat_tests.Po@am__quote@
@@ -1207,6 +1212,20 @@ tests/check_vnstat-id_tests.obj: tests/id_tests.c
 @AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_vnstat_CFLAGS) $(CFLAGS) -c -o tests/check_vnstat-id_tests.obj `if test -f 'tests/id_tests.c'; then $(CYGPATH_W) 'tests/id_tests.c'; else $(CYGPATH_W) '$(srcdir)/tests/id_tests.c'; fi`
 
+tests/check_vnstat-iflist_tests.o: tests/iflist_tests.c
+@am__fastdepCC_TRUE@   $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_vnstat_CFLAGS) $(CFLAGS) -MT tests/check_vnstat-iflist_tests.o -MD -MP -MF tests/$(DEPDIR)/check_vnstat-iflist_tests.Tpo -c -o tests/check_vnstat-iflist_tests.o `test -f 'tests/iflist_tests.c' || echo '$(srcdir)/'`tests/iflist_tests.c
+@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) tests/$(DEPDIR)/check_vnstat-iflist_tests.Tpo tests/$(DEPDIR)/check_vnstat-iflist_tests.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='tests/iflist_tests.c' object='tests/check_vnstat-iflist_tests.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_vnstat_CFLAGS) $(CFLAGS) -c -o tests/check_vnstat-iflist_tests.o `test -f 'tests/iflist_tests.c' || echo '$(srcdir)/'`tests/iflist_tests.c
+
+tests/check_vnstat-iflist_tests.obj: tests/iflist_tests.c
+@am__fastdepCC_TRUE@   $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_vnstat_CFLAGS) $(CFLAGS) -MT tests/check_vnstat-iflist_tests.obj -MD -MP -MF tests/$(DEPDIR)/check_vnstat-iflist_tests.Tpo -c -o tests/check_vnstat-iflist_tests.obj `if test -f 'tests/iflist_tests.c'; then $(CYGPATH_W) 'tests/iflist_tests.c'; else $(CYGPATH_W) '$(srcdir)/tests/iflist_tests.c'; fi`
+@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) tests/$(DEPDIR)/check_vnstat-iflist_tests.Tpo tests/$(DEPDIR)/check_vnstat-iflist_tests.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='tests/iflist_tests.c' object='tests/check_vnstat-iflist_tests.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_vnstat_CFLAGS) $(CFLAGS) -c -o tests/check_vnstat-iflist_tests.obj `if test -f 'tests/iflist_tests.c'; then $(CYGPATH_W) 'tests/iflist_tests.c'; else $(CYGPATH_W) '$(srcdir)/tests/iflist_tests.c'; fi`
+
 tests/check_vnstat-daemon_tests.o: tests/daemon_tests.c
 @am__fastdepCC_TRUE@   $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_vnstat_CFLAGS) $(CFLAGS) -MT tests/check_vnstat-daemon_tests.o -MD -MP -MF tests/$(DEPDIR)/check_vnstat-daemon_tests.Tpo -c -o tests/check_vnstat-daemon_tests.o `test -f 'tests/daemon_tests.c' || echo '$(srcdir)/'`tests/daemon_tests.c
 @am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) tests/$(DEPDIR)/check_vnstat-daemon_tests.Tpo tests/$(DEPDIR)/check_vnstat-daemon_tests.Po
diff --git a/tests/iflist_tests.c b/tests/iflist_tests.c
new file mode 100644 (file)
index 0000000..5f00567
--- /dev/null
@@ -0,0 +1,121 @@
+#include "common.h"
+#include "vnstat_tests.h"
+#include "iflist_tests.h"
+#include "iflist.h"
+
+START_TEST(iflistfree_can_free_null)
+{
+       iflist *ifl = NULL;
+    iflistfree(&ifl);
+}
+END_TEST
+
+START_TEST(iflistadd_can_add)
+{
+    int ret;
+    iflist *ifl = NULL;
+    ck_assert_ptr_eq(ifl, NULL);
+
+    ret = iflistadd(&ifl, "eth0", 0);
+    ck_assert_int_eq(ret, 1);
+    ck_assert_int_eq(ifl->bandwidth, 0);
+    ck_assert_str_eq(ifl->interface, "eth0");
+    ck_assert_ptr_eq(ifl->next, NULL);
+    ck_assert_ptr_eq(ifl->prev, NULL);
+
+    ret = iflistadd(&ifl, "eth1", 1);
+    ck_assert_int_eq(ret, 1);
+    ck_assert_int_eq(ifl->bandwidth, 1);
+    ck_assert_str_eq(ifl->interface, "eth1");
+    ck_assert_ptr_ne(ifl->next, NULL);
+    ck_assert_ptr_eq(ifl->prev, NULL);
+
+    ret = iflistadd(&ifl, "eth0", 2);
+    ck_assert_int_eq(ret, 1);
+    ck_assert_int_eq(ifl->bandwidth, 2);
+    ck_assert_str_eq(ifl->interface, "eth0");
+    ck_assert_ptr_ne(ifl->next, NULL);
+    ck_assert_ptr_eq(ifl->prev, NULL);
+
+    ret = iflistadd(&ifl, "eth2", 10);
+    ck_assert_int_eq(ret, 1);
+    ck_assert_int_eq(ifl->bandwidth, 10);
+    ck_assert_str_eq(ifl->interface, "eth2");
+    ck_assert_ptr_ne(ifl->next, NULL);
+    ck_assert_ptr_eq(ifl->prev, NULL);
+
+    iflistfree(&ifl);
+    ck_assert_ptr_eq(ifl, NULL);
+}
+END_TEST
+
+START_TEST(iflistsearch_can_search)
+{
+    int ret;
+    iflist *ifl = NULL;
+    ck_assert_ptr_eq(ifl, NULL);
+
+    ret = iflistsearch(&ifl, "eth0");
+    ck_assert_int_eq(ret, 0);
+
+    ret = iflistadd(&ifl, "eth0", 0);
+    ck_assert_int_eq(ret, 1);
+
+    ret = iflistsearch(&ifl, "eth0");
+    ck_assert_int_eq(ret, 1);
+
+    ret = iflistadd(&ifl, "eth1", 1);
+    ck_assert_int_eq(ret, 1);
+
+    ret = iflistsearch(&ifl, "eth0");
+    ck_assert_int_eq(ret, 1);
+
+    ret = iflistadd(&ifl, "eth0", 2);
+    ck_assert_int_eq(ret, 1);
+
+    ret = iflistsearch(&ifl, "eth0");
+    ck_assert_int_eq(ret, 1);
+
+    ret = iflistadd(&ifl, "eth2", 10);
+    ck_assert_int_eq(ret, 1);
+
+    ret = iflistsearch(&ifl, "eth0");
+    ck_assert_int_eq(ret, 1);
+
+    ret = iflistsearch(&ifl, "eth2");
+    ck_assert_int_eq(ret, 1);
+
+    ret = iflistsearch(&ifl, "eth0");
+    ck_assert_int_eq(ret, 1);
+
+    ret = iflistsearch(&ifl, "eth1");
+    ck_assert_int_eq(ret, 1);
+
+    ret = iflistsearch(&ifl, "eth3");
+    ck_assert_int_eq(ret, 0);
+
+    ret = iflistadd(&ifl, "eth3", 0);
+    ck_assert_int_eq(ret, 1);
+
+    ret = iflistsearch(&ifl, "eth3");
+    ck_assert_int_eq(ret, 1);
+
+    ret = iflistadd(&ifl, "eth4", 0);
+    ck_assert_int_eq(ret, 1);
+
+    ret = iflistsearch(&ifl, "eth3");
+    ck_assert_int_eq(ret, 1);
+
+    iflistfree(&ifl);
+    ck_assert_ptr_eq(ifl, NULL);
+}
+END_TEST
+
+void add_iflist_tests(Suite *s)
+{
+       TCase *tc_iflist = tcase_create("Iflist");
+       tcase_add_test(tc_iflist, iflistfree_can_free_null);
+    tcase_add_test(tc_iflist, iflistadd_can_add);
+    tcase_add_test(tc_iflist, iflistsearch_can_search);
+       suite_add_tcase(s, tc_iflist);
+}
diff --git a/tests/iflist_tests.h b/tests/iflist_tests.h
new file mode 100644 (file)
index 0000000..fb0eed7
--- /dev/null
@@ -0,0 +1,6 @@
+#ifndef IFLIST_TESTS_H
+#define IFLIST_TESTS_H
+
+void add_iflist_tests(Suite *s);
+
+#endif
index 3102c97cc076ef4c8a9b52c882a88ddac83ba3c2..d91a01f57a720522b3380f83d4ee07cba029020c 100644 (file)
@@ -10,6 +10,7 @@
 #include "datacache_tests.h"
 #include "fs_tests.h"
 #include "id_tests.h"
+#include "iflist_tests.h"
 #if defined(HAVE_IMAGE)
 #include "image_tests.h"
 #endif
@@ -48,6 +49,7 @@ Suite *test_suite(void)
        add_datacache_tests(s);
        add_fs_tests(s);
        add_id_tests(s);
+       add_iflist_tests(s);
 #if defined(HAVE_IMAGE)
        add_image_tests(s);
 #endif