Generated code for stat/lstat/statvfs changes.
[libguestfs.git] / tests.c
diff --git a/tests.c b/tests.c
index ebb5857..1c6676b 100644 (file)
--- a/tests.c
+++ b/tests.c
@@ -1238,288 +1238,6 @@ static int test_lvs_1 (void)
   return 0;
 }
 
-static int test_pvs_full_0 (void)
-{
-  /* InitBasicFSonLVM for pvs_full (0): create ext2 on /dev/VG/LV */
-  {
-    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 *lines[] = {
-      ",",
-      NULL
-    };
-    int r;
-    suppress_error = 0;
-    r = guestfs_sfdisk (g, "/dev/sda", 0, 0, 0, lines);
-    if (r == -1)
-      return -1;
-  }
-  {
-    int r;
-    suppress_error = 0;
-    r = guestfs_pvcreate (g, "/dev/sda1");
-    if (r == -1)
-      return -1;
-  }
-  {
-    char *physvols[] = {
-      "/dev/sda1",
-      NULL
-    };
-    int r;
-    suppress_error = 0;
-    r = guestfs_vgcreate (g, "VG", physvols);
-    if (r == -1)
-      return -1;
-  }
-  {
-    int r;
-    suppress_error = 0;
-    r = guestfs_lvcreate (g, "LV", "VG", 8);
-    if (r == -1)
-      return -1;
-  }
-  {
-    int r;
-    suppress_error = 0;
-    r = guestfs_mkfs (g, "ext2", "/dev/VG/LV");
-    if (r == -1)
-      return -1;
-  }
-  {
-    int r;
-    suppress_error = 0;
-    r = guestfs_mount (g, "/dev/VG/LV", "/");
-    if (r == -1)
-      return -1;
-  }
-  /* TestOutputLength for pvs_full (0) */
-  {
-    char **r;
-    int i;
-    suppress_error = 0;
-    r = guestfs_pvs (g);
-    if (r == NULL)
-      return -1;
-    int j;
-    for (j = 0; j < 1; ++j)
-      if (r[j] == NULL) {
-        fprintf (stderr, "test_pvs_full_0: short list returned\n");
-        print_strings (r);
-        return -1;
-      }
-    if (r[j] != NULL) {
-      fprintf (stderr, "test_pvs_full_0: long list returned\n");
-      print_strings (r);
-      return -1;
-    }
-    for (i = 0; r[i] != NULL; ++i)
-      free (r[i]);
-    free (r);
-  }
-  return 0;
-}
-
-static int test_vgs_full_0 (void)
-{
-  /* InitBasicFSonLVM for vgs_full (0): create ext2 on /dev/VG/LV */
-  {
-    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 *lines[] = {
-      ",",
-      NULL
-    };
-    int r;
-    suppress_error = 0;
-    r = guestfs_sfdisk (g, "/dev/sda", 0, 0, 0, lines);
-    if (r == -1)
-      return -1;
-  }
-  {
-    int r;
-    suppress_error = 0;
-    r = guestfs_pvcreate (g, "/dev/sda1");
-    if (r == -1)
-      return -1;
-  }
-  {
-    char *physvols[] = {
-      "/dev/sda1",
-      NULL
-    };
-    int r;
-    suppress_error = 0;
-    r = guestfs_vgcreate (g, "VG", physvols);
-    if (r == -1)
-      return -1;
-  }
-  {
-    int r;
-    suppress_error = 0;
-    r = guestfs_lvcreate (g, "LV", "VG", 8);
-    if (r == -1)
-      return -1;
-  }
-  {
-    int r;
-    suppress_error = 0;
-    r = guestfs_mkfs (g, "ext2", "/dev/VG/LV");
-    if (r == -1)
-      return -1;
-  }
-  {
-    int r;
-    suppress_error = 0;
-    r = guestfs_mount (g, "/dev/VG/LV", "/");
-    if (r == -1)
-      return -1;
-  }
-  /* TestOutputLength for vgs_full (0) */
-  {
-    char **r;
-    int i;
-    suppress_error = 0;
-    r = guestfs_pvs (g);
-    if (r == NULL)
-      return -1;
-    int j;
-    for (j = 0; j < 1; ++j)
-      if (r[j] == NULL) {
-        fprintf (stderr, "test_vgs_full_0: short list returned\n");
-        print_strings (r);
-        return -1;
-      }
-    if (r[j] != NULL) {
-      fprintf (stderr, "test_vgs_full_0: long list returned\n");
-      print_strings (r);
-      return -1;
-    }
-    for (i = 0; r[i] != NULL; ++i)
-      free (r[i]);
-    free (r);
-  }
-  return 0;
-}
-
-static int test_lvs_full_0 (void)
-{
-  /* InitBasicFSonLVM for lvs_full (0): create ext2 on /dev/VG/LV */
-  {
-    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 *lines[] = {
-      ",",
-      NULL
-    };
-    int r;
-    suppress_error = 0;
-    r = guestfs_sfdisk (g, "/dev/sda", 0, 0, 0, lines);
-    if (r == -1)
-      return -1;
-  }
-  {
-    int r;
-    suppress_error = 0;
-    r = guestfs_pvcreate (g, "/dev/sda1");
-    if (r == -1)
-      return -1;
-  }
-  {
-    char *physvols[] = {
-      "/dev/sda1",
-      NULL
-    };
-    int r;
-    suppress_error = 0;
-    r = guestfs_vgcreate (g, "VG", physvols);
-    if (r == -1)
-      return -1;
-  }
-  {
-    int r;
-    suppress_error = 0;
-    r = guestfs_lvcreate (g, "LV", "VG", 8);
-    if (r == -1)
-      return -1;
-  }
-  {
-    int r;
-    suppress_error = 0;
-    r = guestfs_mkfs (g, "ext2", "/dev/VG/LV");
-    if (r == -1)
-      return -1;
-  }
-  {
-    int r;
-    suppress_error = 0;
-    r = guestfs_mount (g, "/dev/VG/LV", "/");
-    if (r == -1)
-      return -1;
-  }
-  /* TestOutputLength for lvs_full (0) */
-  {
-    char **r;
-    int i;
-    suppress_error = 0;
-    r = guestfs_pvs (g);
-    if (r == NULL)
-      return -1;
-    int j;
-    for (j = 0; j < 1; ++j)
-      if (r[j] == NULL) {
-        fprintf (stderr, "test_lvs_full_0: short list returned\n");
-        print_strings (r);
-        return -1;
-      }
-    if (r[j] != NULL) {
-      fprintf (stderr, "test_lvs_full_0: long list returned\n");
-      print_strings (r);
-      return -1;
-    }
-    for (i = 0; r[i] != NULL; ++i)
-      free (r[i]);
-    free (r);
-  }
-  return 0;
-}
-
 static int test_read_lines_0 (void)
 {
   /* InitBasicFS for read_lines (0): create ext2 on /dev/sda1 */
@@ -3603,17 +3321,403 @@ static int test_umount_all_0 (void)
   return 0;
 }
 
