Move the appliance and build scripts into new appliance/ subdirectory.
[libguestfs.git] / tests.c
diff --git a/tests.c b/tests.c
index b344320..11bd2a5 100644 (file)
--- a/tests.c
+++ b/tests.c
@@ -123,10 +123,641 @@ static void no_test_warnings (void)
   fprintf (stderr, "warning: \"guestfs_sfdisk_disk_geometry\" has no tests\n");
   fprintf (stderr, "warning: \"guestfs_vg_activate_all\" has no tests\n");
   fprintf (stderr, "warning: \"guestfs_vg_activate\" has no tests\n");
+  fprintf (stderr, "warning: \"guestfs_resize2fs\" has no tests\n");
+  fprintf (stderr, "warning: \"guestfs_e2fsck_f\" has no tests\n");
+}
+
+static int test_find_0_skip (void)
+{
+  const char *str;
+
+  str = getenv ("SKIP_TEST_FIND_0");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_FIND");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
+}
+
+static int test_find_0 (void)
+{
+  if (test_find_0_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_find_0");
+    return 0;
+  }
+
+  /* InitBasicFS for test_find_0: create ext2 on /dev/sda1 */
+  {
+    char device[] = "/dev/sda";
+    device[5] = devchar;
+    int r;
+    suppress_error = 0;
+    r = guestfs_blockdev_setrw (g, device);
+    if (r == -1)
+      return -1;
+  }
+  {
+    int r;
+    suppress_error = 0;
+    r = guestfs_umount_all (g);
+    if (r == -1)
+      return -1;
+  }
+  {
+    int r;
+    suppress_error = 0;
+    r = guestfs_lvm_remove_all (g);
+    if (r == -1)
+      return -1;
+  }
+  {
+    char device[] = "/dev/sda";
+    device[5] = devchar;
+    char lines_0[] = ",";
+    char *lines[] = {
+      lines_0,
+      NULL
+    };
+    int r;
+    suppress_error = 0;
+    r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
+    if (r == -1)
+      return -1;
+  }
+  {
+    char fstype[] = "ext2";
+    char device[] = "/dev/sda1";
+    device[5] = devchar;
+    int r;
+    suppress_error = 0;
+    r = guestfs_mkfs (g, fstype, device);
+    if (r == -1)
+      return -1;
+  }
+  {
+    char device[] = "/dev/sda1";
+    device[5] = devchar;
+    char mountpoint[] = "/";
+    int r;
+    suppress_error = 0;
+    r = guestfs_mount (g, device, mountpoint);
+    if (r == -1)
+      return -1;
+  }
+  /* TestOutputList for find (0) */
+  {
+    char directory[] = "/";
+    char **r;
+    int i;
+    suppress_error = 0;
+    r = guestfs_find (g, directory);
+    if (r == NULL)
+      return -1;
+    if (!r[0]) {
+      fprintf (stderr, "test_find_0: short list returned from command\n");
+      print_strings (r);
+      return -1;
+    }
+    {
+      char expected[] = "lost+found";
+      if (strcmp (r[0], expected) != 0) {
+        fprintf (stderr, "test_find_0: expected \"%s\" but got \"%s\"\n", expected, r[0]);
+        return -1;
+      }
+    }
+    if (r[1] != NULL) {
+      fprintf (stderr, "test_find_0: extra elements returned from command\n");
+      print_strings (r);
+      return -1;
+    }
+    for (i = 0; r[i] != NULL; ++i)
+      free (r[i]);
+    free (r);
+  }
+  return 0;
+}
+
+static int test_find_1_skip (void)
+{
+  const char *str;
+
+  str = getenv ("SKIP_TEST_FIND_1");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_FIND");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
+}
+
+static int test_find_1 (void)
+{
+  if (test_find_1_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_find_1");
+    return 0;
+  }
+
+  /* InitBasicFS for test_find_1: create ext2 on /dev/sda1 */
+  {
+    char device[] = "/dev/sda";
+    device[5] = devchar;
+    int r;
+    suppress_error = 0;
+    r = guestfs_blockdev_setrw (g, device);
+    if (r == -1)
+      return -1;
+  }
+  {
+    int r;
+    suppress_error = 0;
+    r = guestfs_umount_all (g);
+    if (r == -1)
+      return -1;
+  }
+  {
+    int r;
+    suppress_error = 0;
+    r = guestfs_lvm_remove_all (g);
+    if (r == -1)
+      return -1;
+  }
+  {
+    char device[] = "/dev/sda";
+    device[5] = devchar;
+    char lines_0[] = ",";
+    char *lines[] = {
+      lines_0,
+      NULL
+    };
+    int r;
+    suppress_error = 0;
+    r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
+    if (r == -1)
+      return -1;
+  }
+  {
+    char fstype[] = "ext2";
+    char device[] = "/dev/sda1";
+    device[5] = devchar;
+    int r;
+    suppress_error = 0;
+    r = guestfs_mkfs (g, fstype, device);
+    if (r == -1)
+      return -1;
+  }
+  {
+    char device[] = "/dev/sda1";
+    device[5] = devchar;
+    char mountpoint[] = "/";
+    int r;
+    suppress_error = 0;
+    r = guestfs_mount (g, device, mountpoint);
+    if (r == -1)
+      return -1;
+  }
+  /* TestOutputList for find (1) */
+  {
+    char path[] = "/a";
+    int r;
+    suppress_error = 0;
+    r = guestfs_touch (g, path);
+    if (r == -1)
+      return -1;
+  }
+  {
+    char path[] = "/b";
+    int r;
+    suppress_error = 0;
+    r = guestfs_mkdir (g, path);
+    if (r == -1)
+      return -1;
+  }
+  {
+    char path[] = "/b/c";
+    int r;
+    suppress_error = 0;
+    r = guestfs_touch (g, path);
+    if (r == -1)
+      return -1;
+  }
+  {
+    char directory[] = "/";
+    char **r;
+    int i;
+    suppress_error = 0;
+    r = guestfs_find (g, directory);
+    if (r == NULL)
+      return -1;
+    if (!r[0]) {
+      fprintf (stderr, "test_find_1: short list returned from command\n");
+      print_strings (r);
+      return -1;
+    }
+    {
+      char expected[] = "a";
+      if (strcmp (r[0], expected) != 0) {
+        fprintf (stderr, "test_find_1: expected \"%s\" but got \"%s\"\n", expected, r[0]);
+        return -1;
+      }
+    }
+    if (!r[1]) {
+      fprintf (stderr, "test_find_1: short list returned from command\n");
+      print_strings (r);
+      return -1;
+    }
+    {
+      char expected[] = "b";
+      if (strcmp (r[1], expected) != 0) {
+        fprintf (stderr, "test_find_1: expected \"%s\" but got \"%s\"\n", expected, r[1]);
+        return -1;
+      }
+    }
+    if (!r[2]) {
+      fprintf (stderr, "test_find_1: short list returned from command\n");
+      print_strings (r);
+      return -1;
+    }
+    {
+      char expected[] = "b/c";
+      if (strcmp (r[2], expected) != 0) {
+        fprintf (stderr, "test_find_1: expected \"%s\" but got \"%s\"\n", expected, r[2]);
+        return -1;
+      }
+    }
+    if (!r[3]) {
+      fprintf (stderr, "test_find_1: short list returned from command\n");
+      print_strings (r);
+      return -1;
+    }
+    {
+      char expected[] = "lost+found";
+      if (strcmp (r[3], expected) != 0) {
+        fprintf (stderr, "test_find_1: expected \"%s\" but got \"%s\"\n", expected, r[3]);
+        return -1;
+      }
+    }
+    if (r[4] != NULL) {
+      fprintf (stderr, "test_find_1: extra elements returned from command\n");
+      print_strings (r);
+      return -1;
+    }
+    for (i = 0; r[i] != NULL; ++i)
+      free (r[i]);
+    free (r);
+  }
+  return 0;
+}
+
+static int test_find_2_skip (void)
+{
+  const char *str;
+
+  str = getenv ("SKIP_TEST_FIND_2");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_FIND");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
+}
+
+static int test_find_2 (void)
+{
+  if (test_find_2_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_find_2");
+    return 0;
+  }
+
+  /* InitBasicFS for test_find_2: create ext2 on /dev/sda1 */
+  {
+    char device[] = "/dev/sda";
+    device[5] = devchar;
+    int r;
+    suppress_error = 0;
+    r = guestfs_blockdev_setrw (g, device);
+    if (r == -1)
+      return -1;
+  }
+  {
+    int r;
+    suppress_error = 0;
+    r = guestfs_umount_all (g);
+    if (r == -1)
+      return -1;
+  }
+  {
+    int r;
+    suppress_error = 0;
+    r = guestfs_lvm_remove_all (g);
+    if (r == -1)
+      return -1;
+  }
+  {
+    char device[] = "/dev/sda";
+    device[5] = devchar;
+    char lines_0[] = ",";
+    char *lines[] = {
+      lines_0,
+      NULL
+    };
+    int r;
+    suppress_error = 0;
+    r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
+    if (r == -1)
+      return -1;
+  }
+  {
+    char fstype[] = "ext2";
+    char device[] = "/dev/sda1";
+    device[5] = devchar;
+    int r;
+    suppress_error = 0;
+    r = guestfs_mkfs (g, fstype, device);
+    if (r == -1)
+      return -1;
+  }
+  {
+    char device[] = "/dev/sda1";
+    device[5] = devchar;
+    char mountpoint[] = "/";
+    int r;
+    suppress_error = 0;
+    r = guestfs_mount (g, device, mountpoint);
+    if (r == -1)
+      return -1;
+  }
+  /* TestOutputList for find (2) */
+  {
+    char path[] = "/a/b/c";
+    int r;
+    suppress_error = 0;
+    r = guestfs_mkdir_p (g, path);
+    if (r == -1)
+      return -1;
+  }
+  {
+    char path[] = "/a/b/c/d";
+    int r;
+    suppress_error = 0;
+    r = guestfs_touch (g, path);
+    if (r == -1)
+      return -1;
+  }
+  {
+    char directory[] = "/a/b/";
+    char **r;
+    int i;
+    suppress_error = 0;
+    r = guestfs_find (g, directory);
+    if (r == NULL)
+      return -1;
+    if (!r[0]) {
+      fprintf (stderr, "test_find_2: short list returned from command\n");
+      print_strings (r);
+      return -1;
+    }
+    {
+      char expected[] = "c";
+      if (strcmp (r[0], expected) != 0) {
+        fprintf (stderr, "test_find_2: expected \"%s\" but got \"%s\"\n", expected, r[0]);
+        return -1;
+      }
+    }
+    if (!r[1]) {
+      fprintf (stderr, "test_find_2: short list returned from command\n");
+      print_strings (r);
+      return -1;
+    }
+    {
+      char expected[] = "c/d";
+      if (strcmp (r[1], expected) != 0) {
+        fprintf (stderr, "test_find_2: expected \"%s\" but got \"%s\"\n", expected, r[1]);
+        return -1;
+      }
+    }
+    if (r[2] != NULL) {
+      fprintf (stderr, "test_find_2: extra elements returned from command\n");
+      print_strings (r);
+      return -1;
+    }
+    for (i = 0; r[i] != NULL; ++i)
+      free (r[i]);
+    free (r);
+  }
+  return 0;
+}
+
+static int test_lvresize_0_skip (void)
+{
+  const char *str;
+
+  str = getenv ("SKIP_TEST_LVRESIZE_0");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_LVRESIZE");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
+}
+
+static int test_lvresize_0 (void)
+{
+  if (test_lvresize_0_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_lvresize_0");
+    return 0;
+  }
+
+  /* InitNone|InitEmpty for test_lvresize_0 */
+  {
+    char device[] = "/dev/sda";
+    device[5] = devchar;
+    int r;
+    suppress_error = 0;
+    r = guestfs_blockdev_setrw (g, device);
+    if (r == -1)
+      return -1;
+  }
+  {
+    int r;
+    suppress_error = 0;
+    r = guestfs_umount_all (g);
+    if (r == -1)
+      return -1;
+  }
+  {
+    int r;
+    suppress_error = 0;
+    r = guestfs_lvm_remove_all (g);
+    if (r == -1)
+      return -1;
+  }
+  /* TestOutput for lvresize (0) */
+  char expected[] = "test content";
+  {
+    char device[] = "/dev/sda";
+    device[5] = devchar;
+    char lines_0[] = ",";
+    char *lines[] = {
+      lines_0,
+      NULL
+    };
+    int r;
+    suppress_error = 0;
+    r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
+    if (r == -1)
+      return -1;
+  }
+  {
+    char device[] = "/dev/sda1";
+    device[5] = devchar;
+    int r;
+    suppress_error = 0;
+    r = guestfs_pvcreate (g, device);
+    if (r == -1)
+      return -1;
+  }
+  {
+    char volgroup[] = "VG";
+    char physvols_0[] = "/dev/sda1";
+    physvols_0[5] = devchar;
+    char *physvols[] = {
+      physvols_0,
+      NULL
+    };
+    int r;
+    suppress_error = 0;
+    r = guestfs_vgcreate (g, volgroup, physvols);
+    if (r == -1)
+      return -1;
+  }
+  {
+    char logvol[] = "LV";
+    char volgroup[] = "VG";
+    int r;
+    suppress_error = 0;
+    r = guestfs_lvcreate (g, logvol, volgroup, 10);
+    if (r == -1)
+      return -1;
+  }
+  {
+    char fstype[] = "ext2";
+    char device[] = "/dev/VG/LV";
+    int r;
+    suppress_error = 0;
+    r = guestfs_mkfs (g, fstype, device);
+    if (r == -1)
+      return -1;
+  }
+  {
+    char device[] = "/dev/VG/LV";
+    char mountpoint[] = "/";
+    int r;
+    suppress_error = 0;
+    r = guestfs_mount (g, device, mountpoint);
+    if (r == -1)
+      return -1;
+  }
+  {
+    char path[] = "/new";
+    char content[] = "test content";
+    int r;
+    suppress_error = 0;
+    r = guestfs_write_file (g, path, content, 0);
+    if (r == -1)
+      return -1;
+  }
+  {
+    char pathordevice[] = "/";
+    int r;
+    suppress_error = 0;
+    r = guestfs_umount (g, pathordevice);
+    if (r == -1)
+      return -1;
+  }
+  {
+    char device[] = "/dev/VG/LV";
+    int r;
+    suppress_error = 0;
+    r = guestfs_lvresize (g, device, 20);
+    if (r == -1)
+      return -1;
+  }
+  {
+    char device[] = "/dev/VG/LV";
+    int r;
+    suppress_error = 0;
+    r = guestfs_e2fsck_f (g, device);
+    if (r == -1)
+      return -1;
+  }
+  {
+    char device[] = "/dev/VG/LV";
+    int r;
+    suppress_error = 0;
+    r = guestfs_resize2fs (g, device);
+    if (r == -1)
+      return -1;
+  }
+  {
+    char device[] = "/dev/VG/LV";
+    char mountpoint[] = "/";
+    int r;
+    suppress_error = 0;
+    r = guestfs_mount (g, device, mountpoint);
+    if (r == -1)
+      return -1;
+  }
+  {
+    char path[] = "/new";
+    char *r;
+    suppress_error = 0;
+    r = guestfs_cat (g, path);
+    if (r == NULL)
+      return -1;
+    if (strcmp (r, expected) != 0) {
+      fprintf (stderr, "test_lvresize_0: expected \"%s\" but got \"%s\"\n", expected, r);
+      return -1;
+    }
+    free (r);
+  }
+  return 0;
+}
+
+static int test_zerofree_0_skip (void)
+{
+  const char *str;
+
+  str = getenv ("SKIP_TEST_ZEROFREE_0");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_ZEROFREE");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
 }
 
 static int test_zerofree_0 (void)
 {
+  if (test_zerofree_0_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_zerofree_0");
+    return 0;
+  }
+
+  /* InitNone|InitEmpty for test_zerofree_0 */
+  {
+    char device[] = "/dev/sda";
+    device[5] = devchar;
+    int r;
+    suppress_error = 0;
+    r = guestfs_blockdev_setrw (g, device);
+    if (r == -1)
+      return -1;
+  }
+  {
+    int r;
+    suppress_error = 0;
+    r = guestfs_umount_all (g);
+    if (r == -1)
+      return -1;
+  }
+  {
+    int r;
+    suppress_error = 0;
+    r = guestfs_lvm_remove_all (g);
+    if (r == -1)
+      return -1;
+  }
   /* TestOutput for zerofree (0) */
   char expected[] = "test file";
   {
@@ -216,9 +847,25 @@ static int test_zerofree_0 (void)
   return 0;
 }
 
+static int test_hexdump_0_skip (void)
+{
+  const char *str;
+
+  str = getenv ("SKIP_TEST_HEXDUMP_0");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_HEXDUMP");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
+}
+
 static int test_hexdump_0 (void)
 {
-  /* InitBasicFS for hexdump (0): create ext2 on /dev/sda1 */
+  if (test_hexdump_0_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_hexdump_0");
+    return 0;
+  }
+
+  /* InitBasicFS for test_hexdump_0: create ext2 on /dev/sda1 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -303,9 +950,25 @@ static int test_hexdump_0 (void)
   return 0;
 }
 
+static int test_strings_e_0_skip (void)
+{
+  const char *str;
+
+  str = getenv ("SKIP_TEST_STRINGS_E_0");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_STRINGS_E");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
+}
+
 static int test_strings_e_0 (void)
 {
-  /* InitBasicFS for strings_e (0): create ext2 on /dev/sda1 */
+  if (test_strings_e_0_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_strings_e_0");
+    return 0;
+  }
+
+  /* InitBasicFS for test_strings_e_0: create ext2 on /dev/sda1 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -394,15 +1057,47 @@ static int test_strings_e_0 (void)
   return 0;
 }
 
+static int test_strings_e_1_skip (void)
+{
+  const char *str;
+
+  str = getenv ("SKIP_TEST_STRINGS_E_1");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_STRINGS_E");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
+}
+
 static int test_strings_e_1 (void)
 {
+  if (test_strings_e_1_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_strings_e_1");
+    return 0;
+  }
+
   printf ("%s skipped (reason: test disabled in generator)\n", "test_strings_e_1");
   return 0;
 }
 
+static int test_strings_0_skip (void)
+{
+  const char *str;
+
+  str = getenv ("SKIP_TEST_STRINGS_0");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_STRINGS");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
+}
+
 static int test_strings_0 (void)
 {
-  /* InitBasicFS for strings (0): create ext2 on /dev/sda1 */
+  if (test_strings_0_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_strings_0");
+    return 0;
+  }
+
+  /* InitBasicFS for test_strings_0: create ext2 on /dev/sda1 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -514,9 +1209,25 @@ static int test_strings_0 (void)
   return 0;
 }
 
+static int test_strings_1_skip (void)
+{
+  const char *str;
+
+  str = getenv ("SKIP_TEST_STRINGS_1");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_STRINGS");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
+}
+
 static int test_strings_1 (void)
 {
-  /* InitBasicFS for strings (1): create ext2 on /dev/sda1 */
+  if (test_strings_1_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_strings_1");
+    return 0;
+  }
+
+  /* InitBasicFS for test_strings_1: create ext2 on /dev/sda1 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -603,9 +1314,25 @@ static int test_strings_1 (void)
   return 0;
 }
 
+static int test_equal_0_skip (void)
+{
+  const char *str;
+
+  str = getenv ("SKIP_TEST_EQUAL_0");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_EQUAL");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
+}
+
 static int test_equal_0 (void)
 {
-  /* InitBasicFS for equal (0): create ext2 on /dev/sda1 */
+  if (test_equal_0_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_equal_0");
+    return 0;
+  }
+
+  /* InitBasicFS for test_equal_0: create ext2 on /dev/sda1 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -698,9 +1425,25 @@ static int test_equal_0 (void)
   return 0;
 }
 
+static int test_equal_1_skip (void)
+{
+  const char *str;
+
+  str = getenv ("SKIP_TEST_EQUAL_1");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_EQUAL");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
+}
+
 static int test_equal_1 (void)
 {
-  /* InitBasicFS for equal (1): create ext2 on /dev/sda1 */
+  if (test_equal_1_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_equal_1");
+    return 0;
+  }
+
+  /* InitBasicFS for test_equal_1: create ext2 on /dev/sda1 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -793,9 +1536,25 @@ static int test_equal_1 (void)
   return 0;
 }
 
+static int test_equal_2_skip (void)
+{
+  const char *str;
+
+  str = getenv ("SKIP_TEST_EQUAL_2");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_EQUAL");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
+}
+
 static int test_equal_2 (void)
 {
-  /* InitBasicFS for equal (2): create ext2 on /dev/sda1 */
+  if (test_equal_2_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_equal_2");
+    return 0;
+  }
+
+  /* InitBasicFS for test_equal_2: create ext2 on /dev/sda1 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -866,9 +1625,25 @@ static int test_equal_2 (void)
   return 0;
 }
 
+static int test_ping_daemon_0_skip (void)
+{
+  const char *str;
+
+  str = getenv ("SKIP_TEST_PING_DAEMON_0");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_PING_DAEMON");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
+}
+
 static int test_ping_daemon_0 (void)
 {
-  /* InitEmpty for ping_daemon (0) */
+  if (test_ping_daemon_0_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_ping_daemon_0");
+    return 0;
+  }
+
+  /* InitNone|InitEmpty for test_ping_daemon_0 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -903,9 +1678,25 @@ static int test_ping_daemon_0 (void)
   return 0;
 }
 
+static int test_dmesg_0_skip (void)
+{
+  const char *str;
+
+  str = getenv ("SKIP_TEST_DMESG_0");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_DMESG");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
+}
+
 static int test_dmesg_0 (void)
 {
-  /* InitEmpty for dmesg (0) */
+  if (test_dmesg_0_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_dmesg_0");
+    return 0;
+  }
+
+  /* InitNone|InitEmpty for test_dmesg_0 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -941,9 +1732,25 @@ static int test_dmesg_0 (void)
   return 0;
 }
 
+static int test_drop_caches_0_skip (void)
+{
+  const char *str;
+
+  str = getenv ("SKIP_TEST_DROP_CACHES_0");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_DROP_CACHES");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
+}
+
 static int test_drop_caches_0 (void)
 {
-  /* InitEmpty for drop_caches (0) */
+  if (test_drop_caches_0_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_drop_caches_0");
+    return 0;
+  }
+
+  /* InitNone|InitEmpty for test_drop_caches_0 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -978,9 +1785,25 @@ static int test_drop_caches_0 (void)
   return 0;
 }
 
+static int test_mv_0_skip (void)
+{
+  const char *str;
+
+  str = getenv ("SKIP_TEST_MV_0");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_MV");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
+}
+
 static int test_mv_0 (void)
 {
-  /* InitBasicFS for mv (0): create ext2 on /dev/sda1 */
+  if (test_mv_0_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_mv_0");
+    return 0;
+  }
+
+  /* InitBasicFS for test_mv_0: create ext2 on /dev/sda1 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -1074,9 +1897,25 @@ static int test_mv_0 (void)
   return 0;
 }
 
+static int test_mv_1_skip (void)
+{
+  const char *str;
+
+  str = getenv ("SKIP_TEST_MV_1");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_MV");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
+}
+
 static int test_mv_1 (void)
 {
-  /* InitBasicFS for mv (1): create ext2 on /dev/sda1 */
+  if (test_mv_1_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_mv_1");
+    return 0;
+  }
+
+  /* InitBasicFS for test_mv_1: create ext2 on /dev/sda1 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -1168,9 +2007,25 @@ static int test_mv_1 (void)
   return 0;
 }
 
+static int test_cp_a_0_skip (void)
+{
+  const char *str;
+
+  str = getenv ("SKIP_TEST_CP_A_0");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_CP_A");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
+}
+
 static int test_cp_a_0 (void)
 {
-  /* InitBasicFS for cp_a (0): create ext2 on /dev/sda1 */
+  if (test_cp_a_0_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_cp_a_0");
+    return 0;
+  }
+
+  /* InitBasicFS for test_cp_a_0: create ext2 on /dev/sda1 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -1280,9 +2135,25 @@ static int test_cp_a_0 (void)
   return 0;
 }
 
+static int test_cp_0_skip (void)
+{
+  const char *str;
+
+  str = getenv ("SKIP_TEST_CP_0");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_CP");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
+}
+
 static int test_cp_0 (void)
 {
-  /* InitBasicFS for cp (0): create ext2 on /dev/sda1 */
+  if (test_cp_0_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_cp_0");
+    return 0;
+  }
+
+  /* InitBasicFS for test_cp_0: create ext2 on /dev/sda1 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -1376,9 +2247,25 @@ static int test_cp_0 (void)
   return 0;
 }
 
+static int test_cp_1_skip (void)
+{
+  const char *str;
+
+  str = getenv ("SKIP_TEST_CP_1");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_CP");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
+}
+
 static int test_cp_1 (void)
 {
-  /* InitBasicFS for cp (1): create ext2 on /dev/sda1 */
+  if (test_cp_1_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_cp_1");
+    return 0;
+  }
+
+  /* InitBasicFS for test_cp_1: create ext2 on /dev/sda1 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -1470,9 +2357,25 @@ static int test_cp_1 (void)
   return 0;
 }
 
+static int test_cp_2_skip (void)
+{
+  const char *str;
+
+  str = getenv ("SKIP_TEST_CP_2");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_CP");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
+}
+
 static int test_cp_2 (void)
 {
-  /* InitBasicFS for cp (2): create ext2 on /dev/sda1 */
+  if (test_cp_2_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_cp_2");
+    return 0;
+  }
+
+  /* InitBasicFS for test_cp_2: create ext2 on /dev/sda1 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -1574,9 +2477,25 @@ static int test_cp_2 (void)
   return 0;
 }
 
+static int test_grub_install_0_skip (void)
+{
+  const char *str;
+
+  str = getenv ("SKIP_TEST_GRUB_INSTALL_0");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_GRUB_INSTALL");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
+}
+
 static int test_grub_install_0 (void)
 {
-  /* InitBasicFS for grub_install (0): create ext2 on /dev/sda1 */
+  if (test_grub_install_0_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_grub_install_0");
+    return 0;
+  }
+
+  /* InitBasicFS for test_grub_install_0: create ext2 on /dev/sda1 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -1660,9 +2579,25 @@ static int test_grub_install_0 (void)
   return 0;
 }
 
+static int test_zero_0_skip (void)
+{
+  const char *str;
+
+  str = getenv ("SKIP_TEST_ZERO_0");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_ZERO");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
+}
+
 static int test_zero_0 (void)
 {
-  /* InitBasicFS for zero (0): create ext2 on /dev/sda1 */
+  if (test_zero_0_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_zero_0");
+    return 0;
+  }
+
+  /* InitBasicFS for test_zero_0: create ext2 on /dev/sda1 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -1757,9 +2692,25 @@ static int test_zero_0 (void)
   return 0;
 }
 
+static int test_fsck_0_skip (void)
+{
+  const char *str;
+
+  str = getenv ("SKIP_TEST_FSCK_0");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_FSCK");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
+}
+
 static int test_fsck_0 (void)
 {
-  /* InitBasicFS for fsck (0): create ext2 on /dev/sda1 */
+  if (test_fsck_0_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_fsck_0");
+    return 0;
+  }
+
+  /* InitBasicFS for test_fsck_0: create ext2 on /dev/sda1 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -1844,9 +2795,25 @@ static int test_fsck_0 (void)
   return 0;
 }
 
+static int test_fsck_1_skip (void)
+{
+  const char *str;
+
+  str = getenv ("SKIP_TEST_FSCK_1");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_FSCK");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
+}
+
 static int test_fsck_1 (void)
 {
-  /* InitBasicFS for fsck (1): create ext2 on /dev/sda1 */
+  if (test_fsck_1_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_fsck_1");
+    return 0;
+  }
+
+  /* InitBasicFS for test_fsck_1: create ext2 on /dev/sda1 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -1940,9 +2907,25 @@ static int test_fsck_1 (void)
   return 0;
 }
 
+static int test_set_e2uuid_0_skip (void)
+{
+  const char *str;
+
+  str = getenv ("SKIP_TEST_SET_E2UUID_0");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_SET_E2UUID");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
+}
+
 static int test_set_e2uuid_0 (void)
 {
-  /* InitBasicFS for set_e2uuid (0): create ext2 on /dev/sda1 */
+  if (test_set_e2uuid_0_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_set_e2uuid_0");
+    return 0;
+  }
+
+  /* InitBasicFS for test_set_e2uuid_0: create ext2 on /dev/sda1 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -2029,9 +3012,25 @@ static int test_set_e2uuid_0 (void)
   return 0;
 }
 
+static int test_set_e2uuid_1_skip (void)
+{
+  const char *str;
+
+  str = getenv ("SKIP_TEST_SET_E2UUID_1");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_SET_E2UUID");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
+}
+
 static int test_set_e2uuid_1 (void)
 {
-  /* InitBasicFS for set_e2uuid (1): create ext2 on /dev/sda1 */
+  if (test_set_e2uuid_1_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_set_e2uuid_1");
+    return 0;
+  }
+
+  /* InitBasicFS for test_set_e2uuid_1: create ext2 on /dev/sda1 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -2118,9 +3117,25 @@ static int test_set_e2uuid_1 (void)
   return 0;
 }
 
+static int test_set_e2uuid_2_skip (void)
+{
+  const char *str;
+
+  str = getenv ("SKIP_TEST_SET_E2UUID_2");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_SET_E2UUID");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
+}
+
 static int test_set_e2uuid_2 (void)
 {
-  /* InitBasicFS for set_e2uuid (2): create ext2 on /dev/sda1 */
+  if (test_set_e2uuid_2_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_set_e2uuid_2");
+    return 0;
+  }
+
+  /* InitBasicFS for test_set_e2uuid_2: create ext2 on /dev/sda1 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -2192,9 +3207,25 @@ static int test_set_e2uuid_2 (void)
   return 0;
 }
 
+static int test_set_e2uuid_3_skip (void)
+{
+  const char *str;
+
+  str = getenv ("SKIP_TEST_SET_E2UUID_3");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_SET_E2UUID");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
+}
+
 static int test_set_e2uuid_3 (void)
 {
-  /* InitBasicFS for set_e2uuid (3): create ext2 on /dev/sda1 */
+  if (test_set_e2uuid_3_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_set_e2uuid_3");
+    return 0;
+  }
+
+  /* InitBasicFS for test_set_e2uuid_3: create ext2 on /dev/sda1 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -2266,9 +3297,25 @@ static int test_set_e2uuid_3 (void)
   return 0;
 }
 
+static int test_set_e2label_0_skip (void)
+{
+  const char *str;
+
+  str = getenv ("SKIP_TEST_SET_E2LABEL_0");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_SET_E2LABEL");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
+}
+
 static int test_set_e2label_0 (void)
 {
-  /* InitBasicFS for set_e2label (0): create ext2 on /dev/sda1 */
+  if (test_set_e2label_0_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_set_e2label_0");
+    return 0;
+  }
+
+  /* InitBasicFS for test_set_e2label_0: create ext2 on /dev/sda1 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -2355,9 +3402,25 @@ static int test_set_e2label_0 (void)
   return 0;
 }
 
+static int test_pvremove_0_skip (void)
+{
+  const char *str;
+
+  str = getenv ("SKIP_TEST_PVREMOVE_0");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_PVREMOVE");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
+}
+
 static int test_pvremove_0 (void)
 {
-  /* InitEmpty for pvremove (0) */
+  if (test_pvremove_0_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_pvremove_0");
+    return 0;
+  }
+
+  /* InitNone|InitEmpty for test_pvremove_0 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -2385,6 +3448,20 @@ static int test_pvremove_0 (void)
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
+    char lines_0[] = ",";
+    char *lines[] = {
+      lines_0,
+      NULL
+    };
+    int r;
+    suppress_error = 0;
+    r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
+    if (r == -1)
+      return -1;
+  }
+  {
+    char device[] = "/dev/sda1";
+    device[5] = devchar;
     int r;
     suppress_error = 0;
     r = guestfs_pvcreate (g, device);
@@ -2393,7 +3470,7 @@ static int test_pvremove_0 (void)
   }
   {
     char volgroup[] = "VG";
-    char physvols_0[] = "/dev/sda";
+    char physvols_0[] = "/dev/sda1";
     physvols_0[5] = devchar;
     char *physvols[] = {
       physvols_0,
@@ -2432,7 +3509,7 @@ static int test_pvremove_0 (void)
       return -1;
   }
   {
-    char device[] = "/dev/sda";
+    char device[] = "/dev/sda1";
     device[5] = devchar;
     int r;
     suppress_error = 0;
@@ -2459,9 +3536,25 @@ static int test_pvremove_0 (void)
   return 0;
 }
 
+static int test_pvremove_1_skip (void)
+{
+  const char *str;
+
+  str = getenv ("SKIP_TEST_PVREMOVE_1");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_PVREMOVE");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
+}
+
 static int test_pvremove_1 (void)
 {
-  /* InitEmpty for pvremove (1) */
+  if (test_pvremove_1_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_pvremove_1");
+    return 0;
+  }
+
+  /* InitNone|InitEmpty for test_pvremove_1 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -2489,6 +3582,20 @@ static int test_pvremove_1 (void)
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
+    char lines_0[] = ",";
+    char *lines[] = {
+      lines_0,
+      NULL
+    };
+    int r;
+    suppress_error = 0;
+    r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
+    if (r == -1)
+      return -1;
+  }
+  {
+    char device[] = "/dev/sda1";
+    device[5] = devchar;
     int r;
     suppress_error = 0;
     r = guestfs_pvcreate (g, device);
@@ -2497,7 +3604,7 @@ static int test_pvremove_1 (void)
   }
   {
     char volgroup[] = "VG";
-    char physvols_0[] = "/dev/sda";
+    char physvols_0[] = "/dev/sda1";
     physvols_0[5] = devchar;
     char *physvols[] = {
       physvols_0,
@@ -2536,7 +3643,7 @@ static int test_pvremove_1 (void)
       return -1;
   }
   {
-    char device[] = "/dev/sda";
+    char device[] = "/dev/sda1";
     device[5] = devchar;
     int r;
     suppress_error = 0;
@@ -2563,9 +3670,25 @@ static int test_pvremove_1 (void)
   return 0;
 }
 
+static int test_pvremove_2_skip (void)
+{
+  const char *str;
+
+  str = getenv ("SKIP_TEST_PVREMOVE_2");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_PVREMOVE");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
+}
+
 static int test_pvremove_2 (void)
 {
-  /* InitEmpty for pvremove (2) */
+  if (test_pvremove_2_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_pvremove_2");
+    return 0;
+  }
+
+  /* InitNone|InitEmpty for test_pvremove_2 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -2585,13 +3708,27 @@ static int test_pvremove_2 (void)
   {
     int r;
     suppress_error = 0;
-    r = guestfs_lvm_remove_all (g);
+    r = guestfs_lvm_remove_all (g);
+    if (r == -1)
+      return -1;
+  }
+  /* TestOutputList for pvremove (2) */
+  {
+    char device[] = "/dev/sda";
+    device[5] = devchar;
+    char lines_0[] = ",";
+    char *lines[] = {
+      lines_0,
+      NULL
+    };
+    int r;
+    suppress_error = 0;
+    r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
     if (r == -1)
       return -1;
   }
-  /* TestOutputList for pvremove (2) */
   {
-    char device[] = "/dev/sda";
+    char device[] = "/dev/sda1";
     device[5] = devchar;
     int r;
     suppress_error = 0;
@@ -2601,7 +3738,7 @@ static int test_pvremove_2 (void)
   }
   {
     char volgroup[] = "VG";
-    char physvols_0[] = "/dev/sda";
+    char physvols_0[] = "/dev/sda1";
     physvols_0[5] = devchar;
     char *physvols[] = {
       physvols_0,
@@ -2640,7 +3777,7 @@ static int test_pvremove_2 (void)
       return -1;
   }
   {
-    char device[] = "/dev/sda";
+    char device[] = "/dev/sda1";
     device[5] = devchar;
     int r;
     suppress_error = 0;
@@ -2667,9 +3804,25 @@ static int test_pvremove_2 (void)
   return 0;
 }
 
+static int test_vgremove_0_skip (void)
+{
+  const char *str;
+
+  str = getenv ("SKIP_TEST_VGREMOVE_0");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_VGREMOVE");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
+}
+
 static int test_vgremove_0 (void)
 {
-  /* InitEmpty for vgremove (0) */
+  if (test_vgremove_0_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_vgremove_0");
+    return 0;
+  }
+
+  /* InitNone|InitEmpty for test_vgremove_0 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -2697,6 +3850,20 @@ static int test_vgremove_0 (void)
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
+    char lines_0[] = ",";
+    char *lines[] = {
+      lines_0,
+      NULL
+    };
+    int r;
+    suppress_error = 0;
+    r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
+    if (r == -1)
+      return -1;
+  }
+  {
+    char device[] = "/dev/sda1";
+    device[5] = devchar;
     int r;
     suppress_error = 0;
     r = guestfs_pvcreate (g, device);
@@ -2705,7 +3872,7 @@ static int test_vgremove_0 (void)
   }
   {
     char volgroup[] = "VG";
-    char physvols_0[] = "/dev/sda";
+    char physvols_0[] = "/dev/sda1";
     physvols_0[5] = devchar;
     char *physvols[] = {
       physvols_0,
@@ -2762,9 +3929,25 @@ static int test_vgremove_0 (void)
   return 0;
 }
 
+static int test_vgremove_1_skip (void)
+{
+  const char *str;
+
+  str = getenv ("SKIP_TEST_VGREMOVE_1");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_VGREMOVE");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
+}
+
 static int test_vgremove_1 (void)
 {
-  /* InitEmpty for vgremove (1) */
+  if (test_vgremove_1_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_vgremove_1");
+    return 0;
+  }
+
+  /* InitNone|InitEmpty for test_vgremove_1 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -2792,6 +3975,20 @@ static int test_vgremove_1 (void)
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
+    char lines_0[] = ",";
+    char *lines[] = {
+      lines_0,
+      NULL
+    };
+    int r;
+    suppress_error = 0;
+    r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
+    if (r == -1)
+      return -1;
+  }
+  {
+    char device[] = "/dev/sda1";
+    device[5] = devchar;
     int r;
     suppress_error = 0;
     r = guestfs_pvcreate (g, device);
@@ -2800,7 +3997,7 @@ static int test_vgremove_1 (void)
   }
   {
     char volgroup[] = "VG";
-    char physvols_0[] = "/dev/sda";
+    char physvols_0[] = "/dev/sda1";
     physvols_0[5] = devchar;
     char *physvols[] = {
       physvols_0,
@@ -2857,9 +4054,25 @@ static int test_vgremove_1 (void)
   return 0;
 }
 
+static int test_lvremove_0_skip (void)
+{
+  const char *str;
+
+  str = getenv ("SKIP_TEST_LVREMOVE_0");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_LVREMOVE");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
+}
+
 static int test_lvremove_0 (void)
 {
-  /* InitEmpty for lvremove (0) */
+  if (test_lvremove_0_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_lvremove_0");
+    return 0;
+  }
+
+  /* InitNone|InitEmpty for test_lvremove_0 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -2887,6 +4100,20 @@ static int test_lvremove_0 (void)
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
+    char lines_0[] = ",";
+    char *lines[] = {
+      lines_0,
+      NULL
+    };
+    int r;
+    suppress_error = 0;
+    r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
+    if (r == -1)
+      return -1;
+  }
+  {
+    char device[] = "/dev/sda1";
+    device[5] = devchar;
     int r;
     suppress_error = 0;
     r = guestfs_pvcreate (g, device);
@@ -2895,7 +4122,7 @@ static int test_lvremove_0 (void)
   }
   {
     char volgroup[] = "VG";
-    char physvols_0[] = "/dev/sda";
+    char physvols_0[] = "/dev/sda1";
     physvols_0[5] = devchar;
     char *physvols[] = {
       physvols_0,
@@ -2964,9 +4191,25 @@ static int test_lvremove_0 (void)
   return 0;
 }
 
+static int test_lvremove_1_skip (void)
+{
+  const char *str;
+
+  str = getenv ("SKIP_TEST_LVREMOVE_1");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_LVREMOVE");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
+}
+
 static int test_lvremove_1 (void)
 {
-  /* InitEmpty for lvremove (1) */
+  if (test_lvremove_1_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_lvremove_1");
+    return 0;
+  }
+
+  /* InitNone|InitEmpty for test_lvremove_1 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -2994,6 +4237,20 @@ static int test_lvremove_1 (void)
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
+    char lines_0[] = ",";
+    char *lines[] = {
+      lines_0,
+      NULL
+    };
+    int r;
+    suppress_error = 0;
+    r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
+    if (r == -1)
+      return -1;
+  }
+  {
+    char device[] = "/dev/sda1";
+    device[5] = devchar;
     int r;
     suppress_error = 0;
     r = guestfs_pvcreate (g, device);
@@ -3002,7 +4259,7 @@ static int test_lvremove_1 (void)
   }
   {
     char volgroup[] = "VG";
-    char physvols_0[] = "/dev/sda";
+    char physvols_0[] = "/dev/sda1";
     physvols_0[5] = devchar;
     char *physvols[] = {
       physvols_0,
@@ -3059,9 +4316,25 @@ static int test_lvremove_1 (void)
   return 0;
 }
 
+static int test_lvremove_2_skip (void)
+{
+  const char *str;
+
+  str = getenv ("SKIP_TEST_LVREMOVE_2");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_LVREMOVE");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
+}
+
 static int test_lvremove_2 (void)
 {
-  /* InitEmpty for lvremove (2) */
+  if (test_lvremove_2_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_lvremove_2");
+    return 0;
+  }
+
+  /* InitNone|InitEmpty for test_lvremove_2 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -3089,6 +4362,20 @@ static int test_lvremove_2 (void)
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
+    char lines_0[] = ",";
+    char *lines[] = {
+      lines_0,
+      NULL
+    };
+    int r;
+    suppress_error = 0;
+    r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
+    if (r == -1)
+      return -1;
+  }
+  {
+    char device[] = "/dev/sda1";
+    device[5] = devchar;
     int r;
     suppress_error = 0;
     r = guestfs_pvcreate (g, device);
@@ -3097,7 +4384,7 @@ static int test_lvremove_2 (void)
   }
   {
     char volgroup[] = "VG";
-    char physvols_0[] = "/dev/sda";
+    char physvols_0[] = "/dev/sda1";
     physvols_0[5] = devchar;
     char *physvols[] = {
       physvols_0,
@@ -3166,9 +4453,25 @@ static int test_lvremove_2 (void)
   return 0;
 }
 
+static int test_mount_ro_0_skip (void)
+{
+  const char *str;
+
+  str = getenv ("SKIP_TEST_MOUNT_RO_0");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_MOUNT_RO");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
+}
+
 static int test_mount_ro_0 (void)
 {
-  /* InitBasicFS for mount_ro (0): create ext2 on /dev/sda1 */
+  if (test_mount_ro_0_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_mount_ro_0");
+    return 0;
+  }
+
+  /* InitBasicFS for test_mount_ro_0: create ext2 on /dev/sda1 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -3256,9 +4559,25 @@ static int test_mount_ro_0 (void)
   return 0;
 }
 
+static int test_mount_ro_1_skip (void)
+{
+  const char *str;
+
+  str = getenv ("SKIP_TEST_MOUNT_RO_1");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_MOUNT_RO");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
+}
+
 static int test_mount_ro_1 (void)
 {
-  /* InitBasicFS for mount_ro (1): create ext2 on /dev/sda1 */
+  if (test_mount_ro_1_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_mount_ro_1");
+    return 0;
+  }
+
+  /* InitBasicFS for test_mount_ro_1: create ext2 on /dev/sda1 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -3361,9 +4680,25 @@ static int test_mount_ro_1 (void)
   return 0;
 }
 
+static int test_tgz_in_0_skip (void)
+{
+  const char *str;
+
+  str = getenv ("SKIP_TEST_TGZ_IN_0");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_TGZ_IN");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
+}
+
 static int test_tgz_in_0 (void)
 {
-  /* InitBasicFS for tgz_in (0): create ext2 on /dev/sda1 */
+  if (test_tgz_in_0_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_tgz_in_0");
+    return 0;
+  }
+
+  /* InitBasicFS for test_tgz_in_0: create ext2 on /dev/sda1 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -3447,9 +4782,25 @@ static int test_tgz_in_0 (void)
   return 0;
 }
 
+static int test_tar_in_0_skip (void)
+{
+  const char *str;
+
+  str = getenv ("SKIP_TEST_TAR_IN_0");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_TAR_IN");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
+}
+
 static int test_tar_in_0 (void)
 {
-  /* InitBasicFS for tar_in (0): create ext2 on /dev/sda1 */
+  if (test_tar_in_0_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_tar_in_0");
+    return 0;
+  }
+
+  /* InitBasicFS for test_tar_in_0: create ext2 on /dev/sda1 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -3533,9 +4884,25 @@ static int test_tar_in_0 (void)
   return 0;
 }
 
+static int test_checksum_0_skip (void)
+{
+  const char *str;
+
+  str = getenv ("SKIP_TEST_CHECKSUM_0");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_CHECKSUM");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
+}
+
 static int test_checksum_0 (void)
 {
-  /* InitBasicFS for checksum (0): create ext2 on /dev/sda1 */
+  if (test_checksum_0_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_checksum_0");
+    return 0;
+  }
+
+  /* InitBasicFS for test_checksum_0: create ext2 on /dev/sda1 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -3621,9 +4988,25 @@ static int test_checksum_0 (void)
   return 0;
 }
 
+static int test_checksum_1_skip (void)
+{
+  const char *str;
+
+  str = getenv ("SKIP_TEST_CHECKSUM_1");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_CHECKSUM");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
+}
+
 static int test_checksum_1 (void)
 {
-  /* InitBasicFS for checksum (1): create ext2 on /dev/sda1 */
+  if (test_checksum_1_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_checksum_1");
+    return 0;
+  }
+
+  /* InitBasicFS for test_checksum_1: create ext2 on /dev/sda1 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -3695,9 +5078,25 @@ static int test_checksum_1 (void)
   return 0;
 }
 
+static int test_checksum_2_skip (void)
+{
+  const char *str;
+
+  str = getenv ("SKIP_TEST_CHECKSUM_2");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_CHECKSUM");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
+}
+
 static int test_checksum_2 (void)
 {
-  /* InitBasicFS for checksum (2): create ext2 on /dev/sda1 */
+  if (test_checksum_2_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_checksum_2");
+    return 0;
+  }
+
+  /* InitBasicFS for test_checksum_2: create ext2 on /dev/sda1 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -3783,9 +5182,25 @@ static int test_checksum_2 (void)
   return 0;
 }
 
+static int test_checksum_3_skip (void)
+{
+  const char *str;
+
+  str = getenv ("SKIP_TEST_CHECKSUM_3");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_CHECKSUM");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
+}
+
 static int test_checksum_3 (void)
 {
-  /* InitBasicFS for checksum (3): create ext2 on /dev/sda1 */
+  if (test_checksum_3_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_checksum_3");
+    return 0;
+  }
+
+  /* InitBasicFS for test_checksum_3: create ext2 on /dev/sda1 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -3871,9 +5286,25 @@ static int test_checksum_3 (void)
   return 0;
 }
 
+static int test_checksum_4_skip (void)
+{
+  const char *str;
+
+  str = getenv ("SKIP_TEST_CHECKSUM_4");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_CHECKSUM");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
+}
+
 static int test_checksum_4 (void)
 {
-  /* InitBasicFS for checksum (4): create ext2 on /dev/sda1 */
+  if (test_checksum_4_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_checksum_4");
+    return 0;
+  }
+
+  /* InitBasicFS for test_checksum_4: create ext2 on /dev/sda1 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -3959,9 +5390,25 @@ static int test_checksum_4 (void)
   return 0;
 }
 
+static int test_checksum_5_skip (void)
+{
+  const char *str;
+
+  str = getenv ("SKIP_TEST_CHECKSUM_5");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_CHECKSUM");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
+}
+
 static int test_checksum_5 (void)
 {
-  /* InitBasicFS for checksum (5): create ext2 on /dev/sda1 */
+  if (test_checksum_5_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_checksum_5");
+    return 0;
+  }
+
+  /* InitBasicFS for test_checksum_5: create ext2 on /dev/sda1 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -4047,9 +5494,25 @@ static int test_checksum_5 (void)
   return 0;
 }
 
+static int test_checksum_6_skip (void)
+{
+  const char *str;
+
+  str = getenv ("SKIP_TEST_CHECKSUM_6");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_CHECKSUM");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
+}
+
 static int test_checksum_6 (void)
 {
-  /* InitBasicFS for checksum (6): create ext2 on /dev/sda1 */
+  if (test_checksum_6_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_checksum_6");
+    return 0;
+  }
+
+  /* InitBasicFS for test_checksum_6: create ext2 on /dev/sda1 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -4135,9 +5598,25 @@ static int test_checksum_6 (void)
   return 0;
 }
 
+static int test_checksum_7_skip (void)
+{
+  const char *str;
+
+  str = getenv ("SKIP_TEST_CHECKSUM_7");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_CHECKSUM");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
+}
+
 static int test_checksum_7 (void)
 {
-  /* InitBasicFS for checksum (7): create ext2 on /dev/sda1 */
+  if (test_checksum_7_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_checksum_7");
+    return 0;
+  }
+
+  /* InitBasicFS for test_checksum_7: create ext2 on /dev/sda1 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -4223,9 +5702,25 @@ static int test_checksum_7 (void)
   return 0;
 }
 
+static int test_download_0_skip (void)
+{
+  const char *str;
+
+  str = getenv ("SKIP_TEST_DOWNLOAD_0");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_DOWNLOAD");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
+}
+
 static int test_download_0 (void)
 {
-  /* InitBasicFS for download (0): create ext2 on /dev/sda1 */
+  if (test_download_0_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_download_0");
+    return 0;
+  }
+
+  /* InitBasicFS for test_download_0: create ext2 on /dev/sda1 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -4326,9 +5821,25 @@ static int test_download_0 (void)
   return 0;
 }
 
+static int test_upload_0_skip (void)
+{
+  const char *str;
+
+  str = getenv ("SKIP_TEST_UPLOAD_0");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_UPLOAD");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
+}
+
 static int test_upload_0 (void)
 {
-  /* InitBasicFS for upload (0): create ext2 on /dev/sda1 */
+  if (test_upload_0_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_upload_0");
+    return 0;
+  }
+
+  /* InitBasicFS for test_upload_0: create ext2 on /dev/sda1 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -4413,9 +5924,25 @@ static int test_upload_0 (void)
   return 0;
 }
 
+static int test_blockdev_rereadpt_0_skip (void)
+{
+  const char *str;
+
+  str = getenv ("SKIP_TEST_BLOCKDEV_REREADPT_0");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_BLOCKDEV_REREADPT");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
+}
+
 static int test_blockdev_rereadpt_0 (void)
 {
-  /* InitEmpty for blockdev_rereadpt (0) */
+  if (test_blockdev_rereadpt_0_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_blockdev_rereadpt_0");
+    return 0;
+  }
+
+  /* InitNone|InitEmpty for test_blockdev_rereadpt_0 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -4452,9 +5979,25 @@ static int test_blockdev_rereadpt_0 (void)
   return 0;
 }
 
+static int test_blockdev_flushbufs_0_skip (void)
+{
+  const char *str;
+
+  str = getenv ("SKIP_TEST_BLOCKDEV_FLUSHBUFS_0");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_BLOCKDEV_FLUSHBUFS");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
+}
+
 static int test_blockdev_flushbufs_0 (void)
 {
-  /* InitEmpty for blockdev_flushbufs (0) */
+  if (test_blockdev_flushbufs_0_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_blockdev_flushbufs_0");
+    return 0;
+  }
+
+  /* InitNone|InitEmpty for test_blockdev_flushbufs_0 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -4491,9 +6034,25 @@ static int test_blockdev_flushbufs_0 (void)
   return 0;
 }
 
+static int test_blockdev_getsize64_0_skip (void)
+{
+  const char *str;
+
+  str = getenv ("SKIP_TEST_BLOCKDEV_GETSIZE64_0");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_BLOCKDEV_GETSIZE64");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
+}
+
 static int test_blockdev_getsize64_0 (void)
 {
-  /* InitEmpty for blockdev_getsize64 (0) */
+  if (test_blockdev_getsize64_0_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_blockdev_getsize64_0");
+    return 0;
+  }
+
+  /* InitNone|InitEmpty for test_blockdev_getsize64_0 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -4534,9 +6093,25 @@ static int test_blockdev_getsize64_0 (void)
   return 0;
 }
 
+static int test_blockdev_getsz_0_skip (void)
+{
+  const char *str;
+
+  str = getenv ("SKIP_TEST_BLOCKDEV_GETSZ_0");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_BLOCKDEV_GETSZ");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
+}
+
 static int test_blockdev_getsz_0 (void)
 {
-  /* InitEmpty for blockdev_getsz (0) */
+  if (test_blockdev_getsz_0_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_blockdev_getsz_0");
+    return 0;
+  }
+
+  /* InitNone|InitEmpty for test_blockdev_getsz_0 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -4577,9 +6152,25 @@ static int test_blockdev_getsz_0 (void)
   return 0;
 }
 
+static int test_blockdev_getbsz_0_skip (void)
+{
+  const char *str;
+
+  str = getenv ("SKIP_TEST_BLOCKDEV_GETBSZ_0");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_BLOCKDEV_GETBSZ");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
+}
+
 static int test_blockdev_getbsz_0 (void)
 {
-  /* InitEmpty for blockdev_getbsz (0) */
+  if (test_blockdev_getbsz_0_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_blockdev_getbsz_0");
+    return 0;
+  }
+
+  /* InitNone|InitEmpty for test_blockdev_getbsz_0 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -4620,9 +6211,25 @@ static int test_blockdev_getbsz_0 (void)
   return 0;
 }
 
+static int test_blockdev_getss_0_skip (void)
+{
+  const char *str;
+
+  str = getenv ("SKIP_TEST_BLOCKDEV_GETSS_0");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_BLOCKDEV_GETSS");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
+}
+
 static int test_blockdev_getss_0 (void)
 {
-  /* InitEmpty for blockdev_getss (0) */
+  if (test_blockdev_getss_0_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_blockdev_getss_0");
+    return 0;
+  }
+
+  /* InitNone|InitEmpty for test_blockdev_getss_0 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -4663,9 +6270,25 @@ static int test_blockdev_getss_0 (void)
   return 0;
 }
 
+static int test_blockdev_getro_0_skip (void)
+{
+  const char *str;
+
+  str = getenv ("SKIP_TEST_BLOCKDEV_GETRO_0");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_BLOCKDEV_GETRO");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
+}
+
 static int test_blockdev_getro_0 (void)
 {
-  /* InitEmpty for blockdev_getro (0) */
+  if (test_blockdev_getro_0_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_blockdev_getro_0");
+    return 0;
+  }
+
+  /* InitNone|InitEmpty for test_blockdev_getro_0 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -4715,9 +6338,25 @@ static int test_blockdev_getro_0 (void)
   return 0;
 }
 
+static int test_blockdev_setrw_0_skip (void)
+{
+  const char *str;
+
+  str = getenv ("SKIP_TEST_BLOCKDEV_SETRW_0");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_BLOCKDEV_SETRW");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
+}
+
 static int test_blockdev_setrw_0 (void)
 {
-  /* InitEmpty for blockdev_setrw (0) */
+  if (test_blockdev_setrw_0_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_blockdev_setrw_0");
+    return 0;
+  }
+
+  /* InitNone|InitEmpty for test_blockdev_setrw_0 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -4767,9 +6406,25 @@ static int test_blockdev_setrw_0 (void)
   return 0;
 }
 
+static int test_blockdev_setro_0_skip (void)
+{
+  const char *str;
+
+  str = getenv ("SKIP_TEST_BLOCKDEV_SETRO_0");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_BLOCKDEV_SETRO");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
+}
+
 static int test_blockdev_setro_0 (void)
 {
-  /* InitEmpty for blockdev_setro (0) */
+  if (test_blockdev_setro_0_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_blockdev_setro_0");
+    return 0;
+  }
+
+  /* InitNone|InitEmpty for test_blockdev_setro_0 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -4819,9 +6474,25 @@ static int test_blockdev_setro_0 (void)
   return 0;
 }
 
+static int test_statvfs_0_skip (void)
+{
+  const char *str;
+
+  str = getenv ("SKIP_TEST_STATVFS_0");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_STATVFS");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
+}
+
 static int test_statvfs_0 (void)
 {
-  /* InitBasicFS for statvfs (0): create ext2 on /dev/sda1 */
+  if (test_statvfs_0_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_statvfs_0");
+    return 0;
+  }
+
+  /* InitBasicFS for test_statvfs_0: create ext2 on /dev/sda1 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -4907,9 +6578,25 @@ static int test_statvfs_0 (void)
   return 0;
 }
 
+static int test_lstat_0_skip (void)
+{
+  const char *str;
+
+  str = getenv ("SKIP_TEST_LSTAT_0");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_LSTAT");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
+}
+
 static int test_lstat_0 (void)
 {
-  /* InitBasicFS for lstat (0): create ext2 on /dev/sda1 */
+  if (test_lstat_0_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_lstat_0");
+    return 0;
+  }
+
+  /* InitBasicFS for test_lstat_0: create ext2 on /dev/sda1 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -4993,9 +6680,25 @@ static int test_lstat_0 (void)
   return 0;
 }
 
+static int test_stat_0_skip (void)
+{
+  const char *str;
+
+  str = getenv ("SKIP_TEST_STAT_0");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_STAT");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
+}
+
 static int test_stat_0 (void)
 {
-  /* InitBasicFS for stat (0): create ext2 on /dev/sda1 */
+  if (test_stat_0_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_stat_0");
+    return 0;
+  }
+
+  /* InitBasicFS for test_stat_0: create ext2 on /dev/sda1 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -5079,16 +6782,25 @@ static int test_stat_0 (void)
   return 0;
 }
 
-static int test_command_lines_0_prereq (void)
+static int test_command_lines_0_skip (void)
 {
-  const char *str = getenv ("SKIP_TEST_COMMAND");
-  return str && strcmp (str, "1") == 0;
+  const char *str;
+
+  str = getenv ("SKIP_TEST_COMMAND_LINES_0");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_COMMAND_LINES");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
 }
 
 static int test_command_lines_0 (void)
 {
-  if (! test_command_lines_0_prereq ()) {
-  /* InitBasicFS for command_lines (0): create ext2 on /dev/sda1 */
+  if (test_command_lines_0_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_command_lines_0");
+    return 0;
+  }
+
+  /* InitBasicFS for test_command_lines_0: create ext2 on /dev/sda1 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -5198,21 +6910,28 @@ static int test_command_lines_0 (void)
       free (r[i]);
     free (r);
   }
-  } else
-    printf ("%s skipped (reason: test prerequisite)\n", "test_command_lines_0");
   return 0;
 }
 
-static int test_command_lines_1_prereq (void)
+static int test_command_lines_1_skip (void)
 {
-  const char *str = getenv ("SKIP_TEST_COMMAND");
-  return str && strcmp (str, "1") == 0;
+  const char *str;
+
+  str = getenv ("SKIP_TEST_COMMAND_LINES_1");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_COMMAND_LINES");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
 }
 
 static int test_command_lines_1 (void)
 {
-  if (! test_command_lines_1_prereq ()) {
-  /* InitBasicFS for command_lines (1): create ext2 on /dev/sda1 */
+  if (test_command_lines_1_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_command_lines_1");
+    return 0;
+  }
+
+  /* InitBasicFS for test_command_lines_1: create ext2 on /dev/sda1 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -5322,21 +7041,28 @@ static int test_command_lines_1 (void)
       free (r[i]);
     free (r);
   }
-  } else
-    printf ("%s skipped (reason: test prerequisite)\n", "test_command_lines_1");
   return 0;
 }
 
-static int test_command_lines_2_prereq (void)
+static int test_command_lines_2_skip (void)
 {
-  const char *str = getenv ("SKIP_TEST_COMMAND");
-  return str && strcmp (str, "1") == 0;
+  const char *str;
+
+  str = getenv ("SKIP_TEST_COMMAND_LINES_2");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_COMMAND_LINES");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
 }
 
 static int test_command_lines_2 (void)
 {
-  if (! test_command_lines_2_prereq ()) {
-  /* InitBasicFS for command_lines (2): create ext2 on /dev/sda1 */
+  if (test_command_lines_2_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_command_lines_2");
+    return 0;
+  }
+
+  /* InitBasicFS for test_command_lines_2: create ext2 on /dev/sda1 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -5458,21 +7184,28 @@ static int test_command_lines_2 (void)
       free (r[i]);
     free (r);
   }
-  } else
-    printf ("%s skipped (reason: test prerequisite)\n", "test_command_lines_2");
   return 0;
 }
 
-static int test_command_lines_3_prereq (void)
+static int test_command_lines_3_skip (void)
 {
-  const char *str = getenv ("SKIP_TEST_COMMAND");
-  return str && strcmp (str, "1") == 0;
+  const char *str;
+
+  str = getenv ("SKIP_TEST_COMMAND_LINES_3");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_COMMAND_LINES");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
 }
 
 static int test_command_lines_3 (void)
 {
-  if (! test_command_lines_3_prereq ()) {
-  /* InitBasicFS for command_lines (3): create ext2 on /dev/sda1 */
+  if (test_command_lines_3_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_command_lines_3");
+    return 0;
+  }
+
+  /* InitBasicFS for test_command_lines_3: create ext2 on /dev/sda1 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -5594,21 +7327,28 @@ static int test_command_lines_3 (void)
       free (r[i]);
     free (r);
   }
-  } else
-    printf ("%s skipped (reason: test prerequisite)\n", "test_command_lines_3");
   return 0;
 }
 
-static int test_command_lines_4_prereq (void)
+static int test_command_lines_4_skip (void)
 {
-  const char *str = getenv ("SKIP_TEST_COMMAND");
-  return str && strcmp (str, "1") == 0;
+  const char *str;
+
+  str = getenv ("SKIP_TEST_COMMAND_LINES_4");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_COMMAND_LINES");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
 }
 
 static int test_command_lines_4 (void)
 {
-  if (! test_command_lines_4_prereq ()) {
-  /* InitBasicFS for command_lines (4): create ext2 on /dev/sda1 */
+  if (test_command_lines_4_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_command_lines_4");
+    return 0;
+  }
+
+  /* InitBasicFS for test_command_lines_4: create ext2 on /dev/sda1 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -5742,21 +7482,28 @@ static int test_command_lines_4 (void)
       free (r[i]);
     free (r);
   }
-  } else
-    printf ("%s skipped (reason: test prerequisite)\n", "test_command_lines_4");
   return 0;
 }
 
-static int test_command_lines_5_prereq (void)
+static int test_command_lines_5_skip (void)
 {
-  const char *str = getenv ("SKIP_TEST_COMMAND");
-  return str && strcmp (str, "1") == 0;
+  const char *str;
+
+  str = getenv ("SKIP_TEST_COMMAND_LINES_5");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_COMMAND_LINES");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
 }
 
 static int test_command_lines_5 (void)
 {
-  if (! test_command_lines_5_prereq ()) {
-  /* InitBasicFS for command_lines (5): create ext2 on /dev/sda1 */
+  if (test_command_lines_5_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_command_lines_5");
+    return 0;
+  }
+
+  /* InitBasicFS for test_command_lines_5: create ext2 on /dev/sda1 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -5902,21 +7649,28 @@ static int test_command_lines_5 (void)
       free (r[i]);
     free (r);
   }
-  } else
-    printf ("%s skipped (reason: test prerequisite)\n", "test_command_lines_5");
   return 0;
 }
 
-static int test_command_lines_6_prereq (void)
+static int test_command_lines_6_skip (void)
 {
-  const char *str = getenv ("SKIP_TEST_COMMAND");
-  return str && strcmp (str, "1") == 0;
+  const char *str;
+
+  str = getenv ("SKIP_TEST_COMMAND_LINES_6");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_COMMAND_LINES");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
 }
 
 static int test_command_lines_6 (void)
 {
-  if (! test_command_lines_6_prereq ()) {
-  /* InitBasicFS for command_lines (6): create ext2 on /dev/sda1 */
+  if (test_command_lines_6_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_command_lines_6");
+    return 0;
+  }
+
+  /* InitBasicFS for test_command_lines_6: create ext2 on /dev/sda1 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -6014,21 +7768,28 @@ static int test_command_lines_6 (void)
       free (r[i]);
     free (r);
   }
-  } else
-    printf ("%s skipped (reason: test prerequisite)\n", "test_command_lines_6");
   return 0;
 }
 
-static int test_command_lines_7_prereq (void)
+static int test_command_lines_7_skip (void)
 {
-  const char *str = getenv ("SKIP_TEST_COMMAND");
-  return str && strcmp (str, "1") == 0;
+  const char *str;
+
+  str = getenv ("SKIP_TEST_COMMAND_LINES_7");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_COMMAND_LINES");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
 }
 
 static int test_command_lines_7 (void)
 {
-  if (! test_command_lines_7_prereq ()) {
-  /* InitBasicFS for command_lines (7): create ext2 on /dev/sda1 */
+  if (test_command_lines_7_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_command_lines_7");
+    return 0;
+  }
+
+  /* InitBasicFS for test_command_lines_7: create ext2 on /dev/sda1 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -6138,21 +7899,28 @@ static int test_command_lines_7 (void)
       free (r[i]);
     free (r);
   }
-  } else
-    printf ("%s skipped (reason: test prerequisite)\n", "test_command_lines_7");
   return 0;
 }
 
-static int test_command_lines_8_prereq (void)
+static int test_command_lines_8_skip (void)
 {
-  const char *str = getenv ("SKIP_TEST_COMMAND");
-  return str && strcmp (str, "1") == 0;
+  const char *str;
+
+  str = getenv ("SKIP_TEST_COMMAND_LINES_8");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_COMMAND_LINES");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
 }
 
 static int test_command_lines_8 (void)
 {
-  if (! test_command_lines_8_prereq ()) {
-  /* InitBasicFS for command_lines (8): create ext2 on /dev/sda1 */
+  if (test_command_lines_8_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_command_lines_8");
+    return 0;
+  }
+
+  /* InitBasicFS for test_command_lines_8: create ext2 on /dev/sda1 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -6274,21 +8042,28 @@ static int test_command_lines_8 (void)
       free (r[i]);
     free (r);
   }
-  } else
-    printf ("%s skipped (reason: test prerequisite)\n", "test_command_lines_8");
   return 0;
 }
 
-static int test_command_lines_9_prereq (void)
+static int test_command_lines_9_skip (void)
 {
-  const char *str = getenv ("SKIP_TEST_COMMAND");
-  return str && strcmp (str, "1") == 0;
+  const char *str;
+
+  str = getenv ("SKIP_TEST_COMMAND_LINES_9");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_COMMAND_LINES");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
 }
 
 static int test_command_lines_9 (void)
 {
-  if (! test_command_lines_9_prereq ()) {
-  /* InitBasicFS for command_lines (9): create ext2 on /dev/sda1 */
+  if (test_command_lines_9_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_command_lines_9");
+    return 0;
+  }
+
+  /* InitBasicFS for test_command_lines_9: create ext2 on /dev/sda1 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -6410,21 +8185,28 @@ static int test_command_lines_9 (void)
       free (r[i]);
     free (r);
   }
-  } else
-    printf ("%s skipped (reason: test prerequisite)\n", "test_command_lines_9");
   return 0;
 }
 
-static int test_command_lines_10_prereq (void)
+static int test_command_lines_10_skip (void)
 {
-  const char *str = getenv ("SKIP_TEST_COMMAND");
-  return str && strcmp (str, "1") == 0;
+  const char *str;
+
+  str = getenv ("SKIP_TEST_COMMAND_LINES_10");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_COMMAND_LINES");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
 }
 
 static int test_command_lines_10 (void)
 {
-  if (! test_command_lines_10_prereq ()) {
-  /* InitBasicFS for command_lines (10): create ext2 on /dev/sda1 */
+  if (test_command_lines_10_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_command_lines_10");
+    return 0;
+  }
+
+  /* InitBasicFS for test_command_lines_10: create ext2 on /dev/sda1 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -6546,21 +8328,28 @@ static int test_command_lines_10 (void)
       free (r[i]);
     free (r);
   }
-  } else
-    printf ("%s skipped (reason: test prerequisite)\n", "test_command_lines_10");
   return 0;
 }
 
-static int test_command_0_prereq (void)
+static int test_command_0_skip (void)
 {
-  const char *str = getenv ("SKIP_TEST_COMMAND");
-  return str && strcmp (str, "1") == 0;
+  const char *str;
+
+  str = getenv ("SKIP_TEST_COMMAND_0");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_COMMAND");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
 }
 
 static int test_command_0 (void)
 {
-  if (! test_command_0_prereq ()) {
-  /* InitBasicFS for command (0): create ext2 on /dev/sda1 */
+  if (test_command_0_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_command_0");
+    return 0;
+  }
+
+  /* InitBasicFS for test_command_0: create ext2 on /dev/sda1 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -6655,21 +8444,28 @@ static int test_command_0 (void)
     }
     free (r);
   }
-  } else
-    printf ("%s skipped (reason: test prerequisite)\n", "test_command_0");
   return 0;
 }
 
-static int test_command_1_prereq (void)
+static int test_command_1_skip (void)
 {
-  const char *str = getenv ("SKIP_TEST_COMMAND");
-  return str && strcmp (str, "1") == 0;
+  const char *str;
+
+  str = getenv ("SKIP_TEST_COMMAND_1");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_COMMAND");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
 }
 
 static int test_command_1 (void)
 {
-  if (! test_command_1_prereq ()) {
-  /* InitBasicFS for command (1): create ext2 on /dev/sda1 */
+  if (test_command_1_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_command_1");
+    return 0;
+  }
+
+  /* InitBasicFS for test_command_1: create ext2 on /dev/sda1 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -6764,21 +8560,28 @@ static int test_command_1 (void)
     }
     free (r);
   }
-  } else
-    printf ("%s skipped (reason: test prerequisite)\n", "test_command_1");
   return 0;
 }
 
-static int test_command_2_prereq (void)
+static int test_command_2_skip (void)
 {
-  const char *str = getenv ("SKIP_TEST_COMMAND");
-  return str && strcmp (str, "1") == 0;
+  const char *str;
+
+  str = getenv ("SKIP_TEST_COMMAND_2");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_COMMAND");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
 }
 
 static int test_command_2 (void)
 {
-  if (! test_command_2_prereq ()) {
-  /* InitBasicFS for command (2): create ext2 on /dev/sda1 */
+  if (test_command_2_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_command_2");
+    return 0;
+  }
+
+  /* InitBasicFS for test_command_2: create ext2 on /dev/sda1 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -6873,21 +8676,28 @@ static int test_command_2 (void)
     }
     free (r);
   }
-  } else
-    printf ("%s skipped (reason: test prerequisite)\n", "test_command_2");
   return 0;
 }
 
-static int test_command_3_prereq (void)
+static int test_command_3_skip (void)
 {
-  const char *str = getenv ("SKIP_TEST_COMMAND");
-  return str && strcmp (str, "1") == 0;
+  const char *str;
+
+  str = getenv ("SKIP_TEST_COMMAND_3");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_COMMAND");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
 }
 
 static int test_command_3 (void)
 {
-  if (! test_command_3_prereq ()) {
-  /* InitBasicFS for command (3): create ext2 on /dev/sda1 */
+  if (test_command_3_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_command_3");
+    return 0;
+  }
+
+  /* InitBasicFS for test_command_3: create ext2 on /dev/sda1 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -6982,21 +8792,28 @@ static int test_command_3 (void)
     }
     free (r);
   }
-  } else
-    printf ("%s skipped (reason: test prerequisite)\n", "test_command_3");
   return 0;
 }
 
-static int test_command_4_prereq (void)
+static int test_command_4_skip (void)
 {
-  const char *str = getenv ("SKIP_TEST_COMMAND");
-  return str && strcmp (str, "1") == 0;
+  const char *str;
+
+  str = getenv ("SKIP_TEST_COMMAND_4");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_COMMAND");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
 }
 
 static int test_command_4 (void)
 {
-  if (! test_command_4_prereq ()) {
-  /* InitBasicFS for command (4): create ext2 on /dev/sda1 */
+  if (test_command_4_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_command_4");
+    return 0;
+  }
+
+  /* InitBasicFS for test_command_4: create ext2 on /dev/sda1 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -7091,21 +8908,28 @@ static int test_command_4 (void)
     }
     free (r);
   }
-  } else
-    printf ("%s skipped (reason: test prerequisite)\n", "test_command_4");
   return 0;
 }
 
-static int test_command_5_prereq (void)
+static int test_command_5_skip (void)
 {
-  const char *str = getenv ("SKIP_TEST_COMMAND");
-  return str && strcmp (str, "1") == 0;
+  const char *str;
+
+  str = getenv ("SKIP_TEST_COMMAND_5");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_COMMAND");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
 }
 
 static int test_command_5 (void)
 {
-  if (! test_command_5_prereq ()) {
-  /* InitBasicFS for command (5): create ext2 on /dev/sda1 */
+  if (test_command_5_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_command_5");
+    return 0;
+  }
+
+  /* InitBasicFS for test_command_5: create ext2 on /dev/sda1 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -7200,21 +9024,28 @@ static int test_command_5 (void)
     }
     free (r);
   }
-  } else
-    printf ("%s skipped (reason: test prerequisite)\n", "test_command_5");
   return 0;
 }
 
-static int test_command_6_prereq (void)
+static int test_command_6_skip (void)
 {
-  const char *str = getenv ("SKIP_TEST_COMMAND");
-  return str && strcmp (str, "1") == 0;
+  const char *str;
+
+  str = getenv ("SKIP_TEST_COMMAND_6");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_COMMAND");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
 }
 
 static int test_command_6 (void)
 {
-  if (! test_command_6_prereq ()) {
-  /* InitBasicFS for command (6): create ext2 on /dev/sda1 */
+  if (test_command_6_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_command_6");
+    return 0;
+  }
+
+  /* InitBasicFS for test_command_6: create ext2 on /dev/sda1 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -7309,21 +9140,28 @@ static int test_command_6 (void)
     }
     free (r);
   }
-  } else
-    printf ("%s skipped (reason: test prerequisite)\n", "test_command_6");
   return 0;
 }
 
-static int test_command_7_prereq (void)
+static int test_command_7_skip (void)
 {
-  const char *str = getenv ("SKIP_TEST_COMMAND");
-  return str && strcmp (str, "1") == 0;
+  const char *str;
+
+  str = getenv ("SKIP_TEST_COMMAND_7");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_COMMAND");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
 }
 
 static int test_command_7 (void)
 {
-  if (! test_command_7_prereq ()) {
-  /* InitBasicFS for command (7): create ext2 on /dev/sda1 */
+  if (test_command_7_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_command_7");
+    return 0;
+  }
+
+  /* InitBasicFS for test_command_7: create ext2 on /dev/sda1 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -7418,21 +9256,28 @@ static int test_command_7 (void)
     }
     free (r);
   }
-  } else
-    printf ("%s skipped (reason: test prerequisite)\n", "test_command_7");
   return 0;
 }
 
-static int test_command_8_prereq (void)
+static int test_command_8_skip (void)
 {
-  const char *str = getenv ("SKIP_TEST_COMMAND");
-  return str && strcmp (str, "1") == 0;
+  const char *str;
+
+  str = getenv ("SKIP_TEST_COMMAND_8");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_COMMAND");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
 }
 
 static int test_command_8 (void)
 {
-  if (! test_command_8_prereq ()) {
-  /* InitBasicFS for command (8): create ext2 on /dev/sda1 */
+  if (test_command_8_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_command_8");
+    return 0;
+  }
+
+  /* InitBasicFS for test_command_8: create ext2 on /dev/sda1 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -7527,21 +9372,28 @@ static int test_command_8 (void)
     }
     free (r);
   }
-  } else
-    printf ("%s skipped (reason: test prerequisite)\n", "test_command_8");
   return 0;
 }
 
-static int test_command_9_prereq (void)
+static int test_command_9_skip (void)
 {
-  const char *str = getenv ("SKIP_TEST_COMMAND");
-  return str && strcmp (str, "1") == 0;
+  const char *str;
+
+  str = getenv ("SKIP_TEST_COMMAND_9");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_COMMAND");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
 }
 
 static int test_command_9 (void)
 {
-  if (! test_command_9_prereq ()) {
-  /* InitBasicFS for command (9): create ext2 on /dev/sda1 */
+  if (test_command_9_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_command_9");
+    return 0;
+  }
+
+  /* InitBasicFS for test_command_9: create ext2 on /dev/sda1 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -7636,21 +9488,28 @@ static int test_command_9 (void)
     }
     free (r);
   }
-  } else
-    printf ("%s skipped (reason: test prerequisite)\n", "test_command_9");
   return 0;
 }
 
-static int test_command_10_prereq (void)
+static int test_command_10_skip (void)
 {
-  const char *str = getenv ("SKIP_TEST_COMMAND");
-  return str && strcmp (str, "1") == 0;
+  const char *str;
+
+  str = getenv ("SKIP_TEST_COMMAND_10");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_COMMAND");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
 }
 
 static int test_command_10 (void)
 {
-  if (! test_command_10_prereq ()) {
-  /* InitBasicFS for command (10): create ext2 on /dev/sda1 */
+  if (test_command_10_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_command_10");
+    return 0;
+  }
+
+  /* InitBasicFS for test_command_10: create ext2 on /dev/sda1 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -7745,21 +9604,28 @@ static int test_command_10 (void)
     }
     free (r);
   }
-  } else
-    printf ("%s skipped (reason: test prerequisite)\n", "test_command_10");
   return 0;
 }
 
-static int test_command_11_prereq (void)
+static int test_command_11_skip (void)
 {
-  const char *str = getenv ("SKIP_TEST_COMMAND");
-  return str && strcmp (str, "1") == 0;
+  const char *str;
+
+  str = getenv ("SKIP_TEST_COMMAND_11");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_COMMAND");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
 }
 
 static int test_command_11 (void)
 {
-  if (! test_command_11_prereq ()) {
-  /* InitBasicFS for command (11): create ext2 on /dev/sda1 */
+  if (test_command_11_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_command_11");
+    return 0;
+  }
+
+  /* InitBasicFS for test_command_11: create ext2 on /dev/sda1 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -7847,14 +9713,28 @@ static int test_command_11 (void)
       return -1;
     free (r);
   }
-  } else
-    printf ("%s skipped (reason: test prerequisite)\n", "test_command_11");
+  return 0;
+}
+
+static int test_file_0_skip (void)
+{
+  const char *str;
+
+  str = getenv ("SKIP_TEST_FILE_0");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_FILE");
+  if (str && strcmp (str, "1") == 0) return 1;
   return 0;
 }
 
 static int test_file_0 (void)
 {
-  /* InitBasicFS for file (0): create ext2 on /dev/sda1 */
+  if (test_file_0_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_file_0");
+    return 0;
+  }
+
+  /* InitBasicFS for test_file_0: create ext2 on /dev/sda1 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -7938,9 +9818,25 @@ static int test_file_0 (void)
   return 0;
 }
 
+static int test_file_1_skip (void)
+{
+  const char *str;
+
+  str = getenv ("SKIP_TEST_FILE_1");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_FILE");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
+}
+
 static int test_file_1 (void)
 {
-  /* InitBasicFS for file (1): create ext2 on /dev/sda1 */
+  if (test_file_1_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_file_1");
+    return 0;
+  }
+
+  /* InitBasicFS for test_file_1: create ext2 on /dev/sda1 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -8025,9 +9921,25 @@ static int test_file_1 (void)
   return 0;
 }
 
+static int test_file_2_skip (void)
+{
+  const char *str;
+
+  str = getenv ("SKIP_TEST_FILE_2");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_FILE");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
+}
+
 static int test_file_2 (void)
 {
-  /* InitBasicFS for file (2): create ext2 on /dev/sda1 */
+  if (test_file_2_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_file_2");
+    return 0;
+  }
+
+  /* InitBasicFS for test_file_2: create ext2 on /dev/sda1 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -8098,9 +10010,25 @@ static int test_file_2 (void)
   return 0;
 }
 
+static int test_umount_all_0_skip (void)
+{
+  const char *str;
+
+  str = getenv ("SKIP_TEST_UMOUNT_ALL_0");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_UMOUNT_ALL");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
+}
+
 static int test_umount_all_0 (void)
 {
-  /* InitBasicFS for umount_all (0): create ext2 on /dev/sda1 */
+  if (test_umount_all_0_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_umount_all_0");
+    return 0;
+  }
+
+  /* InitBasicFS for test_umount_all_0: create ext2 on /dev/sda1 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -8185,9 +10113,25 @@ static int test_umount_all_0 (void)
   return 0;
 }
 
+static int test_umount_all_1_skip (void)
+{
+  const char *str;
+
+  str = getenv ("SKIP_TEST_UMOUNT_ALL_1");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_UMOUNT_ALL");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
+}
+
 static int test_umount_all_1 (void)
 {
-  /* InitEmpty for umount_all (1) */
+  if (test_umount_all_1_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_umount_all_1");
+    return 0;
+  }
+
+  /* InitNone|InitEmpty for test_umount_all_1 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -8340,9 +10284,25 @@ static int test_umount_all_1 (void)
   return 0;
 }
 
+static int test_mounts_0_skip (void)
+{
+  const char *str;
+
+  str = getenv ("SKIP_TEST_MOUNTS_0");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_MOUNTS");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
+}
+
 static int test_mounts_0 (void)
 {
-  /* InitBasicFS for mounts (0): create ext2 on /dev/sda1 */
+  if (test_mounts_0_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_mounts_0");
+    return 0;
+  }
+
+  /* InitBasicFS for test_mounts_0: create ext2 on /dev/sda1 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -8433,9 +10393,25 @@ static int test_mounts_0 (void)
   return 0;
 }
 
+static int test_umount_0_skip (void)
+{
+  const char *str;
+
+  str = getenv ("SKIP_TEST_UMOUNT_0");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_UMOUNT");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
+}
+
 static int test_umount_0 (void)
 {
-  /* InitEmpty for umount (0) */
+  if (test_umount_0_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_umount_0");
+    return 0;
+  }
+
+  /* InitNone|InitEmpty for test_umount_0 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -8526,9 +10502,25 @@ static int test_umount_0 (void)
   return 0;
 }
 
+static int test_umount_1_skip (void)
+{
+  const char *str;
+
+  str = getenv ("SKIP_TEST_UMOUNT_1");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_UMOUNT");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
+}
+
 static int test_umount_1 (void)
 {
-  /* InitEmpty for umount (1) */
+  if (test_umount_1_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_umount_1");
+    return 0;
+  }
+
+  /* InitNone|InitEmpty for test_umount_1 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -8614,9 +10606,25 @@ static int test_umount_1 (void)
   return 0;
 }
 
+static int test_write_file_0_skip (void)
+{
+  const char *str;
+
+  str = getenv ("SKIP_TEST_WRITE_FILE_0");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_WRITE_FILE");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
+}
+
 static int test_write_file_0 (void)
 {
-  /* InitBasicFS for write_file (0): create ext2 on /dev/sda1 */
+  if (test_write_file_0_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_write_file_0");
+    return 0;
+  }
+
+  /* InitBasicFS for test_write_file_0: create ext2 on /dev/sda1 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -8701,9 +10709,25 @@ static int test_write_file_0 (void)
   return 0;
 }
 
+static int test_write_file_1_skip (void)
+{
+  const char *str;
+
+  str = getenv ("SKIP_TEST_WRITE_FILE_1");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_WRITE_FILE");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
+}
+
 static int test_write_file_1 (void)
 {
-  /* InitBasicFS for write_file (1): create ext2 on /dev/sda1 */
+  if (test_write_file_1_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_write_file_1");
+    return 0;
+  }
+
+  /* InitBasicFS for test_write_file_1: create ext2 on /dev/sda1 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -8788,9 +10812,25 @@ static int test_write_file_1 (void)
   return 0;
 }
 
+static int test_write_file_2_skip (void)
+{
+  const char *str;
+
+  str = getenv ("SKIP_TEST_WRITE_FILE_2");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_WRITE_FILE");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
+}
+
 static int test_write_file_2 (void)
 {
-  /* InitBasicFS for write_file (2): create ext2 on /dev/sda1 */
+  if (test_write_file_2_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_write_file_2");
+    return 0;
+  }
+
+  /* InitBasicFS for test_write_file_2: create ext2 on /dev/sda1 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -8875,9 +10915,25 @@ static int test_write_file_2 (void)
   return 0;
 }
 
+static int test_write_file_3_skip (void)
+{
+  const char *str;
+
+  str = getenv ("SKIP_TEST_WRITE_FILE_3");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_WRITE_FILE");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
+}
+
 static int test_write_file_3 (void)
 {
-  /* InitBasicFS for write_file (3): create ext2 on /dev/sda1 */
+  if (test_write_file_3_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_write_file_3");
+    return 0;
+  }
+
+  /* InitBasicFS for test_write_file_3: create ext2 on /dev/sda1 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -8962,9 +11018,25 @@ static int test_write_file_3 (void)
   return 0;
 }
 
+static int test_write_file_4_skip (void)
+{
+  const char *str;
+
+  str = getenv ("SKIP_TEST_WRITE_FILE_4");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_WRITE_FILE");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
+}
+
 static int test_write_file_4 (void)
 {
-  /* InitBasicFS for write_file (4): create ext2 on /dev/sda1 */
+  if (test_write_file_4_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_write_file_4");
+    return 0;
+  }
+
+  /* InitBasicFS for test_write_file_4: create ext2 on /dev/sda1 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -9049,9 +11121,25 @@ static int test_write_file_4 (void)
   return 0;
 }
 
+static int test_write_file_5_skip (void)
+{
+  const char *str;
+
+  str = getenv ("SKIP_TEST_WRITE_FILE_5");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_WRITE_FILE");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
+}
+
 static int test_write_file_5 (void)
 {
-  /* InitBasicFS for write_file (5): create ext2 on /dev/sda1 */
+  if (test_write_file_5_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_write_file_5");
+    return 0;
+  }
+
+  /* InitBasicFS for test_write_file_5: create ext2 on /dev/sda1 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -9136,9 +11224,25 @@ static int test_write_file_5 (void)
   return 0;
 }
 
+static int test_mkfs_0_skip (void)
+{
+  const char *str;
+
+  str = getenv ("SKIP_TEST_MKFS_0");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_MKFS");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
+}
+
 static int test_mkfs_0 (void)
 {
-  /* InitEmpty for mkfs (0) */
+  if (test_mkfs_0_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_mkfs_0");
+    return 0;
+  }
+
+  /* InitNone|InitEmpty for test_mkfs_0 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -9223,9 +11327,25 @@ static int test_mkfs_0 (void)
   return 0;
 }
 
+static int test_lvcreate_0_skip (void)
+{
+  const char *str;
+
+  str = getenv ("SKIP_TEST_LVCREATE_0");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_LVCREATE");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
+}
+
 static int test_lvcreate_0 (void)
 {
-  /* InitEmpty for lvcreate (0) */
+  if (test_lvcreate_0_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_lvcreate_0");
+    return 0;
+  }
+
+  /* InitNone|InitEmpty for test_lvcreate_0 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -9450,9 +11570,25 @@ static int test_lvcreate_0 (void)
   return 0;
 }
 
+static int test_vgcreate_0_skip (void)
+{
+  const char *str;
+
+  str = getenv ("SKIP_TEST_VGCREATE_0");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_VGCREATE");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
+}
+
 static int test_vgcreate_0 (void)
 {
-  /* InitEmpty for vgcreate (0) */
+  if (test_vgcreate_0_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_vgcreate_0");
+    return 0;
+  }
+
+  /* InitNone|InitEmpty for test_vgcreate_0 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -9596,9 +11732,25 @@ static int test_vgcreate_0 (void)
   return 0;
 }
 
+static int test_pvcreate_0_skip (void)
+{
+  const char *str;
+
+  str = getenv ("SKIP_TEST_PVCREATE_0");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_PVCREATE");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
+}
+
 static int test_pvcreate_0 (void)
 {
-  /* InitEmpty for pvcreate (0) */
+  if (test_pvcreate_0_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_pvcreate_0");
+    return 0;
+  }
+
+  /* InitNone|InitEmpty for test_pvcreate_0 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -9726,9 +11878,25 @@ static int test_pvcreate_0 (void)
   return 0;
 }
 
+static int test_is_dir_0_skip (void)
+{
+  const char *str;
+
+  str = getenv ("SKIP_TEST_IS_DIR_0");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_IS_DIR");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
+}
+
 static int test_is_dir_0 (void)
 {
-  /* InitBasicFS for is_dir (0): create ext2 on /dev/sda1 */
+  if (test_is_dir_0_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_is_dir_0");
+    return 0;
+  }
+
+  /* InitBasicFS for test_is_dir_0: create ext2 on /dev/sda1 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -9810,9 +11978,25 @@ static int test_is_dir_0 (void)
   return 0;
 }
 
+static int test_is_dir_1_skip (void)
+{
+  const char *str;
+
+  str = getenv ("SKIP_TEST_IS_DIR_1");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_IS_DIR");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
+}
+
 static int test_is_dir_1 (void)
 {
-  /* InitBasicFS for is_dir (1): create ext2 on /dev/sda1 */
+  if (test_is_dir_1_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_is_dir_1");
+    return 0;
+  }
+
+  /* InitBasicFS for test_is_dir_1: create ext2 on /dev/sda1 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -9894,9 +12078,25 @@ static int test_is_dir_1 (void)
   return 0;
 }
 
+static int test_is_file_0_skip (void)
+{
+  const char *str;
+
+  str = getenv ("SKIP_TEST_IS_FILE_0");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_IS_FILE");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
+}
+
 static int test_is_file_0 (void)
 {
-  /* InitBasicFS for is_file (0): create ext2 on /dev/sda1 */
+  if (test_is_file_0_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_is_file_0");
+    return 0;
+  }
+
+  /* InitBasicFS for test_is_file_0: create ext2 on /dev/sda1 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -9978,9 +12178,25 @@ static int test_is_file_0 (void)
   return 0;
 }
 
+static int test_is_file_1_skip (void)
+{
+  const char *str;
+
+  str = getenv ("SKIP_TEST_IS_FILE_1");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_IS_FILE");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
+}
+
 static int test_is_file_1 (void)
 {
-  /* InitBasicFS for is_file (1): create ext2 on /dev/sda1 */
+  if (test_is_file_1_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_is_file_1");
+    return 0;
+  }
+
+  /* InitBasicFS for test_is_file_1: create ext2 on /dev/sda1 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -10062,9 +12278,25 @@ static int test_is_file_1 (void)
   return 0;
 }
 
+static int test_exists_0_skip (void)
+{
+  const char *str;
+
+  str = getenv ("SKIP_TEST_EXISTS_0");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_EXISTS");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
+}
+
 static int test_exists_0 (void)
 {
-  /* InitBasicFS for exists (0): create ext2 on /dev/sda1 */
+  if (test_exists_0_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_exists_0");
+    return 0;
+  }
+
+  /* InitBasicFS for test_exists_0: create ext2 on /dev/sda1 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -10146,9 +12378,25 @@ static int test_exists_0 (void)
   return 0;
 }
 
+static int test_exists_1_skip (void)
+{
+  const char *str;
+
+  str = getenv ("SKIP_TEST_EXISTS_1");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_EXISTS");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
+}
+
 static int test_exists_1 (void)
 {
-  /* InitBasicFS for exists (1): create ext2 on /dev/sda1 */
+  if (test_exists_1_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_exists_1");
+    return 0;
+  }
+
+  /* InitBasicFS for test_exists_1: create ext2 on /dev/sda1 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -10230,9 +12478,25 @@ static int test_exists_1 (void)
   return 0;
 }
 
+static int test_mkdir_p_0_skip (void)
+{
+  const char *str;
+
+  str = getenv ("SKIP_TEST_MKDIR_P_0");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_MKDIR_P");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
+}
+
 static int test_mkdir_p_0 (void)
 {
-  /* InitBasicFS for mkdir_p (0): create ext2 on /dev/sda1 */
+  if (test_mkdir_p_0_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_mkdir_p_0");
+    return 0;
+  }
+
+  /* InitBasicFS for test_mkdir_p_0: create ext2 on /dev/sda1 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -10314,9 +12578,25 @@ static int test_mkdir_p_0 (void)
   return 0;
 }
 
+static int test_mkdir_p_1_skip (void)
+{
+  const char *str;
+
+  str = getenv ("SKIP_TEST_MKDIR_P_1");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_MKDIR_P");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
+}
+
 static int test_mkdir_p_1 (void)
 {
-  /* InitBasicFS for mkdir_p (1): create ext2 on /dev/sda1 */
+  if (test_mkdir_p_1_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_mkdir_p_1");
+    return 0;
+  }
+
+  /* InitBasicFS for test_mkdir_p_1: create ext2 on /dev/sda1 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -10398,9 +12678,25 @@ static int test_mkdir_p_1 (void)
   return 0;
 }
 
+static int test_mkdir_p_2_skip (void)
+{
+  const char *str;
+
+  str = getenv ("SKIP_TEST_MKDIR_P_2");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_MKDIR_P");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
+}
+
 static int test_mkdir_p_2 (void)
 {
-  /* InitBasicFS for mkdir_p (2): create ext2 on /dev/sda1 */
+  if (test_mkdir_p_2_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_mkdir_p_2");
+    return 0;
+  }
+
+  /* InitBasicFS for test_mkdir_p_2: create ext2 on /dev/sda1 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -10482,9 +12778,25 @@ static int test_mkdir_p_2 (void)
   return 0;
 }
 
+static int test_mkdir_0_skip (void)
+{
+  const char *str;
+
+  str = getenv ("SKIP_TEST_MKDIR_0");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_MKDIR");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
+}
+
 static int test_mkdir_0 (void)
 {
-  /* InitBasicFS for mkdir (0): create ext2 on /dev/sda1 */
+  if (test_mkdir_0_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_mkdir_0");
+    return 0;
+  }
+
+  /* InitBasicFS for test_mkdir_0: create ext2 on /dev/sda1 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -10566,9 +12878,25 @@ static int test_mkdir_0 (void)
   return 0;
 }
 
+static int test_mkdir_1_skip (void)
+{
+  const char *str;
+
+  str = getenv ("SKIP_TEST_MKDIR_1");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_MKDIR");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
+}
+
 static int test_mkdir_1 (void)
 {
-  /* InitBasicFS for mkdir (1): create ext2 on /dev/sda1 */
+  if (test_mkdir_1_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_mkdir_1");
+    return 0;
+  }
+
+  /* InitBasicFS for test_mkdir_1: create ext2 on /dev/sda1 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -10638,9 +12966,25 @@ static int test_mkdir_1 (void)
   return 0;
 }
 
+static int test_rm_rf_0_skip (void)
+{
+  const char *str;
+
+  str = getenv ("SKIP_TEST_RM_RF_0");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_RM_RF");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
+}
+
 static int test_rm_rf_0 (void)
 {
-  /* InitBasicFS for rm_rf (0): create ext2 on /dev/sda1 */
+  if (test_rm_rf_0_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_rm_rf_0");
+    return 0;
+  }
+
+  /* InitBasicFS for test_rm_rf_0: create ext2 on /dev/sda1 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -10746,9 +13090,25 @@ static int test_rm_rf_0 (void)
   return 0;
 }
 
+static int test_rmdir_0_skip (void)
+{
+  const char *str;
+
+  str = getenv ("SKIP_TEST_RMDIR_0");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_RMDIR");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
+}
+
 static int test_rmdir_0 (void)
 {
-  /* InitBasicFS for rmdir (0): create ext2 on /dev/sda1 */
+  if (test_rmdir_0_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_rmdir_0");
+    return 0;
+  }
+
+  /* InitBasicFS for test_rmdir_0: create ext2 on /dev/sda1 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -10826,9 +13186,25 @@ static int test_rmdir_0 (void)
   return 0;
 }
 
+static int test_rmdir_1_skip (void)
+{
+  const char *str;
+
+  str = getenv ("SKIP_TEST_RMDIR_1");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_RMDIR");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
+}
+
 static int test_rmdir_1 (void)
 {
-  /* InitBasicFS for rmdir (1): create ext2 on /dev/sda1 */
+  if (test_rmdir_1_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_rmdir_1");
+    return 0;
+  }
+
+  /* InitBasicFS for test_rmdir_1: create ext2 on /dev/sda1 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -10898,9 +13274,25 @@ static int test_rmdir_1 (void)
   return 0;
 }
 
+static int test_rmdir_2_skip (void)
+{
+  const char *str;
+
+  str = getenv ("SKIP_TEST_RMDIR_2");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_RMDIR");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
+}
+
 static int test_rmdir_2 (void)
 {
-  /* InitBasicFS for rmdir (2): create ext2 on /dev/sda1 */
+  if (test_rmdir_2_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_rmdir_2");
+    return 0;
+  }
+
+  /* InitBasicFS for test_rmdir_2: create ext2 on /dev/sda1 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -10978,9 +13370,25 @@ static int test_rmdir_2 (void)
   return 0;
 }
 
+static int test_rm_0_skip (void)
+{
+  const char *str;
+
+  str = getenv ("SKIP_TEST_RM_0");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_RM");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
+}
+
 static int test_rm_0 (void)
 {
-  /* InitBasicFS for rm (0): create ext2 on /dev/sda1 */
+  if (test_rm_0_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_rm_0");
+    return 0;
+  }
+
+  /* InitBasicFS for test_rm_0: create ext2 on /dev/sda1 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -11058,9 +13466,25 @@ static int test_rm_0 (void)
   return 0;
 }
 
+static int test_rm_1_skip (void)
+{
+  const char *str;
+
+  str = getenv ("SKIP_TEST_RM_1");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_RM");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
+}
+
 static int test_rm_1 (void)
 {
-  /* InitBasicFS for rm (1): create ext2 on /dev/sda1 */
+  if (test_rm_1_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_rm_1");
+    return 0;
+  }
+
+  /* InitBasicFS for test_rm_1: create ext2 on /dev/sda1 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -11130,9 +13554,25 @@ static int test_rm_1 (void)
   return 0;
 }
 
+static int test_rm_2_skip (void)
+{
+  const char *str;
+
+  str = getenv ("SKIP_TEST_RM_2");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_RM");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
+}
+
 static int test_rm_2 (void)
 {
-  /* InitBasicFS for rm (2): create ext2 on /dev/sda1 */
+  if (test_rm_2_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_rm_2");
+    return 0;
+  }
+
+  /* InitBasicFS for test_rm_2: create ext2 on /dev/sda1 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -11210,9 +13650,25 @@ static int test_rm_2 (void)
   return 0;
 }
 
+static int test_read_lines_0_skip (void)
+{
+  const char *str;
+
+  str = getenv ("SKIP_TEST_READ_LINES_0");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_READ_LINES");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
+}
+
 static int test_read_lines_0 (void)
 {
-  /* InitBasicFS for read_lines (0): create ext2 on /dev/sda1 */
+  if (test_read_lines_0_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_read_lines_0");
+    return 0;
+  }
+
+  /* InitBasicFS for test_read_lines_0: create ext2 on /dev/sda1 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -11336,9 +13792,25 @@ static int test_read_lines_0 (void)
   return 0;
 }
 
+static int test_read_lines_1_skip (void)
+{
+  const char *str;
+
+  str = getenv ("SKIP_TEST_READ_LINES_1");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_READ_LINES");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
+}
+
 static int test_read_lines_1 (void)
 {
-  /* InitBasicFS for read_lines (1): create ext2 on /dev/sda1 */
+  if (test_read_lines_1_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_read_lines_1");
+    return 0;
+  }
+
+  /* InitBasicFS for test_read_lines_1: create ext2 on /dev/sda1 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -11426,9 +13898,25 @@ static int test_read_lines_1 (void)
   return 0;
 }
 
+static int test_lvs_0_skip (void)
+{
+  const char *str;
+
+  str = getenv ("SKIP_TEST_LVS_0");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_LVS");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
+}
+
 static int test_lvs_0 (void)
 {
-  /* InitBasicFSonLVM for lvs (0): create ext2 on /dev/VG/LV */
+  if (test_lvs_0_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_lvs_0");
+    return 0;
+  }
+
+  /* InitBasicFSonLVM for test_lvs_0: create ext2 on /dev/VG/LV */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -11548,9 +14036,25 @@ static int test_lvs_0 (void)
   return 0;
 }
 
+static int test_lvs_1_skip (void)
+{
+  const char *str;
+
+  str = getenv ("SKIP_TEST_LVS_1");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_LVS");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
+}
+
 static int test_lvs_1 (void)
 {
-  /* InitEmpty for lvs (1) */
+  if (test_lvs_1_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_lvs_1");
+    return 0;
+  }
+
+  /* InitNone|InitEmpty for test_lvs_1 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -11733,9 +14237,25 @@ static int test_lvs_1 (void)
   return 0;
 }
 
+static int test_vgs_0_skip (void)
+{
+  const char *str;
+
+  str = getenv ("SKIP_TEST_VGS_0");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_VGS");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
+}
+
 static int test_vgs_0 (void)
 {
-  /* InitBasicFSonLVM for vgs (0): create ext2 on /dev/VG/LV */
+  if (test_vgs_0_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_vgs_0");
+    return 0;
+  }
+
+  /* InitBasicFSonLVM for test_vgs_0: create ext2 on /dev/VG/LV */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -11855,9 +14375,25 @@ static int test_vgs_0 (void)
   return 0;
 }
 
+static int test_vgs_1_skip (void)
+{
+  const char *str;
+
+  str = getenv ("SKIP_TEST_VGS_1");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_VGS");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
+}
+
 static int test_vgs_1 (void)
 {
-  /* InitEmpty for vgs (1) */
+  if (test_vgs_1_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_vgs_1");
+    return 0;
+  }
+
+  /* InitNone|InitEmpty for test_vgs_1 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -12001,9 +14537,25 @@ static int test_vgs_1 (void)
   return 0;
 }
 
+static int test_pvs_0_skip (void)
+{
+  const char *str;
+
+  str = getenv ("SKIP_TEST_PVS_0");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_PVS");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
+}
+
 static int test_pvs_0 (void)
 {
-  /* InitBasicFSonLVM for pvs (0): create ext2 on /dev/VG/LV */
+  if (test_pvs_0_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_pvs_0");
+    return 0;
+  }
+
+  /* InitBasicFSonLVM for test_pvs_0: create ext2 on /dev/VG/LV */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -12124,9 +14676,25 @@ static int test_pvs_0 (void)
   return 0;
 }
 
+static int test_pvs_1_skip (void)
+{
+  const char *str;
+
+  str = getenv ("SKIP_TEST_PVS_1");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_PVS");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
+}
+
 static int test_pvs_1 (void)
 {
-  /* InitEmpty for pvs (1) */
+  if (test_pvs_1_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_pvs_1");
+    return 0;
+  }
+
+  /* InitNone|InitEmpty for test_pvs_1 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -12254,9 +14822,25 @@ static int test_pvs_1 (void)
   return 0;
 }
 
+static int test_list_partitions_0_skip (void)
+{
+  const char *str;
+
+  str = getenv ("SKIP_TEST_LIST_PARTITIONS_0");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_LIST_PARTITIONS");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
+}
+
 static int test_list_partitions_0 (void)
 {
-  /* InitBasicFS for list_partitions (0): create ext2 on /dev/sda1 */
+  if (test_list_partitions_0_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_list_partitions_0");
+    return 0;
+  }
+
+  /* InitBasicFS for test_list_partitions_0: create ext2 on /dev/sda1 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -12347,9 +14931,25 @@ static int test_list_partitions_0 (void)
   return 0;
 }
 
+static int test_list_partitions_1_skip (void)
+{
+  const char *str;
+
+  str = getenv ("SKIP_TEST_LIST_PARTITIONS_1");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_LIST_PARTITIONS");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
+}
+
 static int test_list_partitions_1 (void)
 {
-  /* InitEmpty for list_partitions (1) */
+  if (test_list_partitions_1_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_list_partitions_1");
+    return 0;
+  }
+
+  /* InitNone|InitEmpty for test_list_partitions_1 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -12450,9 +15050,25 @@ static int test_list_partitions_1 (void)
   return 0;
 }
 
+static int test_list_devices_0_skip (void)
+{
+  const char *str;
+
+  str = getenv ("SKIP_TEST_LIST_DEVICES_0");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_LIST_DEVICES");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
+}
+
 static int test_list_devices_0 (void)
 {
-  /* InitEmpty for list_devices (0) */
+  if (test_list_devices_0_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_list_devices_0");
+    return 0;
+  }
+
+  /* InitNone|InitEmpty for test_list_devices_0 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -12535,9 +15151,25 @@ static int test_list_devices_0 (void)
   return 0;
 }
 
+static int test_ls_0_skip (void)
+{
+  const char *str;
+
+  str = getenv ("SKIP_TEST_LS_0");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_LS");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
+}
+
 static int test_ls_0 (void)
 {
-  /* InitBasicFS for ls (0): create ext2 on /dev/sda1 */
+  if (test_ls_0_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_ls_0");
+    return 0;
+  }
+
+  /* InitBasicFS for test_ls_0: create ext2 on /dev/sda1 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -12688,9 +15320,25 @@ static int test_ls_0 (void)
   return 0;
 }
 
+static int test_cat_0_skip (void)
+{
+  const char *str;
+
+  str = getenv ("SKIP_TEST_CAT_0");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_CAT");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
+}
+
 static int test_cat_0 (void)
 {
-  /* InitBasicFS for cat (0): create ext2 on /dev/sda1 */
+  if (test_cat_0_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_cat_0");
+    return 0;
+  }
+
+  /* InitBasicFS for test_cat_0: create ext2 on /dev/sda1 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -12775,9 +15423,25 @@ static int test_cat_0 (void)
   return 0;
 }
 
+static int test_touch_0_skip (void)
+{
+  const char *str;
+
+  str = getenv ("SKIP_TEST_TOUCH_0");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_TOUCH");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
+}
+
 static int test_touch_0 (void)
 {
-  /* InitBasicFS for touch (0): create ext2 on /dev/sda1 */
+  if (test_touch_0_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_touch_0");
+    return 0;
+  }
+
+  /* InitBasicFS for test_touch_0: create ext2 on /dev/sda1 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -12859,9 +15523,25 @@ static int test_touch_0 (void)
   return 0;
 }
 
+static int test_sync_0_skip (void)
+{
+  const char *str;
+
+  str = getenv ("SKIP_TEST_SYNC_0");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_SYNC");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
+}
+
 static int test_sync_0 (void)
 {
-  /* InitEmpty for sync (0) */
+  if (test_sync_0_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_sync_0");
+    return 0;
+  }
+
+  /* InitNone|InitEmpty for test_sync_0 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -12896,9 +15576,25 @@ static int test_sync_0 (void)
   return 0;
 }
 
+static int test_mount_0_skip (void)
+{
+  const char *str;
+
+  str = getenv ("SKIP_TEST_MOUNT_0");
+  if (str && strcmp (str, "1") == 0) return 1;
+  str = getenv ("SKIP_TEST_MOUNT");
+  if (str && strcmp (str, "1") == 0) return 1;
+  return 0;
+}
+
 static int test_mount_0 (void)
 {
-  /* InitEmpty for mount (0) */
+  if (test_mount_0_skip ()) {
+    printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_mount_0");
+    return 0;
+  }
+
+  /* InitNone|InitEmpty for test_mount_0 */
   {
     char device[] = "/dev/sda";
     device[5] = devchar;
@@ -13006,7 +15702,7 @@ int main (int argc, char *argv[])
   srcdir = getenv ("srcdir");
   if (!srcdir) srcdir = ".";
   chdir (srcdir);
-  guestfs_set_path (g, ".");
+  guestfs_set_path (g, "appliance");
 
   filename = "test1.img";
   fd = open (filename, O_WRONLY|O_CREAT|O_NOCTTY|O_NONBLOCK|O_TRUNC, 0666);
@@ -13123,9 +15819,33 @@ int main (int argc, char *argv[])
     free (devs[i]);
   free (devs);
 
-  nr_tests = 136;
+  nr_tests = 140;
 
   test_num++;
+  printf ("%3d/%3d test_find_0\n", test_num, nr_tests);
+  if (test_find_0 () == -1) {
+    printf ("test_find_0 FAILED\n");
+    failed++;
+  }
+  test_num++;
+  printf ("%3d/%3d test_find_1\n", test_num, nr_tests);
+  if (test_find_1 () == -1) {
+    printf ("test_find_1 FAILED\n");
+    failed++;
+  }
+  test_num++;
+  printf ("%3d/%3d test_find_2\n", test_num, nr_tests);
+  if (test_find_2 () == -1) {
+    printf ("test_find_2 FAILED\n");
+    failed++;
+  }
+  test_num++;
+  printf ("%3d/%3d test_lvresize_0\n", test_num, nr_tests);
+  if (test_lvresize_0 () == -1) {
+    printf ("test_lvresize_0 FAILED\n");
+    failed++;
+  }
+  test_num++;
   printf ("%3d/%3d test_zerofree_0\n", test_num, nr_tests);
   if (test_zerofree_0 () == -1) {
     printf ("test_zerofree_0 FAILED\n");