[OE-core] [PATCH v4 01/12] gstreamer: enable ptest support

Burton, Ross ross.burton at intel.com
Thu Jun 14 13:24:43 UTC 2018


Picked, thanks.  Tested it and it passed too! :)

Ross

On 14 June 2018 at 02:06, Anuj Mittal <anuj.mittal at intel.com> wrote:
> Ping.
>
> On 05/25/2018 02:20 PM, Anuj Mittal wrote:
>> Make sure that the tests are packaged and can be executed
>> when ptest is enabled. Also, remove build host specific references
>> from Makefile.
>>
>> Signed-off-by: Anuj Mittal <anuj.mittal at intel.com>
>> ---
>>
>> v4:
>> Tweak AM_TESTS_ENVIRONMENT to remove hardcoded paths.
>>
>> ---
>>  .../files/add-a-target-to-compile-tests.patch | 69 +++++++++++++++++++
>>  .../gstreamer/files/run-ptest                 |  3 +
>>  .../gstreamer/gstreamer1.0_1.14.0.bb          | 26 ++++++-
>>  3 files changed, 96 insertions(+), 2 deletions(-)
>>  create mode 100644 meta/recipes-multimedia/gstreamer/files/add-a-target-to-compile-tests.patch
>>  create mode 100644 meta/recipes-multimedia/gstreamer/files/run-ptest
>>
>> diff --git a/meta/recipes-multimedia/gstreamer/files/add-a-target-to-compile-tests.patch b/meta/recipes-multimedia/gstreamer/files/add-a-target-to-compile-tests.patch
>> new file mode 100644
>> index 0000000000..d02d869410
>> --- /dev/null
>> +++ b/meta/recipes-multimedia/gstreamer/files/add-a-target-to-compile-tests.patch
>> @@ -0,0 +1,69 @@
>> +From d61414bc17cf2df019510c2908048c4cabf5cf09 Mon Sep 17 00:00:00 2001
>> +From: Anuj Mittal <anuj.mittal at intel.com>
>> +Date: Tue, 27 Feb 2018 09:27:01 +0800
>> +Subject: [PATCH] add targets for test installation
>> +
>> +Targets to make sure tests can be installed and then run on
>> +the target.
>> +
>> +Upstream-Status: Inappropriate [specific to oe setup]
>> +
>> +Signed-off-by: Anuj Mittal <anuj.mittal at intel.com>
>> +
>> +---
>> + tests/check/Makefile.am | 27 ++++++++++++++++++++-------
>> + 1 file changed, 20 insertions(+), 7 deletions(-)
>> +
>> +diff --git a/tests/check/Makefile.am b/tests/check/Makefile.am
>> +index 13b916d..a66786d 100644
>> +--- a/tests/check/Makefile.am
>> ++++ b/tests/check/Makefile.am
>> +@@ -8,11 +8,7 @@ REGISTRY_ENVIRONMENT = \
>> +     GST_REGISTRY=$(CHECK_REGISTRY)
>> +
>> + AM_TESTS_ENVIRONMENT += \
>> +-        GST_STATE_IGNORE_ELEMENTS="$(STATE_IGNORE_ELEMENTS)"        \
>> +-        $(REGISTRY_ENVIRONMENT)                                     \
>> +-        GST_PLUGIN_SCANNER_1_0=$(top_builddir)/libs/gst/helpers/gst-plugin-scanner \
>> +-        GST_PLUGIN_SYSTEM_PATH_1_0=                                 \
>> +-        GST_PLUGIN_PATH_1_0=$(top_builddir)/plugins
>> ++        GST_STATE_IGNORE_ELEMENTS="$(STATE_IGNORE_ELEMENTS)"
>> +
>> + plugindir = $(libdir)/gstreamer- at GST_API_VERSION@
>> +
>> +@@ -178,6 +174,23 @@ noinst_PROGRAMS =
>> +
>> + TESTS = $(check_PROGRAMS)
>> +
>> ++install-ptest: $(TESTS)
>> ++    @$(INSTALL) -d $(DESTDIR)
>> ++    @for dir in `find -maxdepth 1 -type d`; do \
>> ++            if [ -x $$dir/.libs ]; then \
>> ++                    $(INSTALL) -d $(DESTDIR)/$$dir; \
>> ++                    $(INSTALL_PROGRAM) $$dir/.libs/* $(DESTDIR)/$$dir/; \
>> ++            fi \
>> ++    done
>> ++
>> ++runtests:
>> ++    @for b in $(TESTS); do \
>> ++            if [ -x $$b ]; then \
>> ++                    $(AM_TESTS_ENVIRONMENT) $(SHELL) test-driver --test-name "$$b" \
>> ++                    --log-file $$b.log --trs-file $$b.trs $$b; \
>> ++            fi \
>> ++    done
>> ++
>> + noinst_HEADERS = \
>> +     gst/capslist.h \
>> +     gst/struct_arm.h \
>> +@@ -221,9 +234,9 @@ gst_gstprintf_LDADD = \
>> +     $(LDADD)
>> +
>> + elements_fdsrc_CFLAGS=$(GST_OBJ_CFLAGS) $(AM_CFLAGS) \
>> +-    -DTESTFILE=\"$(top_srcdir)/configure.ac\"
>> ++    -DTESTFILE=\"Makefile\"
>> + elements_filesrc_CFLAGS=$(GST_OBJ_CFLAGS) $(AM_CFLAGS) \
>> +-    -DTESTFILE=\"$(top_srcdir)/configure.ac\"
>> ++    -DTESTFILE=\"Makefile\"
>> +
>> + libs_controller_LDADD = \
>> +     $(top_builddir)/libs/gst/controller/libgstcontroller- at GST_API_VERSION@.la \
>> diff --git a/meta/recipes-multimedia/gstreamer/files/run-ptest b/meta/recipes-multimedia/gstreamer/files/run-ptest
>> new file mode 100644
>> index 0000000000..473d0b67a7
>> --- /dev/null
>> +++ b/meta/recipes-multimedia/gstreamer/files/run-ptest
>> @@ -0,0 +1,3 @@
>> +#!/bin/sh
>> +
>> +make -k runtests
>> diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.14.0.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.14.0.bb
>> index b4398c8111..e842f30c5a 100644
>> --- a/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.14.0.bb
>> +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.14.0.bb
>> @@ -8,7 +8,7 @@ LICENSE = "LGPLv2+"
>>
>>  DEPENDS = "glib-2.0 glib-2.0-native libcap libxml2 bison-native flex-native"
>>
>> -inherit autotools pkgconfig gettext upstream-version-is-even gobject-introspection gtk-doc
>> +inherit autotools pkgconfig gettext upstream-version-is-even gobject-introspection gtk-doc ptest
>>
>>  # This way common/m4/introspection.m4 will come first
>>  # (it has a custom INTROSPECTION_INIT macro, and so must be used instead of our common introspection.m4 file)
>> @@ -24,11 +24,14 @@ SRC_URI = " \
>>      file://0001-introspection.m4-prefix-pkgconfig-paths-with-PKG_CON.patch \
>>      file://gtk-doc-tweaks.patch \
>>      file://0001-gst-gstpluginloader.c-when-env-var-is-set-do-not-fal.patch \
>> +    file://add-a-target-to-compile-tests.patch \
>> +    file://run-ptest \
>>  "
>>  SRC_URI[md5sum] = "63c7cbfb86aa28c4522e374dc5555b96"
>>  SRC_URI[sha256sum] = "fc361367f0d4b780a868a8833f9f30b9c9f4ac9faea4e6b251db8b4b0398466e"
>>
>> -PACKAGECONFIG ??= ""
>> +PACKAGECONFIG ??= "${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)} \
>> +                   "
>>
>>  PACKAGECONFIG[debug] = "--enable-debug,--disable-debug"
>>  PACKAGECONFIG[tests] = "--enable-tests,--disable-tests"
>> @@ -55,6 +58,7 @@ FILES_${PN}-bash-completion += "${datadir}/bash-completion/completions/ ${datadi
>>
>>  RRECOMMENDS_${PN}_qemux86 += "kernel-module-snd-ens1370 kernel-module-snd-rawmidi"
>>  RRECOMMENDS_${PN}_qemux86-64 += "kernel-module-snd-ens1370 kernel-module-snd-rawmidi"
>> +RDEPENDS_${PN}-ptest += "make"
>>
>>  delete_pkg_m4_file() {
>>          # This m4 file is out of date and is missing PKG_CONFIG_SYSROOT_PATH tweaks which we need for introspection
>> @@ -68,4 +72,22 @@ do_compile_prepend() {
>>          export GIR_EXTRA_LIBS_PATH="${B}/gst/.libs:${B}/libs/gst/base/.libs"
>>  }
>>
>> +do_compile_ptest() {
>> +        oe_runmake build-checks
>> +}
>> +
>> +do_install_ptest() {
>> +        oe_runmake -C tests/check DESTDIR=${D}${PTEST_PATH} install-ptest
>> +        install -m 644 ${B}/tests/check/Makefile ${D}${PTEST_PATH}
>> +        install -m 755 ${S}/test-driver ${D}${PTEST_PATH}
>> +        sed -e 's,--sysroot=${STAGING_DIR_TARGET},,g' \
>> +            -e 's|${DEBUG_PREFIX_MAP}||g' \
>> +            -e 's:${HOSTTOOLS_DIR}/::g' \
>> +            -e 's:${RECIPE_SYSROOT_NATIVE}::g' \
>> +            -e 's:${BASE_WORKDIR}/${MULTIMACH_TARGET_SYS}::g' \-e 's/^Makefile:/_Makefile:/' \
>> +            -e 's/^srcdir = \(.*\)/srcdir = ./' -e 's/^top_srcdir = \(.*\)/top_srcdir = ./' \
>> +            -e 's/^builddir = \(.*\)/builddir = ./' -e 's/^top_builddir = \(.*\)/top_builddir = ./' \
>> +            -i ${D}${PTEST_PATH}/Makefile
>> +}
>> +
>>  CVE_PRODUCT = "gstreamer"
>>
>
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core at lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core



More information about the Openembedded-core mailing list