| Submitter | Andrei Gherzan |
|---|---|
| Date | Aug. 17, 2012, 1:02 p.m. |
| Message ID | <fe8f0c9d64b8fb123545d8afcd7891c6d6d90728.1345208249.git.andrei.gherzan@windriver.com> |
| Download | mbox | patch |
| Permalink | /patch/34815/ |
| State | New |
| Headers | show |
Comments
On Fri, Aug 17, 2012 at 4:44 PM, Radu Moisan <radu.moisan@intel.com> wrote: > > On 08/17/2012 04:02 PM, Andrei Gherzan wrote: > > While compiling dbus with tests, dbus and dbus-glib are needed. > To compile dbus-glib, dbus is needed (obviously). The only solution > (to compile dbus with tests) is to create a new recipe where to > compile dbus with --enable-tests --enable-embedded-tests, skip write > to sysroot (noexec) and just package dbus-tests. > A bash wrapper to run all tests is included. > > Signed-off-by: Andrei Gherzan <andrei.gherzan@windriver.com> <andrei.gherzan@windriver.com> > --- > meta/recipes-core/dbus/dbus-tests/run_test.sh | 22 +++++++++ > meta/recipes-core/dbus/dbus-tests_1.4.20.bb | 64 +++++++++++++++++++++++++ > 2 files changed, 86 insertions(+), 0 deletions(-) > create mode 100755 meta/recipes-core/dbus/dbus-tests/run_test.sh > create mode 100644 meta/recipes-core/dbus/dbus-tests_1.4.20.bb > > diff --git a/meta/recipes-core/dbus/dbus-tests/run_test.sh b/meta/recipes-core/dbus/dbus-tests/run_test.sh > new file mode 100755 > index 0000000..90abad2 > --- /dev/null > +++ b/meta/recipes-core/dbus/dbus-tests/run_test.sh > @@ -0,0 +1,22 @@ > +#!/bin/sh > + > +# Tests location > +export DBUS_TEST_HOMEDIR=/usr/lib/dbus-tests > +# Tests data location > +export DBUS_TEST_DATA=${DBUS_TEST_HOMEDIR}/test/data > + > +TESTS=" \ > + bus/bus-test \ > + bus/bus-test-system \ > + dbus/dbus-test \ > + bus/bus-test-launch-helper \ > + test/shell-test \ > + test/test-corrupt \ > + test/test-dbus-daemon \ > + test/test-loopback \ > + test/test-marshal \ > + test/test-relay \ > + test/test-syslog \ > + test/test-refs" > + > +${DBUS_TEST_HOMEDIR}/test/dbus-test-runner ${DBUS_TEST_HOMEDIR} ${TESTS} > diff --git a/meta/recipes-core/dbus/dbus-tests_1.4.20.bb b/meta/recipes-core/dbus/dbus-tests_1.4.20.bb > new file mode 100644 > index 0000000..0e7d272 > --- /dev/null > +++ b/meta/recipes-core/dbus/dbus-tests_1.4.20.bb > @@ -0,0 +1,64 @@ > +FILESEXTRAPATHS_append := "${THISDIR}/dbus-${PV}" > +include recipes-core/dbus/dbus.inc > + > +PR = "${INC_PR}.0" > + > +SRC_URI[md5sum] = "79eca2f2c1894ac347acce128314428b" > +SRC_URI[sha256sum] = "103bdcd261a13140730b5fa69f56a98ab5c89ba3f0116ea62fcfd639520d5aaf" > + > +DEPENDS += "python-pygobject-native python-dbus-native dbus-glib dbus" > +RDEPENDS_${PN} = "dbus-x11" > > wouldn't RDEPENDS_${PN} = "dbus" be a better choice since dbus-x11 is > RPROVIDED only for compatibility reasons? > > Yes. Forgot about that. Thanks. ag
On 08/17/2012 04:02 PM, Andrei Gherzan wrote: > While compiling dbus with tests, dbus and dbus-glib are needed. > To compile dbus-glib, dbus is needed (obviously). The only solution > (to compile dbus with tests) is to create a new recipe where to > compile dbus with --enable-tests --enable-embedded-tests, skip write > to sysroot (noexec) and just package dbus-tests. > A bash wrapper to run all tests is included. > > Signed-off-by: Andrei Gherzan <andrei.gherzan@windriver.com> > --- > meta/recipes-core/dbus/dbus-tests/run_test.sh | 22 +++++++++ > meta/recipes-core/dbus/dbus-tests_1.4.20.bb | 64 +++++++++++++++++++++++++ > 2 files changed, 86 insertions(+), 0 deletions(-) > create mode 100755 meta/recipes-core/dbus/dbus-tests/run_test.sh > create mode 100644 meta/recipes-core/dbus/dbus-tests_1.4.20.bb > > diff --git a/meta/recipes-core/dbus/dbus-tests/run_test.sh b/meta/recipes-core/dbus/dbus-tests/run_test.sh > new file mode 100755 > index 0000000..90abad2 > --- /dev/null > +++ b/meta/recipes-core/dbus/dbus-tests/run_test.sh > @@ -0,0 +1,22 @@ > +#!/bin/sh > + > +# Tests location > +export DBUS_TEST_HOMEDIR=/usr/lib/dbus-tests > +# Tests data location > +export DBUS_TEST_DATA=${DBUS_TEST_HOMEDIR}/test/data > + > +TESTS=" \ > + bus/bus-test \ > + bus/bus-test-system \ > + dbus/dbus-test \ > + bus/bus-test-launch-helper \ > + test/shell-test \ > + test/test-corrupt \ > + test/test-dbus-daemon \ > + test/test-loopback \ > + test/test-marshal \ > + test/test-relay \ > + test/test-syslog \ > + test/test-refs" > + > +${DBUS_TEST_HOMEDIR}/test/dbus-test-runner ${DBUS_TEST_HOMEDIR} ${TESTS} > diff --git a/meta/recipes-core/dbus/dbus-tests_1.4.20.bb b/meta/recipes-core/dbus/dbus-tests_1.4.20.bb > new file mode 100644 > index 0000000..0e7d272 > --- /dev/null > +++ b/meta/recipes-core/dbus/dbus-tests_1.4.20.bb > @@ -0,0 +1,64 @@ > +FILESEXTRAPATHS_append := "${THISDIR}/dbus-${PV}" > +include recipes-core/dbus/dbus.inc > + > +PR = "${INC_PR}.0" > + > +SRC_URI[md5sum] = "79eca2f2c1894ac347acce128314428b" > +SRC_URI[sha256sum] = "103bdcd261a13140730b5fa69f56a98ab5c89ba3f0116ea62fcfd639520d5aaf" > + > +DEPENDS += "python-pygobject-native python-dbus-native dbus-glib dbus" > +RDEPENDS_${PN} = "dbus-x11" wouldn't RDEPENDS_${PN} = "dbus" be a better choice since dbus-x11 is RPROVIDED only for compatibility reasons? radu
Patch
diff --git a/meta/recipes-core/dbus/dbus-tests/run_test.sh b/meta/recipes-core/dbus/dbus-tests/run_test.sh new file mode 100755 index 0000000..90abad2 --- /dev/null +++ b/meta/recipes-core/dbus/dbus-tests/run_test.sh @@ -0,0 +1,22 @@ +#!/bin/sh + +# Tests location +export DBUS_TEST_HOMEDIR=/usr/lib/dbus-tests +# Tests data location +export DBUS_TEST_DATA=${DBUS_TEST_HOMEDIR}/test/data + +TESTS=" \ + bus/bus-test \ + bus/bus-test-system \ + dbus/dbus-test \ + bus/bus-test-launch-helper \ + test/shell-test \ + test/test-corrupt \ + test/test-dbus-daemon \ + test/test-loopback \ + test/test-marshal \ + test/test-relay \ + test/test-syslog \ + test/test-refs" + +${DBUS_TEST_HOMEDIR}/test/dbus-test-runner ${DBUS_TEST_HOMEDIR} ${TESTS} diff --git a/meta/recipes-core/dbus/dbus-tests_1.4.20.bb b/meta/recipes-core/dbus/dbus-tests_1.4.20.bb new file mode 100644 index 0000000..0e7d272 --- /dev/null +++ b/meta/recipes-core/dbus/dbus-tests_1.4.20.bb @@ -0,0 +1,64 @@ +FILESEXTRAPATHS_append := "${THISDIR}/dbus-${PV}" +include recipes-core/dbus/dbus.inc + +PR = "${INC_PR}.0" + +SRC_URI[md5sum] = "79eca2f2c1894ac347acce128314428b" +SRC_URI[sha256sum] = "103bdcd261a13140730b5fa69f56a98ab5c89ba3f0116ea62fcfd639520d5aaf" + +DEPENDS += "python-pygobject-native python-dbus-native dbus-glib dbus" +RDEPENDS_${PN} = "dbus-x11" +RPROVIDES_${PN} = "" + +TEST_PATH = "${libdir}/${BPN}" + +EXTRA_OECONF += "--enable-tests --enable-embedded-tests --enable-verbose-mode --with-dbus-test-dir=${TEST_PATH}" + +export DBUS_GLIB_CFLAGS="-I${STAGING_DIR_HOST}${includedir}/dbus-1.0" +export DBUS_GLIB_LIBS="-ldbus-glib-1" + +S = "${WORKDIR}/dbus-${PV}" + +# Add test wrapper +SRC_URI += "file://run_test.sh" + +# We don't want to overwrite dbus in sysroot. Just want to package the tests +do_populate_sysroot[noexec] = "1" + +PACKAGES = "${PN}-dbg ${PN}" + +FILES_${PN} = "${TEST_PATH}" +FILES_${PN}-dbg = "${TEST_PATH}/bus/.debug \ + ${TEST_PATH}/dbus/.debug \ + ${TEST_PATH}/test/.debug \ + /usr/src/debug" + +BUS_TESTS = "bus-test bus-test-system bus-test-launch-helper dbus-daemon-launch-helper-test" +DBUS_TESTS = "dbus-test" +TEST = "dbus-test-runner spawn-test .libs/test-dbus-daemon .libs/test-loopback test-sleep-forever \ + test-segfault shell-test test-exit .libs/test-marshal test-refs test-shell-service \ + .libs/test-corrupt test-syslog test-names .libs/test-relay test-service" + +do_install () { + install -d ${D}/${TEST_PATH}/test/data + install -d ${D}/${TEST_PATH}/dbus + install -d ${D}/${TEST_PATH}/bus + + cp -r ${S}/test/data/* ${D}/${TEST_PATH}/test/data + + for file in ${BUS_TESTS}; do + install -m 766 ${S}/bus/${file} ${D}/${TEST_PATH}/bus + done + + for file in ${DBUS_TESTS}; do + install -m 766 ${S}/dbus/${file} ${D}/${TEST_PATH}/dbus + done + + for file in ${TEST}; do + install -m 766 ${S}/test/${file} ${D}/${TEST_PATH}/test + done + + install -m 766 ${WORKDIR}/run_test.sh ${D}/${TEST_PATH} +} + +BBCLASSEXTEND = ""
While compiling dbus with tests, dbus and dbus-glib are needed. To compile dbus-glib, dbus is needed (obviously). The only solution (to compile dbus with tests) is to create a new recipe where to compile dbus with --enable-tests --enable-embedded-tests, skip write to sysroot (noexec) and just package dbus-tests. A bash wrapper to run all tests is included. Signed-off-by: Andrei Gherzan <andrei.gherzan@windriver.com> --- meta/recipes-core/dbus/dbus-tests/run_test.sh | 22 +++++++++ meta/recipes-core/dbus/dbus-tests_1.4.20.bb | 64 +++++++++++++++++++++++++ 2 files changed, 86 insertions(+), 0 deletions(-) create mode 100755 meta/recipes-core/dbus/dbus-tests/run_test.sh create mode 100644 meta/recipes-core/dbus/dbus-tests_1.4.20.bb