BASE_TESTS_ENVIRONMENT = \ builddir=$(abs_builddir) \ topsrcdir=$(abs_top_srcdir) \ commondir=$(abs_top_srcdir)/tests/common AM_TESTS_ENVIRONMENT = \ UNINSTALLEDTESTS=1 \ $(BASE_TESTS_ENVIRONMENT) # we consume libdnf as a submodule, but we may not have installed it yet (and we # don't want it to fall back to the system libhif if it's also installed) AM_TESTS_ENVIRONMENT += \ LD_LIBRARY_PATH=$(abs_builddir)/libdnf-build/libdnf \ $(NULL) if BUILDOPT_ASAN AM_TESTS_ENVIRONMENT += ASAN_OPTIONS=detect_leaks=false endif testbin_cppflags = $(AM_CPPFLAGS) -I $(srcdir)/src/libpriv -I $(srcdir)/libglnx -I $(srcdir)/tests/common testbin_cflags = $(AM_CFLAGS) $(PKGDEP_RPMOSTREE_CFLAGS) testbin_ldadd = $(PKGDEP_RPMOSTREE_LIBS) librpmostree-1.la librpmostreepriv.la noinst_LTLIBRARIES += libtest.la libtest_la_SOURCES = tests/common/libtest.c libtest_la_CPPFLAGS = $(testbin_cppflags) libtest_la_CFLAGS = $(testbin_cflags) libtest_la_LIBADD = $(testbin_ldadd) tests_check_jsonutil_CPPFLAGS = $(testbin_cppflags) tests_check_jsonutil_CFLAGS = $(testbin_cflags) tests_check_jsonutil_LDADD = $(testbin_ldadd) libtest.la tests_check_postprocess_CPPFLAGS = $(testbin_cppflags) tests_check_postprocess_CFLAGS = $(testbin_cflags) tests_check_postprocess_LDADD = $(testbin_ldadd) libtest.la tests_check_test_utils_CPPFLAGS = $(testbin_cppflags) tests_check_test_utils_CFLAGS = $(testbin_cflags) tests_check_test_utils_LDADD = $(testbin_ldadd) libtest.la uninstalled_test_programs = \ tests/check/jsonutil \ tests/check/postprocess \ tests/check/test-utils \ $(NULL) uninstalled_test_scripts = \ tests/check/test-basic.sh \ tests/check/test-ucontainer.sh \ $(NULL) uninstalled_test_extra_programs = dbus-run-session dbus_run_session_SOURCES = tests/utils/dbus-run-session.c check-local: @echo " *** NOTE ***" @echo " *** NOTE ***" @echo " \"make check\" only runs a subset of rpm-ostree's tests." @echo " Use \"make vmcheck\" to run remaining tests in a VM." @echo " *** NOTE ***" @echo " *** NOTE ***" .PHONY: vmsync vmoverlay vmshell vmcheck testenv vmsync: @env $(BASE_TESTS_ENVIRONMENT) ./tests/vmcheck/sync.sh HOSTS := "vmcheck" vmoverlay: @if [ -z "$(SKIP_VMOVERLAY)" ]; then \ rm -rf $(abs_top_srcdir)/insttree; \ echo -n "$(HOSTS)" | xargs -P 0 -n 1 -d ' ' -I {} \ env $(BASE_TESTS_ENVIRONMENT) VM={} \ ./tests/vmcheck/overlay.sh; \ fi vmshell: vmsync ssh -F ssh-config vmcheck # set up test environment to somewhat resemble uninstalled tests vmcheck: vmoverlay @env VMTESTS=1 $(BASE_TESTS_ENVIRONMENT) PYTHONUNBUFFERED=1 \ tests/vmcheck/multitest.py $(HOSTS) testenv: @echo "===== ENTERING TESTENV =====" test_tmpdir=$$(mktemp -d test.XXXXXX) && \ cd $$test_tmpdir && \ env $(BASE_TESTS_ENVIRONMENT) PATH=$(abs_builddir):$$PATH TESTENV=1 \ sh ../tests/utils/setup-session.sh bash && \ cd .. && \ rm -rf $$test_tmpdir @echo "===== LEAVING TESTENV ====="