X-Git-Url: http://git.annexia.org/?p=libguestfs.git;a=blobdiff_plain;f=tests.c;h=a8564e1ed9acddef5b8c8fa26a747fee18c71906;hp=9744575f9e4bcaddb4d9cc66f736592135cec813;hb=fa7c8bb79b45aecdf65ed93635a42f3fdf301134;hpb=24ccbb29ac475187f51a27dcd318db2b4824a0c1 diff --git a/tests.c b/tests.c index 9744575..a8564e1 100644 --- a/tests.c +++ b/tests.c @@ -31,6 +31,11 @@ static guestfs_h *g; static int suppress_error = 0; +/* This will be 's' or 'h' depending on whether the guest kernel + * names IDE devices /dev/sd* or /dev/hd*. + */ +static char devchar = 's'; + static void print_error (guestfs_h *g, void *data, const char *msg) { if (!suppress_error) @@ -63,6 +68,8 @@ static void no_test_warnings (void) fprintf (stderr, "warning: \"guestfs_add_drive\" has no tests\n"); fprintf (stderr, "warning: \"guestfs_add_cdrom\" has no tests\n"); fprintf (stderr, "warning: \"guestfs_config\" has no tests\n"); + fprintf (stderr, "warning: \"guestfs_set_qemu\" has no tests\n"); + fprintf (stderr, "warning: \"guestfs_get_qemu\" has no tests\n"); fprintf (stderr, "warning: \"guestfs_set_path\" has no tests\n"); fprintf (stderr, "warning: \"guestfs_get_path\" has no tests\n"); fprintf (stderr, "warning: \"guestfs_set_autosync\" has no tests\n"); @@ -101,13 +108,27 @@ static void no_test_warnings (void) fprintf (stderr, "warning: \"guestfs_command_lines\" has no tests\n"); fprintf (stderr, "warning: \"guestfs_tune2fs_l\" has no tests\n"); fprintf (stderr, "warning: \"guestfs_blockdev_setbsz\" has no tests\n"); - fprintf (stderr, "warning: \"guestfs_upload\" has no tests\n"); - fprintf (stderr, "warning: \"guestfs_download\" has no tests\n"); + fprintf (stderr, "warning: \"guestfs_tar_out\" has no tests\n"); + fprintf (stderr, "warning: \"guestfs_tgz_out\" has no tests\n"); + fprintf (stderr, "warning: \"guestfs_mount_options\" has no tests\n"); + fprintf (stderr, "warning: \"guestfs_mount_vfs\" has no tests\n"); + 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"); } -static int test_checksum_0 (void) +static int test_equal_0 (void) { - /* InitBasicFS for checksum (0): create ext2 on /dev/sda1 */ + /* InitBasicFS for equal (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; @@ -123,56 +144,86 @@ static int test_checksum_0 (void) 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, "/dev/sda", 0, 0, 0, lines); + 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, "ext2", "/dev/sda1"); + 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, "/dev/sda1", "/"); + r = guestfs_mount (g, device, mountpoint); if (r == -1) return -1; } - /* TestOutput for checksum (0) */ + /* TestOutputTrue for equal (0) */ { + char path[] = "/file1"; + char content[] = "contents of a file"; int r; suppress_error = 0; - r = guestfs_write_file (g, "/new", "test\n", 0); + r = guestfs_write_file (g, path, content, 0); if (r == -1) return -1; } { - char *r; + char src[] = "/file1"; + char dest[] = "/file2"; + int r; suppress_error = 0; - r = guestfs_checksum (g, "crc", "/new"); - if (r == NULL) + r = guestfs_cp (g, src, dest); + if (r == -1) + return -1; + } + { + char file1[] = "/file1"; + char file2[] = "/file2"; + int r; + suppress_error = 0; + r = guestfs_equal (g, file1, file2); + if (r == -1) return -1; - if (strcmp (r, "935282863") != 0) { - fprintf (stderr, "test_checksum_0: expected \"935282863\" but got \"%s\"\n", r); + if (!r) { + fprintf (stderr, "test_equal_0: expected true, got false\n"); return -1; } - free (r); } return 0; } -static int test_checksum_1 (void) +static int test_equal_1 (void) { - /* InitBasicFS for checksum (1): create ext2 on /dev/sda1 */ + /* InitBasicFS for equal (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; @@ -188,45 +239,271 @@ static int test_checksum_1 (void) 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, "/dev/sda", 0, 0, 0, lines); + 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, "ext2", "/dev/sda1"); + 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, "/dev/sda1", "/"); + r = guestfs_mount (g, device, mountpoint); if (r == -1) return -1; } - /* TestLastFail for checksum (1) */ + /* TestOutputFalse for equal (1) */ { - char *r; + char path[] = "/file1"; + char content[] = "contents of a file"; + int r; + suppress_error = 0; + r = guestfs_write_file (g, path, content, 0); + if (r == -1) + return -1; + } + { + char path[] = "/file2"; + char content[] = "contents of another file"; + int r; + suppress_error = 0; + r = guestfs_write_file (g, path, content, 0); + if (r == -1) + return -1; + } + { + char file1[] = "/file1"; + char file2[] = "/file2"; + int r; + suppress_error = 0; + r = guestfs_equal (g, file1, file2); + if (r == -1) + return -1; + if (r) { + fprintf (stderr, "test_equal_1: expected false, got true\n"); + return -1; + } + } + return 0; +} + +static int test_equal_2 (void) +{ + /* InitBasicFS for equal (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; + } + /* TestLastFail for equal (2) */ + { + char file1[] = "/file1"; + char file2[] = "/file2"; + int r; suppress_error = 1; - r = guestfs_checksum (g, "crc", "/new"); - if (r != NULL) + r = guestfs_equal (g, file1, file2); + if (r != -1) + return -1; + } + return 0; +} + +static int test_ping_daemon_0 (void) +{ + /* InitEmpty for ping_daemon (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; + } + /* TestRun for ping_daemon (0) */ + { + int r; + suppress_error = 0; + r = guestfs_ping_daemon (g); + if (r == -1) + return -1; + } + return 0; +} + +static int test_dmesg_0 (void) +{ + /* InitEmpty for dmesg (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; + } + /* TestRun for dmesg (0) */ + { + char *r; + suppress_error = 0; + r = guestfs_dmesg (g); + if (r == NULL) return -1; free (r); } return 0; } -static int test_checksum_2 (void) +static int test_drop_caches_0 (void) { - /* InitBasicFS for checksum (2): create ext2 on /dev/sda1 */ + /* InitEmpty for drop_caches (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; + } + /* TestRun for drop_caches (0) */ + { + int r; + suppress_error = 0; + r = guestfs_drop_caches (g, 3); + if (r == -1) + return -1; + } + return 0; +} + +static int test_mv_0 (void) +{ + /* InitBasicFS for mv (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; @@ -242,46 +519,68 @@ static int test_checksum_2 (void) 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, "/dev/sda", 0, 0, 0, lines); + 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, "ext2", "/dev/sda1"); + 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, "/dev/sda1", "/"); + r = guestfs_mount (g, device, mountpoint); + if (r == -1) + return -1; + } + /* TestOutput for mv (0) */ + char expected[] = "file content"; + { + char path[] = "/old"; + char content[] = "file content"; + int r; + suppress_error = 0; + r = guestfs_write_file (g, path, content, 0); if (r == -1) return -1; } - /* TestOutput for checksum (2) */ { + char src[] = "/old"; + char dest[] = "/new"; int r; suppress_error = 0; - r = guestfs_write_file (g, "/new", "test\n", 0); + r = guestfs_mv (g, src, dest); if (r == -1) return -1; } { + char path[] = "/new"; char *r; suppress_error = 0; - r = guestfs_checksum (g, "md5", "/new"); + r = guestfs_cat (g, path); if (r == NULL) return -1; - if (strcmp (r, "d8e8fca2dc0f896fd7cb4cb0031ba249") != 0) { - fprintf (stderr, "test_checksum_2: expected \"d8e8fca2dc0f896fd7cb4cb0031ba249\" but got \"%s\"\n", r); + if (strcmp (r, expected) != 0) { + fprintf (stderr, "test_mv_0: expected \"%s\" but got \"%s\"\n", expected, r); return -1; } free (r); @@ -289,9 +588,2903 @@ static int test_checksum_2 (void) return 0; } -static int test_checksum_3 (void) +static int test_mv_1 (void) { - /* InitBasicFS for checksum (3): create ext2 on /dev/sda1 */ + /* InitBasicFS for mv (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; + } + /* TestOutputFalse for mv (1) */ + { + char path[] = "/old"; + char content[] = "file content"; + int r; + suppress_error = 0; + r = guestfs_write_file (g, path, content, 0); + if (r == -1) + return -1; + } + { + char src[] = "/old"; + char dest[] = "/new"; + int r; + suppress_error = 0; + r = guestfs_mv (g, src, dest); + if (r == -1) + return -1; + } + { + char path[] = "/old"; + int r; + suppress_error = 0; + r = guestfs_is_file (g, path); + if (r == -1) + return -1; + if (r) { + fprintf (stderr, "test_mv_1: expected false, got true\n"); + return -1; + } + } + return 0; +} + +static int test_cp_a_0 (void) +{ + /* InitBasicFS for cp_a (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; + } + /* TestOutput for cp_a (0) */ + char expected[] = "file content"; + { + char path[] = "/olddir"; + int r; + suppress_error = 0; + r = guestfs_mkdir (g, path); + if (r == -1) + return -1; + } + { + char path[] = "/newdir"; + int r; + suppress_error = 0; + r = guestfs_mkdir (g, path); + if (r == -1) + return -1; + } + { + char path[] = "/olddir/file"; + char content[] = "file content"; + int r; + suppress_error = 0; + r = guestfs_write_file (g, path, content, 0); + if (r == -1) + return -1; + } + { + char src[] = "/olddir"; + char dest[] = "/newdir"; + int r; + suppress_error = 0; + r = guestfs_cp_a (g, src, dest); + if (r == -1) + return -1; + } + { + char path[] = "/newdir/olddir/file"; + char *r; + suppress_error = 0; + r = guestfs_cat (g, path); + if (r == NULL) + return -1; + if (strcmp (r, expected) != 0) { + fprintf (stderr, "test_cp_a_0: expected \"%s\" but got \"%s\"\n", expected, r); + return -1; + } + free (r); + } + return 0; +} + +static int test_cp_0 (void) +{ + /* InitBasicFS for cp (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; + } + /* TestOutput for cp (0) */ + char expected[] = "file content"; + { + char path[] = "/old"; + char content[] = "file content"; + int r; + suppress_error = 0; + r = guestfs_write_file (g, path, content, 0); + if (r == -1) + return -1; + } + { + char src[] = "/old"; + char dest[] = "/new"; + int r; + suppress_error = 0; + r = guestfs_cp (g, src, dest); + 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_cp_0: expected \"%s\" but got \"%s\"\n", expected, r); + return -1; + } + free (r); + } + return 0; +} + +static int test_cp_1 (void) +{ + /* InitBasicFS for cp (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; + } + /* TestOutputTrue for cp (1) */ + { + char path[] = "/old"; + char content[] = "file content"; + int r; + suppress_error = 0; + r = guestfs_write_file (g, path, content, 0); + if (r == -1) + return -1; + } + { + char src[] = "/old"; + char dest[] = "/new"; + int r; + suppress_error = 0; + r = guestfs_cp (g, src, dest); + if (r == -1) + return -1; + } + { + char path[] = "/old"; + int r; + suppress_error = 0; + r = guestfs_is_file (g, path); + if (r == -1) + return -1; + if (!r) { + fprintf (stderr, "test_cp_1: expected true, got false\n"); + return -1; + } + } + return 0; +} + +static int test_cp_2 (void) +{ + /* InitBasicFS for cp (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; + } + /* TestOutput for cp (2) */ + char expected[] = "file content"; + { + char path[] = "/old"; + char content[] = "file content"; + int r; + suppress_error = 0; + r = guestfs_write_file (g, path, content, 0); + if (r == -1) + return -1; + } + { + char path[] = "/dir"; + int r; + suppress_error = 0; + r = guestfs_mkdir (g, path); + if (r == -1) + return -1; + } + { + char src[] = "/old"; + char dest[] = "/dir/new"; + int r; + suppress_error = 0; + r = guestfs_cp (g, src, dest); + if (r == -1) + return -1; + } + { + char path[] = "/dir/new"; + char *r; + suppress_error = 0; + r = guestfs_cat (g, path); + if (r == NULL) + return -1; + if (strcmp (r, expected) != 0) { + fprintf (stderr, "test_cp_2: expected \"%s\" but got \"%s\"\n", expected, r); + return -1; + } + free (r); + } + return 0; +} + +static int test_grub_install_0 (void) +{ + /* InitBasicFS for grub_install (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; + } + /* TestOutputTrue for grub_install (0) */ + { + char root[] = "/"; + char device[] = "/dev/sda1"; + device[5] = devchar; + int r; + suppress_error = 0; + r = guestfs_grub_install (g, root, device); + if (r == -1) + return -1; + } + { + char path[] = "/boot"; + int r; + suppress_error = 0; + r = guestfs_is_dir (g, path); + if (r == -1) + return -1; + if (!r) { + fprintf (stderr, "test_grub_install_0: expected true, got false\n"); + return -1; + } + } + return 0; +} + +static int test_zero_0 (void) +{ + /* InitBasicFS for zero (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; + } + /* TestOutput for zero (0) */ + char expected[] = "data"; + { + char pathordevice[] = "/dev/sda1"; + pathordevice[5] = devchar; + int r; + suppress_error = 0; + r = guestfs_umount (g, pathordevice); + if (r == -1) + return -1; + } + { + char device[] = "/dev/sda1"; + device[5] = devchar; + int r; + suppress_error = 0; + r = guestfs_zero (g, device); + if (r == -1) + return -1; + } + { + char path[] = "/dev/sda1"; + path[5] = devchar; + char *r; + suppress_error = 0; + r = guestfs_file (g, path); + if (r == NULL) + return -1; + if (strcmp (r, expected) != 0) { + fprintf (stderr, "test_zero_0: expected \"%s\" but got \"%s\"\n", expected, r); + return -1; + } + free (r); + } + return 0; +} + +static int test_fsck_0 (void) +{ + /* InitBasicFS for fsck (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; + } + /* TestOutputInt for fsck (0) */ + { + char pathordevice[] = "/dev/sda1"; + pathordevice[5] = devchar; + int r; + suppress_error = 0; + r = guestfs_umount (g, pathordevice); + if (r == -1) + return -1; + } + { + char fstype[] = "ext2"; + char device[] = "/dev/sda1"; + device[5] = devchar; + int r; + suppress_error = 0; + r = guestfs_fsck (g, fstype, device); + if (r == -1) + return -1; + if (r != 0) { + fprintf (stderr, "test_fsck_0: expected 0 but got %d\n", (int) r); + return -1; + } + } + return 0; +} + +static int test_fsck_1 (void) +{ + /* InitBasicFS for fsck (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; + } + /* TestOutputInt for fsck (1) */ + { + char pathordevice[] = "/dev/sda1"; + pathordevice[5] = devchar; + int r; + suppress_error = 0; + r = guestfs_umount (g, pathordevice); + if (r == -1) + return -1; + } + { + char device[] = "/dev/sda1"; + device[5] = devchar; + int r; + suppress_error = 0; + r = guestfs_zero (g, device); + if (r == -1) + return -1; + } + { + char fstype[] = "ext2"; + char device[] = "/dev/sda1"; + device[5] = devchar; + int r; + suppress_error = 0; + r = guestfs_fsck (g, fstype, device); + if (r == -1) + return -1; + if (r != 8) { + fprintf (stderr, "test_fsck_1: expected 8 but got %d\n", (int) r); + return -1; + } + } + return 0; +} + +static int test_set_e2uuid_0 (void) +{ + /* InitBasicFS for set_e2uuid (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; + } + /* TestOutput for set_e2uuid (0) */ + char expected[] = "a3a61220-882b-4f61-89f4-cf24dcc7297d"; + { + char device[] = "/dev/sda1"; + device[5] = devchar; + char uuid[] = "a3a61220-882b-4f61-89f4-cf24dcc7297d"; + int r; + suppress_error = 0; + r = guestfs_set_e2uuid (g, device, uuid); + if (r == -1) + return -1; + } + { + char device[] = "/dev/sda1"; + device[5] = devchar; + char *r; + suppress_error = 0; + r = guestfs_get_e2uuid (g, device); + if (r == NULL) + return -1; + if (strcmp (r, expected) != 0) { + fprintf (stderr, "test_set_e2uuid_0: expected \"%s\" but got \"%s\"\n", expected, r); + return -1; + } + free (r); + } + return 0; +} + +static int test_set_e2uuid_1 (void) +{ + /* InitBasicFS for set_e2uuid (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; + } + /* TestOutput for set_e2uuid (1) */ + char expected[] = ""; + { + char device[] = "/dev/sda1"; + device[5] = devchar; + char uuid[] = "clear"; + int r; + suppress_error = 0; + r = guestfs_set_e2uuid (g, device, uuid); + if (r == -1) + return -1; + } + { + char device[] = "/dev/sda1"; + device[5] = devchar; + char *r; + suppress_error = 0; + r = guestfs_get_e2uuid (g, device); + if (r == NULL) + return -1; + if (strcmp (r, expected) != 0) { + fprintf (stderr, "test_set_e2uuid_1: expected \"%s\" but got \"%s\"\n", expected, r); + return -1; + } + free (r); + } + return 0; +} + +static int test_set_e2uuid_2 (void) +{ + /* InitBasicFS for set_e2uuid (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; + } + /* TestRun for set_e2uuid (2) */ + { + char device[] = "/dev/sda1"; + device[5] = devchar; + char uuid[] = "random"; + int r; + suppress_error = 0; + r = guestfs_set_e2uuid (g, device, uuid); + if (r == -1) + return -1; + } + return 0; +} + +static int test_set_e2uuid_3 (void) +{ + /* InitBasicFS for set_e2uuid (3): 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; + } + /* TestRun for set_e2uuid (3) */ + { + char device[] = "/dev/sda1"; + device[5] = devchar; + char uuid[] = "time"; + int r; + suppress_error = 0; + r = guestfs_set_e2uuid (g, device, uuid); + if (r == -1) + return -1; + } + return 0; +} + +static int test_set_e2label_0 (void) +{ + /* InitBasicFS for set_e2label (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; + } + /* TestOutput for set_e2label (0) */ + char expected[] = "testlabel"; + { + char device[] = "/dev/sda1"; + device[5] = devchar; + char label[] = "testlabel"; + int r; + suppress_error = 0; + r = guestfs_set_e2label (g, device, label); + if (r == -1) + return -1; + } + { + char device[] = "/dev/sda1"; + device[5] = devchar; + char *r; + suppress_error = 0; + r = guestfs_get_e2label (g, device); + if (r == NULL) + return -1; + if (strcmp (r, expected) != 0) { + fprintf (stderr, "test_set_e2label_0: expected \"%s\" but got \"%s\"\n", expected, r); + return -1; + } + free (r); + } + return 0; +} + +static int test_pvremove_0 (void) +{ + /* InitEmpty for pvremove (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; + } + /* TestOutputList for pvremove (0) */ + { + char device[] = "/dev/sda"; + 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/sda"; + 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[] = "LV1"; + char volgroup[] = "VG"; + int r; + suppress_error = 0; + r = guestfs_lvcreate (g, logvol, volgroup, 50); + if (r == -1) + return -1; + } + { + char logvol[] = "LV2"; + char volgroup[] = "VG"; + int r; + suppress_error = 0; + r = guestfs_lvcreate (g, logvol, volgroup, 50); + if (r == -1) + return -1; + } + { + char vgname[] = "VG"; + int r; + suppress_error = 0; + r = guestfs_vgremove (g, vgname); + if (r == -1) + return -1; + } + { + char device[] = "/dev/sda"; + device[5] = devchar; + int r; + suppress_error = 0; + r = guestfs_pvremove (g, device); + if (r == -1) + return -1; + } + { + char **r; + int i; + suppress_error = 0; + r = guestfs_lvs (g); + if (r == NULL) + return -1; + if (r[0] != NULL) { + fprintf (stderr, "test_pvremove_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_pvremove_1 (void) +{ + /* InitEmpty for pvremove (1) */ + { + 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; + } + /* TestOutputList for pvremove (1) */ + { + char device[] = "/dev/sda"; + 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/sda"; + 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[] = "LV1"; + char volgroup[] = "VG"; + int r; + suppress_error = 0; + r = guestfs_lvcreate (g, logvol, volgroup, 50); + if (r == -1) + return -1; + } + { + char logvol[] = "LV2"; + char volgroup[] = "VG"; + int r; + suppress_error = 0; + r = guestfs_lvcreate (g, logvol, volgroup, 50); + if (r == -1) + return -1; + } + { + char vgname[] = "VG"; + int r; + suppress_error = 0; + r = guestfs_vgremove (g, vgname); + if (r == -1) + return -1; + } + { + char device[] = "/dev/sda"; + device[5] = devchar; + int r; + suppress_error = 0; + r = guestfs_pvremove (g, device); + if (r == -1) + return -1; + } + { + char **r; + int i; + suppress_error = 0; + r = guestfs_vgs (g); + if (r == NULL) + return -1; + if (r[0] != NULL) { + fprintf (stderr, "test_pvremove_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_pvremove_2 (void) +{ + /* InitEmpty for pvremove (2) */ + { + 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; + } + /* TestOutputList for pvremove (2) */ + { + char device[] = "/dev/sda"; + 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/sda"; + 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[] = "LV1"; + char volgroup[] = "VG"; + int r; + suppress_error = 0; + r = guestfs_lvcreate (g, logvol, volgroup, 50); + if (r == -1) + return -1; + } + { + char logvol[] = "LV2"; + char volgroup[] = "VG"; + int r; + suppress_error = 0; + r = guestfs_lvcreate (g, logvol, volgroup, 50); + if (r == -1) + return -1; + } + { + char vgname[] = "VG"; + int r; + suppress_error = 0; + r = guestfs_vgremove (g, vgname); + if (r == -1) + return -1; + } + { + char device[] = "/dev/sda"; + device[5] = devchar; + int r; + suppress_error = 0; + r = guestfs_pvremove (g, device); + if (r == -1) + return -1; + } + { + char **r; + int i; + suppress_error = 0; + r = guestfs_pvs (g); + if (r == NULL) + return -1; + if (r[0] != NULL) { + fprintf (stderr, "test_pvremove_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_vgremove_0 (void) +{ + /* InitEmpty for vgremove (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; + } + /* TestOutputList for vgremove (0) */ + { + char device[] = "/dev/sda"; + 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/sda"; + 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[] = "LV1"; + char volgroup[] = "VG"; + int r; + suppress_error = 0; + r = guestfs_lvcreate (g, logvol, volgroup, 50); + if (r == -1) + return -1; + } + { + char logvol[] = "LV2"; + char volgroup[] = "VG"; + int r; + suppress_error = 0; + r = guestfs_lvcreate (g, logvol, volgroup, 50); + if (r == -1) + return -1; + } + { + char vgname[] = "VG"; + int r; + suppress_error = 0; + r = guestfs_vgremove (g, vgname); + if (r == -1) + return -1; + } + { + char **r; + int i; + suppress_error = 0; + r = guestfs_lvs (g); + if (r == NULL) + return -1; + if (r[0] != NULL) { + fprintf (stderr, "test_vgremove_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_vgremove_1 (void) +{ + /* InitEmpty for vgremove (1) */ + { + 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; + } + /* TestOutputList for vgremove (1) */ + { + char device[] = "/dev/sda"; + 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/sda"; + 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[] = "LV1"; + char volgroup[] = "VG"; + int r; + suppress_error = 0; + r = guestfs_lvcreate (g, logvol, volgroup, 50); + if (r == -1) + return -1; + } + { + char logvol[] = "LV2"; + char volgroup[] = "VG"; + int r; + suppress_error = 0; + r = guestfs_lvcreate (g, logvol, volgroup, 50); + if (r == -1) + return -1; + } + { + char vgname[] = "VG"; + int r; + suppress_error = 0; + r = guestfs_vgremove (g, vgname); + if (r == -1) + return -1; + } + { + char **r; + int i; + suppress_error = 0; + r = guestfs_vgs (g); + if (r == NULL) + return -1; + if (r[0] != NULL) { + fprintf (stderr, "test_vgremove_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_lvremove_0 (void) +{ + /* InitEmpty for lvremove (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; + } + /* TestOutputList for lvremove (0) */ + { + char device[] = "/dev/sda"; + 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/sda"; + 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[] = "LV1"; + char volgroup[] = "VG"; + int r; + suppress_error = 0; + r = guestfs_lvcreate (g, logvol, volgroup, 50); + if (r == -1) + return -1; + } + { + char logvol[] = "LV2"; + char volgroup[] = "VG"; + int r; + suppress_error = 0; + r = guestfs_lvcreate (g, logvol, volgroup, 50); + if (r == -1) + return -1; + } + { + char device[] = "/dev/VG/LV1"; + int r; + suppress_error = 0; + r = guestfs_lvremove (g, device); + if (r == -1) + return -1; + } + { + char **r; + int i; + suppress_error = 0; + r = guestfs_lvs (g); + if (r == NULL) + return -1; + if (!r[0]) { + fprintf (stderr, "test_lvremove_0: short list returned from command\n"); + print_strings (r); + return -1; + } + { + char expected[] = "/dev/VG/LV2"; + if (strcmp (r[0], expected) != 0) { + fprintf (stderr, "test_lvremove_0: expected \"%s\" but got \"%s\"\n", expected, r[0]); + return -1; + } + } + if (r[1] != NULL) { + fprintf (stderr, "test_lvremove_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_lvremove_1 (void) +{ + /* InitEmpty for lvremove (1) */ + { + 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; + } + /* TestOutputList for lvremove (1) */ + { + char device[] = "/dev/sda"; + 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/sda"; + 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[] = "LV1"; + char volgroup[] = "VG"; + int r; + suppress_error = 0; + r = guestfs_lvcreate (g, logvol, volgroup, 50); + if (r == -1) + return -1; + } + { + char logvol[] = "LV2"; + char volgroup[] = "VG"; + int r; + suppress_error = 0; + r = guestfs_lvcreate (g, logvol, volgroup, 50); + if (r == -1) + return -1; + } + { + char device[] = "/dev/VG"; + int r; + suppress_error = 0; + r = guestfs_lvremove (g, device); + if (r == -1) + return -1; + } + { + char **r; + int i; + suppress_error = 0; + r = guestfs_lvs (g); + if (r == NULL) + return -1; + if (r[0] != NULL) { + fprintf (stderr, "test_lvremove_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_lvremove_2 (void) +{ + /* InitEmpty for lvremove (2) */ + { + 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; + } + /* TestOutputList for lvremove (2) */ + { + char device[] = "/dev/sda"; + 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/sda"; + 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[] = "LV1"; + char volgroup[] = "VG"; + int r; + suppress_error = 0; + r = guestfs_lvcreate (g, logvol, volgroup, 50); + if (r == -1) + return -1; + } + { + char logvol[] = "LV2"; + char volgroup[] = "VG"; + int r; + suppress_error = 0; + r = guestfs_lvcreate (g, logvol, volgroup, 50); + if (r == -1) + return -1; + } + { + char device[] = "/dev/VG"; + int r; + suppress_error = 0; + r = guestfs_lvremove (g, device); + if (r == -1) + return -1; + } + { + char **r; + int i; + suppress_error = 0; + r = guestfs_vgs (g); + if (r == NULL) + return -1; + if (!r[0]) { + fprintf (stderr, "test_lvremove_2: short list returned from command\n"); + print_strings (r); + return -1; + } + { + char expected[] = "VG"; + if (strcmp (r[0], expected) != 0) { + fprintf (stderr, "test_lvremove_2: expected \"%s\" but got \"%s\"\n", expected, r[0]); + return -1; + } + } + if (r[1] != NULL) { + fprintf (stderr, "test_lvremove_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_mount_ro_0 (void) +{ + /* InitBasicFS for mount_ro (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; + } + /* TestLastFail for mount_ro (0) */ + { + char pathordevice[] = "/"; + int r; + suppress_error = 0; + r = guestfs_umount (g, pathordevice); + if (r == -1) + return -1; + } + { + char device[] = "/dev/sda1"; + device[5] = devchar; + char mountpoint[] = "/"; + int r; + suppress_error = 0; + r = guestfs_mount_ro (g, device, mountpoint); + if (r == -1) + return -1; + } + { + char path[] = "/new"; + int r; + suppress_error = 1; + r = guestfs_touch (g, path); + if (r != -1) + return -1; + } + return 0; +} + +static int test_mount_ro_1 (void) +{ + /* InitBasicFS for mount_ro (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; + } + /* TestOutput for mount_ro (1) */ + char expected[] = "data"; + { + char path[] = "/new"; + char content[] = "data"; + 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/sda1"; + device[5] = devchar; + char mountpoint[] = "/"; + int r; + suppress_error = 0; + r = guestfs_mount_ro (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_mount_ro_1: expected \"%s\" but got \"%s\"\n", expected, r); + return -1; + } + free (r); + } + return 0; +} + +static int test_tgz_in_0 (void) +{ + /* InitBasicFS for tgz_in (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; + } + /* TestOutput for tgz_in (0) */ + char expected[] = "hello\n"; + { + char directory[] = "/"; + int r; + suppress_error = 0; + r = guestfs_tgz_in (g, "images/helloworld.tar.gz", directory); + if (r == -1) + return -1; + } + { + char path[] = "/hello"; + char *r; + suppress_error = 0; + r = guestfs_cat (g, path); + if (r == NULL) + return -1; + if (strcmp (r, expected) != 0) { + fprintf (stderr, "test_tgz_in_0: expected \"%s\" but got \"%s\"\n", expected, r); + return -1; + } + free (r); + } + return 0; +} + +static int test_tar_in_0 (void) +{ + /* InitBasicFS for tar_in (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; + } + /* TestOutput for tar_in (0) */ + char expected[] = "hello\n"; + { + char directory[] = "/"; + int r; + suppress_error = 0; + r = guestfs_tar_in (g, "images/helloworld.tar", directory); + if (r == -1) + return -1; + } + { + char path[] = "/hello"; + char *r; + suppress_error = 0; + r = guestfs_cat (g, path); + if (r == NULL) + return -1; + if (strcmp (r, expected) != 0) { + fprintf (stderr, "test_tar_in_0: expected \"%s\" but got \"%s\"\n", expected, r); + return -1; + } + free (r); + } + return 0; +} + +static int test_checksum_0 (void) +{ + /* InitBasicFS for checksum (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; + } + /* TestOutput for checksum (0) */ + char expected[] = "935282863"; + { + char path[] = "/new"; + char content[] = "test\n"; + int r; + suppress_error = 0; + r = guestfs_write_file (g, path, content, 0); + if (r == -1) + return -1; + } + { + char csumtype[] = "crc"; + char path[] = "/new"; + char *r; + suppress_error = 0; + r = guestfs_checksum (g, csumtype, path); + if (r == NULL) + return -1; + if (strcmp (r, expected) != 0) { + fprintf (stderr, "test_checksum_0: expected \"%s\" but got \"%s\"\n", expected, r); + return -1; + } + free (r); + } + return 0; +} + +static int test_checksum_1 (void) +{ + /* InitBasicFS for checksum (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; + } + /* TestLastFail for checksum (1) */ + { + char csumtype[] = "crc"; + char path[] = "/new"; + char *r; + suppress_error = 1; + r = guestfs_checksum (g, csumtype, path); + if (r != NULL) + return -1; + free (r); + } + return 0; +} + +static int test_checksum_2 (void) +{ + /* InitBasicFS for checksum (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; + } + /* TestOutput for checksum (2) */ + char expected[] = "d8e8fca2dc0f896fd7cb4cb0031ba249"; + { + char path[] = "/new"; + char content[] = "test\n"; + int r; + suppress_error = 0; + r = guestfs_write_file (g, path, content, 0); + if (r == -1) + return -1; + } + { + char csumtype[] = "md5"; + char path[] = "/new"; + char *r; + suppress_error = 0; + r = guestfs_checksum (g, csumtype, path); + if (r == NULL) + return -1; + if (strcmp (r, expected) != 0) { + fprintf (stderr, "test_checksum_2: expected \"%s\" but got \"%s\"\n", expected, r); + return -1; + } + free (r); + } + return 0; +} + +static int test_checksum_3 (void) +{ + /* InitBasicFS for checksum (3): 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; + } + /* TestOutput for checksum (3) */ + char expected[] = "4e1243bd22c66e76c2ba9eddc1f91394e57f9f83"; + { + char path[] = "/new"; + char content[] = "test\n"; + int r; + suppress_error = 0; + r = guestfs_write_file (g, path, content, 0); + if (r == -1) + return -1; + } + { + char csumtype[] = "sha1"; + char path[] = "/new"; + char *r; + suppress_error = 0; + r = guestfs_checksum (g, csumtype, path); + if (r == NULL) + return -1; + if (strcmp (r, expected) != 0) { + fprintf (stderr, "test_checksum_3: expected \"%s\" but got \"%s\"\n", expected, r); + return -1; + } + free (r); + } + return 0; +} + +static int test_checksum_4 (void) +{ + /* InitBasicFS for checksum (4): 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; + } + /* TestOutput for checksum (4) */ + char expected[] = "52f1bf093f4b7588726035c176c0cdb4376cfea53819f1395ac9e6ec"; + { + char path[] = "/new"; + char content[] = "test\n"; + int r; + suppress_error = 0; + r = guestfs_write_file (g, path, content, 0); + if (r == -1) + return -1; + } + { + char csumtype[] = "sha224"; + char path[] = "/new"; + char *r; + suppress_error = 0; + r = guestfs_checksum (g, csumtype, path); + if (r == NULL) + return -1; + if (strcmp (r, expected) != 0) { + fprintf (stderr, "test_checksum_4: expected \"%s\" but got \"%s\"\n", expected, r); + return -1; + } + free (r); + } + return 0; +} + +static int test_checksum_5 (void) +{ + /* InitBasicFS for checksum (5): 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; @@ -307,46 +3500,60 @@ static int test_checksum_3 (void) 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, "/dev/sda", 0, 0, 0, lines); + 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, "ext2", "/dev/sda1"); + 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, "/dev/sda1", "/"); + r = guestfs_mount (g, device, mountpoint); if (r == -1) return -1; } - /* TestOutput for checksum (3) */ + /* TestOutput for checksum (5) */ + char expected[] = "f2ca1bb6c7e907d06dafe4687e579fce76b37e4e93b7605022da52e6ccc26fd2"; { + char path[] = "/new"; + char content[] = "test\n"; int r; suppress_error = 0; - r = guestfs_write_file (g, "/new", "test\n", 0); + r = guestfs_write_file (g, path, content, 0); if (r == -1) return -1; } { + char csumtype[] = "sha256"; + char path[] = "/new"; char *r; suppress_error = 0; - r = guestfs_checksum (g, "sha1", "/new"); + r = guestfs_checksum (g, csumtype, path); if (r == NULL) return -1; - if (strcmp (r, "4e1243bd22c66e76c2ba9eddc1f91394e57f9f83") != 0) { - fprintf (stderr, "test_checksum_3: expected \"4e1243bd22c66e76c2ba9eddc1f91394e57f9f83\" but got \"%s\"\n", r); + if (strcmp (r, expected) != 0) { + fprintf (stderr, "test_checksum_5: expected \"%s\" but got \"%s\"\n", expected, r); return -1; } free (r); @@ -354,9 +3561,18 @@ static int test_checksum_3 (void) return 0; } -static int test_checksum_4 (void) +static int test_checksum_6 (void) { - /* InitBasicFS for checksum (4): create ext2 on /dev/sda1 */ + /* InitBasicFS for checksum (6): 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; @@ -372,46 +3588,60 @@ static int test_checksum_4 (void) 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, "/dev/sda", 0, 0, 0, lines); + 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, "ext2", "/dev/sda1"); + 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, "/dev/sda1", "/"); + r = guestfs_mount (g, device, mountpoint); if (r == -1) return -1; } - /* TestOutput for checksum (4) */ + /* TestOutput for checksum (6) */ + char expected[] = "109bb6b5b6d5547c1ce03c7a8bd7d8f80c1cb0957f50c4f7fda04692079917e4f9cad52b878f3d8234e1a170b154b72d"; { + char path[] = "/new"; + char content[] = "test\n"; int r; suppress_error = 0; - r = guestfs_write_file (g, "/new", "test\n", 0); + r = guestfs_write_file (g, path, content, 0); if (r == -1) return -1; } { + char csumtype[] = "sha384"; + char path[] = "/new"; char *r; suppress_error = 0; - r = guestfs_checksum (g, "sha224", "/new"); + r = guestfs_checksum (g, csumtype, path); if (r == NULL) return -1; - if (strcmp (r, "52f1bf093f4b7588726035c176c0cdb4376cfea53819f1395ac9e6ec") != 0) { - fprintf (stderr, "test_checksum_4: expected \"52f1bf093f4b7588726035c176c0cdb4376cfea53819f1395ac9e6ec\" but got \"%s\"\n", r); + if (strcmp (r, expected) != 0) { + fprintf (stderr, "test_checksum_6: expected \"%s\" but got \"%s\"\n", expected, r); return -1; } free (r); @@ -419,9 +3649,18 @@ static int test_checksum_4 (void) return 0; } -static int test_checksum_5 (void) +static int test_checksum_7 (void) { - /* InitBasicFS for checksum (5): create ext2 on /dev/sda1 */ + /* InitBasicFS for checksum (7): 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; @@ -437,46 +3676,60 @@ static int test_checksum_5 (void) 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, "/dev/sda", 0, 0, 0, lines); + 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, "ext2", "/dev/sda1"); + 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, "/dev/sda1", "/"); + r = guestfs_mount (g, device, mountpoint); if (r == -1) return -1; } - /* TestOutput for checksum (5) */ + /* TestOutput for checksum (7) */ + char expected[] = "0e3e75234abc68f4378a86b3f4b32a198ba301845b0cd6e50106e874345700cc6663a86c1ea125dc5e92be17c98f9a0f85ca9d5f595db2012f7cc3571945c123"; { + char path[] = "/new"; + char content[] = "test\n"; int r; suppress_error = 0; - r = guestfs_write_file (g, "/new", "test\n", 0); + r = guestfs_write_file (g, path, content, 0); if (r == -1) return -1; } { + char csumtype[] = "sha512"; + char path[] = "/new"; char *r; suppress_error = 0; - r = guestfs_checksum (g, "sha256", "/new"); + r = guestfs_checksum (g, csumtype, path); if (r == NULL) return -1; - if (strcmp (r, "f2ca1bb6c7e907d06dafe4687e579fce76b37e4e93b7605022da52e6ccc26fd2") != 0) { - fprintf (stderr, "test_checksum_5: expected \"f2ca1bb6c7e907d06dafe4687e579fce76b37e4e93b7605022da52e6ccc26fd2\" but got \"%s\"\n", r); + if (strcmp (r, expected) != 0) { + fprintf (stderr, "test_checksum_7: expected \"%s\" but got \"%s\"\n", expected, r); return -1; } free (r); @@ -484,9 +3737,18 @@ static int test_checksum_5 (void) return 0; } -static int test_checksum_6 (void) +static int test_download_0 (void) { - /* InitBasicFS for checksum (6): create ext2 on /dev/sda1 */ + /* InitBasicFS for download (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; @@ -502,46 +3764,75 @@ static int test_checksum_6 (void) 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, "/dev/sda", 0, 0, 0, lines); + 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, "ext2", "/dev/sda1"); + 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, "/dev/sda1", "/"); + r = guestfs_mount (g, device, mountpoint); + if (r == -1) + return -1; + } + /* TestOutput for download (0) */ + char expected[] = "e3eda01d9815f8d24aae2dbd89b68b06"; + { + char remotefilename[] = "/COPYING.LIB"; + int r; + suppress_error = 0; + r = guestfs_upload (g, "COPYING.LIB", remotefilename); + if (r == -1) + return -1; + } + { + char remotefilename[] = "/COPYING.LIB"; + int r; + suppress_error = 0; + r = guestfs_download (g, remotefilename, "testdownload.tmp"); if (r == -1) return -1; } - /* TestOutput for checksum (6) */ { + char remotefilename[] = "/upload"; int r; suppress_error = 0; - r = guestfs_write_file (g, "/new", "test\n", 0); + r = guestfs_upload (g, "testdownload.tmp", remotefilename); if (r == -1) return -1; } { + char csumtype[] = "md5"; + char path[] = "/upload"; char *r; suppress_error = 0; - r = guestfs_checksum (g, "sha384", "/new"); + r = guestfs_checksum (g, csumtype, path); if (r == NULL) return -1; - if (strcmp (r, "109bb6b5b6d5547c1ce03c7a8bd7d8f80c1cb0957f50c4f7fda04692079917e4f9cad52b878f3d8234e1a170b154b72d") != 0) { - fprintf (stderr, "test_checksum_6: expected \"109bb6b5b6d5547c1ce03c7a8bd7d8f80c1cb0957f50c4f7fda04692079917e4f9cad52b878f3d8234e1a170b154b72d\" but got \"%s\"\n", r); + if (strcmp (r, expected) != 0) { + fprintf (stderr, "test_download_0: expected \"%s\" but got \"%s\"\n", expected, r); return -1; } free (r); @@ -549,9 +3840,18 @@ static int test_checksum_6 (void) return 0; } -static int test_checksum_7 (void) +static int test_upload_0 (void) { - /* InitBasicFS for checksum (7): create ext2 on /dev/sda1 */ + /* InitBasicFS for upload (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; @@ -567,46 +3867,59 @@ static int test_checksum_7 (void) 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, "/dev/sda", 0, 0, 0, lines); + 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, "ext2", "/dev/sda1"); + 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, "/dev/sda1", "/"); + r = guestfs_mount (g, device, mountpoint); if (r == -1) return -1; } - /* TestOutput for checksum (7) */ + /* TestOutput for upload (0) */ + char expected[] = "e3eda01d9815f8d24aae2dbd89b68b06"; { + char remotefilename[] = "/COPYING.LIB"; int r; suppress_error = 0; - r = guestfs_write_file (g, "/new", "test\n", 0); + r = guestfs_upload (g, "COPYING.LIB", remotefilename); if (r == -1) return -1; } { + char csumtype[] = "md5"; + char path[] = "/COPYING.LIB"; char *r; suppress_error = 0; - r = guestfs_checksum (g, "sha512", "/new"); + r = guestfs_checksum (g, csumtype, path); if (r == NULL) return -1; - if (strcmp (r, "0e3e75234abc68f4378a86b3f4b32a198ba301845b0cd6e50106e874345700cc6663a86c1ea125dc5e92be17c98f9a0f85ca9d5f595db2012f7cc3571945c123") != 0) { - fprintf (stderr, "test_checksum_7: expected \"0e3e75234abc68f4378a86b3f4b32a198ba301845b0cd6e50106e874345700cc6663a86c1ea125dc5e92be17c98f9a0f85ca9d5f595db2012f7cc3571945c123\" but got \"%s\"\n", r); + if (strcmp (r, expected) != 0) { + fprintf (stderr, "test_upload_0: expected \"%s\" but got \"%s\"\n", expected, r); return -1; } free (r); @@ -618,6 +3931,15 @@ static int test_blockdev_rereadpt_0 (void) { /* InitEmpty for blockdev_rereadpt (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); @@ -633,9 +3955,11 @@ static int test_blockdev_rereadpt_0 (void) } /* TestRun for blockdev_rereadpt (0) */ { + char device[] = "/dev/sda"; + device[5] = devchar; int r; suppress_error = 0; - r = guestfs_blockdev_rereadpt (g, "/dev/sda"); + r = guestfs_blockdev_rereadpt (g, device); if (r == -1) return -1; } @@ -646,6 +3970,15 @@ static int test_blockdev_flushbufs_0 (void) { /* InitEmpty for blockdev_flushbufs (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); @@ -661,9 +3994,11 @@ static int test_blockdev_flushbufs_0 (void) } /* TestRun for blockdev_flushbufs (0) */ { + char device[] = "/dev/sda"; + device[5] = devchar; int r; suppress_error = 0; - r = guestfs_blockdev_flushbufs (g, "/dev/sda"); + r = guestfs_blockdev_flushbufs (g, device); if (r == -1) return -1; } @@ -674,6 +4009,15 @@ static int test_blockdev_getsize64_0 (void) { /* InitEmpty for blockdev_getsize64 (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); @@ -689,9 +4033,11 @@ static int test_blockdev_getsize64_0 (void) } /* TestOutputInt for blockdev_getsize64 (0) */ { + char device[] = "/dev/sda"; + device[5] = devchar; int64_t r; suppress_error = 0; - r = guestfs_blockdev_getsize64 (g, "/dev/sda"); + r = guestfs_blockdev_getsize64 (g, device); if (r == -1) return -1; if (r != 524288000) { @@ -706,6 +4052,15 @@ static int test_blockdev_getsz_0 (void) { /* InitEmpty for blockdev_getsz (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); @@ -721,9 +4076,11 @@ static int test_blockdev_getsz_0 (void) } /* TestOutputInt for blockdev_getsz (0) */ { + char device[] = "/dev/sda"; + device[5] = devchar; int64_t r; suppress_error = 0; - r = guestfs_blockdev_getsz (g, "/dev/sda"); + r = guestfs_blockdev_getsz (g, device); if (r == -1) return -1; if (r != 1024000) { @@ -738,6 +4095,15 @@ static int test_blockdev_getbsz_0 (void) { /* InitEmpty for blockdev_getbsz (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); @@ -753,9 +4119,11 @@ static int test_blockdev_getbsz_0 (void) } /* TestOutputInt for blockdev_getbsz (0) */ { + char device[] = "/dev/sda"; + device[5] = devchar; int r; suppress_error = 0; - r = guestfs_blockdev_getbsz (g, "/dev/sda"); + r = guestfs_blockdev_getbsz (g, device); if (r == -1) return -1; if (r != 4096) { @@ -770,6 +4138,15 @@ static int test_blockdev_getss_0 (void) { /* InitEmpty for blockdev_getss (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); @@ -785,9 +4162,11 @@ static int test_blockdev_getss_0 (void) } /* TestOutputInt for blockdev_getss (0) */ { + char device[] = "/dev/sda"; + device[5] = devchar; int r; suppress_error = 0; - r = guestfs_blockdev_getss (g, "/dev/sda"); + r = guestfs_blockdev_getss (g, device); if (r == -1) return -1; if (r != 512) { @@ -802,6 +4181,15 @@ static int test_blockdev_getro_0 (void) { /* InitEmpty for blockdev_getro (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); @@ -817,16 +4205,20 @@ static int test_blockdev_getro_0 (void) } /* TestOutputTrue for blockdev_getro (0) */ { + char device[] = "/dev/sda"; + device[5] = devchar; int r; suppress_error = 0; - r = guestfs_blockdev_setro (g, "/dev/sda"); + r = guestfs_blockdev_setro (g, device); if (r == -1) return -1; } { + char device[] = "/dev/sda"; + device[5] = devchar; int r; suppress_error = 0; - r = guestfs_blockdev_getro (g, "/dev/sda"); + r = guestfs_blockdev_getro (g, device); if (r == -1) return -1; if (!r) { @@ -841,6 +4233,15 @@ static int test_blockdev_setrw_0 (void) { /* InitEmpty for blockdev_setrw (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); @@ -856,16 +4257,20 @@ static int test_blockdev_setrw_0 (void) } /* TestOutputFalse for blockdev_setrw (0) */ { + char device[] = "/dev/sda"; + device[5] = devchar; int r; suppress_error = 0; - r = guestfs_blockdev_setrw (g, "/dev/sda"); + r = guestfs_blockdev_setrw (g, device); if (r == -1) return -1; } { + char device[] = "/dev/sda"; + device[5] = devchar; int r; suppress_error = 0; - r = guestfs_blockdev_getro (g, "/dev/sda"); + r = guestfs_blockdev_getro (g, device); if (r == -1) return -1; if (r) { @@ -880,6 +4285,15 @@ static int test_blockdev_setro_0 (void) { /* InitEmpty for blockdev_setro (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); @@ -895,16 +4309,20 @@ static int test_blockdev_setro_0 (void) } /* TestOutputTrue for blockdev_setro (0) */ { + char device[] = "/dev/sda"; + device[5] = devchar; int r; suppress_error = 0; - r = guestfs_blockdev_setro (g, "/dev/sda"); + r = guestfs_blockdev_setro (g, device); if (r == -1) return -1; } { + char device[] = "/dev/sda"; + device[5] = devchar; int r; suppress_error = 0; - r = guestfs_blockdev_getro (g, "/dev/sda"); + r = guestfs_blockdev_getro (g, device); if (r == -1) return -1; if (!r) { @@ -919,6 +4337,15 @@ static int test_statvfs_0 (void) { /* InitBasicFS for statvfs (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); @@ -933,35 +4360,45 @@ static int test_statvfs_0 (void) 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, "/dev/sda", 0, 0, 0, lines); + 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, "ext2", "/dev/sda1"); + 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, "/dev/sda1", "/"); + r = guestfs_mount (g, device, mountpoint); if (r == -1) return -1; } /* TestOutputStruct for statvfs (0) */ { + char path[] = "/"; struct guestfs_statvfs *r; suppress_error = 0; - r = guestfs_statvfs (g, "/"); + r = guestfs_statvfs (g, path); if (r == NULL) return -1; if (r->bfree != 487702) { @@ -988,6 +4425,15 @@ static int test_lstat_0 (void) { /* InitBasicFS for lstat (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); @@ -1002,42 +4448,53 @@ static int test_lstat_0 (void) 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, "/dev/sda", 0, 0, 0, lines); + 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, "ext2", "/dev/sda1"); + 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, "/dev/sda1", "/"); + r = guestfs_mount (g, device, mountpoint); if (r == -1) return -1; } /* TestOutputStruct for lstat (0) */ { + char path[] = "/new"; int r; suppress_error = 0; - r = guestfs_touch (g, "/new"); + r = guestfs_touch (g, path); if (r == -1) return -1; } { + char path[] = "/new"; struct guestfs_stat *r; suppress_error = 0; - r = guestfs_lstat (g, "/new"); + r = guestfs_lstat (g, path); if (r == NULL) return -1; if (r->size != 0) { @@ -1054,6 +4511,15 @@ static int test_stat_0 (void) { /* InitBasicFS for stat (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); @@ -1068,42 +4534,53 @@ static int test_stat_0 (void) 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, "/dev/sda", 0, 0, 0, lines); + 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, "ext2", "/dev/sda1"); + 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, "/dev/sda1", "/"); + r = guestfs_mount (g, device, mountpoint); if (r == -1) return -1; } /* TestOutputStruct for stat (0) */ { + char path[] = "/new"; int r; suppress_error = 0; - r = guestfs_touch (g, "/new"); + r = guestfs_touch (g, path); if (r == -1) return -1; } { + char path[] = "/new"; struct guestfs_stat *r; suppress_error = 0; - r = guestfs_stat (g, "/new"); + r = guestfs_stat (g, path); if (r == NULL) return -1; if (r->size != 0) { @@ -1116,74 +4593,264 @@ static int test_stat_0 (void) return 0; } -static int test_file_0 (void) +static int test_file_0 (void) +{ + /* InitBasicFS for file (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; + } + /* TestOutput for file (0) */ + char expected[] = "empty"; + { + char path[] = "/new"; + int r; + suppress_error = 0; + r = guestfs_touch (g, path); + if (r == -1) + return -1; + } + { + char path[] = "/new"; + char *r; + suppress_error = 0; + r = guestfs_file (g, path); + if (r == NULL) + return -1; + if (strcmp (r, expected) != 0) { + fprintf (stderr, "test_file_0: expected \"%s\" but got \"%s\"\n", expected, r); + return -1; + } + free (r); + } + return 0; +} + +static int test_file_1 (void) +{ + /* InitBasicFS for file (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; + } + /* TestOutput for file (1) */ + char expected[] = "ASCII text"; + { + char path[] = "/new"; + char content[] = "some content\n"; + int r; + suppress_error = 0; + r = guestfs_write_file (g, path, content, 0); + if (r == -1) + return -1; + } + { + char path[] = "/new"; + char *r; + suppress_error = 0; + r = guestfs_file (g, path); + if (r == NULL) + return -1; + if (strcmp (r, expected) != 0) { + fprintf (stderr, "test_file_1: expected \"%s\" but got \"%s\"\n", expected, r); + return -1; + } + free (r); + } + return 0; +} + +static int test_file_2 (void) { - /* InitBasicFS for file (0): create ext2 on /dev/sda1 */ + /* InitBasicFS for file (2): create ext2 on /dev/sda1 */ { + char device[] = "/dev/sda"; + device[5] = devchar; int r; suppress_error = 0; - r = guestfs_umount_all (g); + r = guestfs_blockdev_setrw (g, device); if (r == -1) return -1; } { int r; suppress_error = 0; - r = guestfs_lvm_remove_all (g); + r = guestfs_umount_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); + 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_mkfs (g, "ext2", "/dev/sda1"); + 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_mount (g, "/dev/sda1", "/"); + r = guestfs_mkfs (g, fstype, device); if (r == -1) return -1; } - /* TestOutput for file (0) */ { + char device[] = "/dev/sda1"; + device[5] = devchar; + char mountpoint[] = "/"; int r; suppress_error = 0; - r = guestfs_touch (g, "/new"); + r = guestfs_mount (g, device, mountpoint); if (r == -1) return -1; } + /* TestLastFail for file (2) */ { + char path[] = "/nofile"; 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); + suppress_error = 1; + r = guestfs_file (g, path); + if (r != NULL) return -1; - } free (r); } return 0; } -static int test_file_1 (void) +static int test_umount_all_0 (void) { - /* InitBasicFS for file (1): create ext2 on /dev/sda1 */ + /* InitBasicFS for umount_all (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; @@ -1199,56 +4866,78 @@ static int test_file_1 (void) 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, "/dev/sda", 0, 0, 0, lines); + 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, "ext2", "/dev/sda1"); + 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, "/dev/sda1", "/"); + r = guestfs_mount (g, device, mountpoint); if (r == -1) return -1; } - /* TestOutput for file (1) */ + /* TestOutputList for umount_all (0) */ { int r; suppress_error = 0; - r = guestfs_write_file (g, "/new", "some content\n", 0); + r = guestfs_umount_all (g); if (r == -1) return -1; } { - char *r; + char **r; + int i; suppress_error = 0; - r = guestfs_file (g, "/new"); + r = guestfs_mounts (g); if (r == NULL) return -1; - if (strcmp (r, "ASCII text") != 0) { - fprintf (stderr, "test_file_1: expected \"ASCII text\" but got \"%s\"\n", r); + if (r[0] != NULL) { + fprintf (stderr, "test_umount_all_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_file_2 (void) +static int test_umount_all_1 (void) { - /* InitBasicFS for file (2): create ext2 on /dev/sda1 */ + /* InitEmpty for umount_all (1) */ + { + 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; @@ -1263,86 +4952,109 @@ static int test_file_2 (void) if (r == -1) return -1; } + /* TestOutputList for umount_all (1) */ { + char device[] = "/dev/sda"; + device[5] = devchar; + char lines_0[] = ",10"; + char lines_1[] = ",20"; + char lines_2[] = ","; char *lines[] = { - ",", + lines_0, + lines_1, + lines_2, NULL }; int r; suppress_error = 0; - r = guestfs_sfdisk (g, "/dev/sda", 0, 0, 0, lines); + 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, "ext2", "/dev/sda1"); + r = guestfs_mkfs (g, fstype, device); if (r == -1) return -1; } { + char fstype[] = "ext2"; + char device[] = "/dev/sda2"; + device[5] = devchar; int r; suppress_error = 0; - r = guestfs_mount (g, "/dev/sda1", "/"); + r = guestfs_mkfs (g, fstype, device); if (r == -1) return -1; } - /* TestLastFail for file (2) */ { - char *r; - suppress_error = 1; - r = guestfs_file (g, "/nofile"); - if (r != NULL) + char fstype[] = "ext2"; + char device[] = "/dev/sda3"; + device[5] = devchar; + int r; + suppress_error = 0; + r = guestfs_mkfs (g, fstype, device); + if (r == -1) return -1; - free (r); } - return 0; -} - -static int test_umount_all_0 (void) -{ - /* InitBasicFS for umount_all (0): create ext2 on /dev/sda1 */ { + char device[] = "/dev/sda1"; + device[5] = devchar; + char mountpoint[] = "/"; int r; suppress_error = 0; - r = guestfs_umount_all (g); + r = guestfs_mount (g, device, mountpoint); if (r == -1) return -1; } { + char path[] = "/mp1"; int r; suppress_error = 0; - r = guestfs_lvm_remove_all (g); + r = guestfs_mkdir (g, path); if (r == -1) return -1; } { - char *lines[] = { - ",", - NULL - }; + char device[] = "/dev/sda2"; + device[5] = devchar; + char mountpoint[] = "/mp1"; int r; suppress_error = 0; - r = guestfs_sfdisk (g, "/dev/sda", 0, 0, 0, lines); + r = guestfs_mount (g, device, mountpoint); if (r == -1) return -1; } { + char path[] = "/mp1/mp2"; int r; suppress_error = 0; - r = guestfs_mkfs (g, "ext2", "/dev/sda1"); + r = guestfs_mkdir (g, path); if (r == -1) return -1; } { + char device[] = "/dev/sda3"; + device[5] = devchar; + char mountpoint[] = "/mp1/mp2"; int r; suppress_error = 0; - r = guestfs_mount (g, "/dev/sda1", "/"); + r = guestfs_mount (g, device, mountpoint); + if (r == -1) + return -1; + } + { + char path[] = "/mp1/mp2/mp3"; + int r; + suppress_error = 0; + r = guestfs_mkdir (g, path); if (r == -1) return -1; } - /* TestOutputList for umount_all (0) */ { int r; suppress_error = 0; @@ -1358,7 +5070,7 @@ static int test_umount_all_0 (void) if (r == NULL) return -1; if (r[0] != NULL) { - fprintf (stderr, "test_umount_all_0: extra elements returned from command\n"); + fprintf (stderr, "test_umount_all_1: extra elements returned from command\n"); print_strings (r); return -1; } @@ -1373,6 +5085,15 @@ static int test_mounts_0 (void) { /* InitBasicFS for mounts (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); @@ -1387,27 +5108,36 @@ static int test_mounts_0 (void) 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, "/dev/sda", 0, 0, 0, lines); + 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, "ext2", "/dev/sda1"); + 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, "/dev/sda1", "/"); + r = guestfs_mount (g, device, mountpoint); if (r == -1) return -1; } @@ -1424,9 +5154,13 @@ static int test_mounts_0 (void) print_strings (r); return -1; } - if (strcmp (r[0], "/dev/sda1") != 0) { - fprintf (stderr, "test_mounts_0: expected \"/dev/sda1\" but got \"%s\"\n", r[0]); - return -1; + { + char expected[] = "/dev/sda1"; + expected[5] = devchar; + if (strcmp (r[0], expected) != 0) { + fprintf (stderr, "test_mounts_0: expected \"%s\" but got \"%s\"\n", expected, r[0]); + return -1; + } } if (r[1] != NULL) { fprintf (stderr, "test_mounts_0: extra elements returned from command\n"); @@ -1444,6 +5178,15 @@ static int test_umount_0 (void) { /* InitEmpty for umount (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); @@ -1459,27 +5202,36 @@ static int test_umount_0 (void) } /* TestOutputList for umount (0) */ { + char device[] = "/dev/sda"; + device[5] = devchar; + char lines_0[] = ","; char *lines[] = { - ",", + lines_0, NULL }; int r; suppress_error = 0; - r = guestfs_sfdisk (g, "/dev/sda", 0, 0, 0, lines); + 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, "ext2", "/dev/sda1"); + 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, "/dev/sda1", "/"); + r = guestfs_mount (g, device, mountpoint); if (r == -1) return -1; } @@ -1495,9 +5247,13 @@ static int test_umount_0 (void) print_strings (r); return -1; } - if (strcmp (r[0], "/dev/sda1") != 0) { - fprintf (stderr, "test_umount_0: expected \"/dev/sda1\" but got \"%s\"\n", r[0]); - return -1; + { + char expected[] = "/dev/sda1"; + expected[5] = devchar; + if (strcmp (r[0], expected) != 0) { + fprintf (stderr, "test_umount_0: expected \"%s\" but got \"%s\"\n", expected, r[0]); + return -1; + } } if (r[1] != NULL) { fprintf (stderr, "test_umount_0: extra elements returned from command\n"); @@ -1515,6 +5271,15 @@ static int test_umount_1 (void) { /* InitEmpty for umount (1) */ { + 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); @@ -1530,34 +5295,44 @@ static int test_umount_1 (void) } /* TestOutputList for umount (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, "/dev/sda", 0, 0, 0, lines); + 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, "ext2", "/dev/sda1"); + 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, "/dev/sda1", "/"); + r = guestfs_mount (g, device, mountpoint); if (r == -1) return -1; } { + char pathordevice[] = "/"; int r; suppress_error = 0; - r = guestfs_umount (g, "/"); + r = guestfs_umount (g, pathordevice); if (r == -1) return -1; } @@ -1584,6 +5359,15 @@ static int test_write_file_0 (void) { /* InitBasicFS for write_file (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); @@ -1598,46 +5382,59 @@ static int test_write_file_0 (void) 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, "/dev/sda", 0, 0, 0, lines); + 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, "ext2", "/dev/sda1"); + 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, "/dev/sda1", "/"); + r = guestfs_mount (g, device, mountpoint); if (r == -1) return -1; } /* TestOutput for write_file (0) */ + char expected[] = "new file contents"; { + char path[] = "/new"; + char content[] = "new file contents"; int r; suppress_error = 0; - r = guestfs_write_file (g, "/new", "new file contents", 0); + r = guestfs_write_file (g, path, content, 0); if (r == -1) return -1; } { + char path[] = "/new"; char *r; suppress_error = 0; - r = guestfs_cat (g, "/new"); + r = guestfs_cat (g, path); if (r == NULL) return -1; - if (strcmp (r, "new file contents") != 0) { - fprintf (stderr, "test_write_file_0: expected \"new file contents\" but got \"%s\"\n", r); + if (strcmp (r, expected) != 0) { + fprintf (stderr, "test_write_file_0: expected \"%s\" but got \"%s\"\n", expected, r); return -1; } free (r); @@ -1649,6 +5446,15 @@ static int test_write_file_1 (void) { /* InitBasicFS for write_file (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); @@ -1663,46 +5469,59 @@ static int test_write_file_1 (void) 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, "/dev/sda", 0, 0, 0, lines); + 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, "ext2", "/dev/sda1"); + 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, "/dev/sda1", "/"); + r = guestfs_mount (g, device, mountpoint); if (r == -1) return -1; } /* TestOutput for write_file (1) */ + char expected[] = "\nnew file contents\n"; { + char path[] = "/new"; + char content[] = "\nnew file contents\n"; int r; suppress_error = 0; - r = guestfs_write_file (g, "/new", "\nnew file contents\n", 0); + r = guestfs_write_file (g, path, content, 0); if (r == -1) return -1; } { + char path[] = "/new"; char *r; suppress_error = 0; - r = guestfs_cat (g, "/new"); + r = guestfs_cat (g, path); if (r == NULL) return -1; - if (strcmp (r, "\nnew file contents\n") != 0) { - fprintf (stderr, "test_write_file_1: expected \"\nnew file contents\n\" but got \"%s\"\n", r); + if (strcmp (r, expected) != 0) { + fprintf (stderr, "test_write_file_1: expected \"%s\" but got \"%s\"\n", expected, r); return -1; } free (r); @@ -1714,6 +5533,15 @@ static int test_write_file_2 (void) { /* InitBasicFS for write_file (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); @@ -1728,46 +5556,59 @@ static int test_write_file_2 (void) 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, "/dev/sda", 0, 0, 0, lines); + 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, "ext2", "/dev/sda1"); + 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, "/dev/sda1", "/"); + r = guestfs_mount (g, device, mountpoint); if (r == -1) return -1; } /* TestOutput for write_file (2) */ + char expected[] = "\n\n"; { + char path[] = "/new"; + char content[] = "\n\n"; int r; suppress_error = 0; - r = guestfs_write_file (g, "/new", "\n\n", 0); + r = guestfs_write_file (g, path, content, 0); if (r == -1) return -1; } { + char path[] = "/new"; char *r; suppress_error = 0; - r = guestfs_cat (g, "/new"); + r = guestfs_cat (g, path); if (r == NULL) return -1; - if (strcmp (r, "\n\n") != 0) { - fprintf (stderr, "test_write_file_2: expected \"\n\n\" but got \"%s\"\n", r); + if (strcmp (r, expected) != 0) { + fprintf (stderr, "test_write_file_2: expected \"%s\" but got \"%s\"\n", expected, r); return -1; } free (r); @@ -1779,6 +5620,15 @@ static int test_write_file_3 (void) { /* InitBasicFS for write_file (3): 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); @@ -1793,46 +5643,59 @@ static int test_write_file_3 (void) 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, "/dev/sda", 0, 0, 0, lines); + 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, "ext2", "/dev/sda1"); + 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, "/dev/sda1", "/"); + r = guestfs_mount (g, device, mountpoint); if (r == -1) return -1; } /* TestOutput for write_file (3) */ + char expected[] = ""; { + char path[] = "/new"; + char content[] = ""; int r; suppress_error = 0; - r = guestfs_write_file (g, "/new", "", 0); + r = guestfs_write_file (g, path, content, 0); if (r == -1) return -1; } { + char path[] = "/new"; char *r; suppress_error = 0; - r = guestfs_cat (g, "/new"); + r = guestfs_cat (g, path); if (r == NULL) return -1; - if (strcmp (r, "") != 0) { - fprintf (stderr, "test_write_file_3: expected \"\" but got \"%s\"\n", r); + if (strcmp (r, expected) != 0) { + fprintf (stderr, "test_write_file_3: expected \"%s\" but got \"%s\"\n", expected, r); return -1; } free (r); @@ -1844,6 +5707,15 @@ static int test_write_file_4 (void) { /* InitBasicFS for write_file (4): 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); @@ -1858,46 +5730,59 @@ static int test_write_file_4 (void) 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, "/dev/sda", 0, 0, 0, lines); + 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, "ext2", "/dev/sda1"); + 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, "/dev/sda1", "/"); + r = guestfs_mount (g, device, mountpoint); if (r == -1) return -1; } /* TestOutput for write_file (4) */ + char expected[] = "\n\n\n"; { + char path[] = "/new"; + char content[] = "\n\n\n"; int r; suppress_error = 0; - r = guestfs_write_file (g, "/new", "\n\n\n", 0); + r = guestfs_write_file (g, path, content, 0); if (r == -1) return -1; } { + char path[] = "/new"; char *r; suppress_error = 0; - r = guestfs_cat (g, "/new"); + r = guestfs_cat (g, path); if (r == NULL) return -1; - if (strcmp (r, "\n\n\n") != 0) { - fprintf (stderr, "test_write_file_4: expected \"\n\n\n\" but got \"%s\"\n", r); + if (strcmp (r, expected) != 0) { + fprintf (stderr, "test_write_file_4: expected \"%s\" but got \"%s\"\n", expected, r); return -1; } free (r); @@ -1909,6 +5794,15 @@ static int test_write_file_5 (void) { /* InitBasicFS for write_file (5): 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); @@ -1923,46 +5817,59 @@ static int test_write_file_5 (void) 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, "/dev/sda", 0, 0, 0, lines); + 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, "ext2", "/dev/sda1"); + 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, "/dev/sda1", "/"); + r = guestfs_mount (g, device, mountpoint); if (r == -1) return -1; } /* TestOutput for write_file (5) */ + char expected[] = "\n"; { + char path[] = "/new"; + char content[] = "\n"; int r; suppress_error = 0; - r = guestfs_write_file (g, "/new", "\n", 0); + r = guestfs_write_file (g, path, content, 0); if (r == -1) return -1; } { + char path[] = "/new"; char *r; suppress_error = 0; - r = guestfs_cat (g, "/new"); + r = guestfs_cat (g, path); if (r == NULL) return -1; - if (strcmp (r, "\n") != 0) { - fprintf (stderr, "test_write_file_5: expected \"\n\" but got \"%s\"\n", r); + if (strcmp (r, expected) != 0) { + fprintf (stderr, "test_write_file_5: expected \"%s\" but got \"%s\"\n", expected, r); return -1; } free (r); @@ -1974,6 +5881,15 @@ static int test_mkfs_0 (void) { /* InitEmpty for mkfs (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); @@ -1988,46 +5904,59 @@ static int test_mkfs_0 (void) return -1; } /* TestOutput for mkfs (0) */ + char expected[] = "new file contents"; { + char device[] = "/dev/sda"; + device[5] = devchar; + char lines_0[] = ","; char *lines[] = { - ",", + lines_0, NULL }; int r; suppress_error = 0; - r = guestfs_sfdisk (g, "/dev/sda", 0, 0, 0, lines); + 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, "ext2", "/dev/sda1"); + 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, "/dev/sda1", "/"); + r = guestfs_mount (g, device, mountpoint); if (r == -1) return -1; } { + char path[] = "/new"; + char content[] = "new file contents"; int r; suppress_error = 0; - r = guestfs_write_file (g, "/new", "new file contents", 0); + r = guestfs_write_file (g, path, content, 0); if (r == -1) return -1; } { + char path[] = "/new"; char *r; suppress_error = 0; - r = guestfs_cat (g, "/new"); + r = guestfs_cat (g, path); if (r == NULL) return -1; - if (strcmp (r, "new file contents") != 0) { - fprintf (stderr, "test_mkfs_0: expected \"new file contents\" but got \"%s\"\n", r); + if (strcmp (r, expected) != 0) { + fprintf (stderr, "test_mkfs_0: expected \"%s\" but got \"%s\"\n", expected, r); return -1; } free (r); @@ -2039,6 +5968,15 @@ static int test_lvcreate_0 (void) { /* InitEmpty for lvcreate (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); @@ -2054,94 +5992,123 @@ static int test_lvcreate_0 (void) } /* TestOutputList for lvcreate (0) */ { + char device[] = "/dev/sda"; + device[5] = devchar; + char lines_0[] = ",10"; + char lines_1[] = ",20"; + char lines_2[] = ","; char *lines[] = { - ",10", - ",20", - ",", + lines_0, + lines_1, + lines_2, NULL }; int r; suppress_error = 0; - r = guestfs_sfdisk (g, "/dev/sda", 0, 0, 0, lines); + 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, "/dev/sda1"); + r = guestfs_pvcreate (g, device); if (r == -1) return -1; } { + char device[] = "/dev/sda2"; + device[5] = devchar; int r; suppress_error = 0; - r = guestfs_pvcreate (g, "/dev/sda2"); + r = guestfs_pvcreate (g, device); if (r == -1) return -1; } { + char device[] = "/dev/sda3"; + device[5] = devchar; int r; suppress_error = 0; - r = guestfs_pvcreate (g, "/dev/sda3"); + r = guestfs_pvcreate (g, device); if (r == -1) return -1; } { + char volgroup[] = "VG1"; + char physvols_0[] = "/dev/sda1"; + physvols_0[5] = devchar; + char physvols_1[] = "/dev/sda2"; + physvols_1[5] = devchar; char *physvols[] = { - "/dev/sda1", - "/dev/sda2", + physvols_0, + physvols_1, NULL }; int r; suppress_error = 0; - r = guestfs_vgcreate (g, "VG1", physvols); + r = guestfs_vgcreate (g, volgroup, physvols); if (r == -1) return -1; } { + char volgroup[] = "VG2"; + char physvols_0[] = "/dev/sda3"; + physvols_0[5] = devchar; char *physvols[] = { - "/dev/sda3", + physvols_0, NULL }; int r; suppress_error = 0; - r = guestfs_vgcreate (g, "VG2", physvols); + r = guestfs_vgcreate (g, volgroup, physvols); if (r == -1) return -1; } { + char logvol[] = "LV1"; + char volgroup[] = "VG1"; int r; suppress_error = 0; - r = guestfs_lvcreate (g, "LV1", "VG1", 50); + r = guestfs_lvcreate (g, logvol, volgroup, 50); if (r == -1) return -1; } { + char logvol[] = "LV2"; + char volgroup[] = "VG1"; int r; suppress_error = 0; - r = guestfs_lvcreate (g, "LV2", "VG1", 50); + r = guestfs_lvcreate (g, logvol, volgroup, 50); if (r == -1) return -1; } { + char logvol[] = "LV3"; + char volgroup[] = "VG2"; int r; suppress_error = 0; - r = guestfs_lvcreate (g, "LV3", "VG2", 50); + r = guestfs_lvcreate (g, logvol, volgroup, 50); if (r == -1) return -1; } { + char logvol[] = "LV4"; + char volgroup[] = "VG2"; int r; suppress_error = 0; - r = guestfs_lvcreate (g, "LV4", "VG2", 50); + r = guestfs_lvcreate (g, logvol, volgroup, 50); if (r == -1) return -1; } { + char logvol[] = "LV5"; + char volgroup[] = "VG2"; int r; suppress_error = 0; - r = guestfs_lvcreate (g, "LV5", "VG2", 50); + r = guestfs_lvcreate (g, logvol, volgroup, 50); if (r == -1) return -1; } @@ -2157,45 +6124,60 @@ static int test_lvcreate_0 (void) print_strings (r); return -1; } - if (strcmp (r[0], "/dev/VG1/LV1") != 0) { - fprintf (stderr, "test_lvcreate_0: expected \"/dev/VG1/LV1\" but got \"%s\"\n", r[0]); - return -1; + { + char expected[] = "/dev/VG1/LV1"; + if (strcmp (r[0], expected) != 0) { + fprintf (stderr, "test_lvcreate_0: expected \"%s\" but got \"%s\"\n", expected, r[0]); + return -1; + } } if (!r[1]) { fprintf (stderr, "test_lvcreate_0: short list returned from command\n"); print_strings (r); return -1; } - if (strcmp (r[1], "/dev/VG1/LV2") != 0) { - fprintf (stderr, "test_lvcreate_0: expected \"/dev/VG1/LV2\" but got \"%s\"\n", r[1]); - return -1; + { + char expected[] = "/dev/VG1/LV2"; + if (strcmp (r[1], expected) != 0) { + fprintf (stderr, "test_lvcreate_0: expected \"%s\" but got \"%s\"\n", expected, r[1]); + return -1; + } } if (!r[2]) { fprintf (stderr, "test_lvcreate_0: short list returned from command\n"); print_strings (r); return -1; } - if (strcmp (r[2], "/dev/VG2/LV3") != 0) { - fprintf (stderr, "test_lvcreate_0: expected \"/dev/VG2/LV3\" but got \"%s\"\n", r[2]); - return -1; + { + char expected[] = "/dev/VG2/LV3"; + if (strcmp (r[2], expected) != 0) { + fprintf (stderr, "test_lvcreate_0: expected \"%s\" but got \"%s\"\n", expected, r[2]); + return -1; + } } if (!r[3]) { fprintf (stderr, "test_lvcreate_0: short list returned from command\n"); print_strings (r); return -1; } - if (strcmp (r[3], "/dev/VG2/LV4") != 0) { - fprintf (stderr, "test_lvcreate_0: expected \"/dev/VG2/LV4\" but got \"%s\"\n", r[3]); - return -1; + { + char expected[] = "/dev/VG2/LV4"; + if (strcmp (r[3], expected) != 0) { + fprintf (stderr, "test_lvcreate_0: expected \"%s\" but got \"%s\"\n", expected, r[3]); + return -1; + } } if (!r[4]) { fprintf (stderr, "test_lvcreate_0: short list returned from command\n"); print_strings (r); return -1; } - if (strcmp (r[4], "/dev/VG2/LV5") != 0) { - fprintf (stderr, "test_lvcreate_0: expected \"/dev/VG2/LV5\" but got \"%s\"\n", r[4]); - return -1; + { + char expected[] = "/dev/VG2/LV5"; + if (strcmp (r[4], expected) != 0) { + fprintf (stderr, "test_lvcreate_0: expected \"%s\" but got \"%s\"\n", expected, r[4]); + return -1; + } } if (r[5] != NULL) { fprintf (stderr, "test_lvcreate_0: extra elements returned from command\n"); @@ -2213,6 +6195,15 @@ static int test_vgcreate_0 (void) { /* InitEmpty for vgcreate (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); @@ -2228,59 +6219,78 @@ static int test_vgcreate_0 (void) } /* TestOutputList for vgcreate (0) */ { + char device[] = "/dev/sda"; + device[5] = devchar; + char lines_0[] = ",10"; + char lines_1[] = ",20"; + char lines_2[] = ","; char *lines[] = { - ",10", - ",20", - ",", + lines_0, + lines_1, + lines_2, NULL }; int r; suppress_error = 0; - r = guestfs_sfdisk (g, "/dev/sda", 0, 0, 0, lines); + 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, "/dev/sda1"); + r = guestfs_pvcreate (g, device); if (r == -1) return -1; } { + char device[] = "/dev/sda2"; + device[5] = devchar; int r; suppress_error = 0; - r = guestfs_pvcreate (g, "/dev/sda2"); + r = guestfs_pvcreate (g, device); if (r == -1) return -1; } { + char device[] = "/dev/sda3"; + device[5] = devchar; int r; suppress_error = 0; - r = guestfs_pvcreate (g, "/dev/sda3"); + r = guestfs_pvcreate (g, device); if (r == -1) return -1; } { + char volgroup[] = "VG1"; + char physvols_0[] = "/dev/sda1"; + physvols_0[5] = devchar; + char physvols_1[] = "/dev/sda2"; + physvols_1[5] = devchar; char *physvols[] = { - "/dev/sda1", - "/dev/sda2", + physvols_0, + physvols_1, NULL }; int r; suppress_error = 0; - r = guestfs_vgcreate (g, "VG1", physvols); + r = guestfs_vgcreate (g, volgroup, physvols); if (r == -1) return -1; } { + char volgroup[] = "VG2"; + char physvols_0[] = "/dev/sda3"; + physvols_0[5] = devchar; char *physvols[] = { - "/dev/sda3", + physvols_0, NULL }; int r; suppress_error = 0; - r = guestfs_vgcreate (g, "VG2", physvols); + r = guestfs_vgcreate (g, volgroup, physvols); if (r == -1) return -1; } @@ -2296,18 +6306,24 @@ static int test_vgcreate_0 (void) print_strings (r); return -1; } - if (strcmp (r[0], "VG1") != 0) { - fprintf (stderr, "test_vgcreate_0: expected \"VG1\" but got \"%s\"\n", r[0]); - return -1; + { + char expected[] = "VG1"; + if (strcmp (r[0], expected) != 0) { + fprintf (stderr, "test_vgcreate_0: expected \"%s\" but got \"%s\"\n", expected, r[0]); + return -1; + } } if (!r[1]) { fprintf (stderr, "test_vgcreate_0: short list returned from command\n"); print_strings (r); return -1; } - if (strcmp (r[1], "VG2") != 0) { - fprintf (stderr, "test_vgcreate_0: expected \"VG2\" but got \"%s\"\n", r[1]); - return -1; + { + char expected[] = "VG2"; + if (strcmp (r[1], expected) != 0) { + fprintf (stderr, "test_vgcreate_0: expected \"%s\" but got \"%s\"\n", expected, r[1]); + return -1; + } } if (r[2] != NULL) { fprintf (stderr, "test_vgcreate_0: extra elements returned from command\n"); @@ -2325,6 +6341,15 @@ static int test_pvcreate_0 (void) { /* InitEmpty for pvcreate (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); @@ -2340,36 +6365,47 @@ static int test_pvcreate_0 (void) } /* TestOutputList for pvcreate (0) */ { + char device[] = "/dev/sda"; + device[5] = devchar; + char lines_0[] = ",10"; + char lines_1[] = ",20"; + char lines_2[] = ","; char *lines[] = { - ",10", - ",20", - ",", + lines_0, + lines_1, + lines_2, NULL }; int r; suppress_error = 0; - r = guestfs_sfdisk (g, "/dev/sda", 0, 0, 0, lines); + 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, "/dev/sda1"); + r = guestfs_pvcreate (g, device); if (r == -1) return -1; } { + char device[] = "/dev/sda2"; + device[5] = devchar; int r; suppress_error = 0; - r = guestfs_pvcreate (g, "/dev/sda2"); + r = guestfs_pvcreate (g, device); if (r == -1) return -1; } { + char device[] = "/dev/sda3"; + device[5] = devchar; int r; suppress_error = 0; - r = guestfs_pvcreate (g, "/dev/sda3"); + r = guestfs_pvcreate (g, device); if (r == -1) return -1; } @@ -2385,27 +6421,39 @@ static int test_pvcreate_0 (void) print_strings (r); return -1; } - if (strcmp (r[0], "/dev/sda1") != 0) { - fprintf (stderr, "test_pvcreate_0: expected \"/dev/sda1\" but got \"%s\"\n", r[0]); - return -1; + { + char expected[] = "/dev/sda1"; + expected[5] = devchar; + if (strcmp (r[0], expected) != 0) { + fprintf (stderr, "test_pvcreate_0: expected \"%s\" but got \"%s\"\n", expected, r[0]); + return -1; + } } if (!r[1]) { fprintf (stderr, "test_pvcreate_0: short list returned from command\n"); print_strings (r); return -1; } - if (strcmp (r[1], "/dev/sda2") != 0) { - fprintf (stderr, "test_pvcreate_0: expected \"/dev/sda2\" but got \"%s\"\n", r[1]); - return -1; + { + char expected[] = "/dev/sda2"; + expected[5] = devchar; + if (strcmp (r[1], expected) != 0) { + fprintf (stderr, "test_pvcreate_0: expected \"%s\" but got \"%s\"\n", expected, r[1]); + return -1; + } } if (!r[2]) { fprintf (stderr, "test_pvcreate_0: short list returned from command\n"); print_strings (r); return -1; } - if (strcmp (r[2], "/dev/sda3") != 0) { - fprintf (stderr, "test_pvcreate_0: expected \"/dev/sda3\" but got \"%s\"\n", r[2]); - return -1; + { + char expected[] = "/dev/sda3"; + expected[5] = devchar; + if (strcmp (r[2], expected) != 0) { + fprintf (stderr, "test_pvcreate_0: expected \"%s\" but got \"%s\"\n", expected, r[2]); + return -1; + } } if (r[3] != NULL) { fprintf (stderr, "test_pvcreate_0: extra elements returned from command\n"); @@ -2423,6 +6471,15 @@ static int test_is_dir_0 (void) { /* InitBasicFS for is_dir (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); @@ -2437,42 +6494,53 @@ static int test_is_dir_0 (void) 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, "/dev/sda", 0, 0, 0, lines); + 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, "ext2", "/dev/sda1"); + 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, "/dev/sda1", "/"); + r = guestfs_mount (g, device, mountpoint); if (r == -1) return -1; } /* TestOutputFalse for is_dir (0) */ { + char path[] = "/new"; int r; suppress_error = 0; - r = guestfs_touch (g, "/new"); + r = guestfs_touch (g, path); if (r == -1) return -1; } { + char path[] = "/new"; int r; suppress_error = 0; - r = guestfs_is_dir (g, "/new"); + r = guestfs_is_dir (g, path); if (r == -1) return -1; if (r) { @@ -2487,6 +6555,15 @@ static int test_is_dir_1 (void) { /* InitBasicFS for is_dir (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); @@ -2501,42 +6578,53 @@ static int test_is_dir_1 (void) 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, "/dev/sda", 0, 0, 0, lines); + 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, "ext2", "/dev/sda1"); + 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, "/dev/sda1", "/"); + r = guestfs_mount (g, device, mountpoint); if (r == -1) return -1; } /* TestOutputTrue for is_dir (1) */ { + char path[] = "/new"; int r; suppress_error = 0; - r = guestfs_mkdir (g, "/new"); + r = guestfs_mkdir (g, path); if (r == -1) return -1; } { + char path[] = "/new"; int r; suppress_error = 0; - r = guestfs_is_dir (g, "/new"); + r = guestfs_is_dir (g, path); if (r == -1) return -1; if (!r) { @@ -2551,6 +6639,15 @@ static int test_is_file_0 (void) { /* InitBasicFS for is_file (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); @@ -2565,42 +6662,53 @@ static int test_is_file_0 (void) 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, "/dev/sda", 0, 0, 0, lines); + 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, "ext2", "/dev/sda1"); + 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, "/dev/sda1", "/"); + r = guestfs_mount (g, device, mountpoint); if (r == -1) return -1; } /* TestOutputTrue for is_file (0) */ { + char path[] = "/new"; int r; suppress_error = 0; - r = guestfs_touch (g, "/new"); + r = guestfs_touch (g, path); if (r == -1) return -1; } { + char path[] = "/new"; int r; suppress_error = 0; - r = guestfs_is_file (g, "/new"); + r = guestfs_is_file (g, path); if (r == -1) return -1; if (!r) { @@ -2615,6 +6723,15 @@ static int test_is_file_1 (void) { /* InitBasicFS for is_file (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); @@ -2629,42 +6746,53 @@ static int test_is_file_1 (void) 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, "/dev/sda", 0, 0, 0, lines); + 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, "ext2", "/dev/sda1"); + 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, "/dev/sda1", "/"); + r = guestfs_mount (g, device, mountpoint); if (r == -1) return -1; } /* TestOutputFalse for is_file (1) */ { + char path[] = "/new"; int r; suppress_error = 0; - r = guestfs_mkdir (g, "/new"); + r = guestfs_mkdir (g, path); if (r == -1) return -1; } { + char path[] = "/new"; int r; suppress_error = 0; - r = guestfs_is_file (g, "/new"); + r = guestfs_is_file (g, path); if (r == -1) return -1; if (r) { @@ -2679,6 +6807,15 @@ static int test_exists_0 (void) { /* InitBasicFS for exists (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); @@ -2693,42 +6830,53 @@ static int test_exists_0 (void) 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, "/dev/sda", 0, 0, 0, lines); + 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, "ext2", "/dev/sda1"); + 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, "/dev/sda1", "/"); + r = guestfs_mount (g, device, mountpoint); if (r == -1) return -1; } /* TestOutputTrue for exists (0) */ { + char path[] = "/new"; int r; suppress_error = 0; - r = guestfs_touch (g, "/new"); + r = guestfs_touch (g, path); if (r == -1) return -1; } { + char path[] = "/new"; int r; suppress_error = 0; - r = guestfs_exists (g, "/new"); + r = guestfs_exists (g, path); if (r == -1) return -1; if (!r) { @@ -2743,6 +6891,15 @@ static int test_exists_1 (void) { /* InitBasicFS for exists (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); @@ -2757,42 +6914,53 @@ static int test_exists_1 (void) 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, "/dev/sda", 0, 0, 0, lines); + 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, "ext2", "/dev/sda1"); + 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, "/dev/sda1", "/"); + r = guestfs_mount (g, device, mountpoint); if (r == -1) return -1; } /* TestOutputTrue for exists (1) */ { + char path[] = "/new"; int r; suppress_error = 0; - r = guestfs_mkdir (g, "/new"); + r = guestfs_mkdir (g, path); if (r == -1) return -1; } { + char path[] = "/new"; int r; suppress_error = 0; - r = guestfs_exists (g, "/new"); + r = guestfs_exists (g, path); if (r == -1) return -1; if (!r) { @@ -2807,6 +6975,15 @@ static int test_mkdir_p_0 (void) { /* InitBasicFS for mkdir_p (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); @@ -2821,42 +6998,53 @@ static int test_mkdir_p_0 (void) 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, "/dev/sda", 0, 0, 0, lines); + 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, "ext2", "/dev/sda1"); + 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, "/dev/sda1", "/"); + r = guestfs_mount (g, device, mountpoint); if (r == -1) return -1; } /* TestOutputTrue for mkdir_p (0) */ { + char path[] = "/new/foo/bar"; int r; suppress_error = 0; - r = guestfs_mkdir_p (g, "/new/foo/bar"); + r = guestfs_mkdir_p (g, path); if (r == -1) return -1; } { + char path[] = "/new/foo/bar"; int r; suppress_error = 0; - r = guestfs_is_dir (g, "/new/foo/bar"); + r = guestfs_is_dir (g, path); if (r == -1) return -1; if (!r) { @@ -2871,6 +7059,15 @@ static int test_mkdir_p_1 (void) { /* InitBasicFS for mkdir_p (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); @@ -2885,42 +7082,53 @@ static int test_mkdir_p_1 (void) 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, "/dev/sda", 0, 0, 0, lines); + 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, "ext2", "/dev/sda1"); + 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, "/dev/sda1", "/"); + r = guestfs_mount (g, device, mountpoint); if (r == -1) return -1; } /* TestOutputTrue for mkdir_p (1) */ { + char path[] = "/new/foo/bar"; int r; suppress_error = 0; - r = guestfs_mkdir_p (g, "/new/foo/bar"); + r = guestfs_mkdir_p (g, path); if (r == -1) return -1; } { + char path[] = "/new/foo"; int r; suppress_error = 0; - r = guestfs_is_dir (g, "/new/foo"); + r = guestfs_is_dir (g, path); if (r == -1) return -1; if (!r) { @@ -2935,6 +7143,15 @@ static int test_mkdir_p_2 (void) { /* InitBasicFS for mkdir_p (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); @@ -2949,42 +7166,53 @@ static int test_mkdir_p_2 (void) 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, "/dev/sda", 0, 0, 0, lines); + 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, "ext2", "/dev/sda1"); + 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, "/dev/sda1", "/"); + r = guestfs_mount (g, device, mountpoint); if (r == -1) return -1; } /* TestOutputTrue for mkdir_p (2) */ { + char path[] = "/new/foo/bar"; int r; suppress_error = 0; - r = guestfs_mkdir_p (g, "/new/foo/bar"); + r = guestfs_mkdir_p (g, path); if (r == -1) return -1; } { + char path[] = "/new"; int r; suppress_error = 0; - r = guestfs_is_dir (g, "/new"); + r = guestfs_is_dir (g, path); if (r == -1) return -1; if (!r) { @@ -2999,6 +7227,15 @@ static int test_mkdir_0 (void) { /* InitBasicFS for mkdir (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); @@ -3013,42 +7250,53 @@ static int test_mkdir_0 (void) 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, "/dev/sda", 0, 0, 0, lines); + 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, "ext2", "/dev/sda1"); + 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, "/dev/sda1", "/"); + r = guestfs_mount (g, device, mountpoint); if (r == -1) return -1; } /* TestOutputTrue for mkdir (0) */ { + char path[] = "/new"; int r; suppress_error = 0; - r = guestfs_mkdir (g, "/new"); + r = guestfs_mkdir (g, path); if (r == -1) return -1; } { + char path[] = "/new"; int r; suppress_error = 0; - r = guestfs_is_dir (g, "/new"); + r = guestfs_is_dir (g, path); if (r == -1) return -1; if (!r) { @@ -3063,6 +7311,15 @@ static int test_mkdir_1 (void) { /* InitBasicFS for mkdir (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); @@ -3077,35 +7334,45 @@ static int test_mkdir_1 (void) 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, "/dev/sda", 0, 0, 0, lines); + 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, "ext2", "/dev/sda1"); + 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, "/dev/sda1", "/"); + r = guestfs_mount (g, device, mountpoint); if (r == -1) return -1; } /* TestLastFail for mkdir (1) */ { + char path[] = "/new/foo/bar"; int r; suppress_error = 1; - r = guestfs_mkdir (g, "/new/foo/bar"); + r = guestfs_mkdir (g, path); if (r != -1) return -1; } @@ -3116,6 +7383,15 @@ static int test_rm_rf_0 (void) { /* InitBasicFS for rm_rf (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); @@ -3130,63 +7406,77 @@ static int test_rm_rf_0 (void) 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, "/dev/sda", 0, 0, 0, lines); + 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, "ext2", "/dev/sda1"); + 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, "/dev/sda1", "/"); + r = guestfs_mount (g, device, mountpoint); if (r == -1) return -1; } /* TestOutputFalse for rm_rf (0) */ { + char path[] = "/new"; int r; suppress_error = 0; - r = guestfs_mkdir (g, "/new"); + r = guestfs_mkdir (g, path); if (r == -1) return -1; } { + char path[] = "/new/foo"; int r; suppress_error = 0; - r = guestfs_mkdir (g, "/new/foo"); + r = guestfs_mkdir (g, path); if (r == -1) return -1; } { + char path[] = "/new/foo/bar"; int r; suppress_error = 0; - r = guestfs_touch (g, "/new/foo/bar"); + r = guestfs_touch (g, path); if (r == -1) return -1; } { + char path[] = "/new"; int r; suppress_error = 0; - r = guestfs_rm_rf (g, "/new"); + r = guestfs_rm_rf (g, path); if (r == -1) return -1; } { + char path[] = "/new"; int r; suppress_error = 0; - r = guestfs_exists (g, "/new"); + r = guestfs_exists (g, path); if (r == -1) return -1; if (r) { @@ -3201,6 +7491,15 @@ static int test_rmdir_0 (void) { /* InitBasicFS for rmdir (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); @@ -3215,42 +7514,53 @@ static int test_rmdir_0 (void) 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, "/dev/sda", 0, 0, 0, lines); + 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, "ext2", "/dev/sda1"); + 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, "/dev/sda1", "/"); + r = guestfs_mount (g, device, mountpoint); if (r == -1) return -1; } /* TestRun for rmdir (0) */ { + char path[] = "/new"; int r; suppress_error = 0; - r = guestfs_mkdir (g, "/new"); + r = guestfs_mkdir (g, path); if (r == -1) return -1; } { + char path[] = "/new"; int r; suppress_error = 0; - r = guestfs_rmdir (g, "/new"); + r = guestfs_rmdir (g, path); if (r == -1) return -1; } @@ -3261,6 +7571,15 @@ static int test_rmdir_1 (void) { /* InitBasicFS for rmdir (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); @@ -3275,35 +7594,45 @@ static int test_rmdir_1 (void) 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, "/dev/sda", 0, 0, 0, lines); + 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, "ext2", "/dev/sda1"); + 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, "/dev/sda1", "/"); + r = guestfs_mount (g, device, mountpoint); if (r == -1) return -1; } /* TestLastFail for rmdir (1) */ { + char path[] = "/new"; int r; suppress_error = 1; - r = guestfs_rmdir (g, "/new"); + r = guestfs_rmdir (g, path); if (r != -1) return -1; } @@ -3314,6 +7643,15 @@ static int test_rmdir_2 (void) { /* InitBasicFS for rmdir (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); @@ -3328,42 +7666,53 @@ static int test_rmdir_2 (void) 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, "/dev/sda", 0, 0, 0, lines); + 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, "ext2", "/dev/sda1"); + 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, "/dev/sda1", "/"); + r = guestfs_mount (g, device, mountpoint); if (r == -1) return -1; } /* TestLastFail for rmdir (2) */ { + char path[] = "/new"; int r; suppress_error = 0; - r = guestfs_touch (g, "/new"); + r = guestfs_touch (g, path); if (r == -1) return -1; } { + char path[] = "/new"; int r; suppress_error = 1; - r = guestfs_rmdir (g, "/new"); + r = guestfs_rmdir (g, path); if (r != -1) return -1; } @@ -3374,6 +7723,15 @@ static int test_rm_0 (void) { /* InitBasicFS for rm (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); @@ -3388,42 +7746,53 @@ static int test_rm_0 (void) 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, "/dev/sda", 0, 0, 0, lines); + 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, "ext2", "/dev/sda1"); + 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, "/dev/sda1", "/"); + r = guestfs_mount (g, device, mountpoint); if (r == -1) return -1; } /* TestRun for rm (0) */ { + char path[] = "/new"; int r; suppress_error = 0; - r = guestfs_touch (g, "/new"); + r = guestfs_touch (g, path); if (r == -1) return -1; } { + char path[] = "/new"; int r; suppress_error = 0; - r = guestfs_rm (g, "/new"); + r = guestfs_rm (g, path); if (r == -1) return -1; } @@ -3434,6 +7803,15 @@ static int test_rm_1 (void) { /* InitBasicFS for rm (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); @@ -3448,35 +7826,45 @@ static int test_rm_1 (void) 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, "/dev/sda", 0, 0, 0, lines); + 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, "ext2", "/dev/sda1"); + 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, "/dev/sda1", "/"); + r = guestfs_mount (g, device, mountpoint); if (r == -1) return -1; } /* TestLastFail for rm (1) */ { + char path[] = "/new"; int r; suppress_error = 1; - r = guestfs_rm (g, "/new"); + r = guestfs_rm (g, path); if (r != -1) return -1; } @@ -3487,6 +7875,15 @@ static int test_rm_2 (void) { /* InitBasicFS for rm (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); @@ -3501,42 +7898,53 @@ static int test_rm_2 (void) 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, "/dev/sda", 0, 0, 0, lines); + 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, "ext2", "/dev/sda1"); + 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, "/dev/sda1", "/"); + r = guestfs_mount (g, device, mountpoint); if (r == -1) return -1; } /* TestLastFail for rm (2) */ { + char path[] = "/new"; int r; suppress_error = 0; - r = guestfs_mkdir (g, "/new"); + r = guestfs_mkdir (g, path); if (r == -1) return -1; } { + char path[] = "/new"; int r; suppress_error = 1; - r = guestfs_rm (g, "/new"); + r = guestfs_rm (g, path); if (r != -1) return -1; } @@ -3547,6 +7955,15 @@ static int test_read_lines_0 (void) { /* InitBasicFS for read_lines (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); @@ -3561,43 +7978,55 @@ static int test_read_lines_0 (void) 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, "/dev/sda", 0, 0, 0, lines); + 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, "ext2", "/dev/sda1"); + 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, "/dev/sda1", "/"); + r = guestfs_mount (g, device, mountpoint); if (r == -1) return -1; } /* TestOutputList for read_lines (0) */ { + char path[] = "/new"; + char content[] = "line1\r\nline2\nline3"; int r; suppress_error = 0; - r = guestfs_write_file (g, "/new", "line1\r\nline2\nline3", 0); + r = guestfs_write_file (g, path, content, 0); if (r == -1) return -1; } { + char path[] = "/new"; char **r; int i; suppress_error = 0; - r = guestfs_read_lines (g, "/new"); + r = guestfs_read_lines (g, path); if (r == NULL) return -1; if (!r[0]) { @@ -3605,27 +8034,36 @@ static int test_read_lines_0 (void) print_strings (r); return -1; } - if (strcmp (r[0], "line1") != 0) { - fprintf (stderr, "test_read_lines_0: expected \"line1\" but got \"%s\"\n", r[0]); - return -1; + { + char expected[] = "line1"; + if (strcmp (r[0], expected) != 0) { + fprintf (stderr, "test_read_lines_0: expected \"%s\" but got \"%s\"\n", expected, r[0]); + return -1; + } } if (!r[1]) { fprintf (stderr, "test_read_lines_0: short list returned from command\n"); print_strings (r); return -1; } - if (strcmp (r[1], "line2") != 0) { - fprintf (stderr, "test_read_lines_0: expected \"line2\" but got \"%s\"\n", r[1]); - return -1; + { + char expected[] = "line2"; + if (strcmp (r[1], expected) != 0) { + fprintf (stderr, "test_read_lines_0: expected \"%s\" but got \"%s\"\n", expected, r[1]); + return -1; + } } if (!r[2]) { fprintf (stderr, "test_read_lines_0: short list returned from command\n"); print_strings (r); return -1; } - if (strcmp (r[2], "line3") != 0) { - fprintf (stderr, "test_read_lines_0: expected \"line3\" but got \"%s\"\n", r[2]); - return -1; + { + char expected[] = "line3"; + if (strcmp (r[2], expected) != 0) { + fprintf (stderr, "test_read_lines_0: expected \"%s\" but got \"%s\"\n", expected, r[2]); + return -1; + } } if (r[3] != NULL) { fprintf (stderr, "test_read_lines_0: extra elements returned from command\n"); @@ -3643,6 +8081,15 @@ static int test_read_lines_1 (void) { /* InitBasicFS for read_lines (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); @@ -3657,43 +8104,55 @@ static int test_read_lines_1 (void) 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, "/dev/sda", 0, 0, 0, lines); + 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, "ext2", "/dev/sda1"); + 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, "/dev/sda1", "/"); + r = guestfs_mount (g, device, mountpoint); if (r == -1) return -1; } /* TestOutputList for read_lines (1) */ { + char path[] = "/new"; + char content[] = ""; int r; suppress_error = 0; - r = guestfs_write_file (g, "/new", "", 0); + r = guestfs_write_file (g, path, content, 0); if (r == -1) return -1; } { + char path[] = "/new"; char **r; int i; suppress_error = 0; - r = guestfs_read_lines (g, "/new"); + r = guestfs_read_lines (g, path); if (r == NULL) return -1; if (r[0] != NULL) { @@ -3712,6 +8171,15 @@ static int test_lvs_0 (void) { /* InitBasicFSonLVM for lvs (0): create ext2 on /dev/VG/LV */ { + 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); @@ -3726,52 +8194,66 @@ static int test_lvs_0 (void) 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, "/dev/sda", 0, 0, 0, lines); + 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, "/dev/sda1"); + r = guestfs_pvcreate (g, device); if (r == -1) return -1; } { + char volgroup[] = "VG"; + char physvols_0[] = "/dev/sda1"; + physvols_0[5] = devchar; char *physvols[] = { - "/dev/sda1", + physvols_0, NULL }; int r; suppress_error = 0; - r = guestfs_vgcreate (g, "VG", physvols); + 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, "LV", "VG", 8); + r = guestfs_lvcreate (g, logvol, volgroup, 8); if (r == -1) return -1; } { + char fstype[] = "ext2"; + char device[] = "/dev/VG/LV"; int r; suppress_error = 0; - r = guestfs_mkfs (g, "ext2", "/dev/VG/LV"); + 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, "/dev/VG/LV", "/"); + r = guestfs_mount (g, device, mountpoint); if (r == -1) return -1; } @@ -3788,9 +8270,12 @@ static int test_lvs_0 (void) print_strings (r); return -1; } - if (strcmp (r[0], "/dev/VG/LV") != 0) { - fprintf (stderr, "test_lvs_0: expected \"/dev/VG/LV\" but got \"%s\"\n", r[0]); - return -1; + { + char expected[] = "/dev/VG/LV"; + if (strcmp (r[0], expected) != 0) { + fprintf (stderr, "test_lvs_0: expected \"%s\" but got \"%s\"\n", expected, r[0]); + return -1; + } } if (r[1] != NULL) { fprintf (stderr, "test_lvs_0: extra elements returned from command\n"); @@ -3808,6 +8293,15 @@ static int test_lvs_1 (void) { /* InitEmpty for lvs (1) */ { + 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); @@ -3823,80 +8317,105 @@ static int test_lvs_1 (void) } /* TestOutputList for lvs (1) */ { + char device[] = "/dev/sda"; + device[5] = devchar; + char lines_0[] = ",10"; + char lines_1[] = ",20"; + char lines_2[] = ","; char *lines[] = { - ",10", - ",20", - ",", + lines_0, + lines_1, + lines_2, NULL }; int r; suppress_error = 0; - r = guestfs_sfdisk (g, "/dev/sda", 0, 0, 0, lines); + 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, "/dev/sda1"); + r = guestfs_pvcreate (g, device); if (r == -1) return -1; } { + char device[] = "/dev/sda2"; + device[5] = devchar; int r; suppress_error = 0; - r = guestfs_pvcreate (g, "/dev/sda2"); + r = guestfs_pvcreate (g, device); if (r == -1) return -1; } { + char device[] = "/dev/sda3"; + device[5] = devchar; int r; suppress_error = 0; - r = guestfs_pvcreate (g, "/dev/sda3"); + r = guestfs_pvcreate (g, device); if (r == -1) return -1; } { + char volgroup[] = "VG1"; + char physvols_0[] = "/dev/sda1"; + physvols_0[5] = devchar; + char physvols_1[] = "/dev/sda2"; + physvols_1[5] = devchar; char *physvols[] = { - "/dev/sda1", - "/dev/sda2", + physvols_0, + physvols_1, NULL }; int r; suppress_error = 0; - r = guestfs_vgcreate (g, "VG1", physvols); + r = guestfs_vgcreate (g, volgroup, physvols); if (r == -1) return -1; } { + char volgroup[] = "VG2"; + char physvols_0[] = "/dev/sda3"; + physvols_0[5] = devchar; char *physvols[] = { - "/dev/sda3", + physvols_0, NULL }; int r; suppress_error = 0; - r = guestfs_vgcreate (g, "VG2", physvols); + r = guestfs_vgcreate (g, volgroup, physvols); if (r == -1) return -1; } { + char logvol[] = "LV1"; + char volgroup[] = "VG1"; int r; suppress_error = 0; - r = guestfs_lvcreate (g, "LV1", "VG1", 50); + r = guestfs_lvcreate (g, logvol, volgroup, 50); if (r == -1) return -1; } { + char logvol[] = "LV2"; + char volgroup[] = "VG1"; int r; suppress_error = 0; - r = guestfs_lvcreate (g, "LV2", "VG1", 50); + r = guestfs_lvcreate (g, logvol, volgroup, 50); if (r == -1) return -1; } { + char logvol[] = "LV3"; + char volgroup[] = "VG2"; int r; suppress_error = 0; - r = guestfs_lvcreate (g, "LV3", "VG2", 50); + r = guestfs_lvcreate (g, logvol, volgroup, 50); if (r == -1) return -1; } @@ -3912,27 +8431,36 @@ static int test_lvs_1 (void) print_strings (r); return -1; } - if (strcmp (r[0], "/dev/VG1/LV1") != 0) { - fprintf (stderr, "test_lvs_1: expected \"/dev/VG1/LV1\" but got \"%s\"\n", r[0]); - return -1; + { + char expected[] = "/dev/VG1/LV1"; + if (strcmp (r[0], expected) != 0) { + fprintf (stderr, "test_lvs_1: expected \"%s\" but got \"%s\"\n", expected, r[0]); + return -1; + } } if (!r[1]) { fprintf (stderr, "test_lvs_1: short list returned from command\n"); print_strings (r); return -1; } - if (strcmp (r[1], "/dev/VG1/LV2") != 0) { - fprintf (stderr, "test_lvs_1: expected \"/dev/VG1/LV2\" but got \"%s\"\n", r[1]); - return -1; + { + char expected[] = "/dev/VG1/LV2"; + if (strcmp (r[1], expected) != 0) { + fprintf (stderr, "test_lvs_1: expected \"%s\" but got \"%s\"\n", expected, r[1]); + return -1; + } } if (!r[2]) { fprintf (stderr, "test_lvs_1: short list returned from command\n"); print_strings (r); return -1; } - if (strcmp (r[2], "/dev/VG2/LV3") != 0) { - fprintf (stderr, "test_lvs_1: expected \"/dev/VG2/LV3\" but got \"%s\"\n", r[2]); - return -1; + { + char expected[] = "/dev/VG2/LV3"; + if (strcmp (r[2], expected) != 0) { + fprintf (stderr, "test_lvs_1: expected \"%s\" but got \"%s\"\n", expected, r[2]); + return -1; + } } if (r[3] != NULL) { fprintf (stderr, "test_lvs_1: extra elements returned from command\n"); @@ -3950,6 +8478,15 @@ static int test_vgs_0 (void) { /* InitBasicFSonLVM for vgs (0): create ext2 on /dev/VG/LV */ { + 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); @@ -3964,52 +8501,66 @@ static int test_vgs_0 (void) 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, "/dev/sda", 0, 0, 0, lines); + 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, "/dev/sda1"); + r = guestfs_pvcreate (g, device); if (r == -1) return -1; } { + char volgroup[] = "VG"; + char physvols_0[] = "/dev/sda1"; + physvols_0[5] = devchar; char *physvols[] = { - "/dev/sda1", + physvols_0, NULL }; int r; suppress_error = 0; - r = guestfs_vgcreate (g, "VG", physvols); + 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, "LV", "VG", 8); + r = guestfs_lvcreate (g, logvol, volgroup, 8); if (r == -1) return -1; } { + char fstype[] = "ext2"; + char device[] = "/dev/VG/LV"; int r; suppress_error = 0; - r = guestfs_mkfs (g, "ext2", "/dev/VG/LV"); + 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, "/dev/VG/LV", "/"); + r = guestfs_mount (g, device, mountpoint); if (r == -1) return -1; } @@ -4026,9 +8577,12 @@ static int test_vgs_0 (void) print_strings (r); return -1; } - if (strcmp (r[0], "VG") != 0) { - fprintf (stderr, "test_vgs_0: expected \"VG\" but got \"%s\"\n", r[0]); - return -1; + { + char expected[] = "VG"; + if (strcmp (r[0], expected) != 0) { + fprintf (stderr, "test_vgs_0: expected \"%s\" but got \"%s\"\n", expected, r[0]); + return -1; + } } if (r[1] != NULL) { fprintf (stderr, "test_vgs_0: extra elements returned from command\n"); @@ -4046,6 +8600,15 @@ static int test_vgs_1 (void) { /* InitEmpty for vgs (1) */ { + 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); @@ -4061,59 +8624,78 @@ static int test_vgs_1 (void) } /* TestOutputList for vgs (1) */ { + char device[] = "/dev/sda"; + device[5] = devchar; + char lines_0[] = ",10"; + char lines_1[] = ",20"; + char lines_2[] = ","; char *lines[] = { - ",10", - ",20", - ",", + lines_0, + lines_1, + lines_2, NULL }; int r; suppress_error = 0; - r = guestfs_sfdisk (g, "/dev/sda", 0, 0, 0, lines); + 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, "/dev/sda1"); + r = guestfs_pvcreate (g, device); if (r == -1) return -1; } { + char device[] = "/dev/sda2"; + device[5] = devchar; int r; suppress_error = 0; - r = guestfs_pvcreate (g, "/dev/sda2"); + r = guestfs_pvcreate (g, device); if (r == -1) return -1; } { + char device[] = "/dev/sda3"; + device[5] = devchar; int r; suppress_error = 0; - r = guestfs_pvcreate (g, "/dev/sda3"); + r = guestfs_pvcreate (g, device); if (r == -1) return -1; } { + char volgroup[] = "VG1"; + char physvols_0[] = "/dev/sda1"; + physvols_0[5] = devchar; + char physvols_1[] = "/dev/sda2"; + physvols_1[5] = devchar; char *physvols[] = { - "/dev/sda1", - "/dev/sda2", + physvols_0, + physvols_1, NULL }; int r; suppress_error = 0; - r = guestfs_vgcreate (g, "VG1", physvols); + r = guestfs_vgcreate (g, volgroup, physvols); if (r == -1) return -1; } { + char volgroup[] = "VG2"; + char physvols_0[] = "/dev/sda3"; + physvols_0[5] = devchar; char *physvols[] = { - "/dev/sda3", + physvols_0, NULL }; int r; suppress_error = 0; - r = guestfs_vgcreate (g, "VG2", physvols); + r = guestfs_vgcreate (g, volgroup, physvols); if (r == -1) return -1; } @@ -4129,18 +8711,24 @@ static int test_vgs_1 (void) print_strings (r); return -1; } - if (strcmp (r[0], "VG1") != 0) { - fprintf (stderr, "test_vgs_1: expected \"VG1\" but got \"%s\"\n", r[0]); - return -1; + { + char expected[] = "VG1"; + if (strcmp (r[0], expected) != 0) { + fprintf (stderr, "test_vgs_1: expected \"%s\" but got \"%s\"\n", expected, r[0]); + return -1; + } } if (!r[1]) { fprintf (stderr, "test_vgs_1: short list returned from command\n"); print_strings (r); return -1; } - if (strcmp (r[1], "VG2") != 0) { - fprintf (stderr, "test_vgs_1: expected \"VG2\" but got \"%s\"\n", r[1]); - return -1; + { + char expected[] = "VG2"; + if (strcmp (r[1], expected) != 0) { + fprintf (stderr, "test_vgs_1: expected \"%s\" but got \"%s\"\n", expected, r[1]); + return -1; + } } if (r[2] != NULL) { fprintf (stderr, "test_vgs_1: extra elements returned from command\n"); @@ -4158,6 +8746,15 @@ static int test_pvs_0 (void) { /* InitBasicFSonLVM for pvs (0): create ext2 on /dev/VG/LV */ { + 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); @@ -4172,52 +8769,66 @@ static int test_pvs_0 (void) 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, "/dev/sda", 0, 0, 0, lines); + 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, "/dev/sda1"); + r = guestfs_pvcreate (g, device); if (r == -1) return -1; } { + char volgroup[] = "VG"; + char physvols_0[] = "/dev/sda1"; + physvols_0[5] = devchar; char *physvols[] = { - "/dev/sda1", + physvols_0, NULL }; int r; suppress_error = 0; - r = guestfs_vgcreate (g, "VG", physvols); + 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, "LV", "VG", 8); + r = guestfs_lvcreate (g, logvol, volgroup, 8); if (r == -1) return -1; } { + char fstype[] = "ext2"; + char device[] = "/dev/VG/LV"; int r; suppress_error = 0; - r = guestfs_mkfs (g, "ext2", "/dev/VG/LV"); + 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, "/dev/VG/LV", "/"); + r = guestfs_mount (g, device, mountpoint); if (r == -1) return -1; } @@ -4234,9 +8845,13 @@ static int test_pvs_0 (void) print_strings (r); return -1; } - if (strcmp (r[0], "/dev/sda1") != 0) { - fprintf (stderr, "test_pvs_0: expected \"/dev/sda1\" but got \"%s\"\n", r[0]); - return -1; + { + char expected[] = "/dev/sda1"; + expected[5] = devchar; + if (strcmp (r[0], expected) != 0) { + fprintf (stderr, "test_pvs_0: expected \"%s\" but got \"%s\"\n", expected, r[0]); + return -1; + } } if (r[1] != NULL) { fprintf (stderr, "test_pvs_0: extra elements returned from command\n"); @@ -4254,6 +8869,15 @@ static int test_pvs_1 (void) { /* InitEmpty for pvs (1) */ { + 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); @@ -4269,36 +8893,47 @@ static int test_pvs_1 (void) } /* TestOutputList for pvs (1) */ { + char device[] = "/dev/sda"; + device[5] = devchar; + char lines_0[] = ",10"; + char lines_1[] = ",20"; + char lines_2[] = ","; char *lines[] = { - ",10", - ",20", - ",", + lines_0, + lines_1, + lines_2, NULL }; int r; suppress_error = 0; - r = guestfs_sfdisk (g, "/dev/sda", 0, 0, 0, lines); + 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, "/dev/sda1"); + r = guestfs_pvcreate (g, device); if (r == -1) return -1; } { + char device[] = "/dev/sda2"; + device[5] = devchar; int r; suppress_error = 0; - r = guestfs_pvcreate (g, "/dev/sda2"); + r = guestfs_pvcreate (g, device); if (r == -1) return -1; } { + char device[] = "/dev/sda3"; + device[5] = devchar; int r; suppress_error = 0; - r = guestfs_pvcreate (g, "/dev/sda3"); + r = guestfs_pvcreate (g, device); if (r == -1) return -1; } @@ -4314,27 +8949,39 @@ static int test_pvs_1 (void) print_strings (r); return -1; } - if (strcmp (r[0], "/dev/sda1") != 0) { - fprintf (stderr, "test_pvs_1: expected \"/dev/sda1\" but got \"%s\"\n", r[0]); - return -1; + { + char expected[] = "/dev/sda1"; + expected[5] = devchar; + if (strcmp (r[0], expected) != 0) { + fprintf (stderr, "test_pvs_1: expected \"%s\" but got \"%s\"\n", expected, r[0]); + return -1; + } } if (!r[1]) { fprintf (stderr, "test_pvs_1: short list returned from command\n"); print_strings (r); return -1; } - if (strcmp (r[1], "/dev/sda2") != 0) { - fprintf (stderr, "test_pvs_1: expected \"/dev/sda2\" but got \"%s\"\n", r[1]); - return -1; + { + char expected[] = "/dev/sda2"; + expected[5] = devchar; + if (strcmp (r[1], expected) != 0) { + fprintf (stderr, "test_pvs_1: expected \"%s\" but got \"%s\"\n", expected, r[1]); + return -1; + } } if (!r[2]) { fprintf (stderr, "test_pvs_1: short list returned from command\n"); print_strings (r); return -1; } - if (strcmp (r[2], "/dev/sda3") != 0) { - fprintf (stderr, "test_pvs_1: expected \"/dev/sda3\" but got \"%s\"\n", r[2]); - return -1; + { + char expected[] = "/dev/sda3"; + expected[5] = devchar; + if (strcmp (r[2], expected) != 0) { + fprintf (stderr, "test_pvs_1: expected \"%s\" but got \"%s\"\n", expected, r[2]); + return -1; + } } if (r[3] != NULL) { fprintf (stderr, "test_pvs_1: extra elements returned from command\n"); @@ -4352,6 +8999,15 @@ static int test_list_partitions_0 (void) { /* InitBasicFS for list_partitions (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); @@ -4366,27 +9022,36 @@ static int test_list_partitions_0 (void) 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, "/dev/sda", 0, 0, 0, lines); + 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, "ext2", "/dev/sda1"); + 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, "/dev/sda1", "/"); + r = guestfs_mount (g, device, mountpoint); if (r == -1) return -1; } @@ -4403,9 +9068,13 @@ static int test_list_partitions_0 (void) print_strings (r); return -1; } - if (strcmp (r[0], "/dev/sda1") != 0) { - fprintf (stderr, "test_list_partitions_0: expected \"/dev/sda1\" but got \"%s\"\n", r[0]); - return -1; + { + char expected[] = "/dev/sda1"; + expected[5] = devchar; + if (strcmp (r[0], expected) != 0) { + fprintf (stderr, "test_list_partitions_0: expected \"%s\" but got \"%s\"\n", expected, r[0]); + return -1; + } } if (r[1] != NULL) { fprintf (stderr, "test_list_partitions_0: extra elements returned from command\n"); @@ -4423,6 +9092,15 @@ static int test_list_partitions_1 (void) { /* InitEmpty for list_partitions (1) */ { + 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); @@ -4438,15 +9116,20 @@ static int test_list_partitions_1 (void) } /* TestOutputList for list_partitions (1) */ { + char device[] = "/dev/sda"; + device[5] = devchar; + char lines_0[] = ",10"; + char lines_1[] = ",20"; + char lines_2[] = ","; char *lines[] = { - ",10", - ",20", - ",", + lines_0, + lines_1, + lines_2, NULL }; int r; suppress_error = 0; - r = guestfs_sfdisk (g, "/dev/sda", 0, 0, 0, lines); + r = guestfs_sfdisk (g, device, 0, 0, 0, lines); if (r == -1) return -1; } @@ -4462,27 +9145,39 @@ static int test_list_partitions_1 (void) print_strings (r); return -1; } - if (strcmp (r[0], "/dev/sda1") != 0) { - fprintf (stderr, "test_list_partitions_1: expected \"/dev/sda1\" but got \"%s\"\n", r[0]); - return -1; + { + char expected[] = "/dev/sda1"; + expected[5] = devchar; + if (strcmp (r[0], expected) != 0) { + fprintf (stderr, "test_list_partitions_1: expected \"%s\" but got \"%s\"\n", expected, r[0]); + return -1; + } } if (!r[1]) { fprintf (stderr, "test_list_partitions_1: short list returned from command\n"); print_strings (r); return -1; } - if (strcmp (r[1], "/dev/sda2") != 0) { - fprintf (stderr, "test_list_partitions_1: expected \"/dev/sda2\" but got \"%s\"\n", r[1]); - return -1; + { + char expected[] = "/dev/sda2"; + expected[5] = devchar; + if (strcmp (r[1], expected) != 0) { + fprintf (stderr, "test_list_partitions_1: expected \"%s\" but got \"%s\"\n", expected, r[1]); + return -1; + } } if (!r[2]) { fprintf (stderr, "test_list_partitions_1: short list returned from command\n"); print_strings (r); return -1; } - if (strcmp (r[2], "/dev/sda3") != 0) { - fprintf (stderr, "test_list_partitions_1: expected \"/dev/sda3\" but got \"%s\"\n", r[2]); - return -1; + { + char expected[] = "/dev/sda3"; + expected[5] = devchar; + if (strcmp (r[2], expected) != 0) { + fprintf (stderr, "test_list_partitions_1: expected \"%s\" but got \"%s\"\n", expected, r[2]); + return -1; + } } if (r[3] != NULL) { fprintf (stderr, "test_list_partitions_1: extra elements returned from command\n"); @@ -4500,6 +9195,15 @@ static int test_list_devices_0 (void) { /* InitEmpty for list_devices (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); @@ -4526,27 +9230,39 @@ static int test_list_devices_0 (void) print_strings (r); return -1; } - if (strcmp (r[0], "/dev/sda") != 0) { - fprintf (stderr, "test_list_devices_0: expected \"/dev/sda\" but got \"%s\"\n", r[0]); - return -1; + { + char expected[] = "/dev/sda"; + expected[5] = devchar; + if (strcmp (r[0], expected) != 0) { + fprintf (stderr, "test_list_devices_0: expected \"%s\" but got \"%s\"\n", expected, r[0]); + return -1; + } } if (!r[1]) { fprintf (stderr, "test_list_devices_0: short list returned from command\n"); print_strings (r); return -1; } - if (strcmp (r[1], "/dev/sdb") != 0) { - fprintf (stderr, "test_list_devices_0: expected \"/dev/sdb\" but got \"%s\"\n", r[1]); - return -1; + { + char expected[] = "/dev/sdb"; + expected[5] = devchar; + if (strcmp (r[1], expected) != 0) { + fprintf (stderr, "test_list_devices_0: expected \"%s\" but got \"%s\"\n", expected, r[1]); + return -1; + } } if (!r[2]) { fprintf (stderr, "test_list_devices_0: short list returned from command\n"); print_strings (r); return -1; } - if (strcmp (r[2], "/dev/sdc") != 0) { - fprintf (stderr, "test_list_devices_0: expected \"/dev/sdc\" but got \"%s\"\n", r[2]); - return -1; + { + char expected[] = "/dev/sdc"; + expected[5] = devchar; + if (strcmp (r[2], expected) != 0) { + fprintf (stderr, "test_list_devices_0: expected \"%s\" but got \"%s\"\n", expected, r[2]); + return -1; + } } if (r[3] != NULL) { fprintf (stderr, "test_list_devices_0: extra elements returned from command\n"); @@ -4564,6 +9280,15 @@ static int test_ls_0 (void) { /* InitBasicFS for ls (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); @@ -4578,57 +9303,70 @@ static int test_ls_0 (void) 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, "/dev/sda", 0, 0, 0, lines); + 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, "ext2", "/dev/sda1"); + 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, "/dev/sda1", "/"); + r = guestfs_mount (g, device, mountpoint); if (r == -1) return -1; } /* TestOutputList for ls (0) */ { + char path[] = "/new"; int r; suppress_error = 0; - r = guestfs_touch (g, "/new"); + r = guestfs_touch (g, path); if (r == -1) return -1; } { + char path[] = "/newer"; int r; suppress_error = 0; - r = guestfs_touch (g, "/newer"); + r = guestfs_touch (g, path); if (r == -1) return -1; } { + char path[] = "/newest"; int r; suppress_error = 0; - r = guestfs_touch (g, "/newest"); + r = guestfs_touch (g, path); if (r == -1) return -1; } { + char directory[] = "/"; char **r; int i; suppress_error = 0; - r = guestfs_ls (g, "/"); + r = guestfs_ls (g, directory); if (r == NULL) return -1; if (!r[0]) { @@ -4636,36 +9374,48 @@ static int test_ls_0 (void) print_strings (r); return -1; } - if (strcmp (r[0], "lost+found") != 0) { - fprintf (stderr, "test_ls_0: expected \"lost+found\" but got \"%s\"\n", r[0]); - return -1; + { + char expected[] = "lost+found"; + if (strcmp (r[0], expected) != 0) { + fprintf (stderr, "test_ls_0: expected \"%s\" but got \"%s\"\n", expected, r[0]); + return -1; + } } if (!r[1]) { fprintf (stderr, "test_ls_0: short list returned from command\n"); print_strings (r); return -1; } - if (strcmp (r[1], "new") != 0) { - fprintf (stderr, "test_ls_0: expected \"new\" but got \"%s\"\n", r[1]); - return -1; + { + char expected[] = "new"; + if (strcmp (r[1], expected) != 0) { + fprintf (stderr, "test_ls_0: expected \"%s\" but got \"%s\"\n", expected, r[1]); + return -1; + } } if (!r[2]) { fprintf (stderr, "test_ls_0: short list returned from command\n"); print_strings (r); return -1; } - if (strcmp (r[2], "newer") != 0) { - fprintf (stderr, "test_ls_0: expected \"newer\" but got \"%s\"\n", r[2]); - return -1; + { + char expected[] = "newer"; + if (strcmp (r[2], expected) != 0) { + fprintf (stderr, "test_ls_0: expected \"%s\" but got \"%s\"\n", expected, r[2]); + return -1; + } } if (!r[3]) { fprintf (stderr, "test_ls_0: short list returned from command\n"); print_strings (r); return -1; } - if (strcmp (r[3], "newest") != 0) { - fprintf (stderr, "test_ls_0: expected \"newest\" but got \"%s\"\n", r[3]); - return -1; + { + char expected[] = "newest"; + if (strcmp (r[3], expected) != 0) { + fprintf (stderr, "test_ls_0: expected \"%s\" but got \"%s\"\n", expected, r[3]); + return -1; + } } if (r[4] != NULL) { fprintf (stderr, "test_ls_0: extra elements returned from command\n"); @@ -4683,6 +9433,15 @@ static int test_cat_0 (void) { /* InitBasicFS for cat (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); @@ -4697,46 +9456,59 @@ static int test_cat_0 (void) 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, "/dev/sda", 0, 0, 0, lines); + 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, "ext2", "/dev/sda1"); + 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, "/dev/sda1", "/"); + r = guestfs_mount (g, device, mountpoint); if (r == -1) return -1; } /* TestOutput for cat (0) */ + char expected[] = "new file contents"; { + char path[] = "/new"; + char content[] = "new file contents"; int r; suppress_error = 0; - r = guestfs_write_file (g, "/new", "new file contents", 0); + r = guestfs_write_file (g, path, content, 0); if (r == -1) return -1; } { + char path[] = "/new"; char *r; suppress_error = 0; - r = guestfs_cat (g, "/new"); + r = guestfs_cat (g, path); if (r == NULL) return -1; - if (strcmp (r, "new file contents") != 0) { - fprintf (stderr, "test_cat_0: expected \"new file contents\" but got \"%s\"\n", r); + if (strcmp (r, expected) != 0) { + fprintf (stderr, "test_cat_0: expected \"%s\" but got \"%s\"\n", expected, r); return -1; } free (r); @@ -4748,6 +9520,15 @@ static int test_touch_0 (void) { /* InitBasicFS for touch (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); @@ -4762,42 +9543,53 @@ static int test_touch_0 (void) 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, "/dev/sda", 0, 0, 0, lines); + 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, "ext2", "/dev/sda1"); + 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, "/dev/sda1", "/"); + r = guestfs_mount (g, device, mountpoint); if (r == -1) return -1; } /* TestOutputTrue for touch (0) */ { + char path[] = "/new"; int r; suppress_error = 0; - r = guestfs_touch (g, "/new"); + r = guestfs_touch (g, path); if (r == -1) return -1; } { + char path[] = "/new"; int r; suppress_error = 0; - r = guestfs_exists (g, "/new"); + r = guestfs_exists (g, path); if (r == -1) return -1; if (!r) { @@ -4812,6 +9604,15 @@ static int test_sync_0 (void) { /* InitEmpty for sync (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); @@ -4840,6 +9641,15 @@ static int test_mount_0 (void) { /* InitEmpty for mount (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); @@ -4854,46 +9664,59 @@ static int test_mount_0 (void) return -1; } /* TestOutput for mount (0) */ + char expected[] = "new file contents"; { + char device[] = "/dev/sda"; + device[5] = devchar; + char lines_0[] = ","; char *lines[] = { - ",", + lines_0, NULL }; int r; suppress_error = 0; - r = guestfs_sfdisk (g, "/dev/sda", 0, 0, 0, lines); + 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, "ext2", "/dev/sda1"); + 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, "/dev/sda1", "/"); + r = guestfs_mount (g, device, mountpoint); if (r == -1) return -1; } { + char path[] = "/new"; + char content[] = "new file contents"; int r; suppress_error = 0; - r = guestfs_write_file (g, "/new", "new file contents", 0); + r = guestfs_write_file (g, path, content, 0); if (r == -1) return -1; } { + char path[] = "/new"; char *r; suppress_error = 0; - r = guestfs_cat (g, "/new"); + r = guestfs_cat (g, path); if (r == NULL) return -1; - if (strcmp (r, "new file contents") != 0) { - fprintf (stderr, "test_mount_0: expected \"new file contents\" but got \"%s\"\n", r); + if (strcmp (r, expected) != 0) { + fprintf (stderr, "test_mount_0: expected \"%s\" but got \"%s\"\n", expected, r); return -1; } free (r); @@ -4906,9 +9729,10 @@ int main (int argc, char *argv[]) char c = 0; int failed = 0; const char *srcdir; - int fd; - char buf[256]; + const char *filename; + int fd, i; int nr_tests, test_num = 0; + char **devs; no_test_warnings (); @@ -4922,89 +9746,90 @@ int main (int argc, char *argv[]) srcdir = getenv ("srcdir"); if (!srcdir) srcdir = "."; - guestfs_set_path (g, srcdir); + chdir (srcdir); + guestfs_set_path (g, "."); - snprintf (buf, sizeof buf, "%s/test1.img", srcdir); - fd = open (buf, O_WRONLY|O_CREAT|O_NOCTTY|O_NONBLOCK|O_TRUNC, 0666); + filename = "test1.img"; + fd = open (filename, O_WRONLY|O_CREAT|O_NOCTTY|O_NONBLOCK|O_TRUNC, 0666); if (fd == -1) { - perror (buf); + perror (filename); exit (1); } if (lseek (fd, 524288000, SEEK_SET) == -1) { perror ("lseek"); close (fd); - unlink (buf); + unlink (filename); exit (1); } if (write (fd, &c, 1) == -1) { perror ("write"); close (fd); - unlink (buf); + unlink (filename); exit (1); } if (close (fd) == -1) { - perror (buf); - unlink (buf); + perror (filename); + unlink (filename); exit (1); } - if (guestfs_add_drive (g, buf) == -1) { - printf ("guestfs_add_drive %s FAILED\n", buf); + if (guestfs_add_drive (g, filename) == -1) { + printf ("guestfs_add_drive %s FAILED\n", filename); exit (1); } - snprintf (buf, sizeof buf, "%s/test2.img", srcdir); - fd = open (buf, O_WRONLY|O_CREAT|O_NOCTTY|O_NONBLOCK|O_TRUNC, 0666); + filename = "test2.img"; + fd = open (filename, O_WRONLY|O_CREAT|O_NOCTTY|O_NONBLOCK|O_TRUNC, 0666); if (fd == -1) { - perror (buf); + perror (filename); exit (1); } if (lseek (fd, 52428800, SEEK_SET) == -1) { perror ("lseek"); close (fd); - unlink (buf); + unlink (filename); exit (1); } if (write (fd, &c, 1) == -1) { perror ("write"); close (fd); - unlink (buf); + unlink (filename); exit (1); } if (close (fd) == -1) { - perror (buf); - unlink (buf); + perror (filename); + unlink (filename); exit (1); } - if (guestfs_add_drive (g, buf) == -1) { - printf ("guestfs_add_drive %s FAILED\n", buf); + if (guestfs_add_drive (g, filename) == -1) { + printf ("guestfs_add_drive %s FAILED\n", filename); exit (1); } - snprintf (buf, sizeof buf, "%s/test3.img", srcdir); - fd = open (buf, O_WRONLY|O_CREAT|O_NOCTTY|O_NONBLOCK|O_TRUNC, 0666); + filename = "test3.img"; + fd = open (filename, O_WRONLY|O_CREAT|O_NOCTTY|O_NONBLOCK|O_TRUNC, 0666); if (fd == -1) { - perror (buf); + perror (filename); exit (1); } if (lseek (fd, 10485760, SEEK_SET) == -1) { perror ("lseek"); close (fd); - unlink (buf); + unlink (filename); exit (1); } if (write (fd, &c, 1) == -1) { perror ("write"); close (fd); - unlink (buf); + unlink (filename); exit (1); } if (close (fd) == -1) { - perror (buf); - unlink (buf); + perror (filename); + unlink (filename); exit (1); } - if (guestfs_add_drive (g, buf) == -1) { - printf ("guestfs_add_drive %s FAILED\n", buf); + if (guestfs_add_drive (g, filename) == -1) { + printf ("guestfs_add_drive %s FAILED\n", filename); exit (1); } @@ -5017,9 +9842,229 @@ int main (int argc, char *argv[]) exit (1); } - nr_tests = 71; + /* Detect if the appliance uses /dev/sd* or /dev/hd* in device + * names. This changed between RHEL 5 and RHEL 6 so we have to + * support both. + */ + devs = guestfs_list_devices (g); + if (devs == NULL || devs[0] == NULL) { + printf ("guestfs_list_devices FAILED\n"); + exit (1); + } + if (strncmp (devs[0], "/dev/sd", 7) == 0) + devchar = 's'; + else if (strncmp (devs[0], "/dev/hd", 7) == 0) + devchar = 'h'; + else { + printf ("guestfs_list_devices returned unexpected string '%s'\n", + devs[0]); + exit (1); + } + for (i = 0; devs[i] != NULL; ++i) + free (devs[i]); + free (devs); + + nr_tests = 107; test_num++; + printf ("%3d/%3d test_equal_0\n", test_num, nr_tests); + if (test_equal_0 () == -1) { + printf ("test_equal_0 FAILED\n"); + failed++; + } + test_num++; + printf ("%3d/%3d test_equal_1\n", test_num, nr_tests); + if (test_equal_1 () == -1) { + printf ("test_equal_1 FAILED\n"); + failed++; + } + test_num++; + printf ("%3d/%3d test_equal_2\n", test_num, nr_tests); + if (test_equal_2 () == -1) { + printf ("test_equal_2 FAILED\n"); + failed++; + } + test_num++; + printf ("%3d/%3d test_ping_daemon_0\n", test_num, nr_tests); + if (test_ping_daemon_0 () == -1) { + printf ("test_ping_daemon_0 FAILED\n"); + failed++; + } + test_num++; + printf ("%3d/%3d test_dmesg_0\n", test_num, nr_tests); + if (test_dmesg_0 () == -1) { + printf ("test_dmesg_0 FAILED\n"); + failed++; + } + test_num++; + printf ("%3d/%3d test_drop_caches_0\n", test_num, nr_tests); + if (test_drop_caches_0 () == -1) { + printf ("test_drop_caches_0 FAILED\n"); + failed++; + } + test_num++; + printf ("%3d/%3d test_mv_0\n", test_num, nr_tests); + if (test_mv_0 () == -1) { + printf ("test_mv_0 FAILED\n"); + failed++; + } + test_num++; + printf ("%3d/%3d test_mv_1\n", test_num, nr_tests); + if (test_mv_1 () == -1) { + printf ("test_mv_1 FAILED\n"); + failed++; + } + test_num++; + printf ("%3d/%3d test_cp_a_0\n", test_num, nr_tests); + if (test_cp_a_0 () == -1) { + printf ("test_cp_a_0 FAILED\n"); + failed++; + } + test_num++; + printf ("%3d/%3d test_cp_0\n", test_num, nr_tests); + if (test_cp_0 () == -1) { + printf ("test_cp_0 FAILED\n"); + failed++; + } + test_num++; + printf ("%3d/%3d test_cp_1\n", test_num, nr_tests); + if (test_cp_1 () == -1) { + printf ("test_cp_1 FAILED\n"); + failed++; + } + test_num++; + printf ("%3d/%3d test_cp_2\n", test_num, nr_tests); + if (test_cp_2 () == -1) { + printf ("test_cp_2 FAILED\n"); + failed++; + } + test_num++; + printf ("%3d/%3d test_grub_install_0\n", test_num, nr_tests); + if (test_grub_install_0 () == -1) { + printf ("test_grub_install_0 FAILED\n"); + failed++; + } + test_num++; + printf ("%3d/%3d test_zero_0\n", test_num, nr_tests); + if (test_zero_0 () == -1) { + printf ("test_zero_0 FAILED\n"); + failed++; + } + test_num++; + printf ("%3d/%3d test_fsck_0\n", test_num, nr_tests); + if (test_fsck_0 () == -1) { + printf ("test_fsck_0 FAILED\n"); + failed++; + } + test_num++; + printf ("%3d/%3d test_fsck_1\n", test_num, nr_tests); + if (test_fsck_1 () == -1) { + printf ("test_fsck_1 FAILED\n"); + failed++; + } + test_num++; + printf ("%3d/%3d test_set_e2uuid_0\n", test_num, nr_tests); + if (test_set_e2uuid_0 () == -1) { + printf ("test_set_e2uuid_0 FAILED\n"); + failed++; + } + test_num++; + printf ("%3d/%3d test_set_e2uuid_1\n", test_num, nr_tests); + if (test_set_e2uuid_1 () == -1) { + printf ("test_set_e2uuid_1 FAILED\n"); + failed++; + } + test_num++; + printf ("%3d/%3d test_set_e2uuid_2\n", test_num, nr_tests); + if (test_set_e2uuid_2 () == -1) { + printf ("test_set_e2uuid_2 FAILED\n"); + failed++; + } + test_num++; + printf ("%3d/%3d test_set_e2uuid_3\n", test_num, nr_tests); + if (test_set_e2uuid_3 () == -1) { + printf ("test_set_e2uuid_3 FAILED\n"); + failed++; + } + test_num++; + printf ("%3d/%3d test_set_e2label_0\n", test_num, nr_tests); + if (test_set_e2label_0 () == -1) { + printf ("test_set_e2label_0 FAILED\n"); + failed++; + } + test_num++; + printf ("%3d/%3d test_pvremove_0\n", test_num, nr_tests); + if (test_pvremove_0 () == -1) { + printf ("test_pvremove_0 FAILED\n"); + failed++; + } + test_num++; + printf ("%3d/%3d test_pvremove_1\n", test_num, nr_tests); + if (test_pvremove_1 () == -1) { + printf ("test_pvremove_1 FAILED\n"); + failed++; + } + test_num++; + printf ("%3d/%3d test_pvremove_2\n", test_num, nr_tests); + if (test_pvremove_2 () == -1) { + printf ("test_pvremove_2 FAILED\n"); + failed++; + } + test_num++; + printf ("%3d/%3d test_vgremove_0\n", test_num, nr_tests); + if (test_vgremove_0 () == -1) { + printf ("test_vgremove_0 FAILED\n"); + failed++; + } + test_num++; + printf ("%3d/%3d test_vgremove_1\n", test_num, nr_tests); + if (test_vgremove_1 () == -1) { + printf ("test_vgremove_1 FAILED\n"); + failed++; + } + test_num++; + printf ("%3d/%3d test_lvremove_0\n", test_num, nr_tests); + if (test_lvremove_0 () == -1) { + printf ("test_lvremove_0 FAILED\n"); + failed++; + } + test_num++; + printf ("%3d/%3d test_lvremove_1\n", test_num, nr_tests); + if (test_lvremove_1 () == -1) { + printf ("test_lvremove_1 FAILED\n"); + failed++; + } + test_num++; + printf ("%3d/%3d test_lvremove_2\n", test_num, nr_tests); + if (test_lvremove_2 () == -1) { + printf ("test_lvremove_2 FAILED\n"); + failed++; + } + test_num++; + printf ("%3d/%3d test_mount_ro_0\n", test_num, nr_tests); + if (test_mount_ro_0 () == -1) { + printf ("test_mount_ro_0 FAILED\n"); + failed++; + } + test_num++; + printf ("%3d/%3d test_mount_ro_1\n", test_num, nr_tests); + if (test_mount_ro_1 () == -1) { + printf ("test_mount_ro_1 FAILED\n"); + failed++; + } + test_num++; + printf ("%3d/%3d test_tgz_in_0\n", test_num, nr_tests); + if (test_tgz_in_0 () == -1) { + printf ("test_tgz_in_0 FAILED\n"); + failed++; + } + test_num++; + printf ("%3d/%3d test_tar_in_0\n", test_num, nr_tests); + if (test_tar_in_0 () == -1) { + printf ("test_tar_in_0 FAILED\n"); + failed++; + } + test_num++; printf ("%3d/%3d test_checksum_0\n", test_num, nr_tests); if (test_checksum_0 () == -1) { printf ("test_checksum_0 FAILED\n"); @@ -5068,6 +10113,18 @@ int main (int argc, char *argv[]) failed++; } test_num++; + printf ("%3d/%3d test_download_0\n", test_num, nr_tests); + if (test_download_0 () == -1) { + printf ("test_download_0 FAILED\n"); + failed++; + } + test_num++; + printf ("%3d/%3d test_upload_0\n", test_num, nr_tests); + if (test_upload_0 () == -1) { + printf ("test_upload_0 FAILED\n"); + failed++; + } + test_num++; printf ("%3d/%3d test_blockdev_rereadpt_0\n", test_num, nr_tests); if (test_blockdev_rereadpt_0 () == -1) { printf ("test_blockdev_rereadpt_0 FAILED\n"); @@ -5164,6 +10221,12 @@ int main (int argc, char *argv[]) failed++; } test_num++; + printf ("%3d/%3d test_umount_all_1\n", test_num, nr_tests); + if (test_umount_all_1 () == -1) { + printf ("test_umount_all_1 FAILED\n"); + failed++; + } + test_num++; printf ("%3d/%3d test_mounts_0\n", test_num, nr_tests); if (test_mounts_0 () == -1) { printf ("test_mounts_0 FAILED\n"); @@ -5447,12 +10510,9 @@ int main (int argc, char *argv[]) } guestfs_close (g); - snprintf (buf, sizeof buf, "%s/test1.img", srcdir); - unlink (buf); - snprintf (buf, sizeof buf, "%s/test2.img", srcdir); - unlink (buf); - snprintf (buf, sizeof buf, "%s/test3.img", srcdir); - unlink (buf); + unlink ("test1.img"); + unlink ("test2.img"); + unlink ("test3.img"); if (failed > 0) { printf ("***** %d / %d tests FAILED *****\n", failed, nr_tests);