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/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
+ tests/cli_tests.c tests/cli_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 src/vnstat_func.c src/vnstat_func.h src/traffic.c \
+ src/traffic.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)
@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-cli_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) \
@HAVE_CHECK_TRUE@ src/check_vnstat-misc.$(OBJEXT) \
@HAVE_CHECK_TRUE@ src/check_vnstat-fs.$(OBJEXT) \
@HAVE_CHECK_TRUE@ src/check_vnstat-id.$(OBJEXT) \
+@HAVE_CHECK_TRUE@ src/check_vnstat-vnstat_func.$(OBJEXT) \
+@HAVE_CHECK_TRUE@ src/check_vnstat-traffic.$(OBJEXT) \
@HAVE_CHECK_TRUE@ $(am__objects_1)
check_vnstat_OBJECTS = $(am_check_vnstat_OBJECTS)
am__DEPENDENCIES_1 =
@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/iflist_tests.c \
-@HAVE_CHECK_TRUE@ tests/iflist_tests.h tests/daemon_tests.c \
+@HAVE_CHECK_TRUE@ tests/iflist_tests.h tests/cli_tests.c \
+@HAVE_CHECK_TRUE@ tests/cli_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 \
@HAVE_CHECK_TRUE@ src/dbxml.h src/ibw.c src/ibw.h src/ifinfo.c \
@HAVE_CHECK_TRUE@ src/ifinfo.h src/iflist.c src/iflist.h \
@HAVE_CHECK_TRUE@ src/misc.c src/misc.h src/fs.c src/fs.h \
-@HAVE_CHECK_TRUE@ src/id.c src/id.h $(am__append_4)
+@HAVE_CHECK_TRUE@ src/id.c src/id.h src/vnstat_func.c \
+@HAVE_CHECK_TRUE@ src/vnstat_func.h src/traffic.c src/traffic.h \
+@HAVE_CHECK_TRUE@ $(am__append_4)
all: all-recursive
.SUFFIXES:
tests/$(DEPDIR)/$(am__dirstamp)
tests/check_vnstat-iflist_tests.$(OBJEXT): tests/$(am__dirstamp) \
tests/$(DEPDIR)/$(am__dirstamp)
+tests/check_vnstat-cli_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):
src/$(DEPDIR)/$(am__dirstamp)
src/check_vnstat-id.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
+src/check_vnstat-vnstat_func.$(OBJEXT): src/$(am__dirstamp) \
+ src/$(DEPDIR)/$(am__dirstamp)
+src/check_vnstat-traffic.$(OBJEXT): src/$(am__dirstamp) \
+ src/$(DEPDIR)/$(am__dirstamp)
tests/check_vnstat-image_tests.$(OBJEXT): tests/$(am__dirstamp) \
tests/$(DEPDIR)/$(am__dirstamp)
src/check_vnstat-image.$(OBJEXT): src/$(am__dirstamp) \
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/check_vnstat-iflist.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/check_vnstat-image.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/check_vnstat-misc.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/check_vnstat-traffic.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/check_vnstat-vnstat_func.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/common.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/daemon.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/datacache.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/vnstat_func.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/vnstatd.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/vnstati.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/check_vnstat-cli_tests.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/check_vnstat-common_tests.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/check_vnstat-config_tests.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/check_vnstat-daemon_tests.Po@am__quote@
@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-cli_tests.o: tests/cli_tests.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_vnstat_CFLAGS) $(CFLAGS) -MT tests/check_vnstat-cli_tests.o -MD -MP -MF tests/$(DEPDIR)/check_vnstat-cli_tests.Tpo -c -o tests/check_vnstat-cli_tests.o `test -f 'tests/cli_tests.c' || echo '$(srcdir)/'`tests/cli_tests.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) tests/$(DEPDIR)/check_vnstat-cli_tests.Tpo tests/$(DEPDIR)/check_vnstat-cli_tests.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='tests/cli_tests.c' object='tests/check_vnstat-cli_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-cli_tests.o `test -f 'tests/cli_tests.c' || echo '$(srcdir)/'`tests/cli_tests.c
+
+tests/check_vnstat-cli_tests.obj: tests/cli_tests.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_vnstat_CFLAGS) $(CFLAGS) -MT tests/check_vnstat-cli_tests.obj -MD -MP -MF tests/$(DEPDIR)/check_vnstat-cli_tests.Tpo -c -o tests/check_vnstat-cli_tests.obj `if test -f 'tests/cli_tests.c'; then $(CYGPATH_W) 'tests/cli_tests.c'; else $(CYGPATH_W) '$(srcdir)/tests/cli_tests.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) tests/$(DEPDIR)/check_vnstat-cli_tests.Tpo tests/$(DEPDIR)/check_vnstat-cli_tests.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='tests/cli_tests.c' object='tests/check_vnstat-cli_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-cli_tests.obj `if test -f 'tests/cli_tests.c'; then $(CYGPATH_W) 'tests/cli_tests.c'; else $(CYGPATH_W) '$(srcdir)/tests/cli_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
@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 src/check_vnstat-id.obj `if test -f 'src/id.c'; then $(CYGPATH_W) 'src/id.c'; else $(CYGPATH_W) '$(srcdir)/src/id.c'; fi`
+src/check_vnstat-vnstat_func.o: src/vnstat_func.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_vnstat_CFLAGS) $(CFLAGS) -MT src/check_vnstat-vnstat_func.o -MD -MP -MF src/$(DEPDIR)/check_vnstat-vnstat_func.Tpo -c -o src/check_vnstat-vnstat_func.o `test -f 'src/vnstat_func.c' || echo '$(srcdir)/'`src/vnstat_func.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/check_vnstat-vnstat_func.Tpo src/$(DEPDIR)/check_vnstat-vnstat_func.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/vnstat_func.c' object='src/check_vnstat-vnstat_func.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 src/check_vnstat-vnstat_func.o `test -f 'src/vnstat_func.c' || echo '$(srcdir)/'`src/vnstat_func.c
+
+src/check_vnstat-vnstat_func.obj: src/vnstat_func.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_vnstat_CFLAGS) $(CFLAGS) -MT src/check_vnstat-vnstat_func.obj -MD -MP -MF src/$(DEPDIR)/check_vnstat-vnstat_func.Tpo -c -o src/check_vnstat-vnstat_func.obj `if test -f 'src/vnstat_func.c'; then $(CYGPATH_W) 'src/vnstat_func.c'; else $(CYGPATH_W) '$(srcdir)/src/vnstat_func.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/check_vnstat-vnstat_func.Tpo src/$(DEPDIR)/check_vnstat-vnstat_func.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/vnstat_func.c' object='src/check_vnstat-vnstat_func.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 src/check_vnstat-vnstat_func.obj `if test -f 'src/vnstat_func.c'; then $(CYGPATH_W) 'src/vnstat_func.c'; else $(CYGPATH_W) '$(srcdir)/src/vnstat_func.c'; fi`
+
+src/check_vnstat-traffic.o: src/traffic.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_vnstat_CFLAGS) $(CFLAGS) -MT src/check_vnstat-traffic.o -MD -MP -MF src/$(DEPDIR)/check_vnstat-traffic.Tpo -c -o src/check_vnstat-traffic.o `test -f 'src/traffic.c' || echo '$(srcdir)/'`src/traffic.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/check_vnstat-traffic.Tpo src/$(DEPDIR)/check_vnstat-traffic.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/traffic.c' object='src/check_vnstat-traffic.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 src/check_vnstat-traffic.o `test -f 'src/traffic.c' || echo '$(srcdir)/'`src/traffic.c
+
+src/check_vnstat-traffic.obj: src/traffic.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_vnstat_CFLAGS) $(CFLAGS) -MT src/check_vnstat-traffic.obj -MD -MP -MF src/$(DEPDIR)/check_vnstat-traffic.Tpo -c -o src/check_vnstat-traffic.obj `if test -f 'src/traffic.c'; then $(CYGPATH_W) 'src/traffic.c'; else $(CYGPATH_W) '$(srcdir)/src/traffic.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/check_vnstat-traffic.Tpo src/$(DEPDIR)/check_vnstat-traffic.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/traffic.c' object='src/check_vnstat-traffic.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 src/check_vnstat-traffic.obj `if test -f 'src/traffic.c'; then $(CYGPATH_W) 'src/traffic.c'; else $(CYGPATH_W) '$(srcdir)/src/traffic.c'; fi`
+
tests/check_vnstat-image_tests.o: tests/image_tests.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_vnstat_CFLAGS) $(CFLAGS) -MT tests/check_vnstat-image_tests.o -MD -MP -MF tests/$(DEPDIR)/check_vnstat-image_tests.Tpo -c -o tests/check_vnstat-image_tests.o `test -f 'tests/image_tests.c' || echo '$(srcdir)/'`tests/image_tests.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) tests/$(DEPDIR)/check_vnstat-image_tests.Tpo tests/$(DEPDIR)/check_vnstat-image_tests.Po
--- /dev/null
+#include "common.h"
+#include "vnstat_tests.h"
+#include "vnstat_func.h"
+#include "cfg.h"
+#include "cli_tests.h"
+
+START_TEST(vnstat_can_init_params)
+{
+ PARAMS p;
+
+ initparams(&p);
+}
+END_TEST
+
+START_TEST(vnstat_showhelp_does_not_crash)
+{
+ PARAMS p;
+
+ initparams(&p);
+ strncpy_nt(p.definterface, "ethgone", 32);
+ suppress_output();
+ showhelp(&p);
+}
+END_TEST
+
+START_TEST(vnstat_showlonghelp_does_not_crash)
+{
+ PARAMS p;
+
+ initparams(&p);
+ strncpy_nt(p.definterface, "ethgone", 32);
+ suppress_output();
+ showlonghelp(&p);
+}
+END_TEST
+
+START_TEST(vnstat_handlers_do_nothing_by_default)
+{
+ PARAMS p, b;
+
+ initparams(&p);
+ memcpy(&b, &p, sizeof(PARAMS));
+ handleremoveinterface(&p);
+ handlerenameinterface(&p);
+ handleaddinterface(&p);
+ handlesetalias(&p);
+ handletrafficmeters(&p);
+ ck_assert_int_eq(memcmp(&p, &b, sizeof(PARAMS)), 0);
+}
+END_TEST
+
+START_TEST(vnstat_handletrafficmeters_exists_when_interface_is_not_available)
+{
+ PARAMS p;
+
+ ck_assert_int_eq(remove_directory(TESTDIR), 1);
+ defaultcfg();
+ initparams(&p);
+ strncpy_nt(cfg.iface, "ethfoo", 32);
+ strncpy_nt(p.interface, "default", 32);
+ strncpy_nt(p.definterface, cfg.iface, 32);
+ p.livetraffic = 1;
+ suppress_output();
+
+ handletrafficmeters(&p);
+}
+END_TEST
+
+START_TEST(vnstat_parseargs_does_nothing_without_args)
+{
+ PARAMS p;
+ char *argv[] = {"vnstat", "-h", NULL};
+ int argc = sizeof(argv) / sizeof(char*) - 1;
+
+ initparams(&p);
+ parseargs(&p, argc, argv);
+}
+END_TEST
+
+START_TEST(vnstat_parseargs_can_help)
+{
+ PARAMS p;
+ char *argv[] = {"vnstat", "--help", NULL};
+ int argc = sizeof(argv) / sizeof(char*) - 1;
+
+ initparams(&p);
+ debug = 1;
+ suppress_output();
+ parseargs(&p, argc, argv);
+}
+END_TEST
+
+START_TEST(vnstat_parseargs_can_longhelp)
+{
+ PARAMS p;
+ char *argv[] = {"vnstat", "--longhelp", NULL};
+ int argc = sizeof(argv) / sizeof(char*) - 1;
+
+ initparams(&p);
+ suppress_output();
+ parseargs(&p, argc, argv);
+}
+END_TEST
+
+START_TEST(vnstat_parseargs_can_show_version)
+{
+ PARAMS p;
+ char *argv[] = {"vnstat", "--version", NULL};
+ int argc = sizeof(argv) / sizeof(char*) - 1;
+
+ initparams(&p);
+ suppress_output();
+ parseargs(&p, argc, argv);
+}
+END_TEST
+
+START_TEST(vnstat_parseargs_detects_unknown_parameters)
+{
+ PARAMS p;
+ char *argv[] = {"vnstat", "--something_fishy", NULL};
+ int argc = sizeof(argv) / sizeof(char*) - 1;
+
+ initparams(&p);
+ suppress_output();
+ parseargs(&p, argc, argv);
+}
+END_TEST
+
+void add_cli_tests(Suite *s)
+{
+ TCase *tc_cli = tcase_create("CLI");
+ tcase_add_checked_fixture(tc_cli, setup, teardown);
+ tcase_add_unchecked_fixture(tc_cli, setup, teardown);
+ tcase_add_test(tc_cli, vnstat_can_init_params);
+ tcase_add_test(tc_cli, vnstat_showhelp_does_not_crash);
+ tcase_add_test(tc_cli, vnstat_showlonghelp_does_not_crash);
+ tcase_add_test(tc_cli, vnstat_handlers_do_nothing_by_default);
+ tcase_add_exit_test(tc_cli, vnstat_handletrafficmeters_exists_when_interface_is_not_available, 1);
+ tcase_add_test(tc_cli, vnstat_parseargs_does_nothing_without_args);
+ tcase_add_exit_test(tc_cli, vnstat_parseargs_can_help, 0);
+ tcase_add_exit_test(tc_cli, vnstat_parseargs_can_longhelp, 0);
+ tcase_add_exit_test(tc_cli, vnstat_parseargs_can_show_version, 0);
+ tcase_add_exit_test(tc_cli, vnstat_parseargs_detects_unknown_parameters, 1);
+ suite_add_tcase(s, tc_cli);
+}