From 1b39a30247111d854ce296d9fb4539e5840a9ae4 Mon Sep 17 00:00:00 2001
From: Michael Niedermayer <michael@niedermayer.cc>
Date: Sat, 10 Dec 2016 21:39:56 +0100
Subject: [PATCH] fate: add av_image_check_size() test

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
---
 libavutil/Makefile         |  1 +
 libavutil/tests/imgutils.c | 37 +++++++++++++++++++++++++
 tests/fate/libavutil.mak   |  4 +++
 tests/ref/fate/imgutils    | 55 ++++++++++++++++++++++++++++++++++++++
 4 files changed, 97 insertions(+)
 create mode 100644 libavutil/tests/imgutils.c
 create mode 100644 tests/ref/fate/imgutils

diff --git a/libavutil/Makefile b/libavutil/Makefile
index 6474a30c845..a8c08829291 100644
--- a/libavutil/Makefile
+++ b/libavutil/Makefile
@@ -202,6 +202,7 @@ TESTPROGS = adler32                                                     \
             float_dsp                                                   \
             hash                                                        \
             hmac                                                        \
+            imgutils                                                    \
             lfg                                                         \
             lls                                                         \
             log                                                         \
diff --git a/libavutil/tests/imgutils.c b/libavutil/tests/imgutils.c
new file mode 100644
index 00000000000..e51ecc6e74f
--- /dev/null
+++ b/libavutil/tests/imgutils.c
@@ -0,0 +1,37 @@
+/*
+ * This file is part of FFmpeg.
+ *
+ * FFmpeg is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * FFmpeg is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with FFmpeg; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#include "libavutil/imgutils.c"
+
+#undef printf
+
+int main(void)
+{
+    int i;
+    int64_t x, y;
+
+    for (y = -1; y<UINT_MAX; y+= y/2 + 1) {
+        for (x = -1; x<UINT_MAX; x+= x/2 + 1) {
+            int ret = av_image_check_size(x, y, 0, NULL);
+            printf("%d", ret >= 0);
+        }
+        printf("\n");
+    }
+
+    return 0;
+}
diff --git a/tests/fate/libavutil.mak b/tests/fate/libavutil.mak
index 0ab6fc55111..82fe9a297cc 100644
--- a/tests/fate/libavutil.mak
+++ b/tests/fate/libavutil.mak
@@ -88,6 +88,10 @@ FATE_LIBAVUTIL += fate-hmac
 fate-hmac: libavutil/tests/hmac$(EXESUF)
 fate-hmac: CMD = run libavutil/tests/hmac
 
+FATE_LIBAVUTIL += fate-imgutils
+fate-imgutils: libavutil/tests/imgutils$(EXESUF)
+fate-imgutils: CMD = run libavutil/tests/imgutils
+
 FATE_LIBAVUTIL += fate-md5
 fate-md5: libavutil/tests/md5$(EXESUF)
 fate-md5: CMD = run libavutil/tests/md5
diff --git a/tests/ref/fate/imgutils b/tests/ref/fate/imgutils
new file mode 100644
index 00000000000..aba482221f3
--- /dev/null
+++ b/tests/ref/fate/imgutils
@@ -0,0 +1,55 @@
+0000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000
+0011111111111111111111111111111111110000000000000000000
+0011111111111111111111111111111111110000000000000000000
+0011111111111111111111111111111111110000000000000000000
+0011111111111111111111111111111111110000000000000000000
+0011111111111111111111111111111111110000000000000000000
+0011111111111111111111111111111111110000000000000000000
+0011111111111111111111111111111111110000000000000000000
+0011111111111111111111111111111111110000000000000000000
+0011111111111111111111111111111111100000000000000000000
+0011111111111111111111111111111111100000000000000000000
+0011111111111111111111111111111111000000000000000000000
+0011111111111111111111111111111111000000000000000000000
+0011111111111111111111111111111110000000000000000000000
+0011111111111111111111111111111100000000000000000000000
+0011111111111111111111111111111100000000000000000000000
+0011111111111111111111111111111000000000000000000000000
+0011111111111111111111111111110000000000000000000000000
+0011111111111111111111111111100000000000000000000000000
+0011111111111111111111111111000000000000000000000000000
+0011111111111111111111111110000000000000000000000000000
+0011111111111111111111111100000000000000000000000000000
+0011111111111111111111111000000000000000000000000000000
+0011111111111111111111110000000000000000000000000000000
+0011111111111111111111100000000000000000000000000000000
+0011111111111111111111000000000000000000000000000000000
+0011111111111111111110000000000000000000000000000000000
+0011111111111111111100000000000000000000000000000000000
+0011111111111111111000000000000000000000000000000000000
+0011111111111111110000000000000000000000000000000000000
+0011111111111111100000000000000000000000000000000000000
+0011111111111110000000000000000000000000000000000000000
+0011111111111100000000000000000000000000000000000000000
+0011111111110000000000000000000000000000000000000000000
+0011111111000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000
-- 
GitLab