#include "acutest.h" #include "vieter_cron_parse.h" struct parse_test { char *part; uint8_t min; uint8_t max; }; void test_illegal_parts() { struct parse_test parts[] = { { "*-7", 0, 23 }, { "*-7/4", 0, 23 }, { "7/*", 0, 23 }, { "/5", 0, 23 }, { "4~6", 0, 23 }, { "5/2-5", 0, 23 }, { "1/2/3", 0, 23 }, { "*5", 0, 59 }, { "x", 0, 59 }, { NULL, 0, 0 } }; int i = 0; uint64_t out; char *s; while (parts[i].part != NULL) { // Function modifies string in-place s = strdup(parts[i].part); TEST_CHECK_(vieter_cron_expr_parse_part(&out, s, parts[i].min, parts[i].max) != vieter_cron_parse_ok, "%s (%i - %i)", parts[i].part, parts[i].min, parts[i].max); free(s); i++; } } TEST_LIST = { {"cron illegal parts", test_illegal_parts}, {NULL, NULL} };