avutil/log: added test case for av_log_format_line2
authorAndreas Weis <github@ghulbus-inc.de>
Wed, 27 Apr 2016 06:15:18 +0000 (08:15 +0200)
committerMichael Niedermayer <michael@niedermayer.cc>
Wed, 27 Apr 2016 17:23:05 +0000 (19:23 +0200)
Signed-off-by: Andreas Weis <github@ghulbus-inc.de>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
libavutil/log.c

index 0efba7a..7e279ad 100644 (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