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>