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_append\" has no tests\n");
76 fprintf (stderr, "warning: \"guestfs_get_append\" has no tests\n");
77 fprintf (stderr, "warning: \"guestfs_set_autosync\" has no tests\n");
78 fprintf (stderr, "warning: \"guestfs_get_autosync\" has no tests\n");
79 fprintf (stderr, "warning: \"guestfs_set_verbose\" has no tests\n");
80 fprintf (stderr, "warning: \"guestfs_get_verbose\" has no tests\n");
81 fprintf (stderr, "warning: \"guestfs_is_ready\" has no tests\n");
82 fprintf (stderr, "warning: \"guestfs_is_config\" has no tests\n");
83 fprintf (stderr, "warning: \"guestfs_is_launching\" has no tests\n");
84 fprintf (stderr, "warning: \"guestfs_is_busy\" has no tests\n");
85 fprintf (stderr, "warning: \"guestfs_get_state\" has no tests\n");
86 fprintf (stderr, "warning: \"guestfs_set_busy\" has no tests\n");
87 fprintf (stderr, "warning: \"guestfs_set_ready\" has no tests\n");
88 fprintf (stderr, "warning: \"guestfs_end_busy\" has no tests\n");
89 fprintf (stderr, "warning: \"guestfs_ll\" has no tests\n");
90 fprintf (stderr, "warning: \"guestfs_pvs_full\" has no tests\n");
91 fprintf (stderr, "warning: \"guestfs_vgs_full\" has no tests\n");
92 fprintf (stderr, "warning: \"guestfs_lvs_full\" has no tests\n");
93 fprintf (stderr, "warning: \"guestfs_aug_init\" has no tests\n");
94 fprintf (stderr, "warning: \"guestfs_aug_close\" has no tests\n");
95 fprintf (stderr, "warning: \"guestfs_aug_defvar\" has no tests\n");
96 fprintf (stderr, "warning: \"guestfs_aug_defnode\" has no tests\n");
97 fprintf (stderr, "warning: \"guestfs_aug_get\" has no tests\n");
98 fprintf (stderr, "warning: \"guestfs_aug_set\" has no tests\n");
99 fprintf (stderr, "warning: \"guestfs_aug_insert\" has no tests\n");
100 fprintf (stderr, "warning: \"guestfs_aug_rm\" has no tests\n");
101 fprintf (stderr, "warning: \"guestfs_aug_mv\" has no tests\n");
102 fprintf (stderr, "warning: \"guestfs_aug_match\" has no tests\n");
103 fprintf (stderr, "warning: \"guestfs_aug_save\" has no tests\n");
104 fprintf (stderr, "warning: \"guestfs_aug_load\" has no tests\n");
105 fprintf (stderr, "warning: \"guestfs_aug_ls\" has no tests\n");
106 fprintf (stderr, "warning: \"guestfs_chmod\" has no tests\n");
107 fprintf (stderr, "warning: \"guestfs_chown\" has no tests\n");
108 fprintf (stderr, "warning: \"guestfs_sfdisk\" has no tests\n");
109 fprintf (stderr, "warning: \"guestfs_lvm_remove_all\" 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_e_1 (void)
301 printf ("%s skipped (reason: test disabled in generator)\n", "test_strings_e_1");
305 static int test_strings_0 (void)
307 /* InitBasicFS for strings (0): create ext2 on /dev/sda1 */
309 char device[] = "/dev/sda";
313 r = guestfs_blockdev_setrw (g, device);
320 r = guestfs_umount_all (g);
327 r = guestfs_lvm_remove_all (g);
332 char device[] = "/dev/sda";
334 char lines_0[] = ",";
341 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
346 char fstype[] = "ext2";
347 char device[] = "/dev/sda1";
351 r = guestfs_mkfs (g, fstype, device);
356 char device[] = "/dev/sda1";
358 char mountpoint[] = "/";
361 r = guestfs_mount (g, device, mountpoint);
365 /* TestOutputList for strings (0) */
367 char path[] = "/new";
368 char content[] = "hello\nworld\n";
371 r = guestfs_write_file (g, path, content, 0);
376 char path[] = "/new";
380 r = guestfs_strings (g, path);
384 fprintf (stderr, "test_strings_0: short list returned from command\n");
389 char expected[] = "hello";
390 if (strcmp (r[0], expected) != 0) {
391 fprintf (stderr, "test_strings_0: expected \"%s\" but got \"%s\"\n", expected, r[0]);
396 fprintf (stderr, "test_strings_0: short list returned from command\n");
401 char expected[] = "world";
402 if (strcmp (r[1], expected) != 0) {
403 fprintf (stderr, "test_strings_0: expected \"%s\" but got \"%s\"\n", expected, r[1]);
408 fprintf (stderr, "test_strings_0: extra elements returned from command\n");
412 for (i = 0; r[i] != NULL; ++i)
419 static int test_strings_1 (void)
421 /* InitBasicFS for strings (1): create ext2 on /dev/sda1 */
423 char device[] = "/dev/sda";
427 r = guestfs_blockdev_setrw (g, device);
434 r = guestfs_umount_all (g);
441 r = guestfs_lvm_remove_all (g);
446 char device[] = "/dev/sda";
448 char lines_0[] = ",";
455 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
460 char fstype[] = "ext2";
461 char device[] = "/dev/sda1";
465 r = guestfs_mkfs (g, fstype, device);
470 char device[] = "/dev/sda1";
472 char mountpoint[] = "/";
475 r = guestfs_mount (g, device, mountpoint);
479 /* TestOutputList for strings (1) */
481 char path[] = "/new";
484 r = guestfs_touch (g, path);
489 char path[] = "/new";
493 r = guestfs_strings (g, path);
497 fprintf (stderr, "test_strings_1: extra elements returned from command\n");
501 for (i = 0; r[i] != NULL; ++i)
508 static int test_equal_0 (void)
510 /* InitBasicFS for equal (0): 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 /* TestOutputTrue for equal (0) */
570 char path[] = "/file1";
571 char content[] = "contents of a file";
574 r = guestfs_write_file (g, path, content, 0);
579 char src[] = "/file1";
580 char dest[] = "/file2";
583 r = guestfs_cp (g, src, dest);
588 char file1[] = "/file1";
589 char file2[] = "/file2";
592 r = guestfs_equal (g, file1, file2);
596 fprintf (stderr, "test_equal_0: expected true, got false\n");
603 static int test_equal_1 (void)
605 /* InitBasicFS for equal (1): 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 /* TestOutputFalse for equal (1) */
665 char path[] = "/file1";
666 char content[] = "contents of a file";
669 r = guestfs_write_file (g, path, content, 0);
674 char path[] = "/file2";
675 char content[] = "contents of another file";
678 r = guestfs_write_file (g, path, content, 0);
683 char file1[] = "/file1";
684 char file2[] = "/file2";
687 r = guestfs_equal (g, file1, file2);
691 fprintf (stderr, "test_equal_1: expected false, got true\n");
698 static int test_equal_2 (void)
700 /* InitBasicFS for equal (2): create ext2 on /dev/sda1 */
702 char device[] = "/dev/sda";
706 r = guestfs_blockdev_setrw (g, device);
713 r = guestfs_umount_all (g);
720 r = guestfs_lvm_remove_all (g);
725 char device[] = "/dev/sda";
727 char lines_0[] = ",";
734 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
739 char fstype[] = "ext2";
740 char device[] = "/dev/sda1";
744 r = guestfs_mkfs (g, fstype, device);
749 char device[] = "/dev/sda1";
751 char mountpoint[] = "/";
754 r = guestfs_mount (g, device, mountpoint);
758 /* TestLastFail for equal (2) */
760 char file1[] = "/file1";
761 char file2[] = "/file2";
764 r = guestfs_equal (g, file1, file2);
771 static int test_ping_daemon_0 (void)
773 /* InitEmpty for ping_daemon (0) */
775 char device[] = "/dev/sda";
779 r = guestfs_blockdev_setrw (g, device);
786 r = guestfs_umount_all (g);
793 r = guestfs_lvm_remove_all (g);
797 /* TestRun for ping_daemon (0) */
801 r = guestfs_ping_daemon (g);
808 static int test_dmesg_0 (void)
810 /* InitEmpty for dmesg (0) */
812 char device[] = "/dev/sda";
816 r = guestfs_blockdev_setrw (g, device);
823 r = guestfs_umount_all (g);
830 r = guestfs_lvm_remove_all (g);
834 /* TestRun for dmesg (0) */
838 r = guestfs_dmesg (g);
846 static int test_drop_caches_0 (void)
848 /* InitEmpty for drop_caches (0) */
850 char device[] = "/dev/sda";
854 r = guestfs_blockdev_setrw (g, device);
861 r = guestfs_umount_all (g);
868 r = guestfs_lvm_remove_all (g);
872 /* TestRun for drop_caches (0) */
876 r = guestfs_drop_caches (g, 3);
883 static int test_mv_0 (void)
885 /* InitBasicFS for mv (0): create ext2 on /dev/sda1 */
887 char device[] = "/dev/sda";
891 r = guestfs_blockdev_setrw (g, device);
898 r = guestfs_umount_all (g);
905 r = guestfs_lvm_remove_all (g);
910 char device[] = "/dev/sda";
912 char lines_0[] = ",";
919 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
924 char fstype[] = "ext2";
925 char device[] = "/dev/sda1";
929 r = guestfs_mkfs (g, fstype, device);
934 char device[] = "/dev/sda1";
936 char mountpoint[] = "/";
939 r = guestfs_mount (g, device, mountpoint);
943 /* TestOutput for mv (0) */
944 char expected[] = "file content";
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[] = "/new";
967 r = guestfs_cat (g, path);
970 if (strcmp (r, expected) != 0) {
971 fprintf (stderr, "test_mv_0: expected \"%s\" but got \"%s\"\n", expected, r);
979 static int test_mv_1 (void)
981 /* InitBasicFS for mv (1): create ext2 on /dev/sda1 */
983 char device[] = "/dev/sda";
987 r = guestfs_blockdev_setrw (g, device);
994 r = guestfs_umount_all (g);
1001 r = guestfs_lvm_remove_all (g);
1006 char device[] = "/dev/sda";
1007 device[5] = devchar;
1008 char lines_0[] = ",";
1015 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
1020 char fstype[] = "ext2";
1021 char device[] = "/dev/sda1";
1022 device[5] = devchar;
1025 r = guestfs_mkfs (g, fstype, device);
1030 char device[] = "/dev/sda1";
1031 device[5] = devchar;
1032 char mountpoint[] = "/";
1035 r = guestfs_mount (g, device, mountpoint);
1039 /* TestOutputFalse for mv (1) */
1041 char path[] = "/old";
1042 char content[] = "file content";
1045 r = guestfs_write_file (g, path, content, 0);
1050 char src[] = "/old";
1051 char dest[] = "/new";
1054 r = guestfs_mv (g, src, dest);
1059 char path[] = "/old";
1062 r = guestfs_is_file (g, path);
1066 fprintf (stderr, "test_mv_1: expected false, got true\n");
1073 static int test_cp_a_0 (void)
1075 /* InitBasicFS for cp_a (0): create ext2 on /dev/sda1 */
1077 char device[] = "/dev/sda";
1078 device[5] = devchar;
1081 r = guestfs_blockdev_setrw (g, device);
1088 r = guestfs_umount_all (g);
1095 r = guestfs_lvm_remove_all (g);
1100 char device[] = "/dev/sda";
1101 device[5] = devchar;
1102 char lines_0[] = ",";
1109 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
1114 char fstype[] = "ext2";
1115 char device[] = "/dev/sda1";
1116 device[5] = devchar;
1119 r = guestfs_mkfs (g, fstype, device);
1124 char device[] = "/dev/sda1";
1125 device[5] = devchar;
1126 char mountpoint[] = "/";
1129 r = guestfs_mount (g, device, mountpoint);
1133 /* TestOutput for cp_a (0) */
1134 char expected[] = "file content";
1136 char path[] = "/olddir";
1139 r = guestfs_mkdir (g, path);
1144 char path[] = "/newdir";
1147 r = guestfs_mkdir (g, path);
1152 char path[] = "/olddir/file";
1153 char content[] = "file content";
1156 r = guestfs_write_file (g, path, content, 0);
1161 char src[] = "/olddir";
1162 char dest[] = "/newdir";
1165 r = guestfs_cp_a (g, src, dest);
1170 char path[] = "/newdir/olddir/file";
1173 r = guestfs_cat (g, path);
1176 if (strcmp (r, expected) != 0) {
1177 fprintf (stderr, "test_cp_a_0: expected \"%s\" but got \"%s\"\n", expected, r);
1185 static int test_cp_0 (void)
1187 /* InitBasicFS for cp (0): create ext2 on /dev/sda1 */
1189 char device[] = "/dev/sda";
1190 device[5] = devchar;
1193 r = guestfs_blockdev_setrw (g, device);
1200 r = guestfs_umount_all (g);
1207 r = guestfs_lvm_remove_all (g);
1212 char device[] = "/dev/sda";
1213 device[5] = devchar;
1214 char lines_0[] = ",";
1221 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
1226 char fstype[] = "ext2";
1227 char device[] = "/dev/sda1";
1228 device[5] = devchar;
1231 r = guestfs_mkfs (g, fstype, device);
1236 char device[] = "/dev/sda1";
1237 device[5] = devchar;
1238 char mountpoint[] = "/";
1241 r = guestfs_mount (g, device, mountpoint);
1245 /* TestOutput for cp (0) */
1246 char expected[] = "file content";
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[] = "/new";
1269 r = guestfs_cat (g, path);
1272 if (strcmp (r, expected) != 0) {
1273 fprintf (stderr, "test_cp_0: expected \"%s\" but got \"%s\"\n", expected, r);
1281 static int test_cp_1 (void)
1283 /* InitBasicFS for cp (1): create ext2 on /dev/sda1 */
1285 char device[] = "/dev/sda";
1286 device[5] = devchar;
1289 r = guestfs_blockdev_setrw (g, device);
1296 r = guestfs_umount_all (g);
1303 r = guestfs_lvm_remove_all (g);
1308 char device[] = "/dev/sda";
1309 device[5] = devchar;
1310 char lines_0[] = ",";
1317 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
1322 char fstype[] = "ext2";
1323 char device[] = "/dev/sda1";
1324 device[5] = devchar;
1327 r = guestfs_mkfs (g, fstype, device);
1332 char device[] = "/dev/sda1";
1333 device[5] = devchar;
1334 char mountpoint[] = "/";
1337 r = guestfs_mount (g, device, mountpoint);
1341 /* TestOutputTrue for cp (1) */
1343 char path[] = "/old";
1344 char content[] = "file content";
1347 r = guestfs_write_file (g, path, content, 0);
1352 char src[] = "/old";
1353 char dest[] = "/new";
1356 r = guestfs_cp (g, src, dest);
1361 char path[] = "/old";
1364 r = guestfs_is_file (g, path);
1368 fprintf (stderr, "test_cp_1: expected true, got false\n");
1375 static int test_cp_2 (void)
1377 /* InitBasicFS for cp (2): create ext2 on /dev/sda1 */
1379 char device[] = "/dev/sda";
1380 device[5] = devchar;
1383 r = guestfs_blockdev_setrw (g, device);
1390 r = guestfs_umount_all (g);
1397 r = guestfs_lvm_remove_all (g);
1402 char device[] = "/dev/sda";
1403 device[5] = devchar;
1404 char lines_0[] = ",";
1411 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
1416 char fstype[] = "ext2";
1417 char device[] = "/dev/sda1";
1418 device[5] = devchar;
1421 r = guestfs_mkfs (g, fstype, device);
1426 char device[] = "/dev/sda1";
1427 device[5] = devchar;
1428 char mountpoint[] = "/";
1431 r = guestfs_mount (g, device, mountpoint);
1435 /* TestOutput for cp (2) */
1436 char expected[] = "file content";
1438 char path[] = "/old";
1439 char content[] = "file content";
1442 r = guestfs_write_file (g, path, content, 0);
1447 char path[] = "/dir";
1450 r = guestfs_mkdir (g, path);
1455 char src[] = "/old";
1456 char dest[] = "/dir/new";
1459 r = guestfs_cp (g, src, dest);
1464 char path[] = "/dir/new";
1467 r = guestfs_cat (g, path);
1470 if (strcmp (r, expected) != 0) {
1471 fprintf (stderr, "test_cp_2: expected \"%s\" but got \"%s\"\n", expected, r);
1479 static int test_grub_install_0 (void)
1481 /* InitBasicFS for grub_install (0): create ext2 on /dev/sda1 */
1483 char device[] = "/dev/sda";
1484 device[5] = devchar;
1487 r = guestfs_blockdev_setrw (g, device);
1494 r = guestfs_umount_all (g);
1501 r = guestfs_lvm_remove_all (g);
1506 char device[] = "/dev/sda";
1507 device[5] = devchar;
1508 char lines_0[] = ",";
1515 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
1520 char fstype[] = "ext2";
1521 char device[] = "/dev/sda1";
1522 device[5] = devchar;
1525 r = guestfs_mkfs (g, fstype, device);
1530 char device[] = "/dev/sda1";
1531 device[5] = devchar;
1532 char mountpoint[] = "/";
1535 r = guestfs_mount (g, device, mountpoint);
1539 /* TestOutputTrue for grub_install (0) */
1542 char device[] = "/dev/sda1";
1543 device[5] = devchar;
1546 r = guestfs_grub_install (g, root, device);
1551 char path[] = "/boot";
1554 r = guestfs_is_dir (g, path);
1558 fprintf (stderr, "test_grub_install_0: expected true, got false\n");
1565 static int test_zero_0 (void)
1567 /* InitBasicFS for zero (0): create ext2 on /dev/sda1 */
1569 char device[] = "/dev/sda";
1570 device[5] = devchar;
1573 r = guestfs_blockdev_setrw (g, device);
1580 r = guestfs_umount_all (g);
1587 r = guestfs_lvm_remove_all (g);
1592 char device[] = "/dev/sda";
1593 device[5] = devchar;
1594 char lines_0[] = ",";
1601 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
1606 char fstype[] = "ext2";
1607 char device[] = "/dev/sda1";
1608 device[5] = devchar;
1611 r = guestfs_mkfs (g, fstype, device);
1616 char device[] = "/dev/sda1";
1617 device[5] = devchar;
1618 char mountpoint[] = "/";
1621 r = guestfs_mount (g, device, mountpoint);
1625 /* TestOutput for zero (0) */
1626 char expected[] = "data";
1628 char pathordevice[] = "/dev/sda1";
1629 pathordevice[5] = devchar;
1632 r = guestfs_umount (g, pathordevice);
1637 char device[] = "/dev/sda1";
1638 device[5] = devchar;
1641 r = guestfs_zero (g, device);
1646 char path[] = "/dev/sda1";
1650 r = guestfs_file (g, path);
1653 if (strcmp (r, expected) != 0) {
1654 fprintf (stderr, "test_zero_0: expected \"%s\" but got \"%s\"\n", expected, r);
1662 static int test_fsck_0 (void)
1664 /* InitBasicFS for fsck (0): create ext2 on /dev/sda1 */
1666 char device[] = "/dev/sda";
1667 device[5] = devchar;
1670 r = guestfs_blockdev_setrw (g, device);
1677 r = guestfs_umount_all (g);
1684 r = guestfs_lvm_remove_all (g);
1689 char device[] = "/dev/sda";
1690 device[5] = devchar;
1691 char lines_0[] = ",";
1698 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
1703 char fstype[] = "ext2";
1704 char device[] = "/dev/sda1";
1705 device[5] = devchar;
1708 r = guestfs_mkfs (g, fstype, device);
1713 char device[] = "/dev/sda1";
1714 device[5] = devchar;
1715 char mountpoint[] = "/";
1718 r = guestfs_mount (g, device, mountpoint);
1722 /* TestOutputInt for fsck (0) */
1724 char pathordevice[] = "/dev/sda1";
1725 pathordevice[5] = devchar;
1728 r = guestfs_umount (g, pathordevice);
1733 char fstype[] = "ext2";
1734 char device[] = "/dev/sda1";
1735 device[5] = devchar;
1738 r = guestfs_fsck (g, fstype, device);
1742 fprintf (stderr, "test_fsck_0: expected 0 but got %d\n", (int) r);
1749 static int test_fsck_1 (void)
1751 /* InitBasicFS for fsck (1): create ext2 on /dev/sda1 */
1753 char device[] = "/dev/sda";
1754 device[5] = devchar;
1757 r = guestfs_blockdev_setrw (g, device);
1764 r = guestfs_umount_all (g);
1771 r = guestfs_lvm_remove_all (g);
1776 char device[] = "/dev/sda";
1777 device[5] = devchar;
1778 char lines_0[] = ",";
1785 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
1790 char fstype[] = "ext2";
1791 char device[] = "/dev/sda1";
1792 device[5] = devchar;
1795 r = guestfs_mkfs (g, fstype, device);
1800 char device[] = "/dev/sda1";
1801 device[5] = devchar;
1802 char mountpoint[] = "/";
1805 r = guestfs_mount (g, device, mountpoint);
1809 /* TestOutputInt for fsck (1) */
1811 char pathordevice[] = "/dev/sda1";
1812 pathordevice[5] = devchar;
1815 r = guestfs_umount (g, pathordevice);
1820 char device[] = "/dev/sda1";
1821 device[5] = devchar;
1824 r = guestfs_zero (g, device);
1829 char fstype[] = "ext2";
1830 char device[] = "/dev/sda1";
1831 device[5] = devchar;
1834 r = guestfs_fsck (g, fstype, device);
1838 fprintf (stderr, "test_fsck_1: expected 8 but got %d\n", (int) r);
1845 static int test_set_e2uuid_0 (void)
1847 /* InitBasicFS for set_e2uuid (0): create ext2 on /dev/sda1 */
1849 char device[] = "/dev/sda";
1850 device[5] = devchar;
1853 r = guestfs_blockdev_setrw (g, device);
1860 r = guestfs_umount_all (g);
1867 r = guestfs_lvm_remove_all (g);
1872 char device[] = "/dev/sda";
1873 device[5] = devchar;
1874 char lines_0[] = ",";
1881 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
1886 char fstype[] = "ext2";
1887 char device[] = "/dev/sda1";
1888 device[5] = devchar;
1891 r = guestfs_mkfs (g, fstype, device);
1896 char device[] = "/dev/sda1";
1897 device[5] = devchar;
1898 char mountpoint[] = "/";
1901 r = guestfs_mount (g, device, mountpoint);
1905 /* TestOutput for set_e2uuid (0) */
1906 char expected[] = "a3a61220-882b-4f61-89f4-cf24dcc7297d";
1908 char device[] = "/dev/sda1";
1909 device[5] = devchar;
1910 char uuid[] = "a3a61220-882b-4f61-89f4-cf24dcc7297d";
1913 r = guestfs_set_e2uuid (g, device, uuid);
1918 char device[] = "/dev/sda1";
1919 device[5] = devchar;
1922 r = guestfs_get_e2uuid (g, device);
1925 if (strcmp (r, expected) != 0) {
1926 fprintf (stderr, "test_set_e2uuid_0: expected \"%s\" but got \"%s\"\n", expected, r);
1934 static int test_set_e2uuid_1 (void)
1936 /* InitBasicFS for set_e2uuid (1): create ext2 on /dev/sda1 */
1938 char device[] = "/dev/sda";
1939 device[5] = devchar;
1942 r = guestfs_blockdev_setrw (g, device);
1949 r = guestfs_umount_all (g);
1956 r = guestfs_lvm_remove_all (g);
1961 char device[] = "/dev/sda";
1962 device[5] = devchar;
1963 char lines_0[] = ",";
1970 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
1975 char fstype[] = "ext2";
1976 char device[] = "/dev/sda1";
1977 device[5] = devchar;
1980 r = guestfs_mkfs (g, fstype, device);
1985 char device[] = "/dev/sda1";
1986 device[5] = devchar;
1987 char mountpoint[] = "/";
1990 r = guestfs_mount (g, device, mountpoint);
1994 /* TestOutput for set_e2uuid (1) */
1995 char expected[] = "";
1997 char device[] = "/dev/sda1";
1998 device[5] = devchar;
1999 char uuid[] = "clear";
2002 r = guestfs_set_e2uuid (g, device, uuid);
2007 char device[] = "/dev/sda1";
2008 device[5] = devchar;
2011 r = guestfs_get_e2uuid (g, device);
2014 if (strcmp (r, expected) != 0) {
2015 fprintf (stderr, "test_set_e2uuid_1: expected \"%s\" but got \"%s\"\n", expected, r);
2023 static int test_set_e2uuid_2 (void)
2025 /* InitBasicFS for set_e2uuid (2): create ext2 on /dev/sda1 */
2027 char device[] = "/dev/sda";
2028 device[5] = devchar;
2031 r = guestfs_blockdev_setrw (g, device);
2038 r = guestfs_umount_all (g);
2045 r = guestfs_lvm_remove_all (g);
2050 char device[] = "/dev/sda";
2051 device[5] = devchar;
2052 char lines_0[] = ",";
2059 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
2064 char fstype[] = "ext2";
2065 char device[] = "/dev/sda1";
2066 device[5] = devchar;
2069 r = guestfs_mkfs (g, fstype, device);
2074 char device[] = "/dev/sda1";
2075 device[5] = devchar;
2076 char mountpoint[] = "/";
2079 r = guestfs_mount (g, device, mountpoint);
2083 /* TestRun for set_e2uuid (2) */
2085 char device[] = "/dev/sda1";
2086 device[5] = devchar;
2087 char uuid[] = "random";
2090 r = guestfs_set_e2uuid (g, device, uuid);
2097 static int test_set_e2uuid_3 (void)
2099 /* InitBasicFS for set_e2uuid (3): create ext2 on /dev/sda1 */
2101 char device[] = "/dev/sda";
2102 device[5] = devchar;
2105 r = guestfs_blockdev_setrw (g, device);
2112 r = guestfs_umount_all (g);
2119 r = guestfs_lvm_remove_all (g);
2124 char device[] = "/dev/sda";
2125 device[5] = devchar;
2126 char lines_0[] = ",";
2133 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
2138 char fstype[] = "ext2";
2139 char device[] = "/dev/sda1";
2140 device[5] = devchar;
2143 r = guestfs_mkfs (g, fstype, device);
2148 char device[] = "/dev/sda1";
2149 device[5] = devchar;
2150 char mountpoint[] = "/";
2153 r = guestfs_mount (g, device, mountpoint);
2157 /* TestRun for set_e2uuid (3) */
2159 char device[] = "/dev/sda1";
2160 device[5] = devchar;
2161 char uuid[] = "time";
2164 r = guestfs_set_e2uuid (g, device, uuid);
2171 static int test_set_e2label_0 (void)
2173 /* InitBasicFS for set_e2label (0): create ext2 on /dev/sda1 */
2175 char device[] = "/dev/sda";
2176 device[5] = devchar;
2179 r = guestfs_blockdev_setrw (g, device);
2186 r = guestfs_umount_all (g);
2193 r = guestfs_lvm_remove_all (g);
2198 char device[] = "/dev/sda";
2199 device[5] = devchar;
2200 char lines_0[] = ",";
2207 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
2212 char fstype[] = "ext2";
2213 char device[] = "/dev/sda1";
2214 device[5] = devchar;
2217 r = guestfs_mkfs (g, fstype, device);
2222 char device[] = "/dev/sda1";
2223 device[5] = devchar;
2224 char mountpoint[] = "/";
2227 r = guestfs_mount (g, device, mountpoint);
2231 /* TestOutput for set_e2label (0) */
2232 char expected[] = "testlabel";
2234 char device[] = "/dev/sda1";
2235 device[5] = devchar;
2236 char label[] = "testlabel";
2239 r = guestfs_set_e2label (g, device, label);
2244 char device[] = "/dev/sda1";
2245 device[5] = devchar;
2248 r = guestfs_get_e2label (g, device);
2251 if (strcmp (r, expected) != 0) {
2252 fprintf (stderr, "test_set_e2label_0: expected \"%s\" but got \"%s\"\n", expected, r);
2260 static int test_pvremove_0 (void)
2262 /* InitEmpty for pvremove (0) */
2264 char device[] = "/dev/sda";
2265 device[5] = devchar;
2268 r = guestfs_blockdev_setrw (g, device);
2275 r = guestfs_umount_all (g);
2282 r = guestfs_lvm_remove_all (g);
2286 /* TestOutputList for pvremove (0) */
2288 char device[] = "/dev/sda";
2289 device[5] = devchar;
2292 r = guestfs_pvcreate (g, device);
2297 char volgroup[] = "VG";
2298 char physvols_0[] = "/dev/sda";
2299 physvols_0[5] = devchar;
2300 char *physvols[] = {
2306 r = guestfs_vgcreate (g, volgroup, physvols);
2311 char logvol[] = "LV1";
2312 char volgroup[] = "VG";
2315 r = guestfs_lvcreate (g, logvol, volgroup, 50);
2320 char logvol[] = "LV2";
2321 char volgroup[] = "VG";
2324 r = guestfs_lvcreate (g, logvol, volgroup, 50);
2329 char vgname[] = "VG";
2332 r = guestfs_vgremove (g, vgname);
2337 char device[] = "/dev/sda";
2338 device[5] = devchar;
2341 r = guestfs_pvremove (g, device);
2349 r = guestfs_lvs (g);
2353 fprintf (stderr, "test_pvremove_0: extra elements returned from command\n");
2357 for (i = 0; r[i] != NULL; ++i)
2364 static int test_pvremove_1 (void)
2366 /* InitEmpty for pvremove (1) */
2368 char device[] = "/dev/sda";
2369 device[5] = devchar;
2372 r = guestfs_blockdev_setrw (g, device);
2379 r = guestfs_umount_all (g);
2386 r = guestfs_lvm_remove_all (g);
2390 /* TestOutputList for pvremove (1) */
2392 char device[] = "/dev/sda";
2393 device[5] = devchar;
2396 r = guestfs_pvcreate (g, device);
2401 char volgroup[] = "VG";
2402 char physvols_0[] = "/dev/sda";
2403 physvols_0[5] = devchar;
2404 char *physvols[] = {
2410 r = guestfs_vgcreate (g, volgroup, physvols);
2415 char logvol[] = "LV1";
2416 char volgroup[] = "VG";
2419 r = guestfs_lvcreate (g, logvol, volgroup, 50);
2424 char logvol[] = "LV2";
2425 char volgroup[] = "VG";
2428 r = guestfs_lvcreate (g, logvol, volgroup, 50);
2433 char vgname[] = "VG";
2436 r = guestfs_vgremove (g, vgname);
2441 char device[] = "/dev/sda";
2442 device[5] = devchar;
2445 r = guestfs_pvremove (g, device);
2453 r = guestfs_vgs (g);
2457 fprintf (stderr, "test_pvremove_1: extra elements returned from command\n");
2461 for (i = 0; r[i] != NULL; ++i)
2468 static int test_pvremove_2 (void)
2470 /* InitEmpty for pvremove (2) */
2472 char device[] = "/dev/sda";
2473 device[5] = devchar;
2476 r = guestfs_blockdev_setrw (g, device);
2483 r = guestfs_umount_all (g);
2490 r = guestfs_lvm_remove_all (g);
2494 /* TestOutputList for pvremove (2) */
2496 char device[] = "/dev/sda";
2497 device[5] = devchar;
2500 r = guestfs_pvcreate (g, device);
2505 char volgroup[] = "VG";
2506 char physvols_0[] = "/dev/sda";
2507 physvols_0[5] = devchar;
2508 char *physvols[] = {
2514 r = guestfs_vgcreate (g, volgroup, physvols);
2519 char logvol[] = "LV1";
2520 char volgroup[] = "VG";
2523 r = guestfs_lvcreate (g, logvol, volgroup, 50);
2528 char logvol[] = "LV2";
2529 char volgroup[] = "VG";
2532 r = guestfs_lvcreate (g, logvol, volgroup, 50);
2537 char vgname[] = "VG";
2540 r = guestfs_vgremove (g, vgname);
2545 char device[] = "/dev/sda";
2546 device[5] = devchar;
2549 r = guestfs_pvremove (g, device);
2557 r = guestfs_pvs (g);
2561 fprintf (stderr, "test_pvremove_2: extra elements returned from command\n");
2565 for (i = 0; r[i] != NULL; ++i)
2572 static int test_vgremove_0 (void)
2574 /* InitEmpty for vgremove (0) */
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 (0) */
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_lvs (g);
2656 fprintf (stderr, "test_vgremove_0: extra elements returned from command\n");
2660 for (i = 0; r[i] != NULL; ++i)
2667 static int test_vgremove_1 (void)
2669 /* InitEmpty for vgremove (1) */
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 vgremove (1) */
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 vgname[] = "VG";
2739 r = guestfs_vgremove (g, vgname);
2747 r = guestfs_vgs (g);
2751 fprintf (stderr, "test_vgremove_1: extra elements returned from command\n");
2755 for (i = 0; r[i] != NULL; ++i)
2762 static int test_lvremove_0 (void)
2764 /* InitEmpty for lvremove (0) */
2766 char device[] = "/dev/sda";
2767 device[5] = devchar;
2770 r = guestfs_blockdev_setrw (g, device);
2777 r = guestfs_umount_all (g);
2784 r = guestfs_lvm_remove_all (g);
2788 /* TestOutputList for lvremove (0) */
2790 char device[] = "/dev/sda";
2791 device[5] = devchar;
2794 r = guestfs_pvcreate (g, device);
2799 char volgroup[] = "VG";
2800 char physvols_0[] = "/dev/sda";
2801 physvols_0[5] = devchar;
2802 char *physvols[] = {
2808 r = guestfs_vgcreate (g, volgroup, physvols);
2813 char logvol[] = "LV1";
2814 char volgroup[] = "VG";
2817 r = guestfs_lvcreate (g, logvol, volgroup, 50);
2822 char logvol[] = "LV2";
2823 char volgroup[] = "VG";
2826 r = guestfs_lvcreate (g, logvol, volgroup, 50);
2831 char device[] = "/dev/VG/LV1";
2834 r = guestfs_lvremove (g, device);
2842 r = guestfs_lvs (g);
2846 fprintf (stderr, "test_lvremove_0: short list returned from command\n");
2851 char expected[] = "/dev/VG/LV2";
2852 if (strcmp (r[0], expected) != 0) {
2853 fprintf (stderr, "test_lvremove_0: expected \"%s\" but got \"%s\"\n", expected, r[0]);
2858 fprintf (stderr, "test_lvremove_0: extra elements returned from command\n");
2862 for (i = 0; r[i] != NULL; ++i)
2869 static int test_lvremove_1 (void)
2871 /* InitEmpty for lvremove (1) */
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 (1) */
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_lvs (g);
2953 fprintf (stderr, "test_lvremove_1: extra elements returned from command\n");
2957 for (i = 0; r[i] != NULL; ++i)
2964 static int test_lvremove_2 (void)
2966 /* InitEmpty for lvremove (2) */
2968 char device[] = "/dev/sda";
2969 device[5] = devchar;
2972 r = guestfs_blockdev_setrw (g, device);
2979 r = guestfs_umount_all (g);
2986 r = guestfs_lvm_remove_all (g);
2990 /* TestOutputList for lvremove (2) */
2992 char device[] = "/dev/sda";
2993 device[5] = devchar;
2996 r = guestfs_pvcreate (g, device);
3001 char volgroup[] = "VG";
3002 char physvols_0[] = "/dev/sda";
3003 physvols_0[5] = devchar;
3004 char *physvols[] = {
3010 r = guestfs_vgcreate (g, volgroup, physvols);
3015 char logvol[] = "LV1";
3016 char volgroup[] = "VG";
3019 r = guestfs_lvcreate (g, logvol, volgroup, 50);
3024 char logvol[] = "LV2";
3025 char volgroup[] = "VG";
3028 r = guestfs_lvcreate (g, logvol, volgroup, 50);
3033 char device[] = "/dev/VG";
3036 r = guestfs_lvremove (g, device);
3044 r = guestfs_vgs (g);
3048 fprintf (stderr, "test_lvremove_2: short list returned from command\n");
3053 char expected[] = "VG";
3054 if (strcmp (r[0], expected) != 0) {
3055 fprintf (stderr, "test_lvremove_2: expected \"%s\" but got \"%s\"\n", expected, r[0]);
3060 fprintf (stderr, "test_lvremove_2: extra elements returned from command\n");
3064 for (i = 0; r[i] != NULL; ++i)
3071 static int test_mount_ro_0 (void)
3073 /* InitBasicFS for mount_ro (0): create ext2 on /dev/sda1 */
3075 char device[] = "/dev/sda";
3076 device[5] = devchar;
3079 r = guestfs_blockdev_setrw (g, device);
3086 r = guestfs_umount_all (g);
3093 r = guestfs_lvm_remove_all (g);
3098 char device[] = "/dev/sda";
3099 device[5] = devchar;
3100 char lines_0[] = ",";
3107 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
3112 char fstype[] = "ext2";
3113 char device[] = "/dev/sda1";
3114 device[5] = devchar;
3117 r = guestfs_mkfs (g, fstype, device);
3122 char device[] = "/dev/sda1";
3123 device[5] = devchar;
3124 char mountpoint[] = "/";
3127 r = guestfs_mount (g, device, mountpoint);
3131 /* TestLastFail for mount_ro (0) */
3133 char pathordevice[] = "/";
3136 r = guestfs_umount (g, pathordevice);
3141 char device[] = "/dev/sda1";
3142 device[5] = devchar;
3143 char mountpoint[] = "/";
3146 r = guestfs_mount_ro (g, device, mountpoint);
3151 char path[] = "/new";
3154 r = guestfs_touch (g, path);
3161 static int test_mount_ro_1 (void)
3163 /* InitBasicFS for mount_ro (1): create ext2 on /dev/sda1 */
3165 char device[] = "/dev/sda";
3166 device[5] = devchar;
3169 r = guestfs_blockdev_setrw (g, device);
3176 r = guestfs_umount_all (g);
3183 r = guestfs_lvm_remove_all (g);
3188 char device[] = "/dev/sda";
3189 device[5] = devchar;
3190 char lines_0[] = ",";
3197 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
3202 char fstype[] = "ext2";
3203 char device[] = "/dev/sda1";
3204 device[5] = devchar;
3207 r = guestfs_mkfs (g, fstype, device);
3212 char device[] = "/dev/sda1";
3213 device[5] = devchar;
3214 char mountpoint[] = "/";
3217 r = guestfs_mount (g, device, mountpoint);
3221 /* TestOutput for mount_ro (1) */
3222 char expected[] = "data";
3224 char path[] = "/new";
3225 char content[] = "data";
3228 r = guestfs_write_file (g, path, content, 0);
3233 char pathordevice[] = "/";
3236 r = guestfs_umount (g, pathordevice);
3241 char device[] = "/dev/sda1";
3242 device[5] = devchar;
3243 char mountpoint[] = "/";
3246 r = guestfs_mount_ro (g, device, mountpoint);
3251 char path[] = "/new";
3254 r = guestfs_cat (g, path);
3257 if (strcmp (r, expected) != 0) {
3258 fprintf (stderr, "test_mount_ro_1: expected \"%s\" but got \"%s\"\n", expected, r);
3266 static int test_tgz_in_0 (void)
3268 /* InitBasicFS for tgz_in (0): create ext2 on /dev/sda1 */
3270 char device[] = "/dev/sda";
3271 device[5] = devchar;
3274 r = guestfs_blockdev_setrw (g, device);
3281 r = guestfs_umount_all (g);
3288 r = guestfs_lvm_remove_all (g);
3293 char device[] = "/dev/sda";
3294 device[5] = devchar;
3295 char lines_0[] = ",";
3302 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
3307 char fstype[] = "ext2";
3308 char device[] = "/dev/sda1";
3309 device[5] = devchar;
3312 r = guestfs_mkfs (g, fstype, device);
3317 char device[] = "/dev/sda1";
3318 device[5] = devchar;
3319 char mountpoint[] = "/";
3322 r = guestfs_mount (g, device, mountpoint);
3326 /* TestOutput for tgz_in (0) */
3327 char expected[] = "hello\n";
3329 char directory[] = "/";
3332 r = guestfs_tgz_in (g, "images/helloworld.tar.gz", directory);
3337 char path[] = "/hello";
3340 r = guestfs_cat (g, path);
3343 if (strcmp (r, expected) != 0) {
3344 fprintf (stderr, "test_tgz_in_0: expected \"%s\" but got \"%s\"\n", expected, r);
3352 static int test_tar_in_0 (void)
3354 /* InitBasicFS for tar_in (0): create ext2 on /dev/sda1 */
3356 char device[] = "/dev/sda";
3357 device[5] = devchar;
3360 r = guestfs_blockdev_setrw (g, device);
3367 r = guestfs_umount_all (g);
3374 r = guestfs_lvm_remove_all (g);
3379 char device[] = "/dev/sda";
3380 device[5] = devchar;
3381 char lines_0[] = ",";
3388 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
3393 char fstype[] = "ext2";
3394 char device[] = "/dev/sda1";
3395 device[5] = devchar;
3398 r = guestfs_mkfs (g, fstype, device);
3403 char device[] = "/dev/sda1";
3404 device[5] = devchar;
3405 char mountpoint[] = "/";
3408 r = guestfs_mount (g, device, mountpoint);
3412 /* TestOutput for tar_in (0) */
3413 char expected[] = "hello\n";
3415 char directory[] = "/";
3418 r = guestfs_tar_in (g, "images/helloworld.tar", directory);
3423 char path[] = "/hello";
3426 r = guestfs_cat (g, path);
3429 if (strcmp (r, expected) != 0) {
3430 fprintf (stderr, "test_tar_in_0: expected \"%s\" but got \"%s\"\n", expected, r);
3438 static int test_checksum_0 (void)
3440 /* InitBasicFS for checksum (0): create ext2 on /dev/sda1 */
3442 char device[] = "/dev/sda";
3443 device[5] = devchar;
3446 r = guestfs_blockdev_setrw (g, device);
3453 r = guestfs_umount_all (g);
3460 r = guestfs_lvm_remove_all (g);
3465 char device[] = "/dev/sda";
3466 device[5] = devchar;
3467 char lines_0[] = ",";
3474 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
3479 char fstype[] = "ext2";
3480 char device[] = "/dev/sda1";
3481 device[5] = devchar;
3484 r = guestfs_mkfs (g, fstype, device);
3489 char device[] = "/dev/sda1";
3490 device[5] = devchar;
3491 char mountpoint[] = "/";
3494 r = guestfs_mount (g, device, mountpoint);
3498 /* TestOutput for checksum (0) */
3499 char expected[] = "935282863";
3501 char path[] = "/new";
3502 char content[] = "test\n";
3505 r = guestfs_write_file (g, path, content, 0);
3510 char csumtype[] = "crc";
3511 char path[] = "/new";
3514 r = guestfs_checksum (g, csumtype, path);
3517 if (strcmp (r, expected) != 0) {
3518 fprintf (stderr, "test_checksum_0: expected \"%s\" but got \"%s\"\n", expected, r);
3526 static int test_checksum_1 (void)
3528 /* InitBasicFS for checksum (1): create ext2 on /dev/sda1 */
3530 char device[] = "/dev/sda";
3531 device[5] = devchar;
3534 r = guestfs_blockdev_setrw (g, device);
3541 r = guestfs_umount_all (g);
3548 r = guestfs_lvm_remove_all (g);
3553 char device[] = "/dev/sda";
3554 device[5] = devchar;
3555 char lines_0[] = ",";
3562 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
3567 char fstype[] = "ext2";
3568 char device[] = "/dev/sda1";
3569 device[5] = devchar;
3572 r = guestfs_mkfs (g, fstype, device);
3577 char device[] = "/dev/sda1";
3578 device[5] = devchar;
3579 char mountpoint[] = "/";
3582 r = guestfs_mount (g, device, mountpoint);
3586 /* TestLastFail for checksum (1) */
3588 char csumtype[] = "crc";
3589 char path[] = "/new";
3592 r = guestfs_checksum (g, csumtype, path);
3600 static int test_checksum_2 (void)
3602 /* InitBasicFS for checksum (2): create ext2 on /dev/sda1 */
3604 char device[] = "/dev/sda";
3605 device[5] = devchar;
3608 r = guestfs_blockdev_setrw (g, device);
3615 r = guestfs_umount_all (g);
3622 r = guestfs_lvm_remove_all (g);
3627 char device[] = "/dev/sda";
3628 device[5] = devchar;
3629 char lines_0[] = ",";
3636 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
3641 char fstype[] = "ext2";
3642 char device[] = "/dev/sda1";
3643 device[5] = devchar;
3646 r = guestfs_mkfs (g, fstype, device);
3651 char device[] = "/dev/sda1";
3652 device[5] = devchar;
3653 char mountpoint[] = "/";
3656 r = guestfs_mount (g, device, mountpoint);
3660 /* TestOutput for checksum (2) */
3661 char expected[] = "d8e8fca2dc0f896fd7cb4cb0031ba249";
3663 char path[] = "/new";
3664 char content[] = "test\n";
3667 r = guestfs_write_file (g, path, content, 0);
3672 char csumtype[] = "md5";
3673 char path[] = "/new";
3676 r = guestfs_checksum (g, csumtype, path);
3679 if (strcmp (r, expected) != 0) {
3680 fprintf (stderr, "test_checksum_2: expected \"%s\" but got \"%s\"\n", expected, r);
3688 static int test_checksum_3 (void)
3690 /* InitBasicFS for checksum (3): create ext2 on /dev/sda1 */
3692 char device[] = "/dev/sda";
3693 device[5] = devchar;
3696 r = guestfs_blockdev_setrw (g, device);
3703 r = guestfs_umount_all (g);
3710 r = guestfs_lvm_remove_all (g);
3715 char device[] = "/dev/sda";
3716 device[5] = devchar;
3717 char lines_0[] = ",";
3724 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
3729 char fstype[] = "ext2";
3730 char device[] = "/dev/sda1";
3731 device[5] = devchar;
3734 r = guestfs_mkfs (g, fstype, device);
3739 char device[] = "/dev/sda1";
3740 device[5] = devchar;
3741 char mountpoint[] = "/";
3744 r = guestfs_mount (g, device, mountpoint);
3748 /* TestOutput for checksum (3) */
3749 char expected[] = "4e1243bd22c66e76c2ba9eddc1f91394e57f9f83";
3751 char path[] = "/new";
3752 char content[] = "test\n";
3755 r = guestfs_write_file (g, path, content, 0);
3760 char csumtype[] = "sha1";
3761 char path[] = "/new";
3764 r = guestfs_checksum (g, csumtype, path);
3767 if (strcmp (r, expected) != 0) {
3768 fprintf (stderr, "test_checksum_3: expected \"%s\" but got \"%s\"\n", expected, r);
3776 static int test_checksum_4 (void)
3778 /* InitBasicFS for checksum (4): create ext2 on /dev/sda1 */
3780 char device[] = "/dev/sda";
3781 device[5] = devchar;
3784 r = guestfs_blockdev_setrw (g, device);
3791 r = guestfs_umount_all (g);
3798 r = guestfs_lvm_remove_all (g);
3803 char device[] = "/dev/sda";
3804 device[5] = devchar;
3805 char lines_0[] = ",";
3812 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
3817 char fstype[] = "ext2";
3818 char device[] = "/dev/sda1";
3819 device[5] = devchar;
3822 r = guestfs_mkfs (g, fstype, device);
3827 char device[] = "/dev/sda1";
3828 device[5] = devchar;
3829 char mountpoint[] = "/";
3832 r = guestfs_mount (g, device, mountpoint);
3836 /* TestOutput for checksum (4) */
3837 char expected[] = "52f1bf093f4b7588726035c176c0cdb4376cfea53819f1395ac9e6ec";
3839 char path[] = "/new";
3840 char content[] = "test\n";
3843 r = guestfs_write_file (g, path, content, 0);
3848 char csumtype[] = "sha224";
3849 char path[] = "/new";
3852 r = guestfs_checksum (g, csumtype, path);
3855 if (strcmp (r, expected) != 0) {
3856 fprintf (stderr, "test_checksum_4: expected \"%s\" but got \"%s\"\n", expected, r);
3864 static int test_checksum_5 (void)
3866 /* InitBasicFS for checksum (5): create ext2 on /dev/sda1 */
3868 char device[] = "/dev/sda";
3869 device[5] = devchar;
3872 r = guestfs_blockdev_setrw (g, device);
3879 r = guestfs_umount_all (g);
3886 r = guestfs_lvm_remove_all (g);
3891 char device[] = "/dev/sda";
3892 device[5] = devchar;
3893 char lines_0[] = ",";
3900 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
3905 char fstype[] = "ext2";
3906 char device[] = "/dev/sda1";
3907 device[5] = devchar;
3910 r = guestfs_mkfs (g, fstype, device);
3915 char device[] = "/dev/sda1";
3916 device[5] = devchar;
3917 char mountpoint[] = "/";
3920 r = guestfs_mount (g, device, mountpoint);
3924 /* TestOutput for checksum (5) */
3925 char expected[] = "f2ca1bb6c7e907d06dafe4687e579fce76b37e4e93b7605022da52e6ccc26fd2";
3927 char path[] = "/new";
3928 char content[] = "test\n";
3931 r = guestfs_write_file (g, path, content, 0);
3936 char csumtype[] = "sha256";
3937 char path[] = "/new";
3940 r = guestfs_checksum (g, csumtype, path);
3943 if (strcmp (r, expected) != 0) {
3944 fprintf (stderr, "test_checksum_5: expected \"%s\" but got \"%s\"\n", expected, r);
3952 static int test_checksum_6 (void)
3954 /* InitBasicFS for checksum (6): create ext2 on /dev/sda1 */
3956 char device[] = "/dev/sda";
3957 device[5] = devchar;
3960 r = guestfs_blockdev_setrw (g, device);
3967 r = guestfs_umount_all (g);
3974 r = guestfs_lvm_remove_all (g);
3979 char device[] = "/dev/sda";
3980 device[5] = devchar;
3981 char lines_0[] = ",";
3988 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
3993 char fstype[] = "ext2";
3994 char device[] = "/dev/sda1";
3995 device[5] = devchar;
3998 r = guestfs_mkfs (g, fstype, device);
4003 char device[] = "/dev/sda1";
4004 device[5] = devchar;
4005 char mountpoint[] = "/";
4008 r = guestfs_mount (g, device, mountpoint);
4012 /* TestOutput for checksum (6) */
4013 char expected[] = "109bb6b5b6d5547c1ce03c7a8bd7d8f80c1cb0957f50c4f7fda04692079917e4f9cad52b878f3d8234e1a170b154b72d";
4015 char path[] = "/new";
4016 char content[] = "test\n";
4019 r = guestfs_write_file (g, path, content, 0);
4024 char csumtype[] = "sha384";
4025 char path[] = "/new";
4028 r = guestfs_checksum (g, csumtype, path);
4031 if (strcmp (r, expected) != 0) {
4032 fprintf (stderr, "test_checksum_6: expected \"%s\" but got \"%s\"\n", expected, r);
4040 static int test_checksum_7 (void)
4042 /* InitBasicFS for checksum (7): create ext2 on /dev/sda1 */
4044 char device[] = "/dev/sda";
4045 device[5] = devchar;
4048 r = guestfs_blockdev_setrw (g, device);
4055 r = guestfs_umount_all (g);
4062 r = guestfs_lvm_remove_all (g);
4067 char device[] = "/dev/sda";
4068 device[5] = devchar;
4069 char lines_0[] = ",";
4076 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
4081 char fstype[] = "ext2";
4082 char device[] = "/dev/sda1";
4083 device[5] = devchar;
4086 r = guestfs_mkfs (g, fstype, device);
4091 char device[] = "/dev/sda1";
4092 device[5] = devchar;
4093 char mountpoint[] = "/";
4096 r = guestfs_mount (g, device, mountpoint);
4100 /* TestOutput for checksum (7) */
4101 char expected[] = "0e3e75234abc68f4378a86b3f4b32a198ba301845b0cd6e50106e874345700cc6663a86c1ea125dc5e92be17c98f9a0f85ca9d5f595db2012f7cc3571945c123";
4103 char path[] = "/new";
4104 char content[] = "test\n";
4107 r = guestfs_write_file (g, path, content, 0);
4112 char csumtype[] = "sha512";
4113 char path[] = "/new";
4116 r = guestfs_checksum (g, csumtype, path);
4119 if (strcmp (r, expected) != 0) {
4120 fprintf (stderr, "test_checksum_7: expected \"%s\" but got \"%s\"\n", expected, r);
4128 static int test_download_0 (void)
4130 /* InitBasicFS for download (0): create ext2 on /dev/sda1 */
4132 char device[] = "/dev/sda";
4133 device[5] = devchar;
4136 r = guestfs_blockdev_setrw (g, device);
4143 r = guestfs_umount_all (g);
4150 r = guestfs_lvm_remove_all (g);
4155 char device[] = "/dev/sda";
4156 device[5] = devchar;
4157 char lines_0[] = ",";
4164 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
4169 char fstype[] = "ext2";
4170 char device[] = "/dev/sda1";
4171 device[5] = devchar;
4174 r = guestfs_mkfs (g, fstype, device);
4179 char device[] = "/dev/sda1";
4180 device[5] = devchar;
4181 char mountpoint[] = "/";
4184 r = guestfs_mount (g, device, mountpoint);
4188 /* TestOutput for download (0) */
4189 char expected[] = "e3eda01d9815f8d24aae2dbd89b68b06";
4191 char remotefilename[] = "/COPYING.LIB";
4194 r = guestfs_upload (g, "COPYING.LIB", remotefilename);
4199 char remotefilename[] = "/COPYING.LIB";
4202 r = guestfs_download (g, remotefilename, "testdownload.tmp");
4207 char remotefilename[] = "/upload";
4210 r = guestfs_upload (g, "testdownload.tmp", remotefilename);
4215 char csumtype[] = "md5";
4216 char path[] = "/upload";
4219 r = guestfs_checksum (g, csumtype, path);
4222 if (strcmp (r, expected) != 0) {
4223 fprintf (stderr, "test_download_0: expected \"%s\" but got \"%s\"\n", expected, r);
4231 static int test_upload_0 (void)
4233 /* InitBasicFS for upload (0): create ext2 on /dev/sda1 */
4235 char device[] = "/dev/sda";
4236 device[5] = devchar;
4239 r = guestfs_blockdev_setrw (g, device);
4246 r = guestfs_umount_all (g);
4253 r = guestfs_lvm_remove_all (g);
4258 char device[] = "/dev/sda";
4259 device[5] = devchar;
4260 char lines_0[] = ",";
4267 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
4272 char fstype[] = "ext2";
4273 char device[] = "/dev/sda1";
4274 device[5] = devchar;
4277 r = guestfs_mkfs (g, fstype, device);
4282 char device[] = "/dev/sda1";
4283 device[5] = devchar;
4284 char mountpoint[] = "/";
4287 r = guestfs_mount (g, device, mountpoint);
4291 /* TestOutput for upload (0) */
4292 char expected[] = "e3eda01d9815f8d24aae2dbd89b68b06";
4294 char remotefilename[] = "/COPYING.LIB";
4297 r = guestfs_upload (g, "COPYING.LIB", remotefilename);
4302 char csumtype[] = "md5";
4303 char path[] = "/COPYING.LIB";
4306 r = guestfs_checksum (g, csumtype, path);
4309 if (strcmp (r, expected) != 0) {
4310 fprintf (stderr, "test_upload_0: expected \"%s\" but got \"%s\"\n", expected, r);
4318 static int test_blockdev_rereadpt_0 (void)
4320 /* InitEmpty for blockdev_rereadpt (0) */
4322 char device[] = "/dev/sda";
4323 device[5] = devchar;
4326 r = guestfs_blockdev_setrw (g, device);
4333 r = guestfs_umount_all (g);
4340 r = guestfs_lvm_remove_all (g);
4344 /* TestRun for blockdev_rereadpt (0) */
4346 char device[] = "/dev/sda";
4347 device[5] = devchar;
4350 r = guestfs_blockdev_rereadpt (g, device);
4357 static int test_blockdev_flushbufs_0 (void)
4359 /* InitEmpty for blockdev_flushbufs (0) */
4361 char device[] = "/dev/sda";
4362 device[5] = devchar;
4365 r = guestfs_blockdev_setrw (g, device);
4372 r = guestfs_umount_all (g);
4379 r = guestfs_lvm_remove_all (g);
4383 /* TestRun for blockdev_flushbufs (0) */
4385 char device[] = "/dev/sda";
4386 device[5] = devchar;
4389 r = guestfs_blockdev_flushbufs (g, device);
4396 static int test_blockdev_getsize64_0 (void)
4398 /* InitEmpty for blockdev_getsize64 (0) */
4400 char device[] = "/dev/sda";
4401 device[5] = devchar;
4404 r = guestfs_blockdev_setrw (g, device);
4411 r = guestfs_umount_all (g);
4418 r = guestfs_lvm_remove_all (g);
4422 /* TestOutputInt for blockdev_getsize64 (0) */
4424 char device[] = "/dev/sda";
4425 device[5] = devchar;
4428 r = guestfs_blockdev_getsize64 (g, device);
4431 if (r != 524288000) {
4432 fprintf (stderr, "test_blockdev_getsize64_0: expected 524288000 but got %d\n", (int) r);
4439 static int test_blockdev_getsz_0 (void)
4441 /* InitEmpty for blockdev_getsz (0) */
4443 char device[] = "/dev/sda";
4444 device[5] = devchar;
4447 r = guestfs_blockdev_setrw (g, device);
4454 r = guestfs_umount_all (g);
4461 r = guestfs_lvm_remove_all (g);
4465 /* TestOutputInt for blockdev_getsz (0) */
4467 char device[] = "/dev/sda";
4468 device[5] = devchar;
4471 r = guestfs_blockdev_getsz (g, device);
4475 fprintf (stderr, "test_blockdev_getsz_0: expected 1024000 but got %d\n", (int) r);
4482 static int test_blockdev_getbsz_0 (void)
4484 /* InitEmpty for blockdev_getbsz (0) */
4486 char device[] = "/dev/sda";
4487 device[5] = devchar;
4490 r = guestfs_blockdev_setrw (g, device);
4497 r = guestfs_umount_all (g);
4504 r = guestfs_lvm_remove_all (g);
4508 /* TestOutputInt for blockdev_getbsz (0) */
4510 char device[] = "/dev/sda";
4511 device[5] = devchar;
4514 r = guestfs_blockdev_getbsz (g, device);
4518 fprintf (stderr, "test_blockdev_getbsz_0: expected 4096 but got %d\n", (int) r);
4525 static int test_blockdev_getss_0 (void)
4527 /* InitEmpty for blockdev_getss (0) */
4529 char device[] = "/dev/sda";
4530 device[5] = devchar;
4533 r = guestfs_blockdev_setrw (g, device);
4540 r = guestfs_umount_all (g);
4547 r = guestfs_lvm_remove_all (g);
4551 /* TestOutputInt for blockdev_getss (0) */
4553 char device[] = "/dev/sda";
4554 device[5] = devchar;
4557 r = guestfs_blockdev_getss (g, device);
4561 fprintf (stderr, "test_blockdev_getss_0: expected 512 but got %d\n", (int) r);
4568 static int test_blockdev_getro_0 (void)
4570 /* InitEmpty for blockdev_getro (0) */
4572 char device[] = "/dev/sda";
4573 device[5] = devchar;
4576 r = guestfs_blockdev_setrw (g, device);
4583 r = guestfs_umount_all (g);
4590 r = guestfs_lvm_remove_all (g);
4594 /* TestOutputTrue for blockdev_getro (0) */
4596 char device[] = "/dev/sda";
4597 device[5] = devchar;
4600 r = guestfs_blockdev_setro (g, device);
4605 char device[] = "/dev/sda";
4606 device[5] = devchar;
4609 r = guestfs_blockdev_getro (g, device);
4613 fprintf (stderr, "test_blockdev_getro_0: expected true, got false\n");
4620 static int test_blockdev_setrw_0 (void)
4622 /* InitEmpty for blockdev_setrw (0) */
4624 char device[] = "/dev/sda";
4625 device[5] = devchar;
4628 r = guestfs_blockdev_setrw (g, device);
4635 r = guestfs_umount_all (g);
4642 r = guestfs_lvm_remove_all (g);
4646 /* TestOutputFalse for blockdev_setrw (0) */
4648 char device[] = "/dev/sda";
4649 device[5] = devchar;
4652 r = guestfs_blockdev_setrw (g, device);
4657 char device[] = "/dev/sda";
4658 device[5] = devchar;
4661 r = guestfs_blockdev_getro (g, device);
4665 fprintf (stderr, "test_blockdev_setrw_0: expected false, got true\n");
4672 static int test_blockdev_setro_0 (void)
4674 /* InitEmpty for blockdev_setro (0) */
4676 char device[] = "/dev/sda";
4677 device[5] = devchar;
4680 r = guestfs_blockdev_setrw (g, device);
4687 r = guestfs_umount_all (g);
4694 r = guestfs_lvm_remove_all (g);
4698 /* TestOutputTrue for blockdev_setro (0) */
4700 char device[] = "/dev/sda";
4701 device[5] = devchar;
4704 r = guestfs_blockdev_setro (g, device);
4709 char device[] = "/dev/sda";
4710 device[5] = devchar;
4713 r = guestfs_blockdev_getro (g, device);
4717 fprintf (stderr, "test_blockdev_setro_0: expected true, got false\n");
4724 static int test_statvfs_0 (void)
4726 /* InitBasicFS for statvfs (0): create ext2 on /dev/sda1 */
4728 char device[] = "/dev/sda";
4729 device[5] = devchar;
4732 r = guestfs_blockdev_setrw (g, device);
4739 r = guestfs_umount_all (g);
4746 r = guestfs_lvm_remove_all (g);
4751 char device[] = "/dev/sda";
4752 device[5] = devchar;
4753 char lines_0[] = ",";
4760 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
4765 char fstype[] = "ext2";
4766 char device[] = "/dev/sda1";
4767 device[5] = devchar;
4770 r = guestfs_mkfs (g, fstype, device);
4775 char device[] = "/dev/sda1";
4776 device[5] = devchar;
4777 char mountpoint[] = "/";
4780 r = guestfs_mount (g, device, mountpoint);
4784 /* TestOutputStruct for statvfs (0) */
4787 struct guestfs_statvfs *r;
4789 r = guestfs_statvfs (g, path);
4792 if (r->bfree != 487702) {
4793 fprintf (stderr, "test_statvfs_0: bfree was %d, expected 487702\n",
4797 if (r->blocks != 490020) {
4798 fprintf (stderr, "test_statvfs_0: blocks was %d, expected 490020\n",
4802 if (r->bsize != 1024) {
4803 fprintf (stderr, "test_statvfs_0: bsize was %d, expected 1024\n",
4812 static int test_lstat_0 (void)
4814 /* InitBasicFS for lstat (0): create ext2 on /dev/sda1 */
4816 char device[] = "/dev/sda";
4817 device[5] = devchar;
4820 r = guestfs_blockdev_setrw (g, device);
4827 r = guestfs_umount_all (g);
4834 r = guestfs_lvm_remove_all (g);
4839 char device[] = "/dev/sda";
4840 device[5] = devchar;
4841 char lines_0[] = ",";
4848 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
4853 char fstype[] = "ext2";
4854 char device[] = "/dev/sda1";
4855 device[5] = devchar;
4858 r = guestfs_mkfs (g, fstype, device);
4863 char device[] = "/dev/sda1";
4864 device[5] = devchar;
4865 char mountpoint[] = "/";
4868 r = guestfs_mount (g, device, mountpoint);
4872 /* TestOutputStruct for lstat (0) */
4874 char path[] = "/new";
4877 r = guestfs_touch (g, path);
4882 char path[] = "/new";
4883 struct guestfs_stat *r;
4885 r = guestfs_lstat (g, path);
4889 fprintf (stderr, "test_lstat_0: size was %d, expected 0\n",
4898 static int test_stat_0 (void)
4900 /* InitBasicFS for stat (0): create ext2 on /dev/sda1 */
4902 char device[] = "/dev/sda";
4903 device[5] = devchar;
4906 r = guestfs_blockdev_setrw (g, device);
4913 r = guestfs_umount_all (g);
4920 r = guestfs_lvm_remove_all (g);
4925 char device[] = "/dev/sda";
4926 device[5] = devchar;
4927 char lines_0[] = ",";
4934 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
4939 char fstype[] = "ext2";
4940 char device[] = "/dev/sda1";
4941 device[5] = devchar;
4944 r = guestfs_mkfs (g, fstype, device);
4949 char device[] = "/dev/sda1";
4950 device[5] = devchar;
4951 char mountpoint[] = "/";
4954 r = guestfs_mount (g, device, mountpoint);
4958 /* TestOutputStruct for stat (0) */
4960 char path[] = "/new";
4963 r = guestfs_touch (g, path);
4968 char path[] = "/new";
4969 struct guestfs_stat *r;
4971 r = guestfs_stat (g, path);
4975 fprintf (stderr, "test_stat_0: size was %d, expected 0\n",
4984 static int test_command_lines_0_prereq (void)
4986 const char *str = getenv ("SKIP_TEST_COMMAND");
4987 return str && strcmp (str, "1") == 0;
4990 static int test_command_lines_0 (void)
4992 if (! test_command_lines_0_prereq ()) {
4993 /* InitBasicFS for command_lines (0): create ext2 on /dev/sda1 */
4995 char device[] = "/dev/sda";
4996 device[5] = devchar;
4999 r = guestfs_blockdev_setrw (g, device);
5006 r = guestfs_umount_all (g);
5013 r = guestfs_lvm_remove_all (g);
5018 char device[] = "/dev/sda";
5019 device[5] = devchar;
5020 char lines_0[] = ",";
5027 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
5032 char fstype[] = "ext2";
5033 char device[] = "/dev/sda1";
5034 device[5] = devchar;
5037 r = guestfs_mkfs (g, fstype, device);
5042 char device[] = "/dev/sda1";
5043 device[5] = devchar;
5044 char mountpoint[] = "/";
5047 r = guestfs_mount (g, device, mountpoint);
5051 /* TestOutputList for command_lines (0) */
5053 char remotefilename[] = "/test-command";
5056 r = guestfs_upload (g, "test-command", remotefilename);
5061 char path[] = "/test-command";
5064 r = guestfs_chmod (g, 493, path);
5069 char arguments_0[] = "/test-command";
5070 char arguments_1[] = "1";
5071 char *arguments[] = {
5079 r = guestfs_command_lines (g, arguments);
5083 fprintf (stderr, "test_command_lines_0: short list returned from command\n");
5088 char expected[] = "Result1";
5089 if (strcmp (r[0], expected) != 0) {
5090 fprintf (stderr, "test_command_lines_0: expected \"%s\" but got \"%s\"\n", expected, r[0]);
5095 fprintf (stderr, "test_command_lines_0: extra elements returned from command\n");
5099 for (i = 0; r[i] != NULL; ++i)
5104 printf ("%s skippedd (reason: test prerequisite)\n", "test_command_lines_0");
5108 static int test_command_lines_1_prereq (void)
5110 const char *str = getenv ("SKIP_TEST_COMMAND");
5111 return str && strcmp (str, "1") == 0;
5114 static int test_command_lines_1 (void)
5116 if (! test_command_lines_1_prereq ()) {
5117 /* InitBasicFS for command_lines (1): create ext2 on /dev/sda1 */
5119 char device[] = "/dev/sda";
5120 device[5] = devchar;
5123 r = guestfs_blockdev_setrw (g, device);
5130 r = guestfs_umount_all (g);
5137 r = guestfs_lvm_remove_all (g);
5142 char device[] = "/dev/sda";
5143 device[5] = devchar;
5144 char lines_0[] = ",";
5151 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);