Annotation of embedaddon/confuse/tests/suite_func.c, revision 1.1
1.1 ! misho 1: #include "check_confuse.h"
! 2: #include <string.h>
! 3: #include <sys/types.h>
! 4: #include <sys/socket.h>
! 5: #include <netinet/in.h>
! 6: #include <arpa/inet.h>
! 7:
! 8: void suppress_errors(cfg_t *cfg, const char *fmt, va_list ap);
! 9:
! 10: static cfg_t *cfg = 0;
! 11: static int func_alias_called = 0;
! 12:
! 13: static int func_alias(cfg_t *cfg, cfg_opt_t *opt, int argc, const char **argv)
! 14: {
! 15: func_alias_called = 1;
! 16:
! 17: fail_unless(cfg != 0);
! 18: fail_unless(opt != 0);
! 19: fail_unless(strcmp(opt->name, "alias") == 0);
! 20: fail_unless(opt->type == CFGT_FUNC);
! 21: fail_unless(argv != 0);
! 22: fail_unless(strcmp(argv[0], "ll") == 0);
! 23: fail_unless(strcmp(argv[1], "ls -l") == 0);
! 24:
! 25: if(argc != 2)
! 26: return -1;
! 27:
! 28: return 0;
! 29: }
! 30:
! 31: static void func_setup(void)
! 32: {
! 33: cfg_opt_t opts[] =
! 34: {
! 35: CFG_FUNC("alias", func_alias),
! 36: CFG_END()
! 37: };
! 38:
! 39: cfg = cfg_init(opts, 0);
! 40: /* cfg_set_error_function(cfg, suppress_errors); */
! 41: }
! 42:
! 43: static void func_teardown(void)
! 44: {
! 45: cfg_free(cfg);
! 46: }
! 47:
! 48: static void func_test(void)
! 49: {
! 50: char *buf;
! 51:
! 52: func_alias_called = 0;
! 53: buf = "alias(ll, 'ls -l')";
! 54: fail_unless(cfg_parse_buf(cfg, buf) == CFG_SUCCESS);
! 55: fail_unless(func_alias_called == 1);
! 56:
! 57: func_alias_called = 0;
! 58: buf = "alias(ll, 'ls -l', 2)";
! 59: fail_unless(cfg_parse_buf(cfg, buf) == CFG_PARSE_ERROR);
! 60: fail_unless(func_alias_called == 1);
! 61:
! 62: buf = "unalias(ll, 'ls -l')";
! 63: fail_unless(cfg_parse_buf(cfg, buf) == CFG_PARSE_ERROR);
! 64: }
! 65:
! 66: int
! 67: main(void)
! 68: {
! 69: func_setup();
! 70: func_test();
! 71: func_teardown();
! 72:
! 73: return 0;
! 74: }
! 75:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>