avutil/log: added test case for av_log_format_line2

Signed-off-by: Andreas Weis <github@ghulbus-inc.de>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
This commit is contained in:
Andreas Weis 2016-04-27 08:15:18 +02:00 committed by Michael Niedermayer
parent fb9187129c
commit 333207224f

View File

@ -444,6 +444,17 @@ void avpriv_report_missing_feature(void *avc, const char *msg, ...)
// LCOV_EXCL_START
#include <string.h>
static int call_log_format_line2(const char *fmt, char *buffer, int buffer_size, ...)
{
va_list args;
int ret;
int print_prefix=1;
va_start(args, buffer_size);
ret = av_log_format_line2(NULL, AV_LOG_INFO, fmt, args, buffer, buffer_size, &print_prefix);
va_end(args);
return ret;
}
int main(int argc, char **argv)
{
int i;
@ -458,6 +469,25 @@ int main(int argc, char **argv)
}
av_log(NULL, AV_LOG_PANIC, "\n");
}
{
int result;
char buffer[4];
result = call_log_format_line2("foo", NULL, 0);
if(result != 3) {
printf("Test NULL buffer failed.\n");
return 1;
}
result = call_log_format_line2("foo", buffer, 2);
if(result != 3 || strncmp(buffer, "f", 2)) {
printf("Test buffer too small failed.\n");
return 1;
}
result = call_log_format_line2("foo", buffer, 4);
if(result != 3 || strncmp(buffer, "foo", 4)) {
printf("Test buffer sufficiently big failed.\n");
return 1;
}
}
return 0;
}
// LCOV_EXCL_STOP