diff options
author | Richard Jones <rjones@trick.home.annexia.org> | 2009-05-19 12:29:04 +0100 |
---|---|---|
committer | Richard Jones <rjones@trick.home.annexia.org> | 2009-05-19 12:29:04 +0100 |
commit | 7b309445d4e9f93088ca052469338c8e3ce8dcbf (patch) | |
tree | e74bd8870a2e06acea3b0b0ddc5849d2fd814af2 | |
parent | 4c7183285105fd74496133c059a093b78dbe7723 (diff) | |
download | libguestfs-7b309445d4e9f93088ca052469338c8e3ce8dcbf.tar.gz libguestfs-7b309445d4e9f93088ca052469338c8e3ce8dcbf.tar.xz libguestfs-7b309445d4e9f93088ca052469338c8e3ce8dcbf.zip |
Skip 'zerofree' test if the command doesn't exist in the appliance.
-rw-r--r-- | Makefile.am | 1 | ||||
-rwxr-xr-x | src/generator.ml | 2 | ||||
-rw-r--r-- | tests.c | 9 |
3 files changed, 11 insertions, 1 deletions
diff --git a/Makefile.am b/Makefile.am index 50c9e7d4..c035977d 100644 --- a/Makefile.am +++ b/Makefile.am @@ -105,6 +105,7 @@ tests_LDADD = $(top_builddir)/src/libguestfs.la TESTS = tests 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) diff --git a/src/generator.ml b/src/generator.ml index 01a23095..e6199a42 100755 --- a/src/generator.ml +++ b/src/generator.ml @@ -1998,7 +1998,7 @@ This runs C<hexdump -C> on the given C<path>. The result is the human-readable, canonical hex dump of the file."); ("zerofree", (RErr, [String "device"]), 97, [], - [InitNone, Always, TestOutput ( + [InitNone, Unless (env_is_true "SKIP_ZEROFREE"), TestOutput ( [["sfdisk"; "/dev/sda"; "0"; "0"; "0"; ","]; ["mkfs"; "ext3"; "/dev/sda1"]; ["mount"; "/dev/sda1"; "/"]; @@ -643,8 +643,15 @@ static int test_lvresize_0 (void) return 0; } +static int test_zerofree_0_prereq (void) +{ + const char *str = getenv ("SKIP_ZEROFREE"); + return str && strcmp (str, "1") == 0; +} + static int test_zerofree_0 (void) { + if (! test_zerofree_0_prereq ()) { /* InitNone|InitEmpty for test_zerofree_0 */ { char device[] = "/dev/sda"; @@ -755,6 +762,8 @@ static int test_zerofree_0 (void) } free (r); } + } else + printf ("%s skipped (reason: test prerequisite)\n", "test_zerofree_0"); return 0; } |