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");
127 fprintf (stderr, "warning: \"guestfs_e2fsck_f\" has no tests\n");
130 static int test_find_0_skip (void)
134 str = getenv ("SKIP_TEST_FIND_0");
135 if (str && strcmp (str, "1") == 0) return 1;
136 str = getenv ("SKIP_TEST_FIND");
137 if (str && strcmp (str, "1") == 0) return 1;
141 static int test_find_0 (void)
143 if (test_find_0_skip ()) {
144 printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_find_0");
148 /* InitBasicFS for test_find_0: create ext2 on /dev/sda1 */
150 char device[] = "/dev/sda";
154 r = guestfs_blockdev_setrw (g, device);
161 r = guestfs_umount_all (g);
168 r = guestfs_lvm_remove_all (g);
173 char device[] = "/dev/sda";
175 char lines_0[] = ",";
182 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
187 char fstype[] = "ext2";
188 char device[] = "/dev/sda1";
192 r = guestfs_mkfs (g, fstype, device);
197 char device[] = "/dev/sda1";
199 char mountpoint[] = "/";
202 r = guestfs_mount (g, device, mountpoint);
206 /* TestOutputList for find (0) */
208 char directory[] = "/";
212 r = guestfs_find (g, directory);
216 fprintf (stderr, "test_find_0: short list returned from command\n");
221 char expected[] = "lost+found";
222 if (strcmp (r[0], expected) != 0) {
223 fprintf (stderr, "test_find_0: expected \"%s\" but got \"%s\"\n", expected, r[0]);
228 fprintf (stderr, "test_find_0: extra elements returned from command\n");
232 for (i = 0; r[i] != NULL; ++i)
239 static int test_find_1_skip (void)
243 str = getenv ("SKIP_TEST_FIND_1");
244 if (str && strcmp (str, "1") == 0) return 1;
245 str = getenv ("SKIP_TEST_FIND");
246 if (str && strcmp (str, "1") == 0) return 1;
250 static int test_find_1 (void)
252 if (test_find_1_skip ()) {
253 printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_find_1");
257 /* InitBasicFS for test_find_1: create ext2 on /dev/sda1 */
259 char device[] = "/dev/sda";
263 r = guestfs_blockdev_setrw (g, device);
270 r = guestfs_umount_all (g);
277 r = guestfs_lvm_remove_all (g);
282 char device[] = "/dev/sda";
284 char lines_0[] = ",";
291 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
296 char fstype[] = "ext2";
297 char device[] = "/dev/sda1";
301 r = guestfs_mkfs (g, fstype, device);
306 char device[] = "/dev/sda1";
308 char mountpoint[] = "/";
311 r = guestfs_mount (g, device, mountpoint);
315 /* TestOutputList for find (1) */
320 r = guestfs_touch (g, path);
328 r = guestfs_mkdir (g, path);
333 char path[] = "/b/c";
336 r = guestfs_touch (g, path);
341 char directory[] = "/";
345 r = guestfs_find (g, directory);
349 fprintf (stderr, "test_find_1: short list returned from command\n");
354 char expected[] = "a";
355 if (strcmp (r[0], expected) != 0) {
356 fprintf (stderr, "test_find_1: expected \"%s\" but got \"%s\"\n", expected, r[0]);
361 fprintf (stderr, "test_find_1: short list returned from command\n");
366 char expected[] = "b";
367 if (strcmp (r[1], expected) != 0) {
368 fprintf (stderr, "test_find_1: expected \"%s\" but got \"%s\"\n", expected, r[1]);
373 fprintf (stderr, "test_find_1: short list returned from command\n");
378 char expected[] = "b/c";
379 if (strcmp (r[2], expected) != 0) {
380 fprintf (stderr, "test_find_1: expected \"%s\" but got \"%s\"\n", expected, r[2]);
385 fprintf (stderr, "test_find_1: short list returned from command\n");
390 char expected[] = "lost+found";
391 if (strcmp (r[3], expected) != 0) {
392 fprintf (stderr, "test_find_1: expected \"%s\" but got \"%s\"\n", expected, r[3]);
397 fprintf (stderr, "test_find_1: extra elements returned from command\n");
401 for (i = 0; r[i] != NULL; ++i)
408 static int test_find_2_skip (void)
412 str = getenv ("SKIP_TEST_FIND_2");
413 if (str && strcmp (str, "1") == 0) return 1;
414 str = getenv ("SKIP_TEST_FIND");
415 if (str && strcmp (str, "1") == 0) return 1;
419 static int test_find_2 (void)
421 if (test_find_2_skip ()) {
422 printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_find_2");
426 /* InitBasicFS for test_find_2: create ext2 on /dev/sda1 */
428 char device[] = "/dev/sda";
432 r = guestfs_blockdev_setrw (g, device);
439 r = guestfs_umount_all (g);
446 r = guestfs_lvm_remove_all (g);
451 char device[] = "/dev/sda";
453 char lines_0[] = ",";
460 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
465 char fstype[] = "ext2";
466 char device[] = "/dev/sda1";
470 r = guestfs_mkfs (g, fstype, device);
475 char device[] = "/dev/sda1";
477 char mountpoint[] = "/";
480 r = guestfs_mount (g, device, mountpoint);
484 /* TestOutputList for find (2) */
486 char path[] = "/a/b/c";
489 r = guestfs_mkdir_p (g, path);
494 char path[] = "/a/b/c/d";
497 r = guestfs_touch (g, path);
502 char directory[] = "/a/b/";
506 r = guestfs_find (g, directory);
510 fprintf (stderr, "test_find_2: short list returned from command\n");
515 char expected[] = "c";
516 if (strcmp (r[0], expected) != 0) {
517 fprintf (stderr, "test_find_2: expected \"%s\" but got \"%s\"\n", expected, r[0]);
522 fprintf (stderr, "test_find_2: short list returned from command\n");
527 char expected[] = "c/d";
528 if (strcmp (r[1], expected) != 0) {
529 fprintf (stderr, "test_find_2: expected \"%s\" but got \"%s\"\n", expected, r[1]);
534 fprintf (stderr, "test_find_2: extra elements returned from command\n");
538 for (i = 0; r[i] != NULL; ++i)
545 static int test_lvresize_0_skip (void)
549 str = getenv ("SKIP_TEST_LVRESIZE_0");
550 if (str && strcmp (str, "1") == 0) return 1;
551 str = getenv ("SKIP_TEST_LVRESIZE");
552 if (str && strcmp (str, "1") == 0) return 1;
556 static int test_lvresize_0 (void)
558 if (test_lvresize_0_skip ()) {
559 printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_lvresize_0");
563 /* InitNone|InitEmpty for test_lvresize_0 */
565 char device[] = "/dev/sda";
569 r = guestfs_blockdev_setrw (g, device);
576 r = guestfs_umount_all (g);
583 r = guestfs_lvm_remove_all (g);
587 /* TestOutput for lvresize (0) */
588 char expected[] = "test content";
590 char device[] = "/dev/sda";
592 char lines_0[] = ",";
599 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
604 char device[] = "/dev/sda1";
608 r = guestfs_pvcreate (g, device);
613 char volgroup[] = "VG";
614 char physvols_0[] = "/dev/sda1";
615 physvols_0[5] = devchar;
622 r = guestfs_vgcreate (g, volgroup, physvols);
627 char logvol[] = "LV";
628 char volgroup[] = "VG";
631 r = guestfs_lvcreate (g, logvol, volgroup, 10);
636 char fstype[] = "ext2";
637 char device[] = "/dev/VG/LV";
640 r = guestfs_mkfs (g, fstype, device);
645 char device[] = "/dev/VG/LV";
646 char mountpoint[] = "/";
649 r = guestfs_mount (g, device, mountpoint);
654 char path[] = "/new";
655 char content[] = "test content";
658 r = guestfs_write_file (g, path, content, 0);
663 char pathordevice[] = "/";
666 r = guestfs_umount (g, pathordevice);
671 char device[] = "/dev/VG/LV";
674 r = guestfs_lvresize (g, device, 20);
679 char device[] = "/dev/VG/LV";
682 r = guestfs_e2fsck_f (g, device);
687 char device[] = "/dev/VG/LV";
690 r = guestfs_resize2fs (g, device);
695 char device[] = "/dev/VG/LV";
696 char mountpoint[] = "/";
699 r = guestfs_mount (g, device, mountpoint);
704 char path[] = "/new";
707 r = guestfs_cat (g, path);
710 if (strcmp (r, expected) != 0) {
711 fprintf (stderr, "test_lvresize_0: expected \"%s\" but got \"%s\"\n", expected, r);
719 static int test_zerofree_0_skip (void)
723 str = getenv ("SKIP_TEST_ZEROFREE_0");
724 if (str && strcmp (str, "1") == 0) return 1;
725 str = getenv ("SKIP_TEST_ZEROFREE");
726 if (str && strcmp (str, "1") == 0) return 1;
730 static int test_zerofree_0 (void)
732 if (test_zerofree_0_skip ()) {
733 printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_zerofree_0");
737 /* InitNone|InitEmpty for test_zerofree_0 */
739 char device[] = "/dev/sda";
743 r = guestfs_blockdev_setrw (g, device);
750 r = guestfs_umount_all (g);
757 r = guestfs_lvm_remove_all (g);
761 /* TestOutput for zerofree (0) */
762 char expected[] = "test file";
764 char device[] = "/dev/sda";
766 char lines_0[] = ",";
773 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
778 char fstype[] = "ext3";
779 char device[] = "/dev/sda1";
783 r = guestfs_mkfs (g, fstype, device);
788 char device[] = "/dev/sda1";
790 char mountpoint[] = "/";
793 r = guestfs_mount (g, device, mountpoint);
798 char path[] = "/new";
799 char content[] = "test file";
802 r = guestfs_write_file (g, path, content, 0);
807 char pathordevice[] = "/dev/sda1";
808 pathordevice[5] = devchar;
811 r = guestfs_umount (g, pathordevice);
816 char device[] = "/dev/sda1";
820 r = guestfs_zerofree (g, device);
825 char device[] = "/dev/sda1";
827 char mountpoint[] = "/";
830 r = guestfs_mount (g, device, mountpoint);
835 char path[] = "/new";
838 r = guestfs_cat (g, path);
841 if (strcmp (r, expected) != 0) {
842 fprintf (stderr, "test_zerofree_0: expected \"%s\" but got \"%s\"\n", expected, r);
850 static int test_hexdump_0_skip (void)
854 str = getenv ("SKIP_TEST_HEXDUMP_0");
855 if (str && strcmp (str, "1") == 0) return 1;
856 str = getenv ("SKIP_TEST_HEXDUMP");
857 if (str && strcmp (str, "1") == 0) return 1;
861 static int test_hexdump_0 (void)
863 if (test_hexdump_0_skip ()) {
864 printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_hexdump_0");
868 /* InitBasicFS for test_hexdump_0: create ext2 on /dev/sda1 */
870 char device[] = "/dev/sda";
874 r = guestfs_blockdev_setrw (g, device);
881 r = guestfs_umount_all (g);
888 r = guestfs_lvm_remove_all (g);
893 char device[] = "/dev/sda";
895 char lines_0[] = ",";
902 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
907 char fstype[] = "ext2";
908 char device[] = "/dev/sda1";
912 r = guestfs_mkfs (g, fstype, device);
917 char device[] = "/dev/sda1";
919 char mountpoint[] = "/";
922 r = guestfs_mount (g, device, mountpoint);
926 /* TestOutput for hexdump (0) */
927 char expected[] = "00000000 68 65 6c 6c 6f 0a 77 6f 72 6c 64 0a |hello.world.|\n0000000c\n";
929 char path[] = "/new";
930 char content[] = "hello\nworld\n";
933 r = guestfs_write_file (g, path, content, 12);
938 char path[] = "/new";
941 r = guestfs_hexdump (g, path);
944 if (strcmp (r, expected) != 0) {
945 fprintf (stderr, "test_hexdump_0: expected \"%s\" but got \"%s\"\n", expected, r);
953 static int test_strings_e_0_skip (void)
957 str = getenv ("SKIP_TEST_STRINGS_E_0");
958 if (str && strcmp (str, "1") == 0) return 1;
959 str = getenv ("SKIP_TEST_STRINGS_E");
960 if (str && strcmp (str, "1") == 0) return 1;
964 static int test_strings_e_0 (void)
966 if (test_strings_e_0_skip ()) {
967 printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_strings_e_0");
971 /* InitBasicFS for test_strings_e_0: create ext2 on /dev/sda1 */
973 char device[] = "/dev/sda";
977 r = guestfs_blockdev_setrw (g, device);
984 r = guestfs_umount_all (g);
991 r = guestfs_lvm_remove_all (g);
996 char device[] = "/dev/sda";
998 char lines_0[] = ",";
1005 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
1010 char fstype[] = "ext2";
1011 char device[] = "/dev/sda1";
1012 device[5] = devchar;
1015 r = guestfs_mkfs (g, fstype, device);
1020 char device[] = "/dev/sda1";
1021 device[5] = devchar;
1022 char mountpoint[] = "/";
1025 r = guestfs_mount (g, device, mountpoint);
1029 /* TestOutputList for strings_e (0) */
1031 char path[] = "/new";
1032 char content[] = "hello\nworld\n";
1035 r = guestfs_write_file (g, path, content, 0);
1040 char encoding[] = "b";
1041 char path[] = "/new";
1045 r = guestfs_strings_e (g, encoding, path);
1049 fprintf (stderr, "test_strings_e_0: extra elements returned from command\n");
1053 for (i = 0; r[i] != NULL; ++i)
1060 static int test_strings_e_1_skip (void)
1064 str = getenv ("SKIP_TEST_STRINGS_E_1");
1065 if (str && strcmp (str, "1") == 0) return 1;
1066 str = getenv ("SKIP_TEST_STRINGS_E");
1067 if (str && strcmp (str, "1") == 0) return 1;
1071 static int test_strings_e_1 (void)
1073 if (test_strings_e_1_skip ()) {
1074 printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_strings_e_1");
1078 printf ("%s skipped (reason: test disabled in generator)\n", "test_strings_e_1");
1082 static int test_strings_0_skip (void)
1086 str = getenv ("SKIP_TEST_STRINGS_0");
1087 if (str && strcmp (str, "1") == 0) return 1;
1088 str = getenv ("SKIP_TEST_STRINGS");
1089 if (str && strcmp (str, "1") == 0) return 1;
1093 static int test_strings_0 (void)
1095 if (test_strings_0_skip ()) {
1096 printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_strings_0");
1100 /* InitBasicFS for test_strings_0: create ext2 on /dev/sda1 */
1102 char device[] = "/dev/sda";
1103 device[5] = devchar;
1106 r = guestfs_blockdev_setrw (g, device);
1113 r = guestfs_umount_all (g);
1120 r = guestfs_lvm_remove_all (g);
1125 char device[] = "/dev/sda";
1126 device[5] = devchar;
1127 char lines_0[] = ",";
1134 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
1139 char fstype[] = "ext2";
1140 char device[] = "/dev/sda1";
1141 device[5] = devchar;
1144 r = guestfs_mkfs (g, fstype, device);
1149 char device[] = "/dev/sda1";
1150 device[5] = devchar;
1151 char mountpoint[] = "/";
1154 r = guestfs_mount (g, device, mountpoint);
1158 /* TestOutputList for strings (0) */
1160 char path[] = "/new";
1161 char content[] = "hello\nworld\n";
1164 r = guestfs_write_file (g, path, content, 0);
1169 char path[] = "/new";
1173 r = guestfs_strings (g, path);
1177 fprintf (stderr, "test_strings_0: short list returned from command\n");
1182 char expected[] = "hello";
1183 if (strcmp (r[0], expected) != 0) {
1184 fprintf (stderr, "test_strings_0: expected \"%s\" but got \"%s\"\n", expected, r[0]);
1189 fprintf (stderr, "test_strings_0: short list returned from command\n");
1194 char expected[] = "world";
1195 if (strcmp (r[1], expected) != 0) {
1196 fprintf (stderr, "test_strings_0: expected \"%s\" but got \"%s\"\n", expected, r[1]);
1201 fprintf (stderr, "test_strings_0: extra elements returned from command\n");
1205 for (i = 0; r[i] != NULL; ++i)
1212 static int test_strings_1_skip (void)
1216 str = getenv ("SKIP_TEST_STRINGS_1");
1217 if (str && strcmp (str, "1") == 0) return 1;
1218 str = getenv ("SKIP_TEST_STRINGS");
1219 if (str && strcmp (str, "1") == 0) return 1;
1223 static int test_strings_1 (void)
1225 if (test_strings_1_skip ()) {
1226 printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_strings_1");
1230 /* InitBasicFS for test_strings_1: create ext2 on /dev/sda1 */
1232 char device[] = "/dev/sda";
1233 device[5] = devchar;
1236 r = guestfs_blockdev_setrw (g, device);
1243 r = guestfs_umount_all (g);
1250 r = guestfs_lvm_remove_all (g);
1255 char device[] = "/dev/sda";
1256 device[5] = devchar;
1257 char lines_0[] = ",";
1264 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
1269 char fstype[] = "ext2";
1270 char device[] = "/dev/sda1";
1271 device[5] = devchar;
1274 r = guestfs_mkfs (g, fstype, device);
1279 char device[] = "/dev/sda1";
1280 device[5] = devchar;
1281 char mountpoint[] = "/";
1284 r = guestfs_mount (g, device, mountpoint);
1288 /* TestOutputList for strings (1) */
1290 char path[] = "/new";
1293 r = guestfs_touch (g, path);
1298 char path[] = "/new";
1302 r = guestfs_strings (g, path);
1306 fprintf (stderr, "test_strings_1: extra elements returned from command\n");
1310 for (i = 0; r[i] != NULL; ++i)
1317 static int test_equal_0_skip (void)
1321 str = getenv ("SKIP_TEST_EQUAL_0");
1322 if (str && strcmp (str, "1") == 0) return 1;
1323 str = getenv ("SKIP_TEST_EQUAL");
1324 if (str && strcmp (str, "1") == 0) return 1;
1328 static int test_equal_0 (void)
1330 if (test_equal_0_skip ()) {
1331 printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_equal_0");
1335 /* InitBasicFS for test_equal_0: create ext2 on /dev/sda1 */
1337 char device[] = "/dev/sda";
1338 device[5] = devchar;
1341 r = guestfs_blockdev_setrw (g, device);
1348 r = guestfs_umount_all (g);
1355 r = guestfs_lvm_remove_all (g);
1360 char device[] = "/dev/sda";
1361 device[5] = devchar;
1362 char lines_0[] = ",";
1369 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
1374 char fstype[] = "ext2";
1375 char device[] = "/dev/sda1";
1376 device[5] = devchar;
1379 r = guestfs_mkfs (g, fstype, device);
1384 char device[] = "/dev/sda1";
1385 device[5] = devchar;
1386 char mountpoint[] = "/";
1389 r = guestfs_mount (g, device, mountpoint);
1393 /* TestOutputTrue for equal (0) */
1395 char path[] = "/file1";
1396 char content[] = "contents of a file";
1399 r = guestfs_write_file (g, path, content, 0);
1404 char src[] = "/file1";
1405 char dest[] = "/file2";
1408 r = guestfs_cp (g, src, dest);
1413 char file1[] = "/file1";
1414 char file2[] = "/file2";
1417 r = guestfs_equal (g, file1, file2);
1421 fprintf (stderr, "test_equal_0: expected true, got false\n");
1428 static int test_equal_1_skip (void)
1432 str = getenv ("SKIP_TEST_EQUAL_1");
1433 if (str && strcmp (str, "1") == 0) return 1;
1434 str = getenv ("SKIP_TEST_EQUAL");
1435 if (str && strcmp (str, "1") == 0) return 1;
1439 static int test_equal_1 (void)
1441 if (test_equal_1_skip ()) {
1442 printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_equal_1");
1446 /* InitBasicFS for test_equal_1: create ext2 on /dev/sda1 */
1448 char device[] = "/dev/sda";
1449 device[5] = devchar;
1452 r = guestfs_blockdev_setrw (g, device);
1459 r = guestfs_umount_all (g);
1466 r = guestfs_lvm_remove_all (g);
1471 char device[] = "/dev/sda";
1472 device[5] = devchar;
1473 char lines_0[] = ",";
1480 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
1485 char fstype[] = "ext2";
1486 char device[] = "/dev/sda1";
1487 device[5] = devchar;
1490 r = guestfs_mkfs (g, fstype, device);
1495 char device[] = "/dev/sda1";
1496 device[5] = devchar;
1497 char mountpoint[] = "/";
1500 r = guestfs_mount (g, device, mountpoint);
1504 /* TestOutputFalse for equal (1) */
1506 char path[] = "/file1";
1507 char content[] = "contents of a file";
1510 r = guestfs_write_file (g, path, content, 0);
1515 char path[] = "/file2";
1516 char content[] = "contents of another file";
1519 r = guestfs_write_file (g, path, content, 0);
1524 char file1[] = "/file1";
1525 char file2[] = "/file2";
1528 r = guestfs_equal (g, file1, file2);
1532 fprintf (stderr, "test_equal_1: expected false, got true\n");
1539 static int test_equal_2_skip (void)
1543 str = getenv ("SKIP_TEST_EQUAL_2");
1544 if (str && strcmp (str, "1") == 0) return 1;
1545 str = getenv ("SKIP_TEST_EQUAL");
1546 if (str && strcmp (str, "1") == 0) return 1;
1550 static int test_equal_2 (void)
1552 if (test_equal_2_skip ()) {
1553 printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_equal_2");
1557 /* InitBasicFS for test_equal_2: create ext2 on /dev/sda1 */
1559 char device[] = "/dev/sda";
1560 device[5] = devchar;
1563 r = guestfs_blockdev_setrw (g, device);
1570 r = guestfs_umount_all (g);
1577 r = guestfs_lvm_remove_all (g);
1582 char device[] = "/dev/sda";
1583 device[5] = devchar;
1584 char lines_0[] = ",";
1591 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
1596 char fstype[] = "ext2";
1597 char device[] = "/dev/sda1";
1598 device[5] = devchar;
1601 r = guestfs_mkfs (g, fstype, device);
1606 char device[] = "/dev/sda1";
1607 device[5] = devchar;
1608 char mountpoint[] = "/";
1611 r = guestfs_mount (g, device, mountpoint);
1615 /* TestLastFail for equal (2) */
1617 char file1[] = "/file1";
1618 char file2[] = "/file2";
1621 r = guestfs_equal (g, file1, file2);
1628 static int test_ping_daemon_0_skip (void)
1632 str = getenv ("SKIP_TEST_PING_DAEMON_0");
1633 if (str && strcmp (str, "1") == 0) return 1;
1634 str = getenv ("SKIP_TEST_PING_DAEMON");
1635 if (str && strcmp (str, "1") == 0) return 1;
1639 static int test_ping_daemon_0 (void)
1641 if (test_ping_daemon_0_skip ()) {
1642 printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_ping_daemon_0");
1646 /* InitNone|InitEmpty for test_ping_daemon_0 */
1648 char device[] = "/dev/sda";
1649 device[5] = devchar;
1652 r = guestfs_blockdev_setrw (g, device);
1659 r = guestfs_umount_all (g);
1666 r = guestfs_lvm_remove_all (g);
1670 /* TestRun for ping_daemon (0) */
1674 r = guestfs_ping_daemon (g);
1681 static int test_dmesg_0_skip (void)
1685 str = getenv ("SKIP_TEST_DMESG_0");
1686 if (str && strcmp (str, "1") == 0) return 1;
1687 str = getenv ("SKIP_TEST_DMESG");
1688 if (str && strcmp (str, "1") == 0) return 1;
1692 static int test_dmesg_0 (void)
1694 if (test_dmesg_0_skip ()) {
1695 printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_dmesg_0");
1699 /* InitNone|InitEmpty for test_dmesg_0 */
1701 char device[] = "/dev/sda";
1702 device[5] = devchar;
1705 r = guestfs_blockdev_setrw (g, device);
1712 r = guestfs_umount_all (g);
1719 r = guestfs_lvm_remove_all (g);
1723 /* TestRun for dmesg (0) */
1727 r = guestfs_dmesg (g);
1735 static int test_drop_caches_0_skip (void)
1739 str = getenv ("SKIP_TEST_DROP_CACHES_0");
1740 if (str && strcmp (str, "1") == 0) return 1;
1741 str = getenv ("SKIP_TEST_DROP_CACHES");
1742 if (str && strcmp (str, "1") == 0) return 1;
1746 static int test_drop_caches_0 (void)
1748 if (test_drop_caches_0_skip ()) {
1749 printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_drop_caches_0");
1753 /* InitNone|InitEmpty for test_drop_caches_0 */
1755 char device[] = "/dev/sda";
1756 device[5] = devchar;
1759 r = guestfs_blockdev_setrw (g, device);
1766 r = guestfs_umount_all (g);
1773 r = guestfs_lvm_remove_all (g);
1777 /* TestRun for drop_caches (0) */
1781 r = guestfs_drop_caches (g, 3);
1788 static int test_mv_0_skip (void)
1792 str = getenv ("SKIP_TEST_MV_0");
1793 if (str && strcmp (str, "1") == 0) return 1;
1794 str = getenv ("SKIP_TEST_MV");
1795 if (str && strcmp (str, "1") == 0) return 1;
1799 static int test_mv_0 (void)
1801 if (test_mv_0_skip ()) {
1802 printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_mv_0");
1806 /* InitBasicFS for test_mv_0: create ext2 on /dev/sda1 */
1808 char device[] = "/dev/sda";
1809 device[5] = devchar;
1812 r = guestfs_blockdev_setrw (g, device);
1819 r = guestfs_umount_all (g);
1826 r = guestfs_lvm_remove_all (g);
1831 char device[] = "/dev/sda";
1832 device[5] = devchar;
1833 char lines_0[] = ",";
1840 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
1845 char fstype[] = "ext2";
1846 char device[] = "/dev/sda1";
1847 device[5] = devchar;
1850 r = guestfs_mkfs (g, fstype, device);
1855 char device[] = "/dev/sda1";
1856 device[5] = devchar;
1857 char mountpoint[] = "/";
1860 r = guestfs_mount (g, device, mountpoint);
1864 /* TestOutput for mv (0) */
1865 char expected[] = "file content";
1867 char path[] = "/old";
1868 char content[] = "file content";
1871 r = guestfs_write_file (g, path, content, 0);
1876 char src[] = "/old";
1877 char dest[] = "/new";
1880 r = guestfs_mv (g, src, dest);
1885 char path[] = "/new";
1888 r = guestfs_cat (g, path);
1891 if (strcmp (r, expected) != 0) {
1892 fprintf (stderr, "test_mv_0: expected \"%s\" but got \"%s\"\n", expected, r);
1900 static int test_mv_1_skip (void)
1904 str = getenv ("SKIP_TEST_MV_1");
1905 if (str && strcmp (str, "1") == 0) return 1;
1906 str = getenv ("SKIP_TEST_MV");
1907 if (str && strcmp (str, "1") == 0) return 1;
1911 static int test_mv_1 (void)
1913 if (test_mv_1_skip ()) {
1914 printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_mv_1");
1918 /* InitBasicFS for test_mv_1: create ext2 on /dev/sda1 */
1920 char device[] = "/dev/sda";
1921 device[5] = devchar;
1924 r = guestfs_blockdev_setrw (g, device);
1931 r = guestfs_umount_all (g);
1938 r = guestfs_lvm_remove_all (g);
1943 char device[] = "/dev/sda";
1944 device[5] = devchar;
1945 char lines_0[] = ",";
1952 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
1957 char fstype[] = "ext2";
1958 char device[] = "/dev/sda1";
1959 device[5] = devchar;
1962 r = guestfs_mkfs (g, fstype, device);
1967 char device[] = "/dev/sda1";
1968 device[5] = devchar;
1969 char mountpoint[] = "/";
1972 r = guestfs_mount (g, device, mountpoint);
1976 /* TestOutputFalse for mv (1) */
1978 char path[] = "/old";
1979 char content[] = "file content";
1982 r = guestfs_write_file (g, path, content, 0);
1987 char src[] = "/old";
1988 char dest[] = "/new";
1991 r = guestfs_mv (g, src, dest);
1996 char path[] = "/old";
1999 r = guestfs_is_file (g, path);
2003 fprintf (stderr, "test_mv_1: expected false, got true\n");
2010 static int test_cp_a_0_skip (void)
2014 str = getenv ("SKIP_TEST_CP_A_0");
2015 if (str && strcmp (str, "1") == 0) return 1;
2016 str = getenv ("SKIP_TEST_CP_A");
2017 if (str && strcmp (str, "1") == 0) return 1;
2021 static int test_cp_a_0 (void)
2023 if (test_cp_a_0_skip ()) {
2024 printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_cp_a_0");
2028 /* InitBasicFS for test_cp_a_0: create ext2 on /dev/sda1 */
2030 char device[] = "/dev/sda";
2031 device[5] = devchar;
2034 r = guestfs_blockdev_setrw (g, device);
2041 r = guestfs_umount_all (g);
2048 r = guestfs_lvm_remove_all (g);
2053 char device[] = "/dev/sda";
2054 device[5] = devchar;
2055 char lines_0[] = ",";
2062 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
2067 char fstype[] = "ext2";
2068 char device[] = "/dev/sda1";
2069 device[5] = devchar;
2072 r = guestfs_mkfs (g, fstype, device);
2077 char device[] = "/dev/sda1";
2078 device[5] = devchar;
2079 char mountpoint[] = "/";
2082 r = guestfs_mount (g, device, mountpoint);
2086 /* TestOutput for cp_a (0) */
2087 char expected[] = "file content";
2089 char path[] = "/olddir";
2092 r = guestfs_mkdir (g, path);
2097 char path[] = "/newdir";
2100 r = guestfs_mkdir (g, path);
2105 char path[] = "/olddir/file";
2106 char content[] = "file content";
2109 r = guestfs_write_file (g, path, content, 0);
2114 char src[] = "/olddir";
2115 char dest[] = "/newdir";
2118 r = guestfs_cp_a (g, src, dest);
2123 char path[] = "/newdir/olddir/file";
2126 r = guestfs_cat (g, path);
2129 if (strcmp (r, expected) != 0) {
2130 fprintf (stderr, "test_cp_a_0: expected \"%s\" but got \"%s\"\n", expected, r);
2138 static int test_cp_0_skip (void)
2142 str = getenv ("SKIP_TEST_CP_0");
2143 if (str && strcmp (str, "1") == 0) return 1;
2144 str = getenv ("SKIP_TEST_CP");
2145 if (str && strcmp (str, "1") == 0) return 1;
2149 static int test_cp_0 (void)
2151 if (test_cp_0_skip ()) {
2152 printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_cp_0");
2156 /* InitBasicFS for test_cp_0: create ext2 on /dev/sda1 */
2158 char device[] = "/dev/sda";
2159 device[5] = devchar;
2162 r = guestfs_blockdev_setrw (g, device);
2169 r = guestfs_umount_all (g);
2176 r = guestfs_lvm_remove_all (g);
2181 char device[] = "/dev/sda";
2182 device[5] = devchar;
2183 char lines_0[] = ",";
2190 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
2195 char fstype[] = "ext2";
2196 char device[] = "/dev/sda1";
2197 device[5] = devchar;
2200 r = guestfs_mkfs (g, fstype, device);
2205 char device[] = "/dev/sda1";
2206 device[5] = devchar;
2207 char mountpoint[] = "/";
2210 r = guestfs_mount (g, device, mountpoint);
2214 /* TestOutput for cp (0) */
2215 char expected[] = "file content";
2217 char path[] = "/old";
2218 char content[] = "file content";
2221 r = guestfs_write_file (g, path, content, 0);
2226 char src[] = "/old";
2227 char dest[] = "/new";
2230 r = guestfs_cp (g, src, dest);
2235 char path[] = "/new";
2238 r = guestfs_cat (g, path);
2241 if (strcmp (r, expected) != 0) {
2242 fprintf (stderr, "test_cp_0: expected \"%s\" but got \"%s\"\n", expected, r);
2250 static int test_cp_1_skip (void)
2254 str = getenv ("SKIP_TEST_CP_1");
2255 if (str && strcmp (str, "1") == 0) return 1;
2256 str = getenv ("SKIP_TEST_CP");
2257 if (str && strcmp (str, "1") == 0) return 1;
2261 static int test_cp_1 (void)
2263 if (test_cp_1_skip ()) {
2264 printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_cp_1");
2268 /* InitBasicFS for test_cp_1: create ext2 on /dev/sda1 */
2270 char device[] = "/dev/sda";
2271 device[5] = devchar;
2274 r = guestfs_blockdev_setrw (g, device);
2281 r = guestfs_umount_all (g);
2288 r = guestfs_lvm_remove_all (g);
2293 char device[] = "/dev/sda";
2294 device[5] = devchar;
2295 char lines_0[] = ",";
2302 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
2307 char fstype[] = "ext2";
2308 char device[] = "/dev/sda1";
2309 device[5] = devchar;
2312 r = guestfs_mkfs (g, fstype, device);
2317 char device[] = "/dev/sda1";
2318 device[5] = devchar;
2319 char mountpoint[] = "/";
2322 r = guestfs_mount (g, device, mountpoint);
2326 /* TestOutputTrue for cp (1) */
2328 char path[] = "/old";
2329 char content[] = "file content";
2332 r = guestfs_write_file (g, path, content, 0);
2337 char src[] = "/old";
2338 char dest[] = "/new";
2341 r = guestfs_cp (g, src, dest);
2346 char path[] = "/old";
2349 r = guestfs_is_file (g, path);
2353 fprintf (stderr, "test_cp_1: expected true, got false\n");
2360 static int test_cp_2_skip (void)
2364 str = getenv ("SKIP_TEST_CP_2");
2365 if (str && strcmp (str, "1") == 0) return 1;
2366 str = getenv ("SKIP_TEST_CP");
2367 if (str && strcmp (str, "1") == 0) return 1;
2371 static int test_cp_2 (void)
2373 if (test_cp_2_skip ()) {
2374 printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_cp_2");
2378 /* InitBasicFS for test_cp_2: create ext2 on /dev/sda1 */
2380 char device[] = "/dev/sda";
2381 device[5] = devchar;
2384 r = guestfs_blockdev_setrw (g, device);
2391 r = guestfs_umount_all (g);
2398 r = guestfs_lvm_remove_all (g);
2403 char device[] = "/dev/sda";
2404 device[5] = devchar;
2405 char lines_0[] = ",";
2412 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
2417 char fstype[] = "ext2";
2418 char device[] = "/dev/sda1";
2419 device[5] = devchar;
2422 r = guestfs_mkfs (g, fstype, device);
2427 char device[] = "/dev/sda1";
2428 device[5] = devchar;
2429 char mountpoint[] = "/";
2432 r = guestfs_mount (g, device, mountpoint);
2436 /* TestOutput for cp (2) */
2437 char expected[] = "file content";
2439 char path[] = "/old";
2440 char content[] = "file content";
2443 r = guestfs_write_file (g, path, content, 0);
2448 char path[] = "/dir";
2451 r = guestfs_mkdir (g, path);
2456 char src[] = "/old";
2457 char dest[] = "/dir/new";
2460 r = guestfs_cp (g, src, dest);
2465 char path[] = "/dir/new";
2468 r = guestfs_cat (g, path);
2471 if (strcmp (r, expected) != 0) {
2472 fprintf (stderr, "test_cp_2: expected \"%s\" but got \"%s\"\n", expected, r);
2480 static int test_grub_install_0_skip (void)
2484 str = getenv ("SKIP_TEST_GRUB_INSTALL_0");
2485 if (str && strcmp (str, "1") == 0) return 1;
2486 str = getenv ("SKIP_TEST_GRUB_INSTALL");
2487 if (str && strcmp (str, "1") == 0) return 1;
2491 static int test_grub_install_0 (void)
2493 if (test_grub_install_0_skip ()) {
2494 printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_grub_install_0");
2498 /* InitBasicFS for test_grub_install_0: create ext2 on /dev/sda1 */
2500 char device[] = "/dev/sda";
2501 device[5] = devchar;
2504 r = guestfs_blockdev_setrw (g, device);
2511 r = guestfs_umount_all (g);
2518 r = guestfs_lvm_remove_all (g);
2523 char device[] = "/dev/sda";
2524 device[5] = devchar;
2525 char lines_0[] = ",";
2532 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
2537 char fstype[] = "ext2";
2538 char device[] = "/dev/sda1";
2539 device[5] = devchar;
2542 r = guestfs_mkfs (g, fstype, device);
2547 char device[] = "/dev/sda1";
2548 device[5] = devchar;
2549 char mountpoint[] = "/";
2552 r = guestfs_mount (g, device, mountpoint);
2556 /* TestOutputTrue for grub_install (0) */
2559 char device[] = "/dev/sda1";
2560 device[5] = devchar;
2563 r = guestfs_grub_install (g, root, device);
2568 char path[] = "/boot";
2571 r = guestfs_is_dir (g, path);
2575 fprintf (stderr, "test_grub_install_0: expected true, got false\n");
2582 static int test_zero_0_skip (void)
2586 str = getenv ("SKIP_TEST_ZERO_0");
2587 if (str && strcmp (str, "1") == 0) return 1;
2588 str = getenv ("SKIP_TEST_ZERO");
2589 if (str && strcmp (str, "1") == 0) return 1;
2593 static int test_zero_0 (void)
2595 if (test_zero_0_skip ()) {
2596 printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_zero_0");
2600 /* InitBasicFS for test_zero_0: create ext2 on /dev/sda1 */
2602 char device[] = "/dev/sda";
2603 device[5] = devchar;
2606 r = guestfs_blockdev_setrw (g, device);
2613 r = guestfs_umount_all (g);
2620 r = guestfs_lvm_remove_all (g);
2625 char device[] = "/dev/sda";
2626 device[5] = devchar;
2627 char lines_0[] = ",";
2634 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
2639 char fstype[] = "ext2";
2640 char device[] = "/dev/sda1";
2641 device[5] = devchar;
2644 r = guestfs_mkfs (g, fstype, device);
2649 char device[] = "/dev/sda1";
2650 device[5] = devchar;
2651 char mountpoint[] = "/";
2654 r = guestfs_mount (g, device, mountpoint);
2658 /* TestOutput for zero (0) */
2659 char expected[] = "data";
2661 char pathordevice[] = "/dev/sda1";
2662 pathordevice[5] = devchar;
2665 r = guestfs_umount (g, pathordevice);
2670 char device[] = "/dev/sda1";
2671 device[5] = devchar;
2674 r = guestfs_zero (g, device);
2679 char path[] = "/dev/sda1";
2683 r = guestfs_file (g, path);
2686 if (strcmp (r, expected) != 0) {
2687 fprintf (stderr, "test_zero_0: expected \"%s\" but got \"%s\"\n", expected, r);
2695 static int test_fsck_0_skip (void)
2699 str = getenv ("SKIP_TEST_FSCK_0");
2700 if (str && strcmp (str, "1") == 0) return 1;
2701 str = getenv ("SKIP_TEST_FSCK");
2702 if (str && strcmp (str, "1") == 0) return 1;
2706 static int test_fsck_0 (void)
2708 if (test_fsck_0_skip ()) {
2709 printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_fsck_0");
2713 /* InitBasicFS for test_fsck_0: create ext2 on /dev/sda1 */
2715 char device[] = "/dev/sda";
2716 device[5] = devchar;
2719 r = guestfs_blockdev_setrw (g, device);
2726 r = guestfs_umount_all (g);
2733 r = guestfs_lvm_remove_all (g);
2738 char device[] = "/dev/sda";
2739 device[5] = devchar;
2740 char lines_0[] = ",";
2747 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
2752 char fstype[] = "ext2";
2753 char device[] = "/dev/sda1";
2754 device[5] = devchar;
2757 r = guestfs_mkfs (g, fstype, device);
2762 char device[] = "/dev/sda1";
2763 device[5] = devchar;
2764 char mountpoint[] = "/";
2767 r = guestfs_mount (g, device, mountpoint);
2771 /* TestOutputInt for fsck (0) */
2773 char pathordevice[] = "/dev/sda1";
2774 pathordevice[5] = devchar;
2777 r = guestfs_umount (g, pathordevice);
2782 char fstype[] = "ext2";
2783 char device[] = "/dev/sda1";
2784 device[5] = devchar;
2787 r = guestfs_fsck (g, fstype, device);
2791 fprintf (stderr, "test_fsck_0: expected 0 but got %d\n", (int) r);
2798 static int test_fsck_1_skip (void)
2802 str = getenv ("SKIP_TEST_FSCK_1");
2803 if (str && strcmp (str, "1") == 0) return 1;
2804 str = getenv ("SKIP_TEST_FSCK");
2805 if (str && strcmp (str, "1") == 0) return 1;
2809 static int test_fsck_1 (void)
2811 if (test_fsck_1_skip ()) {
2812 printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_fsck_1");
2816 /* InitBasicFS for test_fsck_1: create ext2 on /dev/sda1 */
2818 char device[] = "/dev/sda";
2819 device[5] = devchar;
2822 r = guestfs_blockdev_setrw (g, device);
2829 r = guestfs_umount_all (g);
2836 r = guestfs_lvm_remove_all (g);
2841 char device[] = "/dev/sda";
2842 device[5] = devchar;
2843 char lines_0[] = ",";
2850 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
2855 char fstype[] = "ext2";
2856 char device[] = "/dev/sda1";
2857 device[5] = devchar;
2860 r = guestfs_mkfs (g, fstype, device);
2865 char device[] = "/dev/sda1";
2866 device[5] = devchar;
2867 char mountpoint[] = "/";
2870 r = guestfs_mount (g, device, mountpoint);
2874 /* TestOutputInt for fsck (1) */
2876 char pathordevice[] = "/dev/sda1";
2877 pathordevice[5] = devchar;
2880 r = guestfs_umount (g, pathordevice);
2885 char device[] = "/dev/sda1";
2886 device[5] = devchar;
2889 r = guestfs_zero (g, device);
2894 char fstype[] = "ext2";
2895 char device[] = "/dev/sda1";
2896 device[5] = devchar;
2899 r = guestfs_fsck (g, fstype, device);
2903 fprintf (stderr, "test_fsck_1: expected 8 but got %d\n", (int) r);
2910 static int test_set_e2uuid_0_skip (void)
2914 str = getenv ("SKIP_TEST_SET_E2UUID_0");
2915 if (str && strcmp (str, "1") == 0) return 1;
2916 str = getenv ("SKIP_TEST_SET_E2UUID");
2917 if (str && strcmp (str, "1") == 0) return 1;
2921 static int test_set_e2uuid_0 (void)
2923 if (test_set_e2uuid_0_skip ()) {
2924 printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_set_e2uuid_0");
2928 /* InitBasicFS for test_set_e2uuid_0: create ext2 on /dev/sda1 */
2930 char device[] = "/dev/sda";
2931 device[5] = devchar;
2934 r = guestfs_blockdev_setrw (g, device);
2941 r = guestfs_umount_all (g);
2948 r = guestfs_lvm_remove_all (g);
2953 char device[] = "/dev/sda";
2954 device[5] = devchar;
2955 char lines_0[] = ",";
2962 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
2967 char fstype[] = "ext2";
2968 char device[] = "/dev/sda1";
2969 device[5] = devchar;
2972 r = guestfs_mkfs (g, fstype, device);
2977 char device[] = "/dev/sda1";
2978 device[5] = devchar;
2979 char mountpoint[] = "/";
2982 r = guestfs_mount (g, device, mountpoint);
2986 /* TestOutput for set_e2uuid (0) */
2987 char expected[] = "a3a61220-882b-4f61-89f4-cf24dcc7297d";
2989 char device[] = "/dev/sda1";
2990 device[5] = devchar;
2991 char uuid[] = "a3a61220-882b-4f61-89f4-cf24dcc7297d";
2994 r = guestfs_set_e2uuid (g, device, uuid);
2999 char device[] = "/dev/sda1";
3000 device[5] = devchar;
3003 r = guestfs_get_e2uuid (g, device);
3006 if (strcmp (r, expected) != 0) {
3007 fprintf (stderr, "test_set_e2uuid_0: expected \"%s\" but got \"%s\"\n", expected, r);
3015 static int test_set_e2uuid_1_skip (void)
3019 str = getenv ("SKIP_TEST_SET_E2UUID_1");
3020 if (str && strcmp (str, "1") == 0) return 1;
3021 str = getenv ("SKIP_TEST_SET_E2UUID");
3022 if (str && strcmp (str, "1") == 0) return 1;
3026 static int test_set_e2uuid_1 (void)
3028 if (test_set_e2uuid_1_skip ()) {
3029 printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_set_e2uuid_1");
3033 /* InitBasicFS for test_set_e2uuid_1: create ext2 on /dev/sda1 */
3035 char device[] = "/dev/sda";
3036 device[5] = devchar;
3039 r = guestfs_blockdev_setrw (g, device);
3046 r = guestfs_umount_all (g);
3053 r = guestfs_lvm_remove_all (g);
3058 char device[] = "/dev/sda";
3059 device[5] = devchar;
3060 char lines_0[] = ",";
3067 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
3072 char fstype[] = "ext2";
3073 char device[] = "/dev/sda1";
3074 device[5] = devchar;
3077 r = guestfs_mkfs (g, fstype, device);
3082 char device[] = "/dev/sda1";
3083 device[5] = devchar;
3084 char mountpoint[] = "/";
3087 r = guestfs_mount (g, device, mountpoint);
3091 /* TestOutput for set_e2uuid (1) */
3092 char expected[] = "";
3094 char device[] = "/dev/sda1";
3095 device[5] = devchar;
3096 char uuid[] = "clear";
3099 r = guestfs_set_e2uuid (g, device, uuid);
3104 char device[] = "/dev/sda1";
3105 device[5] = devchar;
3108 r = guestfs_get_e2uuid (g, device);
3111 if (strcmp (r, expected) != 0) {
3112 fprintf (stderr, "test_set_e2uuid_1: expected \"%s\" but got \"%s\"\n", expected, r);
3120 static int test_set_e2uuid_2_skip (void)
3124 str = getenv ("SKIP_TEST_SET_E2UUID_2");
3125 if (str && strcmp (str, "1") == 0) return 1;
3126 str = getenv ("SKIP_TEST_SET_E2UUID");
3127 if (str && strcmp (str, "1") == 0) return 1;
3131 static int test_set_e2uuid_2 (void)
3133 if (test_set_e2uuid_2_skip ()) {
3134 printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_set_e2uuid_2");
3138 /* InitBasicFS for test_set_e2uuid_2: create ext2 on /dev/sda1 */
3140 char device[] = "/dev/sda";
3141 device[5] = devchar;
3144 r = guestfs_blockdev_setrw (g, device);
3151 r = guestfs_umount_all (g);
3158 r = guestfs_lvm_remove_all (g);
3163 char device[] = "/dev/sda";
3164 device[5] = devchar;
3165 char lines_0[] = ",";
3172 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
3177 char fstype[] = "ext2";
3178 char device[] = "/dev/sda1";
3179 device[5] = devchar;
3182 r = guestfs_mkfs (g, fstype, device);
3187 char device[] = "/dev/sda1";
3188 device[5] = devchar;
3189 char mountpoint[] = "/";
3192 r = guestfs_mount (g, device, mountpoint);
3196 /* TestRun for set_e2uuid (2) */
3198 char device[] = "/dev/sda1";
3199 device[5] = devchar;
3200 char uuid[] = "random";
3203 r = guestfs_set_e2uuid (g, device, uuid);
3210 static int test_set_e2uuid_3_skip (void)
3214 str = getenv ("SKIP_TEST_SET_E2UUID_3");
3215 if (str && strcmp (str, "1") == 0) return 1;
3216 str = getenv ("SKIP_TEST_SET_E2UUID");
3217 if (str && strcmp (str, "1") == 0) return 1;
3221 static int test_set_e2uuid_3 (void)
3223 if (test_set_e2uuid_3_skip ()) {
3224 printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_set_e2uuid_3");
3228 /* InitBasicFS for test_set_e2uuid_3: create ext2 on /dev/sda1 */
3230 char device[] = "/dev/sda";
3231 device[5] = devchar;
3234 r = guestfs_blockdev_setrw (g, device);
3241 r = guestfs_umount_all (g);
3248 r = guestfs_lvm_remove_all (g);
3253 char device[] = "/dev/sda";
3254 device[5] = devchar;
3255 char lines_0[] = ",";
3262 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
3267 char fstype[] = "ext2";
3268 char device[] = "/dev/sda1";
3269 device[5] = devchar;
3272 r = guestfs_mkfs (g, fstype, device);
3277 char device[] = "/dev/sda1";
3278 device[5] = devchar;
3279 char mountpoint[] = "/";
3282 r = guestfs_mount (g, device, mountpoint);
3286 /* TestRun for set_e2uuid (3) */
3288 char device[] = "/dev/sda1";
3289 device[5] = devchar;
3290 char uuid[] = "time";
3293 r = guestfs_set_e2uuid (g, device, uuid);
3300 static int test_set_e2label_0_skip (void)
3304 str = getenv ("SKIP_TEST_SET_E2LABEL_0");
3305 if (str && strcmp (str, "1") == 0) return 1;
3306 str = getenv ("SKIP_TEST_SET_E2LABEL");
3307 if (str && strcmp (str, "1") == 0) return 1;
3311 static int test_set_e2label_0 (void)
3313 if (test_set_e2label_0_skip ()) {
3314 printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_set_e2label_0");
3318 /* InitBasicFS for test_set_e2label_0: create ext2 on /dev/sda1 */
3320 char device[] = "/dev/sda";
3321 device[5] = devchar;
3324 r = guestfs_blockdev_setrw (g, device);
3331 r = guestfs_umount_all (g);
3338 r = guestfs_lvm_remove_all (g);
3343 char device[] = "/dev/sda";
3344 device[5] = devchar;
3345 char lines_0[] = ",";
3352 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
3357 char fstype[] = "ext2";
3358 char device[] = "/dev/sda1";
3359 device[5] = devchar;
3362 r = guestfs_mkfs (g, fstype, device);
3367 char device[] = "/dev/sda1";
3368 device[5] = devchar;
3369 char mountpoint[] = "/";
3372 r = guestfs_mount (g, device, mountpoint);
3376 /* TestOutput for set_e2label (0) */
3377 char expected[] = "testlabel";
3379 char device[] = "/dev/sda1";
3380 device[5] = devchar;
3381 char label[] = "testlabel";
3384 r = guestfs_set_e2label (g, device, label);
3389 char device[] = "/dev/sda1";
3390 device[5] = devchar;
3393 r = guestfs_get_e2label (g, device);
3396 if (strcmp (r, expected) != 0) {
3397 fprintf (stderr, "test_set_e2label_0: expected \"%s\" but got \"%s\"\n", expected, r);
3405 static int test_pvremove_0_skip (void)
3409 str = getenv ("SKIP_TEST_PVREMOVE_0");
3410 if (str && strcmp (str, "1") == 0) return 1;
3411 str = getenv ("SKIP_TEST_PVREMOVE");
3412 if (str && strcmp (str, "1") == 0) return 1;
3416 static int test_pvremove_0 (void)
3418 if (test_pvremove_0_skip ()) {
3419 printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_pvremove_0");
3423 /* InitNone|InitEmpty for test_pvremove_0 */
3425 char device[] = "/dev/sda";
3426 device[5] = devchar;
3429 r = guestfs_blockdev_setrw (g, device);
3436 r = guestfs_umount_all (g);
3443 r = guestfs_lvm_remove_all (g);
3447 /* TestOutputList for pvremove (0) */
3449 char device[] = "/dev/sda";
3450 device[5] = devchar;
3451 char lines_0[] = ",";
3458 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
3463 char device[] = "/dev/sda1";
3464 device[5] = devchar;
3467 r = guestfs_pvcreate (g, device);
3472 char volgroup[] = "VG";
3473 char physvols_0[] = "/dev/sda1";
3474 physvols_0[5] = devchar;
3475 char *physvols[] = {
3481 r = guestfs_vgcreate (g, volgroup, physvols);
3486 char logvol[] = "LV1";
3487 char volgroup[] = "VG";
3490 r = guestfs_lvcreate (g, logvol, volgroup, 50);
3495 char logvol[] = "LV2";
3496 char volgroup[] = "VG";
3499 r = guestfs_lvcreate (g, logvol, volgroup, 50);
3504 char vgname[] = "VG";
3507 r = guestfs_vgremove (g, vgname);
3512 char device[] = "/dev/sda1";
3513 device[5] = devchar;
3516 r = guestfs_pvremove (g, device);
3524 r = guestfs_lvs (g);
3528 fprintf (stderr, "test_pvremove_0: extra elements returned from command\n");
3532 for (i = 0; r[i] != NULL; ++i)
3539 static int test_pvremove_1_skip (void)
3543 str = getenv ("SKIP_TEST_PVREMOVE_1");
3544 if (str && strcmp (str, "1") == 0) return 1;
3545 str = getenv ("SKIP_TEST_PVREMOVE");
3546 if (str && strcmp (str, "1") == 0) return 1;
3550 static int test_pvremove_1 (void)
3552 if (test_pvremove_1_skip ()) {
3553 printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_pvremove_1");
3557 /* InitNone|InitEmpty for test_pvremove_1 */
3559 char device[] = "/dev/sda";
3560 device[5] = devchar;
3563 r = guestfs_blockdev_setrw (g, device);
3570 r = guestfs_umount_all (g);
3577 r = guestfs_lvm_remove_all (g);
3581 /* TestOutputList for pvremove (1) */
3583 char device[] = "/dev/sda";
3584 device[5] = devchar;
3585 char lines_0[] = ",";
3592 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
3597 char device[] = "/dev/sda1";
3598 device[5] = devchar;
3601 r = guestfs_pvcreate (g, device);
3606 char volgroup[] = "VG";
3607 char physvols_0[] = "/dev/sda1";
3608 physvols_0[5] = devchar;
3609 char *physvols[] = {
3615 r = guestfs_vgcreate (g, volgroup, physvols);
3620 char logvol[] = "LV1";
3621 char volgroup[] = "VG";
3624 r = guestfs_lvcreate (g, logvol, volgroup, 50);
3629 char logvol[] = "LV2";
3630 char volgroup[] = "VG";
3633 r = guestfs_lvcreate (g, logvol, volgroup, 50);
3638 char vgname[] = "VG";
3641 r = guestfs_vgremove (g, vgname);
3646 char device[] = "/dev/sda1";
3647 device[5] = devchar;
3650 r = guestfs_pvremove (g, device);
3658 r = guestfs_vgs (g);
3662 fprintf (stderr, "test_pvremove_1: extra elements returned from command\n");
3666 for (i = 0; r[i] != NULL; ++i)
3673 static int test_pvremove_2_skip (void)
3677 str = getenv ("SKIP_TEST_PVREMOVE_2");
3678 if (str && strcmp (str, "1") == 0) return 1;
3679 str = getenv ("SKIP_TEST_PVREMOVE");
3680 if (str && strcmp (str, "1") == 0) return 1;
3684 static int test_pvremove_2 (void)
3686 if (test_pvremove_2_skip ()) {
3687 printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_pvremove_2");
3691 /* InitNone|InitEmpty for test_pvremove_2 */
3693 char device[] = "/dev/sda";
3694 device[5] = devchar;
3697 r = guestfs_blockdev_setrw (g, device);
3704 r = guestfs_umount_all (g);
3711 r = guestfs_lvm_remove_all (g);
3715 /* TestOutputList for pvremove (2) */
3717 char device[] = "/dev/sda";
3718 device[5] = devchar;
3719 char lines_0[] = ",";
3726 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
3731 char device[] = "/dev/sda1";
3732 device[5] = devchar;
3735 r = guestfs_pvcreate (g, device);
3740 char volgroup[] = "VG";
3741 char physvols_0[] = "/dev/sda1";
3742 physvols_0[5] = devchar;
3743 char *physvols[] = {
3749 r = guestfs_vgcreate (g, volgroup, physvols);
3754 char logvol[] = "LV1";
3755 char volgroup[] = "VG";
3758 r = guestfs_lvcreate (g, logvol, volgroup, 50);
3763 char logvol[] = "LV2";
3764 char volgroup[] = "VG";
3767 r = guestfs_lvcreate (g, logvol, volgroup, 50);
3772 char vgname[] = "VG";
3775 r = guestfs_vgremove (g, vgname);
3780 char device[] = "/dev/sda1";
3781 device[5] = devchar;
3784 r = guestfs_pvremove (g, device);
3792 r = guestfs_pvs (g);
3796 fprintf (stderr, "test_pvremove_2: extra elements returned from command\n");
3800 for (i = 0; r[i] != NULL; ++i)
3807 static int test_vgremove_0_skip (void)
3811 str = getenv ("SKIP_TEST_VGREMOVE_0");
3812 if (str && strcmp (str, "1") == 0) return 1;
3813 str = getenv ("SKIP_TEST_VGREMOVE");
3814 if (str && strcmp (str, "1") == 0) return 1;
3818 static int test_vgremove_0 (void)
3820 if (test_vgremove_0_skip ()) {
3821 printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_vgremove_0");
3825 /* InitNone|InitEmpty for test_vgremove_0 */
3827 char device[] = "/dev/sda";
3828 device[5] = devchar;
3831 r = guestfs_blockdev_setrw (g, device);
3838 r = guestfs_umount_all (g);
3845 r = guestfs_lvm_remove_all (g);
3849 /* TestOutputList for vgremove (0) */
3851 char device[] = "/dev/sda";
3852 device[5] = devchar;
3853 char lines_0[] = ",";
3860 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
3865 char device[] = "/dev/sda1";
3866 device[5] = devchar;
3869 r = guestfs_pvcreate (g, device);
3874 char volgroup[] = "VG";
3875 char physvols_0[] = "/dev/sda1";
3876 physvols_0[5] = devchar;
3877 char *physvols[] = {
3883 r = guestfs_vgcreate (g, volgroup, physvols);
3888 char logvol[] = "LV1";
3889 char volgroup[] = "VG";
3892 r = guestfs_lvcreate (g, logvol, volgroup, 50);
3897 char logvol[] = "LV2";
3898 char volgroup[] = "VG";
3901 r = guestfs_lvcreate (g, logvol, volgroup, 50);
3906 char vgname[] = "VG";
3909 r = guestfs_vgremove (g, vgname);
3917 r = guestfs_lvs (g);
3921 fprintf (stderr, "test_vgremove_0: extra elements returned from command\n");
3925 for (i = 0; r[i] != NULL; ++i)
3932 static int test_vgremove_1_skip (void)
3936 str = getenv ("SKIP_TEST_VGREMOVE_1");
3937 if (str && strcmp (str, "1") == 0) return 1;
3938 str = getenv ("SKIP_TEST_VGREMOVE");
3939 if (str && strcmp (str, "1") == 0) return 1;
3943 static int test_vgremove_1 (void)
3945 if (test_vgremove_1_skip ()) {
3946 printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_vgremove_1");
3950 /* InitNone|InitEmpty for test_vgremove_1 */
3952 char device[] = "/dev/sda";
3953 device[5] = devchar;
3956 r = guestfs_blockdev_setrw (g, device);
3963 r = guestfs_umount_all (g);
3970 r = guestfs_lvm_remove_all (g);
3974 /* TestOutputList for vgremove (1) */
3976 char device[] = "/dev/sda";
3977 device[5] = devchar;
3978 char lines_0[] = ",";
3985 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
3990 char device[] = "/dev/sda1";
3991 device[5] = devchar;
3994 r = guestfs_pvcreate (g, device);
3999 char volgroup[] = "VG";
4000 char physvols_0[] = "/dev/sda1";
4001 physvols_0[5] = devchar;
4002 char *physvols[] = {
4008 r = guestfs_vgcreate (g, volgroup, physvols);
4013 char logvol[] = "LV1";
4014 char volgroup[] = "VG";
4017 r = guestfs_lvcreate (g, logvol, volgroup, 50);
4022 char logvol[] = "LV2";
4023 char volgroup[] = "VG";
4026 r = guestfs_lvcreate (g, logvol, volgroup, 50);
4031 char vgname[] = "VG";
4034 r = guestfs_vgremove (g, vgname);
4042 r = guestfs_vgs (g);
4046 fprintf (stderr, "test_vgremove_1: extra elements returned from command\n");
4050 for (i = 0; r[i] != NULL; ++i)
4057 static int test_lvremove_0_skip (void)