summaryrefslogtreecommitdiffstats
path: root/meta
diff options
context:
space:
mode:
authorAlexander Kanavin <alex.kanavin@gmail.com>2020-02-23 23:11:11 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2020-02-25 10:41:22 +0000
commit57669961302978642df4e0c9f3b1c3c3ce680bbb (patch)
tree50e1ff8a10cd04b5e23166a5bedc5914e41bd663 /meta
parent1a5a9d2f03834d0adefdd240b045152a65694c0e (diff)
downloadpoky-57669961302978642df4e0c9f3b1c3c3ce680bbb.tar.gz
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>
Diffstat (limited to 'meta')
-rw-r--r--meta/conf/distro/include/ptest-packagelists.inc1
-rw-r--r--meta/recipes-graphics/wayland/wayland/run-ptest17
-rw-r--r--meta/recipes-graphics/wayland/wayland_1.18.0.bb14
3 files changed, 31 insertions, 1 deletions
diff --git a/meta/conf/distro/include/ptest-packagelists.inc b/meta/conf/distro/include/ptest-packagelists.inc
index 6e770853b8..4afac58e3a 100644
--- a/meta/conf/distro/include/ptest-packagelists.inc
+++ b/meta/conf/distro/include/ptest-packagelists.inc
@@ -47,6 +47,7 @@ PTESTS_FAST = "\
47 quilt-ptest \ 47 quilt-ptest \
48 sed-ptest \ 48 sed-ptest \
49 slang-ptest \ 49 slang-ptest \
50 wayland-ptest \
50 zlib-ptest \ 51 zlib-ptest \
51" 52"
52 53
diff --git a/meta/recipes-graphics/wayland/wayland/run-ptest b/meta/recipes-graphics/wayland/wayland/run-ptest
new file mode 100644
index 0000000000..7e8d9de046
--- /dev/null
+++ b/meta/recipes-graphics/wayland/wayland/run-ptest
@@ -0,0 +1,17 @@
1#!/bin/sh
2
3export WAYLAND_SCANNER=wayland-scanner
4export TEST_DATA_DIR=tests/data
5export TEST_OUTPUT_DIR=tests/output
6export SED=sed
7export WAYLAND_EGL_LIB=/usr/lib/libwayland-egl.so.1
8export NM=nm
9
10for i in `ls tests/*-test tests/wayland-egl-symbols-check tests/scanner-test.sh`; do
11 $i
12 if [ $? -eq 0 ]; then
13 echo "PASS: $i"
14 else
15 echo "FAIL: $i"
16 fi
17done
diff --git a/meta/recipes-graphics/wayland/wayland_1.18.0.bb b/meta/recipes-graphics/wayland/wayland_1.18.0.bb
index 5dc31163da..00be3aac27 100644
--- a/meta/recipes-graphics/wayland/wayland_1.18.0.bb
+++ b/meta/recipes-graphics/wayland/wayland_1.18.0.bb
@@ -13,6 +13,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b31d8f53b6aaf2b4985d7dd7810a70d1 \
13DEPENDS = "expat libffi wayland-native" 13DEPENDS = "expat libffi wayland-native"
14 14
15SRC_URI = "https://wayland.freedesktop.org/releases/${BPN}-${PV}.tar.xz \ 15SRC_URI = "https://wayland.freedesktop.org/releases/${BPN}-${PV}.tar.xz \
16 file://run-ptest \
16 file://0002-meson.build-find-the-native-wayland-scanner-directly.patch \ 17 file://0002-meson.build-find-the-native-wayland-scanner-directly.patch \
17 file://0002-Do-not-hardcode-the-path-to-wayland-scanner.patch \ 18 file://0002-Do-not-hardcode-the-path-to-wayland-scanner.patch \
18 file://0001-build-Fix-strndup-detection-on-MinGW.patch \ 19 file://0001-build-Fix-strndup-detection-on-MinGW.patch \
@@ -23,7 +24,7 @@ SRC_URI[sha256sum] = "4675a79f091020817a98fd0484e7208c8762242266967f55a67776936c
23 24
24UPSTREAM_CHECK_URI = "https://wayland.freedesktop.org/releases.html" 25UPSTREAM_CHECK_URI = "https://wayland.freedesktop.org/releases.html"
25 26
26inherit meson pkgconfig 27inherit meson pkgconfig ptest
27 28
28PACKAGECONFIG ??= "dtd-validation" 29PACKAGECONFIG ??= "dtd-validation"
29PACKAGECONFIG[dtd-validation] = "-Ddtd_validation=true,-Ddtd_validation=false,libxml2,," 30PACKAGECONFIG[dtd-validation] = "-Ddtd_validation=true,-Ddtd_validation=false,libxml2,,"
@@ -39,6 +40,15 @@ do_install_append_class-native() {
39 -i ${D}/${datadir}/aclocal/wayland-scanner.m4 40 -i ${D}/${datadir}/aclocal/wayland-scanner.m4
40} 41}
41 42
43do_install_ptest() {
44 mkdir -p ${D}${PTEST_PATH}/tests/data
45 cp -rf ${B}/tests/*-test ${B}/tests/*-checker ${D}${PTEST_PATH}/tests
46 cp -rf ${B}/tests/*-checker ${D}${PTEST_PATH}
47 cp -rf ${S}/tests/scanner-test.sh ${D}${PTEST_PATH}/tests
48 cp -rf ${S}/tests/data/* ${D}${PTEST_PATH}/tests/data/
49 cp -rf ${S}/egl/wayland-egl-symbols-check ${D}${PTEST_PATH}/tests/
50}
51
42sysroot_stage_all_append_class-target () { 52sysroot_stage_all_append_class-target () {
43 rm ${SYSROOT_DESTDIR}/${datadir}/aclocal/wayland-scanner.m4 53 rm ${SYSROOT_DESTDIR}/${datadir}/aclocal/wayland-scanner.m4
44 cp ${STAGING_DATADIR_NATIVE}/aclocal/wayland-scanner.m4 ${SYSROOT_DESTDIR}/${datadir}/aclocal/ 54 cp ${STAGING_DATADIR_NATIVE}/aclocal/wayland-scanner.m4 ${SYSROOT_DESTDIR}/${datadir}/aclocal/
@@ -48,3 +58,5 @@ FILES_${PN} = "${libdir}/*${SOLIBS}"
48FILES_${PN}-dev += "${bindir} ${datadir}/wayland" 58FILES_${PN}-dev += "${bindir} ${datadir}/wayland"
49 59
50BBCLASSEXTEND = "native nativesdk" 60BBCLASSEXTEND = "native nativesdk"
61
62RDEPENDS_${PN}-ptest += "binutils sed"