diff --git a/sources.mk b/sources.mk index c28e575..899674f 100644 --- a/sources.mk +++ b/sources.mk @@ -20,7 +20,6 @@ SRCS = $(SRC_DIR)/main.c \ TESTS_DIR = tests TESTS = $(TESTS_DIR)/test_main.c \ - $(TESTS_DIR)/cli/test_parse.c \ $(TESTS_DIR)/cli/handlers/test_handle_count.c \ $(TESTS_DIR)/cli/handlers/test_handle_flood.c \ $(TESTS_DIR)/cli/handlers/test_handle_help.c \ diff --git a/src/cli/handlers/handle_size.c b/src/cli/handlers/handle_size.c index 914f925..b238129 100644 --- a/src/cli/handlers/handle_size.c +++ b/src/cli/handlers/handle_size.c @@ -16,6 +16,6 @@ cli_handle_size(const char *arg, t_ping_config *config) return CLI_ERROR; } - config->count = size; + config->packet_size = size; return CLI_SUCCESS; } diff --git a/tests/cli/handlers/test_handle_count.c b/tests/cli/handlers/test_handle_count.c index 7533fc5..9090384 100644 --- a/tests/cli/handlers/test_handle_count.c +++ b/tests/cli/handlers/test_handle_count.c @@ -1,7 +1,23 @@ #include +#include "cli.h" -Test(dummy_test_handle_count, always_pass) +/* Test 1: basic test */ +Test(cli_handle_count, valid_number) { - cr_assert(1, ""); + t_ping_config config = {0}; + const char *arg = "42"; + int ret = cli_handle_count(arg, &config); + cr_assert_eq(ret, CLI_SUCCESS); + cr_assert_eq(config.count, 42); +} + +/* Test 2: invalid number */ +Test(cli_handle_count, invalid_number) +{ + t_ping_config config = {0}; + const char *arg = "-42"; + int ret = cli_handle_count(arg, &config); + + cr_assert_eq(ret, CLI_ERROR); } diff --git a/tests/cli/handlers/test_handle_flood.c b/tests/cli/handlers/test_handle_flood.c index ab0e921..84ea858 100644 --- a/tests/cli/handlers/test_handle_flood.c +++ b/tests/cli/handlers/test_handle_flood.c @@ -1,7 +1,14 @@ +#include "cli.h" +#include "ft_ping_flags.h" #include -Test(dummy_test_handle_flood, always_pass) +/* Test 1: test flag*/ +Test(handle_flood, flag_test) { - cr_assert(1, ""); + t_ping_config config = {0}; + const char *arg = ""; + const int ret = cli_handle_flood(arg, &config); + cr_assert(HAS_FLAG(config.flags, FLAG_FLOOD)); + cr_assert_eq(ret, CLI_SUCCESS); } diff --git a/tests/cli/handlers/test_handle_help.c b/tests/cli/handlers/test_handle_help.c index 98abe9c..206101f 100644 --- a/tests/cli/handlers/test_handle_help.c +++ b/tests/cli/handlers/test_handle_help.c @@ -1,6 +1,12 @@ #include +#include "cli.h" -Test(dummy_test_handle_help, always_pass) +/* Test 1: exit code test */ +Test(handle_help, exit_code) { - cr_assert(1, ""); + t_ping_config config = {0}; + const char *arg = ""; + int ret = cli_handle_help(arg, &config); + + cr_assert_eq(ret, CLI_EXIT_SUCCESS); } diff --git a/tests/cli/handlers/test_handle_interval.c b/tests/cli/handlers/test_handle_interval.c index 19adc96..4e1d26e 100644 --- a/tests/cli/handlers/test_handle_interval.c +++ b/tests/cli/handlers/test_handle_interval.c @@ -1,6 +1,23 @@ #include +#include "cli.h" -Test(dummy_test_handle_interval, always_pass) +/* Test 1: basic test */ +Test(cli_handle_interval, valid_number) { - cr_assert(1, ""); + t_ping_config config = {0}; + const char *arg = ".42"; + int ret = cli_handle_interval(arg, &config); + + cr_assert_eq(ret, CLI_SUCCESS); + cr_assert_float_eq(config.interval, .42, .001); +} + +/* Test 2: invalid number */ +Test(cli_handle_interval, invalid_number) +{ + t_ping_config config = {0}; + const char *arg = "-42"; + int ret = cli_handle_interval(arg, &config); + + cr_assert_eq(ret, CLI_ERROR); } diff --git a/tests/cli/handlers/test_handle_quiet.c b/tests/cli/handlers/test_handle_quiet.c index f193d1a..319cb98 100644 --- a/tests/cli/handlers/test_handle_quiet.c +++ b/tests/cli/handlers/test_handle_quiet.c @@ -1,6 +1,14 @@ +#include "cli.h" +#include "ft_ping_flags.h" #include -Test(dummy_test_handle_quiet, always_pass) +/* Test 1: test flag*/ +Test(handle_quiet, flag_test) { - cr_assert(1, ""); + t_ping_config config = {0}; + const char *arg = ""; + const int ret = cli_handle_quiet(arg, &config); + + cr_assert(HAS_FLAG(config.flags, FLAG_QUIET)); + cr_assert_eq(ret, CLI_SUCCESS); } diff --git a/tests/cli/handlers/test_handle_size.c b/tests/cli/handlers/test_handle_size.c index 9f970ac..51de939 100644 --- a/tests/cli/handlers/test_handle_size.c +++ b/tests/cli/handlers/test_handle_size.c @@ -1,6 +1,33 @@ #include +#include "cli.h" -Test(dummy_test_handle_size, always_pass) +/* Test 1: basic test */ +Test(cli_handle_size, valid_number) { - cr_assert(1, ""); + t_ping_config config = {0}; + const char *arg = "65527"; + int ret = cli_handle_size(arg, &config); + + cr_assert_eq(ret, CLI_SUCCESS); + cr_assert_eq(config.packet_size, 65527); +} + +/* Test 2: invalid number */ +Test(cli_handle_size, invalid_number) +{ + t_ping_config config = {0}; + const char *arg = "-42"; + int ret = cli_handle_size(arg, &config); + + cr_assert_eq(ret, CLI_ERROR); +} + +/* Test 3: max test */ +Test(cli_handle_size, limit_test) +{ + t_ping_config config = {0}; + const char *arg = "65528"; + int ret = cli_handle_size(arg, &config); + + cr_assert_eq(ret, CLI_ERROR); } diff --git a/tests/cli/handlers/test_handle_timeout.c b/tests/cli/handlers/test_handle_timeout.c index d640fec..9f3eb62 100644 --- a/tests/cli/handlers/test_handle_timeout.c +++ b/tests/cli/handlers/test_handle_timeout.c @@ -1,6 +1,23 @@ #include +#include "cli.h" -Test(dummy_test_handle_timeout, always_pass) +/* Test 1: basic test */ +Test(cli_handle_timeout, valid_number) { - cr_assert(1, ""); + t_ping_config config = {0}; + const char *arg = ".42"; + int ret = cli_handle_timeout(arg, &config); + + cr_assert_eq(ret, CLI_SUCCESS); + cr_assert_float_eq(config.timeout, .42, .001); +} + +/* Test 2: invalid number */ +Test(cli_handle_timeout, invalid_number) +{ + t_ping_config config = {0}; + const char *arg = "-42"; + int ret = cli_handle_timeout(arg, &config); + + cr_assert_eq(ret, CLI_ERROR); } diff --git a/tests/cli/handlers/test_handle_ttl.c b/tests/cli/handlers/test_handle_ttl.c index 67d8dd5..416f941 100644 --- a/tests/cli/handlers/test_handle_ttl.c +++ b/tests/cli/handlers/test_handle_ttl.c @@ -1,6 +1,33 @@ #include +#include "cli.h" -Test(dummy_test_handle_ttl, always_pass) +/* Test 1: basic test */ +Test(cli_handle_ttl, valid_number) { - cr_assert(1, ""); + t_ping_config config = {0}; + const char *arg = "255"; + int ret = cli_handle_ttl(arg, &config); + + cr_assert_eq(ret, CLI_SUCCESS); + cr_assert_eq(config.ttl, 255); +} + +/* Test 2: invalid number */ +Test(cli_handle_ttl, invalid_number) +{ + t_ping_config config = {0}; + const char *arg = "-1"; + int ret = cli_handle_ttl(arg, &config); + + cr_assert_eq(ret, CLI_ERROR); +} + +/* Test 3: max test */ +Test(cli_handle_ttl, limit_test) +{ + t_ping_config config = {0}; + const char *arg = "256"; + int ret = cli_handle_ttl(arg, &config); + + cr_assert_eq(ret, CLI_ERROR); } diff --git a/tests/cli/handlers/test_handle_verbose.c b/tests/cli/handlers/test_handle_verbose.c index 88fdda7..4035081 100644 --- a/tests/cli/handlers/test_handle_verbose.c +++ b/tests/cli/handlers/test_handle_verbose.c @@ -1,6 +1,14 @@ +#include "cli.h" +#include "ft_ping_flags.h" #include -Test(dummy_test_handle_verbose, always_pass) +/* Test 1: test flag*/ +Test(handle_verbose, flag_test) { - cr_assert(1, ""); + t_ping_config config = {0}; + const char *arg = ""; + const int ret = cli_handle_verbose(arg, &config); + + cr_assert(HAS_FLAG(config.flags, FLAG_VERBOSE)); + cr_assert_eq(ret, CLI_SUCCESS); } diff --git a/tests/cli/handlers/test_handle_version.c b/tests/cli/handlers/test_handle_version.c index 7dde014..bfbe8b8 100644 --- a/tests/cli/handlers/test_handle_version.c +++ b/tests/cli/handlers/test_handle_version.c @@ -1,6 +1,12 @@ #include +#include "cli.h" -Test(dummy_test_handle_version, always_pass) +/* Test 1: exit code test */ +Test(handle_version, exit_code) { - cr_assert(1, ""); + t_ping_config config = {0}; + const char *arg = ""; + int ret = cli_handle_version(arg, &config); + + cr_assert_eq(ret, CLI_EXIT_SUCCESS); } diff --git a/tests/cli/handlers/test_handler_map.c b/tests/cli/handlers/test_handler_map.c index ab024f7..aaea835 100644 --- a/tests/cli/handlers/test_handler_map.c +++ b/tests/cli/handlers/test_handler_map.c @@ -1,6 +1,17 @@ +#include "cli.h" #include +#include -Test(dummy_test_handler_map, always_pass) +/* Test 1: g_options is null terminated */ +Test(_test_handler_map, always_pass) { - cr_assert(1, ""); + size_t i = 0; + for (i = 0; NULL != g_options[i].description; ++i); + + cr_assert(g_options[i].description == NULL); + cr_assert(g_options[i].arg_type == 0); + cr_assert(g_options[i].handler == NULL); + cr_assert(g_options[i].has_arg == 0); + cr_assert(g_options[i].long_opt == NULL); + cr_assert(g_options[i].short_opt == 0); } diff --git a/tests/cli/test_parse.c b/tests/cli/test_parse.c deleted file mode 100644 index 474c7ce..0000000 --- a/tests/cli/test_parse.c +++ /dev/null @@ -1,6 +0,0 @@ -#include - -Test(dummy_test_parse, always_pass) -{ - cr_assert(1, ""); -}