[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