]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core.git/commitdiff
wayland: add ptest
authorAlexander Kanavin <alex.kanavin@gmail.com>
Sun, 23 Feb 2020 22:11:11 +0000 (23:11 +0100)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Tue, 25 Feb 2020 10:41:15 +0000 (10:41 +0000)
Sadly, meson makes it very difficult to install tests: the test
configuration is written into host-specific binary files, which
can't be transferred to the target. (unlike autotools where
at least everything happens via Makefiles which can be patched
and tweaked via sed and env vars)

So the configuration has to be entirely recreated in shell.
I managed this for wayland, but weston proved too difficult.

I had filed bugs asking upstream to make the tests installable:
https://gitlab.freedesktop.org/wayland/wayland/issues/146
https://gitlab.freedesktop.org/wayland/weston/issues/368

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/conf/distro/include/ptest-packagelists.inc
meta/recipes-graphics/wayland/wayland/run-ptest [new file with mode: 0644]
meta/recipes-graphics/wayland/wayland_1.18.0.bb

index 6e770853b817ae1d5ffa468286aae0e73cb0bce8..4afac58e3a08bdb1ab6cad75ddbfb3bfacf769b4 100644 (file)
@@ -47,6 +47,7 @@ PTESTS_FAST = "\
     quilt-ptest \
     sed-ptest \
     slang-ptest \
+    wayland-ptest \
     zlib-ptest \
 "
 
diff --git a/meta/recipes-graphics/wayland/wayland/run-ptest b/meta/recipes-graphics/wayland/wayland/run-ptest
new file mode 100644 (file)
index 0000000..7e8d9de
--- /dev/null
@@ -0,0 +1,17 @@
+#!/bin/sh
+
+export WAYLAND_SCANNER=wayland-scanner
+export TEST_DATA_DIR=tests/data
+export TEST_OUTPUT_DIR=tests/output
+export SED=sed
+export WAYLAND_EGL_LIB=/usr/lib/libwayland-egl.so.1
+export NM=nm
+
+for i in `ls tests/*-test tests/wayland-egl-symbols-check tests/scanner-test.sh`; do
+    $i
+    if [ $? -eq 0 ]; then
+        echo "PASS: $i"
+    else
+        echo "FAIL: $i"
+    fi
+done
index 5dc31163da443fe96d3e755c77a483361eecf86e..00be3aac27c85550ea9063da7237afee71a426e8 100644 (file)
@@ -13,6 +13,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b31d8f53b6aaf2b4985d7dd7810a70d1 \
 DEPENDS = "expat libffi wayland-native"
 
 SRC_URI = "https://wayland.freedesktop.org/releases/${BPN}-${PV}.tar.xz \
+           file://run-ptest \
            file://0002-meson.build-find-the-native-wayland-scanner-directly.patch \
            file://0002-Do-not-hardcode-the-path-to-wayland-scanner.patch \
            file://0001-build-Fix-strndup-detection-on-MinGW.patch \
@@ -23,7 +24,7 @@ SRC_URI[sha256sum] = "4675a79f091020817a98fd0484e7208c8762242266967f55a67776936c
 
 UPSTREAM_CHECK_URI = "https://wayland.freedesktop.org/releases.html"
 
-inherit meson pkgconfig
+inherit meson pkgconfig ptest
 
 PACKAGECONFIG ??= "dtd-validation"
 PACKAGECONFIG[dtd-validation] = "-Ddtd_validation=true,-Ddtd_validation=false,libxml2,,"
@@ -39,6 +40,15 @@ do_install_append_class-native() {
       -i ${D}/${datadir}/aclocal/wayland-scanner.m4
 }
 
+do_install_ptest() {
+    mkdir -p ${D}${PTEST_PATH}/tests/data
+    cp -rf ${B}/tests/*-test ${B}/tests/*-checker ${D}${PTEST_PATH}/tests
+    cp -rf ${B}/tests/*-checker ${D}${PTEST_PATH}
+    cp -rf ${S}/tests/scanner-test.sh ${D}${PTEST_PATH}/tests
+    cp -rf ${S}/tests/data/* ${D}${PTEST_PATH}/tests/data/
+    cp -rf ${S}/egl/wayland-egl-symbols-check ${D}${PTEST_PATH}/tests/
+}
+
 sysroot_stage_all_append_class-target () {
        rm ${SYSROOT_DESTDIR}/${datadir}/aclocal/wayland-scanner.m4
        cp ${STAGING_DATADIR_NATIVE}/aclocal/wayland-scanner.m4 ${SYSROOT_DESTDIR}/${datadir}/aclocal/
@@ -48,3 +58,5 @@ FILES_${PN} = "${libdir}/*${SOLIBS}"
 FILES_${PN}-dev += "${bindir} ${datadir}/wayland"
 
 BBCLASSEXTEND = "native nativesdk"
+
+RDEPENDS_${PN}-ptest += "binutils sed"