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");
119 fprintf (stderr, "warning: \"guestfs_pvresize\" has no tests\n");
120 fprintf (stderr, "warning: \"guestfs_sfdisk_N\" has no tests\n");
121 fprintf (stderr, "warning: \"guestfs_sfdisk_l\" has no tests\n");
122 fprintf (stderr, "warning: \"guestfs_sfdisk_kernel_geometry\" has no tests\n");
123 fprintf (stderr, "warning: \"guestfs_sfdisk_disk_geometry\" has no tests\n");
124 fprintf (stderr, "warning: \"guestfs_vg_activate_all\" has no tests\n");
125 fprintf (stderr, "warning: \"guestfs_vg_activate\" has no tests\n");
126 fprintf (stderr, "warning: \"guestfs_resize2fs\" has no tests\n");
129 static int test_lvresize_0 (void)
131 /* InitNone|InitEmpty for test_lvresize_0 */
133 char device[] = "/dev/sda";
137 r = guestfs_blockdev_setrw (g, device);
144 r = guestfs_umount_all (g);
151 r = guestfs_lvm_remove_all (g);
155 /* TestOutput for lvresize (0) */
156 char expected[] = "test content";
158 char device[] = "/dev/sda";
160 char lines_0[] = ",";
167 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
172 char device[] = "/dev/sda1";
176 r = guestfs_pvcreate (g, device);
181 char volgroup[] = "VG";
182 char physvols_0[] = "/dev/sda1";
183 physvols_0[5] = devchar;
190 r = guestfs_vgcreate (g, volgroup, physvols);
195 char logvol[] = "LV";
196 char volgroup[] = "VG";
199 r = guestfs_lvcreate (g, logvol, volgroup, 10);
204 char fstype[] = "ext2";
205 char device[] = "/dev/VG/LV";
208 r = guestfs_mkfs (g, fstype, device);
213 char device[] = "/dev/VG/LV";
214 char mountpoint[] = "/";
217 r = guestfs_mount (g, device, mountpoint);
222 char path[] = "/new";
223 char content[] = "test content";
226 r = guestfs_write_file (g, path, content, 0);
231 char pathordevice[] = "/";
234 r = guestfs_umount (g, pathordevice);
239 char device[] = "/dev/VG/LV";
242 r = guestfs_lvresize (g, device, 20);
247 char device[] = "/dev/VG/LV";
250 r = guestfs_resize2fs (g, device);
255 char device[] = "/dev/VG/LV";
256 char mountpoint[] = "/";
259 r = guestfs_mount (g, device, mountpoint);
264 char path[] = "/new";
267 r = guestfs_cat (g, path);
270 if (strcmp (r, expected) != 0) {
271 fprintf (stderr, "test_lvresize_0: expected \"%s\" but got \"%s\"\n", expected, r);
279 static int test_zerofree_0 (void)
281 /* InitNone|InitEmpty for test_zerofree_0 */
283 char device[] = "/dev/sda";
287 r = guestfs_blockdev_setrw (g, device);
294 r = guestfs_umount_all (g);
301 r = guestfs_lvm_remove_all (g);
305 /* TestOutput for zerofree (0) */
306 char expected[] = "test file";
308 char device[] = "/dev/sda";
310 char lines_0[] = ",";
317 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
322 char fstype[] = "ext3";
323 char device[] = "/dev/sda1";
327 r = guestfs_mkfs (g, fstype, device);
332 char device[] = "/dev/sda1";
334 char mountpoint[] = "/";
337 r = guestfs_mount (g, device, mountpoint);
342 char path[] = "/new";
343 char content[] = "test file";
346 r = guestfs_write_file (g, path, content, 0);
351 char pathordevice[] = "/dev/sda1";
352 pathordevice[5] = devchar;
355 r = guestfs_umount (g, pathordevice);
360 char device[] = "/dev/sda1";
364 r = guestfs_zerofree (g, device);
369 char device[] = "/dev/sda1";
371 char mountpoint[] = "/";
374 r = guestfs_mount (g, device, mountpoint);
379 char path[] = "/new";
382 r = guestfs_cat (g, path);
385 if (strcmp (r, expected) != 0) {
386 fprintf (stderr, "test_zerofree_0: expected \"%s\" but got \"%s\"\n", expected, r);
394 static int test_hexdump_0 (void)
396 /* InitBasicFS for test_hexdump_0: create ext2 on /dev/sda1 */
398 char device[] = "/dev/sda";
402 r = guestfs_blockdev_setrw (g, device);
409 r = guestfs_umount_all (g);
416 r = guestfs_lvm_remove_all (g);
421 char device[] = "/dev/sda";
423 char lines_0[] = ",";
430 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
435 char fstype[] = "ext2";
436 char device[] = "/dev/sda1";
440 r = guestfs_mkfs (g, fstype, device);
445 char device[] = "/dev/sda1";
447 char mountpoint[] = "/";
450 r = guestfs_mount (g, device, mountpoint);
454 /* TestOutput for hexdump (0) */
455 char expected[] = "00000000 68 65 6c 6c 6f 0a 77 6f 72 6c 64 0a |hello.world.|\n0000000c\n";
457 char path[] = "/new";
458 char content[] = "hello\nworld\n";
461 r = guestfs_write_file (g, path, content, 12);
466 char path[] = "/new";
469 r = guestfs_hexdump (g, path);
472 if (strcmp (r, expected) != 0) {
473 fprintf (stderr, "test_hexdump_0: expected \"%s\" but got \"%s\"\n", expected, r);
481 static int test_strings_e_0 (void)
483 /* InitBasicFS for test_strings_e_0: create ext2 on /dev/sda1 */
485 char device[] = "/dev/sda";
489 r = guestfs_blockdev_setrw (g, device);
496 r = guestfs_umount_all (g);
503 r = guestfs_lvm_remove_all (g);
508 char device[] = "/dev/sda";
510 char lines_0[] = ",";
517 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
522 char fstype[] = "ext2";
523 char device[] = "/dev/sda1";
527 r = guestfs_mkfs (g, fstype, device);
532 char device[] = "/dev/sda1";
534 char mountpoint[] = "/";
537 r = guestfs_mount (g, device, mountpoint);
541 /* TestOutputList for strings_e (0) */
543 char path[] = "/new";
544 char content[] = "hello\nworld\n";
547 r = guestfs_write_file (g, path, content, 0);
552 char encoding[] = "b";
553 char path[] = "/new";
557 r = guestfs_strings_e (g, encoding, path);
561 fprintf (stderr, "test_strings_e_0: extra elements returned from command\n");
565 for (i = 0; r[i] != NULL; ++i)
572 static int test_strings_e_1 (void)
574 printf ("%s skipped (reason: test disabled in generator)\n", "test_strings_e_1");
578 static int test_strings_0 (void)
580 /* InitBasicFS for test_strings_0: create ext2 on /dev/sda1 */
582 char device[] = "/dev/sda";
586 r = guestfs_blockdev_setrw (g, device);
593 r = guestfs_umount_all (g);
600 r = guestfs_lvm_remove_all (g);
605 char device[] = "/dev/sda";
607 char lines_0[] = ",";
614 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
619 char fstype[] = "ext2";
620 char device[] = "/dev/sda1";
624 r = guestfs_mkfs (g, fstype, device);
629 char device[] = "/dev/sda1";
631 char mountpoint[] = "/";
634 r = guestfs_mount (g, device, mountpoint);
638 /* TestOutputList for strings (0) */
640 char path[] = "/new";
641 char content[] = "hello\nworld\n";
644 r = guestfs_write_file (g, path, content, 0);
649 char path[] = "/new";
653 r = guestfs_strings (g, path);
657 fprintf (stderr, "test_strings_0: short list returned from command\n");
662 char expected[] = "hello";
663 if (strcmp (r[0], expected) != 0) {
664 fprintf (stderr, "test_strings_0: expected \"%s\" but got \"%s\"\n", expected, r[0]);
669 fprintf (stderr, "test_strings_0: short list returned from command\n");
674 char expected[] = "world";
675 if (strcmp (r[1], expected) != 0) {
676 fprintf (stderr, "test_strings_0: expected \"%s\" but got \"%s\"\n", expected, r[1]);
681 fprintf (stderr, "test_strings_0: extra elements returned from command\n");
685 for (i = 0; r[i] != NULL; ++i)
692 static int test_strings_1 (void)
694 /* InitBasicFS for test_strings_1: create ext2 on /dev/sda1 */
696 char device[] = "/dev/sda";
700 r = guestfs_blockdev_setrw (g, device);
707 r = guestfs_umount_all (g);
714 r = guestfs_lvm_remove_all (g);
719 char device[] = "/dev/sda";
721 char lines_0[] = ",";
728 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
733 char fstype[] = "ext2";
734 char device[] = "/dev/sda1";
738 r = guestfs_mkfs (g, fstype, device);
743 char device[] = "/dev/sda1";
745 char mountpoint[] = "/";
748 r = guestfs_mount (g, device, mountpoint);
752 /* TestOutputList for strings (1) */
754 char path[] = "/new";
757 r = guestfs_touch (g, path);
762 char path[] = "/new";
766 r = guestfs_strings (g, path);
770 fprintf (stderr, "test_strings_1: extra elements returned from command\n");
774 for (i = 0; r[i] != NULL; ++i)
781 static int test_equal_0 (void)
783 /* InitBasicFS for test_equal_0: create ext2 on /dev/sda1 */
785 char device[] = "/dev/sda";
789 r = guestfs_blockdev_setrw (g, device);
796 r = guestfs_umount_all (g);
803 r = guestfs_lvm_remove_all (g);
808 char device[] = "/dev/sda";
810 char lines_0[] = ",";
817 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
822 char fstype[] = "ext2";
823 char device[] = "/dev/sda1";
827 r = guestfs_mkfs (g, fstype, device);
832 char device[] = "/dev/sda1";
834 char mountpoint[] = "/";
837 r = guestfs_mount (g, device, mountpoint);
841 /* TestOutputTrue for equal (0) */
843 char path[] = "/file1";
844 char content[] = "contents of a file";
847 r = guestfs_write_file (g, path, content, 0);
852 char src[] = "/file1";
853 char dest[] = "/file2";
856 r = guestfs_cp (g, src, dest);
861 char file1[] = "/file1";
862 char file2[] = "/file2";
865 r = guestfs_equal (g, file1, file2);
869 fprintf (stderr, "test_equal_0: expected true, got false\n");
876 static int test_equal_1 (void)
878 /* InitBasicFS for test_equal_1: create ext2 on /dev/sda1 */
880 char device[] = "/dev/sda";
884 r = guestfs_blockdev_setrw (g, device);
891 r = guestfs_umount_all (g);
898 r = guestfs_lvm_remove_all (g);
903 char device[] = "/dev/sda";
905 char lines_0[] = ",";
912 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
917 char fstype[] = "ext2";
918 char device[] = "/dev/sda1";
922 r = guestfs_mkfs (g, fstype, device);
927 char device[] = "/dev/sda1";
929 char mountpoint[] = "/";
932 r = guestfs_mount (g, device, mountpoint);
936 /* TestOutputFalse for equal (1) */
938 char path[] = "/file1";
939 char content[] = "contents of a file";
942 r = guestfs_write_file (g, path, content, 0);
947 char path[] = "/file2";
948 char content[] = "contents of another file";
951 r = guestfs_write_file (g, path, content, 0);
956 char file1[] = "/file1";
957 char file2[] = "/file2";
960 r = guestfs_equal (g, file1, file2);
964 fprintf (stderr, "test_equal_1: expected false, got true\n");
971 static int test_equal_2 (void)
973 /* InitBasicFS for test_equal_2: create ext2 on /dev/sda1 */
975 char device[] = "/dev/sda";
979 r = guestfs_blockdev_setrw (g, device);
986 r = guestfs_umount_all (g);
993 r = guestfs_lvm_remove_all (g);
998 char device[] = "/dev/sda";
1000 char lines_0[] = ",";
1007 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
1012 char fstype[] = "ext2";
1013 char device[] = "/dev/sda1";
1014 device[5] = devchar;
1017 r = guestfs_mkfs (g, fstype, device);
1022 char device[] = "/dev/sda1";
1023 device[5] = devchar;
1024 char mountpoint[] = "/";
1027 r = guestfs_mount (g, device, mountpoint);
1031 /* TestLastFail for equal (2) */
1033 char file1[] = "/file1";
1034 char file2[] = "/file2";
1037 r = guestfs_equal (g, file1, file2);
1044 static int test_ping_daemon_0 (void)
1046 /* InitNone|InitEmpty for test_ping_daemon_0 */
1048 char device[] = "/dev/sda";
1049 device[5] = devchar;
1052 r = guestfs_blockdev_setrw (g, device);
1059 r = guestfs_umount_all (g);
1066 r = guestfs_lvm_remove_all (g);
1070 /* TestRun for ping_daemon (0) */
1074 r = guestfs_ping_daemon (g);
1081 static int test_dmesg_0 (void)
1083 /* InitNone|InitEmpty for test_dmesg_0 */
1085 char device[] = "/dev/sda";
1086 device[5] = devchar;
1089 r = guestfs_blockdev_setrw (g, device);
1096 r = guestfs_umount_all (g);
1103 r = guestfs_lvm_remove_all (g);
1107 /* TestRun for dmesg (0) */
1111 r = guestfs_dmesg (g);
1119 static int test_drop_caches_0 (void)
1121 /* InitNone|InitEmpty for test_drop_caches_0 */
1123 char device[] = "/dev/sda";
1124 device[5] = devchar;
1127 r = guestfs_blockdev_setrw (g, device);
1134 r = guestfs_umount_all (g);
1141 r = guestfs_lvm_remove_all (g);
1145 /* TestRun for drop_caches (0) */
1149 r = guestfs_drop_caches (g, 3);
1156 static int test_mv_0 (void)
1158 /* InitBasicFS for test_mv_0: create ext2 on /dev/sda1 */
1160 char device[] = "/dev/sda";
1161 device[5] = devchar;
1164 r = guestfs_blockdev_setrw (g, device);
1171 r = guestfs_umount_all (g);
1178 r = guestfs_lvm_remove_all (g);
1183 char device[] = "/dev/sda";
1184 device[5] = devchar;
1185 char lines_0[] = ",";
1192 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
1197 char fstype[] = "ext2";
1198 char device[] = "/dev/sda1";
1199 device[5] = devchar;
1202 r = guestfs_mkfs (g, fstype, device);
1207 char device[] = "/dev/sda1";
1208 device[5] = devchar;
1209 char mountpoint[] = "/";
1212 r = guestfs_mount (g, device, mountpoint);
1216 /* TestOutput for mv (0) */
1217 char expected[] = "file content";
1219 char path[] = "/old";
1220 char content[] = "file content";
1223 r = guestfs_write_file (g, path, content, 0);
1228 char src[] = "/old";
1229 char dest[] = "/new";
1232 r = guestfs_mv (g, src, dest);
1237 char path[] = "/new";
1240 r = guestfs_cat (g, path);
1243 if (strcmp (r, expected) != 0) {
1244 fprintf (stderr, "test_mv_0: expected \"%s\" but got \"%s\"\n", expected, r);
1252 static int test_mv_1 (void)
1254 /* InitBasicFS for test_mv_1: create ext2 on /dev/sda1 */
1256 char device[] = "/dev/sda";
1257 device[5] = devchar;
1260 r = guestfs_blockdev_setrw (g, device);
1267 r = guestfs_umount_all (g);
1274 r = guestfs_lvm_remove_all (g);
1279 char device[] = "/dev/sda";
1280 device[5] = devchar;
1281 char lines_0[] = ",";
1288 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
1293 char fstype[] = "ext2";
1294 char device[] = "/dev/sda1";
1295 device[5] = devchar;
1298 r = guestfs_mkfs (g, fstype, device);
1303 char device[] = "/dev/sda1";
1304 device[5] = devchar;
1305 char mountpoint[] = "/";
1308 r = guestfs_mount (g, device, mountpoint);
1312 /* TestOutputFalse for mv (1) */
1314 char path[] = "/old";
1315 char content[] = "file content";
1318 r = guestfs_write_file (g, path, content, 0);
1323 char src[] = "/old";
1324 char dest[] = "/new";
1327 r = guestfs_mv (g, src, dest);
1332 char path[] = "/old";
1335 r = guestfs_is_file (g, path);
1339 fprintf (stderr, "test_mv_1: expected false, got true\n");
1346 static int test_cp_a_0 (void)
1348 /* InitBasicFS for test_cp_a_0: create ext2 on /dev/sda1 */
1350 char device[] = "/dev/sda";
1351 device[5] = devchar;
1354 r = guestfs_blockdev_setrw (g, device);
1361 r = guestfs_umount_all (g);
1368 r = guestfs_lvm_remove_all (g);
1373 char device[] = "/dev/sda";
1374 device[5] = devchar;
1375 char lines_0[] = ",";
1382 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
1387 char fstype[] = "ext2";
1388 char device[] = "/dev/sda1";
1389 device[5] = devchar;
1392 r = guestfs_mkfs (g, fstype, device);
1397 char device[] = "/dev/sda1";
1398 device[5] = devchar;
1399 char mountpoint[] = "/";
1402 r = guestfs_mount (g, device, mountpoint);
1406 /* TestOutput for cp_a (0) */
1407 char expected[] = "file content";
1409 char path[] = "/olddir";
1412 r = guestfs_mkdir (g, path);
1417 char path[] = "/newdir";
1420 r = guestfs_mkdir (g, path);
1425 char path[] = "/olddir/file";
1426 char content[] = "file content";
1429 r = guestfs_write_file (g, path, content, 0);
1434 char src[] = "/olddir";
1435 char dest[] = "/newdir";
1438 r = guestfs_cp_a (g, src, dest);
1443 char path[] = "/newdir/olddir/file";
1446 r = guestfs_cat (g, path);
1449 if (strcmp (r, expected) != 0) {
1450 fprintf (stderr, "test_cp_a_0: expected \"%s\" but got \"%s\"\n", expected, r);
1458 static int test_cp_0 (void)
1460 /* InitBasicFS for test_cp_0: create ext2 on /dev/sda1 */
1462 char device[] = "/dev/sda";
1463 device[5] = devchar;
1466 r = guestfs_blockdev_setrw (g, device);
1473 r = guestfs_umount_all (g);
1480 r = guestfs_lvm_remove_all (g);
1485 char device[] = "/dev/sda";
1486 device[5] = devchar;
1487 char lines_0[] = ",";
1494 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
1499 char fstype[] = "ext2";
1500 char device[] = "/dev/sda1";
1501 device[5] = devchar;
1504 r = guestfs_mkfs (g, fstype, device);
1509 char device[] = "/dev/sda1";
1510 device[5] = devchar;
1511 char mountpoint[] = "/";
1514 r = guestfs_mount (g, device, mountpoint);
1518 /* TestOutput for cp (0) */
1519 char expected[] = "file content";
1521 char path[] = "/old";
1522 char content[] = "file content";
1525 r = guestfs_write_file (g, path, content, 0);
1530 char src[] = "/old";
1531 char dest[] = "/new";
1534 r = guestfs_cp (g, src, dest);
1539 char path[] = "/new";
1542 r = guestfs_cat (g, path);
1545 if (strcmp (r, expected) != 0) {
1546 fprintf (stderr, "test_cp_0: expected \"%s\" but got \"%s\"\n", expected, r);
1554 static int test_cp_1 (void)
1556 /* InitBasicFS for test_cp_1: create ext2 on /dev/sda1 */
1558 char device[] = "/dev/sda";
1559 device[5] = devchar;
1562 r = guestfs_blockdev_setrw (g, device);
1569 r = guestfs_umount_all (g);
1576 r = guestfs_lvm_remove_all (g);
1581 char device[] = "/dev/sda";
1582 device[5] = devchar;
1583 char lines_0[] = ",";
1590 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
1595 char fstype[] = "ext2";
1596 char device[] = "/dev/sda1";
1597 device[5] = devchar;
1600 r = guestfs_mkfs (g, fstype, device);
1605 char device[] = "/dev/sda1";
1606 device[5] = devchar;
1607 char mountpoint[] = "/";
1610 r = guestfs_mount (g, device, mountpoint);
1614 /* TestOutputTrue for cp (1) */
1616 char path[] = "/old";
1617 char content[] = "file content";
1620 r = guestfs_write_file (g, path, content, 0);
1625 char src[] = "/old";
1626 char dest[] = "/new";
1629 r = guestfs_cp (g, src, dest);
1634 char path[] = "/old";
1637 r = guestfs_is_file (g, path);
1641 fprintf (stderr, "test_cp_1: expected true, got false\n");
1648 static int test_cp_2 (void)
1650 /* InitBasicFS for test_cp_2: create ext2 on /dev/sda1 */
1652 char device[] = "/dev/sda";
1653 device[5] = devchar;
1656 r = guestfs_blockdev_setrw (g, device);
1663 r = guestfs_umount_all (g);
1670 r = guestfs_lvm_remove_all (g);
1675 char device[] = "/dev/sda";
1676 device[5] = devchar;
1677 char lines_0[] = ",";
1684 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
1689 char fstype[] = "ext2";
1690 char device[] = "/dev/sda1";
1691 device[5] = devchar;
1694 r = guestfs_mkfs (g, fstype, device);
1699 char device[] = "/dev/sda1";
1700 device[5] = devchar;
1701 char mountpoint[] = "/";
1704 r = guestfs_mount (g, device, mountpoint);
1708 /* TestOutput for cp (2) */
1709 char expected[] = "file content";
1711 char path[] = "/old";
1712 char content[] = "file content";
1715 r = guestfs_write_file (g, path, content, 0);
1720 char path[] = "/dir";
1723 r = guestfs_mkdir (g, path);
1728 char src[] = "/old";
1729 char dest[] = "/dir/new";
1732 r = guestfs_cp (g, src, dest);
1737 char path[] = "/dir/new";
1740 r = guestfs_cat (g, path);
1743 if (strcmp (r, expected) != 0) {
1744 fprintf (stderr, "test_cp_2: expected \"%s\" but got \"%s\"\n", expected, r);
1752 static int test_grub_install_0 (void)
1754 /* InitBasicFS for test_grub_install_0: create ext2 on /dev/sda1 */
1756 char device[] = "/dev/sda";
1757 device[5] = devchar;
1760 r = guestfs_blockdev_setrw (g, device);
1767 r = guestfs_umount_all (g);
1774 r = guestfs_lvm_remove_all (g);
1779 char device[] = "/dev/sda";
1780 device[5] = devchar;
1781 char lines_0[] = ",";
1788 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
1793 char fstype[] = "ext2";
1794 char device[] = "/dev/sda1";
1795 device[5] = devchar;
1798 r = guestfs_mkfs (g, fstype, device);
1803 char device[] = "/dev/sda1";
1804 device[5] = devchar;
1805 char mountpoint[] = "/";
1808 r = guestfs_mount (g, device, mountpoint);
1812 /* TestOutputTrue for grub_install (0) */
1815 char device[] = "/dev/sda1";
1816 device[5] = devchar;
1819 r = guestfs_grub_install (g, root, device);
1824 char path[] = "/boot";
1827 r = guestfs_is_dir (g, path);
1831 fprintf (stderr, "test_grub_install_0: expected true, got false\n");
1838 static int test_zero_0 (void)
1840 /* InitBasicFS for test_zero_0: create ext2 on /dev/sda1 */
1842 char device[] = "/dev/sda";
1843 device[5] = devchar;
1846 r = guestfs_blockdev_setrw (g, device);
1853 r = guestfs_umount_all (g);
1860 r = guestfs_lvm_remove_all (g);
1865 char device[] = "/dev/sda";
1866 device[5] = devchar;
1867 char lines_0[] = ",";
1874 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
1879 char fstype[] = "ext2";
1880 char device[] = "/dev/sda1";
1881 device[5] = devchar;
1884 r = guestfs_mkfs (g, fstype, device);
1889 char device[] = "/dev/sda1";
1890 device[5] = devchar;
1891 char mountpoint[] = "/";
1894 r = guestfs_mount (g, device, mountpoint);
1898 /* TestOutput for zero (0) */
1899 char expected[] = "data";
1901 char pathordevice[] = "/dev/sda1";
1902 pathordevice[5] = devchar;
1905 r = guestfs_umount (g, pathordevice);
1910 char device[] = "/dev/sda1";
1911 device[5] = devchar;
1914 r = guestfs_zero (g, device);
1919 char path[] = "/dev/sda1";
1923 r = guestfs_file (g, path);
1926 if (strcmp (r, expected) != 0) {
1927 fprintf (stderr, "test_zero_0: expected \"%s\" but got \"%s\"\n", expected, r);
1935 static int test_fsck_0 (void)
1937 /* InitBasicFS for test_fsck_0: create ext2 on /dev/sda1 */
1939 char device[] = "/dev/sda";
1940 device[5] = devchar;
1943 r = guestfs_blockdev_setrw (g, device);
1950 r = guestfs_umount_all (g);
1957 r = guestfs_lvm_remove_all (g);
1962 char device[] = "/dev/sda";
1963 device[5] = devchar;
1964 char lines_0[] = ",";
1971 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
1976 char fstype[] = "ext2";
1977 char device[] = "/dev/sda1";
1978 device[5] = devchar;
1981 r = guestfs_mkfs (g, fstype, device);
1986 char device[] = "/dev/sda1";
1987 device[5] = devchar;
1988 char mountpoint[] = "/";
1991 r = guestfs_mount (g, device, mountpoint);
1995 /* TestOutputInt for fsck (0) */
1997 char pathordevice[] = "/dev/sda1";
1998 pathordevice[5] = devchar;
2001 r = guestfs_umount (g, pathordevice);
2006 char fstype[] = "ext2";
2007 char device[] = "/dev/sda1";
2008 device[5] = devchar;
2011 r = guestfs_fsck (g, fstype, device);
2015 fprintf (stderr, "test_fsck_0: expected 0 but got %d\n", (int) r);
2022 static int test_fsck_1 (void)
2024 /* InitBasicFS for test_fsck_1: create ext2 on /dev/sda1 */
2026 char device[] = "/dev/sda";
2027 device[5] = devchar;
2030 r = guestfs_blockdev_setrw (g, device);
2037 r = guestfs_umount_all (g);
2044 r = guestfs_lvm_remove_all (g);
2049 char device[] = "/dev/sda";
2050 device[5] = devchar;
2051 char lines_0[] = ",";
2058 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
2063 char fstype[] = "ext2";
2064 char device[] = "/dev/sda1";
2065 device[5] = devchar;
2068 r = guestfs_mkfs (g, fstype, device);
2073 char device[] = "/dev/sda1";
2074 device[5] = devchar;
2075 char mountpoint[] = "/";
2078 r = guestfs_mount (g, device, mountpoint);
2082 /* TestOutputInt for fsck (1) */
2084 char pathordevice[] = "/dev/sda1";
2085 pathordevice[5] = devchar;
2088 r = guestfs_umount (g, pathordevice);
2093 char device[] = "/dev/sda1";
2094 device[5] = devchar;
2097 r = guestfs_zero (g, device);
2102 char fstype[] = "ext2";
2103 char device[] = "/dev/sda1";
2104 device[5] = devchar;
2107 r = guestfs_fsck (g, fstype, device);
2111 fprintf (stderr, "test_fsck_1: expected 8 but got %d\n", (int) r);
2118 static int test_set_e2uuid_0 (void)
2120 /* InitBasicFS for test_set_e2uuid_0: create ext2 on /dev/sda1 */
2122 char device[] = "/dev/sda";
2123 device[5] = devchar;
2126 r = guestfs_blockdev_setrw (g, device);
2133 r = guestfs_umount_all (g);
2140 r = guestfs_lvm_remove_all (g);
2145 char device[] = "/dev/sda";
2146 device[5] = devchar;
2147 char lines_0[] = ",";
2154 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
2159 char fstype[] = "ext2";
2160 char device[] = "/dev/sda1";
2161 device[5] = devchar;
2164 r = guestfs_mkfs (g, fstype, device);
2169 char device[] = "/dev/sda1";
2170 device[5] = devchar;
2171 char mountpoint[] = "/";
2174 r = guestfs_mount (g, device, mountpoint);
2178 /* TestOutput for set_e2uuid (0) */
2179 char expected[] = "a3a61220-882b-4f61-89f4-cf24dcc7297d";
2181 char device[] = "/dev/sda1";
2182 device[5] = devchar;
2183 char uuid[] = "a3a61220-882b-4f61-89f4-cf24dcc7297d";
2186 r = guestfs_set_e2uuid (g, device, uuid);
2191 char device[] = "/dev/sda1";
2192 device[5] = devchar;
2195 r = guestfs_get_e2uuid (g, device);
2198 if (strcmp (r, expected) != 0) {
2199 fprintf (stderr, "test_set_e2uuid_0: expected \"%s\" but got \"%s\"\n", expected, r);
2207 static int test_set_e2uuid_1 (void)
2209 /* InitBasicFS for test_set_e2uuid_1: create ext2 on /dev/sda1 */
2211 char device[] = "/dev/sda";
2212 device[5] = devchar;
2215 r = guestfs_blockdev_setrw (g, device);
2222 r = guestfs_umount_all (g);
2229 r = guestfs_lvm_remove_all (g);
2234 char device[] = "/dev/sda";
2235 device[5] = devchar;
2236 char lines_0[] = ",";
2243 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
2248 char fstype[] = "ext2";
2249 char device[] = "/dev/sda1";
2250 device[5] = devchar;
2253 r = guestfs_mkfs (g, fstype, device);
2258 char device[] = "/dev/sda1";
2259 device[5] = devchar;
2260 char mountpoint[] = "/";
2263 r = guestfs_mount (g, device, mountpoint);
2267 /* TestOutput for set_e2uuid (1) */
2268 char expected[] = "";
2270 char device[] = "/dev/sda1";
2271 device[5] = devchar;
2272 char uuid[] = "clear";
2275 r = guestfs_set_e2uuid (g, device, uuid);
2280 char device[] = "/dev/sda1";
2281 device[5] = devchar;
2284 r = guestfs_get_e2uuid (g, device);
2287 if (strcmp (r, expected) != 0) {
2288 fprintf (stderr, "test_set_e2uuid_1: expected \"%s\" but got \"%s\"\n", expected, r);
2296 static int test_set_e2uuid_2 (void)
2298 /* InitBasicFS for test_set_e2uuid_2: create ext2 on /dev/sda1 */
2300 char device[] = "/dev/sda";
2301 device[5] = devchar;
2304 r = guestfs_blockdev_setrw (g, device);
2311 r = guestfs_umount_all (g);
2318 r = guestfs_lvm_remove_all (g);
2323 char device[] = "/dev/sda";
2324 device[5] = devchar;
2325 char lines_0[] = ",";
2332 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
2337 char fstype[] = "ext2";
2338 char device[] = "/dev/sda1";
2339 device[5] = devchar;
2342 r = guestfs_mkfs (g, fstype, device);
2347 char device[] = "/dev/sda1";
2348 device[5] = devchar;
2349 char mountpoint[] = "/";
2352 r = guestfs_mount (g, device, mountpoint);
2356 /* TestRun for set_e2uuid (2) */
2358 char device[] = "/dev/sda1";
2359 device[5] = devchar;
2360 char uuid[] = "random";
2363 r = guestfs_set_e2uuid (g, device, uuid);
2370 static int test_set_e2uuid_3 (void)
2372 /* InitBasicFS for test_set_e2uuid_3: create ext2 on /dev/sda1 */
2374 char device[] = "/dev/sda";
2375 device[5] = devchar;
2378 r = guestfs_blockdev_setrw (g, device);
2385 r = guestfs_umount_all (g);
2392 r = guestfs_lvm_remove_all (g);
2397 char device[] = "/dev/sda";
2398 device[5] = devchar;
2399 char lines_0[] = ",";
2406 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
2411 char fstype[] = "ext2";
2412 char device[] = "/dev/sda1";
2413 device[5] = devchar;
2416 r = guestfs_mkfs (g, fstype, device);
2421 char device[] = "/dev/sda1";
2422 device[5] = devchar;
2423 char mountpoint[] = "/";
2426 r = guestfs_mount (g, device, mountpoint);
2430 /* TestRun for set_e2uuid (3) */
2432 char device[] = "/dev/sda1";
2433 device[5] = devchar;
2434 char uuid[] = "time";
2437 r = guestfs_set_e2uuid (g, device, uuid);
2444 static int test_set_e2label_0 (void)
2446 /* InitBasicFS for test_set_e2label_0: create ext2 on /dev/sda1 */
2448 char device[] = "/dev/sda";
2449 device[5] = devchar;
2452 r = guestfs_blockdev_setrw (g, device);
2459 r = guestfs_umount_all (g);
2466 r = guestfs_lvm_remove_all (g);
2471 char device[] = "/dev/sda";
2472 device[5] = devchar;
2473 char lines_0[] = ",";
2480 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
2485 char fstype[] = "ext2";
2486 char device[] = "/dev/sda1";
2487 device[5] = devchar;
2490 r = guestfs_mkfs (g, fstype, device);
2495 char device[] = "/dev/sda1";
2496 device[5] = devchar;
2497 char mountpoint[] = "/";
2500 r = guestfs_mount (g, device, mountpoint);
2504 /* TestOutput for set_e2label (0) */
2505 char expected[] = "testlabel";
2507 char device[] = "/dev/sda1";
2508 device[5] = devchar;
2509 char label[] = "testlabel";
2512 r = guestfs_set_e2label (g, device, label);
2517 char device[] = "/dev/sda1";
2518 device[5] = devchar;
2521 r = guestfs_get_e2label (g, device);
2524 if (strcmp (r, expected) != 0) {
2525 fprintf (stderr, "test_set_e2label_0: expected \"%s\" but got \"%s\"\n", expected, r);
2533 static int test_pvremove_0 (void)
2535 /* InitNone|InitEmpty for test_pvremove_0 */
2537 char device[] = "/dev/sda";
2538 device[5] = devchar;
2541 r = guestfs_blockdev_setrw (g, device);
2548 r = guestfs_umount_all (g);
2555 r = guestfs_lvm_remove_all (g);
2559 /* TestOutputList for pvremove (0) */
2561 char device[] = "/dev/sda";
2562 device[5] = devchar;
2565 r = guestfs_pvcreate (g, device);
2570 char volgroup[] = "VG";
2571 char physvols_0[] = "/dev/sda";
2572 physvols_0[5] = devchar;
2573 char *physvols[] = {
2579 r = guestfs_vgcreate (g, volgroup, physvols);
2584 char logvol[] = "LV1";
2585 char volgroup[] = "VG";
2588 r = guestfs_lvcreate (g, logvol, volgroup, 50);
2593 char logvol[] = "LV2";
2594 char volgroup[] = "VG";
2597 r = guestfs_lvcreate (g, logvol, volgroup, 50);
2602 char vgname[] = "VG";
2605 r = guestfs_vgremove (g, vgname);
2610 char device[] = "/dev/sda";
2611 device[5] = devchar;
2614 r = guestfs_pvremove (g, device);
2622 r = guestfs_lvs (g);
2626 fprintf (stderr, "test_pvremove_0: extra elements returned from command\n");
2630 for (i = 0; r[i] != NULL; ++i)
2637 static int test_pvremove_1 (void)
2639 /* InitNone|InitEmpty for test_pvremove_1 */
2641 char device[] = "/dev/sda";
2642 device[5] = devchar;
2645 r = guestfs_blockdev_setrw (g, device);
2652 r = guestfs_umount_all (g);
2659 r = guestfs_lvm_remove_all (g);
2663 /* TestOutputList for pvremove (1) */
2665 char device[] = "/dev/sda";
2666 device[5] = devchar;
2669 r = guestfs_pvcreate (g, device);
2674 char volgroup[] = "VG";
2675 char physvols_0[] = "/dev/sda";
2676 physvols_0[5] = devchar;
2677 char *physvols[] = {
2683 r = guestfs_vgcreate (g, volgroup, physvols);
2688 char logvol[] = "LV1";
2689 char volgroup[] = "VG";
2692 r = guestfs_lvcreate (g, logvol, volgroup, 50);
2697 char logvol[] = "LV2";
2698 char volgroup[] = "VG";
2701 r = guestfs_lvcreate (g, logvol, volgroup, 50);
2706 char vgname[] = "VG";
2709 r = guestfs_vgremove (g, vgname);
2714 char device[] = "/dev/sda";
2715 device[5] = devchar;
2718 r = guestfs_pvremove (g, device);
2726 r = guestfs_vgs (g);
2730 fprintf (stderr, "test_pvremove_1: extra elements returned from command\n");
2734 for (i = 0; r[i] != NULL; ++i)
2741 static int test_pvremove_2 (void)
2743 /* InitNone|InitEmpty for test_pvremove_2 */
2745 char device[] = "/dev/sda";
2746 device[5] = devchar;
2749 r = guestfs_blockdev_setrw (g, device);
2756 r = guestfs_umount_all (g);
2763 r = guestfs_lvm_remove_all (g);
2767 /* TestOutputList for pvremove (2) */
2769 char device[] = "/dev/sda";
2770 device[5] = devchar;
2773 r = guestfs_pvcreate (g, device);
2778 char volgroup[] = "VG";
2779 char physvols_0[] = "/dev/sda";
2780 physvols_0[5] = devchar;
2781 char *physvols[] = {
2787 r = guestfs_vgcreate (g, volgroup, physvols);
2792 char logvol[] = "LV1";
2793 char volgroup[] = "VG";
2796 r = guestfs_lvcreate (g, logvol, volgroup, 50);
2801 char logvol[] = "LV2";
2802 char volgroup[] = "VG";
2805 r = guestfs_lvcreate (g, logvol, volgroup, 50);
2810 char vgname[] = "VG";
2813 r = guestfs_vgremove (g, vgname);
2818 char device[] = "/dev/sda";
2819 device[5] = devchar;
2822 r = guestfs_pvremove (g, device);
2830 r = guestfs_pvs (g);
2834 fprintf (stderr, "test_pvremove_2: extra elements returned from command\n");
2838 for (i = 0; r[i] != NULL; ++i)
2845 static int test_vgremove_0 (void)
2847 /* InitNone|InitEmpty for test_vgremove_0 */
2849 char device[] = "/dev/sda";
2850 device[5] = devchar;
2853 r = guestfs_blockdev_setrw (g, device);
2860 r = guestfs_umount_all (g);
2867 r = guestfs_lvm_remove_all (g);
2871 /* TestOutputList for vgremove (0) */
2873 char device[] = "/dev/sda";
2874 device[5] = devchar;
2877 r = guestfs_pvcreate (g, device);
2882 char volgroup[] = "VG";
2883 char physvols_0[] = "/dev/sda";
2884 physvols_0[5] = devchar;
2885 char *physvols[] = {
2891 r = guestfs_vgcreate (g, volgroup, physvols);
2896 char logvol[] = "LV1";
2897 char volgroup[] = "VG";
2900 r = guestfs_lvcreate (g, logvol, volgroup, 50);
2905 char logvol[] = "LV2";
2906 char volgroup[] = "VG";
2909 r = guestfs_lvcreate (g, logvol, volgroup, 50);
2914 char vgname[] = "VG";
2917 r = guestfs_vgremove (g, vgname);
2925 r = guestfs_lvs (g);
2929 fprintf (stderr, "test_vgremove_0: extra elements returned from command\n");
2933 for (i = 0; r[i] != NULL; ++i)
2940 static int test_vgremove_1 (void)
2942 /* InitNone|InitEmpty for test_vgremove_1 */
2944 char device[] = "/dev/sda";
2945 device[5] = devchar;
2948 r = guestfs_blockdev_setrw (g, device);
2955 r = guestfs_umount_all (g);
2962 r = guestfs_lvm_remove_all (g);
2966 /* TestOutputList for vgremove (1) */
2968 char device[] = "/dev/sda";
2969 device[5] = devchar;
2972 r = guestfs_pvcreate (g, device);
2977 char volgroup[] = "VG";
2978 char physvols_0[] = "/dev/sda";
2979 physvols_0[5] = devchar;
2980 char *physvols[] = {
2986 r = guestfs_vgcreate (g, volgroup, physvols);
2991 char logvol[] = "LV1";
2992 char volgroup[] = "VG";
2995 r = guestfs_lvcreate (g, logvol, volgroup, 50);
3000 char logvol[] = "LV2";
3001 char volgroup[] = "VG";
3004 r = guestfs_lvcreate (g, logvol, volgroup, 50);
3009 char vgname[] = "VG";
3012 r = guestfs_vgremove (g, vgname);
3020 r = guestfs_vgs (g);
3024 fprintf (stderr, "test_vgremove_1: extra elements returned from command\n");
3028 for (i = 0; r[i] != NULL; ++i)
3035 static int test_lvremove_0 (void)
3037 /* InitNone|InitEmpty for test_lvremove_0 */
3039 char device[] = "/dev/sda";
3040 device[5] = devchar;
3043 r = guestfs_blockdev_setrw (g, device);
3050 r = guestfs_umount_all (g);
3057 r = guestfs_lvm_remove_all (g);
3061 /* TestOutputList for lvremove (0) */
3063 char device[] = "/dev/sda";
3064 device[5] = devchar;
3067 r = guestfs_pvcreate (g, device);
3072 char volgroup[] = "VG";
3073 char physvols_0[] = "/dev/sda";
3074 physvols_0[5] = devchar;
3075 char *physvols[] = {
3081 r = guestfs_vgcreate (g, volgroup, physvols);
3086 char logvol[] = "LV1";
3087 char volgroup[] = "VG";
3090 r = guestfs_lvcreate (g, logvol, volgroup, 50);
3095 char logvol[] = "LV2";
3096 char volgroup[] = "VG";
3099 r = guestfs_lvcreate (g, logvol, volgroup, 50);
3104 char device[] = "/dev/VG/LV1";
3107 r = guestfs_lvremove (g, device);
3115 r = guestfs_lvs (g);
3119 fprintf (stderr, "test_lvremove_0: short list returned from command\n");
3124 char expected[] = "/dev/VG/LV2";
3125 if (strcmp (r[0], expected) != 0) {
3126 fprintf (stderr, "test_lvremove_0: expected \"%s\" but got \"%s\"\n", expected, r[0]);
3131 fprintf (stderr, "test_lvremove_0: extra elements returned from command\n");
3135 for (i = 0; r[i] != NULL; ++i)
3142 static int test_lvremove_1 (void)
3144 /* InitNone|InitEmpty for test_lvremove_1 */
3146 char device[] = "/dev/sda";
3147 device[5] = devchar;
3150 r = guestfs_blockdev_setrw (g, device);
3157 r = guestfs_umount_all (g);
3164 r = guestfs_lvm_remove_all (g);
3168 /* TestOutputList for lvremove (1) */
3170 char device[] = "/dev/sda";
3171 device[5] = devchar;
3174 r = guestfs_pvcreate (g, device);
3179 char volgroup[] = "VG";
3180 char physvols_0[] = "/dev/sda";
3181 physvols_0[5] = devchar;
3182 char *physvols[] = {
3188 r = guestfs_vgcreate (g, volgroup, physvols);
3193 char logvol[] = "LV1";
3194 char volgroup[] = "VG";
3197 r = guestfs_lvcreate (g, logvol, volgroup, 50);
3202 char logvol[] = "LV2";
3203 char volgroup[] = "VG";
3206 r = guestfs_lvcreate (g, logvol, volgroup, 50);
3211 char device[] = "/dev/VG";
3214 r = guestfs_lvremove (g, device);
3222 r = guestfs_lvs (g);
3226 fprintf (stderr, "test_lvremove_1: extra elements returned from command\n");
3230 for (i = 0; r[i] != NULL; ++i)
3237 static int test_lvremove_2 (void)
3239 /* InitNone|InitEmpty for test_lvremove_2 */
3241 char device[] = "/dev/sda";
3242 device[5] = devchar;
3245 r = guestfs_blockdev_setrw (g, device);
3252 r = guestfs_umount_all (g);
3259 r = guestfs_lvm_remove_all (g);
3263 /* TestOutputList for lvremove (2) */
3265 char device[] = "/dev/sda";
3266 device[5] = devchar;
3269 r = guestfs_pvcreate (g, device);
3274 char volgroup[] = "VG";
3275 char physvols_0[] = "/dev/sda";
3276 physvols_0[5] = devchar;
3277 char *physvols[] = {
3283 r = guestfs_vgcreate (g, volgroup, physvols);
3288 char logvol[] = "LV1";
3289 char volgroup[] = "VG";
3292 r = guestfs_lvcreate (g, logvol, volgroup, 50);
3297 char logvol[] = "LV2";
3298 char volgroup[] = "VG";
3301 r = guestfs_lvcreate (g, logvol, volgroup, 50);
3306 char device[] = "/dev/VG";
3309 r = guestfs_lvremove (g, device);
3317 r = guestfs_vgs (g);
3321 fprintf (stderr, "test_lvremove_2: short list returned from command\n");
3326 char expected[] = "VG";
3327 if (strcmp (r[0], expected) != 0) {
3328 fprintf (stderr, "test_lvremove_2: expected \"%s\" but got \"%s\"\n", expected, r[0]);
3333 fprintf (stderr, "test_lvremove_2: extra elements returned from command\n");
3337 for (i = 0; r[i] != NULL; ++i)
3344 static int test_mount_ro_0 (void)
3346 /* InitBasicFS for test_mount_ro_0: create ext2 on /dev/sda1 */
3348 char device[] = "/dev/sda";
3349 device[5] = devchar;
3352 r = guestfs_blockdev_setrw (g, device);
3359 r = guestfs_umount_all (g);
3366 r = guestfs_lvm_remove_all (g);
3371 char device[] = "/dev/sda";
3372 device[5] = devchar;
3373 char lines_0[] = ",";
3380 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
3385 char fstype[] = "ext2";
3386 char device[] = "/dev/sda1";
3387 device[5] = devchar;
3390 r = guestfs_mkfs (g, fstype, device);
3395 char device[] = "/dev/sda1";
3396 device[5] = devchar;
3397 char mountpoint[] = "/";
3400 r = guestfs_mount (g, device, mountpoint);
3404 /* TestLastFail for mount_ro (0) */
3406 char pathordevice[] = "/";
3409 r = guestfs_umount (g, pathordevice);
3414 char device[] = "/dev/sda1";
3415 device[5] = devchar;
3416 char mountpoint[] = "/";
3419 r = guestfs_mount_ro (g, device, mountpoint);
3424 char path[] = "/new";
3427 r = guestfs_touch (g, path);
3434 static int test_mount_ro_1 (void)
3436 /* InitBasicFS for test_mount_ro_1: create ext2 on /dev/sda1 */
3438 char device[] = "/dev/sda";
3439 device[5] = devchar;
3442 r = guestfs_blockdev_setrw (g, device);
3449 r = guestfs_umount_all (g);
3456 r = guestfs_lvm_remove_all (g);
3461 char device[] = "/dev/sda";
3462 device[5] = devchar;
3463 char lines_0[] = ",";
3470 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
3475 char fstype[] = "ext2";
3476 char device[] = "/dev/sda1";
3477 device[5] = devchar;
3480 r = guestfs_mkfs (g, fstype, device);
3485 char device[] = "/dev/sda1";
3486 device[5] = devchar;
3487 char mountpoint[] = "/";
3490 r = guestfs_mount (g, device, mountpoint);
3494 /* TestOutput for mount_ro (1) */
3495 char expected[] = "data";
3497 char path[] = "/new";
3498 char content[] = "data";
3501 r = guestfs_write_file (g, path, content, 0);
3506 char pathordevice[] = "/";
3509 r = guestfs_umount (g, pathordevice);
3514 char device[] = "/dev/sda1";
3515 device[5] = devchar;
3516 char mountpoint[] = "/";
3519 r = guestfs_mount_ro (g, device, mountpoint);
3524 char path[] = "/new";
3527 r = guestfs_cat (g, path);
3530 if (strcmp (r, expected) != 0) {
3531 fprintf (stderr, "test_mount_ro_1: expected \"%s\" but got \"%s\"\n", expected, r);
3539 static int test_tgz_in_0 (void)
3541 /* InitBasicFS for test_tgz_in_0: create ext2 on /dev/sda1 */
3543 char device[] = "/dev/sda";
3544 device[5] = devchar;
3547 r = guestfs_blockdev_setrw (g, device);
3554 r = guestfs_umount_all (g);
3561 r = guestfs_lvm_remove_all (g);
3566 char device[] = "/dev/sda";
3567 device[5] = devchar;
3568 char lines_0[] = ",";
3575 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
3580 char fstype[] = "ext2";
3581 char device[] = "/dev/sda1";
3582 device[5] = devchar;
3585 r = guestfs_mkfs (g, fstype, device);
3590 char device[] = "/dev/sda1";
3591 device[5] = devchar;
3592 char mountpoint[] = "/";
3595 r = guestfs_mount (g, device, mountpoint);
3599 /* TestOutput for tgz_in (0) */
3600 char expected[] = "hello\n";
3602 char directory[] = "/";
3605 r = guestfs_tgz_in (g, "images/helloworld.tar.gz", directory);
3610 char path[] = "/hello";
3613 r = guestfs_cat (g, path);
3616 if (strcmp (r, expected) != 0) {
3617 fprintf (stderr, "test_tgz_in_0: expected \"%s\" but got \"%s\"\n", expected, r);
3625 static int test_tar_in_0 (void)
3627 /* InitBasicFS for test_tar_in_0: create ext2 on /dev/sda1 */
3629 char device[] = "/dev/sda";
3630 device[5] = devchar;
3633 r = guestfs_blockdev_setrw (g, device);
3640 r = guestfs_umount_all (g);
3647 r = guestfs_lvm_remove_all (g);
3652 char device[] = "/dev/sda";
3653 device[5] = devchar;
3654 char lines_0[] = ",";
3661 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
3666 char fstype[] = "ext2";
3667 char device[] = "/dev/sda1";
3668 device[5] = devchar;
3671 r = guestfs_mkfs (g, fstype, device);
3676 char device[] = "/dev/sda1";
3677 device[5] = devchar;
3678 char mountpoint[] = "/";
3681 r = guestfs_mount (g, device, mountpoint);
3685 /* TestOutput for tar_in (0) */
3686 char expected[] = "hello\n";
3688 char directory[] = "/";
3691 r = guestfs_tar_in (g, "images/helloworld.tar", directory);
3696 char path[] = "/hello";
3699 r = guestfs_cat (g, path);
3702 if (strcmp (r, expected) != 0) {
3703 fprintf (stderr, "test_tar_in_0: expected \"%s\" but got \"%s\"\n", expected, r);
3711 static int test_checksum_0 (void)
3713 /* InitBasicFS for test_checksum_0: create ext2 on /dev/sda1 */
3715 char device[] = "/dev/sda";
3716 device[5] = devchar;
3719 r = guestfs_blockdev_setrw (g, device);
3726 r = guestfs_umount_all (g);
3733 r = guestfs_lvm_remove_all (g);
3738 char device[] = "/dev/sda";
3739 device[5] = devchar;
3740 char lines_0[] = ",";
3747 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
3752 char fstype[] = "ext2";
3753 char device[] = "/dev/sda1";
3754 device[5] = devchar;
3757 r = guestfs_mkfs (g, fstype, device);
3762 char device[] = "/dev/sda1";
3763 device[5] = devchar;
3764 char mountpoint[] = "/";
3767 r = guestfs_mount (g, device, mountpoint);
3771 /* TestOutput for checksum (0) */
3772 char expected[] = "935282863";
3774 char path[] = "/new";
3775 char content[] = "test\n";
3778 r = guestfs_write_file (g, path, content, 0);
3783 char csumtype[] = "crc";
3784 char path[] = "/new";
3787 r = guestfs_checksum (g, csumtype, path);
3790 if (strcmp (r, expected) != 0) {
3791 fprintf (stderr, "test_checksum_0: expected \"%s\" but got \"%s\"\n", expected, r);
3799 static int test_checksum_1 (void)
3801 /* InitBasicFS for test_checksum_1: create ext2 on /dev/sda1 */
3803 char device[] = "/dev/sda";
3804 device[5] = devchar;
3807 r = guestfs_blockdev_setrw (g, device);
3814 r = guestfs_umount_all (g);
3821 r = guestfs_lvm_remove_all (g);
3826 char device[] = "/dev/sda";
3827 device[5] = devchar;
3828 char lines_0[] = ",";
3835 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
3840 char fstype[] = "ext2";
3841 char device[] = "/dev/sda1";
3842 device[5] = devchar;
3845 r = guestfs_mkfs (g, fstype, device);
3850 char device[] = "/dev/sda1";
3851 device[5] = devchar;
3852 char mountpoint[] = "/";
3855 r = guestfs_mount (g, device, mountpoint);
3859 /* TestLastFail for checksum (1) */
3861 char csumtype[] = "crc";
3862 char path[] = "/new";
3865 r = guestfs_checksum (g, csumtype, path);
3873 static int test_checksum_2 (void)
3875 /* InitBasicFS for test_checksum_2: create ext2 on /dev/sda1 */
3877 char device[] = "/dev/sda";
3878 device[5] = devchar;
3881 r = guestfs_blockdev_setrw (g, device);
3888 r = guestfs_umount_all (g);
3895 r = guestfs_lvm_remove_all (g);
3900 char device[] = "/dev/sda";
3901 device[5] = devchar;
3902 char lines_0[] = ",";
3909 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
3914 char fstype[] = "ext2";
3915 char device[] = "/dev/sda1";
3916 device[5] = devchar;
3919 r = guestfs_mkfs (g, fstype, device);
3924 char device[] = "/dev/sda1";
3925 device[5] = devchar;
3926 char mountpoint[] = "/";
3929 r = guestfs_mount (g, device, mountpoint);
3933 /* TestOutput for checksum (2) */
3934 char expected[] = "d8e8fca2dc0f896fd7cb4cb0031ba249";
3936 char path[] = "/new";
3937 char content[] = "test\n";
3940 r = guestfs_write_file (g, path, content, 0);
3945 char csumtype[] = "md5";
3946 char path[] = "/new";
3949 r = guestfs_checksum (g, csumtype, path);
3952 if (strcmp (r, expected) != 0) {
3953 fprintf (stderr, "test_checksum_2: expected \"%s\" but got \"%s\"\n", expected, r);
3961 static int test_checksum_3 (void)
3963 /* InitBasicFS for test_checksum_3: create ext2 on /dev/sda1 */
3965 char device[] = "/dev/sda";
3966 device[5] = devchar;
3969 r = guestfs_blockdev_setrw (g, device);
3976 r = guestfs_umount_all (g);
3983 r = guestfs_lvm_remove_all (g);
3988 char device[] = "/dev/sda";
3989 device[5] = devchar;
3990 char lines_0[] = ",";
3997 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
4002 char fstype[] = "ext2";
4003 char device[] = "/dev/sda1";
4004 device[5] = devchar;
4007 r = guestfs_mkfs (g, fstype, device);
4012 char device[] = "/dev/sda1";
4013 device[5] = devchar;
4014 char mountpoint[] = "/";
4017 r = guestfs_mount (g, device, mountpoint);
4021 /* TestOutput for checksum (3) */
4022 char expected[] = "4e1243bd22c66e76c2ba9eddc1f91394e57f9f83";
4024 char path[] = "/new";
4025 char content[] = "test\n";
4028 r = guestfs_write_file (g, path, content, 0);
4033 char csumtype[] = "sha1";
4034 char path[] = "/new";
4037 r = guestfs_checksum (g, csumtype, path);
4040 if (strcmp (r, expected) != 0) {
4041 fprintf (stderr, "test_checksum_3: expected \"%s\" but got \"%s\"\n", expected, r);
4049 static int test_checksum_4 (void)
4051 /* InitBasicFS for test_checksum_4: create ext2 on /dev/sda1 */
4053 char device[] = "/dev/sda";
4054 device[5] = devchar;
4057 r = guestfs_blockdev_setrw (g, device);
4064 r = guestfs_umount_all (g);
4071 r = guestfs_lvm_remove_all (g);
4076 char device[] = "/dev/sda";
4077 device[5] = devchar;
4078 char lines_0[] = ",";
4085 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
4090 char fstype[] = "ext2";
4091 char device[] = "/dev/sda1";
4092 device[5] = devchar;
4095 r = guestfs_mkfs (g, fstype, device);
4100 char device[] = "/dev/sda1";
4101 device[5] = devchar;
4102 char mountpoint[] = "/";
4105 r = guestfs_mount (g, device, mountpoint);
4109 /* TestOutput for checksum (4) */
4110 char expected[] = "52f1bf093f4b7588726035c176c0cdb4376cfea53819f1395ac9e6ec";
4112 char path[] = "/new";
4113 char content[] = "test\n";
4116 r = guestfs_write_file (g, path, content, 0);
4121 char csumtype[] = "sha224";
4122 char path[] = "/new";
4125 r = guestfs_checksum (g, csumtype, path);
4128 if (strcmp (r, expected) != 0) {
4129 fprintf (stderr, "test_checksum_4: expected \"%s\" but got \"%s\"\n", expected, r);
4137 static int test_checksum_5 (void)
4139 /* InitBasicFS for test_checksum_5: create ext2 on /dev/sda1 */
4141 char device[] = "/dev/sda";
4142 device[5] = devchar;
4145 r = guestfs_blockdev_setrw (g, device);
4152 r = guestfs_umount_all (g);
4159 r = guestfs_lvm_remove_all (g);
4164 char device[] = "/dev/sda";
4165 device[5] = devchar;
4166 char lines_0[] = ",";
4173 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
4178 char fstype[] = "ext2";
4179 char device[] = "/dev/sda1";
4180 device[5] = devchar;
4183 r = guestfs_mkfs (g, fstype, device);
4188 char device[] = "/dev/sda1";
4189 device[5] = devchar;
4190 char mountpoint[] = "/";
4193 r = guestfs_mount (g, device, mountpoint);
4197 /* TestOutput for checksum (5) */
4198 char expected[] = "f2ca1bb6c7e907d06dafe4687e579fce76b37e4e93b7605022da52e6ccc26fd2";
4200 char path[] = "/new";
4201 char content[] = "test\n";
4204 r = guestfs_write_file (g, path, content, 0);
4209 char csumtype[] = "sha256";
4210 char path[] = "/new";
4213 r = guestfs_checksum (g, csumtype, path);
4216 if (strcmp (r, expected) != 0) {
4217 fprintf (stderr, "test_checksum_5: expected \"%s\" but got \"%s\"\n", expected, r);
4225 static int test_checksum_6 (void)
4227 /* InitBasicFS for test_checksum_6: create ext2 on /dev/sda1 */
4229 char device[] = "/dev/sda";