V2: Fix rt-tests redo install error and add qemu ptest
cover V2: Fix rt-tests redo install error and add qemu ptest
V2:
* add upstream status for add-ptest-in-makefile.patch of qemu.
The following changes since commit a8bc06c3a001d89586f534c6411c3eeb2b106906:
bitbake: bb.parse: properly error out on filesystem errors (2015-08-01 11:31:16 +0100)
are available in the git repository at:
git://git.yoctoproject.org/poky-contrib kangkai/qemu-ptest
http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=kangkai/qemu-ptest
Kai Kang (2):
rt-tests: fix redo install error
qemu: add ptest sub-package
meta/recipes-devtools/qemu/qemu.inc | 16 +++++++- .../qemu/qemu/add-ptest-in-makefile.patch | 29 +++++++++++++ meta/recipes-devtools/qemu/qemu/run-ptest | 8 ++++ .../rt-tests/files/fix-re-install-failure.patch | 48 ++++++++++++++++++++++ meta/recipes-rt/rt-tests/rt-tests.inc | 1 + 5 files changed, 101 insertions(+), 1 deletion(-) create mode 100644 meta/recipes-devtools/qemu/qemu/add-ptest-in-makefile.patch create mode 100644 meta/recipes-devtools/qemu/qemu/run-ptest create mode 100644 meta/recipes-rt/rt-tests/files/fix-re-install-failure.patch
Signature · 1 line
1.9.1
PATCH 1/2 rt-tests: fix redo install error
Currently gzip on host is used. If host gzip is provided by pigz, it fails to redo install that pigz can't handle the option after file name. When run command for target install in Makefile:
gzip src/backfire/backfire.4 -c > OUTPUT_FILE
File src/backfire/backfire.4 is zipped into backfire.4.gz but the OUTPUT_FILE is empty. When rerun do_install, it shows warning:
| gzip: src/backfire/backfire.4 does not exist -- skipping
and empty manual gzip files are created:
$ file image/usr/share/man/man4/backfire.4.gz image/usr/share/man/man4/backfire.4.gz: empty
Fix it by putting option '-c' before the file name.
--- .../rt-tests/files/fix-re-install-failure.patch | 48 ++++++++++++++++++++++ meta/recipes-rt/rt-tests/rt-tests.inc | 1 + 2 files changed, 49 insertions(+) create mode 100644 meta/recipes-rt/rt-tests/files/fix-re-install-failure.patch
meta/recipes-rt/rt-tests/files/fix-re-install-failure.patch new file +48 -0
@@ -0,0 +1,48 @@ +Currently gzip on host is used. If host gzip is provided by pigz, it fails to +redo install that pigz can't handle the option after file name. When run: + +gzip src/backfire/backfire.4 -c > OUTPUT_FILE + +File src/backfire/backfire.4 is zipped into backfire.4.gz but the OUTPUT_FILE +is empty. When rerun do_install, it shows warning: + +| gzip: src/backfire/backfire.4 does not exist -- skipping + +and empty manual gzip files are created: + +$ file image/usr/share/man/man4/backfire.4.gz +image/usr/share/man/man4/backfire.4.gz: empty + +Fix it by putting option '-c' before the file name. + +Upstream-Status: Pending + +Signed-off-by: Kai Kang <[email protected]> +--- +--- git/Makefile.orig 2014-11-14 15:47:26.406638419 +0800 ++++ git/Makefile 2014-11-14 15:46:53.890637533 +0800 +@@ -127,15 +127,15 @@ + cp $(TARGETS) "$(DESTDIR)$(bindir)" + install -D -m 644 src/backfire/backfire.c "$(DESTDIR)$(srcdir)/backfire/backfire.c" + install -m 644 src/backfire/Makefile "$(DESTDIR)$(srcdir)/backfire/Makefile" +- gzip src/backfire/backfire.4 -c >"$(DESTDIR)$(mandir)/man4/backfire.4.gz" +- gzip src/cyclictest/cyclictest.8 -c >"$(DESTDIR)$(mandir)/man8/cyclictest.8.gz" +- gzip src/pi_tests/pi_stress.8 -c >"$(DESTDIR)$(mandir)/man8/pi_stress.8.gz" +- gzip src/ptsematest/ptsematest.8 -c >"$(DESTDIR)$(mandir)/man8/ptsematest.8.gz" +- gzip src/sigwaittest/sigwaittest.8 -c >"$(DESTDIR)$(mandir)/man8/sigwaittest.8.gz" +- gzip src/svsematest/svsematest.8 -c >"$(DESTDIR)$(mandir)/man8/svsematest.8.gz" +- gzip src/pmqtest/pmqtest.8 -c >"$(DESTDIR)$(mandir)/man8/pmqtest.8.gz" +- gzip src/backfire/sendme.8 -c >"$(DESTDIR)$(mandir)/man8/sendme.8.gz" +- gzip src/hackbench/hackbench.8 -c >"$(DESTDIR)$(mandir)/man8/hackbench.8.gz" ++ gzip -c src/backfire/backfire.4 >"$(DESTDIR)$(mandir)/man4/backfire.4.gz" ++ gzip -c src/cyclictest/cyclictest.8 >"$(DESTDIR)$(mandir)/man8/cyclictest.8.gz" ++ gzip -c src/pi_tests/pi_stress.8 >"$(DESTDIR)$(mandir)/man8/pi_stress.8.gz" ++ gzip -c src/ptsematest/ptsematest.8 >"$(DESTDIR)$(mandir)/man8/ptsematest.8.gz" ++ gzip -c src/sigwaittest/sigwaittest.8 >"$(DESTDIR)$(mandir)/man8/sigwaittest.8.gz" ++ gzip -c src/svsematest/svsematest.8 >"$(DESTDIR)$(mandir)/man8/svsematest.8.gz" ++ gzip -c src/pmqtest/pmqtest.8 >"$(DESTDIR)$(mandir)/man8/pmqtest.8.gz" ++ gzip -c src/backfire/sendme.8 >"$(DESTDIR)$(mandir)/man8/sendme.8.gz" ++ gzip -c src/hackbench/hackbench.8 >"$(DESTDIR)$(mandir)/man8/hackbench.8.gz" + + .PHONY: install_hwlatdetect + install_hwlatdetect: hwlatdetect
meta/recipes-rt/rt-tests/rt-tests.inc +1 -0
@@ -8,6 +8,7 @@ SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/clrkwllms/rt-tests.git file://added-missing-dependencies.patch \ file://hackbench-fix-error-check.patch \ file://Makefile-fix-gzip-command.patch \ + file://fix-re-install-failure.patch \ " S = "${WORKDIR}/git"
Signature · 1 line
1.9.1
PATCH 2/2 qemu: add ptest sub-package
In reply to Kai KangAdd sub-package ptest which runs all unit tests cases for qemu.
--- meta/recipes-devtools/qemu/qemu.inc | 16 +++++++++++- .../qemu/qemu/add-ptest-in-makefile.patch | 29 ++++++++++++++++++++++ meta/recipes-devtools/qemu/qemu/run-ptest | 8 ++++++ 3 files changed, 52 insertions(+), 1 deletion(-) create mode 100644 meta/recipes-devtools/qemu/qemu/add-ptest-in-makefile.patch create mode 100644 meta/recipes-devtools/qemu/qemu/run-ptest
meta/recipes-devtools/qemu/qemu.inc +15 -1
@@ -3,9 +3,10 @@ HOMEPAGE = "http://qemu.org" LICENSE = "GPLv2 & LGPLv2.1" DEPENDS = "glib-2.0 zlib pixman" RDEPENDS_${PN}_class-target += "bash python" +RDEPENDS_${PN}-ptest = "bash make" require qemu-targets.inc -inherit autotools +inherit autotools ptest BBCLASSEXTEND = "native nativesdk" PR = "r1"
@@ -18,6 +19,8 @@ SRC_URI = "\ file://disable-grabs.patch \ file://exclude-some-arm-EABI-obsolete-syscalls.patch \ file://wacom.patch \ + file://add-ptest-in-makefile.patch \ + file://run-ptest \ " SRC_URI_append_class-native = "\
@@ -54,6 +57,17 @@ do_configure() { test ! -e ${S}/target-i386/beginend_funcs.sh || chmod a+x ${S}/target-i386/beginend_funcs.sh } +do_compile_ptest() { + make buildtest-TESTS +} + +do_install_ptest() { + cp -rL ${B}/tests ${D}${PTEST_PATH} + find ${D}${PTEST_PATH}/tests -type f -name "*.[Sshcod]" | xargs -i rm -rf {} + + cp ${S}/tests/Makefile ${D}${PTEST_PATH}/tests +} + do_install () { export STRIP="true" autotools_do_install
meta/recipes-devtools/qemu/qemu/add-ptest-in-makefile.patch new file +29 -0
@@ -0,0 +1,29 @@ +Upstream-Status: Pending + +Add subpackage -ptest which runs all unit test cases for qemu. + +Signed-off-by: Kai Kang <[email protected]> +--- + tests/Makefile | 10 ++++++++++ + 1 file changed, 10 insertions(+) + +diff --git a/tests/Makefile b/tests/Makefile +index 88f7105..3f40b4b 100644 +--- a/tests/Makefile ++++ b/tests/Makefile +@@ -405,3 +405,12 @@ all: $(QEMU_IOTESTS_HELPERS-y) + + -include $(wildcard tests/*.d) + -include $(wildcard tests/libqos/*.d) ++ ++buildtest-TESTS: $(check-unit-y) ++ ++runtest-TESTS: ++ for f in $(check-unit-y); do \ ++ nf=$$(echo $$f | sed 's/tests\//\.\//g'); \ ++ $$nf; \ ++ done ++ +-- +1.7.9.5 +
meta/recipes-devtools/qemu/qemu/run-ptest new file +8 -0
@@ -0,0 +1,8 @@ +#!/bin/sh +# +#This script is used to run qemu test suites +ptestdir=$(pwd) +cd tests + +export SRC_PATH=$ptestdir +make -k runtest-TESTS | sed '/: OK/ s/^/PASS: /g'
Signature · 1 line
1.9.1