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:$$(cd $(top_builddir)/.libs && pwd)$${LD_LIBRARY_PATH:+:$${LD_LIBRARY_PATH}} \
	GI_TYPELIB_PATH=$$(cd $(top_builddir) && pwd)$${GI_TYPELIB_PATH:+:$$GI_TYPELIB_PATH} \
	$(NULL)
if BUILDOPT_ASAN
AM_TESTS_ENVIRONMENT += BUILDOPT_ASAN=yes ASAN_OPTIONS=detect_leaks=false
endif

uninstalled_test_scripts = \
	$(NULL)

uninstalled_test_extra_programs = \
	$(NULL)

check-local:
	@echo "  *** NOTE ***"
	@echo " \"make check\" only runs unit tests, which have limited coverage currently."
	@echo " See HACKING.md for more information about VM-based integration testing."
	@echo "  *** NOTE ***"
	./rpm-ostree testutils c-units

.PHONY: vmsync vmoverlay vmcheck testenv

vmsync:
	@set -e; if [ -z "$(SKIP_INSTALL)" ]; then \
		env $(BASE_TESTS_ENVIRONMENT) ./tests/vmcheck/install.sh; \
	fi; \
	env $(BASE_TESTS_ENVIRONMENT) ./tests/vmcheck/sync.sh

vmoverlay:
	@set -e; \
	if [ -z "$(SKIP_INSTALL)" ] && [ -z "$(SKIP_VMOVERLAY)" ]; then \
	  env $(BASE_TESTS_ENVIRONMENT) ./tests/vmcheck/install.sh; \
	fi; \
	env $(BASE_TESTS_ENVIRONMENT) ./tests/vmcheck/overlay.sh;

# One can run the vmcheck.sh script directly. The make target is useful for local
# development so that e.g. we automatically overlay.
vmcheck: vmoverlay
	@tests/vmcheck.sh
