diff options
Diffstat (limited to 'tests/basic/logchecks.c')
| -rw-r--r-- | tests/basic/logchecks.c | 350 | 
1 files changed, 178 insertions, 172 deletions
diff --git a/tests/basic/logchecks.c b/tests/basic/logchecks.c index a40278b0d77..86891057230 100644 --- a/tests/basic/logchecks.c +++ b/tests/basic/logchecks.c @@ -18,191 +18,197 @@  #include "logchecks-messages.h"  #include "../../libglusterfs/src/logging.h" -glusterfs_ctx_t   *ctx = NULL; +glusterfs_ctx_t *ctx = NULL; -#define TEST_FILENAME           "/tmp/logchecks.log" -#define GF_LOG_CONTROL_FILE     "/etc/glusterfs/logger.conf" +#define TEST_FILENAME "/tmp/logchecks.log" +#define GF_LOG_CONTROL_FILE "/etc/glusterfs/logger.conf"  int  go_log_vargs(gf_loglevel_t level, const char *fmt, ...)  { -        va_list  ap; +    va_list ap; -        va_start (ap, fmt); -        gf_msg_vplain (level, fmt, ap); -        va_end (ap); +    va_start(ap, fmt); +    gf_msg_vplain(level, fmt, ap); +    va_end(ap); -        return 0; +    return 0;  }  int -go_log (void) +go_log(void)  { -        /*** gf_msg ***/ -        gf_msg ("logchecks", GF_LOG_INFO, 0, logchecks_msg_1); -        gf_msg ("logchecks", GF_LOG_INFO, 22, logchecks_msg_2, 42, "Forty-Two", -                42); -        /* change criticality */ -        gf_msg ("logchecks", GF_LOG_CRITICAL, 0, logchecks_msg_3); -        gf_msg ("logchecks", GF_LOG_CRITICAL, 22, logchecks_msg_4, 42, -                "Forty-Two", 42); - -        /*** msg_nomem ***/ -        gf_msg_nomem ("logchecks", GF_LOG_ALERT, 555); -        gf_msg_nomem ("logchecks", GF_LOG_INFO, 555); - -        /*** msg_plain ***/ -        gf_msg_plain (GF_LOG_INFO, "Informational: gf_msg_plain with" -                        " args %d:%s:%x", 42, "Forty-Two", 42); -        gf_msg_plain (GF_LOG_ALERT, "Alert: gf_msg_plain with" -                        " args %d:%s:%x", 42, "Forty-Two", 42); - -        /*** msg_vplain ***/ -        go_log_vargs (GF_LOG_INFO, "Informational: gf_msg_vplain: No args!!!"); -        go_log_vargs (GF_LOG_INFO, "Informational: gf_msg_vplain: Some" -                        " args %d:%s:%x", 42, "Forty-Two", 42); -        go_log_vargs (GF_LOG_INFO, "Critical: gf_msg_vplain: No args!!!"); -        go_log_vargs (GF_LOG_INFO, "Critical: gf_msg_vplain: Some" -                        " args %d:%s:%x", 42, "Forty-Two", 42); - -        /*** msg_plain_nomem ***/ -        gf_msg_plain_nomem (GF_LOG_INFO, "Informational: gf_msg_plain_nomem"); -        gf_msg_plain_nomem (GF_LOG_ALERT, "Alert: gf_msg_plain_nomem"); - -        /*** msg_backtrace_nomem ***/ -        // TODO: Need to create a stack depth and then call -        gf_msg_backtrace_nomem (GF_LOG_INFO, 5); -        gf_msg_backtrace_nomem (GF_LOG_ALERT, 5); - -        /*** gf_msg_callingfn ***/ -        // TODO: Need to create a stack depth and then call -        gf_msg_callingfn ("logchecks", GF_LOG_INFO, 0, logchecks_msg_7); -        gf_msg_callingfn ("logchecks", GF_LOG_INFO, 0, logchecks_msg_8, 42, -                          "Forty-Two", 42); -        gf_msg_callingfn ("logchecks", GF_LOG_CRITICAL, 0, logchecks_msg_9); -        gf_msg_callingfn ("logchecks", GF_LOG_CRITICAL, 0, logchecks_msg_10, 42, -                          "Forty-Two", 42); - -        /*** gf_msg_debug ***/ -        gf_msg_debug ("logchecks", 0, "Debug: Hello World!!!"); -        gf_msg_debug ("logchecks", 22, "Debug: With args %d:%s:%x", 42, -                      "Forty-Two", 42); - -        /*** gf_msg_trace ***/ -        gf_msg_trace ("logchecks", 0, "Trace: Hello World!!!"); -        gf_msg_trace ("logchecks", 22, "Trace: With args %d:%s:%x", 42, -                      "Forty-Two", 42); - -        /*** gf_msg_backtrace ***/ -        // TODO: Test with lower callstr values to check truncation - -        return 0; +    /*** gf_msg ***/ +    gf_msg("logchecks", GF_LOG_INFO, 0, logchecks_msg_1); +    gf_msg("logchecks", GF_LOG_INFO, 22, logchecks_msg_2, 42, "Forty-Two", 42); +    /* change criticality */ +    gf_msg("logchecks", GF_LOG_CRITICAL, 0, logchecks_msg_3); +    gf_msg("logchecks", GF_LOG_CRITICAL, 22, logchecks_msg_4, 42, "Forty-Two", +           42); + +    /*** msg_nomem ***/ +    gf_msg_nomem("logchecks", GF_LOG_ALERT, 555); +    gf_msg_nomem("logchecks", GF_LOG_INFO, 555); + +    /*** msg_plain ***/ +    gf_msg_plain(GF_LOG_INFO, +                 "Informational: gf_msg_plain with" +                 " args %d:%s:%x", +                 42, "Forty-Two", 42); +    gf_msg_plain(GF_LOG_ALERT, +                 "Alert: gf_msg_plain with" +                 " args %d:%s:%x", +                 42, "Forty-Two", 42); + +    /*** msg_vplain ***/ +    go_log_vargs(GF_LOG_INFO, "Informational: gf_msg_vplain: No args!!!"); +    go_log_vargs(GF_LOG_INFO, +                 "Informational: gf_msg_vplain: Some" +                 " args %d:%s:%x", +                 42, "Forty-Two", 42); +    go_log_vargs(GF_LOG_INFO, "Critical: gf_msg_vplain: No args!!!"); +    go_log_vargs(GF_LOG_INFO, +                 "Critical: gf_msg_vplain: Some" +                 " args %d:%s:%x", +                 42, "Forty-Two", 42); + +    /*** msg_plain_nomem ***/ +    gf_msg_plain_nomem(GF_LOG_INFO, "Informational: gf_msg_plain_nomem"); +    gf_msg_plain_nomem(GF_LOG_ALERT, "Alert: gf_msg_plain_nomem"); + +    /*** msg_backtrace_nomem ***/ +    // TODO: Need to create a stack depth and then call +    gf_msg_backtrace_nomem(GF_LOG_INFO, 5); +    gf_msg_backtrace_nomem(GF_LOG_ALERT, 5); + +    /*** gf_msg_callingfn ***/ +    // TODO: Need to create a stack depth and then call +    gf_msg_callingfn("logchecks", GF_LOG_INFO, 0, logchecks_msg_7); +    gf_msg_callingfn("logchecks", GF_LOG_INFO, 0, logchecks_msg_8, 42, +                     "Forty-Two", 42); +    gf_msg_callingfn("logchecks", GF_LOG_CRITICAL, 0, logchecks_msg_9); +    gf_msg_callingfn("logchecks", GF_LOG_CRITICAL, 0, logchecks_msg_10, 42, +                     "Forty-Two", 42); + +    /*** gf_msg_debug ***/ +    gf_msg_debug("logchecks", 0, "Debug: Hello World!!!"); +    gf_msg_debug("logchecks", 22, "Debug: With args %d:%s:%x", 42, "Forty-Two", +                 42); + +    /*** gf_msg_trace ***/ +    gf_msg_trace("logchecks", 0, "Trace: Hello World!!!"); +    gf_msg_trace("logchecks", 22, "Trace: With args %d:%s:%x", 42, "Forty-Two", +                 42); + +    /*** gf_msg_backtrace ***/ +    // TODO: Test with lower callstr values to check truncation + +    return 0;  }  int -main (int argc, char *argv[]) +main(int argc, char *argv[])  { -        int                ret = -1; - -        unlink (GF_LOG_CONTROL_FILE); -        creat (GF_LOG_CONTROL_FILE, O_RDONLY); -        ctx = glusterfs_ctx_new (); -        if (!ctx) -                return -1; - -        ret = glusterfs_globals_init (ctx); -        if (ret) { -                printf ("Error from glusterfs_globals_init [%s]\n", -                        strerror (errno)); -                return ret; -        } - -        /* Pre init test, message should not be printed */ -        gf_msg ("logchecks", GF_LOG_ALERT, 0, logchecks_msg_19); - -        THIS->ctx = ctx; - -        /* TEST 1: messages before initializing the log, goes to stderr -         * and syslog based on criticality */ -        gf_msg ("logchecks", GF_LOG_ALERT, 0, logchecks_msg_11); -        gf_msg ("logchecks", GF_LOG_ALERT, 0, logchecks_msg_12); -        go_log (); -        gf_msg ("logchecks", GF_LOG_ALERT, 0, logchecks_msg_11); - -        /* TEST 2: messages post initialization, goes to glusterlog and -         * syslog based on severity */ -        ret = gf_log_init(ctx, TEST_FILENAME, "logchecks"); -        if (ret != 0) { -                printf ("Error from gf_log_init [%s]\n", strerror (errno)); -                return -1; -        } -        gf_msg ("logchecks", GF_LOG_ALERT, 0, logchecks_msg_11); -        gf_msg ("logchecks", GF_LOG_ALERT, 0, logchecks_msg_13); -        go_log (); -        gf_msg ("logchecks", GF_LOG_ALERT, 0, logchecks_msg_11); - -        /* TEST 3: Test rotation */ -        gf_msg ("logchecks", GF_LOG_ALERT, 0, logchecks_msg_11); -        gf_log_logrotate (0); -        gf_msg ("logchecks", GF_LOG_CRITICAL, 0, logchecks_msg_5); -        gf_msg ("logchecks", GF_LOG_ALERT, 0, logchecks_msg_11); - -        /* TEST 4: Check flush, nothing noticeable should occur :) */ -        gf_msg ("logchecks", GF_LOG_ALERT, 0, logchecks_msg_11); -        gf_log_flush (); -        gf_msg ("logchecks", GF_LOG_CRITICAL, 0, logchecks_msg_6); -        gf_msg ("logchecks", GF_LOG_ALERT, 0, logchecks_msg_11); - -        /* TEST 5: Change format */ -        gf_msg ("logchecks", GF_LOG_ALERT, 0, logchecks_msg_11); -        gf_log_set_logformat (gf_logformat_traditional); -        gf_msg ("logchecks", GF_LOG_ALERT, 0, logchecks_msg_14); -        go_log (); -        gf_msg ("logchecks", GF_LOG_ALERT, 0, logchecks_msg_11); - -        /* TEST 6: Change level */ -        gf_msg ("logchecks", GF_LOG_ALERT, 0, logchecks_msg_11); -        gf_log_set_loglevel (ctx, GF_LOG_CRITICAL); -        gf_msg ("logchecks", GF_LOG_ALERT, 0, logchecks_msg_15); -        go_log (); -        gf_msg ("logchecks", GF_LOG_ALERT, 0, logchecks_msg_11); - -        /* Reset to run with syslog */ -        gf_log_set_logformat (gf_logformat_withmsgid); -        gf_log_set_loglevel (ctx, GF_LOG_INFO); - -        /* Run tests with logger changed to syslog */ -        /* TEST 7: No more gluster logs */ -        gf_msg ("logchecks", GF_LOG_ALERT, 0, logchecks_msg_11); -        gf_log_set_logger (gf_logger_syslog); -        gf_msg ("logchecks", GF_LOG_ALERT, 0, logchecks_msg_16); -        go_log (); -        gf_msg ("logchecks", GF_LOG_ALERT, 0, logchecks_msg_11); - -        /* TEST 8: Change format */ -        gf_msg ("logchecks", GF_LOG_ALERT, 0, logchecks_msg_11); -        gf_log_set_logformat (gf_logformat_traditional); -        gf_msg ("logchecks", GF_LOG_ALERT, 0, logchecks_msg_14); -        go_log (); -        gf_msg ("logchecks", GF_LOG_ALERT, 0, logchecks_msg_11); - -        /* TEST 9: Change level */ -        gf_msg ("logchecks", GF_LOG_ALERT, 0, logchecks_msg_11); -        gf_log_set_loglevel (ctx, GF_LOG_CRITICAL); -        gf_msg ("logchecks", GF_LOG_ALERT, 0, logchecks_msg_15); -        go_log (); -        gf_msg ("logchecks", GF_LOG_ALERT, 0, logchecks_msg_11); - -        // TODO: signal crash prints, but not yet feasible here -        // TODO: Graph printing -        // TODO: Multi threaded logging - -        /* Close out the logging */ -        gf_log_fini (ctx); -        gf_log_globals_fini (); - -        unlink (GF_LOG_CONTROL_FILE); -        unlink (TEST_FILENAME); - -        return 0; +    int ret = -1; + +    unlink(GF_LOG_CONTROL_FILE); +    creat(GF_LOG_CONTROL_FILE, O_RDONLY); +    ctx = glusterfs_ctx_new(); +    if (!ctx) +        return -1; + +    ret = glusterfs_globals_init(ctx); +    if (ret) { +        printf("Error from glusterfs_globals_init [%s]\n", strerror(errno)); +        return ret; +    } + +    /* Pre init test, message should not be printed */ +    gf_msg("logchecks", GF_LOG_ALERT, 0, logchecks_msg_19); + +    THIS->ctx = ctx; + +    /* TEST 1: messages before initializing the log, goes to stderr +     * and syslog based on criticality */ +    gf_msg("logchecks", GF_LOG_ALERT, 0, logchecks_msg_11); +    gf_msg("logchecks", GF_LOG_ALERT, 0, logchecks_msg_12); +    go_log(); +    gf_msg("logchecks", GF_LOG_ALERT, 0, logchecks_msg_11); + +    /* TEST 2: messages post initialization, goes to glusterlog and +     * syslog based on severity */ +    ret = gf_log_init(ctx, TEST_FILENAME, "logchecks"); +    if (ret != 0) { +        printf("Error from gf_log_init [%s]\n", strerror(errno)); +        return -1; +    } +    gf_msg("logchecks", GF_LOG_ALERT, 0, logchecks_msg_11); +    gf_msg("logchecks", GF_LOG_ALERT, 0, logchecks_msg_13); +    go_log(); +    gf_msg("logchecks", GF_LOG_ALERT, 0, logchecks_msg_11); + +    /* TEST 3: Test rotation */ +    gf_msg("logchecks", GF_LOG_ALERT, 0, logchecks_msg_11); +    gf_log_logrotate(0); +    gf_msg("logchecks", GF_LOG_CRITICAL, 0, logchecks_msg_5); +    gf_msg("logchecks", GF_LOG_ALERT, 0, logchecks_msg_11); + +    /* TEST 4: Check flush, nothing noticeable should occur :) */ +    gf_msg("logchecks", GF_LOG_ALERT, 0, logchecks_msg_11); +    gf_log_flush(); +    gf_msg("logchecks", GF_LOG_CRITICAL, 0, logchecks_msg_6); +    gf_msg("logchecks", GF_LOG_ALERT, 0, logchecks_msg_11); + +    /* TEST 5: Change format */ +    gf_msg("logchecks", GF_LOG_ALERT, 0, logchecks_msg_11); +    gf_log_set_logformat(gf_logformat_traditional); +    gf_msg("logchecks", GF_LOG_ALERT, 0, logchecks_msg_14); +    go_log(); +    gf_msg("logchecks", GF_LOG_ALERT, 0, logchecks_msg_11); + +    /* TEST 6: Change level */ +    gf_msg("logchecks", GF_LOG_ALERT, 0, logchecks_msg_11); +    gf_log_set_loglevel(ctx, GF_LOG_CRITICAL); +    gf_msg("logchecks", GF_LOG_ALERT, 0, logchecks_msg_15); +    go_log(); +    gf_msg("logchecks", GF_LOG_ALERT, 0, logchecks_msg_11); + +    /* Reset to run with syslog */ +    gf_log_set_logformat(gf_logformat_withmsgid); +    gf_log_set_loglevel(ctx, GF_LOG_INFO); + +    /* Run tests with logger changed to syslog */ +    /* TEST 7: No more gluster logs */ +    gf_msg("logchecks", GF_LOG_ALERT, 0, logchecks_msg_11); +    gf_log_set_logger(gf_logger_syslog); +    gf_msg("logchecks", GF_LOG_ALERT, 0, logchecks_msg_16); +    go_log(); +    gf_msg("logchecks", GF_LOG_ALERT, 0, logchecks_msg_11); + +    /* TEST 8: Change format */ +    gf_msg("logchecks", GF_LOG_ALERT, 0, logchecks_msg_11); +    gf_log_set_logformat(gf_logformat_traditional); +    gf_msg("logchecks", GF_LOG_ALERT, 0, logchecks_msg_14); +    go_log(); +    gf_msg("logchecks", GF_LOG_ALERT, 0, logchecks_msg_11); + +    /* TEST 9: Change level */ +    gf_msg("logchecks", GF_LOG_ALERT, 0, logchecks_msg_11); +    gf_log_set_loglevel(ctx, GF_LOG_CRITICAL); +    gf_msg("logchecks", GF_LOG_ALERT, 0, logchecks_msg_15); +    go_log(); +    gf_msg("logchecks", GF_LOG_ALERT, 0, logchecks_msg_11); + +    // TODO: signal crash prints, but not yet feasible here +    // TODO: Graph printing +    // TODO: Multi threaded logging + +    /* Close out the logging */ +    gf_log_fini(ctx); +    gf_log_globals_fini(); + +    unlink(GF_LOG_CONTROL_FILE); +    unlink(TEST_FILENAME); + +    return 0;  }  | 
