kbd: create ptest sub-package

Create kbd-ptest sub-package:

* add file run-ptest and runtime dependency make
* modify installed Makefile to disable remake Makefile and the test
  cases when run the ptest
* add patch to set proper path for test cases to get resource files

(From OE-Core rev: 901ccb3e70e9036112c51acc6d18d05025f6e1bb)

Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Kai Kang 2016-09-30 16:49:55 +08:00 committed by Richard Purdie
parent 3159738032
commit 1ab3a23739
3 changed files with 79 additions and 0 deletions

View File

@ -0,0 +1,4 @@
#!/bin/sh
CURDIR=$(dirname `readlink -f $0`)
make -k -C ${CURDIR}/tests check-TESTS

View File

@ -0,0 +1,56 @@
Upstream-Status: Inappropriate [embedded specific]
kbd is out of source built, then the value of $(srcdir) is relative path of
${S}/tests to ${B}/tests. Macro DATADIR is defined with $(srcdir) and replaced
in .c files by compiler, and string @DATADIR@ is replaced with $(srdir) by rule
"%: %.in" in Makefile.
But kbd-ptest puts test cases and resource files in same directory, then some
ptest cases fail to find resources.
Replace DATADIR and @DATADIR@ with current directory(dot) to make test cases
run as expected.
Signed-off-by: Kai Kang <kai.kang@windriver.com>
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 1976333..b36aef3 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -1,7 +1,7 @@
AM_CPPFLAGS = \
-I$(srcdir)/../src/libkeymap \
-I$(builddir)/../src/libkeymap \
- -DDATADIR=\"$(srcdir)\" -DBUILDDIR=\"$(builddir)\"
+ -DDATADIR=\".\" -DBUILDDIR=\"$(builddir)\"
AM_CFLAGS = $(CHECK_CFLAGS)
LDADD = $(top_builddir)/src/libkeymap/libkeymap.la $(CHECK_LIBS)
diff --git a/tests/alt-is-meta.in b/tests/alt-is-meta.in
index ddd5ed8..772fb51 100755
--- a/tests/alt-is-meta.in
+++ b/tests/alt-is-meta.in
@@ -7,8 +7,8 @@ cd "$cwd"
rc=0
temp="$(mktemp "@BUILDDIR@/temp.XXXXXXXXX")"
-./libkeymap-showmaps "@DATADIR@"/alt-is-meta.map > "$temp" || rc=$?
-cmp -s "@DATADIR@//alt-is-meta.output" "$temp" || rc=$?
+./libkeymap-showmaps ./alt-is-meta.map > "$temp" || rc=$?
+cmp -s "./alt-is-meta.output" "$temp" || rc=$?
if [ "$rc" != 0 ]; then
printf 'failed\n'
diff --git a/tests/dumpkeys-fulltable.in b/tests/dumpkeys-fulltable.in
index 7c856e5..14d92c1 100755
--- a/tests/dumpkeys-fulltable.in
+++ b/tests/dumpkeys-fulltable.in
@@ -5,7 +5,7 @@ cwd="$(readlink -ev "${0%/*}")"
cd "$cwd"
BUILDDIR="@BUILDDIR@"
-DATADIR="@DATADIR@"
+DATADIR="."
check_keymap() {
local kmap temp rc

View File

@ -11,6 +11,8 @@ RPROVIDES_${PN} = "console-tools"
RCONFLICTS_${PN} = "console-tools"
SRC_URI = "${KERNELORG_MIRROR}/linux/utils/${BPN}/${BP}.tar.xz \
file://run-ptest \
${@bb.utils.contains('DISTRO_FEATURES', 'ptest', 'file://set-proper-path-of-resources.patch', '', d)} \
"
SRC_URI[md5sum] = "231b46e7142eb41ea3ae06d2ded3c208"
@ -19,6 +21,21 @@ SRC_URI[sha256sum] = "7a899de1c0eb75f3aea737095a736f2375e1cbfbe693fc14a3fe0bfb46
PACKAGECONFIG ?= "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam', '', d)}"
PACKAGECONFIG[pam] = "--enable-vlock, --disable-vlock, libpam,"
do_compile_ptest() {
oe_runmake -C ${B}/tests dumpkeys-fulltable alt-is-meta
}
do_install_ptest() {
install -D ${B}/tests/Makefile ${D}${PTEST_PATH}/tests/Makefile
sed -i -e '/Makefile:/,/^$/d' -e '/%: %.in/,/^$/d' \
-e '/libkeymap_.*_SOURCES =/d' -e '/$(EXEEXT):/,/^$/d' ${D}${PTEST_PATH}/tests/Makefile
find ${B}/tests -executable -exec install {} ${D}${PTEST_PATH}/tests \;
find ${S}/tests \( -name \*.map -o -name \*.bin -o -name \*.output \) -exec install {} ${D}${PTEST_PATH}/tests \;
install -D -m 755 ${S}/config/test-driver ${D}${PTEST_PATH}/config/test-driver
}
PACKAGES += "${PN}-consolefonts ${PN}-keymaps ${PN}-unimaps ${PN}-consoletrans"
FILES_${PN}-consolefonts = "${datadir}/consolefonts"
@ -26,6 +43,8 @@ FILES_${PN}-consoletrans = "${datadir}/consoletrans"
FILES_${PN}-keymaps = "${datadir}/keymaps"
FILES_${PN}-unimaps = "${datadir}/unimaps"
RDEPENDS_${PN}-ptest = "make"
inherit update-alternatives
ALTERNATIVE_${PN} = "chvt deallocvt fgconsole openvt"