Move the appliance and build scripts into new appliance/ subdirectory.
[libguestfs.git] / tests.c
diff --git a/tests.c b/tests.c
index 11a1568..11bd2a5 100644 (file)
--- a/tests.c
+++ b/tests.c
@@ -116,10 +116,648 @@ static void no_test_warnings (void)
   fprintf (stderr, "warning: \"guestfs_debug\" has no tests\n");
   fprintf (stderr, "warning: \"guestfs_get_e2label\" has no tests\n");
   fprintf (stderr, "warning: \"guestfs_get_e2uuid\" has no tests\n");
+  fprintf (stderr, "warning: \"guestfs_pvresize\" has no tests\n");
+  fprintf (stderr, "warning: \"guestfs_sfdisk_N\" has no tests\n");
+  fprintf (stderr, "warning: \"guestfs_sfdisk_l\" has no tests\n");
+  fprintf (stderr, "warning: \"guestfs_sfdisk_kernel_geometry\" has no tests\n");
+  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";
   {
@@ -209,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;
@@ -296,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;
@@ -387,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;
@@ -507,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;
@@ -596,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;
@@ -691,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;
@@ -786,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;
@@ -859,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;
@@ -896,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;
@@ -934,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;
@@ -971,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;
@@ -1067,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;
@@ -1161,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;
@@ -1273,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;
@@ -1369,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;
@@ -1463,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;
@@ -1567,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;
@@ -1653,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;
@@ -1750,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;
@@ -1837,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;
@@ -1933,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;
@@ -2022,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;
@@ -2111,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;
@@ -2185,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;
@@ -2259,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;
@@ -2348,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;
@@ -2378,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);
@@ -2386,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,
@@ -2425,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;
@@ -2452,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;
@@ -2482,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);
@@ -2490,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,
@@ -2529,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;
@@ -2556,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;
@@ -2578,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;
@@ -2594,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,
@@ -2633,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;
@@ -2660,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;
@@ -2690,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);
@@ -2698,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,
@@ -2755,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;
@@ -2785,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);
@@ -2793,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,
@@ -2850,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;
@@ -2880,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);
@@ -2888,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,
@@ -2957,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;
@@ -2987,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);
@@ -2995,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,
@@ -3052,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;
@@ -3082,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);
@@ -3090,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,
@@ -3159,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;
@@ -3249,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;
@@ -3354,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;
@@ -3440,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;
@@ -3526,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;
@@ -3614,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;
@@ -3688,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;
@@ -3776,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;
@@ -3864,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;
@@ -3952,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;
@@ -4040,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;
@@ -4128,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;
@@ -4216,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;
@@ -4319,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;
@@ -4406,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;
@@ -4445,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;
@@ -4484,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;
@@ -4527,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;
@@ -4570,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;
@@ -4613,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;
@@ -4656,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;
@@ -4708,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;
@@ -4760,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;
@@ -4812,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;
@@ -4900,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;
@@ -4986,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;
@@ -5072,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;
@@ -5191,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;
@@ -5315,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;
@@ -5451,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;
@@ -5587,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;
@@ -5735,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;
@@ -5895,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;
@@ -6007,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;
@@ -6131,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;
@@ -6267,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;
@@ -6403,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;
@@ -6539,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;
@@ -6648,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;
@@ -6757,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;
@@ -6866,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;
@@ -6975,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;
@@ -7084,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;
@@ -7193,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;
@@ -7302,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;
@@ -7411,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;
@@ -7520,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;
@@ -7629,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;
@@ -7738,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;
@@ -7840,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;
@@ -7931,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;
@@ -8018,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;
@@ -8091,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;
@@ -8178,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;
@@ -8333,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;
@@ -8426,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;
@@ -8519,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;
@@ -8607,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;
@@ -8694,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;
@@ -8781,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;
@@ -8868,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;
@@ -8955,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;
@@ -9042,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;
@@ -9129,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;
@@ -9216,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;
@@ -9443,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;
@@ -9589,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;
@@ -9719,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;
@@ -9803,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;
@@ -9887,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;
@@ -9971,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;
@@ -10055,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;
@@ -10139,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;
@@ -10223,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;
@@ -10307,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;
@@ -10391,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;
@@ -10475,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;
@@ -10559,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;
@@ -10631,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;
@@ -10739,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;
@@ -10819,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;
@@ -10891,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;
@@ -10971,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;
@@ -11051,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;
@@ -11123,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;
@@ -11203,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;
@@ -11329,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;
@@ -11419,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;
@@ -11541,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;
@@ -11726,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;
@@ -11848,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;
@@ -11994,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;
@@ -12117,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;
@@ -12247,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;
@@ -12340,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;
@@ -12443,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;
@@ -12528,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;
@@ -12681,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;
@@ -12768,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;
@@ -12852,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;
@@ -12889,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;
@@ -12999,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);
@@ -13116,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");