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 static void print_error (guestfs_h *g, void *data, const char *msg)
37 fprintf (stderr, "%s\n", msg);
40 static void print_strings (char * const * const argv)
44 for (argc = 0; argv[argc] != NULL; ++argc)
45 printf ("\t%s\n", argv[argc]);
49 static void print_table (char * const * const argv)
53 for (i = 0; argv[i] != NULL; i += 2)
54 printf ("%s: %s\n", argv[i], argv[i+1]);
58 static void no_test_warnings (void)
60 fprintf (stderr, "warning: \"guestfs_launch\" has no tests\n");
61 fprintf (stderr, "warning: \"guestfs_wait_ready\" has no tests\n");
62 fprintf (stderr, "warning: \"guestfs_kill_subprocess\" has no tests\n");
63 fprintf (stderr, "warning: \"guestfs_add_drive\" has no tests\n");
64 fprintf (stderr, "warning: \"guestfs_add_cdrom\" has no tests\n");
65 fprintf (stderr, "warning: \"guestfs_config\" has no tests\n");
66 fprintf (stderr, "warning: \"guestfs_set_path\" has no tests\n");
67 fprintf (stderr, "warning: \"guestfs_get_path\" has no tests\n");
68 fprintf (stderr, "warning: \"guestfs_set_autosync\" has no tests\n");
69 fprintf (stderr, "warning: \"guestfs_get_autosync\" has no tests\n");
70 fprintf (stderr, "warning: \"guestfs_set_verbose\" has no tests\n");
71 fprintf (stderr, "warning: \"guestfs_get_verbose\" has no tests\n");
72 fprintf (stderr, "warning: \"guestfs_ll\" has no tests\n");
73 fprintf (stderr, "warning: \"guestfs_pvs_full\" has no tests\n");
74 fprintf (stderr, "warning: \"guestfs_vgs_full\" has no tests\n");
75 fprintf (stderr, "warning: \"guestfs_lvs_full\" has no tests\n");
76 fprintf (stderr, "warning: \"guestfs_aug_init\" has no tests\n");
77 fprintf (stderr, "warning: \"guestfs_aug_close\" has no tests\n");
78 fprintf (stderr, "warning: \"guestfs_aug_defvar\" has no tests\n");
79 fprintf (stderr, "warning: \"guestfs_aug_defnode\" has no tests\n");
80 fprintf (stderr, "warning: \"guestfs_aug_get\" has no tests\n");
81 fprintf (stderr, "warning: \"guestfs_aug_set\" has no tests\n");
82 fprintf (stderr, "warning: \"guestfs_aug_insert\" has no tests\n");
83 fprintf (stderr, "warning: \"guestfs_aug_rm\" has no tests\n");
84 fprintf (stderr, "warning: \"guestfs_aug_mv\" has no tests\n");
85 fprintf (stderr, "warning: \"guestfs_aug_match\" has no tests\n");
86 fprintf (stderr, "warning: \"guestfs_aug_save\" has no tests\n");
87 fprintf (stderr, "warning: \"guestfs_aug_load\" has no tests\n");
88 fprintf (stderr, "warning: \"guestfs_aug_ls\" has no tests\n");
89 fprintf (stderr, "warning: \"guestfs_chmod\" has no tests\n");
90 fprintf (stderr, "warning: \"guestfs_chown\" has no tests\n");
91 fprintf (stderr, "warning: \"guestfs_sfdisk\" has no tests\n");
92 fprintf (stderr, "warning: \"guestfs_lvm_remove_all\" has no tests\n");
93 fprintf (stderr, "warning: \"guestfs_command\" has no tests\n");
94 fprintf (stderr, "warning: \"guestfs_command_lines\" has no tests\n");
95 fprintf (stderr, "warning: \"guestfs_tune2fs_l\" has no tests\n");
96 fprintf (stderr, "warning: \"guestfs_blockdev_setbsz\" has no tests\n");
99 static int test_blockdev_rereadpt_0 (void)
101 /* InitEmpty for blockdev_rereadpt (0) */
105 r = guestfs_umount_all (g);
112 r = guestfs_lvm_remove_all (g);
116 /* TestRun for blockdev_rereadpt (0) */
120 r = guestfs_blockdev_rereadpt (g, "/dev/sda");
127 static int test_blockdev_flushbufs_0 (void)
129 /* InitEmpty for blockdev_flushbufs (0) */
133 r = guestfs_umount_all (g);
140 r = guestfs_lvm_remove_all (g);
144 /* TestRun for blockdev_flushbufs (0) */
148 r = guestfs_blockdev_flushbufs (g, "/dev/sda");
155 static int test_blockdev_getsize64_0 (void)
157 /* InitEmpty for blockdev_getsize64 (0) */
161 r = guestfs_umount_all (g);
168 r = guestfs_lvm_remove_all (g);
172 /* TestOutputInt for blockdev_getsize64 (0) */
176 r = guestfs_blockdev_getsize64 (g, "/dev/sda");
179 if (r != 524288000) {
180 fprintf (stderr, "test_blockdev_getsize64_0: expected 524288000 but got %d\n", (int) r);
187 static int test_blockdev_getsz_0 (void)
189 /* InitEmpty for blockdev_getsz (0) */
193 r = guestfs_umount_all (g);
200 r = guestfs_lvm_remove_all (g);
204 /* TestOutputInt for blockdev_getsz (0) */
208 r = guestfs_blockdev_getsz (g, "/dev/sda");
212 fprintf (stderr, "test_blockdev_getsz_0: expected 1024000 but got %d\n", (int) r);
219 static int test_blockdev_getbsz_0 (void)
221 /* InitEmpty for blockdev_getbsz (0) */
225 r = guestfs_umount_all (g);
232 r = guestfs_lvm_remove_all (g);
236 /* TestOutputInt for blockdev_getbsz (0) */
240 r = guestfs_blockdev_getbsz (g, "/dev/sda");
244 fprintf (stderr, "test_blockdev_getbsz_0: expected 4096 but got %d\n", (int) r);
251 static int test_blockdev_getss_0 (void)
253 /* InitEmpty for blockdev_getss (0) */
257 r = guestfs_umount_all (g);
264 r = guestfs_lvm_remove_all (g);
268 /* TestOutputInt for blockdev_getss (0) */
272 r = guestfs_blockdev_getss (g, "/dev/sda");
276 fprintf (stderr, "test_blockdev_getss_0: expected 512 but got %d\n", (int) r);
283 static int test_blockdev_getro_0 (void)
285 /* InitEmpty for blockdev_getro (0) */
289 r = guestfs_umount_all (g);
296 r = guestfs_lvm_remove_all (g);
300 /* TestOutputTrue for blockdev_getro (0) */
304 r = guestfs_blockdev_setro (g, "/dev/sda");
311 r = guestfs_blockdev_getro (g, "/dev/sda");
315 fprintf (stderr, "test_blockdev_getro_0: expected true, got false\n");
322 static int test_blockdev_setrw_0 (void)
324 /* InitEmpty for blockdev_setrw (0) */
328 r = guestfs_umount_all (g);
335 r = guestfs_lvm_remove_all (g);
339 /* TestOutputFalse for blockdev_setrw (0) */
343 r = guestfs_blockdev_setrw (g, "/dev/sda");
350 r = guestfs_blockdev_getro (g, "/dev/sda");
354 fprintf (stderr, "test_blockdev_setrw_0: expected false, got true\n");
361 static int test_blockdev_setro_0 (void)
363 /* InitEmpty for blockdev_setro (0) */
367 r = guestfs_umount_all (g);
374 r = guestfs_lvm_remove_all (g);
378 /* TestOutputTrue for blockdev_setro (0) */
382 r = guestfs_blockdev_setro (g, "/dev/sda");
389 r = guestfs_blockdev_getro (g, "/dev/sda");
393 fprintf (stderr, "test_blockdev_setro_0: expected true, got false\n");
400 static int test_statvfs_0 (void)
402 /* InitBasicFS for statvfs (0): create ext2 on /dev/sda1 */
406 r = guestfs_umount_all (g);
413 r = guestfs_lvm_remove_all (g);
424 r = guestfs_sfdisk (g, "/dev/sda", 0, 0, 0, lines);
431 r = guestfs_mkfs (g, "ext2", "/dev/sda1");
438 r = guestfs_mount (g, "/dev/sda1", "/");
442 /* TestOutputStruct for statvfs (0) */
444 struct guestfs_statvfs *r;
446 r = guestfs_statvfs (g, "/");
449 if (r->bfree != 487702) {
450 fprintf (stderr, "test_statvfs_0: bfree was %d, expected 487702\n",
454 if (r->blocks != 490020) {
455 fprintf (stderr, "test_statvfs_0: blocks was %d, expected 490020\n",
459 if (r->bsize != 1024) {
460 fprintf (stderr, "test_statvfs_0: bsize was %d, expected 1024\n",
469 static int test_lstat_0 (void)
471 /* InitBasicFS for lstat (0): create ext2 on /dev/sda1 */
475 r = guestfs_umount_all (g);
482 r = guestfs_lvm_remove_all (g);
493 r = guestfs_sfdisk (g, "/dev/sda", 0, 0, 0, lines);
500 r = guestfs_mkfs (g, "ext2", "/dev/sda1");
507 r = guestfs_mount (g, "/dev/sda1", "/");
511 /* TestOutputStruct for lstat (0) */
515 r = guestfs_touch (g, "/new");
520 struct guestfs_stat *r;
522 r = guestfs_lstat (g, "/new");
526 fprintf (stderr, "test_lstat_0: size was %d, expected 0\n",
535 static int test_stat_0 (void)
537 /* InitBasicFS for stat (0): create ext2 on /dev/sda1 */
541 r = guestfs_umount_all (g);
548 r = guestfs_lvm_remove_all (g);
559 r = guestfs_sfdisk (g, "/dev/sda", 0, 0, 0, lines);
566 r = guestfs_mkfs (g, "ext2", "/dev/sda1");
573 r = guestfs_mount (g, "/dev/sda1", "/");
577 /* TestOutputStruct for stat (0) */
581 r = guestfs_touch (g, "/new");
586 struct guestfs_stat *r;
588 r = guestfs_stat (g, "/new");
592 fprintf (stderr, "test_stat_0: size was %d, expected 0\n",
601 static int test_file_0 (void)
603 /* InitBasicFS for file (0): create ext2 on /dev/sda1 */
607 r = guestfs_umount_all (g);
614 r = guestfs_lvm_remove_all (g);
625 r = guestfs_sfdisk (g, "/dev/sda", 0, 0, 0, lines);
632 r = guestfs_mkfs (g, "ext2", "/dev/sda1");
639 r = guestfs_mount (g, "/dev/sda1", "/");
643 /* TestOutput for file (0) */
647 r = guestfs_touch (g, "/new");
654 r = guestfs_file (g, "/new");
657 if (strcmp (r, "empty") != 0) {
658 fprintf (stderr, "test_file_0: expected \"empty\" but got \"%s\"\n", r);
666 static int test_file_1 (void)
668 /* InitBasicFS for file (1): create ext2 on /dev/sda1 */
672 r = guestfs_umount_all (g);
679 r = guestfs_lvm_remove_all (g);
690 r = guestfs_sfdisk (g, "/dev/sda", 0, 0, 0, lines);
697 r = guestfs_mkfs (g, "ext2", "/dev/sda1");
704 r = guestfs_mount (g, "/dev/sda1", "/");
708 /* TestOutput for file (1) */
712 r = guestfs_write_file (g, "/new", "some content\n", 0);
719 r = guestfs_file (g, "/new");
722 if (strcmp (r, "ASCII text") != 0) {
723 fprintf (stderr, "test_file_1: expected \"ASCII text\" but got \"%s\"\n", r);
731 static int test_file_2 (void)
733 /* InitBasicFS for file (2): create ext2 on /dev/sda1 */
737 r = guestfs_umount_all (g);
744 r = guestfs_lvm_remove_all (g);
755 r = guestfs_sfdisk (g, "/dev/sda", 0, 0, 0, lines);
762 r = guestfs_mkfs (g, "ext2", "/dev/sda1");
769 r = guestfs_mount (g, "/dev/sda1", "/");
773 /* TestLastFail for file (2) */
777 r = guestfs_file (g, "/nofile");
785 static int test_umount_all_0 (void)
787 /* InitBasicFS for umount_all (0): create ext2 on /dev/sda1 */
791 r = guestfs_umount_all (g);
798 r = guestfs_lvm_remove_all (g);
809 r = guestfs_sfdisk (g, "/dev/sda", 0, 0, 0, lines);
816 r = guestfs_mkfs (g, "ext2", "/dev/sda1");
823 r = guestfs_mount (g, "/dev/sda1", "/");
827 /* TestOutputList for umount_all (0) */
831 r = guestfs_umount_all (g);
839 r = guestfs_mounts (g);
843 fprintf (stderr, "test_umount_all_0: extra elements returned from command\n");
847 for (i = 0; r[i] != NULL; ++i)
854 static int test_mounts_0 (void)
856 /* InitBasicFS for mounts (0): create ext2 on /dev/sda1 */
860 r = guestfs_umount_all (g);
867 r = guestfs_lvm_remove_all (g);
878 r = guestfs_sfdisk (g, "/dev/sda", 0, 0, 0, lines);
885 r = guestfs_mkfs (g, "ext2", "/dev/sda1");
892 r = guestfs_mount (g, "/dev/sda1", "/");
896 /* TestOutputList for mounts (0) */
901 r = guestfs_mounts (g);
905 fprintf (stderr, "test_mounts_0: short list returned from command\n");
909 if (strcmp (r[0], "/dev/sda1") != 0) {
910 fprintf (stderr, "test_mounts_0: expected \"/dev/sda1\" but got \"%s\"\n", r[0]);
914 fprintf (stderr, "test_mounts_0: extra elements returned from command\n");
918 for (i = 0; r[i] != NULL; ++i)
925 static int test_umount_0 (void)
927 /* InitEmpty for umount (0) */
931 r = guestfs_umount_all (g);
938 r = guestfs_lvm_remove_all (g);
942 /* TestOutputList for umount (0) */
950 r = guestfs_sfdisk (g, "/dev/sda", 0, 0, 0, lines);
957 r = guestfs_mkfs (g, "ext2", "/dev/sda1");
964 r = guestfs_mount (g, "/dev/sda1", "/");
972 r = guestfs_mounts (g);
976 fprintf (stderr, "test_umount_0: short list returned from command\n");
980 if (strcmp (r[0], "/dev/sda1") != 0) {
981 fprintf (stderr, "test_umount_0: expected \"/dev/sda1\" but got \"%s\"\n", r[0]);
985 fprintf (stderr, "test_umount_0: extra elements returned from command\n");
989 for (i = 0; r[i] != NULL; ++i)
996 static int test_umount_1 (void)
998 /* InitEmpty for umount (1) */
1002 r = guestfs_umount_all (g);
1009 r = guestfs_lvm_remove_all (g);
1013 /* TestOutputList for umount (1) */
1021 r = guestfs_sfdisk (g, "/dev/sda", 0, 0, 0, lines);
1028 r = guestfs_mkfs (g, "ext2", "/dev/sda1");
1035 r = guestfs_mount (g, "/dev/sda1", "/");
1042 r = guestfs_umount (g, "/");
1050 r = guestfs_mounts (g);
1054 fprintf (stderr, "test_umount_1: extra elements returned from command\n");
1058 for (i = 0; r[i] != NULL; ++i)
1065 static int test_write_file_0 (void)
1067 /* InitEmpty for write_file (0) */
1071 r = guestfs_umount_all (g);
1078 r = guestfs_lvm_remove_all (g);
1082 /* TestOutput for write_file (0) */
1090 r = guestfs_sfdisk (g, "/dev/sda", 0, 0, 0, lines);
1097 r = guestfs_mkfs (g, "ext2", "/dev/sda1");
1104 r = guestfs_mount (g, "/dev/sda1", "/");
1111 r = guestfs_write_file (g, "/new", "new file contents", 0);
1118 r = guestfs_cat (g, "/new");
1121 if (strcmp (r, "new file contents") != 0) {
1122 fprintf (stderr, "test_write_file_0: expected \"new file contents\" but got \"%s\"\n", r);
1130 static int test_mkfs_0 (void)
1132 /* InitEmpty for mkfs (0) */
1136 r = guestfs_umount_all (g);
1143 r = guestfs_lvm_remove_all (g);
1147 /* TestOutput for mkfs (0) */
1155 r = guestfs_sfdisk (g, "/dev/sda", 0, 0, 0, lines);
1162 r = guestfs_mkfs (g, "ext2", "/dev/sda1");
1169 r = guestfs_mount (g, "/dev/sda1", "/");
1176 r = guestfs_write_file (g, "/new", "new file contents", 0);
1183 r = guestfs_cat (g, "/new");
1186 if (strcmp (r, "new file contents") != 0) {
1187 fprintf (stderr, "test_mkfs_0: expected \"new file contents\" but got \"%s\"\n", r);
1195 static int test_lvcreate_0 (void)
1197 /* InitEmpty for lvcreate (0) */
1201 r = guestfs_umount_all (g);
1208 r = guestfs_lvm_remove_all (g);
1212 /* TestOutputList for lvcreate (0) */
1222 r = guestfs_sfdisk (g, "/dev/sda", 0, 0, 0, lines);
1229 r = guestfs_pvcreate (g, "/dev/sda1");
1236 r = guestfs_pvcreate (g, "/dev/sda2");
1243 r = guestfs_pvcreate (g, "/dev/sda3");
1248 char *physvols[] = {
1255 r = guestfs_vgcreate (g, "VG1", physvols);
1260 char *physvols[] = {
1266 r = guestfs_vgcreate (g, "VG2", physvols);
1273 r = guestfs_lvcreate (g, "LV1", "VG1", 50);
1280 r = guestfs_lvcreate (g, "LV2", "VG1", 50);
1287 r = guestfs_lvcreate (g, "LV3", "VG2", 50);
1294 r = guestfs_lvcreate (g, "LV4", "VG2", 50);
1301 r = guestfs_lvcreate (g, "LV5", "VG2", 50);
1309 r = guestfs_lvs (g);
1313 fprintf (stderr, "test_lvcreate_0: short list returned from command\n");
1317 if (strcmp (r[0], "/dev/VG1/LV1") != 0) {
1318 fprintf (stderr, "test_lvcreate_0: expected \"/dev/VG1/LV1\" but got \"%s\"\n", r[0]);
1322 fprintf (stderr, "test_lvcreate_0: short list returned from command\n");
1326 if (strcmp (r[1], "/dev/VG1/LV2") != 0) {
1327 fprintf (stderr, "test_lvcreate_0: expected \"/dev/VG1/LV2\" but got \"%s\"\n", r[1]);
1331 fprintf (stderr, "test_lvcreate_0: short list returned from command\n");
1335 if (strcmp (r[2], "/dev/VG2/LV3") != 0) {
1336 fprintf (stderr, "test_lvcreate_0: expected \"/dev/VG2/LV3\" but got \"%s\"\n", r[2]);
1340 fprintf (stderr, "test_lvcreate_0: short list returned from command\n");
1344 if (strcmp (r[3], "/dev/VG2/LV4") != 0) {
1345 fprintf (stderr, "test_lvcreate_0: expected \"/dev/VG2/LV4\" but got \"%s\"\n", r[3]);
1349 fprintf (stderr, "test_lvcreate_0: short list returned from command\n");
1353 if (strcmp (r[4], "/dev/VG2/LV5") != 0) {
1354 fprintf (stderr, "test_lvcreate_0: expected \"/dev/VG2/LV5\" but got \"%s\"\n", r[4]);
1358 fprintf (stderr, "test_lvcreate_0: extra elements returned from command\n");
1362 for (i = 0; r[i] != NULL; ++i)
1369 static int test_vgcreate_0 (void)
1371 /* InitEmpty for vgcreate (0) */
1375 r = guestfs_umount_all (g);
1382 r = guestfs_lvm_remove_all (g);
1386 /* TestOutputList for vgcreate (0) */
1396 r = guestfs_sfdisk (g, "/dev/sda", 0, 0, 0, lines);
1403 r = guestfs_pvcreate (g, "/dev/sda1");
1410 r = guestfs_pvcreate (g, "/dev/sda2");
1417 r = guestfs_pvcreate (g, "/dev/sda3");
1422 char *physvols[] = {
1429 r = guestfs_vgcreate (g, "VG1", physvols);
1434 char *physvols[] = {
1440 r = guestfs_vgcreate (g, "VG2", physvols);
1448 r = guestfs_vgs (g);
1452 fprintf (stderr, "test_vgcreate_0: short list returned from command\n");
1456 if (strcmp (r[0], "VG1") != 0) {
1457 fprintf (stderr, "test_vgcreate_0: expected \"VG1\" but got \"%s\"\n", r[0]);
1461 fprintf (stderr, "test_vgcreate_0: short list returned from command\n");
1465 if (strcmp (r[1], "VG2") != 0) {
1466 fprintf (stderr, "test_vgcreate_0: expected \"VG2\" but got \"%s\"\n", r[1]);
1470 fprintf (stderr, "test_vgcreate_0: extra elements returned from command\n");
1474 for (i = 0; r[i] != NULL; ++i)
1481 static int test_pvcreate_0 (void)
1483 /* InitEmpty for pvcreate (0) */
1487 r = guestfs_umount_all (g);
1494 r = guestfs_lvm_remove_all (g);
1498 /* TestOutputList for pvcreate (0) */
1508 r = guestfs_sfdisk (g, "/dev/sda", 0, 0, 0, lines);
1515 r = guestfs_pvcreate (g, "/dev/sda1");
1522 r = guestfs_pvcreate (g, "/dev/sda2");
1529 r = guestfs_pvcreate (g, "/dev/sda3");
1537 r = guestfs_pvs (g);
1541 fprintf (stderr, "test_pvcreate_0: short list returned from command\n");
1545 if (strcmp (r[0], "/dev/sda1") != 0) {
1546 fprintf (stderr, "test_pvcreate_0: expected \"/dev/sda1\" but got \"%s\"\n", r[0]);
1550 fprintf (stderr, "test_pvcreate_0: short list returned from command\n");
1554 if (strcmp (r[1], "/dev/sda2") != 0) {
1555 fprintf (stderr, "test_pvcreate_0: expected \"/dev/sda2\" but got \"%s\"\n", r[1]);
1559 fprintf (stderr, "test_pvcreate_0: short list returned from command\n");
1563 if (strcmp (r[2], "/dev/sda3") != 0) {
1564 fprintf (stderr, "test_pvcreate_0: expected \"/dev/sda3\" but got \"%s\"\n", r[2]);
1568 fprintf (stderr, "test_pvcreate_0: extra elements returned from command\n");
1572 for (i = 0; r[i] != NULL; ++i)
1579 static int test_is_dir_0 (void)
1581 /* InitBasicFS for is_dir (0): create ext2 on /dev/sda1 */
1585 r = guestfs_umount_all (g);
1592 r = guestfs_lvm_remove_all (g);
1603 r = guestfs_sfdisk (g, "/dev/sda", 0, 0, 0, lines);
1610 r = guestfs_mkfs (g, "ext2", "/dev/sda1");
1617 r = guestfs_mount (g, "/dev/sda1", "/");
1621 /* TestOutputFalse for is_dir (0) */
1625 r = guestfs_touch (g, "/new");
1632 r = guestfs_is_dir (g, "/new");
1636 fprintf (stderr, "test_is_dir_0: expected false, got true\n");
1643 static int test_is_dir_1 (void)
1645 /* InitBasicFS for is_dir (1): create ext2 on /dev/sda1 */
1649 r = guestfs_umount_all (g);
1656 r = guestfs_lvm_remove_all (g);
1667 r = guestfs_sfdisk (g, "/dev/sda", 0, 0, 0, lines);
1674 r = guestfs_mkfs (g, "ext2", "/dev/sda1");
1681 r = guestfs_mount (g, "/dev/sda1", "/");
1685 /* TestOutputTrue for is_dir (1) */
1689 r = guestfs_mkdir (g, "/new");
1696 r = guestfs_is_dir (g, "/new");
1700 fprintf (stderr, "test_is_dir_1: expected true, got false\n");
1707 static int test_is_file_0 (void)
1709 /* InitBasicFS for is_file (0): create ext2 on /dev/sda1 */
1713 r = guestfs_umount_all (g);
1720 r = guestfs_lvm_remove_all (g);
1731 r = guestfs_sfdisk (g, "/dev/sda", 0, 0, 0, lines);
1738 r = guestfs_mkfs (g, "ext2", "/dev/sda1");
1745 r = guestfs_mount (g, "/dev/sda1", "/");
1749 /* TestOutputTrue for is_file (0) */
1753 r = guestfs_touch (g, "/new");
1760 r = guestfs_is_file (g, "/new");
1764 fprintf (stderr, "test_is_file_0: expected true, got false\n");
1771 static int test_is_file_1 (void)
1773 /* InitBasicFS for is_file (1): create ext2 on /dev/sda1 */
1777 r = guestfs_umount_all (g);
1784 r = guestfs_lvm_remove_all (g);
1795 r = guestfs_sfdisk (g, "/dev/sda", 0, 0, 0, lines);
1802 r = guestfs_mkfs (g, "ext2", "/dev/sda1");
1809 r = guestfs_mount (g, "/dev/sda1", "/");
1813 /* TestOutputFalse for is_file (1) */
1817 r = guestfs_mkdir (g, "/new");
1824 r = guestfs_is_file (g, "/new");
1828 fprintf (stderr, "test_is_file_1: expected false, got true\n");
1835 static int test_exists_0 (void)
1837 /* InitBasicFS for exists (0): create ext2 on /dev/sda1 */
1841 r = guestfs_umount_all (g);
1848 r = guestfs_lvm_remove_all (g);
1859 r = guestfs_sfdisk (g, "/dev/sda", 0, 0, 0, lines);
1866 r = guestfs_mkfs (g, "ext2", "/dev/sda1");
1873 r = guestfs_mount (g, "/dev/sda1", "/");
1877 /* TestOutputTrue for exists (0) */
1881 r = guestfs_touch (g, "/new");
1888 r = guestfs_exists (g, "/new");
1892 fprintf (stderr, "test_exists_0: expected true, got false\n");
1899 static int test_exists_1 (void)
1901 /* InitBasicFS for exists (1): create ext2 on /dev/sda1 */
1905 r = guestfs_umount_all (g);
1912 r = guestfs_lvm_remove_all (g);
1923 r = guestfs_sfdisk (g, "/dev/sda", 0, 0, 0, lines);
1930 r = guestfs_mkfs (g, "ext2", "/dev/sda1");
1937 r = guestfs_mount (g, "/dev/sda1", "/");
1941 /* TestOutputTrue for exists (1) */
1945 r = guestfs_mkdir (g, "/new");
1952 r = guestfs_exists (g, "/new");
1956 fprintf (stderr, "test_exists_1: expected true, got false\n");
1963 static int test_mkdir_p_0 (void)
1965 /* InitBasicFS for mkdir_p (0): create ext2 on /dev/sda1 */
1969 r = guestfs_umount_all (g);
1976 r = guestfs_lvm_remove_all (g);
1987 r = guestfs_sfdisk (g, "/dev/sda", 0, 0, 0, lines);
1994 r = guestfs_mkfs (g, "ext2", "/dev/sda1");
2001 r = guestfs_mount (g, "/dev/sda1", "/");
2005 /* TestOutputTrue for mkdir_p (0) */
2009 r = guestfs_mkdir_p (g, "/new/foo/bar");
2016 r = guestfs_is_dir (g, "/new/foo/bar");
2020 fprintf (stderr, "test_mkdir_p_0: expected true, got false\n");
2027 static int test_mkdir_p_1 (void)
2029 /* InitBasicFS for mkdir_p (1): create ext2 on /dev/sda1 */
2033 r = guestfs_umount_all (g);
2040 r = guestfs_lvm_remove_all (g);
2051 r = guestfs_sfdisk (g, "/dev/sda", 0, 0, 0, lines);
2058 r = guestfs_mkfs (g, "ext2", "/dev/sda1");
2065 r = guestfs_mount (g, "/dev/sda1", "/");
2069 /* TestOutputTrue for mkdir_p (1) */
2073 r = guestfs_mkdir_p (g, "/new/foo/bar");
2080 r = guestfs_is_dir (g, "/new/foo");
2084 fprintf (stderr, "test_mkdir_p_1: expected true, got false\n");
2091 static int test_mkdir_p_2 (void)
2093 /* InitBasicFS for mkdir_p (2): create ext2 on /dev/sda1 */
2097 r = guestfs_umount_all (g);
2104 r = guestfs_lvm_remove_all (g);
2115 r = guestfs_sfdisk (g, "/dev/sda", 0, 0, 0, lines);
2122 r = guestfs_mkfs (g, "ext2", "/dev/sda1");
2129 r = guestfs_mount (g, "/dev/sda1", "/");
2133 /* TestOutputTrue for mkdir_p (2) */
2137 r = guestfs_mkdir_p (g, "/new/foo/bar");
2144 r = guestfs_is_dir (g, "/new");
2148 fprintf (stderr, "test_mkdir_p_2: expected true, got false\n");
2155 static int test_mkdir_0 (void)
2157 /* InitBasicFS for mkdir (0): create ext2 on /dev/sda1 */
2161 r = guestfs_umount_all (g);
2168 r = guestfs_lvm_remove_all (g);
2179 r = guestfs_sfdisk (g, "/dev/sda", 0, 0, 0, lines);
2186 r = guestfs_mkfs (g, "ext2", "/dev/sda1");
2193 r = guestfs_mount (g, "/dev/sda1", "/");
2197 /* TestOutputTrue for mkdir (0) */
2201 r = guestfs_mkdir (g, "/new");
2208 r = guestfs_is_dir (g, "/new");
2212 fprintf (stderr, "test_mkdir_0: expected true, got false\n");
2219 static int test_mkdir_1 (void)
2221 /* InitBasicFS for mkdir (1): create ext2 on /dev/sda1 */
2225 r = guestfs_umount_all (g);
2232 r = guestfs_lvm_remove_all (g);
2243 r = guestfs_sfdisk (g, "/dev/sda", 0, 0, 0, lines);
2250 r = guestfs_mkfs (g, "ext2", "/dev/sda1");
2257 r = guestfs_mount (g, "/dev/sda1", "/");
2261 /* TestLastFail for mkdir (1) */
2265 r = guestfs_mkdir (g, "/new/foo/bar");
2272 static int test_rm_rf_0 (void)
2274 /* InitBasicFS for rm_rf (0): create ext2 on /dev/sda1 */
2278 r = guestfs_umount_all (g);
2285 r = guestfs_lvm_remove_all (g);
2296 r = guestfs_sfdisk (g, "/dev/sda", 0, 0, 0, lines);
2303 r = guestfs_mkfs (g, "ext2", "/dev/sda1");
2310 r = guestfs_mount (g, "/dev/sda1", "/");
2314 /* TestOutputFalse for rm_rf (0) */
2318 r = guestfs_mkdir (g, "/new");
2325 r = guestfs_mkdir (g, "/new/foo");
2332 r = guestfs_touch (g, "/new/foo/bar");
2339 r = guestfs_rm_rf (g, "/new");
2346 r = guestfs_exists (g, "/new");
2350 fprintf (stderr, "test_rm_rf_0: expected false, got true\n");
2357 static int test_rmdir_0 (void)
2359 /* InitBasicFS for rmdir (0): create ext2 on /dev/sda1 */
2363 r = guestfs_umount_all (g);
2370 r = guestfs_lvm_remove_all (g);
2381 r = guestfs_sfdisk (g, "/dev/sda", 0, 0, 0, lines);
2388 r = guestfs_mkfs (g, "ext2", "/dev/sda1");
2395 r = guestfs_mount (g, "/dev/sda1", "/");
2399 /* TestRun for rmdir (0) */
2403 r = guestfs_mkdir (g, "/new");
2410 r = guestfs_rmdir (g, "/new");
2417 static int test_rmdir_1 (void)
2419 /* InitBasicFS for rmdir (1): create ext2 on /dev/sda1 */
2423 r = guestfs_umount_all (g);
2430 r = guestfs_lvm_remove_all (g);
2441 r = guestfs_sfdisk (g, "/dev/sda", 0, 0, 0, lines);
2448 r = guestfs_mkfs (g, "ext2", "/dev/sda1");
2455 r = guestfs_mount (g, "/dev/sda1", "/");
2459 /* TestLastFail for rmdir (1) */
2463 r = guestfs_rmdir (g, "/new");
2470 static int test_rmdir_2 (void)
2472 /* InitBasicFS for rmdir (2): create ext2 on /dev/sda1 */
2476 r = guestfs_umount_all (g);
2483 r = guestfs_lvm_remove_all (g);
2494 r = guestfs_sfdisk (g, "/dev/sda", 0, 0, 0, lines);
2501 r = guestfs_mkfs (g, "ext2", "/dev/sda1");
2508 r = guestfs_mount (g, "/dev/sda1", "/");
2512 /* TestLastFail for rmdir (2) */
2516 r = guestfs_touch (g, "/new");
2523 r = guestfs_rmdir (g, "/new");
2530 static int test_rm_0 (void)
2532 /* InitBasicFS for rm (0): create ext2 on /dev/sda1 */
2536 r = guestfs_umount_all (g);
2543 r = guestfs_lvm_remove_all (g);
2554 r = guestfs_sfdisk (g, "/dev/sda", 0, 0, 0, lines);
2561 r = guestfs_mkfs (g, "ext2", "/dev/sda1");
2568 r = guestfs_mount (g, "/dev/sda1", "/");
2572 /* TestRun for rm (0) */
2576 r = guestfs_touch (g, "/new");
2583 r = guestfs_rm (g, "/new");
2590 static int test_rm_1 (void)
2592 /* InitBasicFS for rm (1): create ext2 on /dev/sda1 */
2596 r = guestfs_umount_all (g);
2603 r = guestfs_lvm_remove_all (g);
2614 r = guestfs_sfdisk (g, "/dev/sda", 0, 0, 0, lines);
2621 r = guestfs_mkfs (g, "ext2", "/dev/sda1");
2628 r = guestfs_mount (g, "/dev/sda1", "/");
2632 /* TestLastFail for rm (1) */
2636 r = guestfs_rm (g, "/new");
2643 static int test_rm_2 (void)
2645 /* InitBasicFS for rm (2): create ext2 on /dev/sda1 */
2649 r = guestfs_umount_all (g);
2656 r = guestfs_lvm_remove_all (g);
2667 r = guestfs_sfdisk (g, "/dev/sda", 0, 0, 0, lines);
2674 r = guestfs_mkfs (g, "ext2", "/dev/sda1");
2681 r = guestfs_mount (g, "/dev/sda1", "/");
2685 /* TestLastFail for rm (2) */
2689 r = guestfs_mkdir (g, "/new");
2696 r = guestfs_rm (g, "/new");
2703 static int test_read_lines_0 (void)
2705 /* InitBasicFS for read_lines (0): create ext2 on /dev/sda1 */
2709 r = guestfs_umount_all (g);
2716 r = guestfs_lvm_remove_all (g);
2727 r = guestfs_sfdisk (g, "/dev/sda", 0, 0, 0, lines);
2734 r = guestfs_mkfs (g, "ext2", "/dev/sda1");
2741 r = guestfs_mount (g, "/dev/sda1", "/");
2745 /* TestOutputList for read_lines (0) */
2749 r = guestfs_write_file (g, "/new", "line1\r\nline2\nline3", 0);
2757 r = guestfs_read_lines (g, "/new");
2761 fprintf (stderr, "test_read_lines_0: short list returned from command\n");
2765 if (strcmp (r[0], "line1") != 0) {
2766 fprintf (stderr, "test_read_lines_0: expected \"line1\" but got \"%s\"\n", r[0]);
2770 fprintf (stderr, "test_read_lines_0: short list returned from command\n");
2774 if (strcmp (r[1], "line2") != 0) {
2775 fprintf (stderr, "test_read_lines_0: expected \"line2\" but got \"%s\"\n", r[1]);
2779 fprintf (stderr, "test_read_lines_0: short list returned from command\n");
2783 if (strcmp (r[2], "line3") != 0) {
2784 fprintf (stderr, "test_read_lines_0: expected \"line3\" but got \"%s\"\n", r[2]);
2788 fprintf (stderr, "test_read_lines_0: extra elements returned from command\n");
2792 for (i = 0; r[i] != NULL; ++i)
2799 static int test_read_lines_1 (void)
2801 /* InitBasicFS for read_lines (1): create ext2 on /dev/sda1 */
2805 r = guestfs_umount_all (g);
2812 r = guestfs_lvm_remove_all (g);
2823 r = guestfs_sfdisk (g, "/dev/sda", 0, 0, 0, lines);
2830 r = guestfs_mkfs (g, "ext2", "/dev/sda1");
2837 r = guestfs_mount (g, "/dev/sda1", "/");
2841 /* TestOutputList for read_lines (1) */
2845 r = guestfs_write_file (g, "/new", "", 0);
2853 r = guestfs_read_lines (g, "/new");
2857 fprintf (stderr, "test_read_lines_1: extra elements returned from command\n");
2861 for (i = 0; r[i] != NULL; ++i)
2868 static int test_lvs_0 (void)
2870 /* InitBasicFSonLVM for lvs (0): create ext2 on /dev/VG/LV */
2874 r = guestfs_umount_all (g);
2881 r = guestfs_lvm_remove_all (g);
2892 r = guestfs_sfdisk (g, "/dev/sda", 0, 0, 0, lines);
2899 r = guestfs_pvcreate (g, "/dev/sda1");
2904 char *physvols[] = {
2910 r = guestfs_vgcreate (g, "VG", physvols);
2917 r = guestfs_lvcreate (g, "LV", "VG", 8);
2924 r = guestfs_mkfs (g, "ext2", "/dev/VG/LV");
2931 r = guestfs_mount (g, "/dev/VG/LV", "/");
2935 /* TestOutputList for lvs (0) */
2940 r = guestfs_lvs (g);
2944 fprintf (stderr, "test_lvs_0: short list returned from command\n");
2948 if (strcmp (r[0], "/dev/VG/LV") != 0) {
2949 fprintf (stderr, "test_lvs_0: expected \"/dev/VG/LV\" but got \"%s\"\n", r[0]);
2953 fprintf (stderr, "test_lvs_0: extra elements returned from command\n");
2957 for (i = 0; r[i] != NULL; ++i)
2964 static int test_lvs_1 (void)
2966 /* InitEmpty for lvs (1) */
2970 r = guestfs_umount_all (g);
2977 r = guestfs_lvm_remove_all (g);
2981 /* TestOutputList for lvs (1) */
2991 r = guestfs_sfdisk (g, "/dev/sda", 0, 0, 0, lines);
2998 r = guestfs_pvcreate (g, "/dev/sda1");
3005 r = guestfs_pvcreate (g, "/dev/sda2");
3012 r = guestfs_pvcreate (g, "/dev/sda3");
3017 char *physvols[] = {
3024 r = guestfs_vgcreate (g, "VG1", physvols);
3029 char *physvols[] = {
3035 r = guestfs_vgcreate (g, "VG2", physvols);
3042 r = guestfs_lvcreate (g, "LV1", "VG1", 50);
3049 r = guestfs_lvcreate (g, "LV2", "VG1", 50);
3056 r = guestfs_lvcreate (g, "LV3", "VG2", 50);
3064 r = guestfs_lvs (g);
3068 fprintf (stderr, "test_lvs_1: short list returned from command\n");
3072 if (strcmp (r[0], "/dev/VG1/LV1") != 0) {
3073 fprintf (stderr, "test_lvs_1: expected \"/dev/VG1/LV1\" but got \"%s\"\n", r[0]);
3077 fprintf (stderr, "test_lvs_1: short list returned from command\n");
3081 if (strcmp (r[1], "/dev/VG1/LV2") != 0) {
3082 fprintf (stderr, "test_lvs_1: expected \"/dev/VG1/LV2\" but got \"%s\"\n", r[1]);
3086 fprintf (stderr, "test_lvs_1: short list returned from command\n");
3090 if (strcmp (r[2], "/dev/VG2/LV3") != 0) {
3091 fprintf (stderr, "test_lvs_1: expected \"/dev/VG2/LV3\" but got \"%s\"\n", r[2]);
3095 fprintf (stderr, "test_lvs_1: extra elements returned from command\n");
3099 for (i = 0; r[i] != NULL; ++i)
3106 static int test_vgs_0 (void)
3108 /* InitBasicFSonLVM for vgs (0): create ext2 on /dev/VG/LV */
3112 r = guestfs_umount_all (g);
3119 r = guestfs_lvm_remove_all (g);
3130 r = guestfs_sfdisk (g, "/dev/sda", 0, 0, 0, lines);
3137 r = guestfs_pvcreate (g, "/dev/sda1");
3142 char *physvols[] = {
3148 r = guestfs_vgcreate (g, "VG", physvols);
3155 r = guestfs_lvcreate (g, "LV", "VG", 8);
3162 r = guestfs_mkfs (g, "ext2", "/dev/VG/LV");
3169 r = guestfs_mount (g, "/dev/VG/LV", "/");
3173 /* TestOutputList for vgs (0) */
3178 r = guestfs_vgs (g);
3182 fprintf (stderr, "test_vgs_0: short list returned from command\n");
3186 if (strcmp (r[0], "VG") != 0) {
3187 fprintf (stderr, "test_vgs_0: expected \"VG\" but got \"%s\"\n", r[0]);
3191 fprintf (stderr, "test_vgs_0: extra elements returned from command\n");
3195 for (i = 0; r[i] != NULL; ++i)
3202 static int test_vgs_1 (void)
3204 /* InitEmpty for vgs (1) */
3208 r = guestfs_umount_all (g);
3215 r = guestfs_lvm_remove_all (g);
3219 /* TestOutputList for vgs (1) */
3229 r = guestfs_sfdisk (g, "/dev/sda", 0, 0, 0, lines);
3236 r = guestfs_pvcreate (g, "/dev/sda1");
3243 r = guestfs_pvcreate (g, "/dev/sda2");
3250 r = guestfs_pvcreate (g, "/dev/sda3");
3255 char *physvols[] = {
3262 r = guestfs_vgcreate (g, "VG1", physvols);
3267 char *physvols[] = {
3273 r = guestfs_vgcreate (g, "VG2", physvols);
3281 r = guestfs_vgs (g);
3285 fprintf (stderr, "test_vgs_1: short list returned from command\n");
3289 if (strcmp (r[0], "VG1") != 0) {
3290 fprintf (stderr, "test_vgs_1: expected \"VG1\" but got \"%s\"\n", r[0]);
3294 fprintf (stderr, "test_vgs_1: short list returned from command\n");
3298 if (strcmp (r[1], "VG2") != 0) {
3299 fprintf (stderr, "test_vgs_1: expected \"VG2\" but got \"%s\"\n", r[1]);
3303 fprintf (stderr, "test_vgs_1: extra elements returned from command\n");
3307 for (i = 0; r[i] != NULL; ++i)
3314 static int test_pvs_0 (void)
3316 /* InitBasicFSonLVM for pvs (0): create ext2 on /dev/VG/LV */
3320 r = guestfs_umount_all (g);
3327 r = guestfs_lvm_remove_all (g);
3338 r = guestfs_sfdisk (g, "/dev/sda", 0, 0, 0, lines);
3345 r = guestfs_pvcreate (g, "/dev/sda1");
3350 char *physvols[] = {
3356 r = guestfs_vgcreate (g, "VG", physvols);
3363 r = guestfs_lvcreate (g, "LV", "VG", 8);
3370 r = guestfs_mkfs (g, "ext2", "/dev/VG/LV");
3377 r = guestfs_mount (g, "/dev/VG/LV", "/");
3381 /* TestOutputList for pvs (0) */
3386 r = guestfs_pvs (g);
3390 fprintf (stderr, "test_pvs_0: short list returned from command\n");
3394 if (strcmp (r[0], "/dev/sda1") != 0) {
3395 fprintf (stderr, "test_pvs_0: expected \"/dev/sda1\" but got \"%s\"\n", r[0]);
3399 fprintf (stderr, "test_pvs_0: extra elements returned from command\n");
3403 for (i = 0; r[i] != NULL; ++i)
3410 static int test_pvs_1 (void)
3412 /* InitEmpty for pvs (1) */
3416 r = guestfs_umount_all (g);
3423 r = guestfs_lvm_remove_all (g);
3427 /* TestOutputList for pvs (1) */
3437 r = guestfs_sfdisk (g, "/dev/sda", 0, 0, 0, lines);
3444 r = guestfs_pvcreate (g, "/dev/sda1");
3451 r = guestfs_pvcreate (g, "/dev/sda2");
3458 r = guestfs_pvcreate (g, "/dev/sda3");
3466 r = guestfs_pvs (g);
3470 fprintf (stderr, "test_pvs_1: short list returned from command\n");
3474 if (strcmp (r[0], "/dev/sda1") != 0) {
3475 fprintf (stderr, "test_pvs_1: expected \"/dev/sda1\" but got \"%s\"\n", r[0]);
3479 fprintf (stderr, "test_pvs_1: short list returned from command\n");
3483 if (strcmp (r[1], "/dev/sda2") != 0) {
3484 fprintf (stderr, "test_pvs_1: expected \"/dev/sda2\" but got \"%s\"\n", r[1]);
3488 fprintf (stderr, "test_pvs_1: short list returned from command\n");
3492 if (strcmp (r[2], "/dev/sda3") != 0) {
3493 fprintf (stderr, "test_pvs_1: expected \"/dev/sda3\" but got \"%s\"\n", r[2]);
3497 fprintf (stderr, "test_pvs_1: extra elements returned from command\n");
3501 for (i = 0; r[i] != NULL; ++i)
3508 static int test_list_partitions_0 (void)
3510 /* InitBasicFS for list_partitions (0): create ext2 on /dev/sda1 */
3514 r = guestfs_umount_all (g);
3521 r = guestfs_lvm_remove_all (g);
3532 r = guestfs_sfdisk (g, "/dev/sda", 0, 0, 0, lines);
3539 r = guestfs_mkfs (g, "ext2", "/dev/sda1");
3546 r = guestfs_mount (g, "/dev/sda1", "/");
3550 /* TestOutputList for list_partitions (0) */
3555 r = guestfs_list_partitions (g);
3559 fprintf (stderr, "test_list_partitions_0: short list returned from command\n");
3563 if (strcmp (r[0], "/dev/sda1") != 0) {
3564 fprintf (stderr, "test_list_partitions_0: expected \"/dev/sda1\" but got \"%s\"\n", r[0]);
3568 fprintf (stderr, "test_list_partitions_0: extra elements returned from command\n");
3572 for (i = 0; r[i] != NULL; ++i)
3579 static int test_list_partitions_1 (void)
3581 /* InitEmpty for list_partitions (1) */
3585 r = guestfs_umount_all (g);
3592 r = guestfs_lvm_remove_all (g);
3596 /* TestOutputList for list_partitions (1) */
3606 r = guestfs_sfdisk (g, "/dev/sda", 0, 0, 0, lines);
3614 r = guestfs_list_partitions (g);
3618 fprintf (stderr, "test_list_partitions_1: short list returned from command\n");
3622 if (strcmp (r[0], "/dev/sda1") != 0) {
3623 fprintf (stderr, "test_list_partitions_1: expected \"/dev/sda1\" but got \"%s\"\n", r[0]);
3627 fprintf (stderr, "test_list_partitions_1: short list returned from command\n");
3631 if (strcmp (r[1], "/dev/sda2") != 0) {
3632 fprintf (stderr, "test_list_partitions_1: expected \"/dev/sda2\" but got \"%s\"\n", r[1]);
3636 fprintf (stderr, "test_list_partitions_1: short list returned from command\n");
3640 if (strcmp (r[2], "/dev/sda3") != 0) {
3641 fprintf (stderr, "test_list_partitions_1: expected \"/dev/sda3\" but got \"%s\"\n", r[2]);
3645 fprintf (stderr, "test_list_partitions_1: extra elements returned from command\n");
3649 for (i = 0; r[i] != NULL; ++i)
3656 static int test_list_devices_0 (void)
3658 /* InitEmpty for list_devices (0) */
3662 r = guestfs_umount_all (g);
3669 r = guestfs_lvm_remove_all (g);
3673 /* TestOutputList for list_devices (0) */
3678 r = guestfs_list_devices (g);
3682 fprintf (stderr, "test_list_devices_0: short list returned from command\n");
3686 if (strcmp (r[0], "/dev/sda") != 0) {
3687 fprintf (stderr, "test_list_devices_0: expected \"/dev/sda\" but got \"%s\"\n", r[0]);
3691 fprintf (stderr, "test_list_devices_0: short list returned from command\n");
3695 if (strcmp (r[1], "/dev/sdb") != 0) {
3696 fprintf (stderr, "test_list_devices_0: expected \"/dev/sdb\" but got \"%s\"\n", r[1]);
3700 fprintf (stderr, "test_list_devices_0: short list returned from command\n");
3704 if (strcmp (r[2], "/dev/sdc") != 0) {
3705 fprintf (stderr, "test_list_devices_0: expected \"/dev/sdc\" but got \"%s\"\n", r[2]);
3709 fprintf (stderr, "test_list_devices_0: extra elements returned from command\n");
3713 for (i = 0; r[i] != NULL; ++i)
3720 static int test_ls_0 (void)
3722 /* InitBasicFS for ls (0): create ext2 on /dev/sda1 */
3726 r = guestfs_umount_all (g);
3733 r = guestfs_lvm_remove_all (g);
3744 r = guestfs_sfdisk (g, "/dev/sda", 0, 0, 0, lines);
3751 r = guestfs_mkfs (g, "ext2", "/dev/sda1");
3758 r = guestfs_mount (g, "/dev/sda1", "/");
3762 /* TestOutputList for ls (0) */
3766 r = guestfs_touch (g, "/new");
3773 r = guestfs_touch (g, "/newer");
3780 r = guestfs_touch (g, "/newest");
3788 r = guestfs_ls (g, "/");
3792 fprintf (stderr, "test_ls_0: short list returned from command\n");
3796 if (strcmp (r[0], "lost+found") != 0) {
3797 fprintf (stderr, "test_ls_0: expected \"lost+found\" but got \"%s\"\n", r[0]);
3801 fprintf (stderr, "test_ls_0: short list returned from command\n");
3805 if (strcmp (r[1], "new") != 0) {
3806 fprintf (stderr, "test_ls_0: expected \"new\" but got \"%s\"\n", r[1]);
3810 fprintf (stderr, "test_ls_0: short list returned from command\n");
3814 if (strcmp (r[2], "newer") != 0) {
3815 fprintf (stderr, "test_ls_0: expected \"newer\" but got \"%s\"\n", r[2]);
3819 fprintf (stderr, "test_ls_0: short list returned from command\n");
3823 if (strcmp (r[3], "newest") != 0) {
3824 fprintf (stderr, "test_ls_0: expected \"newest\" but got \"%s\"\n", r[3]);
3828 fprintf (stderr, "test_ls_0: extra elements returned from command\n");
3832 for (i = 0; r[i] != NULL; ++i)
3839 static int test_cat_0 (void)
3841 /* InitBasicFS for cat (0): create ext2 on /dev/sda1 */
3845 r = guestfs_umount_all (g);
3852 r = guestfs_lvm_remove_all (g);
3863 r = guestfs_sfdisk (g, "/dev/sda", 0, 0, 0, lines);
3870 r = guestfs_mkfs (g, "ext2", "/dev/sda1");
3877 r = guestfs_mount (g, "/dev/sda1", "/");
3881 /* TestOutput for cat (0) */
3885 r = guestfs_write_file (g, "/new", "new file contents", 0);
3892 r = guestfs_cat (g, "/new");
3895 if (strcmp (r, "new file contents") != 0) {
3896 fprintf (stderr, "test_cat_0: expected \"new file contents\" but got \"%s\"\n", r);
3904 static int test_touch_0 (void)
3906 /* InitBasicFS for touch (0): create ext2 on /dev/sda1 */
3910 r = guestfs_umount_all (g);
3917 r = guestfs_lvm_remove_all (g);
3928 r = guestfs_sfdisk (g, "/dev/sda", 0, 0, 0, lines);
3935 r = guestfs_mkfs (g, "ext2", "/dev/sda1");
3942 r = guestfs_mount (g, "/dev/sda1", "/");
3946 /* TestOutputTrue for touch (0) */
3950 r = guestfs_touch (g, "/new");
3957 r = guestfs_exists (g, "/new");
3961 fprintf (stderr, "test_touch_0: expected true, got false\n");
3968 static int test_sync_0 (void)
3970 /* InitEmpty for sync (0) */
3974 r = guestfs_umount_all (g);
3981 r = guestfs_lvm_remove_all (g);
3985 /* TestRun for sync (0) */
3989 r = guestfs_sync (g);
3996 static int test_mount_0 (void)
3998 /* InitEmpty for mount (0) */
4002 r = guestfs_umount_all (g);
4009 r = guestfs_lvm_remove_all (g);
4013 /* TestOutput for mount (0) */
4021 r = guestfs_sfdisk (g, "/dev/sda", 0, 0, 0, lines);
4028 r = guestfs_mkfs (g, "ext2", "/dev/sda1");
4035 r = guestfs_mount (g, "/dev/sda1", "/");
4042 r = guestfs_write_file (g, "/new", "new file contents", 0);
4049 r = guestfs_cat (g, "/new");
4052 if (strcmp (r, "new file contents") != 0) {
4053 fprintf (stderr, "test_mount_0: expected \"new file contents\" but got \"%s\"\n", r);
4061 int main (int argc, char *argv[])
4068 int nr_tests, test_num = 0;
4070 no_test_warnings ();
4072 g = guestfs_create ();
4074 printf ("guestfs_create FAILED\n");
4078 guestfs_set_error_handler (g, print_error, NULL);
4080 srcdir = getenv ("srcdir");
4081 if (!srcdir) srcdir = ".";
4082 guestfs_set_path (g, srcdir);
4084 snprintf (buf, sizeof buf, "%s/test1.img", srcdir);
4085 fd = open (buf, O_WRONLY|O_CREAT|O_NOCTTY|O_NONBLOCK|O_TRUNC, 0666);
4090 if (lseek (fd, 524288000, SEEK_SET) == -1) {
4096 if (write (fd, &c, 1) == -1) {
4102 if (close (fd) == -1) {
4107 if (guestfs_add_drive (g, buf) == -1) {
4108 printf ("guestfs_add_drive %s FAILED\n", buf);
4112 snprintf (buf, sizeof buf, "%s/test2.img", srcdir);
4113 fd = open (buf, O_WRONLY|O_CREAT|O_NOCTTY|O_NONBLOCK|O_TRUNC, 0666);
4118 if (lseek (fd, 52428800, SEEK_SET) == -1) {
4124 if (write (fd, &c, 1) == -1) {
4130 if (close (fd) == -1) {
4135 if (guestfs_add_drive (g, buf) == -1) {
4136 printf ("guestfs_add_drive %s FAILED\n", buf);
4140 snprintf (buf, sizeof buf, "%s/test3.img", srcdir);
4141 fd = open (buf, O_WRONLY|O_CREAT|O_NOCTTY|O_NONBLOCK|O_TRUNC, 0666);
4146 if (lseek (fd, 10485760, SEEK_SET) == -1) {
4152 if (write (fd, &c, 1) == -1) {
4158 if (close (fd) == -1) {
4163 if (guestfs_add_drive (g, buf) == -1) {
4164 printf ("guestfs_add_drive %s FAILED\n", buf);
4168 if (guestfs_launch (g) == -1) {
4169 printf ("guestfs_launch FAILED\n");
4172 if (guestfs_wait_ready (g) == -1) {
4173 printf ("guestfs_wait_ready FAILED\n");
4180 printf ("%3d/%3d test_blockdev_rereadpt_0\n", test_num, nr_tests);
4181 if (test_blockdev_rereadpt_0 () == -1) {
4182 printf ("test_blockdev_rereadpt_0 FAILED\n");
4186 printf ("%3d/%3d test_blockdev_flushbufs_0\n", test_num, nr_tests);
4187 if (test_blockdev_flushbufs_0 () == -1) {
4188 printf ("test_blockdev_flushbufs_0 FAILED\n");
4192 printf ("%3d/%3d test_blockdev_getsize64_0\n", test_num, nr_tests);
4193 if (test_blockdev_getsize64_0 () == -1) {
4194 printf ("test_blockdev_getsize64_0 FAILED\n");
4198 printf ("%3d/%3d test_blockdev_getsz_0\n", test_num, nr_tests);
4199 if (test_blockdev_getsz_0 () == -1) {
4200 printf ("test_blockdev_getsz_0 FAILED\n");
4204 printf ("%3d/%3d test_blockdev_getbsz_0\n", test_num, nr_tests);
4205 if (test_blockdev_getbsz_0 () == -1) {
4206 printf ("test_blockdev_getbsz_0 FAILED\n");
4210 printf ("%3d/%3d test_blockdev_getss_0\n", test_num, nr_tests);
4211 if (test_blockdev_getss_0 () == -1) {
4212 printf ("test_blockdev_getss_0 FAILED\n");
4216 printf ("%3d/%3d test_blockdev_getro_0\n", test_num, nr_tests);
4217 if (test_blockdev_getro_0 () == -1) {
4218 printf ("test_blockdev_getro_0 FAILED\n");
4222 printf ("%3d/%3d test_blockdev_setrw_0\n", test_num, nr_tests);
4223 if (test_blockdev_setrw_0 () == -1) {
4224 printf ("test_blockdev_setrw_0 FAILED\n");
4228 printf ("%3d/%3d test_blockdev_setro_0\n", test_num, nr_tests);
4229 if (test_blockdev_setro_0 () == -1) {
4230 printf ("test_blockdev_setro_0 FAILED\n");
4234 printf ("%3d/%3d test_statvfs_0\n", test_num, nr_tests);
4235 if (test_statvfs_0 () == -1) {
4236 printf ("test_statvfs_0 FAILED\n");
4240 printf ("%3d/%3d test_lstat_0\n", test_num, nr_tests);
4241 if (test_lstat_0 () == -1) {
4242 printf ("test_lstat_0 FAILED\n");
4246 printf ("%3d/%3d test_stat_0\n", test_num, nr_tests);
4247 if (test_stat_0 () == -1) {
4248 printf ("test_stat_0 FAILED\n");
4252 printf ("%3d/%3d test_file_0\n", test_num, nr_tests);
4253 if (test_file_0 () == -1) {
4254 printf ("test_file_0 FAILED\n");
4258 printf ("%3d/%3d test_file_1\n", test_num, nr_tests);
4259 if (test_file_1 () == -1) {
4260 printf ("test_file_1 FAILED\n");
4264 printf ("%3d/%3d test_file_2\n", test_num, nr_tests);
4265 if (test_file_2 () == -1) {
4266 printf ("test_file_2 FAILED\n");
4270 printf ("%3d/%3d test_umount_all_0\n", test_num, nr_tests);
4271 if (test_umount_all_0 () == -1) {
4272 printf ("test_umount_all_0 FAILED\n");
4276 printf ("%3d/%3d test_mounts_0\n", test_num, nr_tests);
4277 if (test_mounts_0 () == -1) {
4278 printf ("test_mounts_0 FAILED\n");
4282 printf ("%3d/%3d test_umount_0\n", test_num, nr_tests);
4283 if (test_umount_0 () == -1) {
4284 printf ("test_umount_0 FAILED\n");
4288 printf ("%3d/%3d test_umount_1\n", test_num, nr_tests);
4289 if (test_umount_1 () == -1) {
4290 printf ("test_umount_1 FAILED\n");
4294 printf ("%3d/%3d test_write_file_0\n", test_num, nr_tests);
4295 if (test_write_file_0 () == -1) {
4296 printf ("test_write_file_0 FAILED\n");
4300 printf ("%3d/%3d test_mkfs_0\n", test_num, nr_tests);
4301 if (test_mkfs_0 () == -1) {
4302 printf ("test_mkfs_0 FAILED\n");
4306 printf ("%3d/%3d test_lvcreate_0\n", test_num, nr_tests);
4307 if (test_lvcreate_0 () == -1) {
4308 printf ("test_lvcreate_0 FAILED\n");
4312 printf ("%3d/%3d test_vgcreate_0\n", test_num, nr_tests);
4313 if (test_vgcreate_0 () == -1) {
4314 printf ("test_vgcreate_0 FAILED\n");
4318 printf ("%3d/%3d test_pvcreate_0\n", test_num, nr_tests);
4319 if (test_pvcreate_0 () == -1) {
4320 printf ("test_pvcreate_0 FAILED\n");
4324 printf ("%3d/%3d test_is_dir_0\n", test_num, nr_tests);
4325 if (test_is_dir_0 () == -1) {
4326 printf ("test_is_dir_0 FAILED\n");
4330 printf ("%3d/%3d test_is_dir_1\n", test_num, nr_tests);
4331 if (test_is_dir_1 () == -1) {
4332 printf ("test_is_dir_1 FAILED\n");
4336 printf ("%3d/%3d test_is_file_0\n", test_num, nr_tests);
4337 if (test_is_file_0 () == -1) {
4338 printf ("test_is_file_0 FAILED\n");
4342 printf ("%3d/%3d test_is_file_1\n", test_num, nr_tests);
4343 if (test_is_file_1 () == -1) {
4344 printf ("test_is_file_1 FAILED\n");
4348 printf ("%3d/%3d test_exists_0\n", test_num, nr_tests);
4349 if (test_exists_0 () == -1) {
4350 printf ("test_exists_0 FAILED\n");
4354 printf ("%3d/%3d test_exists_1\n", test_num, nr_tests);
4355 if (test_exists_1 () == -1) {
4356 printf ("test_exists_1 FAILED\n");
4360 printf ("%3d/%3d test_mkdir_p_0\n", test_num, nr_tests);
4361 if (test_mkdir_p_0 () == -1) {
4362 printf ("test_mkdir_p_0 FAILED\n");
4366 printf ("%3d/%3d test_mkdir_p_1\n", test_num, nr_tests);
4367 if (test_mkdir_p_1 () == -1) {
4368 printf ("test_mkdir_p_1 FAILED\n");
4372 printf ("%3d/%3d test_mkdir_p_2\n", test_num, nr_tests);
4373 if (test_mkdir_p_2 () == -1) {
4374 printf ("test_mkdir_p_2 FAILED\n");
4378 printf ("%3d/%3d test_mkdir_0\n", test_num, nr_tests);
4379 if (test_mkdir_0 () == -1) {
4380 printf ("test_mkdir_0 FAILED\n");
4384 printf ("%3d/%3d test_mkdir_1\n", test_num, nr_tests);
4385 if (test_mkdir_1 () == -1) {
4386 printf ("test_mkdir_1 FAILED\n");
4390 printf ("%3d/%3d test_rm_rf_0\n", test_num, nr_tests);
4391 if (test_rm_rf_0 () == -1) {
4392 printf ("test_rm_rf_0 FAILED\n");
4396 printf ("%3d/%3d test_rmdir_0\n", test_num, nr_tests);
4397 if (test_rmdir_0 () == -1) {
4398 printf ("test_rmdir_0 FAILED\n");
4402 printf ("%3d/%3d test_rmdir_1\n", test_num, nr_tests);
4403 if (test_rmdir_1 () == -1) {
4404 printf ("test_rmdir_1 FAILED\n");
4408 printf ("%3d/%3d test_rmdir_2\n", test_num, nr_tests);
4409 if (test_rmdir_2 () == -1) {
4410 printf ("test_rmdir_2 FAILED\n");
4414 printf ("%3d/%3d test_rm_0\n", test_num, nr_tests);
4415 if (test_rm_0 () == -1) {
4416 printf ("test_rm_0 FAILED\n");
4420 printf ("%3d/%3d test_rm_1\n", test_num, nr_tests);
4421 if (test_rm_1 () == -1) {
4422 printf ("test_rm_1 FAILED\n");
4426 printf ("%3d/%3d test_rm_2\n", test_num, nr_tests);
4427 if (test_rm_2 () == -1) {
4428 printf ("test_rm_2 FAILED\n");
4432 printf ("%3d/%3d test_read_lines_0\n", test_num, nr_tests);
4433 if (test_read_lines_0 () == -1) {
4434 printf ("test_read_lines_0 FAILED\n");
4438 printf ("%3d/%3d test_read_lines_1\n", test_num, nr_tests);
4439 if (test_read_lines_1 () == -1) {
4440 printf ("test_read_lines_1 FAILED\n");
4444 printf ("%3d/%3d test_lvs_0\n", test_num, nr_tests);
4445 if (test_lvs_0 () == -1) {
4446 printf ("test_lvs_0 FAILED\n");
4450 printf ("%3d/%3d test_lvs_1\n", test_num, nr_tests);
4451 if (test_lvs_1 () == -1) {
4452 printf ("test_lvs_1 FAILED\n");
4456 printf ("%3d/%3d test_vgs_0\n", test_num, nr_tests);
4457 if (test_vgs_0 () == -1) {
4458 printf ("test_vgs_0 FAILED\n");
4462 printf ("%3d/%3d test_vgs_1\n", test_num, nr_tests);
4463 if (test_vgs_1 () == -1) {
4464 printf ("test_vgs_1 FAILED\n");
4468 printf ("%3d/%3d test_pvs_0\n", test_num, nr_tests);
4469 if (test_pvs_0 () == -1) {
4470 printf ("test_pvs_0 FAILED\n");
4474 printf ("%3d/%3d test_pvs_1\n", test_num, nr_tests);
4475 if (test_pvs_1 () == -1) {
4476 printf ("test_pvs_1 FAILED\n");
4480 printf ("%3d/%3d test_list_partitions_0\n", test_num, nr_tests);
4481 if (test_list_partitions_0 () == -1) {
4482 printf ("test_list_partitions_0 FAILED\n");
4486 printf ("%3d/%3d test_list_partitions_1\n", test_num, nr_tests);
4487 if (test_list_partitions_1 () == -1) {
4488 printf ("test_list_partitions_1 FAILED\n");
4492 printf ("%3d/%3d test_list_devices_0\n", test_num, nr_tests);
4493 if (test_list_devices_0 () == -1) {
4494 printf ("test_list_devices_0 FAILED\n");
4498 printf ("%3d/%3d test_ls_0\n", test_num, nr_tests);
4499 if (test_ls_0 () == -1) {
4500 printf ("test_ls_0 FAILED\n");
4504 printf ("%3d/%3d test_cat_0\n", test_num, nr_tests);
4505 if (test_cat_0 () == -1) {
4506 printf ("test_cat_0 FAILED\n");
4510 printf ("%3d/%3d test_touch_0\n", test_num, nr_tests);
4511 if (test_touch_0 () == -1) {
4512 printf ("test_touch_0 FAILED\n");
4516 printf ("%3d/%3d test_sync_0\n", test_num, nr_tests);
4517 if (test_sync_0 () == -1) {
4518 printf ("test_sync_0 FAILED\n");
4522 printf ("%3d/%3d test_mount_0\n", test_num, nr_tests);
4523 if (test_mount_0 () == -1) {
4524 printf ("test_mount_0 FAILED\n");
4529 snprintf (buf, sizeof buf, "%s/test1.img", srcdir);
4531 snprintf (buf, sizeof buf, "%s/test2.img", srcdir);
4533 snprintf (buf, sizeof buf, "%s/test3.img", srcdir);
4537 printf ("***** %d / %d tests FAILED *****\n", failed, nr_tests);