Add small test on a logline + '\n' at logline end

This commit is contained in:
Yann Weber 2019-07-09 14:58:35 +02:00
commit 1d4a84b8c7
3 changed files with 23 additions and 9 deletions

View file

@ -567,7 +567,7 @@ char* vpyfcgi_logger_format_message(pyfcgi_logger_format_t *fmt,
if(!fmt->_msg)
{ //first message, allocating message buffer
fmt->_msglen = fmt->buflen[0] + fmt->buflen[1] + fmt_msg_len;
fmt->_msglen = fmt->buflen[0] + fmt->buflen[1] + fmt_msg_len + 1;
// rounding upper
fmt->_msglen >>= 6;
fmt->_msglen++;
@ -591,7 +591,7 @@ dprintf(2, "ERROR ALLOC _msg : %s", strerror(errno));
// TODO check errors
break;
}
fmt->_msglen = fmt_msg_len + fmt->buflen[0] + fmt->buflen[1];
fmt->_msglen = fmt_msg_len + fmt->buflen[0] + fmt->buflen[1] + 1;
fmt->_msglen >>= 6;
fmt->_msglen++;
fmt->_msglen <<= 6;
@ -610,10 +610,13 @@ dprintf(2, "ERROR REALLOC _msg : %s", strerror(errno));
strncpy(fmt->_msg + suff_off, fmt->suffix,
fmt->buflen[1]);
//TODO check errors
fmt->_msg[suff_off+fmt->buflen[1]] = '\n';
fmt->_msg[suff_off+fmt->buflen[1]+1] = '\0';
}
else
{
fmt->_msg[suff_off] = '\0';
fmt->_msg[suff_off] = '\n';
fmt->_msg[suff_off+1] = '\0';
}
// update fmt->_msg dynamic fields
time(&_curtime);

View file

@ -5,4 +5,4 @@ check_logger_CFLAGS = @CHECK_CFLAGS@
check_logger_LDADD = $(top_builddir)/src/libpyfcgi.a @CHECK_LIBS@
clean-local:
-rm -rf tmp_PyFCGI_checks*
-rm -rf /tmp/tmp_PyFCGI_checks*

View file

@ -6,7 +6,7 @@
pyfcgi_conf_logger_t *conf = &PyFCGI_conf.logs;
char tmpdir[] = "./tmp_PyFCGI_checksXXXXXX";
char tmpdir[] = "/tmp/tmp_PyFCGI_checksXXXXXX";
/*
TC logger init
@ -58,11 +58,16 @@ END_TEST
START_TEST(test_logger_add)
{
char tmplog[128];
char logfmt[] = "{level} {ident} {msg}";
char logfmt[] = "{level} {ident} {pid} {msg}";
char expected[] = " Alert 0000 Hello world ! foobar 04\n";
int ret;
pyfcgi_conf_logger_t *conf;
pyfcgi_logger_t *logger;
pyfcgi_logger_format_t *fmt;
char buf[128];
size_t sz;
memset(buf, 0, 128);
pyfcgi_logger_init();
@ -77,11 +82,17 @@ START_TEST(test_logger_add)
fmt = &(conf->formats[logger->fmt_id]);
ck_assert_str_eq(fmt->fmt, logfmt);
pyfcgi_log(LOG_ALERT, "Hello world ! %s\n", tmplog);
pyfcgi_log(LOG_ALERT, "Hello world ! %s %02d", "foobar", 4);
//pyfcgi_log(LOG_DEBUG, "Hello world 2 %s\n", tmplog);
pyfcgi_logger_stop();
//unlink(tmplog);
ret = open(tmplog, O_RDONLY);
sz = read(ret, buf, 128);
ck_assert_str_eq(expected, buf);
unlink(tmplog);
}
END_TEST
@ -582,7 +593,7 @@ int main(void)
nfailed = srunner_ntests_failed(sr);
srunner_free(sr);
//rmdir(tmpdir);
rmdir(tmpdir);
return (!nfailed)?EXIT_SUCCESS:EXIT_FAILURE;
}