#include "../src/common.h" #include "../src/buf.h" #include "../src/commands.h" int main() { f2b_cmd_t cmd; f2b_cmd_t *c; assert(f2b_cmd_parse(&cmd, "") == false); assert(f2b_cmd_parse(&cmd, " ") == false); assert(f2b_cmd_parse(&cmd, "status") == true); assert(cmd.type = CMD_STATUS); assert(cmd.argc == 1); assert(strcmp(cmd.args[0], "status") == 0); assert(cmd.data.used == 6); /* "status" */ f2b_buf_free(&cmd.data); assert(f2b_cmd_parse(&cmd, "stat") == false); /* no such command */ assert(cmd.type == CMD_UNKNOWN); assert(f2b_cmd_parse(&cmd, "jail test") == false); /* incomplete command */ assert(cmd.type == CMD_UNKNOWN); assert(f2b_cmd_parse(&cmd, "jail test status") == true); assert(cmd.type == CMD_JAIL_STATUS); assert(cmd.argc == 3); assert(strcmp(cmd.args[0], "jail") == 0); assert(strcmp(cmd.args[1], "test") == 0); assert(strcmp(cmd.args[2], "status") == 0); assert(cmd.data.used == 16); /* "jail\0test\0status" */ f2b_buf_free(&cmd.data); assert(f2b_cmd_parse(&cmd, "jail test set bantime 7200") == true); assert(cmd.type == CMD_JAIL_SET); assert(cmd.argc == 5); assert(strcmp(cmd.args[0], "jail") == 0); assert(strcmp(cmd.args[1], "test") == 0); assert(strcmp(cmd.args[2], "set") == 0); assert(strcmp(cmd.args[3], "bantime") == 0); assert(strcmp(cmd.args[4], "7200") == 0); f2b_buf_free(&cmd.data); c = f2b_cmd_create(""); assert(c == NULL); c = f2b_cmd_create(" "); assert(c == NULL); c = f2b_cmd_create("\n\r\n"); assert(c == NULL); c = f2b_cmd_create("test"); assert(c == NULL); /* no such command */ c = f2b_cmd_create("help"); assert(c != NULL); f2b_cmd_destroy(c); f2b_buf_free(&cmd.data); return EXIT_SUCCESS; }