[Pkg-libvirt-commits] [SCM] Libguestfs Debian packaging branch, experimental, updated. debian/1%1.21.40-1

Richard W.M. Jones rjones at redhat.com
Sat Jun 1 11:04:28 UTC 2013


The following commit has been merged in the experimental branch:
commit 9d5236d73cd0ec0c70172fa301c4722bb458db5d
Author: Richard W.M. Jones <rjones at redhat.com>
Date:   Wed May 1 09:09:55 2013 +0100

    tests/c-api: Factor out common init_* into separate functions.

diff --git a/generator/tests_c_api.ml b/generator/tests_c_api.ml
index 071ccc5..faf4cd7 100644
--- a/generator/tests_c_api.ml
+++ b/generator/tests_c_api.ml
@@ -194,67 +194,30 @@ static int
 
 and generate_one_test_body name i test_name init test =
   (match init with
-   | InitNone (* XXX at some point, InitNone and InitEmpty became
-               * folded together as the same thing.  Really we should
-               * make InitNone do nothing at all, but the tests may
-               * need to be checked to make sure this is OK.
-               *)
+   | InitNone ->
+     pr "  if (init_none () == -1)\n";
+     pr "    return -1;\n"
    | InitEmpty ->
-       pr "  /* InitNone|InitEmpty for %s */\n" test_name;
-       List.iter (generate_test_command_call test_name)
-         [["blockdev_setrw"; "/dev/sda"];
-          ["umount_all"];
-          ["lvm_remove_all"]]
+     pr "  if (init_empty () == -1)\n";
+     pr "    return -1;\n"
    | InitPartition ->
-       pr "  /* InitPartition for %s: create /dev/sda1 */\n" test_name;
-       List.iter (generate_test_command_call test_name)
-         [["blockdev_setrw"; "/dev/sda"];
-          ["umount_all"];
-          ["lvm_remove_all"];
-          ["part_disk"; "/dev/sda"; "mbr"]]
+     pr "  if (init_partition () == -1)\n";
+     pr "    return -1;\n"
    | InitGPT ->
-       pr "  /* InitGPT for %s: create /dev/sda1 */\n" test_name;
-       List.iter (generate_test_command_call test_name)
-         [["blockdev_setrw"; "/dev/sda"];
-          ["umount_all"];
-          ["lvm_remove_all"];
-          ["part_disk"; "/dev/sda"; "gpt"]]
+     pr "  if (init_gpt () == -1)\n";
+     pr "    return -1;\n"
    | InitBasicFS ->
-       pr "  /* InitBasicFS for %s: create ext2 on /dev/sda1 */\n" test_name;
-       List.iter (generate_test_command_call test_name)
-         [["blockdev_setrw"; "/dev/sda"];
-          ["umount_all"];
-          ["lvm_remove_all"];
-          ["part_disk"; "/dev/sda"; "mbr"];
-          ["mkfs"; "ext2"; "/dev/sda1"; ""; "NOARG"; ""; ""];
-          ["mount"; "/dev/sda1"; "/"]]
+     pr "  if (init_basic_fs () == -1)\n";
+     pr "    return -1;\n"
    | InitBasicFSonLVM ->
-       pr "  /* InitBasicFSonLVM for %s: create ext2 on /dev/VG/LV */\n"
-         test_name;
-       List.iter (generate_test_command_call test_name)
-         [["blockdev_setrw"; "/dev/sda"];
-          ["umount_all"];
-          ["lvm_remove_all"];
-          ["part_disk"; "/dev/sda"; "mbr"];
-          ["pvcreate"; "/dev/sda1"];
-          ["vgcreate"; "VG"; "/dev/sda1"];
-          ["lvcreate"; "LV"; "VG"; "8"];
-          ["mkfs"; "ext2"; "/dev/VG/LV"; ""; "NOARG"; ""; ""];
-          ["mount"; "/dev/VG/LV"; "/"]]
+     pr "  if (init_basic_fs_on_lvm () == -1)\n";
+     pr "    return -1;\n"
    | InitISOFS ->
-       pr "  /* InitISOFS for %s */\n" test_name;
-       List.iter (generate_test_command_call test_name)
-         [["blockdev_setrw"; "/dev/sda"];
-          ["umount_all"];
-          ["lvm_remove_all"];
-          ["mount_ro"; "/dev/sdd"; "/"]]
+     pr "  if (init_iso_fs () == -1)\n";
+     pr "    return -1;\n"
    | InitScratchFS ->
-       pr "  /* InitScratchFS for %s */\n" test_name;
-       List.iter (generate_test_command_call test_name)
-         [["blockdev_setrw"; "/dev/sda"];
-          ["umount_all"];
-          ["lvm_remove_all"];
-          ["mount"; "/dev/sdb1"; "/"]]
+     pr "  if (init_scratch_fs () == -1)\n";
+     pr "    return -1;\n"
   );
 
   pr "\n";
