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_test0\" has no tests\n");
61 fprintf (stderr, "warning: \"guestfs_test0rint\" has no tests\n");
62 fprintf (stderr, "warning: \"guestfs_test0rinterr\" has no tests\n");
63 fprintf (stderr, "warning: \"guestfs_test0rint64\" has no tests\n");
64 fprintf (stderr, "warning: \"guestfs_test0rint64err\" has no tests\n");
65 fprintf (stderr, "warning: \"guestfs_test0rbool\" has no tests\n");
66 fprintf (stderr, "warning: \"guestfs_test0rboolerr\" has no tests\n");
67 fprintf (stderr, "warning: \"guestfs_test0rconststring\" has no tests\n");
68 fprintf (stderr, "warning: \"guestfs_test0rconststringerr\" has no tests\n");
69 fprintf (stderr, "warning: \"guestfs_test0rstring\" has no tests\n");
70 fprintf (stderr, "warning: \"guestfs_test0rstringerr\" has no tests\n");
71 fprintf (stderr, "warning: \"guestfs_test0rstringlist\" has no tests\n");
72 fprintf (stderr, "warning: \"guestfs_test0rstringlisterr\" has no tests\n");
73 fprintf (stderr, "warning: \"guestfs_test0rintbool\" has no tests\n");
74 fprintf (stderr, "warning: \"guestfs_test0rintboolerr\" has no tests\n");
75 fprintf (stderr, "warning: \"guestfs_test0rpvlist\" has no tests\n");
76 fprintf (stderr, "warning: \"guestfs_test0rpvlisterr\" has no tests\n");
77 fprintf (stderr, "warning: \"guestfs_test0rvglist\" has no tests\n");
78 fprintf (stderr, "warning: \"guestfs_test0rvglisterr\" has no tests\n");
79 fprintf (stderr, "warning: \"guestfs_test0rlvlist\" has no tests\n");
80 fprintf (stderr, "warning: \"guestfs_test0rlvlisterr\" has no tests\n");
81 fprintf (stderr, "warning: \"guestfs_test0rstat\" has no tests\n");
82 fprintf (stderr, "warning: \"guestfs_test0rstaterr\" has no tests\n");
83 fprintf (stderr, "warning: \"guestfs_test0rstatvfs\" has no tests\n");
84 fprintf (stderr, "warning: \"guestfs_test0rstatvfserr\" has no tests\n");
85 fprintf (stderr, "warning: \"guestfs_test0rhashtable\" has no tests\n");
86 fprintf (stderr, "warning: \"guestfs_test0rhashtableerr\" has no tests\n");
87 fprintf (stderr, "warning: \"guestfs_launch\" has no tests\n");
88 fprintf (stderr, "warning: \"guestfs_wait_ready\" has no tests\n");
89 fprintf (stderr, "warning: \"guestfs_kill_subprocess\" has no tests\n");
90 fprintf (stderr, "warning: \"guestfs_add_drive\" has no tests\n");
91 fprintf (stderr, "warning: \"guestfs_add_cdrom\" has no tests\n");
92 fprintf (stderr, "warning: \"guestfs_add_drive_ro\" has no tests\n");
93 fprintf (stderr, "warning: \"guestfs_config\" has no tests\n");
94 fprintf (stderr, "warning: \"guestfs_set_qemu\" has no tests\n");
95 fprintf (stderr, "warning: \"guestfs_get_qemu\" has no tests\n");
96 fprintf (stderr, "warning: \"guestfs_set_path\" has no tests\n");
97 fprintf (stderr, "warning: \"guestfs_get_path\" has no tests\n");
98 fprintf (stderr, "warning: \"guestfs_set_append\" has no tests\n");
99 fprintf (stderr, "warning: \"guestfs_get_append\" has no tests\n");
100 fprintf (stderr, "warning: \"guestfs_set_autosync\" has no tests\n");
101 fprintf (stderr, "warning: \"guestfs_get_autosync\" has no tests\n");
102 fprintf (stderr, "warning: \"guestfs_set_verbose\" has no tests\n");
103 fprintf (stderr, "warning: \"guestfs_get_verbose\" has no tests\n");
104 fprintf (stderr, "warning: \"guestfs_is_ready\" has no tests\n");
105 fprintf (stderr, "warning: \"guestfs_is_config\" has no tests\n");
106 fprintf (stderr, "warning: \"guestfs_is_launching\" has no tests\n");
107 fprintf (stderr, "warning: \"guestfs_is_busy\" has no tests\n");
108 fprintf (stderr, "warning: \"guestfs_get_state\" has no tests\n");
109 fprintf (stderr, "warning: \"guestfs_set_busy\" has no tests\n");
110 fprintf (stderr, "warning: \"guestfs_set_ready\" has no tests\n");
111 fprintf (stderr, "warning: \"guestfs_end_busy\" has no tests\n");
112 fprintf (stderr, "warning: \"guestfs_ll\" has no tests\n");
113 fprintf (stderr, "warning: \"guestfs_pvs_full\" has no tests\n");
114 fprintf (stderr, "warning: \"guestfs_vgs_full\" has no tests\n");
115 fprintf (stderr, "warning: \"guestfs_lvs_full\" has no tests\n");
116 fprintf (stderr, "warning: \"guestfs_aug_init\" has no tests\n");
117 fprintf (stderr, "warning: \"guestfs_aug_close\" has no tests\n");
118 fprintf (stderr, "warning: \"guestfs_aug_defvar\" has no tests\n");
119 fprintf (stderr, "warning: \"guestfs_aug_defnode\" has no tests\n");
120 fprintf (stderr, "warning: \"guestfs_aug_get\" has no tests\n");
121 fprintf (stderr, "warning: \"guestfs_aug_set\" has no tests\n");
122 fprintf (stderr, "warning: \"guestfs_aug_insert\" has no tests\n");
123 fprintf (stderr, "warning: \"guestfs_aug_rm\" has no tests\n");
124 fprintf (stderr, "warning: \"guestfs_aug_mv\" has no tests\n");
125 fprintf (stderr, "warning: \"guestfs_aug_match\" has no tests\n");
126 fprintf (stderr, "warning: \"guestfs_aug_save\" has no tests\n");
127 fprintf (stderr, "warning: \"guestfs_aug_load\" has no tests\n");
128 fprintf (stderr, "warning: \"guestfs_aug_ls\" has no tests\n");
129 fprintf (stderr, "warning: \"guestfs_chmod\" has no tests\n");
130 fprintf (stderr, "warning: \"guestfs_chown\" has no tests\n");
131 fprintf (stderr, "warning: \"guestfs_sfdisk\" has no tests\n");
132 fprintf (stderr, "warning: \"guestfs_lvm_remove_all\" has no tests\n");
133 fprintf (stderr, "warning: \"guestfs_tune2fs_l\" has no tests\n");
134 fprintf (stderr, "warning: \"guestfs_blockdev_setbsz\" has no tests\n");
135 fprintf (stderr, "warning: \"guestfs_tar_out\" has no tests\n");
136 fprintf (stderr, "warning: \"guestfs_tgz_out\" has no tests\n");
137 fprintf (stderr, "warning: \"guestfs_mount_options\" has no tests\n");
138 fprintf (stderr, "warning: \"guestfs_mount_vfs\" has no tests\n");
139 fprintf (stderr, "warning: \"guestfs_debug\" has no tests\n");
140 fprintf (stderr, "warning: \"guestfs_get_e2label\" has no tests\n");
141 fprintf (stderr, "warning: \"guestfs_get_e2uuid\" has no tests\n");
142 fprintf (stderr, "warning: \"guestfs_pvresize\" has no tests\n");
143 fprintf (stderr, "warning: \"guestfs_sfdisk_N\" has no tests\n");
144 fprintf (stderr, "warning: \"guestfs_sfdisk_l\" has no tests\n");
145 fprintf (stderr, "warning: \"guestfs_sfdisk_kernel_geometry\" has no tests\n");
146 fprintf (stderr, "warning: \"guestfs_sfdisk_disk_geometry\" has no tests\n");
147 fprintf (stderr, "warning: \"guestfs_vg_activate_all\" has no tests\n");
148 fprintf (stderr, "warning: \"guestfs_vg_activate\" has no tests\n");
149 fprintf (stderr, "warning: \"guestfs_resize2fs\" has no tests\n");
150 fprintf (stderr, "warning: \"guestfs_e2fsck_f\" has no tests\n");
153 static int test_ntfs_3g_probe_0_skip (void)
157 str = getenv ("SKIP_TEST_NTFS_3G_PROBE_0");
158 if (str && strcmp (str, "1") == 0) return 1;
159 str = getenv ("SKIP_TEST_NTFS_3G_PROBE");
160 if (str && strcmp (str, "1") == 0) return 1;
164 static int test_ntfs_3g_probe_0 (void)
166 if (test_ntfs_3g_probe_0_skip ()) {
167 printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_ntfs_3g_probe_0");
171 /* InitNone|InitEmpty for test_ntfs_3g_probe_0 */
173 char device[] = "/dev/sda";
176 r = guestfs_blockdev_setrw (g, device);
183 r = guestfs_umount_all (g);
190 r = guestfs_lvm_remove_all (g);
194 /* TestOutputInt for ntfs_3g_probe (0) */
196 char device[] = "/dev/sda";
197 char lines_0[] = ",";
204 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
209 char fstype[] = "ntfs";
210 char device[] = "/dev/sda1";
213 r = guestfs_mkfs (g, fstype, device);
218 char device[] = "/dev/sda1";
221 r = guestfs_ntfs_3g_probe (g, 1, device);
225 fprintf (stderr, "test_ntfs_3g_probe_0: expected 0 but got %d\n", (int) r);
232 static int test_ntfs_3g_probe_1_skip (void)
236 str = getenv ("SKIP_TEST_NTFS_3G_PROBE_1");
237 if (str && strcmp (str, "1") == 0) return 1;
238 str = getenv ("SKIP_TEST_NTFS_3G_PROBE");
239 if (str && strcmp (str, "1") == 0) return 1;
243 static int test_ntfs_3g_probe_1 (void)
245 if (test_ntfs_3g_probe_1_skip ()) {
246 printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_ntfs_3g_probe_1");
250 /* InitNone|InitEmpty for test_ntfs_3g_probe_1 */
252 char device[] = "/dev/sda";
255 r = guestfs_blockdev_setrw (g, device);
262 r = guestfs_umount_all (g);
269 r = guestfs_lvm_remove_all (g);
273 /* TestOutputInt for ntfs_3g_probe (1) */
275 char device[] = "/dev/sda";
276 char lines_0[] = ",";
283 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
288 char fstype[] = "ext2";
289 char device[] = "/dev/sda1";
292 r = guestfs_mkfs (g, fstype, device);
297 char device[] = "/dev/sda1";
300 r = guestfs_ntfs_3g_probe (g, 1, device);
304 fprintf (stderr, "test_ntfs_3g_probe_1: expected 12 but got %d\n", (int) r);
311 static int test_sleep_0_skip (void)
315 str = getenv ("SKIP_TEST_SLEEP_0");
316 if (str && strcmp (str, "1") == 0) return 1;
317 str = getenv ("SKIP_TEST_SLEEP");
318 if (str && strcmp (str, "1") == 0) return 1;
322 static int test_sleep_0 (void)
324 if (test_sleep_0_skip ()) {
325 printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_sleep_0");
329 /* InitNone|InitEmpty for test_sleep_0 */
331 char device[] = "/dev/sda";
334 r = guestfs_blockdev_setrw (g, device);
341 r = guestfs_umount_all (g);
348 r = guestfs_lvm_remove_all (g);
352 /* TestRun for sleep (0) */
356 r = guestfs_sleep (g, 1);
363 static int test_find_0_skip (void)
367 str = getenv ("SKIP_TEST_FIND_0");
368 if (str && strcmp (str, "1") == 0) return 1;
369 str = getenv ("SKIP_TEST_FIND");
370 if (str && strcmp (str, "1") == 0) return 1;
374 static int test_find_0 (void)
376 if (test_find_0_skip ()) {
377 printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_find_0");
381 /* InitBasicFS for test_find_0: create ext2 on /dev/sda1 */
383 char device[] = "/dev/sda";
386 r = guestfs_blockdev_setrw (g, device);
393 r = guestfs_umount_all (g);
400 r = guestfs_lvm_remove_all (g);
405 char device[] = "/dev/sda";
406 char lines_0[] = ",";
413 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
418 char fstype[] = "ext2";
419 char device[] = "/dev/sda1";
422 r = guestfs_mkfs (g, fstype, device);
427 char device[] = "/dev/sda1";
428 char mountpoint[] = "/";
431 r = guestfs_mount (g, device, mountpoint);
435 /* TestOutputList for find (0) */
437 char directory[] = "/";
441 r = guestfs_find (g, directory);
445 fprintf (stderr, "test_find_0: short list returned from command\n");
450 char expected[] = "lost+found";
451 if (strcmp (r[0], expected) != 0) {
452 fprintf (stderr, "test_find_0: expected \"%s\" but got \"%s\"\n", expected, r[0]);
457 fprintf (stderr, "test_find_0: extra elements returned from command\n");
461 for (i = 0; r[i] != NULL; ++i)
468 static int test_find_1_skip (void)
472 str = getenv ("SKIP_TEST_FIND_1");
473 if (str && strcmp (str, "1") == 0) return 1;
474 str = getenv ("SKIP_TEST_FIND");
475 if (str && strcmp (str, "1") == 0) return 1;
479 static int test_find_1 (void)
481 if (test_find_1_skip ()) {
482 printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_find_1");
486 /* InitBasicFS for test_find_1: create ext2 on /dev/sda1 */
488 char device[] = "/dev/sda";
491 r = guestfs_blockdev_setrw (g, device);
498 r = guestfs_umount_all (g);
505 r = guestfs_lvm_remove_all (g);
510 char device[] = "/dev/sda";
511 char lines_0[] = ",";
518 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
523 char fstype[] = "ext2";
524 char device[] = "/dev/sda1";
527 r = guestfs_mkfs (g, fstype, device);
532 char device[] = "/dev/sda1";
533 char mountpoint[] = "/";
536 r = guestfs_mount (g, device, mountpoint);
540 /* TestOutputList for find (1) */
545 r = guestfs_touch (g, path);
553 r = guestfs_mkdir (g, path);
558 char path[] = "/b/c";
561 r = guestfs_touch (g, path);
566 char directory[] = "/";
570 r = guestfs_find (g, directory);
574 fprintf (stderr, "test_find_1: short list returned from command\n");
579 char expected[] = "a";
580 if (strcmp (r[0], expected) != 0) {
581 fprintf (stderr, "test_find_1: expected \"%s\" but got \"%s\"\n", expected, r[0]);
586 fprintf (stderr, "test_find_1: short list returned from command\n");
591 char expected[] = "b";
592 if (strcmp (r[1], expected) != 0) {
593 fprintf (stderr, "test_find_1: expected \"%s\" but got \"%s\"\n", expected, r[1]);
598 fprintf (stderr, "test_find_1: short list returned from command\n");
603 char expected[] = "b/c";
604 if (strcmp (r[2], expected) != 0) {
605 fprintf (stderr, "test_find_1: expected \"%s\" but got \"%s\"\n", expected, r[2]);
610 fprintf (stderr, "test_find_1: short list returned from command\n");
615 char expected[] = "lost+found";
616 if (strcmp (r[3], expected) != 0) {
617 fprintf (stderr, "test_find_1: expected \"%s\" but got \"%s\"\n", expected, r[3]);
622 fprintf (stderr, "test_find_1: extra elements returned from command\n");
626 for (i = 0; r[i] != NULL; ++i)
633 static int test_find_2_skip (void)
637 str = getenv ("SKIP_TEST_FIND_2");
638 if (str && strcmp (str, "1") == 0) return 1;
639 str = getenv ("SKIP_TEST_FIND");
640 if (str && strcmp (str, "1") == 0) return 1;
644 static int test_find_2 (void)
646 if (test_find_2_skip ()) {
647 printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_find_2");
651 /* InitBasicFS for test_find_2: create ext2 on /dev/sda1 */
653 char device[] = "/dev/sda";
656 r = guestfs_blockdev_setrw (g, device);
663 r = guestfs_umount_all (g);
670 r = guestfs_lvm_remove_all (g);
675 char device[] = "/dev/sda";
676 char lines_0[] = ",";
683 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
688 char fstype[] = "ext2";
689 char device[] = "/dev/sda1";
692 r = guestfs_mkfs (g, fstype, device);
697 char device[] = "/dev/sda1";
698 char mountpoint[] = "/";
701 r = guestfs_mount (g, device, mountpoint);
705 /* TestOutputList for find (2) */
707 char path[] = "/a/b/c";
710 r = guestfs_mkdir_p (g, path);
715 char path[] = "/a/b/c/d";
718 r = guestfs_touch (g, path);
723 char directory[] = "/a/b/";
727 r = guestfs_find (g, directory);
731 fprintf (stderr, "test_find_2: short list returned from command\n");
736 char expected[] = "c";
737 if (strcmp (r[0], expected) != 0) {
738 fprintf (stderr, "test_find_2: expected \"%s\" but got \"%s\"\n", expected, r[0]);
743 fprintf (stderr, "test_find_2: short list returned from command\n");
748 char expected[] = "c/d";
749 if (strcmp (r[1], expected) != 0) {
750 fprintf (stderr, "test_find_2: expected \"%s\" but got \"%s\"\n", expected, r[1]);
755 fprintf (stderr, "test_find_2: extra elements returned from command\n");
759 for (i = 0; r[i] != NULL; ++i)
766 static int test_lvresize_0_skip (void)
770 str = getenv ("SKIP_TEST_LVRESIZE_0");
771 if (str && strcmp (str, "1") == 0) return 1;
772 str = getenv ("SKIP_TEST_LVRESIZE");
773 if (str && strcmp (str, "1") == 0) return 1;
777 static int test_lvresize_0 (void)
779 if (test_lvresize_0_skip ()) {
780 printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_lvresize_0");
784 /* InitNone|InitEmpty for test_lvresize_0 */
786 char device[] = "/dev/sda";
789 r = guestfs_blockdev_setrw (g, device);
796 r = guestfs_umount_all (g);
803 r = guestfs_lvm_remove_all (g);
807 /* TestOutput for lvresize (0) */
808 char expected[] = "test content";
810 char device[] = "/dev/sda";
811 char lines_0[] = ",";
818 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
823 char device[] = "/dev/sda1";
826 r = guestfs_pvcreate (g, device);
831 char volgroup[] = "VG";
832 char physvols_0[] = "/dev/sda1";
839 r = guestfs_vgcreate (g, volgroup, physvols);
844 char logvol[] = "LV";
845 char volgroup[] = "VG";
848 r = guestfs_lvcreate (g, logvol, volgroup, 10);
853 char fstype[] = "ext2";
854 char device[] = "/dev/VG/LV";
857 r = guestfs_mkfs (g, fstype, device);
862 char device[] = "/dev/VG/LV";
863 char mountpoint[] = "/";
866 r = guestfs_mount (g, device, mountpoint);
871 char path[] = "/new";
872 char content[] = "test content";
875 r = guestfs_write_file (g, path, content, 0);
880 char pathordevice[] = "/";
883 r = guestfs_umount (g, pathordevice);
888 char device[] = "/dev/VG/LV";
891 r = guestfs_lvresize (g, device, 20);
896 char device[] = "/dev/VG/LV";
899 r = guestfs_e2fsck_f (g, device);
904 char device[] = "/dev/VG/LV";
907 r = guestfs_resize2fs (g, device);
912 char device[] = "/dev/VG/LV";
913 char mountpoint[] = "/";
916 r = guestfs_mount (g, device, mountpoint);
921 char path[] = "/new";
924 r = guestfs_cat (g, path);
927 if (strcmp (r, expected) != 0) {
928 fprintf (stderr, "test_lvresize_0: expected \"%s\" but got \"%s\"\n", expected, r);
936 static int test_zerofree_0_skip (void)
940 str = getenv ("SKIP_TEST_ZEROFREE_0");
941 if (str && strcmp (str, "1") == 0) return 1;
942 str = getenv ("SKIP_TEST_ZEROFREE");
943 if (str && strcmp (str, "1") == 0) return 1;
947 static int test_zerofree_0 (void)
949 if (test_zerofree_0_skip ()) {
950 printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_zerofree_0");
954 /* InitNone|InitEmpty for test_zerofree_0 */
956 char device[] = "/dev/sda";
959 r = guestfs_blockdev_setrw (g, device);
966 r = guestfs_umount_all (g);
973 r = guestfs_lvm_remove_all (g);
977 /* TestOutput for zerofree (0) */
978 char expected[] = "test file";
980 char device[] = "/dev/sda";
981 char lines_0[] = ",";
988 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
993 char fstype[] = "ext3";
994 char device[] = "/dev/sda1";
997 r = guestfs_mkfs (g, fstype, device);
1002 char device[] = "/dev/sda1";
1003 char mountpoint[] = "/";
1006 r = guestfs_mount (g, device, mountpoint);
1011 char path[] = "/new";
1012 char content[] = "test file";
1015 r = guestfs_write_file (g, path, content, 0);
1020 char pathordevice[] = "/dev/sda1";
1023 r = guestfs_umount (g, pathordevice);
1028 char device[] = "/dev/sda1";
1031 r = guestfs_zerofree (g, device);
1036 char device[] = "/dev/sda1";
1037 char mountpoint[] = "/";
1040 r = guestfs_mount (g, device, mountpoint);
1045 char path[] = "/new";
1048 r = guestfs_cat (g, path);
1051 if (strcmp (r, expected) != 0) {
1052 fprintf (stderr, "test_zerofree_0: expected \"%s\" but got \"%s\"\n", expected, r);
1060 static int test_hexdump_0_skip (void)
1064 str = getenv ("SKIP_TEST_HEXDUMP_0");
1065 if (str && strcmp (str, "1") == 0) return 1;
1066 str = getenv ("SKIP_TEST_HEXDUMP");
1067 if (str && strcmp (str, "1") == 0) return 1;
1071 static int test_hexdump_0 (void)
1073 if (test_hexdump_0_skip ()) {
1074 printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_hexdump_0");
1078 /* InitBasicFS for test_hexdump_0: create ext2 on /dev/sda1 */
1080 char device[] = "/dev/sda";
1083 r = guestfs_blockdev_setrw (g, device);
1090 r = guestfs_umount_all (g);
1097 r = guestfs_lvm_remove_all (g);
1102 char device[] = "/dev/sda";
1103 char lines_0[] = ",";
1110 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
1115 char fstype[] = "ext2";
1116 char device[] = "/dev/sda1";
1119 r = guestfs_mkfs (g, fstype, device);
1124 char device[] = "/dev/sda1";
1125 char mountpoint[] = "/";
1128 r = guestfs_mount (g, device, mountpoint);
1132 /* TestOutput for hexdump (0) */
1133 char expected[] = "00000000 68 65 6c 6c 6f 0a 77 6f 72 6c 64 0a |hello.world.|\n0000000c\n";
1135 char path[] = "/new";
1136 char content[] = "hello\nworld\n";
1139 r = guestfs_write_file (g, path, content, 12);
1144 char path[] = "/new";
1147 r = guestfs_hexdump (g, path);
1150 if (strcmp (r, expected) != 0) {
1151 fprintf (stderr, "test_hexdump_0: expected \"%s\" but got \"%s\"\n", expected, r);
1159 static int test_strings_e_0_skip (void)
1163 str = getenv ("SKIP_TEST_STRINGS_E_0");
1164 if (str && strcmp (str, "1") == 0) return 1;
1165 str = getenv ("SKIP_TEST_STRINGS_E");
1166 if (str && strcmp (str, "1") == 0) return 1;
1170 static int test_strings_e_0 (void)
1172 if (test_strings_e_0_skip ()) {
1173 printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_strings_e_0");
1177 /* InitBasicFS for test_strings_e_0: create ext2 on /dev/sda1 */
1179 char device[] = "/dev/sda";
1182 r = guestfs_blockdev_setrw (g, device);
1189 r = guestfs_umount_all (g);
1196 r = guestfs_lvm_remove_all (g);
1201 char device[] = "/dev/sda";
1202 char lines_0[] = ",";
1209 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
1214 char fstype[] = "ext2";
1215 char device[] = "/dev/sda1";
1218 r = guestfs_mkfs (g, fstype, device);
1223 char device[] = "/dev/sda1";
1224 char mountpoint[] = "/";
1227 r = guestfs_mount (g, device, mountpoint);
1231 /* TestOutputList for strings_e (0) */
1233 char path[] = "/new";
1234 char content[] = "hello\nworld\n";
1237 r = guestfs_write_file (g, path, content, 0);
1242 char encoding[] = "b";
1243 char path[] = "/new";
1247 r = guestfs_strings_e (g, encoding, path);
1251 fprintf (stderr, "test_strings_e_0: extra elements returned from command\n");
1255 for (i = 0; r[i] != NULL; ++i)
1262 static int test_strings_e_1_skip (void)
1266 str = getenv ("SKIP_TEST_STRINGS_E_1");
1267 if (str && strcmp (str, "1") == 0) return 1;
1268 str = getenv ("SKIP_TEST_STRINGS_E");
1269 if (str && strcmp (str, "1") == 0) return 1;
1273 static int test_strings_e_1 (void)
1275 if (test_strings_e_1_skip ()) {
1276 printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_strings_e_1");
1280 printf ("%s skipped (reason: test disabled in generator)\n", "test_strings_e_1");
1284 static int test_strings_0_skip (void)
1288 str = getenv ("SKIP_TEST_STRINGS_0");
1289 if (str && strcmp (str, "1") == 0) return 1;
1290 str = getenv ("SKIP_TEST_STRINGS");
1291 if (str && strcmp (str, "1") == 0) return 1;
1295 static int test_strings_0 (void)
1297 if (test_strings_0_skip ()) {
1298 printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_strings_0");
1302 /* InitBasicFS for test_strings_0: create ext2 on /dev/sda1 */
1304 char device[] = "/dev/sda";
1307 r = guestfs_blockdev_setrw (g, device);
1314 r = guestfs_umount_all (g);
1321 r = guestfs_lvm_remove_all (g);
1326 char device[] = "/dev/sda";
1327 char lines_0[] = ",";
1334 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
1339 char fstype[] = "ext2";
1340 char device[] = "/dev/sda1";
1343 r = guestfs_mkfs (g, fstype, device);
1348 char device[] = "/dev/sda1";
1349 char mountpoint[] = "/";
1352 r = guestfs_mount (g, device, mountpoint);
1356 /* TestOutputList for strings (0) */
1358 char path[] = "/new";
1359 char content[] = "hello\nworld\n";
1362 r = guestfs_write_file (g, path, content, 0);
1367 char path[] = "/new";
1371 r = guestfs_strings (g, path);
1375 fprintf (stderr, "test_strings_0: short list returned from command\n");
1380 char expected[] = "hello";
1381 if (strcmp (r[0], expected) != 0) {
1382 fprintf (stderr, "test_strings_0: expected \"%s\" but got \"%s\"\n", expected, r[0]);
1387 fprintf (stderr, "test_strings_0: short list returned from command\n");
1392 char expected[] = "world";
1393 if (strcmp (r[1], expected) != 0) {
1394 fprintf (stderr, "test_strings_0: expected \"%s\" but got \"%s\"\n", expected, r[1]);
1399 fprintf (stderr, "test_strings_0: extra elements returned from command\n");
1403 for (i = 0; r[i] != NULL; ++i)
1410 static int test_strings_1_skip (void)
1414 str = getenv ("SKIP_TEST_STRINGS_1");
1415 if (str && strcmp (str, "1") == 0) return 1;
1416 str = getenv ("SKIP_TEST_STRINGS");
1417 if (str && strcmp (str, "1") == 0) return 1;
1421 static int test_strings_1 (void)
1423 if (test_strings_1_skip ()) {
1424 printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_strings_1");
1428 /* InitBasicFS for test_strings_1: create ext2 on /dev/sda1 */
1430 char device[] = "/dev/sda";
1433 r = guestfs_blockdev_setrw (g, device);
1440 r = guestfs_umount_all (g);
1447 r = guestfs_lvm_remove_all (g);
1452 char device[] = "/dev/sda";
1453 char lines_0[] = ",";
1460 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
1465 char fstype[] = "ext2";
1466 char device[] = "/dev/sda1";
1469 r = guestfs_mkfs (g, fstype, device);
1474 char device[] = "/dev/sda1";
1475 char mountpoint[] = "/";
1478 r = guestfs_mount (g, device, mountpoint);
1482 /* TestOutputList for strings (1) */
1484 char path[] = "/new";
1487 r = guestfs_touch (g, path);
1492 char path[] = "/new";
1496 r = guestfs_strings (g, path);
1500 fprintf (stderr, "test_strings_1: extra elements returned from command\n");
1504 for (i = 0; r[i] != NULL; ++i)
1511 static int test_equal_0_skip (void)
1515 str = getenv ("SKIP_TEST_EQUAL_0");
1516 if (str && strcmp (str, "1") == 0) return 1;
1517 str = getenv ("SKIP_TEST_EQUAL");
1518 if (str && strcmp (str, "1") == 0) return 1;
1522 static int test_equal_0 (void)
1524 if (test_equal_0_skip ()) {
1525 printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_equal_0");
1529 /* InitBasicFS for test_equal_0: create ext2 on /dev/sda1 */
1531 char device[] = "/dev/sda";
1534 r = guestfs_blockdev_setrw (g, device);
1541 r = guestfs_umount_all (g);
1548 r = guestfs_lvm_remove_all (g);
1553 char device[] = "/dev/sda";
1554 char lines_0[] = ",";
1561 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
1566 char fstype[] = "ext2";
1567 char device[] = "/dev/sda1";
1570 r = guestfs_mkfs (g, fstype, device);
1575 char device[] = "/dev/sda1";
1576 char mountpoint[] = "/";
1579 r = guestfs_mount (g, device, mountpoint);
1583 /* TestOutputTrue for equal (0) */
1585 char path[] = "/file1";
1586 char content[] = "contents of a file";
1589 r = guestfs_write_file (g, path, content, 0);
1594 char src[] = "/file1";
1595 char dest[] = "/file2";
1598 r = guestfs_cp (g, src, dest);
1603 char file1[] = "/file1";
1604 char file2[] = "/file2";
1607 r = guestfs_equal (g, file1, file2);
1611 fprintf (stderr, "test_equal_0: expected true, got false\n");
1618 static int test_equal_1_skip (void)
1622 str = getenv ("SKIP_TEST_EQUAL_1");
1623 if (str && strcmp (str, "1") == 0) return 1;
1624 str = getenv ("SKIP_TEST_EQUAL");
1625 if (str && strcmp (str, "1") == 0) return 1;
1629 static int test_equal_1 (void)
1631 if (test_equal_1_skip ()) {
1632 printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_equal_1");
1636 /* InitBasicFS for test_equal_1: create ext2 on /dev/sda1 */
1638 char device[] = "/dev/sda";
1641 r = guestfs_blockdev_setrw (g, device);
1648 r = guestfs_umount_all (g);
1655 r = guestfs_lvm_remove_all (g);
1660 char device[] = "/dev/sda";
1661 char lines_0[] = ",";
1668 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
1673 char fstype[] = "ext2";
1674 char device[] = "/dev/sda1";
1677 r = guestfs_mkfs (g, fstype, device);
1682 char device[] = "/dev/sda1";
1683 char mountpoint[] = "/";
1686 r = guestfs_mount (g, device, mountpoint);
1690 /* TestOutputFalse for equal (1) */
1692 char path[] = "/file1";
1693 char content[] = "contents of a file";
1696 r = guestfs_write_file (g, path, content, 0);
1701 char path[] = "/file2";
1702 char content[] = "contents of another file";
1705 r = guestfs_write_file (g, path, content, 0);
1710 char file1[] = "/file1";
1711 char file2[] = "/file2";
1714 r = guestfs_equal (g, file1, file2);
1718 fprintf (stderr, "test_equal_1: expected false, got true\n");
1725 static int test_equal_2_skip (void)
1729 str = getenv ("SKIP_TEST_EQUAL_2");
1730 if (str && strcmp (str, "1") == 0) return 1;
1731 str = getenv ("SKIP_TEST_EQUAL");
1732 if (str && strcmp (str, "1") == 0) return 1;
1736 static int test_equal_2 (void)
1738 if (test_equal_2_skip ()) {
1739 printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_equal_2");
1743 /* InitBasicFS for test_equal_2: create ext2 on /dev/sda1 */
1745 char device[] = "/dev/sda";
1748 r = guestfs_blockdev_setrw (g, device);
1755 r = guestfs_umount_all (g);
1762 r = guestfs_lvm_remove_all (g);
1767 char device[] = "/dev/sda";
1768 char lines_0[] = ",";
1775 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
1780 char fstype[] = "ext2";
1781 char device[] = "/dev/sda1";
1784 r = guestfs_mkfs (g, fstype, device);
1789 char device[] = "/dev/sda1";
1790 char mountpoint[] = "/";
1793 r = guestfs_mount (g, device, mountpoint);
1797 /* TestLastFail for equal (2) */
1799 char file1[] = "/file1";
1800 char file2[] = "/file2";
1803 r = guestfs_equal (g, file1, file2);
1810 static int test_ping_daemon_0_skip (void)
1814 str = getenv ("SKIP_TEST_PING_DAEMON_0");
1815 if (str && strcmp (str, "1") == 0) return 1;
1816 str = getenv ("SKIP_TEST_PING_DAEMON");
1817 if (str && strcmp (str, "1") == 0) return 1;
1821 static int test_ping_daemon_0 (void)
1823 if (test_ping_daemon_0_skip ()) {
1824 printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_ping_daemon_0");
1828 /* InitNone|InitEmpty for test_ping_daemon_0 */
1830 char device[] = "/dev/sda";
1833 r = guestfs_blockdev_setrw (g, device);
1840 r = guestfs_umount_all (g);
1847 r = guestfs_lvm_remove_all (g);
1851 /* TestRun for ping_daemon (0) */
1855 r = guestfs_ping_daemon (g);
1862 static int test_dmesg_0_skip (void)
1866 str = getenv ("SKIP_TEST_DMESG_0");
1867 if (str && strcmp (str, "1") == 0) return 1;
1868 str = getenv ("SKIP_TEST_DMESG");
1869 if (str && strcmp (str, "1") == 0) return 1;
1873 static int test_dmesg_0 (void)
1875 if (test_dmesg_0_skip ()) {
1876 printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_dmesg_0");
1880 /* InitNone|InitEmpty for test_dmesg_0 */
1882 char device[] = "/dev/sda";
1885 r = guestfs_blockdev_setrw (g, device);
1892 r = guestfs_umount_all (g);
1899 r = guestfs_lvm_remove_all (g);
1903 /* TestRun for dmesg (0) */
1907 r = guestfs_dmesg (g);
1915 static int test_drop_caches_0_skip (void)
1919 str = getenv ("SKIP_TEST_DROP_CACHES_0");
1920 if (str && strcmp (str, "1") == 0) return 1;
1921 str = getenv ("SKIP_TEST_DROP_CACHES");
1922 if (str && strcmp (str, "1") == 0) return 1;
1926 static int test_drop_caches_0 (void)
1928 if (test_drop_caches_0_skip ()) {
1929 printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_drop_caches_0");
1933 /* InitNone|InitEmpty for test_drop_caches_0 */
1935 char device[] = "/dev/sda";
1938 r = guestfs_blockdev_setrw (g, device);
1945 r = guestfs_umount_all (g);
1952 r = guestfs_lvm_remove_all (g);
1956 /* TestRun for drop_caches (0) */
1960 r = guestfs_drop_caches (g, 3);
1967 static int test_mv_0_skip (void)
1971 str = getenv ("SKIP_TEST_MV_0");
1972 if (str && strcmp (str, "1") == 0) return 1;
1973 str = getenv ("SKIP_TEST_MV");
1974 if (str && strcmp (str, "1") == 0) return 1;
1978 static int test_mv_0 (void)
1980 if (test_mv_0_skip ()) {
1981 printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_mv_0");
1985 /* InitBasicFS for test_mv_0: create ext2 on /dev/sda1 */
1987 char device[] = "/dev/sda";
1990 r = guestfs_blockdev_setrw (g, device);
1997 r = guestfs_umount_all (g);
2004 r = guestfs_lvm_remove_all (g);
2009 char device[] = "/dev/sda";
2010 char lines_0[] = ",";
2017 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
2022 char fstype[] = "ext2";
2023 char device[] = "/dev/sda1";
2026 r = guestfs_mkfs (g, fstype, device);
2031 char device[] = "/dev/sda1";
2032 char mountpoint[] = "/";
2035 r = guestfs_mount (g, device, mountpoint);
2039 /* TestOutput for mv (0) */
2040 char expected[] = "file content";
2042 char path[] = "/old";
2043 char content[] = "file content";
2046 r = guestfs_write_file (g, path, content, 0);
2051 char src[] = "/old";
2052 char dest[] = "/new";
2055 r = guestfs_mv (g, src, dest);
2060 char path[] = "/new";
2063 r = guestfs_cat (g, path);
2066 if (strcmp (r, expected) != 0) {
2067 fprintf (stderr, "test_mv_0: expected \"%s\" but got \"%s\"\n", expected, r);
2075 static int test_mv_1_skip (void)
2079 str = getenv ("SKIP_TEST_MV_1");
2080 if (str && strcmp (str, "1") == 0) return 1;
2081 str = getenv ("SKIP_TEST_MV");
2082 if (str && strcmp (str, "1") == 0) return 1;
2086 static int test_mv_1 (void)
2088 if (test_mv_1_skip ()) {
2089 printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_mv_1");
2093 /* InitBasicFS for test_mv_1: create ext2 on /dev/sda1 */
2095 char device[] = "/dev/sda";
2098 r = guestfs_blockdev_setrw (g, device);
2105 r = guestfs_umount_all (g);
2112 r = guestfs_lvm_remove_all (g);
2117 char device[] = "/dev/sda";
2118 char lines_0[] = ",";
2125 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
2130 char fstype[] = "ext2";
2131 char device[] = "/dev/sda1";
2134 r = guestfs_mkfs (g, fstype, device);
2139 char device[] = "/dev/sda1";
2140 char mountpoint[] = "/";
2143 r = guestfs_mount (g, device, mountpoint);
2147 /* TestOutputFalse for mv (1) */
2149 char path[] = "/old";
2150 char content[] = "file content";
2153 r = guestfs_write_file (g, path, content, 0);
2158 char src[] = "/old";
2159 char dest[] = "/new";
2162 r = guestfs_mv (g, src, dest);
2167 char path[] = "/old";
2170 r = guestfs_is_file (g, path);
2174 fprintf (stderr, "test_mv_1: expected false, got true\n");
2181 static int test_cp_a_0_skip (void)
2185 str = getenv ("SKIP_TEST_CP_A_0");
2186 if (str && strcmp (str, "1") == 0) return 1;
2187 str = getenv ("SKIP_TEST_CP_A");
2188 if (str && strcmp (str, "1") == 0) return 1;
2192 static int test_cp_a_0 (void)
2194 if (test_cp_a_0_skip ()) {
2195 printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_cp_a_0");
2199 /* InitBasicFS for test_cp_a_0: create ext2 on /dev/sda1 */
2201 char device[] = "/dev/sda";
2204 r = guestfs_blockdev_setrw (g, device);
2211 r = guestfs_umount_all (g);
2218 r = guestfs_lvm_remove_all (g);
2223 char device[] = "/dev/sda";
2224 char lines_0[] = ",";
2231 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
2236 char fstype[] = "ext2";
2237 char device[] = "/dev/sda1";
2240 r = guestfs_mkfs (g, fstype, device);
2245 char device[] = "/dev/sda1";
2246 char mountpoint[] = "/";
2249 r = guestfs_mount (g, device, mountpoint);
2253 /* TestOutput for cp_a (0) */
2254 char expected[] = "file content";
2256 char path[] = "/olddir";
2259 r = guestfs_mkdir (g, path);
2264 char path[] = "/newdir";
2267 r = guestfs_mkdir (g, path);
2272 char path[] = "/olddir/file";
2273 char content[] = "file content";
2276 r = guestfs_write_file (g, path, content, 0);
2281 char src[] = "/olddir";
2282 char dest[] = "/newdir";
2285 r = guestfs_cp_a (g, src, dest);
2290 char path[] = "/newdir/olddir/file";
2293 r = guestfs_cat (g, path);
2296 if (strcmp (r, expected) != 0) {
2297 fprintf (stderr, "test_cp_a_0: expected \"%s\" but got \"%s\"\n", expected, r);
2305 static int test_cp_0_skip (void)
2309 str = getenv ("SKIP_TEST_CP_0");
2310 if (str && strcmp (str, "1") == 0) return 1;
2311 str = getenv ("SKIP_TEST_CP");
2312 if (str && strcmp (str, "1") == 0) return 1;
2316 static int test_cp_0 (void)
2318 if (test_cp_0_skip ()) {
2319 printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_cp_0");
2323 /* InitBasicFS for test_cp_0: create ext2 on /dev/sda1 */
2325 char device[] = "/dev/sda";
2328 r = guestfs_blockdev_setrw (g, device);
2335 r = guestfs_umount_all (g);
2342 r = guestfs_lvm_remove_all (g);
2347 char device[] = "/dev/sda";
2348 char lines_0[] = ",";
2355 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
2360 char fstype[] = "ext2";
2361 char device[] = "/dev/sda1";
2364 r = guestfs_mkfs (g, fstype, device);
2369 char device[] = "/dev/sda1";
2370 char mountpoint[] = "/";
2373 r = guestfs_mount (g, device, mountpoint);
2377 /* TestOutput for cp (0) */
2378 char expected[] = "file content";
2380 char path[] = "/old";
2381 char content[] = "file content";
2384 r = guestfs_write_file (g, path, content, 0);
2389 char src[] = "/old";
2390 char dest[] = "/new";
2393 r = guestfs_cp (g, src, dest);
2398 char path[] = "/new";
2401 r = guestfs_cat (g, path);
2404 if (strcmp (r, expected) != 0) {
2405 fprintf (stderr, "test_cp_0: expected \"%s\" but got \"%s\"\n", expected, r);
2413 static int test_cp_1_skip (void)
2417 str = getenv ("SKIP_TEST_CP_1");
2418 if (str && strcmp (str, "1") == 0) return 1;
2419 str = getenv ("SKIP_TEST_CP");
2420 if (str && strcmp (str, "1") == 0) return 1;
2424 static int test_cp_1 (void)
2426 if (test_cp_1_skip ()) {
2427 printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_cp_1");
2431 /* InitBasicFS for test_cp_1: create ext2 on /dev/sda1 */
2433 char device[] = "/dev/sda";
2436 r = guestfs_blockdev_setrw (g, device);
2443 r = guestfs_umount_all (g);
2450 r = guestfs_lvm_remove_all (g);
2455 char device[] = "/dev/sda";
2456 char lines_0[] = ",";
2463 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
2468 char fstype[] = "ext2";
2469 char device[] = "/dev/sda1";
2472 r = guestfs_mkfs (g, fstype, device);
2477 char device[] = "/dev/sda1";
2478 char mountpoint[] = "/";
2481 r = guestfs_mount (g, device, mountpoint);
2485 /* TestOutputTrue for cp (1) */
2487 char path[] = "/old";
2488 char content[] = "file content";
2491 r = guestfs_write_file (g, path, content, 0);
2496 char src[] = "/old";
2497 char dest[] = "/new";
2500 r = guestfs_cp (g, src, dest);
2505 char path[] = "/old";
2508 r = guestfs_is_file (g, path);
2512 fprintf (stderr, "test_cp_1: expected true, got false\n");
2519 static int test_cp_2_skip (void)
2523 str = getenv ("SKIP_TEST_CP_2");
2524 if (str && strcmp (str, "1") == 0) return 1;
2525 str = getenv ("SKIP_TEST_CP");
2526 if (str && strcmp (str, "1") == 0) return 1;
2530 static int test_cp_2 (void)
2532 if (test_cp_2_skip ()) {
2533 printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_cp_2");
2537 /* InitBasicFS for test_cp_2: create ext2 on /dev/sda1 */
2539 char device[] = "/dev/sda";
2542 r = guestfs_blockdev_setrw (g, device);
2549 r = guestfs_umount_all (g);
2556 r = guestfs_lvm_remove_all (g);
2561 char device[] = "/dev/sda";
2562 char lines_0[] = ",";
2569 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
2574 char fstype[] = "ext2";
2575 char device[] = "/dev/sda1";
2578 r = guestfs_mkfs (g, fstype, device);
2583 char device[] = "/dev/sda1";
2584 char mountpoint[] = "/";
2587 r = guestfs_mount (g, device, mountpoint);
2591 /* TestOutput for cp (2) */
2592 char expected[] = "file content";
2594 char path[] = "/old";
2595 char content[] = "file content";
2598 r = guestfs_write_file (g, path, content, 0);
2603 char path[] = "/dir";
2606 r = guestfs_mkdir (g, path);
2611 char src[] = "/old";
2612 char dest[] = "/dir/new";
2615 r = guestfs_cp (g, src, dest);
2620 char path[] = "/dir/new";
2623 r = guestfs_cat (g, path);
2626 if (strcmp (r, expected) != 0) {
2627 fprintf (stderr, "test_cp_2: expected \"%s\" but got \"%s\"\n", expected, r);
2635 static int test_grub_install_0_skip (void)
2639 str = getenv ("SKIP_TEST_GRUB_INSTALL_0");
2640 if (str && strcmp (str, "1") == 0) return 1;
2641 str = getenv ("SKIP_TEST_GRUB_INSTALL");
2642 if (str && strcmp (str, "1") == 0) return 1;
2646 static int test_grub_install_0 (void)
2648 if (test_grub_install_0_skip ()) {
2649 printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_grub_install_0");
2653 /* InitBasicFS for test_grub_install_0: create ext2 on /dev/sda1 */
2655 char device[] = "/dev/sda";
2658 r = guestfs_blockdev_setrw (g, device);
2665 r = guestfs_umount_all (g);
2672 r = guestfs_lvm_remove_all (g);
2677 char device[] = "/dev/sda";
2678 char lines_0[] = ",";
2685 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
2690 char fstype[] = "ext2";
2691 char device[] = "/dev/sda1";
2694 r = guestfs_mkfs (g, fstype, device);
2699 char device[] = "/dev/sda1";
2700 char mountpoint[] = "/";
2703 r = guestfs_mount (g, device, mountpoint);
2707 /* TestOutputTrue for grub_install (0) */
2710 char device[] = "/dev/sda1";
2713 r = guestfs_grub_install (g, root, device);
2718 char path[] = "/boot";
2721 r = guestfs_is_dir (g, path);
2725 fprintf (stderr, "test_grub_install_0: expected true, got false\n");
2732 static int test_zero_0_skip (void)
2736 str = getenv ("SKIP_TEST_ZERO_0");
2737 if (str && strcmp (str, "1") == 0) return 1;
2738 str = getenv ("SKIP_TEST_ZERO");
2739 if (str && strcmp (str, "1") == 0) return 1;
2743 static int test_zero_0 (void)
2745 if (test_zero_0_skip ()) {
2746 printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_zero_0");
2750 /* InitBasicFS for test_zero_0: create ext2 on /dev/sda1 */
2752 char device[] = "/dev/sda";
2755 r = guestfs_blockdev_setrw (g, device);
2762 r = guestfs_umount_all (g);
2769 r = guestfs_lvm_remove_all (g);
2774 char device[] = "/dev/sda";
2775 char lines_0[] = ",";
2782 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
2787 char fstype[] = "ext2";
2788 char device[] = "/dev/sda1";
2791 r = guestfs_mkfs (g, fstype, device);
2796 char device[] = "/dev/sda1";
2797 char mountpoint[] = "/";
2800 r = guestfs_mount (g, device, mountpoint);
2804 /* TestOutput for zero (0) */
2805 char expected[] = "data";
2807 char pathordevice[] = "/dev/sda1";
2810 r = guestfs_umount (g, pathordevice);
2815 char device[] = "/dev/sda1";
2818 r = guestfs_zero (g, device);
2823 char path[] = "/dev/sda1";
2826 r = guestfs_file (g, path);
2829 if (strcmp (r, expected) != 0) {
2830 fprintf (stderr, "test_zero_0: expected \"%s\" but got \"%s\"\n", expected, r);
2838 static int test_fsck_0_skip (void)
2842 str = getenv ("SKIP_TEST_FSCK_0");
2843 if (str && strcmp (str, "1") == 0) return 1;
2844 str = getenv ("SKIP_TEST_FSCK");
2845 if (str && strcmp (str, "1") == 0) return 1;
2849 static int test_fsck_0 (void)
2851 if (test_fsck_0_skip ()) {
2852 printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_fsck_0");
2856 /* InitBasicFS for test_fsck_0: create ext2 on /dev/sda1 */
2858 char device[] = "/dev/sda";
2861 r = guestfs_blockdev_setrw (g, device);
2868 r = guestfs_umount_all (g);
2875 r = guestfs_lvm_remove_all (g);
2880 char device[] = "/dev/sda";
2881 char lines_0[] = ",";
2888 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
2893 char fstype[] = "ext2";
2894 char device[] = "/dev/sda1";
2897 r = guestfs_mkfs (g, fstype, device);
2902 char device[] = "/dev/sda1";
2903 char mountpoint[] = "/";
2906 r = guestfs_mount (g, device, mountpoint);
2910 /* TestOutputInt for fsck (0) */
2912 char pathordevice[] = "/dev/sda1";
2915 r = guestfs_umount (g, pathordevice);
2920 char fstype[] = "ext2";
2921 char device[] = "/dev/sda1";
2924 r = guestfs_fsck (g, fstype, device);
2928 fprintf (stderr, "test_fsck_0: expected 0 but got %d\n", (int) r);
2935 static int test_fsck_1_skip (void)
2939 str = getenv ("SKIP_TEST_FSCK_1");
2940 if (str && strcmp (str, "1") == 0) return 1;
2941 str = getenv ("SKIP_TEST_FSCK");
2942 if (str && strcmp (str, "1") == 0) return 1;
2946 static int test_fsck_1 (void)
2948 if (test_fsck_1_skip ()) {
2949 printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_fsck_1");
2953 /* InitBasicFS for test_fsck_1: create ext2 on /dev/sda1 */
2955 char device[] = "/dev/sda";
2958 r = guestfs_blockdev_setrw (g, device);
2965 r = guestfs_umount_all (g);
2972 r = guestfs_lvm_remove_all (g);
2977 char device[] = "/dev/sda";
2978 char lines_0[] = ",";
2985 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
2990 char fstype[] = "ext2";
2991 char device[] = "/dev/sda1";
2994 r = guestfs_mkfs (g, fstype, device);
2999 char device[] = "/dev/sda1";
3000 char mountpoint[] = "/";
3003 r = guestfs_mount (g, device, mountpoint);
3007 /* TestOutputInt for fsck (1) */
3009 char pathordevice[] = "/dev/sda1";
3012 r = guestfs_umount (g, pathordevice);
3017 char device[] = "/dev/sda1";
3020 r = guestfs_zero (g, device);
3025 char fstype[] = "ext2";
3026 char device[] = "/dev/sda1";
3029 r = guestfs_fsck (g, fstype, device);
3033 fprintf (stderr, "test_fsck_1: expected 8 but got %d\n", (int) r);
3040 static int test_set_e2uuid_0_skip (void)
3044 str = getenv ("SKIP_TEST_SET_E2UUID_0");
3045 if (str && strcmp (str, "1") == 0) return 1;
3046 str = getenv ("SKIP_TEST_SET_E2UUID");
3047 if (str && strcmp (str, "1") == 0) return 1;
3051 static int test_set_e2uuid_0 (void)
3053 if (test_set_e2uuid_0_skip ()) {
3054 printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_set_e2uuid_0");
3058 /* InitBasicFS for test_set_e2uuid_0: create ext2 on /dev/sda1 */
3060 char device[] = "/dev/sda";
3063 r = guestfs_blockdev_setrw (g, device);
3070 r = guestfs_umount_all (g);
3077 r = guestfs_lvm_remove_all (g);
3082 char device[] = "/dev/sda";
3083 char lines_0[] = ",";
3090 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
3095 char fstype[] = "ext2";
3096 char device[] = "/dev/sda1";
3099 r = guestfs_mkfs (g, fstype, device);
3104 char device[] = "/dev/sda1";
3105 char mountpoint[] = "/";
3108 r = guestfs_mount (g, device, mountpoint);
3112 /* TestOutput for set_e2uuid (0) */
3113 char expected[] = "a3a61220-882b-4f61-89f4-cf24dcc7297d";
3115 char device[] = "/dev/sda1";
3116 char uuid[] = "a3a61220-882b-4f61-89f4-cf24dcc7297d";
3119 r = guestfs_set_e2uuid (g, device, uuid);
3124 char device[] = "/dev/sda1";
3127 r = guestfs_get_e2uuid (g, device);
3130 if (strcmp (r, expected) != 0) {
3131 fprintf (stderr, "test_set_e2uuid_0: expected \"%s\" but got \"%s\"\n", expected, r);
3139 static int test_set_e2uuid_1_skip (void)
3143 str = getenv ("SKIP_TEST_SET_E2UUID_1");
3144 if (str && strcmp (str, "1") == 0) return 1;
3145 str = getenv ("SKIP_TEST_SET_E2UUID");
3146 if (str && strcmp (str, "1") == 0) return 1;
3150 static int test_set_e2uuid_1 (void)
3152 if (test_set_e2uuid_1_skip ()) {
3153 printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_set_e2uuid_1");
3157 /* InitBasicFS for test_set_e2uuid_1: create ext2 on /dev/sda1 */
3159 char device[] = "/dev/sda";
3162 r = guestfs_blockdev_setrw (g, device);
3169 r = guestfs_umount_all (g);
3176 r = guestfs_lvm_remove_all (g);
3181 char device[] = "/dev/sda";
3182 char lines_0[] = ",";
3189 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
3194 char fstype[] = "ext2";
3195 char device[] = "/dev/sda1";
3198 r = guestfs_mkfs (g, fstype, device);
3203 char device[] = "/dev/sda1";
3204 char mountpoint[] = "/";
3207 r = guestfs_mount (g, device, mountpoint);
3211 /* TestOutput for set_e2uuid (1) */
3212 char expected[] = "";
3214 char device[] = "/dev/sda1";
3215 char uuid[] = "clear";
3218 r = guestfs_set_e2uuid (g, device, uuid);
3223 char device[] = "/dev/sda1";
3226 r = guestfs_get_e2uuid (g, device);
3229 if (strcmp (r, expected) != 0) {
3230 fprintf (stderr, "test_set_e2uuid_1: expected \"%s\" but got \"%s\"\n", expected, r);
3238 static int test_set_e2uuid_2_skip (void)
3242 str = getenv ("SKIP_TEST_SET_E2UUID_2");
3243 if (str && strcmp (str, "1") == 0) return 1;
3244 str = getenv ("SKIP_TEST_SET_E2UUID");
3245 if (str && strcmp (str, "1") == 0) return 1;
3249 static int test_set_e2uuid_2 (void)
3251 if (test_set_e2uuid_2_skip ()) {
3252 printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_set_e2uuid_2");
3256 /* InitBasicFS for test_set_e2uuid_2: create ext2 on /dev/sda1 */
3258 char device[] = "/dev/sda";
3261 r = guestfs_blockdev_setrw (g, device);
3268 r = guestfs_umount_all (g);
3275 r = guestfs_lvm_remove_all (g);
3280 char device[] = "/dev/sda";
3281 char lines_0[] = ",";
3288 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
3293 char fstype[] = "ext2";
3294 char device[] = "/dev/sda1";
3297 r = guestfs_mkfs (g, fstype, device);
3302 char device[] = "/dev/sda1";
3303 char mountpoint[] = "/";
3306 r = guestfs_mount (g, device, mountpoint);
3310 /* TestRun for set_e2uuid (2) */
3312 char device[] = "/dev/sda1";
3313 char uuid[] = "random";
3316 r = guestfs_set_e2uuid (g, device, uuid);
3323 static int test_set_e2uuid_3_skip (void)
3327 str = getenv ("SKIP_TEST_SET_E2UUID_3");
3328 if (str && strcmp (str, "1") == 0) return 1;
3329 str = getenv ("SKIP_TEST_SET_E2UUID");
3330 if (str && strcmp (str, "1") == 0) return 1;
3334 static int test_set_e2uuid_3 (void)
3336 if (test_set_e2uuid_3_skip ()) {
3337 printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_set_e2uuid_3");
3341 /* InitBasicFS for test_set_e2uuid_3: create ext2 on /dev/sda1 */
3343 char device[] = "/dev/sda";
3346 r = guestfs_blockdev_setrw (g, device);
3353 r = guestfs_umount_all (g);
3360 r = guestfs_lvm_remove_all (g);
3365 char device[] = "/dev/sda";
3366 char lines_0[] = ",";
3373 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
3378 char fstype[] = "ext2";
3379 char device[] = "/dev/sda1";
3382 r = guestfs_mkfs (g, fstype, device);
3387 char device[] = "/dev/sda1";
3388 char mountpoint[] = "/";
3391 r = guestfs_mount (g, device, mountpoint);
3395 /* TestRun for set_e2uuid (3) */
3397 char device[] = "/dev/sda1";
3398 char uuid[] = "time";
3401 r = guestfs_set_e2uuid (g, device, uuid);
3408 static int test_set_e2label_0_skip (void)
3412 str = getenv ("SKIP_TEST_SET_E2LABEL_0");
3413 if (str && strcmp (str, "1") == 0) return 1;
3414 str = getenv ("SKIP_TEST_SET_E2LABEL");
3415 if (str && strcmp (str, "1") == 0) return 1;
3419 static int test_set_e2label_0 (void)
3421 if (test_set_e2label_0_skip ()) {
3422 printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_set_e2label_0");
3426 /* InitBasicFS for test_set_e2label_0: create ext2 on /dev/sda1 */
3428 char device[] = "/dev/sda";
3431 r = guestfs_blockdev_setrw (g, device);
3438 r = guestfs_umount_all (g);
3445 r = guestfs_lvm_remove_all (g);
3450 char device[] = "/dev/sda";
3451 char lines_0[] = ",";
3458 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
3463 char fstype[] = "ext2";
3464 char device[] = "/dev/sda1";
3467 r = guestfs_mkfs (g, fstype, device);
3472 char device[] = "/dev/sda1";
3473 char mountpoint[] = "/";
3476 r = guestfs_mount (g, device, mountpoint);
3480 /* TestOutput for set_e2label (0) */
3481 char expected[] = "testlabel";
3483 char device[] = "/dev/sda1";
3484 char label[] = "testlabel";
3487 r = guestfs_set_e2label (g, device, label);
3492 char device[] = "/dev/sda1";
3495 r = guestfs_get_e2label (g, device);
3498 if (strcmp (r, expected) != 0) {
3499 fprintf (stderr, "test_set_e2label_0: expected \"%s\" but got \"%s\"\n", expected, r);
3507 static int test_pvremove_0_skip (void)
3511 str = getenv ("SKIP_TEST_PVREMOVE_0");
3512 if (str && strcmp (str, "1") == 0) return 1;
3513 str = getenv ("SKIP_TEST_PVREMOVE");
3514 if (str && strcmp (str, "1") == 0) return 1;
3518 static int test_pvremove_0 (void)
3520 if (test_pvremove_0_skip ()) {
3521 printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_pvremove_0");
3525 /* InitNone|InitEmpty for test_pvremove_0 */
3527 char device[] = "/dev/sda";
3530 r = guestfs_blockdev_setrw (g, device);
3537 r = guestfs_umount_all (g);
3544 r = guestfs_lvm_remove_all (g);
3548 /* TestOutputListOfDevices for pvremove (0) */
3550 char device[] = "/dev/sda";
3551 char lines_0[] = ",";
3558 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
3563 char device[] = "/dev/sda1";
3566 r = guestfs_pvcreate (g, device);
3571 char volgroup[] = "VG";
3572 char physvols_0[] = "/dev/sda1";
3573 char *physvols[] = {
3579 r = guestfs_vgcreate (g, volgroup, physvols);
3584 char logvol[] = "LV1";
3585 char volgroup[] = "VG";
3588 r = guestfs_lvcreate (g, logvol, volgroup, 50);
3593 char logvol[] = "LV2";
3594 char volgroup[] = "VG";
3597 r = guestfs_lvcreate (g, logvol, volgroup, 50);
3602 char vgname[] = "VG";
3605 r = guestfs_vgremove (g, vgname);
3610 char device[] = "/dev/sda1";
3613 r = guestfs_pvremove (g, device);
3621 r = guestfs_lvs (g);
3625 fprintf (stderr, "test_pvremove_0: extra elements returned from command\n");
3629 for (i = 0; r[i] != NULL; ++i)
3636 static int test_pvremove_1_skip (void)
3640 str = getenv ("SKIP_TEST_PVREMOVE_1");
3641 if (str && strcmp (str, "1") == 0) return 1;
3642 str = getenv ("SKIP_TEST_PVREMOVE");
3643 if (str && strcmp (str, "1") == 0) return 1;
3647 static int test_pvremove_1 (void)
3649 if (test_pvremove_1_skip ()) {
3650 printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_pvremove_1");
3654 /* InitNone|InitEmpty for test_pvremove_1 */
3656 char device[] = "/dev/sda";
3659 r = guestfs_blockdev_setrw (g, device);
3666 r = guestfs_umount_all (g);
3673 r = guestfs_lvm_remove_all (g);
3677 /* TestOutputListOfDevices for pvremove (1) */
3679 char device[] = "/dev/sda";
3680 char lines_0[] = ",";
3687 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
3692 char device[] = "/dev/sda1";
3695 r = guestfs_pvcreate (g, device);
3700 char volgroup[] = "VG";
3701 char physvols_0[] = "/dev/sda1";
3702 char *physvols[] = {
3708 r = guestfs_vgcreate (g, volgroup, physvols);
3713 char logvol[] = "LV1";
3714 char volgroup[] = "VG";
3717 r = guestfs_lvcreate (g, logvol, volgroup, 50);
3722 char logvol[] = "LV2";
3723 char volgroup[] = "VG";
3726 r = guestfs_lvcreate (g, logvol, volgroup, 50);
3731 char vgname[] = "VG";
3734 r = guestfs_vgremove (g, vgname);
3739 char device[] = "/dev/sda1";
3742 r = guestfs_pvremove (g, device);
3750 r = guestfs_vgs (g);
3754 fprintf (stderr, "test_pvremove_1: extra elements returned from command\n");
3758 for (i = 0; r[i] != NULL; ++i)
3765 static int test_pvremove_2_skip (void)
3769 str = getenv ("SKIP_TEST_PVREMOVE_2");
3770 if (str && strcmp (str, "1") == 0) return 1;
3771 str = getenv ("SKIP_TEST_PVREMOVE");
3772 if (str && strcmp (str, "1") == 0) return 1;
3776 static int test_pvremove_2 (void)
3778 if (test_pvremove_2_skip ()) {
3779 printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_pvremove_2");
3783 /* InitNone|InitEmpty for test_pvremove_2 */
3785 char device[] = "/dev/sda";
3788 r = guestfs_blockdev_setrw (g, device);
3795 r = guestfs_umount_all (g);
3802 r = guestfs_lvm_remove_all (g);
3806 /* TestOutputListOfDevices for pvremove (2) */
3808 char device[] = "/dev/sda";
3809 char lines_0[] = ",";
3816 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
3821 char device[] = "/dev/sda1";
3824 r = guestfs_pvcreate (g, device);
3829 char volgroup[] = "VG";
3830 char physvols_0[] = "/dev/sda1";
3831 char *physvols[] = {
3837 r = guestfs_vgcreate (g, volgroup, physvols);
3842 char logvol[] = "LV1";
3843 char volgroup[] = "VG";
3846 r = guestfs_lvcreate (g, logvol, volgroup, 50);
3851 char logvol[] = "LV2";
3852 char volgroup[] = "VG";
3855 r = guestfs_lvcreate (g, logvol, volgroup, 50);
3860 char vgname[] = "VG";
3863 r = guestfs_vgremove (g, vgname);
3868 char device[] = "/dev/sda1";
3871 r = guestfs_pvremove (g, device);
3879 r = guestfs_pvs (g);
3883 fprintf (stderr, "test_pvremove_2: extra elements returned from command\n");
3887 for (i = 0; r[i] != NULL; ++i)
3894 static int test_vgremove_0_skip (void)
3898 str = getenv ("SKIP_TEST_VGREMOVE_0");
3899 if (str && strcmp (str, "1") == 0) return 1;
3900 str = getenv ("SKIP_TEST_VGREMOVE");
3901 if (str && strcmp (str, "1") == 0) return 1;
3905 static int test_vgremove_0 (void)
3907 if (test_vgremove_0_skip ()) {
3908 printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_vgremove_0");
3912 /* InitNone|InitEmpty for test_vgremove_0 */
3914 char device[] = "/dev/sda";
3917 r = guestfs_blockdev_setrw (g, device);
3924 r = guestfs_umount_all (g);
3931 r = guestfs_lvm_remove_all (g);
3935 /* TestOutputList for vgremove (0) */
3937 char device[] = "/dev/sda";
3938 char lines_0[] = ",";
3945 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
3950 char device[] = "/dev/sda1";
3953 r = guestfs_pvcreate (g, device);
3958 char volgroup[] = "VG";
3959 char physvols_0[] = "/dev/sda1";
3960 char *physvols[] = {
3966 r = guestfs_vgcreate (g, volgroup, physvols);
3971 char logvol[] = "LV1";
3972 char volgroup[] = "VG";
3975 r = guestfs_lvcreate (g, logvol, volgroup, 50);
3980 char logvol[] = "LV2";
3981 char volgroup[] = "VG";
3984 r = guestfs_lvcreate (g, logvol, volgroup, 50);
3989 char vgname[] = "VG";
3992 r = guestfs_vgremove (g, vgname);
4000 r = guestfs_lvs (g);
4004 fprintf (stderr, "test_vgremove_0: extra elements returned from command\n");
4008 for (i = 0; r[i] != NULL; ++i)
4015 static int test_vgremove_1_skip (void)
4019 str = getenv ("SKIP_TEST_VGREMOVE_1");
4020 if (str && strcmp (str, "1") == 0) return 1;
4021 str = getenv ("SKIP_TEST_VGREMOVE");
4022 if (str && strcmp (str, "1") == 0) return 1;
4026 static int test_vgremove_1 (void)
4028 if (test_vgremove_1_skip ()) {
4029 printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_vgremove_1");
4033 /* InitNone|InitEmpty for test_vgremove_1 */
4035 char device[] = "/dev/sda";
4038 r = guestfs_blockdev_setrw (g, device);
4045 r = guestfs_umount_all (g);
4052 r = guestfs_lvm_remove_all (g);