include $(top_srcdir)/subdir-rules.mk
-tools = cat df edit list-filesystems ls rescue tar win-reg
+tools = \
+ cat \
+ df \
+ edit \
+ list-filesystems \
+ list-partitions \
+ ls \
+ make-fs \
+ rescue \
+ resize \
+ tar \
+ win-reg
EXTRA_DIST = \
run-locally \
- $(tools:%=virt-%)
+ $(tools:%=virt-%) \
+ make-test-img.sh \
+ test-virt-*.sh
+
+CLEANFILES = test.img
if HAVE_TOOLS
bin_SCRIPTS = $(tools:%=virt-%)
+# Manual pages and HTML files for the website.
+
# XXX Bug in automake? If you list virt-cat.1 explicitly, then it
# builds and installs the man pages. However if this is removed,
# then the man pages are neither built nor installed.
--outfile html/$<.1.html \
tools/$<
+# Tests.
+
+random_val := $(shell awk 'BEGIN{srand(); print 1+int(255*rand())}' < /dev/null)
+
+TESTS_ENVIRONMENT = \
+ MALLOC_PERTURB_=$(random_val) \
+ LD_LIBRARY_PATH=$(top_builddir)/src/.libs \
+ LIBGUESTFS_PATH=$(top_builddir)/appliance \
+ PERL5LIB=$(top_builddir)/perl/blib/lib:$(top_builddir)/perl/blib/arch
+
+# Build a standard test image to be used by all these tests.
+check_DATA = test.img
+test.img: make-test-img.sh
+ $(TESTS_ENVIRONMENT) $(srcdir)/make-test-img.sh
+
+TESTS = test-virt-cat.sh \
+ test-virt-df.sh \
+ test-virt-list-filesystems.sh \
+ test-virt-ls.sh \
+ test-virt-make-fs.sh \
+ test-virt-tar.sh
+
endif