[Spice-commits] 3 commits - .gitlab-ci.yml configure.ac server/tests

Frediano Ziglio fziglio at kemper.freedesktop.org
Thu Mar 23 12:56:11 UTC 2017


 .gitlab-ci.yml              |    8 ++++++--
 configure.ac                |    6 ++++++
 server/tests/Makefile.am    |    7 +++++++
 server/tests/video-encoders |   25 +++++++++++++++++++++++++
 4 files changed, 44 insertions(+), 2 deletions(-)

New commits:
commit 9eae44856f39a215b63366fa7f39bfca137d9a4d
Author: Frediano Ziglio <fziglio at redhat.com>
Date:   Thu Mar 23 12:16:34 2017 +0000

    ci: Make possible to execute additional expensive checks on GitLab
    
    Install missing GStreamer plugins and enable these checks.
    Currently the checks are enabled if valgrind is used.
    This as the main "makecheck" job uses address sanitizer which
    detects some leaks due to some Glib usage. Valgrind checks uses
    some suppression for some Glib leaks so they will work correctly.
    
    Signed-off-by: Frediano Ziglio <fziglio at redhat.com>
    Acked-by: Pavel Grunt <pgrunt at redhat.com>

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index c54516f1..491ae661 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -22,9 +22,13 @@ statistics:
 
 check-valgrind:
   script:
+  - dnf install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm -y
   - dnf debuginfo-install spice-server -y
-  - dnf install valgrind -y
-  - ./autogen.sh --enable-valgrind
+  - >
+    dnf install valgrind
+    gstreamer1-libav gstreamer1-plugins-ugly gstreamer1-plugins-good gstreamer1-plugins-bad-free
+    -y
+  - ./autogen.sh --enable-valgrind --enable-extra-checks
   - make
   - make check-valgrind || (cat server/tests/test-suite-memcheck.log && exit 1)
 
commit 76b7f943e41b49a247512a6acf0d440e65b7dcb3
Author: Frediano Ziglio <fziglio at redhat.com>
Date:   Tue Mar 21 22:12:37 2017 +0000

    Some automatic check on video encoders
    
    Stress a bit video encoders.
    This check different combination of
    - encoder type;
    - image formats;
    - image clipping (encoding partial frames);
    - handling frames split into chunks.
    
    Signed-off-by: Frediano Ziglio <fziglio at redhat.com>
    Acked-by: Pavel Grunt <pgrunt at redhat.com>

diff --git a/configure.ac b/configure.ac
index 6ec2652f..c2a6c2d8 100644
--- a/configure.ac
+++ b/configure.ac
@@ -100,6 +100,7 @@ if test "x$enable_gstreamer" != "xno" && test "x$enable_gstreamer" != "x1.0"; th
     ])
 fi
 AM_CONDITIONAL(HAVE_GSTREAMER, test "x$have_gstreamer_0_10" = "xyes" || test "x$have_gstreamer_1_0" = "xyes")
+AM_CONDITIONAL(HAVE_GSTREAMER_1_0, test "x$have_gstreamer_1_0" = "xyes")
 
 AS_IF([test "x$enable_gstreamer" = "xyes"],
       [AC_MSG_ERROR("GStreamer support requested but not found")],
diff --git a/server/tests/Makefile.am b/server/tests/Makefile.am
index 4a3d350f..17414f65 100644
--- a/server/tests/Makefile.am
+++ b/server/tests/Makefile.am
@@ -82,6 +82,13 @@ endif
 TESTS = $(check_PROGRAMS)			\
 	$(NULL)
 
+if ENABLE_EXTRA_CHECKS
+if HAVE_GSTREAMER_1_0
+TESTS += video-encoders
+endif
+endif
+EXTRA_DIST += video-encoders
+
 noinst_LIBRARIES += \
 	libtest-stat1.a \
 	libtest-stat2.a \
diff --git a/server/tests/video-encoders b/server/tests/video-encoders
new file mode 100755
index 00000000..ca955c7d
--- /dev/null
+++ b/server/tests/video-encoders
@@ -0,0 +1,25 @@
+#!/bin/bash
+
+set -e
+
+base_test() {
+    echo "Running test with options: $*"
+    ./test-gst -i 'videotestsrc pattern=14 foreground-color=0x4080ff background-color=0x402000 kx=-2 ky=-4 kxy=14 kt=3 num-buffers=100 ! video/x-raw,width=1024,height=768 ! videoconvert qos=false' "$@"
+}
+
+# check different clippings
+# note that due to some internal alignment we are using odd number for sizes
+for clipping in '' '--clipping (10%,10%)x(409,307)'
+do
+    for encoder in mjpeg 'gstreamer:mjpeg --min-psnr 16' gstreamer:vp8 gstreamer:h264
+    do
+        for split in '' '--split-lines=40'
+        do
+            # TODO check if encoder is supported
+            for format in 16BIT 24BIT 32BIT RGBA
+            do
+                base_test -f $format -e $encoder $clipping $split
+            done
+        done
+    done
+done
commit c9df62d89fd20d1d6dea0b80bc40c360397b11d4
Author: Frediano Ziglio <fziglio at redhat.com>
Date:   Wed Mar 22 16:09:43 2017 +0000

    build-sys: Add option to enable additional checks
    
    This to enable extra test.
    This option is used also in different projects.
    
    Signed-off-by: Frediano Ziglio <fziglio at redhat.com>
    Acked-by: Pavel Grunt <pgrunt at redhat.com>

diff --git a/configure.ac b/configure.ac
index 9fd455b7..6ec2652f 100644
--- a/configure.ac
+++ b/configure.ac
@@ -237,6 +237,11 @@ AC_ARG_ENABLE([statistics],
 AS_IF([test "$enable_statistics" = "yes"],
       [AC_DEFINE([RED_STATISTICS], [1], [Enable SPICE statistics])])
 
+AC_ARG_ENABLE([extra-checks],
+               AS_HELP_STRING([--enable-extra-checks=@<:@yes/no@:>@],
+                              [Enable expensive checks @<:@default=no@:>@]))
+AM_CONDITIONAL(ENABLE_EXTRA_CHECKS, test "$enable_extra_checks" = "yes")
+
 dnl ===========================================================================
 dnl check compiler flags
 


More information about the Spice-commits mailing list