-int main (int argc, char *argv[])
+static int test_file_0 (void)
 {
-  char c = 0;
-  int failed = 0;
-  const char *srcdir;
-  int fd;
-  char buf[256];
-
-  g = guestfs_create ();
-  if (g == NULL) {
-    printf ("guestfs_create FAILED\n");
+  /* InitBasicFS for file (0): create ext2 on /dev/sda1 */
+  {
+    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 *lines[] = {
+      ",",
+      NULL
+    };
+    int r;
+    suppress_error = 0;
+    r = guestfs_sfdisk (g, "/dev/sda", 0, 0, 0, lines);
+    if (r == -1)
+      return -1;
+  }
+  {
+    int r;
+    suppress_error = 0;
+    r = guestfs_mkfs (g, "ext2", "/dev/sda1");
+    if (r == -1)
+      return -1;
+  }
+  {
+    int r;
+    suppress_error = 0;
+    r = guestfs_mount (g, "/dev/sda1", "/");
+    if (r == -1)
+      return -1;
+  }
+  /* TestOutput for file (0) */
+  {
+    int r;
+    suppress_error = 0;
+    r = guestfs_touch (g, "/new");
+    if (r == -1)
+      return -1;
+  }
+  {
+    char *r;
+    suppress_error = 0;
+    r = guestfs_file (g, "/new");
+    if (r == NULL)
+      return -1;
+    if (strcmp (r, "empty") != 0) {
+      fprintf (stderr, "test_file_0: expected \"empty\" but got \"%s\"\n", r);
+      return -1;
+    }
+    free (r);
+  }
+  return 0;
+}
+
+static int test_file_1 (void)
+{
+  /* InitBasicFS for file (1): create ext2 on /dev/sda1 */
+  {
+    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 *lines[] = {
+      ",",
+      NULL
+    };
+    int r;
+    suppress_error = 0;
+    r = guestfs_sfdisk (g, "/dev/sda", 0, 0, 0, lines);
+    if (r == -1)
+      return -1;
+  }
+  {
+    int r;
+    suppress_error = 0;
+    r = guestfs_mkfs (g, "ext2", "/dev/sda1");
+    if (r == -1)
+      return -1;
+  }
+  {
+    int r;
+    suppress_error = 0;
+    r = guestfs_mount (g, "/dev/sda1", "/");
+    if (r == -1)
+      return -1;
+  }
+  /* TestOutput for file (1) */
+  {
+    int r;
+    suppress_error = 0;
+    r = guestfs_write_file (g, "/new", "some content\n", 0);
+    if (r == -1)
+      return -1;
+  }
+  {
+    char *r;
+    suppress_error = 0;
+    r = guestfs_file (g, "/new");
+    if (r == NULL)
+      return -1;
+    if (strcmp (r, "ASCII text") != 0) {
+      fprintf (stderr, "test_file_1: expected \"ASCII text\" but got \"%s\"\n", r);
+      return -1;
+    }
+    free (r);
+  }
+  return 0;
+}
+
+static int test_file_2 (void)
+{
+  /* InitBasicFS for file (2): create ext2 on /dev/sda1 */
+  {
+    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 *lines[] = {
+      ",",
+      NULL
+    };
+    int r;
+    suppress_error = 0;
+    r = guestfs_sfdisk (g, "/dev/sda", 0, 0, 0, lines);
+    if (r == -1)
+      return -1;
+  }
+  {
+    int r;
+    suppress_error = 0;
+    r = guestfs_mkfs (g, "ext2", "/dev/sda1");
+    if (r == -1)
+      return -1;
+  }
+  {
+    int r;
+    suppress_error = 0;
+    r = guestfs_mount (g, "/dev/sda1", "/");
+    if (r == -1)
+      return -1;
+  }
+  /* TestLastFail for file (2) */
+  {
+    char *r;
+    suppress_error = 1;
+    r = guestfs_file (g, "/nofile");
+    if (r != NULL)
+      return -1;
+    free (r);
+  }
+  return 0;
+}
+
+static int test_stat_0 (void)
+{
+  /* InitBasicFS for stat (0): create ext2 on /dev/sda1 */
+  {
+    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 *lines[] = {
+      ",",
+      NULL
+    };
+    int r;
+    suppress_error = 0;
+    r = guestfs_sfdisk (g, "/dev/sda", 0, 0, 0, lines);
+    if (r == -1)
+      return -1;
+  }
+  {
+    int r;
+    suppress_error = 0;
+    r = guestfs_mkfs (g, "ext2", "/dev/sda1");
+    if (r == -1)
+      return -1;
+  }
+  {
+    int r;
+    suppress_error = 0;
+    r = guestfs_mount (g, "/dev/sda1", "/");
+    if (r == -1)
+      return -1;
+  }
+  /* TestOutputStruct for stat (0) */
+  {
+    int r;
+    suppress_error = 0;
+    r = guestfs_touch (g, "/new");
+    if (r == -1)
+      return -1;
+  }
+  {
+    struct guestfs_stat *r;
+    suppress_error = 0;
+    r = guestfs_stat (g, "/new");
+    if (r == NULL)
+      return -1;
+    if (r->size != 0) {
+      fprintf (stderr, "test_stat_0: size was %d, expected 0\n",
+               (int) r->size);
+      return -1;
+    }
+    free (r);
+  }
+  return 0;
+}
+
+static int test_lstat_0 (void)
+{
+  /* InitBasicFS for lstat (0): create ext2 on /dev/sda1 */
+  {
+    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 *lines[] = {
+      ",",
+      NULL
+    };
+    int r;
+    suppress_error = 0;
+    r = guestfs_sfdisk (g, "/dev/sda", 0, 0, 0, lines);
+    if (r == -1)
+      return -1;
+  }
+  {
+    int r;
+    suppress_error = 0;
+    r = guestfs_mkfs (g, "ext2", "/dev/sda1");
+    if (r == -1)
+      return -1;
+  }
+  {
+    int r;
+    suppress_error = 0;
+    r = guestfs_mount (g, "/dev/sda1", "/");
+    if (r == -1)
+      return -1;
+  }
+  /* TestOutputStruct for lstat (0) */
+  {
+    int r;
+    suppress_error = 0;
+    r = guestfs_touch (g, "/new");
+    if (r == -1)
+      return -1;
+  }
+  {
+    struct guestfs_stat *r;
+    suppress_error = 0;
+    r = guestfs_lstat (g, "/new");
+    if (r == NULL)
+      return -1;
+    if (r->size != 0) {
+      fprintf (stderr, "test_lstat_0: size was %d, expected 0\n",
+               (int) r->size);
+      return -1;
+    }
+    free (r);
+  }
+  return 0;
+}
+
+static int test_statvfs_0 (void)
+{
+  /* InitBasicFS for statvfs (0): create ext2 on /dev/sda1 */
+  {
+    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 *lines[] = {
+      ",",
+      NULL
+    };
+    int r;
+    suppress_error = 0;
+    r = guestfs_sfdisk (g, "/dev/sda", 0, 0, 0, lines);
+    if (r == -1)
+      return -1;
+  }
+  {
+    int r;
+    suppress_error = 0;
+    r = guestfs_mkfs (g, "ext2", "/dev/sda1");
+    if (r == -1)
+      return -1;
+  }
+  {
+    int r;
+    suppress_error = 0;
+    r = guestfs_mount (g, "/dev/sda1", "/");
+    if (r == -1)
+      return -1;
+  }
+  /* TestOutputStruct for statvfs (0) */
+  {
+    struct guestfs_statvfs *r;
+    suppress_error = 0;
+    r = guestfs_statvfs (g, "/");
+    if (r == NULL)
+      return -1;
+    if (r->bfree != 487702) {
+      fprintf (stderr, "test_statvfs_0: bfree was %d, expected 487702\n",
+               (int) r->bfree);
+      return -1;
+    }
+    if (r->blocks != 490020) {
+      fprintf (stderr, "test_statvfs_0: blocks was %d, expected 490020\n",
+               (int) r->blocks);
+      return -1;
+    }
+    if (r->bsize != 1024) {
+      fprintf (stderr, "test_statvfs_0: bsize was %d, expected 1024\n",
+               (int) r->bsize);
+      return -1;
+    }
+    free (r);
+  }
+  return 0;
+}
+
+int main (int argc, char *argv[])
+{
+  char c = 0;
+  int failed = 0;
+  const char *srcdir;
+  int fd;
+  char buf[256];
+  int nr_tests;
+
+  g = guestfs_create ();
+  if (g == NULL) {
+    printf ("guestfs_create FAILED\n");
     exit (1);
   }
 
@@ -3716,236 +3820,252 @@ int main (int argc, char *argv[])
     exit (1);
   }
 
-  printf ("  1/ 46 test_mount_0\n");
+  nr_tests = 49;
+  printf ("  1/%3d test_mount_0\n", nr_tests);
   if (test_mount_0 () == -1) {
     printf ("test_mount_0 FAILED\n");
     failed++;
   }
-  printf ("  2/ 46 test_sync_0\n");
+  printf ("  2/%3d test_sync_0\n", nr_tests);
   if (test_sync_0 () == -1) {
     printf ("test_sync_0 FAILED\n");
     failed++;
   }
-  printf ("  3/ 46 test_touch_0\n");
+  printf ("  3/%3d test_touch_0\n", nr_tests);
   if (test_touch_0 () == -1) {
     printf ("test_touch_0 FAILED\n");
     failed++;
   }
-  printf ("  4/ 46 test_cat_0\n");
+  printf ("  4/%3d test_cat_0\n", nr_tests);
   if (test_cat_0 () == -1) {
     printf ("test_cat_0 FAILED\n");
     failed++;
   }
-  printf ("  5/ 46 test_ls_0\n");
+  printf ("  5/%3d test_ls_0\n", nr_tests);
   if (test_ls_0 () == -1) {
     printf ("test_ls_0 FAILED\n");
     failed++;
   }
-  printf ("  6/ 46 test_list_devices_0\n");
+  printf ("  6/%3d test_list_devices_0\n", nr_tests);
   if (test_list_devices_0 () == -1) {
     printf ("test_list_devices_0 FAILED\n");
     failed++;
   }
-  printf ("  7/ 46 test_list_partitions_0\n");
+  printf ("  7/%3d test_list_partitions_0\n", nr_tests);
   if (test_list_partitions_0 () == -1) {
     printf ("test_list_partitions_0 FAILED\n");
     failed++;
   }
-  printf ("  8/ 46 test_list_partitions_1\n");
+  printf ("  8/%3d test_list_partitions_1\n", nr_tests);
   if (test_list_partitions_1 () == -1) {
     printf ("test_list_partitions_1 FAILED\n");
     failed++;
   }
-  printf ("  9/ 46 test_pvs_0\n");
+  printf ("  9/%3d test_pvs_0\n", nr_tests);
   if (test_pvs_0 () == -1) {
     printf ("test_pvs_0 FAILED\n");
     failed++;
   }
-  printf (" 10/ 46 test_pvs_1\n");
+  printf (" 10/%3d test_pvs_1\n", nr_tests);
   if (test_pvs_1 () == -1) {
     printf ("test_pvs_1 FAILED\n");
     failed++;
   }
-  printf (" 11/ 46 test_vgs_0\n");
+  printf (" 11/%3d test_vgs_0\n", nr_tests);
   if (test_vgs_0 () == -1) {
     printf ("test_vgs_0 FAILED\n");
     failed++;
   }
-  printf (" 12/ 46 test_vgs_1\n");
+  printf (" 12/%3d test_vgs_1\n", nr_tests);
   if (test_vgs_1 () == -1) {
     printf ("test_vgs_1 FAILED\n");
     failed++;
   }
-  printf (" 13/ 46 test_lvs_0\n");
+  printf (" 13/%3d test_lvs_0\n", nr_tests);
   if (test_lvs_0 () == -1) {
     printf ("test_lvs_0 FAILED\n");
     failed++;
   }
-  printf (" 14/ 46 test_lvs_1\n");
+  printf (" 14/%3d test_lvs_1\n", nr_tests);
   if (test_lvs_1 () == -1) {
     printf ("test_lvs_1 FAILED\n");
     failed++;
   }
-  printf (" 15/ 46 test_pvs_full_0\n");
-  if (test_pvs_full_0 () == -1) {
-    printf ("test_pvs_full_0 FAILED\n");
-    failed++;
-  }
-  printf (" 16/ 46 test_vgs_full_0\n");
-  if (test_vgs_full_0 () == -1) {
-    printf ("test_vgs_full_0 FAILED\n");
-    failed++;
-  }
-  printf (" 17/ 46 test_lvs_full_0\n");
-  if (test_lvs_full_0 () == -1) {
-    printf ("test_lvs_full_0 FAILED\n");
-    failed++;
-  }
-  printf (" 18/ 46 test_read_lines_0\n");
+  printf (" 15/%3d test_read_lines_0\n", nr_tests);
   if (test_read_lines_0 () == -1) {
     printf ("test_read_lines_0 FAILED\n");
     failed++;
   }
-  printf (" 19/ 46 test_read_lines_1\n");
+  printf (" 16/%3d test_read_lines_1\n", nr_tests);
   if (test_read_lines_1 () == -1) {
     printf ("test_read_lines_1 FAILED\n");
     failed++;
   }
-  printf (" 20/ 46 test_rm_0\n");
+  printf (" 17/%3d test_rm_0\n", nr_tests);
   if (test_rm_0 () == -1) {
     printf ("test_rm_0 FAILED\n");
     failed++;
   }
-  printf (" 21/ 46 test_rm_1\n");
+  printf (" 18/%3d test_rm_1\n", nr_tests);
   if (test_rm_1 () == -1) {
     printf ("test_rm_1 FAILED\n");
     failed++;
   }
-  printf (" 22/ 46 test_rm_2\n");
+  printf (" 19/%3d test_rm_2\n", nr_tests);
   if (test_rm_2 () == -1) {
     printf ("test_rm_2 FAILED\n");
     failed++;
   }
-  printf (" 23/ 46 test_rmdir_0\n");
+  printf (" 20/%3d test_rmdir_0\n", nr_tests);
   if (test_rmdir_0 () == -1) {
     printf ("test_rmdir_0 FAILED\n");
     failed++;
   }
-  printf (" 24/ 46 test_rmdir_1\n");
+  printf (" 21/%3d test_rmdir_1\n", nr_tests);
   if (test_rmdir_1 () == -1) {
     printf ("test_rmdir_1 FAILED\n");
     failed++;
   }
-  printf (" 25/ 46 test_rmdir_2\n");
+  printf (" 22/%3d test_rmdir_2\n", nr_tests);
   if (test_rmdir_2 () == -1) {
     printf ("test_rmdir_2 FAILED\n");
     failed++;
   }
-  printf (" 26/ 46 test_rm_rf_0\n");
+  printf (" 23/%3d test_rm_rf_0\n", nr_tests);
   if (test_rm_rf_0 () == -1) {
     printf ("test_rm_rf_0 FAILED\n");
     failed++;
   }
-  printf (" 27/ 46 test_mkdir_0\n");
+  printf (" 24/%3d test_mkdir_0\n", nr_tests);
   if (test_mkdir_0 () == -1) {
     printf ("test_mkdir_0 FAILED\n");
     failed++;
   }
-  printf (" 28/ 46 test_mkdir_1\n");
+  printf (" 25/%3d test_mkdir_1\n", nr_tests);
   if (test_mkdir_1 () == -1) {
     printf ("test_mkdir_1 FAILED\n");
     failed++;
   }
-  printf (" 29/ 46 test_mkdir_p_0\n");
+  printf (" 26/%3d test_mkdir_p_0\n", nr_tests);
   if (test_mkdir_p_0 () == -1) {
     printf ("test_mkdir_p_0 FAILED\n");
     failed++;
   }
-  printf (" 30/ 46 test_mkdir_p_1\n");
+  printf (" 27/%3d test_mkdir_p_1\n", nr_tests);
   if (test_mkdir_p_1 () == -1) {
     printf ("test_mkdir_p_1 FAILED\n");
     failed++;
   }
-  printf (" 31/ 46 test_mkdir_p_2\n");
+  printf (" 28/%3d test_mkdir_p_2\n", nr_tests);
   if (test_mkdir_p_2 () == -1) {
     printf ("test_mkdir_p_2 FAILED\n");
     failed++;
   }
-  printf (" 32/ 46 test_exists_0\n");
+  printf (" 29/%3d test_exists_0\n", nr_tests);
   if (test_exists_0 () == -1) {
     printf ("test_exists_0 FAILED\n");
     failed++;
   }
-  printf (" 33/ 46 test_exists_1\n");
+  printf (" 30/%3d test_exists_1\n", nr_tests);
   if (test_exists_1 () == -1) {
     printf ("test_exists_1 FAILED\n");
     failed++;
   }
-  printf (" 34/ 46 test_is_file_0\n");
+  printf (" 31/%3d test_is_file_0\n", nr_tests);
   if (test_is_file_0 () == -1) {
     printf ("test_is_file_0 FAILED\n");
     failed++;
   }
-  printf (" 35/ 46 test_is_file_1\n");
+  printf (" 32/%3d test_is_file_1\n", nr_tests);
   if (test_is_file_1 () == -1) {
     printf ("test_is_file_1 FAILED\n");
     failed++;
   }
-  printf (" 36/ 46 test_is_dir_0\n");
+  printf (" 33/%3d test_is_dir_0\n", nr_tests);
   if (test_is_dir_0 () == -1) {
     printf ("test_is_dir_0 FAILED\n");
     failed++;
   }
-  printf (" 37/ 46 test_is_dir_1\n");
+  printf (" 34/%3d test_is_dir_1\n", nr_tests);
   if (test_is_dir_1 () == -1) {
     printf ("test_is_dir_1 FAILED\n");
     failed++;
   }
-  printf (" 38/ 46 test_pvcreate_0\n");
+  printf (" 35/%3d test_pvcreate_0\n", nr_tests);
   if (test_pvcreate_0 () == -1) {
     printf ("test_pvcreate_0 FAILED\n");
     failed++;
   }
-  printf (" 39/ 46 test_vgcreate_0\n");
+  printf (" 36/%3d test_vgcreate_0\n", nr_tests);
   if (test_vgcreate_0 () == -1) {
     printf ("test_vgcreate_0 FAILED\n");
     failed++;
   }
-  printf (" 40/ 46 test_lvcreate_0\n");
+  printf (" 37/%3d test_lvcreate_0\n", nr_tests);
   if (test_lvcreate_0 () == -1) {
     printf ("test_lvcreate_0 FAILED\n");
     failed++;
   }
-  printf (" 41/ 46 test_mkfs_0\n");
+  printf (" 38/%3d test_mkfs_0\n", nr_tests);
   if (test_mkfs_0 () == -1) {
     printf ("test_mkfs_0 FAILED\n");
     failed++;
   }
-  printf (" 42/ 46 test_write_file_0\n");
+  printf (" 39/%3d test_write_file_0\n", nr_tests);
   if (test_write_file_0 () == -1) {
     printf ("test_write_file_0 FAILED\n");
     failed++;
   }
-  printf (" 43/ 46 test_umount_0\n");
+  printf (" 40/%3d test_umount_0\n", nr_tests);
   if (test_umount_0 () == -1) {
     printf ("test_umount_0 FAILED\n");
     failed++;
   }
-  printf (" 44/ 46 test_umount_1\n");
+  printf (" 41/%3d test_umount_1\n", nr_tests);
   if (test_umount_1 () == -1) {
     printf ("test_umount_1 FAILED\n");
     failed++;
   }
-  printf (" 45/ 46 test_mounts_0\n");
+  printf (" 42/%3d test_mounts_0\n", nr_tests);
   if (test_mounts_0 () == -1) {
     printf ("test_mounts_0 FAILED\n");
     failed++;
   }
-  printf (" 46/ 46 test_umount_all_0\n");
+  printf (" 43/%3d test_umount_all_0\n", nr_tests);
   if (test_umount_all_0 () == -1) {
     printf ("test_umount_all_0 FAILED\n");
     failed++;
   }
+  printf (" 44/%3d test_file_0\n", nr_tests);
+  if (test_file_0 () == -1) {
+    printf ("test_file_0 FAILED\n");
+    failed++;
+  }
+  printf (" 45/%3d test_file_1\n", nr_tests);
+  if (test_file_1 () == -1) {
+    printf ("test_file_1 FAILED\n");
+    failed++;
+  }
+  printf (" 46/%3d test_file_2\n", nr_tests);
+  if (test_file_2 () == -1) {
+    printf ("test_file_2 FAILED\n");
+    failed++;
+  }
+  printf (" 47/%3d test_stat_0\n", nr_tests);
+  if (test_stat_0 () == -1) {
+    printf ("test_stat_0 FAILED\n");
+    failed++;
+  }
+  printf (" 48/%3d test_lstat_0\n", nr_tests);
+  if (test_lstat_0 () == -1) {
+    printf ("test_lstat_0 FAILED\n");
+    failed++;
+  }
+  printf (" 49/%3d test_statvfs_0\n", nr_tests);
+  if (test_statvfs_0 () == -1) {
+    printf ("test_statvfs_0 FAILED\n");
+    failed++;
+  }
 
   guestfs_close (g);
   snprintf (buf, sizeof buf, "%s/test1.img", srcdir);
@@ -3956,7 +4076,7 @@ int main (int argc, char *argv[])
   unlink (buf);
 
   if (failed > 0) {
-    printf ("***** %d / 46 tests FAILED *****\n", failed);
+    printf ("***** %d / %d tests FAILED *****\n", failed, nr_tests);
     exit (1);
   }