test-bootbootboot.sh is a test, not a source file.
[libguestfs.git] / Makefile.am
index 592ed94..9fa44f2 100644 (file)
@@ -95,15 +95,18 @@ make-initramfs.sh: make-initramfs.sh.in
 # Tests.  These are auto-generated from the test descriptions
 # in the generator.
 
-check_PROGRAMS = tests
+check_PROGRAMS = tests test-command
 
 tests_SOURCES = tests.c
 tests_CFLAGS = \
        -I$(top_builddir)/src -Wall
 tests_LDADD = $(top_builddir)/src/libguestfs.la
 
-TESTS = $(check_PROGRAMS)
-TESTS_ENVIRONMENT = $(VG)
+TESTS = tests test-bootbootboot.sh
+TESTS_ENVIRONMENT = \
+       SKIP_TEST_COMMAND=$(shell ldd test-command | grep -sq 'not a dynamic executable' || echo 1) \
+       SKIP_ZEROFREE=$(shell test -x initramfs/usr/sbin/zerofree || echo 1) \
+       $(VG)
 
 $(TESTS): $(INITRAMFS) $(VMLINUZ)
 
@@ -112,6 +115,12 @@ $(TESTS): $(INITRAMFS) $(VMLINUZ)
 valgrind:
        $(MAKE) check VG="valgrind --quiet --leak-check=full"
 
+# This binary must be statically linked.  It is used for testing
+# the "guestfs_command" and "guestfs_command_lines" functions.
+
+test_command_SOURCES = test-command.c
+test_command_LDFLAGS = -all-static
+
 # Manual pages.
 # guestfs-actions.pod and guestfs-structs are autogenerated.  There is
 # no include mechanism for POD, so we have to do it by hand.