forked from Mirrors/flatpak-builder
Make installed tests work better
This involves e.g. having our own session bus with only our services in.tingping/wmclass
parent
327f432219
commit
b330368761
|
@ -1,8 +1,8 @@
|
||||||
# GLIB - Library of useful C routines
|
# GLIB - Library of useful C routines
|
||||||
|
|
||||||
TESTS_ENVIRONMENT= \
|
TESTS_ENVIRONMENT= \
|
||||||
G_TEST_SRCDIR="$(abs_srcdir)" \
|
G_TEST_SRCDIR="$(abs_srcdir)/tests" \
|
||||||
G_TEST_BUILDDIR="$(abs_builddir)" \
|
G_TEST_BUILDDIR="$(abs_builddir)/tests" \
|
||||||
UNINSTALLEDTESTS=1 \
|
UNINSTALLEDTESTS=1 \
|
||||||
G_DEBUG=gc-friendly \
|
G_DEBUG=gc-friendly \
|
||||||
MALLOC_CHECK_=2 \
|
MALLOC_CHECK_=2 \
|
||||||
|
@ -118,7 +118,8 @@ installed_test_meta_DATA = $(installed_testcases:=.test)
|
||||||
%.test: %$(EXEEXT) Makefile
|
%.test: %$(EXEEXT) Makefile
|
||||||
$(AM_V_GEN) (echo '[Test]' > $@.tmp; \
|
$(AM_V_GEN) (echo '[Test]' > $@.tmp; \
|
||||||
echo 'Type=session' >> $@.tmp; \
|
echo 'Type=session' >> $@.tmp; \
|
||||||
echo 'Exec=env G_TEST_SRCDIR=$(installed_testdir) G_TEST_BUILDDIR=$(installed_testdir) $(installed_testdir)/$(notdir $<)' >> $@.tmp; \
|
echo 'Exec=env G_TEST_SRCDIR=$(installed_testdir) G_TEST_BUILDDIR=$(installed_testdir) $(installed_testdir)/$(notdir $<) --tap' >> $@.tmp; \
|
||||||
|
echo 'Output=TAP' >> $@.tmp; \
|
||||||
mv $@.tmp $@)
|
mv $@.tmp $@)
|
||||||
|
|
||||||
CLEANFILES += $(installed_test_meta_DATA)
|
CLEANFILES += $(installed_test_meta_DATA)
|
||||||
|
|
|
@ -4,7 +4,6 @@ TESTS_ENVIRONMENT += OT_TESTS_DEBUG=1 \
|
||||||
PATH=$$(cd $(top_builddir) && pwd):$${PATH} \
|
PATH=$$(cd $(top_builddir) && pwd):$${PATH} \
|
||||||
$(NULL)
|
$(NULL)
|
||||||
|
|
||||||
TEST_PROGS += testdb test-doc-portal
|
|
||||||
testdb_CFLAGS = $(BASE_CFLAGS) -DDB_DIR=\"$(abs_srcdir)/tests/dbs\"
|
testdb_CFLAGS = $(BASE_CFLAGS) -DDB_DIR=\"$(abs_srcdir)/tests/dbs\"
|
||||||
testdb_LDADD = \
|
testdb_LDADD = \
|
||||||
$(BASE_LIBS) \
|
$(BASE_LIBS) \
|
||||||
|
@ -23,6 +22,7 @@ test_doc_portal_LDADD = \
|
||||||
$(NULL)
|
$(NULL)
|
||||||
test_doc_portal_SOURCES = tests/test-doc-portal.c $(xdp_dbus_built_sources)
|
test_doc_portal_SOURCES = tests/test-doc-portal.c $(xdp_dbus_built_sources)
|
||||||
|
|
||||||
|
EXTRA_test_doc_portal_DEPENDENCIES = tests/services/org.freedesktop.portal.Documents.service tests/services/org.freedesktop.XdgApp.service
|
||||||
|
|
||||||
tests/services/org.freedesktop.portal.Documents.service: document-portal/org.freedesktop.portal.Documents.service.in
|
tests/services/org.freedesktop.portal.Documents.service: document-portal/org.freedesktop.portal.Documents.service.in
|
||||||
mkdir -p tests/services
|
mkdir -p tests/services
|
||||||
|
@ -32,15 +32,26 @@ tests/services/org.freedesktop.XdgApp.service: session-helper/org.freedesktop.Xd
|
||||||
mkdir -p tests/services
|
mkdir -p tests/services
|
||||||
$(AM_V_GEN) $(SED) -e "s|\@libexecdir\@|$(abs_top_builddir)|" $< > $@
|
$(AM_V_GEN) $(SED) -e "s|\@libexecdir\@|$(abs_top_builddir)|" $< > $@
|
||||||
|
|
||||||
test_doc_portal_DEPENDENCIES = tests/services/org.freedesktop.portal.Documents.service tests/services/org.freedesktop.XdgApp.service
|
tests/libtest.sh: tests/services/org.freedesktop.portal.Documents.service tests/services/org.freedesktop.XdgApp.service
|
||||||
|
|
||||||
|
install-data-hook:
|
||||||
|
mkdir -p $(DESTDIR)$(installed_testdir)/services
|
||||||
|
ln -sf $(dbus_servicedir)/org.freedesktop.XdgApp.service $(DESTDIR)$(installed_testdir)/services/
|
||||||
|
ln -sf $(dbus_servicedir)/org.freedesktop.portal.Documents.service $(DESTDIR)$(installed_testdir)/services/
|
||||||
|
|
||||||
check_PROGRAMS += $(TEST_PROGS)
|
check_PROGRAMS += $(TEST_PROGS)
|
||||||
|
|
||||||
installed_test_data = \
|
installed_test_SCRIPTS += \
|
||||||
tests/libtest.sh \
|
buildutil/tap-driver.sh \
|
||||||
tests/make-test-app.sh \
|
tests/make-test-app.sh \
|
||||||
tests/make-test-runtime.sh \
|
tests/make-test-runtime.sh \
|
||||||
tests/make-test-bundles.sh \
|
tests/make-test-bundles.sh \
|
||||||
|
tests/libtest.sh \
|
||||||
|
$(NULL)
|
||||||
|
|
||||||
|
installed_test_data = \
|
||||||
|
tests/org.test.Hello.png \
|
||||||
|
tests/session.conf.in \
|
||||||
$(NULL)
|
$(NULL)
|
||||||
|
|
||||||
test_scripts = \
|
test_scripts = \
|
||||||
|
|
|
@ -19,13 +19,13 @@
|
||||||
# Boston, MA 02111-1307, USA.
|
# Boston, MA 02111-1307, USA.
|
||||||
|
|
||||||
if [ -n "${G_TEST_SRCDIR:-}" ]; then
|
if [ -n "${G_TEST_SRCDIR:-}" ]; then
|
||||||
test_srcdir="${G_TEST_SRCDIR}/tests"
|
test_srcdir="${G_TEST_SRCDIR}"
|
||||||
else
|
else
|
||||||
test_srcdir=$(dirname $0)
|
test_srcdir=$(dirname $0)
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -n "${G_TEST_BUILDDIR:-}" ]; then
|
if [ -n "${G_TEST_BUILDDIR:-}" ]; then
|
||||||
test_builddir="${G_TEST_BUILDDIR}/tests"
|
test_builddir="${G_TEST_BUILDDIR}"
|
||||||
else
|
else
|
||||||
test_builddir=$(dirname $0)
|
test_builddir=$(dirname $0)
|
||||||
fi
|
fi
|
||||||
|
@ -67,7 +67,10 @@ else
|
||||||
CMD_PREFIX=""
|
CMD_PREFIX=""
|
||||||
fi
|
fi
|
||||||
|
|
||||||
export XDG_DATA_HOME=${test_tmpdir}/share
|
# We need this to be in /var/tmp because /tmp has no xattr support
|
||||||
|
TEST_DATA_DIR=`mktemp -d /var/tmp/test-xdg-app-XXXXXX`
|
||||||
|
|
||||||
|
export XDG_DATA_HOME=${TEST_DATA_DIR}/share
|
||||||
|
|
||||||
export XDG_APP="${CMD_PREFIX} xdg-app"
|
export XDG_APP="${CMD_PREFIX} xdg-app"
|
||||||
|
|
||||||
|
@ -126,8 +129,8 @@ assert_file_empty() {
|
||||||
}
|
}
|
||||||
|
|
||||||
setup_repo () {
|
setup_repo () {
|
||||||
. $(dirname $0)/make-test-runtime.sh
|
. $(dirname $0)/make-test-runtime.sh > /dev/null
|
||||||
. $(dirname $0)/make-test-app.sh
|
. $(dirname $0)/make-test-app.sh > /dev/null
|
||||||
xdg-app remote-add --user --no-gpg-verify repo repo
|
xdg-app remote-add --user --no-gpg-verify repo repo
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -138,4 +141,10 @@ install_repo () {
|
||||||
|
|
||||||
run () {
|
run () {
|
||||||
${CMD_PREFIX} xdg-app run "$@"
|
${CMD_PREFIX} xdg-app run "$@"
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
sed s#@testdir@#${test_builddir}# ${test_srcdir}/session.conf.in > session.conf
|
||||||
|
eval `dbus-launch --config-file=session.conf --sh-syntax`
|
||||||
|
|
||||||
|
trap "rm -rf $TEST_DATA_DIR; /bin/kill $DBUS_SESSION_BUS_PID" EXIT
|
||||||
|
|
Loading…
Reference in New Issue