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_zerofree_0 (void)
123 /* TestOutput for zerofree (0) */
124 char expected[] = "test file";
126 char device[] = "/dev/sda";
128 char lines_0[] = ",";
135 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
140 char fstype[] = "ext3";
141 char device[] = "/dev/sda1";
145 r = guestfs_mkfs (g, fstype, device);
150 char device[] = "/dev/sda1";
152 char mountpoint[] = "/";
155 r = guestfs_mount (g, device, mountpoint);
160 char path[] = "/new";
161 char content[] = "test file";
164 r = guestfs_write_file (g, path, content, 0);
169 char pathordevice[] = "/dev/sda1";
170 pathordevice[5] = devchar;
173 r = guestfs_umount (g, pathordevice);
178 char device[] = "/dev/sda1";
182 r = guestfs_zerofree (g, device);
187 char device[] = "/dev/sda1";
189 char mountpoint[] = "/";
192 r = guestfs_mount (g, device, mountpoint);
197 char path[] = "/new";
200 r = guestfs_cat (g, path);
203 if (strcmp (r, expected) != 0) {
204 fprintf (stderr, "test_zerofree_0: expected \"%s\" but got \"%s\"\n", expected, r);
212 static int test_hexdump_0 (void)
214 /* InitBasicFS for hexdump (0): create ext2 on /dev/sda1 */
216 char device[] = "/dev/sda";
220 r = guestfs_blockdev_setrw (g, device);
227 r = guestfs_umount_all (g);
234 r = guestfs_lvm_remove_all (g);
239 char device[] = "/dev/sda";
241 char lines_0[] = ",";
248 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
253 char fstype[] = "ext2";
254 char device[] = "/dev/sda1";
258 r = guestfs_mkfs (g, fstype, device);
263 char device[] = "/dev/sda1";
265 char mountpoint[] = "/";
268 r = guestfs_mount (g, device, mountpoint);
272 /* TestOutput for hexdump (0) */
273 char expected[] = "00000000 68 65 6c 6c 6f 0a 77 6f 72 6c 64 0a |hello.world.|\n0000000c\n";
275 char path[] = "/new";
276 char content[] = "hello\nworld\n";
279 r = guestfs_write_file (g, path, content, 12);
284 char path[] = "/new";
287 r = guestfs_hexdump (g, path);
290 if (strcmp (r, expected) != 0) {
291 fprintf (stderr, "test_hexdump_0: expected \"%s\" but got \"%s\"\n", expected, r);
299 static int test_strings_e_0 (void)
301 /* InitBasicFS for strings_e (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_e (0) */
361 char path[] = "/new";
362 char content[] = "hello\nworld\n";
365 r = guestfs_write_file (g, path, content, 0);
370 char encoding[] = "b";
371 char path[] = "/new";
375 r = guestfs_strings_e (g, encoding, path);
379 fprintf (stderr, "test_strings_e_0: extra elements returned from command\n");
383 for (i = 0; r[i] != NULL; ++i)
390 static int test_strings_e_1 (void)
392 printf ("%s skipped (reason: test disabled in generator)\n", "test_strings_e_1");
396 static int test_strings_0 (void)
398 /* InitBasicFS for strings (0): create ext2 on /dev/sda1 */
400 char device[] = "/dev/sda";
404 r = guestfs_blockdev_setrw (g, device);
411 r = guestfs_umount_all (g);
418 r = guestfs_lvm_remove_all (g);
423 char device[] = "/dev/sda";
425 char lines_0[] = ",";
432 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
437 char fstype[] = "ext2";
438 char device[] = "/dev/sda1";
442 r = guestfs_mkfs (g, fstype, device);
447 char device[] = "/dev/sda1";
449 char mountpoint[] = "/";
452 r = guestfs_mount (g, device, mountpoint);
456 /* TestOutputList for strings (0) */
458 char path[] = "/new";
459 char content[] = "hello\nworld\n";
462 r = guestfs_write_file (g, path, content, 0);
467 char path[] = "/new";
471 r = guestfs_strings (g, path);
475 fprintf (stderr, "test_strings_0: short list returned from command\n");
480 char expected[] = "hello";
481 if (strcmp (r[0], expected) != 0) {
482 fprintf (stderr, "test_strings_0: expected \"%s\" but got \"%s\"\n", expected, r[0]);
487 fprintf (stderr, "test_strings_0: short list returned from command\n");
492 char expected[] = "world";
493 if (strcmp (r[1], expected) != 0) {
494 fprintf (stderr, "test_strings_0: expected \"%s\" but got \"%s\"\n", expected, r[1]);
499 fprintf (stderr, "test_strings_0: extra elements returned from command\n");
503 for (i = 0; r[i] != NULL; ++i)
510 static int test_strings_1 (void)
512 /* InitBasicFS for strings (1): create ext2 on /dev/sda1 */
514 char device[] = "/dev/sda";
518 r = guestfs_blockdev_setrw (g, device);
525 r = guestfs_umount_all (g);
532 r = guestfs_lvm_remove_all (g);
537 char device[] = "/dev/sda";
539 char lines_0[] = ",";
546 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
551 char fstype[] = "ext2";
552 char device[] = "/dev/sda1";
556 r = guestfs_mkfs (g, fstype, device);
561 char device[] = "/dev/sda1";
563 char mountpoint[] = "/";
566 r = guestfs_mount (g, device, mountpoint);
570 /* TestOutputList for strings (1) */
572 char path[] = "/new";
575 r = guestfs_touch (g, path);
580 char path[] = "/new";
584 r = guestfs_strings (g, path);
588 fprintf (stderr, "test_strings_1: extra elements returned from command\n");
592 for (i = 0; r[i] != NULL; ++i)
599 static int test_equal_0 (void)
601 /* InitBasicFS for equal (0): create ext2 on /dev/sda1 */
603 char device[] = "/dev/sda";
607 r = guestfs_blockdev_setrw (g, device);
614 r = guestfs_umount_all (g);
621 r = guestfs_lvm_remove_all (g);
626 char device[] = "/dev/sda";
628 char lines_0[] = ",";
635 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
640 char fstype[] = "ext2";
641 char device[] = "/dev/sda1";
645 r = guestfs_mkfs (g, fstype, device);
650 char device[] = "/dev/sda1";
652 char mountpoint[] = "/";
655 r = guestfs_mount (g, device, mountpoint);
659 /* TestOutputTrue for equal (0) */
661 char path[] = "/file1";
662 char content[] = "contents of a file";
665 r = guestfs_write_file (g, path, content, 0);
670 char src[] = "/file1";
671 char dest[] = "/file2";
674 r = guestfs_cp (g, src, dest);
679 char file1[] = "/file1";
680 char file2[] = "/file2";
683 r = guestfs_equal (g, file1, file2);
687 fprintf (stderr, "test_equal_0: expected true, got false\n");
694 static int test_equal_1 (void)
696 /* InitBasicFS for equal (1): create ext2 on /dev/sda1 */
698 char device[] = "/dev/sda";
702 r = guestfs_blockdev_setrw (g, device);
709 r = guestfs_umount_all (g);
716 r = guestfs_lvm_remove_all (g);
721 char device[] = "/dev/sda";
723 char lines_0[] = ",";
730 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
735 char fstype[] = "ext2";
736 char device[] = "/dev/sda1";
740 r = guestfs_mkfs (g, fstype, device);
745 char device[] = "/dev/sda1";
747 char mountpoint[] = "/";
750 r = guestfs_mount (g, device, mountpoint);
754 /* TestOutputFalse for equal (1) */
756 char path[] = "/file1";
757 char content[] = "contents of a file";
760 r = guestfs_write_file (g, path, content, 0);
765 char path[] = "/file2";
766 char content[] = "contents of another file";
769 r = guestfs_write_file (g, path, content, 0);
774 char file1[] = "/file1";
775 char file2[] = "/file2";
778 r = guestfs_equal (g, file1, file2);
782 fprintf (stderr, "test_equal_1: expected false, got true\n");
789 static int test_equal_2 (void)
791 /* InitBasicFS for equal (2): create ext2 on /dev/sda1 */
793 char device[] = "/dev/sda";
797 r = guestfs_blockdev_setrw (g, device);
804 r = guestfs_umount_all (g);
811 r = guestfs_lvm_remove_all (g);
816 char device[] = "/dev/sda";
818 char lines_0[] = ",";
825 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
830 char fstype[] = "ext2";
831 char device[] = "/dev/sda1";
835 r = guestfs_mkfs (g, fstype, device);
840 char device[] = "/dev/sda1";
842 char mountpoint[] = "/";
845 r = guestfs_mount (g, device, mountpoint);
849 /* TestLastFail for equal (2) */
851 char file1[] = "/file1";
852 char file2[] = "/file2";
855 r = guestfs_equal (g, file1, file2);
862 static int test_ping_daemon_0 (void)
864 /* InitEmpty for ping_daemon (0) */
866 char device[] = "/dev/sda";
870 r = guestfs_blockdev_setrw (g, device);
877 r = guestfs_umount_all (g);
884 r = guestfs_lvm_remove_all (g);
888 /* TestRun for ping_daemon (0) */
892 r = guestfs_ping_daemon (g);
899 static int test_dmesg_0 (void)
901 /* InitEmpty for dmesg (0) */
903 char device[] = "/dev/sda";
907 r = guestfs_blockdev_setrw (g, device);
914 r = guestfs_umount_all (g);
921 r = guestfs_lvm_remove_all (g);
925 /* TestRun for dmesg (0) */
929 r = guestfs_dmesg (g);
937 static int test_drop_caches_0 (void)
939 /* InitEmpty for drop_caches (0) */
941 char device[] = "/dev/sda";
945 r = guestfs_blockdev_setrw (g, device);
952 r = guestfs_umount_all (g);
959 r = guestfs_lvm_remove_all (g);
963 /* TestRun for drop_caches (0) */
967 r = guestfs_drop_caches (g, 3);
974 static int test_mv_0 (void)
976 /* InitBasicFS for mv (0): create ext2 on /dev/sda1 */
978 char device[] = "/dev/sda";
982 r = guestfs_blockdev_setrw (g, device);
989 r = guestfs_umount_all (g);
996 r = guestfs_lvm_remove_all (g);
1001 char device[] = "/dev/sda";
1002 device[5] = devchar;
1003 char lines_0[] = ",";
1010 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
1015 char fstype[] = "ext2";
1016 char device[] = "/dev/sda1";
1017 device[5] = devchar;
1020 r = guestfs_mkfs (g, fstype, device);
1025 char device[] = "/dev/sda1";
1026 device[5] = devchar;
1027 char mountpoint[] = "/";
1030 r = guestfs_mount (g, device, mountpoint);
1034 /* TestOutput for mv (0) */
1035 char expected[] = "file content";
1037 char path[] = "/old";
1038 char content[] = "file content";
1041 r = guestfs_write_file (g, path, content, 0);
1046 char src[] = "/old";
1047 char dest[] = "/new";
1050 r = guestfs_mv (g, src, dest);
1055 char path[] = "/new";
1058 r = guestfs_cat (g, path);
1061 if (strcmp (r, expected) != 0) {
1062 fprintf (stderr, "test_mv_0: expected \"%s\" but got \"%s\"\n", expected, r);
1070 static int test_mv_1 (void)
1072 /* InitBasicFS for mv (1): create ext2 on /dev/sda1 */
1074 char device[] = "/dev/sda";
1075 device[5] = devchar;
1078 r = guestfs_blockdev_setrw (g, device);
1085 r = guestfs_umount_all (g);
1092 r = guestfs_lvm_remove_all (g);
1097 char device[] = "/dev/sda";
1098 device[5] = devchar;
1099 char lines_0[] = ",";
1106 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
1111 char fstype[] = "ext2";
1112 char device[] = "/dev/sda1";
1113 device[5] = devchar;
1116 r = guestfs_mkfs (g, fstype, device);
1121 char device[] = "/dev/sda1";
1122 device[5] = devchar;
1123 char mountpoint[] = "/";
1126 r = guestfs_mount (g, device, mountpoint);
1130 /* TestOutputFalse for mv (1) */
1132 char path[] = "/old";
1133 char content[] = "file content";
1136 r = guestfs_write_file (g, path, content, 0);
1141 char src[] = "/old";
1142 char dest[] = "/new";
1145 r = guestfs_mv (g, src, dest);
1150 char path[] = "/old";
1153 r = guestfs_is_file (g, path);
1157 fprintf (stderr, "test_mv_1: expected false, got true\n");
1164 static int test_cp_a_0 (void)
1166 /* InitBasicFS for cp_a (0): create ext2 on /dev/sda1 */
1168 char device[] = "/dev/sda";
1169 device[5] = devchar;
1172 r = guestfs_blockdev_setrw (g, device);
1179 r = guestfs_umount_all (g);
1186 r = guestfs_lvm_remove_all (g);
1191 char device[] = "/dev/sda";
1192 device[5] = devchar;
1193 char lines_0[] = ",";
1200 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
1205 char fstype[] = "ext2";
1206 char device[] = "/dev/sda1";
1207 device[5] = devchar;
1210 r = guestfs_mkfs (g, fstype, device);
1215 char device[] = "/dev/sda1";
1216 device[5] = devchar;
1217 char mountpoint[] = "/";
1220 r = guestfs_mount (g, device, mountpoint);
1224 /* TestOutput for cp_a (0) */
1225 char expected[] = "file content";
1227 char path[] = "/olddir";
1230 r = guestfs_mkdir (g, path);
1235 char path[] = "/newdir";
1238 r = guestfs_mkdir (g, path);
1243 char path[] = "/olddir/file";
1244 char content[] = "file content";
1247 r = guestfs_write_file (g, path, content, 0);
1252 char src[] = "/olddir";
1253 char dest[] = "/newdir";
1256 r = guestfs_cp_a (g, src, dest);
1261 char path[] = "/newdir/olddir/file";
1264 r = guestfs_cat (g, path);
1267 if (strcmp (r, expected) != 0) {
1268 fprintf (stderr, "test_cp_a_0: expected \"%s\" but got \"%s\"\n", expected, r);
1276 static int test_cp_0 (void)
1278 /* InitBasicFS for cp (0): create ext2 on /dev/sda1 */
1280 char device[] = "/dev/sda";
1281 device[5] = devchar;
1284 r = guestfs_blockdev_setrw (g, device);
1291 r = guestfs_umount_all (g);
1298 r = guestfs_lvm_remove_all (g);
1303 char device[] = "/dev/sda";
1304 device[5] = devchar;
1305 char lines_0[] = ",";
1312 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
1317 char fstype[] = "ext2";
1318 char device[] = "/dev/sda1";
1319 device[5] = devchar;
1322 r = guestfs_mkfs (g, fstype, device);
1327 char device[] = "/dev/sda1";
1328 device[5] = devchar;
1329 char mountpoint[] = "/";
1332 r = guestfs_mount (g, device, mountpoint);
1336 /* TestOutput for cp (0) */
1337 char expected[] = "file content";
1339 char path[] = "/old";
1340 char content[] = "file content";
1343 r = guestfs_write_file (g, path, content, 0);
1348 char src[] = "/old";
1349 char dest[] = "/new";
1352 r = guestfs_cp (g, src, dest);
1357 char path[] = "/new";
1360 r = guestfs_cat (g, path);
1363 if (strcmp (r, expected) != 0) {
1364 fprintf (stderr, "test_cp_0: expected \"%s\" but got \"%s\"\n", expected, r);
1372 static int test_cp_1 (void)
1374 /* InitBasicFS for cp (1): create ext2 on /dev/sda1 */
1376 char device[] = "/dev/sda";
1377 device[5] = devchar;
1380 r = guestfs_blockdev_setrw (g, device);
1387 r = guestfs_umount_all (g);
1394 r = guestfs_lvm_remove_all (g);
1399 char device[] = "/dev/sda";
1400 device[5] = devchar;
1401 char lines_0[] = ",";
1408 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
1413 char fstype[] = "ext2";
1414 char device[] = "/dev/sda1";
1415 device[5] = devchar;
1418 r = guestfs_mkfs (g, fstype, device);
1423 char device[] = "/dev/sda1";
1424 device[5] = devchar;
1425 char mountpoint[] = "/";
1428 r = guestfs_mount (g, device, mountpoint);
1432 /* TestOutputTrue for cp (1) */
1434 char path[] = "/old";
1435 char content[] = "file content";
1438 r = guestfs_write_file (g, path, content, 0);
1443 char src[] = "/old";
1444 char dest[] = "/new";
1447 r = guestfs_cp (g, src, dest);
1452 char path[] = "/old";
1455 r = guestfs_is_file (g, path);
1459 fprintf (stderr, "test_cp_1: expected true, got false\n");
1466 static int test_cp_2 (void)
1468 /* InitBasicFS for cp (2): create ext2 on /dev/sda1 */
1470 char device[] = "/dev/sda";
1471 device[5] = devchar;
1474 r = guestfs_blockdev_setrw (g, device);
1481 r = guestfs_umount_all (g);
1488 r = guestfs_lvm_remove_all (g);
1493 char device[] = "/dev/sda";
1494 device[5] = devchar;
1495 char lines_0[] = ",";
1502 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
1507 char fstype[] = "ext2";
1508 char device[] = "/dev/sda1";
1509 device[5] = devchar;
1512 r = guestfs_mkfs (g, fstype, device);
1517 char device[] = "/dev/sda1";
1518 device[5] = devchar;
1519 char mountpoint[] = "/";
1522 r = guestfs_mount (g, device, mountpoint);
1526 /* TestOutput for cp (2) */
1527 char expected[] = "file content";
1529 char path[] = "/old";
1530 char content[] = "file content";
1533 r = guestfs_write_file (g, path, content, 0);
1538 char path[] = "/dir";
1541 r = guestfs_mkdir (g, path);
1546 char src[] = "/old";
1547 char dest[] = "/dir/new";
1550 r = guestfs_cp (g, src, dest);
1555 char path[] = "/dir/new";
1558 r = guestfs_cat (g, path);
1561 if (strcmp (r, expected) != 0) {
1562 fprintf (stderr, "test_cp_2: expected \"%s\" but got \"%s\"\n", expected, r);
1570 static int test_grub_install_0 (void)
1572 /* InitBasicFS for grub_install (0): create ext2 on /dev/sda1 */
1574 char device[] = "/dev/sda";
1575 device[5] = devchar;
1578 r = guestfs_blockdev_setrw (g, device);
1585 r = guestfs_umount_all (g);
1592 r = guestfs_lvm_remove_all (g);
1597 char device[] = "/dev/sda";
1598 device[5] = devchar;
1599 char lines_0[] = ",";
1606 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
1611 char fstype[] = "ext2";
1612 char device[] = "/dev/sda1";
1613 device[5] = devchar;
1616 r = guestfs_mkfs (g, fstype, device);
1621 char device[] = "/dev/sda1";
1622 device[5] = devchar;
1623 char mountpoint[] = "/";
1626 r = guestfs_mount (g, device, mountpoint);
1630 /* TestOutputTrue for grub_install (0) */
1633 char device[] = "/dev/sda1";
1634 device[5] = devchar;
1637 r = guestfs_grub_install (g, root, device);
1642 char path[] = "/boot";
1645 r = guestfs_is_dir (g, path);
1649 fprintf (stderr, "test_grub_install_0: expected true, got false\n");
1656 static int test_zero_0 (void)
1658 /* InitBasicFS for zero (0): create ext2 on /dev/sda1 */
1660 char device[] = "/dev/sda";
1661 device[5] = devchar;
1664 r = guestfs_blockdev_setrw (g, device);
1671 r = guestfs_umount_all (g);
1678 r = guestfs_lvm_remove_all (g);
1683 char device[] = "/dev/sda";
1684 device[5] = devchar;
1685 char lines_0[] = ",";
1692 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
1697 char fstype[] = "ext2";
1698 char device[] = "/dev/sda1";
1699 device[5] = devchar;
1702 r = guestfs_mkfs (g, fstype, device);
1707 char device[] = "/dev/sda1";
1708 device[5] = devchar;
1709 char mountpoint[] = "/";
1712 r = guestfs_mount (g, device, mountpoint);
1716 /* TestOutput for zero (0) */
1717 char expected[] = "data";
1719 char pathordevice[] = "/dev/sda1";
1720 pathordevice[5] = devchar;
1723 r = guestfs_umount (g, pathordevice);
1728 char device[] = "/dev/sda1";
1729 device[5] = devchar;
1732 r = guestfs_zero (g, device);
1737 char path[] = "/dev/sda1";
1741 r = guestfs_file (g, path);
1744 if (strcmp (r, expected) != 0) {
1745 fprintf (stderr, "test_zero_0: expected \"%s\" but got \"%s\"\n", expected, r);
1753 static int test_fsck_0 (void)
1755 /* InitBasicFS for fsck (0): create ext2 on /dev/sda1 */
1757 char device[] = "/dev/sda";
1758 device[5] = devchar;
1761 r = guestfs_blockdev_setrw (g, device);
1768 r = guestfs_umount_all (g);
1775 r = guestfs_lvm_remove_all (g);
1780 char device[] = "/dev/sda";
1781 device[5] = devchar;
1782 char lines_0[] = ",";
1789 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
1794 char fstype[] = "ext2";
1795 char device[] = "/dev/sda1";
1796 device[5] = devchar;
1799 r = guestfs_mkfs (g, fstype, device);
1804 char device[] = "/dev/sda1";
1805 device[5] = devchar;
1806 char mountpoint[] = "/";
1809 r = guestfs_mount (g, device, mountpoint);
1813 /* TestOutputInt for fsck (0) */
1815 char pathordevice[] = "/dev/sda1";
1816 pathordevice[5] = devchar;
1819 r = guestfs_umount (g, pathordevice);
1824 char fstype[] = "ext2";
1825 char device[] = "/dev/sda1";
1826 device[5] = devchar;
1829 r = guestfs_fsck (g, fstype, device);
1833 fprintf (stderr, "test_fsck_0: expected 0 but got %d\n", (int) r);
1840 static int test_fsck_1 (void)
1842 /* InitBasicFS for fsck (1): create ext2 on /dev/sda1 */
1844 char device[] = "/dev/sda";
1845 device[5] = devchar;
1848 r = guestfs_blockdev_setrw (g, device);
1855 r = guestfs_umount_all (g);
1862 r = guestfs_lvm_remove_all (g);
1867 char device[] = "/dev/sda";
1868 device[5] = devchar;
1869 char lines_0[] = ",";
1876 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
1881 char fstype[] = "ext2";
1882 char device[] = "/dev/sda1";
1883 device[5] = devchar;
1886 r = guestfs_mkfs (g, fstype, device);
1891 char device[] = "/dev/sda1";
1892 device[5] = devchar;
1893 char mountpoint[] = "/";
1896 r = guestfs_mount (g, device, mountpoint);
1900 /* TestOutputInt for fsck (1) */
1902 char pathordevice[] = "/dev/sda1";
1903 pathordevice[5] = devchar;
1906 r = guestfs_umount (g, pathordevice);
1911 char device[] = "/dev/sda1";
1912 device[5] = devchar;
1915 r = guestfs_zero (g, device);
1920 char fstype[] = "ext2";
1921 char device[] = "/dev/sda1";
1922 device[5] = devchar;
1925 r = guestfs_fsck (g, fstype, device);
1929 fprintf (stderr, "test_fsck_1: expected 8 but got %d\n", (int) r);
1936 static int test_set_e2uuid_0 (void)
1938 /* InitBasicFS for set_e2uuid (0): create ext2 on /dev/sda1 */
1940 char device[] = "/dev/sda";
1941 device[5] = devchar;
1944 r = guestfs_blockdev_setrw (g, device);
1951 r = guestfs_umount_all (g);
1958 r = guestfs_lvm_remove_all (g);
1963 char device[] = "/dev/sda";
1964 device[5] = devchar;
1965 char lines_0[] = ",";
1972 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
1977 char fstype[] = "ext2";
1978 char device[] = "/dev/sda1";
1979 device[5] = devchar;
1982 r = guestfs_mkfs (g, fstype, device);
1987 char device[] = "/dev/sda1";
1988 device[5] = devchar;
1989 char mountpoint[] = "/";
1992 r = guestfs_mount (g, device, mountpoint);
1996 /* TestOutput for set_e2uuid (0) */
1997 char expected[] = "a3a61220-882b-4f61-89f4-cf24dcc7297d";
1999 char device[] = "/dev/sda1";
2000 device[5] = devchar;
2001 char uuid[] = "a3a61220-882b-4f61-89f4-cf24dcc7297d";
2004 r = guestfs_set_e2uuid (g, device, uuid);
2009 char device[] = "/dev/sda1";
2010 device[5] = devchar;
2013 r = guestfs_get_e2uuid (g, device);
2016 if (strcmp (r, expected) != 0) {
2017 fprintf (stderr, "test_set_e2uuid_0: expected \"%s\" but got \"%s\"\n", expected, r);
2025 static int test_set_e2uuid_1 (void)
2027 /* InitBasicFS for set_e2uuid (1): create ext2 on /dev/sda1 */
2029 char device[] = "/dev/sda";
2030 device[5] = devchar;
2033 r = guestfs_blockdev_setrw (g, device);
2040 r = guestfs_umount_all (g);
2047 r = guestfs_lvm_remove_all (g);
2052 char device[] = "/dev/sda";
2053 device[5] = devchar;
2054 char lines_0[] = ",";
2061 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
2066 char fstype[] = "ext2";
2067 char device[] = "/dev/sda1";
2068 device[5] = devchar;
2071 r = guestfs_mkfs (g, fstype, device);
2076 char device[] = "/dev/sda1";
2077 device[5] = devchar;
2078 char mountpoint[] = "/";
2081 r = guestfs_mount (g, device, mountpoint);
2085 /* TestOutput for set_e2uuid (1) */
2086 char expected[] = "";
2088 char device[] = "/dev/sda1";
2089 device[5] = devchar;
2090 char uuid[] = "clear";
2093 r = guestfs_set_e2uuid (g, device, uuid);
2098 char device[] = "/dev/sda1";
2099 device[5] = devchar;
2102 r = guestfs_get_e2uuid (g, device);
2105 if (strcmp (r, expected) != 0) {
2106 fprintf (stderr, "test_set_e2uuid_1: expected \"%s\" but got \"%s\"\n", expected, r);
2114 static int test_set_e2uuid_2 (void)
2116 /* InitBasicFS for set_e2uuid (2): create ext2 on /dev/sda1 */
2118 char device[] = "/dev/sda";
2119 device[5] = devchar;
2122 r = guestfs_blockdev_setrw (g, device);
2129 r = guestfs_umount_all (g);
2136 r = guestfs_lvm_remove_all (g);
2141 char device[] = "/dev/sda";
2142 device[5] = devchar;
2143 char lines_0[] = ",";
2150 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
2155 char fstype[] = "ext2";
2156 char device[] = "/dev/sda1";
2157 device[5] = devchar;
2160 r = guestfs_mkfs (g, fstype, device);
2165 char device[] = "/dev/sda1";
2166 device[5] = devchar;
2167 char mountpoint[] = "/";
2170 r = guestfs_mount (g, device, mountpoint);
2174 /* TestRun for set_e2uuid (2) */
2176 char device[] = "/dev/sda1";
2177 device[5] = devchar;
2178 char uuid[] = "random";
2181 r = guestfs_set_e2uuid (g, device, uuid);
2188 static int test_set_e2uuid_3 (void)
2190 /* InitBasicFS for set_e2uuid (3): create ext2 on /dev/sda1 */
2192 char device[] = "/dev/sda";
2193 device[5] = devchar;
2196 r = guestfs_blockdev_setrw (g, device);
2203 r = guestfs_umount_all (g);
2210 r = guestfs_lvm_remove_all (g);
2215 char device[] = "/dev/sda";
2216 device[5] = devchar;
2217 char lines_0[] = ",";
2224 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
2229 char fstype[] = "ext2";
2230 char device[] = "/dev/sda1";
2231 device[5] = devchar;
2234 r = guestfs_mkfs (g, fstype, device);
2239 char device[] = "/dev/sda1";
2240 device[5] = devchar;
2241 char mountpoint[] = "/";
2244 r = guestfs_mount (g, device, mountpoint);
2248 /* TestRun for set_e2uuid (3) */
2250 char device[] = "/dev/sda1";
2251 device[5] = devchar;
2252 char uuid[] = "time";
2255 r = guestfs_set_e2uuid (g, device, uuid);
2262 static int test_set_e2label_0 (void)
2264 /* InitBasicFS for set_e2label (0): create ext2 on /dev/sda1 */
2266 char device[] = "/dev/sda";
2267 device[5] = devchar;
2270 r = guestfs_blockdev_setrw (g, device);
2277 r = guestfs_umount_all (g);
2284 r = guestfs_lvm_remove_all (g);
2289 char device[] = "/dev/sda";
2290 device[5] = devchar;
2291 char lines_0[] = ",";
2298 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
2303 char fstype[] = "ext2";
2304 char device[] = "/dev/sda1";
2305 device[5] = devchar;
2308 r = guestfs_mkfs (g, fstype, device);
2313 char device[] = "/dev/sda1";
2314 device[5] = devchar;
2315 char mountpoint[] = "/";
2318 r = guestfs_mount (g, device, mountpoint);
2322 /* TestOutput for set_e2label (0) */
2323 char expected[] = "testlabel";
2325 char device[] = "/dev/sda1";
2326 device[5] = devchar;
2327 char label[] = "testlabel";
2330 r = guestfs_set_e2label (g, device, label);
2335 char device[] = "/dev/sda1";
2336 device[5] = devchar;
2339 r = guestfs_get_e2label (g, device);
2342 if (strcmp (r, expected) != 0) {
2343 fprintf (stderr, "test_set_e2label_0: expected \"%s\" but got \"%s\"\n", expected, r);
2351 static int test_pvremove_0 (void)
2353 /* InitEmpty for pvremove (0) */
2355 char device[] = "/dev/sda";
2356 device[5] = devchar;
2359 r = guestfs_blockdev_setrw (g, device);
2366 r = guestfs_umount_all (g);
2373 r = guestfs_lvm_remove_all (g);
2377 /* TestOutputList for pvremove (0) */
2379 char device[] = "/dev/sda";
2380 device[5] = devchar;
2383 r = guestfs_pvcreate (g, device);
2388 char volgroup[] = "VG";
2389 char physvols_0[] = "/dev/sda";
2390 physvols_0[5] = devchar;
2391 char *physvols[] = {
2397 r = guestfs_vgcreate (g, volgroup, physvols);
2402 char logvol[] = "LV1";
2403 char volgroup[] = "VG";
2406 r = guestfs_lvcreate (g, logvol, volgroup, 50);
2411 char logvol[] = "LV2";
2412 char volgroup[] = "VG";
2415 r = guestfs_lvcreate (g, logvol, volgroup, 50);
2420 char vgname[] = "VG";
2423 r = guestfs_vgremove (g, vgname);
2428 char device[] = "/dev/sda";
2429 device[5] = devchar;
2432 r = guestfs_pvremove (g, device);
2440 r = guestfs_lvs (g);
2444 fprintf (stderr, "test_pvremove_0: extra elements returned from command\n");
2448 for (i = 0; r[i] != NULL; ++i)
2455 static int test_pvremove_1 (void)
2457 /* InitEmpty for pvremove (1) */
2459 char device[] = "/dev/sda";
2460 device[5] = devchar;
2463 r = guestfs_blockdev_setrw (g, device);
2470 r = guestfs_umount_all (g);
2477 r = guestfs_lvm_remove_all (g);
2481 /* TestOutputList for pvremove (1) */
2483 char device[] = "/dev/sda";
2484 device[5] = devchar;
2487 r = guestfs_pvcreate (g, device);
2492 char volgroup[] = "VG";
2493 char physvols_0[] = "/dev/sda";
2494 physvols_0[5] = devchar;
2495 char *physvols[] = {
2501 r = guestfs_vgcreate (g, volgroup, physvols);
2506 char logvol[] = "LV1";
2507 char volgroup[] = "VG";
2510 r = guestfs_lvcreate (g, logvol, volgroup, 50);
2515 char logvol[] = "LV2";
2516 char volgroup[] = "VG";
2519 r = guestfs_lvcreate (g, logvol, volgroup, 50);
2524 char vgname[] = "VG";
2527 r = guestfs_vgremove (g, vgname);
2532 char device[] = "/dev/sda";
2533 device[5] = devchar;
2536 r = guestfs_pvremove (g, device);
2544 r = guestfs_vgs (g);
2548 fprintf (stderr, "test_pvremove_1: extra elements returned from command\n");
2552 for (i = 0; r[i] != NULL; ++i)
2559 static int test_pvremove_2 (void)
2561 /* InitEmpty for pvremove (2) */
2563 char device[] = "/dev/sda";
2564 device[5] = devchar;
2567 r = guestfs_blockdev_setrw (g, device);
2574 r = guestfs_umount_all (g);
2581 r = guestfs_lvm_remove_all (g);
2585 /* TestOutputList for pvremove (2) */
2587 char device[] = "/dev/sda";
2588 device[5] = devchar;
2591 r = guestfs_pvcreate (g, device);
2596 char volgroup[] = "VG";
2597 char physvols_0[] = "/dev/sda";
2598 physvols_0[5] = devchar;
2599 char *physvols[] = {
2605 r = guestfs_vgcreate (g, volgroup, physvols);
2610 char logvol[] = "LV1";
2611 char volgroup[] = "VG";
2614 r = guestfs_lvcreate (g, logvol, volgroup, 50);
2619 char logvol[] = "LV2";
2620 char volgroup[] = "VG";
2623 r = guestfs_lvcreate (g, logvol, volgroup, 50);
2628 char vgname[] = "VG";
2631 r = guestfs_vgremove (g, vgname);
2636 char device[] = "/dev/sda";
2637 device[5] = devchar;
2640 r = guestfs_pvremove (g, device);
2648 r = guestfs_pvs (g);
2652 fprintf (stderr, "test_pvremove_2: extra elements returned from command\n");
2656 for (i = 0; r[i] != NULL; ++i)
2663 static int test_vgremove_0 (void)
2665 /* InitEmpty for vgremove (0) */
2667 char device[] = "/dev/sda";
2668 device[5] = devchar;
2671 r = guestfs_blockdev_setrw (g, device);
2678 r = guestfs_umount_all (g);
2685 r = guestfs_lvm_remove_all (g);
2689 /* TestOutputList for vgremove (0) */
2691 char device[] = "/dev/sda";
2692 device[5] = devchar;
2695 r = guestfs_pvcreate (g, device);
2700 char volgroup[] = "VG";
2701 char physvols_0[] = "/dev/sda";
2702 physvols_0[5] = devchar;
2703 char *physvols[] = {
2709 r = guestfs_vgcreate (g, volgroup, physvols);
2714 char logvol[] = "LV1";
2715 char volgroup[] = "VG";
2718 r = guestfs_lvcreate (g, logvol, volgroup, 50);
2723 char logvol[] = "LV2";
2724 char volgroup[] = "VG";
2727 r = guestfs_lvcreate (g, logvol, volgroup, 50);
2732 char vgname[] = "VG";
2735 r = guestfs_vgremove (g, vgname);
2743 r = guestfs_lvs (g);
2747 fprintf (stderr, "test_vgremove_0: extra elements returned from command\n");
2751 for (i = 0; r[i] != NULL; ++i)
2758 static int test_vgremove_1 (void)
2760 /* InitEmpty for vgremove (1) */
2762 char device[] = "/dev/sda";
2763 device[5] = devchar;
2766 r = guestfs_blockdev_setrw (g, device);
2773 r = guestfs_umount_all (g);
2780 r = guestfs_lvm_remove_all (g);
2784 /* TestOutputList for vgremove (1) */
2786 char device[] = "/dev/sda";
2787 device[5] = devchar;
2790 r = guestfs_pvcreate (g, device);
2795 char volgroup[] = "VG";
2796 char physvols_0[] = "/dev/sda";
2797 physvols_0[5] = devchar;
2798 char *physvols[] = {
2804 r = guestfs_vgcreate (g, volgroup, physvols);
2809 char logvol[] = "LV1";
2810 char volgroup[] = "VG";
2813 r = guestfs_lvcreate (g, logvol, volgroup, 50);
2818 char logvol[] = "LV2";
2819 char volgroup[] = "VG";
2822 r = guestfs_lvcreate (g, logvol, volgroup, 50);
2827 char vgname[] = "VG";
2830 r = guestfs_vgremove (g, vgname);
2838 r = guestfs_vgs (g);
2842 fprintf (stderr, "test_vgremove_1: extra elements returned from command\n");
2846 for (i = 0; r[i] != NULL; ++i)
2853 static int test_lvremove_0 (void)
2855 /* InitEmpty for lvremove (0) */
2857 char device[] = "/dev/sda";
2858 device[5] = devchar;
2861 r = guestfs_blockdev_setrw (g, device);
2868 r = guestfs_umount_all (g);
2875 r = guestfs_lvm_remove_all (g);
2879 /* TestOutputList for lvremove (0) */
2881 char device[] = "/dev/sda";
2882 device[5] = devchar;
2885 r = guestfs_pvcreate (g, device);
2890 char volgroup[] = "VG";
2891 char physvols_0[] = "/dev/sda";
2892 physvols_0[5] = devchar;
2893 char *physvols[] = {
2899 r = guestfs_vgcreate (g, volgroup, physvols);
2904 char logvol[] = "LV1";
2905 char volgroup[] = "VG";
2908 r = guestfs_lvcreate (g, logvol, volgroup, 50);
2913 char logvol[] = "LV2";
2914 char volgroup[] = "VG";
2917 r = guestfs_lvcreate (g, logvol, volgroup, 50);
2922 char device[] = "/dev/VG/LV1";
2925 r = guestfs_lvremove (g, device);
2933 r = guestfs_lvs (g);
2937 fprintf (stderr, "test_lvremove_0: short list returned from command\n");
2942 char expected[] = "/dev/VG/LV2";
2943 if (strcmp (r[0], expected) != 0) {
2944 fprintf (stderr, "test_lvremove_0: expected \"%s\" but got \"%s\"\n", expected, r[0]);
2949 fprintf (stderr, "test_lvremove_0: extra elements returned from command\n");
2953 for (i = 0; r[i] != NULL; ++i)
2960 static int test_lvremove_1 (void)
2962 /* InitEmpty for lvremove (1) */
2964 char device[] = "/dev/sda";
2965 device[5] = devchar;
2968 r = guestfs_blockdev_setrw (g, device);
2975 r = guestfs_umount_all (g);
2982 r = guestfs_lvm_remove_all (g);
2986 /* TestOutputList for lvremove (1) */
2988 char device[] = "/dev/sda";
2989 device[5] = devchar;
2992 r = guestfs_pvcreate (g, device);
2997 char volgroup[] = "VG";
2998 char physvols_0[] = "/dev/sda";
2999 physvols_0[5] = devchar;
3000 char *physvols[] = {
3006 r = guestfs_vgcreate (g, volgroup, physvols);
3011 char logvol[] = "LV1";
3012 char volgroup[] = "VG";
3015 r = guestfs_lvcreate (g, logvol, volgroup, 50);
3020 char logvol[] = "LV2";
3021 char volgroup[] = "VG";
3024 r = guestfs_lvcreate (g, logvol, volgroup, 50);
3029 char device[] = "/dev/VG";
3032 r = guestfs_lvremove (g, device);
3040 r = guestfs_lvs (g);
3044 fprintf (stderr, "test_lvremove_1: extra elements returned from command\n");
3048 for (i = 0; r[i] != NULL; ++i)
3055 static int test_lvremove_2 (void)
3057 /* InitEmpty for lvremove (2) */
3059 char device[] = "/dev/sda";
3060 device[5] = devchar;
3063 r = guestfs_blockdev_setrw (g, device);
3070 r = guestfs_umount_all (g);
3077 r = guestfs_lvm_remove_all (g);
3081 /* TestOutputList for lvremove (2) */
3083 char device[] = "/dev/sda";
3084 device[5] = devchar;
3087 r = guestfs_pvcreate (g, device);
3092 char volgroup[] = "VG";
3093 char physvols_0[] = "/dev/sda";
3094 physvols_0[5] = devchar;
3095 char *physvols[] = {
3101 r = guestfs_vgcreate (g, volgroup, physvols);
3106 char logvol[] = "LV1";
3107 char volgroup[] = "VG";
3110 r = guestfs_lvcreate (g, logvol, volgroup, 50);
3115 char logvol[] = "LV2";
3116 char volgroup[] = "VG";
3119 r = guestfs_lvcreate (g, logvol, volgroup, 50);
3124 char device[] = "/dev/VG";
3127 r = guestfs_lvremove (g, device);
3135 r = guestfs_vgs (g);
3139 fprintf (stderr, "test_lvremove_2: short list returned from command\n");
3144 char expected[] = "VG";
3145 if (strcmp (r[0], expected) != 0) {
3146 fprintf (stderr, "test_lvremove_2: expected \"%s\" but got \"%s\"\n", expected, r[0]);
3151 fprintf (stderr, "test_lvremove_2: extra elements returned from command\n");
3155 for (i = 0; r[i] != NULL; ++i)
3162 static int test_mount_ro_0 (void)
3164 /* InitBasicFS for mount_ro (0): create ext2 on /dev/sda1 */
3166 char device[] = "/dev/sda";
3167 device[5] = devchar;
3170 r = guestfs_blockdev_setrw (g, device);
3177 r = guestfs_umount_all (g);
3184 r = guestfs_lvm_remove_all (g);
3189 char device[] = "/dev/sda";
3190 device[5] = devchar;
3191 char lines_0[] = ",";
3198 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
3203 char fstype[] = "ext2";
3204 char device[] = "/dev/sda1";
3205 device[5] = devchar;
3208 r = guestfs_mkfs (g, fstype, device);
3213 char device[] = "/dev/sda1";
3214 device[5] = devchar;
3215 char mountpoint[] = "/";
3218 r = guestfs_mount (g, device, mountpoint);
3222 /* TestLastFail for mount_ro (0) */
3224 char pathordevice[] = "/";
3227 r = guestfs_umount (g, pathordevice);
3232 char device[] = "/dev/sda1";
3233 device[5] = devchar;
3234 char mountpoint[] = "/";
3237 r = guestfs_mount_ro (g, device, mountpoint);
3242 char path[] = "/new";
3245 r = guestfs_touch (g, path);
3252 static int test_mount_ro_1 (void)
3254 /* InitBasicFS for mount_ro (1): create ext2 on /dev/sda1 */
3256 char device[] = "/dev/sda";
3257 device[5] = devchar;
3260 r = guestfs_blockdev_setrw (g, device);
3267 r = guestfs_umount_all (g);
3274 r = guestfs_lvm_remove_all (g);
3279 char device[] = "/dev/sda";
3280 device[5] = devchar;
3281 char lines_0[] = ",";
3288 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
3293 char fstype[] = "ext2";
3294 char device[] = "/dev/sda1";
3295 device[5] = devchar;
3298 r = guestfs_mkfs (g, fstype, device);
3303 char device[] = "/dev/sda1";
3304 device[5] = devchar;
3305 char mountpoint[] = "/";
3308 r = guestfs_mount (g, device, mountpoint);
3312 /* TestOutput for mount_ro (1) */
3313 char expected[] = "data";
3315 char path[] = "/new";
3316 char content[] = "data";
3319 r = guestfs_write_file (g, path, content, 0);
3324 char pathordevice[] = "/";
3327 r = guestfs_umount (g, pathordevice);
3332 char device[] = "/dev/sda1";
3333 device[5] = devchar;
3334 char mountpoint[] = "/";
3337 r = guestfs_mount_ro (g, device, mountpoint);
3342 char path[] = "/new";
3345 r = guestfs_cat (g, path);
3348 if (strcmp (r, expected) != 0) {
3349 fprintf (stderr, "test_mount_ro_1: expected \"%s\" but got \"%s\"\n", expected, r);
3357 static int test_tgz_in_0 (void)
3359 /* InitBasicFS for tgz_in (0): create ext2 on /dev/sda1 */
3361 char device[] = "/dev/sda";
3362 device[5] = devchar;
3365 r = guestfs_blockdev_setrw (g, device);
3372 r = guestfs_umount_all (g);
3379 r = guestfs_lvm_remove_all (g);
3384 char device[] = "/dev/sda";
3385 device[5] = devchar;
3386 char lines_0[] = ",";
3393 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
3398 char fstype[] = "ext2";
3399 char device[] = "/dev/sda1";
3400 device[5] = devchar;
3403 r = guestfs_mkfs (g, fstype, device);
3408 char device[] = "/dev/sda1";
3409 device[5] = devchar;
3410 char mountpoint[] = "/";
3413 r = guestfs_mount (g, device, mountpoint);
3417 /* TestOutput for tgz_in (0) */
3418 char expected[] = "hello\n";
3420 char directory[] = "/";
3423 r = guestfs_tgz_in (g, "images/helloworld.tar.gz", directory);
3428 char path[] = "/hello";
3431 r = guestfs_cat (g, path);
3434 if (strcmp (r, expected) != 0) {
3435 fprintf (stderr, "test_tgz_in_0: expected \"%s\" but got \"%s\"\n", expected, r);
3443 static int test_tar_in_0 (void)
3445 /* InitBasicFS for tar_in (0): create ext2 on /dev/sda1 */
3447 char device[] = "/dev/sda";
3448 device[5] = devchar;
3451 r = guestfs_blockdev_setrw (g, device);
3458 r = guestfs_umount_all (g);
3465 r = guestfs_lvm_remove_all (g);
3470 char device[] = "/dev/sda";
3471 device[5] = devchar;
3472 char lines_0[] = ",";
3479 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
3484 char fstype[] = "ext2";
3485 char device[] = "/dev/sda1";
3486 device[5] = devchar;
3489 r = guestfs_mkfs (g, fstype, device);
3494 char device[] = "/dev/sda1";
3495 device[5] = devchar;
3496 char mountpoint[] = "/";
3499 r = guestfs_mount (g, device, mountpoint);
3503 /* TestOutput for tar_in (0) */
3504 char expected[] = "hello\n";
3506 char directory[] = "/";
3509 r = guestfs_tar_in (g, "images/helloworld.tar", directory);
3514 char path[] = "/hello";
3517 r = guestfs_cat (g, path);
3520 if (strcmp (r, expected) != 0) {
3521 fprintf (stderr, "test_tar_in_0: expected \"%s\" but got \"%s\"\n", expected, r);
3529 static int test_checksum_0 (void)
3531 /* InitBasicFS for checksum (0): create ext2 on /dev/sda1 */
3533 char device[] = "/dev/sda";
3534 device[5] = devchar;
3537 r = guestfs_blockdev_setrw (g, device);
3544 r = guestfs_umount_all (g);
3551 r = guestfs_lvm_remove_all (g);
3556 char device[] = "/dev/sda";
3557 device[5] = devchar;
3558 char lines_0[] = ",";
3565 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
3570 char fstype[] = "ext2";
3571 char device[] = "/dev/sda1";
3572 device[5] = devchar;
3575 r = guestfs_mkfs (g, fstype, device);
3580 char device[] = "/dev/sda1";
3581 device[5] = devchar;
3582 char mountpoint[] = "/";
3585 r = guestfs_mount (g, device, mountpoint);
3589 /* TestOutput for checksum (0) */
3590 char expected[] = "935282863";
3592 char path[] = "/new";
3593 char content[] = "test\n";
3596 r = guestfs_write_file (g, path, content, 0);
3601 char csumtype[] = "crc";
3602 char path[] = "/new";
3605 r = guestfs_checksum (g, csumtype, path);
3608 if (strcmp (r, expected) != 0) {
3609 fprintf (stderr, "test_checksum_0: expected \"%s\" but got \"%s\"\n", expected, r);
3617 static int test_checksum_1 (void)
3619 /* InitBasicFS for checksum (1): create ext2 on /dev/sda1 */
3621 char device[] = "/dev/sda";
3622 device[5] = devchar;
3625 r = guestfs_blockdev_setrw (g, device);
3632 r = guestfs_umount_all (g);
3639 r = guestfs_lvm_remove_all (g);
3644 char device[] = "/dev/sda";
3645 device[5] = devchar;
3646 char lines_0[] = ",";
3653 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
3658 char fstype[] = "ext2";
3659 char device[] = "/dev/sda1";
3660 device[5] = devchar;
3663 r = guestfs_mkfs (g, fstype, device);
3668 char device[] = "/dev/sda1";
3669 device[5] = devchar;
3670 char mountpoint[] = "/";
3673 r = guestfs_mount (g, device, mountpoint);
3677 /* TestLastFail for checksum (1) */
3679 char csumtype[] = "crc";
3680 char path[] = "/new";
3683 r = guestfs_checksum (g, csumtype, path);
3691 static int test_checksum_2 (void)
3693 /* InitBasicFS for checksum (2): create ext2 on /dev/sda1 */
3695 char device[] = "/dev/sda";
3696 device[5] = devchar;
3699 r = guestfs_blockdev_setrw (g, device);
3706 r = guestfs_umount_all (g);
3713 r = guestfs_lvm_remove_all (g);
3718 char device[] = "/dev/sda";
3719 device[5] = devchar;
3720 char lines_0[] = ",";
3727 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
3732 char fstype[] = "ext2";
3733 char device[] = "/dev/sda1";
3734 device[5] = devchar;
3737 r = guestfs_mkfs (g, fstype, device);
3742 char device[] = "/dev/sda1";
3743 device[5] = devchar;
3744 char mountpoint[] = "/";
3747 r = guestfs_mount (g, device, mountpoint);
3751 /* TestOutput for checksum (2) */
3752 char expected[] = "d8e8fca2dc0f896fd7cb4cb0031ba249";
3754 char path[] = "/new";
3755 char content[] = "test\n";
3758 r = guestfs_write_file (g, path, content, 0);
3763 char csumtype[] = "md5";
3764 char path[] = "/new";
3767 r = guestfs_checksum (g, csumtype, path);
3770 if (strcmp (r, expected) != 0) {
3771 fprintf (stderr, "test_checksum_2: expected \"%s\" but got \"%s\"\n", expected, r);
3779 static int test_checksum_3 (void)
3781 /* InitBasicFS for checksum (3): create ext2 on /dev/sda1 */
3783 char device[] = "/dev/sda";
3784 device[5] = devchar;
3787 r = guestfs_blockdev_setrw (g, device);
3794 r = guestfs_umount_all (g);
3801 r = guestfs_lvm_remove_all (g);
3806 char device[] = "/dev/sda";
3807 device[5] = devchar;
3808 char lines_0[] = ",";
3815 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
3820 char fstype[] = "ext2";
3821 char device[] = "/dev/sda1";
3822 device[5] = devchar;
3825 r = guestfs_mkfs (g, fstype, device);
3830 char device[] = "/dev/sda1";
3831 device[5] = devchar;
3832 char mountpoint[] = "/";
3835 r = guestfs_mount (g, device, mountpoint);
3839 /* TestOutput for checksum (3) */
3840 char expected[] = "4e1243bd22c66e76c2ba9eddc1f91394e57f9f83";
3842 char path[] = "/new";
3843 char content[] = "test\n";
3846 r = guestfs_write_file (g, path, content, 0);
3851 char csumtype[] = "sha1";
3852 char path[] = "/new";
3855 r = guestfs_checksum (g, csumtype, path);
3858 if (strcmp (r, expected) != 0) {
3859 fprintf (stderr, "test_checksum_3: expected \"%s\" but got \"%s\"\n", expected, r);
3867 static int test_checksum_4 (void)
3869 /* InitBasicFS for checksum (4): create ext2 on /dev/sda1 */
3871 char device[] = "/dev/sda";
3872 device[5] = devchar;
3875 r = guestfs_blockdev_setrw (g, device);
3882 r = guestfs_umount_all (g);
3889 r = guestfs_lvm_remove_all (g);
3894 char device[] = "/dev/sda";
3895 device[5] = devchar;
3896 char lines_0[] = ",";
3903 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
3908 char fstype[] = "ext2";
3909 char device[] = "/dev/sda1";
3910 device[5] = devchar;
3913 r = guestfs_mkfs (g, fstype, device);
3918 char device[] = "/dev/sda1";
3919 device[5] = devchar;
3920 char mountpoint[] = "/";
3923 r = guestfs_mount (g, device, mountpoint);
3927 /* TestOutput for checksum (4) */
3928 char expected[] = "52f1bf093f4b7588726035c176c0cdb4376cfea53819f1395ac9e6ec";
3930 char path[] = "/new";
3931 char content[] = "test\n";
3934 r = guestfs_write_file (g, path, content, 0);
3939 char csumtype[] = "sha224";
3940 char path[] = "/new";
3943 r = guestfs_checksum (g, csumtype, path);
3946 if (strcmp (r, expected) != 0) {
3947 fprintf (stderr, "test_checksum_4: expected \"%s\" but got \"%s\"\n", expected, r);
3955 static int test_checksum_5 (void)
3957 /* InitBasicFS for checksum (5): create ext2 on /dev/sda1 */
3959 char device[] = "/dev/sda";
3960 device[5] = devchar;
3963 r = guestfs_blockdev_setrw (g, device);
3970 r = guestfs_umount_all (g);
3977 r = guestfs_lvm_remove_all (g);
3982 char device[] = "/dev/sda";
3983 device[5] = devchar;
3984 char lines_0[] = ",";
3991 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
3996 char fstype[] = "ext2";
3997 char device[] = "/dev/sda1";
3998 device[5] = devchar;
4001 r = guestfs_mkfs (g, fstype, device);
4006 char device[] = "/dev/sda1";
4007 device[5] = devchar;
4008 char mountpoint[] = "/";
4011 r = guestfs_mount (g, device, mountpoint);
4015 /* TestOutput for checksum (5) */
4016 char expected[] = "f2ca1bb6c7e907d06dafe4687e579fce76b37e4e93b7605022da52e6ccc26fd2";
4018 char path[] = "/new";
4019 char content[] = "test\n";
4022 r = guestfs_write_file (g, path, content, 0);
4027 char csumtype[] = "sha256";
4028 char path[] = "/new";
4031 r = guestfs_checksum (g, csumtype, path);
4034 if (strcmp (r, expected) != 0) {
4035 fprintf (stderr, "test_checksum_5: expected \"%s\" but got \"%s\"\n", expected, r);
4043 static int test_checksum_6 (void)
4045 /* InitBasicFS for checksum (6): create ext2 on /dev/sda1 */
4047 char device[] = "/dev/sda";
4048 device[5] = devchar;
4051 r = guestfs_blockdev_setrw (g, device);
4058 r = guestfs_umount_all (g);
4065 r = guestfs_lvm_remove_all (g);
4070 char device[] = "/dev/sda";
4071 device[5] = devchar;
4072 char lines_0[] = ",";
4079 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
4084 char fstype[] = "ext2";
4085 char device[] = "/dev/sda1";
4086 device[5] = devchar;
4089 r = guestfs_mkfs (g, fstype, device);
4094 char device[] = "/dev/sda1";
4095 device[5] = devchar;
4096 char mountpoint[] = "/";
4099 r = guestfs_mount (g, device, mountpoint);
4103 /* TestOutput for checksum (6) */
4104 char expected[] = "109bb6b5b6d5547c1ce03c7a8bd7d8f80c1cb0957f50c4f7fda04692079917e4f9cad52b878f3d8234e1a170b154b72d";
4106 char path[] = "/new";
4107 char content[] = "test\n";
4110 r = guestfs_write_file (g, path, content, 0);
4115 char csumtype[] = "sha384";
4116 char path[] = "/new";
4119 r = guestfs_checksum (g, csumtype, path);
4122 if (strcmp (r, expected) != 0) {
4123 fprintf (stderr, "test_checksum_6: expected \"%s\" but got \"%s\"\n", expected, r);
4131 static int test_checksum_7 (void)
4133 /* InitBasicFS for checksum (7): create ext2 on /dev/sda1 */
4135 char device[] = "/dev/sda";
4136 device[5] = devchar;
4139 r = guestfs_blockdev_setrw (g, device);
4146 r = guestfs_umount_all (g);
4153 r = guestfs_lvm_remove_all (g);
4158 char device[] = "/dev/sda";
4159 device[5] = devchar;
4160 char lines_0[] = ",";
4167 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
4172 char fstype[] = "ext2";
4173 char device[] = "/dev/sda1";
4174 device[5] = devchar;
4177 r = guestfs_mkfs (g, fstype, device);
4182 char device[] = "/dev/sda1";
4183 device[5] = devchar;
4184 char mountpoint[] = "/";
4187 r = guestfs_mount (g, device, mountpoint);
4191 /* TestOutput for checksum (7) */
4192 char expected[] = "0e3e75234abc68f4378a86b3f4b32a198ba301845b0cd6e50106e874345700cc6663a86c1ea125dc5e92be17c98f9a0f85ca9d5f595db2012f7cc3571945c123";
4194 char path[] = "/new";
4195 char content[] = "test\n";
4198 r = guestfs_write_file (g, path, content, 0);
4203 char csumtype[] = "sha512";
4204 char path[] = "/new";
4207 r = guestfs_checksum (g, csumtype, path);
4210 if (strcmp (r, expected) != 0) {
4211 fprintf (stderr, "test_checksum_7: expected \"%s\" but got \"%s\"\n", expected, r);
4219 static int test_download_0 (void)
4221 /* InitBasicFS for download (0): create ext2 on /dev/sda1 */
4223 char device[] = "/dev/sda";
4224 device[5] = devchar;
4227 r = guestfs_blockdev_setrw (g, device);