diff --git a/tests/c-api/tests-main.c b/tests/c-api/tests-main.c
index 9d5663f..ec27b0f 100644
--- a/tests/c-api/tests-main.c
+++ b/tests/c-api/tests-main.c
@@ -35,6 +35,121 @@
 
 guestfs_h *g;
 
+int
+init_none (void)
+{
+  /* XXX At some point in the distant past, InitNone and InitEmpty
+   * became folded together as the same thing.  Really we should make
+   * InitNone do nothing at all, but the tests may need to be checked
+   * to make sure this is OK.
+   */
+  return init_empty ();
+}
+
+int
+init_empty (void)
+{
+  if (guestfs_blockdev_setrw (g, "/dev/sda") == -1)
+    return -1;
+
+  if (guestfs_umount_all (g) == -1)
+    return -1;
+
+  if (guestfs_lvm_remove_all (g) == -1)
+    return -1;
+
+  return 0;
+}
+
+int
+init_partition (void)
+{
+  if (init_empty () == -1)
+    return -1;
+
+  if (guestfs_part_disk (g, "/dev/sda", "mbr") == -1)
+    return -1;
+
+  return 0;
+}
+
+int
+init_gpt (void)
+{
+  if (init_empty () == -1)
+    return -1;
+
+  if (guestfs_part_disk (g, "/dev/sda", "gpt") == -1)
+    return -1;
+
+  return 0;
+}
+
+int
+init_basic_fs (void)
+{
+  if (init_partition () == -1)
+    return -1;
+
+  if (guestfs_mkfs (g, "ext2", "/dev/sda1") == -1)
+    return -1;
+
+  if (guestfs_mount (g, "/dev/sda1", "/") == -1)
+    return -1;
+
+  return 0;
+}
+
+int
+init_basic_fs_on_lvm (void)
+{
+  const char *pvs[] = { "/dev/sda1", NULL };
+
+  if (init_partition () == -1)
+    return -1;
+
+  if (guestfs_pvcreate (g, "/dev/sda1") == -1)
+    return -1;
+
+  if (guestfs_vgcreate (g, "VG", (char **) pvs) == -1)
+    return -1;
+
+  if (guestfs_lvcreate (g, "LV", "VG", 8) == -1)
+    return -1;
+
+  if (guestfs_mkfs (g, "ext2", "/dev/VG/LV") == -1)
+    return -1;
+
+  if (guestfs_mount (g, "/dev/VG/LV", "/") == -1)
+    return -1;
+
+  return 0;
+}
+
+int
+init_iso_fs (void)
+{
+  if (init_empty () == -1)
+    return -1;
+
+  if (guestfs_mount_ro (g, "/dev/sdd", "/") == -1)
+    return -1;
+
+  return 0;
+}
+
+int
+init_scratch_fs (void)
+{
+  if (init_empty () == -1)
+    return -1;
+
+  if (guestfs_mount (g, "/dev/sdb1", "/") == -1)
+    return -1;
+
+  return 0;
+}
+
 static void
 print_strings (char *const *argv)
 {
diff --git a/tests/c-api/tests.h b/tests/c-api/tests.h
index c3288a5..aa3b1d6 100644
--- a/tests/c-api/tests.h
+++ b/tests/c-api/tests.h
@@ -22,6 +22,14 @@
 extern guestfs_h *g;
 extern size_t nr_tests;
 
+extern int init_none (void);
+extern int init_empty (void);
+extern int init_partition (void);
+extern int init_gpt (void);
+extern int init_basic_fs (void);
+extern int init_basic_fs_on_lvm (void);
+extern int init_iso_fs (void);
+extern int init_scratch_fs (void);
 extern size_t perform_tests (void);
 extern void no_test_warnings (void);
 extern int is_string_list (char **ret, size_t n, ...);

-- 
Libguestfs Debian packaging



More information about the Pkg-libvirt-commits mailing list