1 /* libguestfs generated file
2 * WARNING: THIS FILE IS GENERATED BY 'src/generator.ml'.
3 * ANY CHANGES YOU MAKE TO THIS FILE WILL BE LOST.
5 * Copyright (C) 2009 Red Hat Inc.
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation; either version 2 of the License, or
10 * (at your option) any later version.
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
17 * You should have received a copy of the GNU General Public License along
18 * with this program; if not, write to the Free Software Foundation, Inc.,
19 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
26 #include <sys/types.h>
32 static int suppress_error = 0;
34 /* This will be 's' or 'h' depending on whether the guest kernel
35 * names IDE devices /dev/sd* or /dev/hd*.
37 static char devchar = 's';
39 static void print_error (guestfs_h *g, void *data, const char *msg)
42 fprintf (stderr, "%s\n", msg);
45 static void print_strings (char * const * const argv)
49 for (argc = 0; argv[argc] != NULL; ++argc)
50 printf ("\t%s\n", argv[argc]);
54 static void print_table (char * const * const argv)
58 for (i = 0; argv[i] != NULL; i += 2)
59 printf ("%s: %s\n", argv[i], argv[i+1]);
63 static void no_test_warnings (void)
65 fprintf (stderr, "warning: \"guestfs_launch\" has no tests\n");
66 fprintf (stderr, "warning: \"guestfs_wait_ready\" has no tests\n");
67 fprintf (stderr, "warning: \"guestfs_kill_subprocess\" has no tests\n");
68 fprintf (stderr, "warning: \"guestfs_add_drive\" has no tests\n");
69 fprintf (stderr, "warning: \"guestfs_add_cdrom\" has no tests\n");
70 fprintf (stderr, "warning: \"guestfs_config\" has no tests\n");
71 fprintf (stderr, "warning: \"guestfs_set_qemu\" has no tests\n");
72 fprintf (stderr, "warning: \"guestfs_get_qemu\" has no tests\n");
73 fprintf (stderr, "warning: \"guestfs_set_path\" has no tests\n");
74 fprintf (stderr, "warning: \"guestfs_get_path\" has no tests\n");
75 fprintf (stderr, "warning: \"guestfs_set_autosync\" has no tests\n");
76 fprintf (stderr, "warning: \"guestfs_get_autosync\" has no tests\n");
77 fprintf (stderr, "warning: \"guestfs_set_verbose\" has no tests\n");
78 fprintf (stderr, "warning: \"guestfs_get_verbose\" has no tests\n");
79 fprintf (stderr, "warning: \"guestfs_is_ready\" has no tests\n");
80 fprintf (stderr, "warning: \"guestfs_is_config\" has no tests\n");
81 fprintf (stderr, "warning: \"guestfs_is_launching\" has no tests\n");
82 fprintf (stderr, "warning: \"guestfs_is_busy\" has no tests\n");
83 fprintf (stderr, "warning: \"guestfs_get_state\" has no tests\n");
84 fprintf (stderr, "warning: \"guestfs_set_busy\" has no tests\n");
85 fprintf (stderr, "warning: \"guestfs_set_ready\" has no tests\n");
86 fprintf (stderr, "warning: \"guestfs_end_busy\" has no tests\n");
87 fprintf (stderr, "warning: \"guestfs_ll\" has no tests\n");
88 fprintf (stderr, "warning: \"guestfs_pvs_full\" has no tests\n");
89 fprintf (stderr, "warning: \"guestfs_vgs_full\" has no tests\n");
90 fprintf (stderr, "warning: \"guestfs_lvs_full\" has no tests\n");
91 fprintf (stderr, "warning: \"guestfs_aug_init\" has no tests\n");
92 fprintf (stderr, "warning: \"guestfs_aug_close\" has no tests\n");
93 fprintf (stderr, "warning: \"guestfs_aug_defvar\" has no tests\n");
94 fprintf (stderr, "warning: \"guestfs_aug_defnode\" has no tests\n");
95 fprintf (stderr, "warning: \"guestfs_aug_get\" has no tests\n");
96 fprintf (stderr, "warning: \"guestfs_aug_set\" has no tests\n");
97 fprintf (stderr, "warning: \"guestfs_aug_insert\" has no tests\n");
98 fprintf (stderr, "warning: \"guestfs_aug_rm\" has no tests\n");
99 fprintf (stderr, "warning: \"guestfs_aug_mv\" has no tests\n");
100 fprintf (stderr, "warning: \"guestfs_aug_match\" has no tests\n");
101 fprintf (stderr, "warning: \"guestfs_aug_save\" has no tests\n");
102 fprintf (stderr, "warning: \"guestfs_aug_load\" has no tests\n");
103 fprintf (stderr, "warning: \"guestfs_aug_ls\" has no tests\n");
104 fprintf (stderr, "warning: \"guestfs_chmod\" has no tests\n");
105 fprintf (stderr, "warning: \"guestfs_chown\" has no tests\n");
106 fprintf (stderr, "warning: \"guestfs_sfdisk\" has no tests\n");
107 fprintf (stderr, "warning: \"guestfs_lvm_remove_all\" has no tests\n");
108 fprintf (stderr, "warning: \"guestfs_command\" has no tests\n");
109 fprintf (stderr, "warning: \"guestfs_command_lines\" has no tests\n");
110 fprintf (stderr, "warning: \"guestfs_tune2fs_l\" has no tests\n");
111 fprintf (stderr, "warning: \"guestfs_blockdev_setbsz\" has no tests\n");
112 fprintf (stderr, "warning: \"guestfs_tar_out\" has no tests\n");
113 fprintf (stderr, "warning: \"guestfs_tgz_out\" has no tests\n");
114 fprintf (stderr, "warning: \"guestfs_mount_options\" has no tests\n");
115 fprintf (stderr, "warning: \"guestfs_mount_vfs\" has no tests\n");
116 fprintf (stderr, "warning: \"guestfs_debug\" has no tests\n");
117 fprintf (stderr, "warning: \"guestfs_get_e2label\" has no tests\n");
118 fprintf (stderr, "warning: \"guestfs_get_e2uuid\" has no tests\n");
121 static int test_hexdump_0 (void)
123 /* InitBasicFS for hexdump (0): create ext2 on /dev/sda1 */
125 char device[] = "/dev/sda";
129 r = guestfs_blockdev_setrw (g, device);
136 r = guestfs_umount_all (g);
143 r = guestfs_lvm_remove_all (g);
148 char device[] = "/dev/sda";
150 char lines_0[] = ",";
157 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
162 char fstype[] = "ext2";
163 char device[] = "/dev/sda1";
167 r = guestfs_mkfs (g, fstype, device);
172 char device[] = "/dev/sda1";
174 char mountpoint[] = "/";
177 r = guestfs_mount (g, device, mountpoint);
181 /* TestOutput for hexdump (0) */
182 char expected[] = "00000000 68 65 6c 6c 6f 0a 77 6f 72 6c 64 0a |hello.world.|\n0000000c\n";
184 char path[] = "/new";
185 char content[] = "hello\nworld\n";
188 r = guestfs_write_file (g, path, content, 12);
193 char path[] = "/new";
196 r = guestfs_hexdump (g, path);
199 if (strcmp (r, expected) != 0) {
200 fprintf (stderr, "test_hexdump_0: expected \"%s\" but got \"%s\"\n", expected, r);
208 static int test_strings_e_0 (void)
210 /* InitBasicFS for strings_e (0): create ext2 on /dev/sda1 */
212 char device[] = "/dev/sda";
216 r = guestfs_blockdev_setrw (g, device);
223 r = guestfs_umount_all (g);
230 r = guestfs_lvm_remove_all (g);
235 char device[] = "/dev/sda";
237 char lines_0[] = ",";
244 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
249 char fstype[] = "ext2";
250 char device[] = "/dev/sda1";
254 r = guestfs_mkfs (g, fstype, device);
259 char device[] = "/dev/sda1";
261 char mountpoint[] = "/";
264 r = guestfs_mount (g, device, mountpoint);
268 /* TestOutputList for strings_e (0) */
270 char path[] = "/new";
271 char content[] = "hello\nworld\n";
274 r = guestfs_write_file (g, path, content, 0);
279 char encoding[] = "b";
280 char path[] = "/new";
284 r = guestfs_strings_e (g, encoding, path);
288 fprintf (stderr, "test_strings_e_0: extra elements returned from command\n");
292 for (i = 0; r[i] != NULL; ++i)
299 static int test_strings_0 (void)
301 /* InitBasicFS for strings (0): create ext2 on /dev/sda1 */
303 char device[] = "/dev/sda";
307 r = guestfs_blockdev_setrw (g, device);
314 r = guestfs_umount_all (g);
321 r = guestfs_lvm_remove_all (g);
326 char device[] = "/dev/sda";
328 char lines_0[] = ",";
335 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
340 char fstype[] = "ext2";
341 char device[] = "/dev/sda1";
345 r = guestfs_mkfs (g, fstype, device);
350 char device[] = "/dev/sda1";
352 char mountpoint[] = "/";
355 r = guestfs_mount (g, device, mountpoint);
359 /* TestOutputList for strings (0) */
361 char path[] = "/new";
362 char content[] = "hello\nworld\n";
365 r = guestfs_write_file (g, path, content, 0);
370 char path[] = "/new";
374 r = guestfs_strings (g, path);
378 fprintf (stderr, "test_strings_0: short list returned from command\n");
383 char expected[] = "hello";
384 if (strcmp (r[0], expected) != 0) {
385 fprintf (stderr, "test_strings_0: expected \"%s\" but got \"%s\"\n", expected, r[0]);
390 fprintf (stderr, "test_strings_0: short list returned from command\n");
395 char expected[] = "world";
396 if (strcmp (r[1], expected) != 0) {
397 fprintf (stderr, "test_strings_0: expected \"%s\" but got \"%s\"\n", expected, r[1]);
402 fprintf (stderr, "test_strings_0: extra elements returned from command\n");
406 for (i = 0; r[i] != NULL; ++i)
413 static int test_equal_0 (void)
415 /* InitBasicFS for equal (0): create ext2 on /dev/sda1 */
417 char device[] = "/dev/sda";
421 r = guestfs_blockdev_setrw (g, device);
428 r = guestfs_umount_all (g);
435 r = guestfs_lvm_remove_all (g);
440 char device[] = "/dev/sda";
442 char lines_0[] = ",";
449 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
454 char fstype[] = "ext2";
455 char device[] = "/dev/sda1";
459 r = guestfs_mkfs (g, fstype, device);
464 char device[] = "/dev/sda1";
466 char mountpoint[] = "/";
469 r = guestfs_mount (g, device, mountpoint);
473 /* TestOutputTrue for equal (0) */
475 char path[] = "/file1";
476 char content[] = "contents of a file";
479 r = guestfs_write_file (g, path, content, 0);
484 char src[] = "/file1";
485 char dest[] = "/file2";
488 r = guestfs_cp (g, src, dest);
493 char file1[] = "/file1";
494 char file2[] = "/file2";
497 r = guestfs_equal (g, file1, file2);
501 fprintf (stderr, "test_equal_0: expected true, got false\n");
508 static int test_equal_1 (void)
510 /* InitBasicFS for equal (1): create ext2 on /dev/sda1 */
512 char device[] = "/dev/sda";
516 r = guestfs_blockdev_setrw (g, device);
523 r = guestfs_umount_all (g);
530 r = guestfs_lvm_remove_all (g);
535 char device[] = "/dev/sda";
537 char lines_0[] = ",";
544 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
549 char fstype[] = "ext2";
550 char device[] = "/dev/sda1";
554 r = guestfs_mkfs (g, fstype, device);
559 char device[] = "/dev/sda1";
561 char mountpoint[] = "/";
564 r = guestfs_mount (g, device, mountpoint);
568 /* TestOutputFalse for equal (1) */
570 char path[] = "/file1";
571 char content[] = "contents of a file";
574 r = guestfs_write_file (g, path, content, 0);
579 char path[] = "/file2";
580 char content[] = "contents of another file";
583 r = guestfs_write_file (g, path, content, 0);
588 char file1[] = "/file1";
589 char file2[] = "/file2";
592 r = guestfs_equal (g, file1, file2);
596 fprintf (stderr, "test_equal_1: expected false, got true\n");
603 static int test_equal_2 (void)
605 /* InitBasicFS for equal (2): create ext2 on /dev/sda1 */
607 char device[] = "/dev/sda";
611 r = guestfs_blockdev_setrw (g, device);
618 r = guestfs_umount_all (g);
625 r = guestfs_lvm_remove_all (g);
630 char device[] = "/dev/sda";
632 char lines_0[] = ",";
639 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
644 char fstype[] = "ext2";
645 char device[] = "/dev/sda1";
649 r = guestfs_mkfs (g, fstype, device);
654 char device[] = "/dev/sda1";
656 char mountpoint[] = "/";
659 r = guestfs_mount (g, device, mountpoint);
663 /* TestLastFail for equal (2) */
665 char file1[] = "/file1";
666 char file2[] = "/file2";
669 r = guestfs_equal (g, file1, file2);
676 static int test_ping_daemon_0 (void)
678 /* InitEmpty for ping_daemon (0) */
680 char device[] = "/dev/sda";
684 r = guestfs_blockdev_setrw (g, device);
691 r = guestfs_umount_all (g);
698 r = guestfs_lvm_remove_all (g);
702 /* TestRun for ping_daemon (0) */
706 r = guestfs_ping_daemon (g);
713 static int test_dmesg_0 (void)
715 /* InitEmpty for dmesg (0) */
717 char device[] = "/dev/sda";
721 r = guestfs_blockdev_setrw (g, device);
728 r = guestfs_umount_all (g);
735 r = guestfs_lvm_remove_all (g);
739 /* TestRun for dmesg (0) */
743 r = guestfs_dmesg (g);
751 static int test_drop_caches_0 (void)
753 /* InitEmpty for drop_caches (0) */
755 char device[] = "/dev/sda";
759 r = guestfs_blockdev_setrw (g, device);
766 r = guestfs_umount_all (g);
773 r = guestfs_lvm_remove_all (g);
777 /* TestRun for drop_caches (0) */
781 r = guestfs_drop_caches (g, 3);
788 static int test_mv_0 (void)
790 /* InitBasicFS for mv (0): create ext2 on /dev/sda1 */
792 char device[] = "/dev/sda";
796 r = guestfs_blockdev_setrw (g, device);
803 r = guestfs_umount_all (g);
810 r = guestfs_lvm_remove_all (g);
815 char device[] = "/dev/sda";
817 char lines_0[] = ",";
824 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
829 char fstype[] = "ext2";
830 char device[] = "/dev/sda1";
834 r = guestfs_mkfs (g, fstype, device);
839 char device[] = "/dev/sda1";
841 char mountpoint[] = "/";
844 r = guestfs_mount (g, device, mountpoint);
848 /* TestOutput for mv (0) */
849 char expected[] = "file content";
851 char path[] = "/old";
852 char content[] = "file content";
855 r = guestfs_write_file (g, path, content, 0);
861 char dest[] = "/new";
864 r = guestfs_mv (g, src, dest);
869 char path[] = "/new";
872 r = guestfs_cat (g, path);
875 if (strcmp (r, expected) != 0) {
876 fprintf (stderr, "test_mv_0: expected \"%s\" but got \"%s\"\n", expected, r);
884 static int test_mv_1 (void)
886 /* InitBasicFS for mv (1): create ext2 on /dev/sda1 */
888 char device[] = "/dev/sda";
892 r = guestfs_blockdev_setrw (g, device);
899 r = guestfs_umount_all (g);
906 r = guestfs_lvm_remove_all (g);
911 char device[] = "/dev/sda";
913 char lines_0[] = ",";
920 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
925 char fstype[] = "ext2";
926 char device[] = "/dev/sda1";
930 r = guestfs_mkfs (g, fstype, device);
935 char device[] = "/dev/sda1";
937 char mountpoint[] = "/";
940 r = guestfs_mount (g, device, mountpoint);
944 /* TestOutputFalse for mv (1) */
946 char path[] = "/old";
947 char content[] = "file content";
950 r = guestfs_write_file (g, path, content, 0);
956 char dest[] = "/new";
959 r = guestfs_mv (g, src, dest);
964 char path[] = "/old";
967 r = guestfs_is_file (g, path);
971 fprintf (stderr, "test_mv_1: expected false, got true\n");
978 static int test_cp_a_0 (void)
980 /* InitBasicFS for cp_a (0): create ext2 on /dev/sda1 */
982 char device[] = "/dev/sda";
986 r = guestfs_blockdev_setrw (g, device);
993 r = guestfs_umount_all (g);
1000 r = guestfs_lvm_remove_all (g);
1005 char device[] = "/dev/sda";
1006 device[5] = devchar;
1007 char lines_0[] = ",";
1014 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
1019 char fstype[] = "ext2";
1020 char device[] = "/dev/sda1";
1021 device[5] = devchar;
1024 r = guestfs_mkfs (g, fstype, device);
1029 char device[] = "/dev/sda1";
1030 device[5] = devchar;
1031 char mountpoint[] = "/";
1034 r = guestfs_mount (g, device, mountpoint);
1038 /* TestOutput for cp_a (0) */
1039 char expected[] = "file content";
1041 char path[] = "/olddir";
1044 r = guestfs_mkdir (g, path);
1049 char path[] = "/newdir";
1052 r = guestfs_mkdir (g, path);
1057 char path[] = "/olddir/file";
1058 char content[] = "file content";
1061 r = guestfs_write_file (g, path, content, 0);
1066 char src[] = "/olddir";
1067 char dest[] = "/newdir";
1070 r = guestfs_cp_a (g, src, dest);
1075 char path[] = "/newdir/olddir/file";
1078 r = guestfs_cat (g, path);
1081 if (strcmp (r, expected) != 0) {
1082 fprintf (stderr, "test_cp_a_0: expected \"%s\" but got \"%s\"\n", expected, r);
1090 static int test_cp_0 (void)
1092 /* InitBasicFS for cp (0): create ext2 on /dev/sda1 */
1094 char device[] = "/dev/sda";
1095 device[5] = devchar;
1098 r = guestfs_blockdev_setrw (g, device);
1105 r = guestfs_umount_all (g);
1112 r = guestfs_lvm_remove_all (g);
1117 char device[] = "/dev/sda";
1118 device[5] = devchar;
1119 char lines_0[] = ",";
1126 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
1131 char fstype[] = "ext2";
1132 char device[] = "/dev/sda1";
1133 device[5] = devchar;
1136 r = guestfs_mkfs (g, fstype, device);
1141 char device[] = "/dev/sda1";
1142 device[5] = devchar;
1143 char mountpoint[] = "/";
1146 r = guestfs_mount (g, device, mountpoint);
1150 /* TestOutput for cp (0) */
1151 char expected[] = "file content";
1153 char path[] = "/old";
1154 char content[] = "file content";
1157 r = guestfs_write_file (g, path, content, 0);
1162 char src[] = "/old";
1163 char dest[] = "/new";
1166 r = guestfs_cp (g, src, dest);
1171 char path[] = "/new";
1174 r = guestfs_cat (g, path);
1177 if (strcmp (r, expected) != 0) {
1178 fprintf (stderr, "test_cp_0: expected \"%s\" but got \"%s\"\n", expected, r);
1186 static int test_cp_1 (void)
1188 /* InitBasicFS for cp (1): create ext2 on /dev/sda1 */
1190 char device[] = "/dev/sda";
1191 device[5] = devchar;
1194 r = guestfs_blockdev_setrw (g, device);
1201 r = guestfs_umount_all (g);
1208 r = guestfs_lvm_remove_all (g);
1213 char device[] = "/dev/sda";
1214 device[5] = devchar;
1215 char lines_0[] = ",";
1222 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
1227 char fstype[] = "ext2";
1228 char device[] = "/dev/sda1";
1229 device[5] = devchar;
1232 r = guestfs_mkfs (g, fstype, device);
1237 char device[] = "/dev/sda1";
1238 device[5] = devchar;
1239 char mountpoint[] = "/";
1242 r = guestfs_mount (g, device, mountpoint);
1246 /* TestOutputTrue for cp (1) */
1248 char path[] = "/old";
1249 char content[] = "file content";
1252 r = guestfs_write_file (g, path, content, 0);
1257 char src[] = "/old";
1258 char dest[] = "/new";
1261 r = guestfs_cp (g, src, dest);
1266 char path[] = "/old";
1269 r = guestfs_is_file (g, path);
1273 fprintf (stderr, "test_cp_1: expected true, got false\n");
1280 static int test_cp_2 (void)
1282 /* InitBasicFS for cp (2): create ext2 on /dev/sda1 */
1284 char device[] = "/dev/sda";
1285 device[5] = devchar;
1288 r = guestfs_blockdev_setrw (g, device);
1295 r = guestfs_umount_all (g);
1302 r = guestfs_lvm_remove_all (g);
1307 char device[] = "/dev/sda";
1308 device[5] = devchar;
1309 char lines_0[] = ",";
1316 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
1321 char fstype[] = "ext2";
1322 char device[] = "/dev/sda1";
1323 device[5] = devchar;
1326 r = guestfs_mkfs (g, fstype, device);
1331 char device[] = "/dev/sda1";
1332 device[5] = devchar;
1333 char mountpoint[] = "/";
1336 r = guestfs_mount (g, device, mountpoint);
1340 /* TestOutput for cp (2) */
1341 char expected[] = "file content";
1343 char path[] = "/old";
1344 char content[] = "file content";
1347 r = guestfs_write_file (g, path, content, 0);
1352 char path[] = "/dir";
1355 r = guestfs_mkdir (g, path);
1360 char src[] = "/old";
1361 char dest[] = "/dir/new";
1364 r = guestfs_cp (g, src, dest);
1369 char path[] = "/dir/new";
1372 r = guestfs_cat (g, path);
1375 if (strcmp (r, expected) != 0) {
1376 fprintf (stderr, "test_cp_2: expected \"%s\" but got \"%s\"\n", expected, r);
1384 static int test_grub_install_0 (void)
1386 /* InitBasicFS for grub_install (0): create ext2 on /dev/sda1 */
1388 char device[] = "/dev/sda";
1389 device[5] = devchar;
1392 r = guestfs_blockdev_setrw (g, device);
1399 r = guestfs_umount_all (g);
1406 r = guestfs_lvm_remove_all (g);
1411 char device[] = "/dev/sda";
1412 device[5] = devchar;
1413 char lines_0[] = ",";
1420 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
1425 char fstype[] = "ext2";
1426 char device[] = "/dev/sda1";
1427 device[5] = devchar;
1430 r = guestfs_mkfs (g, fstype, device);
1435 char device[] = "/dev/sda1";
1436 device[5] = devchar;
1437 char mountpoint[] = "/";
1440 r = guestfs_mount (g, device, mountpoint);
1444 /* TestOutputTrue for grub_install (0) */
1447 char device[] = "/dev/sda1";
1448 device[5] = devchar;
1451 r = guestfs_grub_install (g, root, device);
1456 char path[] = "/boot";
1459 r = guestfs_is_dir (g, path);
1463 fprintf (stderr, "test_grub_install_0: expected true, got false\n");
1470 static int test_zero_0 (void)
1472 /* InitBasicFS for zero (0): create ext2 on /dev/sda1 */
1474 char device[] = "/dev/sda";
1475 device[5] = devchar;
1478 r = guestfs_blockdev_setrw (g, device);
1485 r = guestfs_umount_all (g);
1492 r = guestfs_lvm_remove_all (g);
1497 char device[] = "/dev/sda";
1498 device[5] = devchar;
1499 char lines_0[] = ",";
1506 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
1511 char fstype[] = "ext2";
1512 char device[] = "/dev/sda1";
1513 device[5] = devchar;
1516 r = guestfs_mkfs (g, fstype, device);
1521 char device[] = "/dev/sda1";
1522 device[5] = devchar;
1523 char mountpoint[] = "/";
1526 r = guestfs_mount (g, device, mountpoint);
1530 /* TestOutput for zero (0) */
1531 char expected[] = "data";
1533 char pathordevice[] = "/dev/sda1";
1534 pathordevice[5] = devchar;
1537 r = guestfs_umount (g, pathordevice);
1542 char device[] = "/dev/sda1";
1543 device[5] = devchar;
1546 r = guestfs_zero (g, device);
1551 char path[] = "/dev/sda1";
1555 r = guestfs_file (g, path);
1558 if (strcmp (r, expected) != 0) {
1559 fprintf (stderr, "test_zero_0: expected \"%s\" but got \"%s\"\n", expected, r);
1567 static int test_fsck_0 (void)
1569 /* InitBasicFS for fsck (0): create ext2 on /dev/sda1 */
1571 char device[] = "/dev/sda";
1572 device[5] = devchar;
1575 r = guestfs_blockdev_setrw (g, device);
1582 r = guestfs_umount_all (g);
1589 r = guestfs_lvm_remove_all (g);
1594 char device[] = "/dev/sda";
1595 device[5] = devchar;
1596 char lines_0[] = ",";
1603 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
1608 char fstype[] = "ext2";
1609 char device[] = "/dev/sda1";
1610 device[5] = devchar;
1613 r = guestfs_mkfs (g, fstype, device);
1618 char device[] = "/dev/sda1";
1619 device[5] = devchar;
1620 char mountpoint[] = "/";
1623 r = guestfs_mount (g, device, mountpoint);
1627 /* TestOutputInt for fsck (0) */
1629 char pathordevice[] = "/dev/sda1";
1630 pathordevice[5] = devchar;
1633 r = guestfs_umount (g, pathordevice);
1638 char fstype[] = "ext2";
1639 char device[] = "/dev/sda1";
1640 device[5] = devchar;
1643 r = guestfs_fsck (g, fstype, device);
1647 fprintf (stderr, "test_fsck_0: expected 0 but got %d\n", (int) r);
1654 static int test_fsck_1 (void)
1656 /* InitBasicFS for fsck (1): create ext2 on /dev/sda1 */
1658 char device[] = "/dev/sda";
1659 device[5] = devchar;
1662 r = guestfs_blockdev_setrw (g, device);
1669 r = guestfs_umount_all (g);
1676 r = guestfs_lvm_remove_all (g);
1681 char device[] = "/dev/sda";
1682 device[5] = devchar;
1683 char lines_0[] = ",";
1690 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
1695 char fstype[] = "ext2";
1696 char device[] = "/dev/sda1";
1697 device[5] = devchar;
1700 r = guestfs_mkfs (g, fstype, device);
1705 char device[] = "/dev/sda1";
1706 device[5] = devchar;
1707 char mountpoint[] = "/";
1710 r = guestfs_mount (g, device, mountpoint);
1714 /* TestOutputInt for fsck (1) */
1716 char pathordevice[] = "/dev/sda1";
1717 pathordevice[5] = devchar;
1720 r = guestfs_umount (g, pathordevice);
1725 char device[] = "/dev/sda1";
1726 device[5] = devchar;
1729 r = guestfs_zero (g, device);
1734 char fstype[] = "ext2";
1735 char device[] = "/dev/sda1";
1736 device[5] = devchar;
1739 r = guestfs_fsck (g, fstype, device);
1743 fprintf (stderr, "test_fsck_1: expected 8 but got %d\n", (int) r);
1750 static int test_set_e2uuid_0 (void)
1752 /* InitBasicFS for set_e2uuid (0): create ext2 on /dev/sda1 */
1754 char device[] = "/dev/sda";
1755 device[5] = devchar;
1758 r = guestfs_blockdev_setrw (g, device);
1765 r = guestfs_umount_all (g);
1772 r = guestfs_lvm_remove_all (g);
1777 char device[] = "/dev/sda";
1778 device[5] = devchar;
1779 char lines_0[] = ",";
1786 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
1791 char fstype[] = "ext2";
1792 char device[] = "/dev/sda1";
1793 device[5] = devchar;
1796 r = guestfs_mkfs (g, fstype, device);
1801 char device[] = "/dev/sda1";
1802 device[5] = devchar;
1803 char mountpoint[] = "/";
1806 r = guestfs_mount (g, device, mountpoint);
1810 /* TestOutput for set_e2uuid (0) */
1811 char expected[] = "a3a61220-882b-4f61-89f4-cf24dcc7297d";
1813 char device[] = "/dev/sda1";
1814 device[5] = devchar;
1815 char uuid[] = "a3a61220-882b-4f61-89f4-cf24dcc7297d";
1818 r = guestfs_set_e2uuid (g, device, uuid);
1823 char device[] = "/dev/sda1";
1824 device[5] = devchar;
1827 r = guestfs_get_e2uuid (g, device);
1830 if (strcmp (r, expected) != 0) {
1831 fprintf (stderr, "test_set_e2uuid_0: expected \"%s\" but got \"%s\"\n", expected, r);
1839 static int test_set_e2uuid_1 (void)
1841 /* InitBasicFS for set_e2uuid (1): create ext2 on /dev/sda1 */
1843 char device[] = "/dev/sda";
1844 device[5] = devchar;
1847 r = guestfs_blockdev_setrw (g, device);
1854 r = guestfs_umount_all (g);
1861 r = guestfs_lvm_remove_all (g);
1866 char device[] = "/dev/sda";
1867 device[5] = devchar;
1868 char lines_0[] = ",";
1875 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
1880 char fstype[] = "ext2";
1881 char device[] = "/dev/sda1";
1882 device[5] = devchar;
1885 r = guestfs_mkfs (g, fstype, device);
1890 char device[] = "/dev/sda1";
1891 device[5] = devchar;
1892 char mountpoint[] = "/";
1895 r = guestfs_mount (g, device, mountpoint);
1899 /* TestOutput for set_e2uuid (1) */
1900 char expected[] = "";
1902 char device[] = "/dev/sda1";
1903 device[5] = devchar;
1904 char uuid[] = "clear";
1907 r = guestfs_set_e2uuid (g, device, uuid);
1912 char device[] = "/dev/sda1";
1913 device[5] = devchar;
1916 r = guestfs_get_e2uuid (g, device);
1919 if (strcmp (r, expected) != 0) {
1920 fprintf (stderr, "test_set_e2uuid_1: expected \"%s\" but got \"%s\"\n", expected, r);
1928 static int test_set_e2uuid_2 (void)
1930 /* InitBasicFS for set_e2uuid (2): create ext2 on /dev/sda1 */
1932 char device[] = "/dev/sda";
1933 device[5] = devchar;
1936 r = guestfs_blockdev_setrw (g, device);
1943 r = guestfs_umount_all (g);
1950 r = guestfs_lvm_remove_all (g);
1955 char device[] = "/dev/sda";
1956 device[5] = devchar;
1957 char lines_0[] = ",";
1964 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
1969 char fstype[] = "ext2";
1970 char device[] = "/dev/sda1";
1971 device[5] = devchar;
1974 r = guestfs_mkfs (g, fstype, device);
1979 char device[] = "/dev/sda1";
1980 device[5] = devchar;
1981 char mountpoint[] = "/";
1984 r = guestfs_mount (g, device, mountpoint);
1988 /* TestRun for set_e2uuid (2) */
1990 char device[] = "/dev/sda1";
1991 device[5] = devchar;
1992 char uuid[] = "random";
1995 r = guestfs_set_e2uuid (g, device, uuid);
2002 static int test_set_e2uuid_3 (void)
2004 /* InitBasicFS for set_e2uuid (3): create ext2 on /dev/sda1 */
2006 char device[] = "/dev/sda";
2007 device[5] = devchar;
2010 r = guestfs_blockdev_setrw (g, device);
2017 r = guestfs_umount_all (g);
2024 r = guestfs_lvm_remove_all (g);
2029 char device[] = "/dev/sda";
2030 device[5] = devchar;
2031 char lines_0[] = ",";
2038 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
2043 char fstype[] = "ext2";
2044 char device[] = "/dev/sda1";
2045 device[5] = devchar;
2048 r = guestfs_mkfs (g, fstype, device);
2053 char device[] = "/dev/sda1";
2054 device[5] = devchar;
2055 char mountpoint[] = "/";
2058 r = guestfs_mount (g, device, mountpoint);
2062 /* TestRun for set_e2uuid (3) */
2064 char device[] = "/dev/sda1";
2065 device[5] = devchar;
2066 char uuid[] = "time";
2069 r = guestfs_set_e2uuid (g, device, uuid);
2076 static int test_set_e2label_0 (void)
2078 /* InitBasicFS for set_e2label (0): create ext2 on /dev/sda1 */
2080 char device[] = "/dev/sda";
2081 device[5] = devchar;
2084 r = guestfs_blockdev_setrw (g, device);
2091 r = guestfs_umount_all (g);
2098 r = guestfs_lvm_remove_all (g);
2103 char device[] = "/dev/sda";
2104 device[5] = devchar;
2105 char lines_0[] = ",";
2112 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
2117 char fstype[] = "ext2";
2118 char device[] = "/dev/sda1";
2119 device[5] = devchar;
2122 r = guestfs_mkfs (g, fstype, device);
2127 char device[] = "/dev/sda1";
2128 device[5] = devchar;
2129 char mountpoint[] = "/";
2132 r = guestfs_mount (g, device, mountpoint);
2136 /* TestOutput for set_e2label (0) */
2137 char expected[] = "testlabel";
2139 char device[] = "/dev/sda1";
2140 device[5] = devchar;
2141 char label[] = "testlabel";
2144 r = guestfs_set_e2label (g, device, label);
2149 char device[] = "/dev/sda1";
2150 device[5] = devchar;
2153 r = guestfs_get_e2label (g, device);
2156 if (strcmp (r, expected) != 0) {
2157 fprintf (stderr, "test_set_e2label_0: expected \"%s\" but got \"%s\"\n", expected, r);
2165 static int test_pvremove_0 (void)
2167 /* InitEmpty for pvremove (0) */
2169 char device[] = "/dev/sda";
2170 device[5] = devchar;
2173 r = guestfs_blockdev_setrw (g, device);
2180 r = guestfs_umount_all (g);
2187 r = guestfs_lvm_remove_all (g);
2191 /* TestOutputList for pvremove (0) */
2193 char device[] = "/dev/sda";
2194 device[5] = devchar;
2197 r = guestfs_pvcreate (g, device);
2202 char volgroup[] = "VG";
2203 char physvols_0[] = "/dev/sda";
2204 physvols_0[5] = devchar;
2205 char *physvols[] = {
2211 r = guestfs_vgcreate (g, volgroup, physvols);
2216 char logvol[] = "LV1";
2217 char volgroup[] = "VG";
2220 r = guestfs_lvcreate (g, logvol, volgroup, 50);
2225 char logvol[] = "LV2";
2226 char volgroup[] = "VG";
2229 r = guestfs_lvcreate (g, logvol, volgroup, 50);
2234 char vgname[] = "VG";
2237 r = guestfs_vgremove (g, vgname);
2242 char device[] = "/dev/sda";
2243 device[5] = devchar;
2246 r = guestfs_pvremove (g, device);
2254 r = guestfs_lvs (g);
2258 fprintf (stderr, "test_pvremove_0: extra elements returned from command\n");
2262 for (i = 0; r[i] != NULL; ++i)
2269 static int test_pvremove_1 (void)
2271 /* InitEmpty for pvremove (1) */
2273 char device[] = "/dev/sda";
2274 device[5] = devchar;
2277 r = guestfs_blockdev_setrw (g, device);
2284 r = guestfs_umount_all (g);
2291 r = guestfs_lvm_remove_all (g);
2295 /* TestOutputList for pvremove (1) */
2297 char device[] = "/dev/sda";
2298 device[5] = devchar;
2301 r = guestfs_pvcreate (g, device);
2306 char volgroup[] = "VG";
2307 char physvols_0[] = "/dev/sda";
2308 physvols_0[5] = devchar;
2309 char *physvols[] = {
2315 r = guestfs_vgcreate (g, volgroup, physvols);
2320 char logvol[] = "LV1";
2321 char volgroup[] = "VG";
2324 r = guestfs_lvcreate (g, logvol, volgroup, 50);
2329 char logvol[] = "LV2";
2330 char volgroup[] = "VG";
2333 r = guestfs_lvcreate (g, logvol, volgroup, 50);
2338 char vgname[] = "VG";
2341 r = guestfs_vgremove (g, vgname);
2346 char device[] = "/dev/sda";
2347 device[5] = devchar;
2350 r = guestfs_pvremove (g, device);
2358 r = guestfs_vgs (g);
2362 fprintf (stderr, "test_pvremove_1: extra elements returned from command\n");
2366 for (i = 0; r[i] != NULL; ++i)
2373 static int test_pvremove_2 (void)
2375 /* InitEmpty for pvremove (2) */
2377 char device[] = "/dev/sda";
2378 device[5] = devchar;
2381 r = guestfs_blockdev_setrw (g, device);
2388 r = guestfs_umount_all (g);
2395 r = guestfs_lvm_remove_all (g);
2399 /* TestOutputList for pvremove (2) */
2401 char device[] = "/dev/sda";
2402 device[5] = devchar;
2405 r = guestfs_pvcreate (g, device);
2410 char volgroup[] = "VG";
2411 char physvols_0[] = "/dev/sda";
2412 physvols_0[5] = devchar;
2413 char *physvols[] = {
2419 r = guestfs_vgcreate (g, volgroup, physvols);
2424 char logvol[] = "LV1";
2425 char volgroup[] = "VG";
2428 r = guestfs_lvcreate (g, logvol, volgroup, 50);
2433 char logvol[] = "LV2";
2434 char volgroup[] = "VG";
2437 r = guestfs_lvcreate (g, logvol, volgroup, 50);
2442 char vgname[] = "VG";
2445 r = guestfs_vgremove (g, vgname);
2450 char device[] = "/dev/sda";
2451 device[5] = devchar;
2454 r = guestfs_pvremove (g, device);
2462 r = guestfs_pvs (g);
2466 fprintf (stderr, "test_pvremove_2: extra elements returned from command\n");
2470 for (i = 0; r[i] != NULL; ++i)
2477 static int test_vgremove_0 (void)
2479 /* InitEmpty for vgremove (0) */
2481 char device[] = "/dev/sda";
2482 device[5] = devchar;
2485 r = guestfs_blockdev_setrw (g, device);
2492 r = guestfs_umount_all (g);
2499 r = guestfs_lvm_remove_all (g);
2503 /* TestOutputList for vgremove (0) */
2505 char device[] = "/dev/sda";
2506 device[5] = devchar;
2509 r = guestfs_pvcreate (g, device);
2514 char volgroup[] = "VG";
2515 char physvols_0[] = "/dev/sda";
2516 physvols_0[5] = devchar;
2517 char *physvols[] = {
2523 r = guestfs_vgcreate (g, volgroup, physvols);
2528 char logvol[] = "LV1";
2529 char volgroup[] = "VG";
2532 r = guestfs_lvcreate (g, logvol, volgroup, 50);
2537 char logvol[] = "LV2";
2538 char volgroup[] = "VG";
2541 r = guestfs_lvcreate (g, logvol, volgroup, 50);
2546 char vgname[] = "VG";
2549 r = guestfs_vgremove (g, vgname);
2557 r = guestfs_lvs (g);
2561 fprintf (stderr, "test_vgremove_0: extra elements returned from command\n");
2565 for (i = 0; r[i] != NULL; ++i)
2572 static int test_vgremove_1 (void)
2574 /* InitEmpty for vgremove (1) */
2576 char device[] = "/dev/sda";
2577 device[5] = devchar;
2580 r = guestfs_blockdev_setrw (g, device);
2587 r = guestfs_umount_all (g);
2594 r = guestfs_lvm_remove_all (g);
2598 /* TestOutputList for vgremove (1) */
2600 char device[] = "/dev/sda";
2601 device[5] = devchar;
2604 r = guestfs_pvcreate (g, device);
2609 char volgroup[] = "VG";
2610 char physvols_0[] = "/dev/sda";
2611 physvols_0[5] = devchar;
2612 char *physvols[] = {
2618 r = guestfs_vgcreate (g, volgroup, physvols);
2623 char logvol[] = "LV1";
2624 char volgroup[] = "VG";
2627 r = guestfs_lvcreate (g, logvol, volgroup, 50);
2632 char logvol[] = "LV2";
2633 char volgroup[] = "VG";
2636 r = guestfs_lvcreate (g, logvol, volgroup, 50);
2641 char vgname[] = "VG";
2644 r = guestfs_vgremove (g, vgname);
2652 r = guestfs_vgs (g);
2656 fprintf (stderr, "test_vgremove_1: extra elements returned from command\n");
2660 for (i = 0; r[i] != NULL; ++i)
2667 static int test_lvremove_0 (void)
2669 /* InitEmpty for lvremove (0) */
2671 char device[] = "/dev/sda";
2672 device[5] = devchar;
2675 r = guestfs_blockdev_setrw (g, device);
2682 r = guestfs_umount_all (g);
2689 r = guestfs_lvm_remove_all (g);
2693 /* TestOutputList for lvremove (0) */
2695 char device[] = "/dev/sda";
2696 device[5] = devchar;
2699 r = guestfs_pvcreate (g, device);
2704 char volgroup[] = "VG";
2705 char physvols_0[] = "/dev/sda";
2706 physvols_0[5] = devchar;
2707 char *physvols[] = {
2713 r = guestfs_vgcreate (g, volgroup, physvols);
2718 char logvol[] = "LV1";
2719 char volgroup[] = "VG";
2722 r = guestfs_lvcreate (g, logvol, volgroup, 50);
2727 char logvol[] = "LV2";
2728 char volgroup[] = "VG";
2731 r = guestfs_lvcreate (g, logvol, volgroup, 50);
2736 char device[] = "/dev/VG/LV1";
2739 r = guestfs_lvremove (g, device);
2747 r = guestfs_lvs (g);
2751 fprintf (stderr, "test_lvremove_0: short list returned from command\n");
2756 char expected[] = "/dev/VG/LV2";
2757 if (strcmp (r[0], expected) != 0) {
2758 fprintf (stderr, "test_lvremove_0: expected \"%s\" but got \"%s\"\n", expected, r[0]);
2763 fprintf (stderr, "test_lvremove_0: extra elements returned from command\n");
2767 for (i = 0; r[i] != NULL; ++i)
2774 static int test_lvremove_1 (void)
2776 /* InitEmpty for lvremove (1) */
2778 char device[] = "/dev/sda";
2779 device[5] = devchar;
2782 r = guestfs_blockdev_setrw (g, device);
2789 r = guestfs_umount_all (g);
2796 r = guestfs_lvm_remove_all (g);
2800 /* TestOutputList for lvremove (1) */
2802 char device[] = "/dev/sda";
2803 device[5] = devchar;
2806 r = guestfs_pvcreate (g, device);
2811 char volgroup[] = "VG";
2812 char physvols_0[] = "/dev/sda";
2813 physvols_0[5] = devchar;
2814 char *physvols[] = {
2820 r = guestfs_vgcreate (g, volgroup, physvols);
2825 char logvol[] = "LV1";
2826 char volgroup[] = "VG";
2829 r = guestfs_lvcreate (g, logvol, volgroup, 50);
2834 char logvol[] = "LV2";
2835 char volgroup[] = "VG";
2838 r = guestfs_lvcreate (g, logvol, volgroup, 50);
2843 char device[] = "/dev/VG";
2846 r = guestfs_lvremove (g, device);
2854 r = guestfs_lvs (g);
2858 fprintf (stderr, "test_lvremove_1: extra elements returned from command\n");
2862 for (i = 0; r[i] != NULL; ++i)
2869 static int test_lvremove_2 (void)
2871 /* InitEmpty for lvremove (2) */
2873 char device[] = "/dev/sda";
2874 device[5] = devchar;
2877 r = guestfs_blockdev_setrw (g, device);
2884 r = guestfs_umount_all (g);
2891 r = guestfs_lvm_remove_all (g);
2895 /* TestOutputList for lvremove (2) */
2897 char device[] = "/dev/sda";
2898 device[5] = devchar;
2901 r = guestfs_pvcreate (g, device);
2906 char volgroup[] = "VG";
2907 char physvols_0[] = "/dev/sda";
2908 physvols_0[5] = devchar;
2909 char *physvols[] = {
2915 r = guestfs_vgcreate (g, volgroup, physvols);
2920 char logvol[] = "LV1";
2921 char volgroup[] = "VG";
2924 r = guestfs_lvcreate (g, logvol, volgroup, 50);
2929 char logvol[] = "LV2";
2930 char volgroup[] = "VG";
2933 r = guestfs_lvcreate (g, logvol, volgroup, 50);
2938 char device[] = "/dev/VG";
2941 r = guestfs_lvremove (g, device);
2949 r = guestfs_vgs (g);
2953 fprintf (stderr, "test_lvremove_2: short list returned from command\n");
2958 char expected[] = "VG";
2959 if (strcmp (r[0], expected) != 0) {
2960 fprintf (stderr, "test_lvremove_2: expected \"%s\" but got \"%s\"\n", expected, r[0]);
2965 fprintf (stderr, "test_lvremove_2: extra elements returned from command\n");
2969 for (i = 0; r[i] != NULL; ++i)
2976 static int test_mount_ro_0 (void)
2978 /* InitBasicFS for mount_ro (0): create ext2 on /dev/sda1 */
2980 char device[] = "/dev/sda";
2981 device[5] = devchar;
2984 r = guestfs_blockdev_setrw (g, device);
2991 r = guestfs_umount_all (g);
2998 r = guestfs_lvm_remove_all (g);
3003 char device[] = "/dev/sda";
3004 device[5] = devchar;
3005 char lines_0[] = ",";
3012 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
3017 char fstype[] = "ext2";
3018 char device[] = "/dev/sda1";
3019 device[5] = devchar;
3022 r = guestfs_mkfs (g, fstype, device);
3027 char device[] = "/dev/sda1";
3028 device[5] = devchar;
3029 char mountpoint[] = "/";
3032 r = guestfs_mount (g, device, mountpoint);
3036 /* TestLastFail for mount_ro (0) */
3038 char pathordevice[] = "/";
3041 r = guestfs_umount (g, pathordevice);
3046 char device[] = "/dev/sda1";
3047 device[5] = devchar;
3048 char mountpoint[] = "/";
3051 r = guestfs_mount_ro (g, device, mountpoint);
3056 char path[] = "/new";
3059 r = guestfs_touch (g, path);
3066 static int test_mount_ro_1 (void)
3068 /* InitBasicFS for mount_ro (1): create ext2 on /dev/sda1 */
3070 char device[] = "/dev/sda";
3071 device[5] = devchar;
3074 r = guestfs_blockdev_setrw (g, device);
3081 r = guestfs_umount_all (g);
3088 r = guestfs_lvm_remove_all (g);
3093 char device[] = "/dev/sda";
3094 device[5] = devchar;
3095 char lines_0[] = ",";
3102 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
3107 char fstype[] = "ext2";
3108 char device[] = "/dev/sda1";
3109 device[5] = devchar;
3112 r = guestfs_mkfs (g, fstype, device);
3117 char device[] = "/dev/sda1";
3118 device[5] = devchar;
3119 char mountpoint[] = "/";
3122 r = guestfs_mount (g, device, mountpoint);
3126 /* TestOutput for mount_ro (1) */
3127 char expected[] = "data";
3129 char path[] = "/new";
3130 char content[] = "data";
3133 r = guestfs_write_file (g, path, content, 0);
3138 char pathordevice[] = "/";
3141 r = guestfs_umount (g, pathordevice);
3146 char device[] = "/dev/sda1";
3147 device[5] = devchar;
3148 char mountpoint[] = "/";
3151 r = guestfs_mount_ro (g, device, mountpoint);
3156 char path[] = "/new";
3159 r = guestfs_cat (g, path);
3162 if (strcmp (r, expected) != 0) {
3163 fprintf (stderr, "test_mount_ro_1: expected \"%s\" but got \"%s\"\n", expected, r);
3171 static int test_tgz_in_0 (void)
3173 /* InitBasicFS for tgz_in (0): create ext2 on /dev/sda1 */
3175 char device[] = "/dev/sda";
3176 device[5] = devchar;
3179 r = guestfs_blockdev_setrw (g, device);
3186 r = guestfs_umount_all (g);
3193 r = guestfs_lvm_remove_all (g);
3198 char device[] = "/dev/sda";
3199 device[5] = devchar;
3200 char lines_0[] = ",";
3207 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
3212 char fstype[] = "ext2";
3213 char device[] = "/dev/sda1";
3214 device[5] = devchar;
3217 r = guestfs_mkfs (g, fstype, device);
3222 char device[] = "/dev/sda1";
3223 device[5] = devchar;
3224 char mountpoint[] = "/";
3227 r = guestfs_mount (g, device, mountpoint);
3231 /* TestOutput for tgz_in (0) */
3232 char expected[] = "hello\n";
3234 char directory[] = "/";
3237 r = guestfs_tgz_in (g, "images/helloworld.tar.gz", directory);
3242 char path[] = "/hello";
3245 r = guestfs_cat (g, path);
3248 if (strcmp (r, expected) != 0) {
3249 fprintf (stderr, "test_tgz_in_0: expected \"%s\" but got \"%s\"\n", expected, r);
3257 static int test_tar_in_0 (void)
3259 /* InitBasicFS for tar_in (0): create ext2 on /dev/sda1 */
3261 char device[] = "/dev/sda";
3262 device[5] = devchar;
3265 r = guestfs_blockdev_setrw (g, device);
3272 r = guestfs_umount_all (g);
3279 r = guestfs_lvm_remove_all (g);
3284 char device[] = "/dev/sda";
3285 device[5] = devchar;
3286 char lines_0[] = ",";
3293 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
3298 char fstype[] = "ext2";
3299 char device[] = "/dev/sda1";
3300 device[5] = devchar;
3303 r = guestfs_mkfs (g, fstype, device);
3308 char device[] = "/dev/sda1";
3309 device[5] = devchar;
3310 char mountpoint[] = "/";
3313 r = guestfs_mount (g, device, mountpoint);
3317 /* TestOutput for tar_in (0) */
3318 char expected[] = "hello\n";
3320 char directory[] = "/";
3323 r = guestfs_tar_in (g, "images/helloworld.tar", directory);
3328 char path[] = "/hello";
3331 r = guestfs_cat (g, path);
3334 if (strcmp (r, expected) != 0) {
3335 fprintf (stderr, "test_tar_in_0: expected \"%s\" but got \"%s\"\n", expected, r);
3343 static int test_checksum_0 (void)
3345 /* InitBasicFS for checksum (0): create ext2 on /dev/sda1 */
3347 char device[] = "/dev/sda";
3348 device[5] = devchar;
3351 r = guestfs_blockdev_setrw (g, device);
3358 r = guestfs_umount_all (g);
3365 r = guestfs_lvm_remove_all (g);
3370 char device[] = "/dev/sda";
3371 device[5] = devchar;
3372 char lines_0[] = ",";
3379 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
3384 char fstype[] = "ext2";
3385 char device[] = "/dev/sda1";
3386 device[5] = devchar;
3389 r = guestfs_mkfs (g, fstype, device);
3394 char device[] = "/dev/sda1";
3395 device[5] = devchar;
3396 char mountpoint[] = "/";
3399 r = guestfs_mount (g, device, mountpoint);
3403 /* TestOutput for checksum (0) */
3404 char expected[] = "935282863";
3406 char path[] = "/new";
3407 char content[] = "test\n";
3410 r = guestfs_write_file (g, path, content, 0);
3415 char csumtype[] = "crc";
3416 char path[] = "/new";
3419 r = guestfs_checksum (g, csumtype, path);
3422 if (strcmp (r, expected) != 0) {
3423 fprintf (stderr, "test_checksum_0: expected \"%s\" but got \"%s\"\n", expected, r);
3431 static int test_checksum_1 (void)
3433 /* InitBasicFS for checksum (1): create ext2 on /dev/sda1 */
3435 char device[] = "/dev/sda";
3436 device[5] = devchar;
3439 r = guestfs_blockdev_setrw (g, device);
3446 r = guestfs_umount_all (g);
3453 r = guestfs_lvm_remove_all (g);
3458 char device[] = "/dev/sda";
3459 device[5] = devchar;
3460 char lines_0[] = ",";
3467 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
3472 char fstype[] = "ext2";
3473 char device[] = "/dev/sda1";
3474 device[5] = devchar;
3477 r = guestfs_mkfs (g, fstype, device);
3482 char device[] = "/dev/sda1";
3483 device[5] = devchar;
3484 char mountpoint[] = "/";
3487 r = guestfs_mount (g, device, mountpoint);
3491 /* TestLastFail for checksum (1) */
3493 char csumtype[] = "crc";
3494 char path[] = "/new";
3497 r = guestfs_checksum (g, csumtype, path);
3505 static int test_checksum_2 (void)
3507 /* InitBasicFS for checksum (2): create ext2 on /dev/sda1 */
3509 char device[] = "/dev/sda";
3510 device[5] = devchar;
3513 r = guestfs_blockdev_setrw (g, device);
3520 r = guestfs_umount_all (g);
3527 r = guestfs_lvm_remove_all (g);
3532 char device[] = "/dev/sda";
3533 device[5] = devchar;
3534 char lines_0[] = ",";
3541 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
3546 char fstype[] = "ext2";
3547 char device[] = "/dev/sda1";
3548 device[5] = devchar;
3551 r = guestfs_mkfs (g, fstype, device);
3556 char device[] = "/dev/sda1";
3557 device[5] = devchar;
3558 char mountpoint[] = "/";
3561 r = guestfs_mount (g, device, mountpoint);
3565 /* TestOutput for checksum (2) */
3566 char expected[] = "d8e8fca2dc0f896fd7cb4cb0031ba249";
3568 char path[] = "/new";
3569 char content[] = "test\n";
3572 r = guestfs_write_file (g, path, content, 0);
3577 char csumtype[] = "md5";
3578 char path[] = "/new";
3581 r = guestfs_checksum (g, csumtype, path);
3584 if (strcmp (r, expected) != 0) {
3585 fprintf (stderr, "test_checksum_2: expected \"%s\" but got \"%s\"\n", expected, r);
3593 static int test_checksum_3 (void)
3595 /* InitBasicFS for checksum (3): create ext2 on /dev/sda1 */
3597 char device[] = "/dev/sda";
3598 device[5] = devchar;
3601 r = guestfs_blockdev_setrw (g, device);
3608 r = guestfs_umount_all (g);
3615 r = guestfs_lvm_remove_all (g);
3620 char device[] = "/dev/sda";
3621 device[5] = devchar;
3622 char lines_0[] = ",";
3629 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
3634 char fstype[] = "ext2";
3635 char device[] = "/dev/sda1";
3636 device[5] = devchar;
3639 r = guestfs_mkfs (g, fstype, device);
3644 char device[] = "/dev/sda1";
3645 device[5] = devchar;
3646 char mountpoint[] = "/";
3649 r = guestfs_mount (g, device, mountpoint);
3653 /* TestOutput for checksum (3) */
3654 char expected[] = "4e1243bd22c66e76c2ba9eddc1f91394e57f9f83";
3656 char path[] = "/new";
3657 char content[] = "test\n";
3660 r = guestfs_write_file (g, path, content, 0);
3665 char csumtype[] = "sha1";
3666 char path[] = "/new";
3669 r = guestfs_checksum (g, csumtype, path);
3672 if (strcmp (r, expected) != 0) {
3673 fprintf (stderr, "test_checksum_3: expected \"%s\" but got \"%s\"\n", expected, r);
3681 static int test_checksum_4 (void)
3683 /* InitBasicFS for checksum (4): create ext2 on /dev/sda1 */
3685 char device[] = "/dev/sda";
3686 device[5] = devchar;
3689 r = guestfs_blockdev_setrw (g, device);
3696 r = guestfs_umount_all (g);
3703 r = guestfs_lvm_remove_all (g);
3708 char device[] = "/dev/sda";
3709 device[5] = devchar;
3710 char lines_0[] = ",";
3717 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
3722 char fstype[] = "ext2";
3723 char device[] = "/dev/sda1";
3724 device[5] = devchar;
3727 r = guestfs_mkfs (g, fstype, device);
3732 char device[] = "/dev/sda1";
3733 device[5] = devchar;
3734 char mountpoint[] = "/";
3737 r = guestfs_mount (g, device, mountpoint);
3741 /* TestOutput for checksum (4) */
3742 char expected[] = "52f1bf093f4b7588726035c176c0cdb4376cfea53819f1395ac9e6ec";
3744 char path[] = "/new";
3745 char content[] = "test\n";
3748 r = guestfs_write_file (g, path, content, 0);
3753 char csumtype[] = "sha224";
3754 char path[] = "/new";
3757 r = guestfs_checksum (g, csumtype, path);
3760 if (strcmp (r, expected) != 0) {
3761 fprintf (stderr, "test_checksum_4: expected \"%s\" but got \"%s\"\n", expected, r);
3769 static int test_checksum_5 (void)
3771 /* InitBasicFS for checksum (5): create ext2 on /dev/sda1 */
3773 char device[] = "/dev/sda";
3774 device[5] = devchar;
3777 r = guestfs_blockdev_setrw (g, device);
3784 r = guestfs_umount_all (g);
3791 r = guestfs_lvm_remove_all (g);
3796 char device[] = "/dev/sda";
3797 device[5] = devchar;
3798 char lines_0[] = ",";
3805 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
3810 char fstype[] = "ext2";
3811 char device[] = "/dev/sda1";
3812 device[5] = devchar;
3815 r = guestfs_mkfs (g, fstype, device);
3820 char device[] = "/dev/sda1";
3821 device[5] = devchar;
3822 char mountpoint[] = "/";
3825 r = guestfs_mount (g, device, mountpoint);
3829 /* TestOutput for checksum (5) */
3830 char expected[] = "f2ca1bb6c7e907d06dafe4687e579fce76b37e4e93b7605022da52e6ccc26fd2";
3832 char path[] = "/new";
3833 char content[] = "test\n";
3836 r = guestfs_write_file (g, path, content, 0);
3841 char csumtype[] = "sha256";
3842 char path[] = "/new";
3845 r = guestfs_checksum (g, csumtype, path);
3848 if (strcmp (r, expected) != 0) {
3849 fprintf (stderr, "test_checksum_5: expected \"%s\" but got \"%s\"\n", expected, r);
3857 static int test_checksum_6 (void)
3859 /* InitBasicFS for checksum (6): create ext2 on /dev/sda1 */
3861 char device[] = "/dev/sda";
3862 device[5] = devchar;
3865 r = guestfs_blockdev_setrw (g, device);
3872 r = guestfs_umount_all (g);
3879 r = guestfs_lvm_remove_all (g);
3884 char device[] = "/dev/sda";
3885 device[5] = devchar;
3886 char lines_0[] = ",";
3893 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
3898 char fstype[] = "ext2";
3899 char device[] = "/dev/sda1";
3900 device[5] = devchar;
3903 r = guestfs_mkfs (g, fstype, device);
3908 char device[] = "/dev/sda1";
3909 device[5] = devchar;
3910 char mountpoint[] = "/";
3913 r = guestfs_mount (g, device, mountpoint);
3917 /* TestOutput for checksum (6) */
3918 char expected[] = "109bb6b5b6d5547c1ce03c7a8bd7d8f80c1cb0957f50c4f7fda04692079917e4f9cad52b878f3d8234e1a170b154b72d";
3920 char path[] = "/new";
3921 char content[] = "test\n";
3924 r = guestfs_write_file (g, path, content, 0);
3929 char csumtype[] = "sha384";
3930 char path[] = "/new";
3933 r = guestfs_checksum (g, csumtype, path);
3936 if (strcmp (r, expected) != 0) {
3937 fprintf (stderr, "test_checksum_6: expected \"%s\" but got \"%s\"\n", expected, r);
3945 static int test_checksum_7 (void)
3947 /* InitBasicFS for checksum (7): create ext2 on /dev/sda1 */
3949 char device[] = "/dev/sda";
3950 device[5] = devchar;
3953 r = guestfs_blockdev_setrw (g, device);
3960 r = guestfs_umount_all (g);
3967 r = guestfs_lvm_remove_all (g);
3972 char device[] = "/dev/sda";
3973 device[5] = devchar;
3974 char lines_0[] = ",";
3981 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
3986 char fstype[] = "ext2";
3987 char device[] = "/dev/sda1";
3988 device[5] = devchar;
3991 r = guestfs_mkfs (g, fstype, device);
3996 char device[] = "/dev/sda1";
3997 device[5] = devchar;
3998 char mountpoint[] = "/";
4001 r = guestfs_mount (g, device, mountpoint);
4005 /* TestOutput for checksum (7) */
4006 char expected[] = "0e3e75234abc68f4378a86b3f4b32a198ba301845b0cd6e50106e874345700cc6663a86c1ea125dc5e92be17c98f9a0f85ca9d5f595db2012f7cc3571945c123";
4008 char path[] = "/new";
4009 char content[] = "test\n";
4012 r = guestfs_write_file (g, path, content, 0);
4017 char csumtype[] = "sha512";
4018 char path[] = "/new";
4021 r = guestfs_checksum (g, csumtype, path);
4024 if (strcmp (r, expected) != 0) {
4025 fprintf (stderr, "test_checksum_7: expected \"%s\" but got \"%s\"\n", expected, r);
4033 static int test_download_0 (void)
4035 /* InitBasicFS for download (0): create ext2 on /dev/sda1 */
4037 char device[] = "/dev/sda";
4038 device[5] = devchar;
4041 r = guestfs_blockdev_setrw (g, device);
4048 r = guestfs_umount_all (g);
4055 r = guestfs_lvm_remove_all (g);
4060 char device[] = "/dev/sda";
4061 device[5] = devchar;
4062 char lines_0[] = ",";
4069 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
4074 char fstype[] = "ext2";
4075 char device[] = "/dev/sda1";
4076 device[5] = devchar;
4079 r = guestfs_mkfs (g, fstype, device);
4084 char device[] = "/dev/sda1";
4085 device[5] = devchar;
4086 char mountpoint[] = "/";
4089 r = guestfs_mount (g, device, mountpoint);
4093 /* TestOutput for download (0) */
4094 char expected[] = "e3eda01d9815f8d24aae2dbd89b68b06";
4096 char remotefilename[] = "/COPYING.LIB";
4099 r = guestfs_upload (g, "COPYING.LIB", remotefilename);
4104 char remotefilename[] = "/COPYING.LIB";
4107 r = guestfs_download (g, remotefilename, "testdownload.tmp");
4112 char remotefilename[] = "/upload";
4115 r = guestfs_upload (g, "testdownload.tmp", remotefilename);
4120 char csumtype[] = "md5";
4121 char path[] = "/upload";
4124 r = guestfs_checksum (g, csumtype, path);
4127 if (strcmp (r, expected) != 0) {
4128 fprintf (stderr, "test_download_0: expected \"%s\" but got \"%s\"\n", expected, r);
4136 static int test_upload_0 (void)
4138 /* InitBasicFS for upload (0): create ext2 on /dev/sda1 */
4140 char device[] = "/dev/sda";
4141 device[5] = devchar;
4144 r = guestfs_blockdev_setrw (g, device);
4151 r = guestfs_umount_all (g);
4158 r = guestfs_lvm_remove_all (g);
4163 char device[] = "/dev/sda";
4164 device[5] = devchar;
4165 char lines_0[] = ",";
4172 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
4177 char fstype[] = "ext2";
4178 char device[] = "/dev/sda1";
4179 device[5] = devchar;
4182 r = guestfs_mkfs (g, fstype, device);
4187 char device[] = "/dev/sda1";
4188 device[5] = devchar;
4189 char mountpoint[] = "/";
4192 r = guestfs_mount (g, device, mountpoint);
4196 /* TestOutput for upload (0) */
4197 char expected[] = "e3eda01d9815f8d24aae2dbd89b68b06";
4199 char remotefilename[] = "/COPYING.LIB";
4202 r = guestfs_upload (g, "COPYING.LIB", remotefilename);
4207 char csumtype[] = "md5";
4208 char path[] = "/COPYING.LIB";
4211 r = guestfs_checksum (g, csumtype, path);
4214 if (strcmp (r, expected) != 0) {
4215 fprintf (stderr, "test_upload_0: expected \"%s\" but got \"%s\"\n", expected, r);
4223 static int test_blockdev_rereadpt_0 (void)
4225 /* InitEmpty for blockdev_rereadpt (0) */
4227 char device[] = "/dev/sda";
4228 device[5] = devchar;