quilt: enable ptest support
authorChong Lu <Chong.Lu@windriver.com>
Fri, 3 Jan 2014 06:51:30 +0000 (14:51 +0800)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Mon, 6 Jan 2014 11:14:02 +0000 (11:14 +0000)
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>
meta/recipes-devtools/quilt/quilt-0.61.inc
meta/recipes-devtools/quilt/quilt/Makefile [new file with mode: 0644]
meta/recipes-devtools/quilt/quilt/run-ptest [new file with mode: 0755]

index 41edebb..f751ac8 100644 (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 \
+"
diff --git a/meta/recipes-devtools/quilt/quilt/Makefile b/meta/recipes-devtools/quilt/quilt/Makefile
new file mode 100644 (file)
index 0000000..7b3ac8a
--- /dev/null
@@ -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)
diff --git a/meta/recipes-devtools/quilt/quilt/run-ptest b/meta/recipes-devtools/quilt/quilt/run-ptest
new file mode 100755 (executable)
index 0000000..1ea0dae
--- /dev/null
@@ -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