quilt: enable ptest support

Install quilt test suite and run it as ptest.
Exclude delete.test and mail.test.
delete.test need execute with normal user and mail.test need depend
on mail agent, else these test cases will fail. So exclude them order
to make ptest all pass.

(From OE-Core rev: 45bb0364e5f97e7d99b494df8d13e7f58265159f)

Signed-off-by: Chong Lu <Chong.Lu@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Chong Lu 2014-01-03 14:51:30 +08:00 committed by Richard Purdie
parent bcacd18175
commit 03435469e2
3 changed files with 40 additions and 2 deletions

View File

@ -5,12 +5,15 @@ LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
SRC_URI = "http://download.savannah.gnu.org/releases/quilt/quilt-${PV}.tar.gz \
file://install.patch"
file://install.patch \
file://run-ptest \
file://Makefile \
"
SRC_URI[md5sum] = "24417eba5961592b64103bdda001ebf4"
SRC_URI[sha256sum] = "1eec0a270ac4d41eea0fd5823603c9d2a35ab6b8ab73a90dd92ce1291b2a9fc3"
inherit autotools
inherit autotools ptest
EXTRA_OECONF_darwin += "--without-date \
--without-getopt \
@ -34,3 +37,20 @@ do_install () {
# cleanup unpackaged files
rm -rf ${D}/${datadir}/emacs
}
do_compile_ptest() {
oe_runmake bin/patch-wrapper test/.depend
}
do_install_ptest() {
tar -cf - bin/ --exclude \*.in | ( cd ${D}${PTEST_PATH} && tar -xf - )
tar -cf - compat/ --exclude \*.in | ( cd ${D}${PTEST_PATH} && tar -xf - )
tar -cf - quilt/ --exclude \*.in | ( cd ${D}${PTEST_PATH} && tar -xf - )
tar -cf - test/ --exclude mail.test --exclude delete.test | ( cd ${D}${PTEST_PATH} && tar -xf - )
cp ${WORKDIR}/Makefile ${D}${PTEST_PATH}
}
RDEPENDS_${PN}-ptest = "make file sed gawk diffutils findutils ed perl \
perl-module-filehandle perl-module-getopt-std \
perl-module-posix perl-module-file-temp \
"

View File

@ -0,0 +1,13 @@
PATH := $(CURDIR)/bin:$(CURDIR)/compat:$(PATH)
QUILT_DIR := $(CURDIR)/quilt
QUILTRC := $(CURDIR)/test/test.quiltrc
export QUILT_DIR QUILTRC
CHECK_ENV := P=patches/; _P=../patches/; export P _P
-include test/.depend
check-% : test/%.test
@LANG=C; LC_ALL=C; \
export LANG LC_ALL; \
$(CHECK_ENV); \
cd $(<D); \
./run -q $(<F)

View File

@ -0,0 +1,5 @@
#!/bin/sh
ln -sf /bin/ed /usr/bin/ed
for i in `ls test/*.test |awk -F. '{print $1}' |awk -F/ '{print $2}'`; do make check-$i; if [ $? == 0 ]; then echo PASS: $i.test; else echo FAIL: $i.test; fi; done
rm -f /usr/bin/ed