wayland: add ptest

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

(From OE-Core rev: 296ee10bb8491278f050fb9d55f42b0bcf663382)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Alexander Kanavin
2020-02-23 23:11:11 +01:00
committed by Richard Purdie
parent 1a5a9d2f03
commit 5766996130
3 changed files with 31 additions and 1 deletions

View File

@@ -47,6 +47,7 @@ PTESTS_FAST = "\
quilt-ptest \
sed-ptest \
slang-ptest \
wayland-ptest \
zlib-ptest \
"

View File

@@ -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

View 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"