lxc: Add ptest support

Install lxc test suite and run it as ptest.

Signed-off-by: Mihaela Sendrea <mihaela.sendrea@enea.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
This commit is contained in:
Mihaela Sendrea 2014-04-14 15:26:19 +02:00 committed by Bruce Ashfield
parent 7544bfb6ec
commit 10edbcd8ca
3 changed files with 51 additions and 2 deletions

View File

@ -0,0 +1,4 @@
#!/bin/sh
make -C src/tests -k check-TESTS

View File

@ -0,0 +1,32 @@
Add install-ptest rule.
Signed-off-by: Mihaela Sendrea <mihaela.sendrea@enea.com>
Upstream-status: Pending
diff -uNr a/src/tests/Makefile.am b/src/tests/Makefile.am
--- a/src/tests/Makefile.am 2014-04-07 16:25:59.246238815 +0300
+++ b/src/tests/Makefile.am 2014-04-10 18:09:43.195772467 +0300
@@ -54,6 +54,23 @@
endif
+TESTS = lxc-test-containertests lxc-test-locktests \
+ lxc-test-getkeys lxc-test-lxcpath lxc-test-cgpath lxc-test-console \
+ lxc-test-snapshot lxc-test-concurrent lxc-test-may-control \
+ lxc-test-reboot lxc-test-list lxc-test-attach lxc-test-device-add-remove
+
+buildtest-TESTS: $(TESTS)
+
+install-ptest:
+ install -d $(TEST_DIR)
+ install -D ../lxc/liblxc.so $(TEST_DIR)/../lxc/liblxc.so
+ install -D ../../config/test-driver $(TEST_DIR)/../../config/test-driver
+ cp Makefile $(TEST_DIR)
+ @(for file in $(TESTS); do install $$file $(TEST_DIR); done;)
+ sed -i 's|^Makefile:|_Makefile:|' $(TEST_DIR)/Makefile
+ sed -i 's|^all-am:|_all-am:|' $(TEST_DIR)/Makefile
+ sed -i -e 's|^\(.*\.log:\) \(.*EXEEXT.*\)|\1|g' $(TEST_DIR)/Makefile
+
EXTRA_DIST = \
cgpath.c \
clonetest.c \

View File

@ -20,12 +20,15 @@ RDEPENDS_${PN} = " \
perl-module-overload \ perl-module-overload \
perl-module-exporter-heavy \ perl-module-exporter-heavy \
" "
RDEPENDS_${PN}-ptest += "file make"
SRC_URI = "http://linuxcontainers.org/downloads/${BPN}-${PV}.tar.gz \ SRC_URI = "http://linuxcontainers.org/downloads/${BPN}-${PV}.tar.gz \
file://lxc-1.0.0-disable-udhcp-from-busybox-template.patch \ file://lxc-1.0.0-disable-udhcp-from-busybox-template.patch \
file://config_network_type-set-macvlan-default-mode-to-priv.patch \ file://config_network_type-set-macvlan-default-mode-to-priv.patch \
file://lxc-busybox-follow-symlinks-when-inspecting-busybox-.patch \ file://lxc-busybox-follow-symlinks-when-inspecting-busybox-.patch \
file://network.c-Add-missing-LXC_NET_NONE-option-refactor.patch \ file://network.c-Add-missing-LXC_NET_NONE-option-refactor.patch \
file://runtest.patch \
file://run-ptest \
" "
SRC_URI[md5sum] = "87a9d168a6e55326303cce3b2cb7f82e" SRC_URI[md5sum] = "87a9d168a6e55326303cce3b2cb7f82e"
SRC_URI[sha256sum] = "0992212ddaad01dfe8c048e130566b73dd5f34191585f36bdac07a4f8a91f3bd" SRC_URI[sha256sum] = "0992212ddaad01dfe8c048e130566b73dd5f34191585f36bdac07a4f8a91f3bd"
@ -34,20 +37,23 @@ S = "${WORKDIR}/${BPN}-${PV}"
# Let's not configure for the host distro. # Let's not configure for the host distro.
# #
EXTRA_OECONF += "--with-distro=${DISTRO}" PTEST_CONF = "${@base_contains('DISTRO_FEATURES', 'ptest', '--enable-tests', '', d)}"
EXTRA_OECONF += "--with-distro=${DISTRO} ${PTEST_CONF}"
PACKAGECONFIG ??= "" PACKAGECONFIG ??= ""
PACKAGECONFIG[doc] = "--enable-doc,--disable-doc,," PACKAGECONFIG[doc] = "--enable-doc,--disable-doc,,"
PACKAGECONFIG[rpath] = "--enable-rpath,--disable-rpath,," PACKAGECONFIG[rpath] = "--enable-rpath,--disable-rpath,,"
PACKAGECONFIG[apparmour] = "--enable-apparmor,--disable-apparmor,apparmor,apparmor" PACKAGECONFIG[apparmour] = "--enable-apparmor,--disable-apparmor,apparmor,apparmor"
inherit autotools pkgconfig inherit autotools pkgconfig ptest
FILES_${PN}-doc = "${mandir} ${infodir}" FILES_${PN}-doc = "${mandir} ${infodir}"
# For LXC the docdir only contains example configuration files and should be included in the lxc package # For LXC the docdir only contains example configuration files and should be included in the lxc package
FILES_${PN} += "${docdir}" FILES_${PN} += "${docdir}"
FILES_${PN}-dbg += "${libexecdir}/lxc/.debug" FILES_${PN}-dbg += "${libexecdir}/lxc/.debug"
PRIVATE_LIBS_${PN}-ptest = "liblxc.so.1"
do_install_append() { do_install_append() {
# The /var/cache/lxc directory created by the Makefile # The /var/cache/lxc directory created by the Makefile
# is wiped out in volatile, we need to create this at boot. # is wiped out in volatile, we need to create this at boot.
@ -58,8 +64,15 @@ do_install_append() {
} }
EXTRA_OEMAKE += "TEST_DIR=${D}${PTEST_PATH}/src/tests"
do_install_ptest() {
oe_runmake -C src/tests install-ptest
}
pkg_postinst_${PN}() { pkg_postinst_${PN}() {
if [ -z "$D" ] && [ -e /etc/init.d/populate-volatile.sh ] ; then if [ -z "$D" ] && [ -e /etc/init.d/populate-volatile.sh ] ; then
/etc/init.d/populate-volatile.sh update /etc/init.d/populate-volatile.sh update
fi fi
} }