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");
151 fprintf (stderr, "warning: \"guestfs_sh\" has no tests\n");
152 fprintf (stderr, "warning: \"guestfs_sh_lines\" has no tests\n");
155 static int test_ntfs_3g_probe_0_skip (void)
159 str = getenv ("SKIP_TEST_NTFS_3G_PROBE_0");
160 if (str && strcmp (str, "1") == 0) return 1;
161 str = getenv ("SKIP_TEST_NTFS_3G_PROBE");
162 if (str && strcmp (str, "1") == 0) return 1;
166 static int test_ntfs_3g_probe_0 (void)
168 if (test_ntfs_3g_probe_0_skip ()) {
169 printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_ntfs_3g_probe_0");
173 /* InitNone|InitEmpty for test_ntfs_3g_probe_0 */
175 char device[] = "/dev/sda";
178 r = guestfs_blockdev_setrw (g, device);
185 r = guestfs_umount_all (g);
192 r = guestfs_lvm_remove_all (g);
196 /* TestOutputInt for ntfs_3g_probe (0) */
198 char device[] = "/dev/sda";
199 char lines_0[] = ",";
206 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
211 char fstype[] = "ntfs";
212 char device[] = "/dev/sda1";
215 r = guestfs_mkfs (g, fstype, device);
220 char device[] = "/dev/sda1";
223 r = guestfs_ntfs_3g_probe (g, 1, device);
227 fprintf (stderr, "test_ntfs_3g_probe_0: expected 0 but got %d\n", (int) r);
234 static int test_ntfs_3g_probe_1_skip (void)
238 str = getenv ("SKIP_TEST_NTFS_3G_PROBE_1");
239 if (str && strcmp (str, "1") == 0) return 1;
240 str = getenv ("SKIP_TEST_NTFS_3G_PROBE");
241 if (str && strcmp (str, "1") == 0) return 1;
245 static int test_ntfs_3g_probe_1 (void)
247 if (test_ntfs_3g_probe_1_skip ()) {
248 printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_ntfs_3g_probe_1");
252 /* InitNone|InitEmpty for test_ntfs_3g_probe_1 */
254 char device[] = "/dev/sda";
257 r = guestfs_blockdev_setrw (g, device);
264 r = guestfs_umount_all (g);
271 r = guestfs_lvm_remove_all (g);
275 /* TestOutputInt for ntfs_3g_probe (1) */
277 char device[] = "/dev/sda";
278 char lines_0[] = ",";
285 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
290 char fstype[] = "ext2";
291 char device[] = "/dev/sda1";
294 r = guestfs_mkfs (g, fstype, device);
299 char device[] = "/dev/sda1";
302 r = guestfs_ntfs_3g_probe (g, 1, device);
306 fprintf (stderr, "test_ntfs_3g_probe_1: expected 12 but got %d\n", (int) r);
313 static int test_sleep_0_skip (void)
317 str = getenv ("SKIP_TEST_SLEEP_0");
318 if (str && strcmp (str, "1") == 0) return 1;
319 str = getenv ("SKIP_TEST_SLEEP");
320 if (str && strcmp (str, "1") == 0) return 1;
324 static int test_sleep_0 (void)
326 if (test_sleep_0_skip ()) {
327 printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_sleep_0");
331 /* InitNone|InitEmpty for test_sleep_0 */
333 char device[] = "/dev/sda";
336 r = guestfs_blockdev_setrw (g, device);
343 r = guestfs_umount_all (g);
350 r = guestfs_lvm_remove_all (g);
354 /* TestRun for sleep (0) */
358 r = guestfs_sleep (g, 1);
365 static int test_find_0_skip (void)
369 str = getenv ("SKIP_TEST_FIND_0");
370 if (str && strcmp (str, "1") == 0) return 1;
371 str = getenv ("SKIP_TEST_FIND");
372 if (str && strcmp (str, "1") == 0) return 1;
376 static int test_find_0 (void)
378 if (test_find_0_skip ()) {
379 printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_find_0");
383 /* InitBasicFS for test_find_0: create ext2 on /dev/sda1 */
385 char device[] = "/dev/sda";
388 r = guestfs_blockdev_setrw (g, device);
395 r = guestfs_umount_all (g);
402 r = guestfs_lvm_remove_all (g);
407 char device[] = "/dev/sda";
408 char lines_0[] = ",";
415 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
420 char fstype[] = "ext2";
421 char device[] = "/dev/sda1";
424 r = guestfs_mkfs (g, fstype, device);
429 char device[] = "/dev/sda1";
430 char mountpoint[] = "/";
433 r = guestfs_mount (g, device, mountpoint);
437 /* TestOutputList for find (0) */
439 char directory[] = "/";
443 r = guestfs_find (g, directory);
447 fprintf (stderr, "test_find_0: short list returned from command\n");
452 char expected[] = "lost+found";
453 if (strcmp (r[0], expected) != 0) {
454 fprintf (stderr, "test_find_0: expected \"%s\" but got \"%s\"\n", expected, r[0]);
459 fprintf (stderr, "test_find_0: extra elements returned from command\n");
463 for (i = 0; r[i] != NULL; ++i)
470 static int test_find_1_skip (void)
474 str = getenv ("SKIP_TEST_FIND_1");
475 if (str && strcmp (str, "1") == 0) return 1;
476 str = getenv ("SKIP_TEST_FIND");
477 if (str && strcmp (str, "1") == 0) return 1;
481 static int test_find_1 (void)
483 if (test_find_1_skip ()) {
484 printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_find_1");
488 /* InitBasicFS for test_find_1: create ext2 on /dev/sda1 */
490 char device[] = "/dev/sda";
493 r = guestfs_blockdev_setrw (g, device);
500 r = guestfs_umount_all (g);
507 r = guestfs_lvm_remove_all (g);
512 char device[] = "/dev/sda";
513 char lines_0[] = ",";
520 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
525 char fstype[] = "ext2";
526 char device[] = "/dev/sda1";
529 r = guestfs_mkfs (g, fstype, device);
534 char device[] = "/dev/sda1";
535 char mountpoint[] = "/";
538 r = guestfs_mount (g, device, mountpoint);
542 /* TestOutputList for find (1) */
547 r = guestfs_touch (g, path);
555 r = guestfs_mkdir (g, path);
560 char path[] = "/b/c";
563 r = guestfs_touch (g, path);
568 char directory[] = "/";
572 r = guestfs_find (g, directory);
576 fprintf (stderr, "test_find_1: short list returned from command\n");
581 char expected[] = "a";
582 if (strcmp (r[0], expected) != 0) {
583 fprintf (stderr, "test_find_1: expected \"%s\" but got \"%s\"\n", expected, r[0]);
588 fprintf (stderr, "test_find_1: short list returned from command\n");
593 char expected[] = "b";
594 if (strcmp (r[1], expected) != 0) {
595 fprintf (stderr, "test_find_1: expected \"%s\" but got \"%s\"\n", expected, r[1]);
600 fprintf (stderr, "test_find_1: short list returned from command\n");
605 char expected[] = "b/c";
606 if (strcmp (r[2], expected) != 0) {
607 fprintf (stderr, "test_find_1: expected \"%s\" but got \"%s\"\n", expected, r[2]);
612 fprintf (stderr, "test_find_1: short list returned from command\n");
617 char expected[] = "lost+found";
618 if (strcmp (r[3], expected) != 0) {
619 fprintf (stderr, "test_find_1: expected \"%s\" but got \"%s\"\n", expected, r[3]);
624 fprintf (stderr, "test_find_1: extra elements returned from command\n");
628 for (i = 0; r[i] != NULL; ++i)
635 static int test_find_2_skip (void)
639 str = getenv ("SKIP_TEST_FIND_2");
640 if (str && strcmp (str, "1") == 0) return 1;
641 str = getenv ("SKIP_TEST_FIND");
642 if (str && strcmp (str, "1") == 0) return 1;
646 static int test_find_2 (void)
648 if (test_find_2_skip ()) {
649 printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_find_2");
653 /* InitBasicFS for test_find_2: create ext2 on /dev/sda1 */
655 char device[] = "/dev/sda";
658 r = guestfs_blockdev_setrw (g, device);
665 r = guestfs_umount_all (g);
672 r = guestfs_lvm_remove_all (g);
677 char device[] = "/dev/sda";
678 char lines_0[] = ",";
685 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
690 char fstype[] = "ext2";
691 char device[] = "/dev/sda1";
694 r = guestfs_mkfs (g, fstype, device);
699 char device[] = "/dev/sda1";
700 char mountpoint[] = "/";
703 r = guestfs_mount (g, device, mountpoint);
707 /* TestOutputList for find (2) */
709 char path[] = "/a/b/c";
712 r = guestfs_mkdir_p (g, path);
717 char path[] = "/a/b/c/d";
720 r = guestfs_touch (g, path);
725 char directory[] = "/a/b/";
729 r = guestfs_find (g, directory);
733 fprintf (stderr, "test_find_2: short list returned from command\n");
738 char expected[] = "c";
739 if (strcmp (r[0], expected) != 0) {
740 fprintf (stderr, "test_find_2: expected \"%s\" but got \"%s\"\n", expected, r[0]);
745 fprintf (stderr, "test_find_2: short list returned from command\n");
750 char expected[] = "c/d";
751 if (strcmp (r[1], expected) != 0) {
752 fprintf (stderr, "test_find_2: expected \"%s\" but got \"%s\"\n", expected, r[1]);
757 fprintf (stderr, "test_find_2: extra elements returned from command\n");
761 for (i = 0; r[i] != NULL; ++i)
768 static int test_lvresize_0_skip (void)
772 str = getenv ("SKIP_TEST_LVRESIZE_0");
773 if (str && strcmp (str, "1") == 0) return 1;
774 str = getenv ("SKIP_TEST_LVRESIZE");
775 if (str && strcmp (str, "1") == 0) return 1;
779 static int test_lvresize_0 (void)
781 if (test_lvresize_0_skip ()) {
782 printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_lvresize_0");
786 /* InitNone|InitEmpty for test_lvresize_0 */
788 char device[] = "/dev/sda";
791 r = guestfs_blockdev_setrw (g, device);
798 r = guestfs_umount_all (g);
805 r = guestfs_lvm_remove_all (g);
809 /* TestOutput for lvresize (0) */
810 char expected[] = "test content";
812 char device[] = "/dev/sda";
813 char lines_0[] = ",";
820 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
825 char device[] = "/dev/sda1";
828 r = guestfs_pvcreate (g, device);
833 char volgroup[] = "VG";
834 char physvols_0[] = "/dev/sda1";
841 r = guestfs_vgcreate (g, volgroup, physvols);
846 char logvol[] = "LV";
847 char volgroup[] = "VG";
850 r = guestfs_lvcreate (g, logvol, volgroup, 10);
855 char fstype[] = "ext2";
856 char device[] = "/dev/VG/LV";
859 r = guestfs_mkfs (g, fstype, device);
864 char device[] = "/dev/VG/LV";
865 char mountpoint[] = "/";
868 r = guestfs_mount (g, device, mountpoint);
873 char path[] = "/new";
874 char content[] = "test content";
877 r = guestfs_write_file (g, path, content, 0);
882 char pathordevice[] = "/";
885 r = guestfs_umount (g, pathordevice);
890 char device[] = "/dev/VG/LV";
893 r = guestfs_lvresize (g, device, 20);
898 char device[] = "/dev/VG/LV";
901 r = guestfs_e2fsck_f (g, device);
906 char device[] = "/dev/VG/LV";
909 r = guestfs_resize2fs (g, device);
914 char device[] = "/dev/VG/LV";
915 char mountpoint[] = "/";
918 r = guestfs_mount (g, device, mountpoint);
923 char path[] = "/new";
926 r = guestfs_cat (g, path);
929 if (strcmp (r, expected) != 0) {
930 fprintf (stderr, "test_lvresize_0: expected \"%s\" but got \"%s\"\n", expected, r);
938 static int test_zerofree_0_skip (void)
942 str = getenv ("SKIP_TEST_ZEROFREE_0");
943 if (str && strcmp (str, "1") == 0) return 1;
944 str = getenv ("SKIP_TEST_ZEROFREE");
945 if (str && strcmp (str, "1") == 0) return 1;
949 static int test_zerofree_0 (void)
951 if (test_zerofree_0_skip ()) {
952 printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_zerofree_0");
956 /* InitNone|InitEmpty for test_zerofree_0 */
958 char device[] = "/dev/sda";
961 r = guestfs_blockdev_setrw (g, device);
968 r = guestfs_umount_all (g);
975 r = guestfs_lvm_remove_all (g);
979 /* TestOutput for zerofree (0) */
980 char expected[] = "test file";
982 char device[] = "/dev/sda";
983 char lines_0[] = ",";
990 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
995 char fstype[] = "ext3";
996 char device[] = "/dev/sda1";
999 r = guestfs_mkfs (g, fstype, device);
1004 char device[] = "/dev/sda1";
1005 char mountpoint[] = "/";
1008 r = guestfs_mount (g, device, mountpoint);
1013 char path[] = "/new";
1014 char content[] = "test file";
1017 r = guestfs_write_file (g, path, content, 0);
1022 char pathordevice[] = "/dev/sda1";
1025 r = guestfs_umount (g, pathordevice);
1030 char device[] = "/dev/sda1";
1033 r = guestfs_zerofree (g, device);
1038 char device[] = "/dev/sda1";
1039 char mountpoint[] = "/";
1042 r = guestfs_mount (g, device, mountpoint);
1047 char path[] = "/new";
1050 r = guestfs_cat (g, path);
1053 if (strcmp (r, expected) != 0) {
1054 fprintf (stderr, "test_zerofree_0: expected \"%s\" but got \"%s\"\n", expected, r);
1062 static int test_hexdump_0_skip (void)
1066 str = getenv ("SKIP_TEST_HEXDUMP_0");
1067 if (str && strcmp (str, "1") == 0) return 1;
1068 str = getenv ("SKIP_TEST_HEXDUMP");
1069 if (str && strcmp (str, "1") == 0) return 1;
1073 static int test_hexdump_0 (void)
1075 if (test_hexdump_0_skip ()) {
1076 printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_hexdump_0");
1080 /* InitBasicFS for test_hexdump_0: create ext2 on /dev/sda1 */
1082 char device[] = "/dev/sda";
1085 r = guestfs_blockdev_setrw (g, device);
1092 r = guestfs_umount_all (g);
1099 r = guestfs_lvm_remove_all (g);
1104 char device[] = "/dev/sda";
1105 char lines_0[] = ",";
1112 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
1117 char fstype[] = "ext2";
1118 char device[] = "/dev/sda1";
1121 r = guestfs_mkfs (g, fstype, device);
1126 char device[] = "/dev/sda1";
1127 char mountpoint[] = "/";
1130 r = guestfs_mount (g, device, mountpoint);
1134 /* TestOutput for hexdump (0) */
1135 char expected[] = "00000000 68 65 6c 6c 6f 0a 77 6f 72 6c 64 0a |hello.world.|\n0000000c\n";
1137 char path[] = "/new";
1138 char content[] = "hello\nworld\n";
1141 r = guestfs_write_file (g, path, content, 12);
1146 char path[] = "/new";
1149 r = guestfs_hexdump (g, path);
1152 if (strcmp (r, expected) != 0) {
1153 fprintf (stderr, "test_hexdump_0: expected \"%s\" but got \"%s\"\n", expected, r);
1161 static int test_strings_e_0_skip (void)
1165 str = getenv ("SKIP_TEST_STRINGS_E_0");
1166 if (str && strcmp (str, "1") == 0) return 1;
1167 str = getenv ("SKIP_TEST_STRINGS_E");
1168 if (str && strcmp (str, "1") == 0) return 1;
1172 static int test_strings_e_0 (void)
1174 if (test_strings_e_0_skip ()) {
1175 printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_strings_e_0");
1179 /* InitBasicFS for test_strings_e_0: create ext2 on /dev/sda1 */
1181 char device[] = "/dev/sda";
1184 r = guestfs_blockdev_setrw (g, device);
1191 r = guestfs_umount_all (g);
1198 r = guestfs_lvm_remove_all (g);
1203 char device[] = "/dev/sda";
1204 char lines_0[] = ",";
1211 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
1216 char fstype[] = "ext2";
1217 char device[] = "/dev/sda1";
1220 r = guestfs_mkfs (g, fstype, device);
1225 char device[] = "/dev/sda1";
1226 char mountpoint[] = "/";
1229 r = guestfs_mount (g, device, mountpoint);
1233 /* TestOutputList for strings_e (0) */
1235 char path[] = "/new";
1236 char content[] = "hello\nworld\n";
1239 r = guestfs_write_file (g, path, content, 0);
1244 char encoding[] = "b";
1245 char path[] = "/new";
1249 r = guestfs_strings_e (g, encoding, path);
1253 fprintf (stderr, "test_strings_e_0: extra elements returned from command\n");
1257 for (i = 0; r[i] != NULL; ++i)
1264 static int test_strings_e_1_skip (void)
1268 str = getenv ("SKIP_TEST_STRINGS_E_1");
1269 if (str && strcmp (str, "1") == 0) return 1;
1270 str = getenv ("SKIP_TEST_STRINGS_E");
1271 if (str && strcmp (str, "1") == 0) return 1;
1275 static int test_strings_e_1 (void)
1277 if (test_strings_e_1_skip ()) {
1278 printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_strings_e_1");
1282 printf ("%s skipped (reason: test disabled in generator)\n", "test_strings_e_1");
1286 static int test_strings_0_skip (void)
1290 str = getenv ("SKIP_TEST_STRINGS_0");
1291 if (str && strcmp (str, "1") == 0) return 1;
1292 str = getenv ("SKIP_TEST_STRINGS");
1293 if (str && strcmp (str, "1") == 0) return 1;
1297 static int test_strings_0 (void)
1299 if (test_strings_0_skip ()) {
1300 printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_strings_0");
1304 /* InitBasicFS for test_strings_0: create ext2 on /dev/sda1 */
1306 char device[] = "/dev/sda";
1309 r = guestfs_blockdev_setrw (g, device);
1316 r = guestfs_umount_all (g);
1323 r = guestfs_lvm_remove_all (g);
1328 char device[] = "/dev/sda";
1329 char lines_0[] = ",";
1336 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
1341 char fstype[] = "ext2";
1342 char device[] = "/dev/sda1";
1345 r = guestfs_mkfs (g, fstype, device);
1350 char device[] = "/dev/sda1";
1351 char mountpoint[] = "/";
1354 r = guestfs_mount (g, device, mountpoint);
1358 /* TestOutputList for strings (0) */
1360 char path[] = "/new";
1361 char content[] = "hello\nworld\n";
1364 r = guestfs_write_file (g, path, content, 0);
1369 char path[] = "/new";
1373 r = guestfs_strings (g, path);
1377 fprintf (stderr, "test_strings_0: short list returned from command\n");
1382 char expected[] = "hello";
1383 if (strcmp (r[0], expected) != 0) {
1384 fprintf (stderr, "test_strings_0: expected \"%s\" but got \"%s\"\n", expected, r[0]);
1389 fprintf (stderr, "test_strings_0: short list returned from command\n");
1394 char expected[] = "world";
1395 if (strcmp (r[1], expected) != 0) {
1396 fprintf (stderr, "test_strings_0: expected \"%s\" but got \"%s\"\n", expected, r[1]);
1401 fprintf (stderr, "test_strings_0: extra elements returned from command\n");
1405 for (i = 0; r[i] != NULL; ++i)
1412 static int test_strings_1_skip (void)
1416 str = getenv ("SKIP_TEST_STRINGS_1");
1417 if (str && strcmp (str, "1") == 0) return 1;
1418 str = getenv ("SKIP_TEST_STRINGS");
1419 if (str && strcmp (str, "1") == 0) return 1;
1423 static int test_strings_1 (void)
1425 if (test_strings_1_skip ()) {
1426 printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_strings_1");
1430 /* InitBasicFS for test_strings_1: create ext2 on /dev/sda1 */
1432 char device[] = "/dev/sda";
1435 r = guestfs_blockdev_setrw (g, device);
1442 r = guestfs_umount_all (g);
1449 r = guestfs_lvm_remove_all (g);
1454 char device[] = "/dev/sda";
1455 char lines_0[] = ",";
1462 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
1467 char fstype[] = "ext2";
1468 char device[] = "/dev/sda1";
1471 r = guestfs_mkfs (g, fstype, device);
1476 char device[] = "/dev/sda1";
1477 char mountpoint[] = "/";
1480 r = guestfs_mount (g, device, mountpoint);
1484 /* TestOutputList for strings (1) */
1486 char path[] = "/new";
1489 r = guestfs_touch (g, path);
1494 char path[] = "/new";
1498 r = guestfs_strings (g, path);
1502 fprintf (stderr, "test_strings_1: extra elements returned from command\n");
1506 for (i = 0; r[i] != NULL; ++i)
1513 static int test_equal_0_skip (void)
1517 str = getenv ("SKIP_TEST_EQUAL_0");
1518 if (str && strcmp (str, "1") == 0) return 1;
1519 str = getenv ("SKIP_TEST_EQUAL");
1520 if (str && strcmp (str, "1") == 0) return 1;
1524 static int test_equal_0 (void)
1526 if (test_equal_0_skip ()) {
1527 printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_equal_0");
1531 /* InitBasicFS for test_equal_0: create ext2 on /dev/sda1 */
1533 char device[] = "/dev/sda";
1536 r = guestfs_blockdev_setrw (g, device);
1543 r = guestfs_umount_all (g);
1550 r = guestfs_lvm_remove_all (g);
1555 char device[] = "/dev/sda";
1556 char lines_0[] = ",";
1563 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
1568 char fstype[] = "ext2";
1569 char device[] = "/dev/sda1";
1572 r = guestfs_mkfs (g, fstype, device);
1577 char device[] = "/dev/sda1";
1578 char mountpoint[] = "/";
1581 r = guestfs_mount (g, device, mountpoint);
1585 /* TestOutputTrue for equal (0) */
1587 char path[] = "/file1";
1588 char content[] = "contents of a file";
1591 r = guestfs_write_file (g, path, content, 0);
1596 char src[] = "/file1";
1597 char dest[] = "/file2";
1600 r = guestfs_cp (g, src, dest);
1605 char file1[] = "/file1";
1606 char file2[] = "/file2";
1609 r = guestfs_equal (g, file1, file2);
1613 fprintf (stderr, "test_equal_0: expected true, got false\n");
1620 static int test_equal_1_skip (void)
1624 str = getenv ("SKIP_TEST_EQUAL_1");
1625 if (str && strcmp (str, "1") == 0) return 1;
1626 str = getenv ("SKIP_TEST_EQUAL");
1627 if (str && strcmp (str, "1") == 0) return 1;
1631 static int test_equal_1 (void)
1633 if (test_equal_1_skip ()) {
1634 printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_equal_1");
1638 /* InitBasicFS for test_equal_1: create ext2 on /dev/sda1 */
1640 char device[] = "/dev/sda";
1643 r = guestfs_blockdev_setrw (g, device);
1650 r = guestfs_umount_all (g);
1657 r = guestfs_lvm_remove_all (g);
1662 char device[] = "/dev/sda";
1663 char lines_0[] = ",";
1670 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
1675 char fstype[] = "ext2";
1676 char device[] = "/dev/sda1";
1679 r = guestfs_mkfs (g, fstype, device);
1684 char device[] = "/dev/sda1";
1685 char mountpoint[] = "/";
1688 r = guestfs_mount (g, device, mountpoint);
1692 /* TestOutputFalse for equal (1) */
1694 char path[] = "/file1";
1695 char content[] = "contents of a file";
1698 r = guestfs_write_file (g, path, content, 0);
1703 char path[] = "/file2";
1704 char content[] = "contents of another file";
1707 r = guestfs_write_file (g, path, content, 0);
1712 char file1[] = "/file1";
1713 char file2[] = "/file2";
1716 r = guestfs_equal (g, file1, file2);
1720 fprintf (stderr, "test_equal_1: expected false, got true\n");
1727 static int test_equal_2_skip (void)
1731 str = getenv ("SKIP_TEST_EQUAL_2");
1732 if (str && strcmp (str, "1") == 0) return 1;
1733 str = getenv ("SKIP_TEST_EQUAL");
1734 if (str && strcmp (str, "1") == 0) return 1;
1738 static int test_equal_2 (void)
1740 if (test_equal_2_skip ()) {
1741 printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_equal_2");
1745 /* InitBasicFS for test_equal_2: create ext2 on /dev/sda1 */
1747 char device[] = "/dev/sda";
1750 r = guestfs_blockdev_setrw (g, device);
1757 r = guestfs_umount_all (g);
1764 r = guestfs_lvm_remove_all (g);
1769 char device[] = "/dev/sda";
1770 char lines_0[] = ",";
1777 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
1782 char fstype[] = "ext2";
1783 char device[] = "/dev/sda1";
1786 r = guestfs_mkfs (g, fstype, device);
1791 char device[] = "/dev/sda1";
1792 char mountpoint[] = "/";
1795 r = guestfs_mount (g, device, mountpoint);
1799 /* TestLastFail for equal (2) */
1801 char file1[] = "/file1";
1802 char file2[] = "/file2";
1805 r = guestfs_equal (g, file1, file2);
1812 static int test_ping_daemon_0_skip (void)
1816 str = getenv ("SKIP_TEST_PING_DAEMON_0");
1817 if (str && strcmp (str, "1") == 0) return 1;
1818 str = getenv ("SKIP_TEST_PING_DAEMON");
1819 if (str && strcmp (str, "1") == 0) return 1;
1823 static int test_ping_daemon_0 (void)
1825 if (test_ping_daemon_0_skip ()) {
1826 printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_ping_daemon_0");
1830 /* InitNone|InitEmpty for test_ping_daemon_0 */
1832 char device[] = "/dev/sda";
1835 r = guestfs_blockdev_setrw (g, device);
1842 r = guestfs_umount_all (g);
1849 r = guestfs_lvm_remove_all (g);
1853 /* TestRun for ping_daemon (0) */
1857 r = guestfs_ping_daemon (g);
1864 static int test_dmesg_0_skip (void)
1868 str = getenv ("SKIP_TEST_DMESG_0");
1869 if (str && strcmp (str, "1") == 0) return 1;
1870 str = getenv ("SKIP_TEST_DMESG");
1871 if (str && strcmp (str, "1") == 0) return 1;
1875 static int test_dmesg_0 (void)
1877 if (test_dmesg_0_skip ()) {
1878 printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_dmesg_0");
1882 /* InitNone|InitEmpty for test_dmesg_0 */
1884 char device[] = "/dev/sda";
1887 r = guestfs_blockdev_setrw (g, device);
1894 r = guestfs_umount_all (g);
1901 r = guestfs_lvm_remove_all (g);
1905 /* TestRun for dmesg (0) */
1909 r = guestfs_dmesg (g);
1917 static int test_drop_caches_0_skip (void)
1921 str = getenv ("SKIP_TEST_DROP_CACHES_0");
1922 if (str && strcmp (str, "1") == 0) return 1;
1923 str = getenv ("SKIP_TEST_DROP_CACHES");
1924 if (str && strcmp (str, "1") == 0) return 1;
1928 static int test_drop_caches_0 (void)
1930 if (test_drop_caches_0_skip ()) {
1931 printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_drop_caches_0");
1935 /* InitNone|InitEmpty for test_drop_caches_0 */
1937 char device[] = "/dev/sda";
1940 r = guestfs_blockdev_setrw (g, device);
1947 r = guestfs_umount_all (g);
1954 r = guestfs_lvm_remove_all (g);
1958 /* TestRun for drop_caches (0) */
1962 r = guestfs_drop_caches (g, 3);
1969 static int test_mv_0_skip (void)
1973 str = getenv ("SKIP_TEST_MV_0");
1974 if (str && strcmp (str, "1") == 0) return 1;
1975 str = getenv ("SKIP_TEST_MV");
1976 if (str && strcmp (str, "1") == 0) return 1;
1980 static int test_mv_0 (void)
1982 if (test_mv_0_skip ()) {
1983 printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_mv_0");
1987 /* InitBasicFS for test_mv_0: create ext2 on /dev/sda1 */
1989 char device[] = "/dev/sda";
1992 r = guestfs_blockdev_setrw (g, device);
1999 r = guestfs_umount_all (g);
2006 r = guestfs_lvm_remove_all (g);
2011 char device[] = "/dev/sda";
2012 char lines_0[] = ",";
2019 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
2024 char fstype[] = "ext2";
2025 char device[] = "/dev/sda1";
2028 r = guestfs_mkfs (g, fstype, device);
2033 char device[] = "/dev/sda1";
2034 char mountpoint[] = "/";
2037 r = guestfs_mount (g, device, mountpoint);
2041 /* TestOutput for mv (0) */
2042 char expected[] = "file content";
2044 char path[] = "/old";
2045 char content[] = "file content";
2048 r = guestfs_write_file (g, path, content, 0);
2053 char src[] = "/old";
2054 char dest[] = "/new";
2057 r = guestfs_mv (g, src, dest);
2062 char path[] = "/new";
2065 r = guestfs_cat (g, path);
2068 if (strcmp (r, expected) != 0) {
2069 fprintf (stderr, "test_mv_0: expected \"%s\" but got \"%s\"\n", expected, r);
2077 static int test_mv_1_skip (void)
2081 str = getenv ("SKIP_TEST_MV_1");
2082 if (str && strcmp (str, "1") == 0) return 1;
2083 str = getenv ("SKIP_TEST_MV");
2084 if (str && strcmp (str, "1") == 0) return 1;
2088 static int test_mv_1 (void)
2090 if (test_mv_1_skip ()) {
2091 printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_mv_1");
2095 /* InitBasicFS for test_mv_1: create ext2 on /dev/sda1 */
2097 char device[] = "/dev/sda";
2100 r = guestfs_blockdev_setrw (g, device);
2107 r = guestfs_umount_all (g);
2114 r = guestfs_lvm_remove_all (g);
2119 char device[] = "/dev/sda";
2120 char lines_0[] = ",";
2127 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
2132 char fstype[] = "ext2";
2133 char device[] = "/dev/sda1";
2136 r = guestfs_mkfs (g, fstype, device);
2141 char device[] = "/dev/sda1";
2142 char mountpoint[] = "/";
2145 r = guestfs_mount (g, device, mountpoint);
2149 /* TestOutputFalse for mv (1) */
2151 char path[] = "/old";
2152 char content[] = "file content";
2155 r = guestfs_write_file (g, path, content, 0);
2160 char src[] = "/old";
2161 char dest[] = "/new";
2164 r = guestfs_mv (g, src, dest);
2169 char path[] = "/old";
2172 r = guestfs_is_file (g, path);
2176 fprintf (stderr, "test_mv_1: expected false, got true\n");
2183 static int test_cp_a_0_skip (void)
2187 str = getenv ("SKIP_TEST_CP_A_0");
2188 if (str && strcmp (str, "1") == 0) return 1;
2189 str = getenv ("SKIP_TEST_CP_A");
2190 if (str && strcmp (str, "1") == 0) return 1;
2194 static int test_cp_a_0 (void)
2196 if (test_cp_a_0_skip ()) {
2197 printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_cp_a_0");
2201 /* InitBasicFS for test_cp_a_0: create ext2 on /dev/sda1 */
2203 char device[] = "/dev/sda";
2206 r = guestfs_blockdev_setrw (g, device);
2213 r = guestfs_umount_all (g);
2220 r = guestfs_lvm_remove_all (g);
2225 char device[] = "/dev/sda";
2226 char lines_0[] = ",";
2233 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
2238 char fstype[] = "ext2";
2239 char device[] = "/dev/sda1";
2242 r = guestfs_mkfs (g, fstype, device);
2247 char device[] = "/dev/sda1";
2248 char mountpoint[] = "/";
2251 r = guestfs_mount (g, device, mountpoint);
2255 /* TestOutput for cp_a (0) */
2256 char expected[] = "file content";
2258 char path[] = "/olddir";
2261 r = guestfs_mkdir (g, path);
2266 char path[] = "/newdir";
2269 r = guestfs_mkdir (g, path);
2274 char path[] = "/olddir/file";
2275 char content[] = "file content";
2278 r = guestfs_write_file (g, path, content, 0);
2283 char src[] = "/olddir";
2284 char dest[] = "/newdir";
2287 r = guestfs_cp_a (g, src, dest);
2292 char path[] = "/newdir/olddir/file";
2295 r = guestfs_cat (g, path);
2298 if (strcmp (r, expected) != 0) {
2299 fprintf (stderr, "test_cp_a_0: expected \"%s\" but got \"%s\"\n", expected, r);
2307 static int test_cp_0_skip (void)
2311 str = getenv ("SKIP_TEST_CP_0");
2312 if (str && strcmp (str, "1") == 0) return 1;
2313 str = getenv ("SKIP_TEST_CP");
2314 if (str && strcmp (str, "1") == 0) return 1;
2318 static int test_cp_0 (void)
2320 if (test_cp_0_skip ()) {
2321 printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_cp_0");
2325 /* InitBasicFS for test_cp_0: create ext2 on /dev/sda1 */
2327 char device[] = "/dev/sda";
2330 r = guestfs_blockdev_setrw (g, device);
2337 r = guestfs_umount_all (g);
2344 r = guestfs_lvm_remove_all (g);
2349 char device[] = "/dev/sda";
2350 char lines_0[] = ",";
2357 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
2362 char fstype[] = "ext2";
2363 char device[] = "/dev/sda1";
2366 r = guestfs_mkfs (g, fstype, device);
2371 char device[] = "/dev/sda1";
2372 char mountpoint[] = "/";
2375 r = guestfs_mount (g, device, mountpoint);
2379 /* TestOutput for cp (0) */
2380 char expected[] = "file content";
2382 char path[] = "/old";
2383 char content[] = "file content";
2386 r = guestfs_write_file (g, path, content, 0);
2391 char src[] = "/old";
2392 char dest[] = "/new";
2395 r = guestfs_cp (g, src, dest);
2400 char path[] = "/new";
2403 r = guestfs_cat (g, path);
2406 if (strcmp (r, expected) != 0) {
2407 fprintf (stderr, "test_cp_0: expected \"%s\" but got \"%s\"\n", expected, r);
2415 static int test_cp_1_skip (void)
2419 str = getenv ("SKIP_TEST_CP_1");
2420 if (str && strcmp (str, "1") == 0) return 1;
2421 str = getenv ("SKIP_TEST_CP");
2422 if (str && strcmp (str, "1") == 0) return 1;
2426 static int test_cp_1 (void)
2428 if (test_cp_1_skip ()) {
2429 printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_cp_1");
2433 /* InitBasicFS for test_cp_1: create ext2 on /dev/sda1 */
2435 char device[] = "/dev/sda";
2438 r = guestfs_blockdev_setrw (g, device);
2445 r = guestfs_umount_all (g);
2452 r = guestfs_lvm_remove_all (g);
2457 char device[] = "/dev/sda";
2458 char lines_0[] = ",";
2465 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
2470 char fstype[] = "ext2";
2471 char device[] = "/dev/sda1";
2474 r = guestfs_mkfs (g, fstype, device);
2479 char device[] = "/dev/sda1";
2480 char mountpoint[] = "/";
2483 r = guestfs_mount (g, device, mountpoint);
2487 /* TestOutputTrue for cp (1) */
2489 char path[] = "/old";
2490 char content[] = "file content";
2493 r = guestfs_write_file (g, path, content, 0);
2498 char src[] = "/old";
2499 char dest[] = "/new";
2502 r = guestfs_cp (g, src, dest);
2507 char path[] = "/old";
2510 r = guestfs_is_file (g, path);
2514 fprintf (stderr, "test_cp_1: expected true, got false\n");
2521 static int test_cp_2_skip (void)
2525 str = getenv ("SKIP_TEST_CP_2");
2526 if (str && strcmp (str, "1") == 0) return 1;
2527 str = getenv ("SKIP_TEST_CP");
2528 if (str && strcmp (str, "1") == 0) return 1;
2532 static int test_cp_2 (void)
2534 if (test_cp_2_skip ()) {
2535 printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_cp_2");
2539 /* InitBasicFS for test_cp_2: create ext2 on /dev/sda1 */
2541 char device[] = "/dev/sda";
2544 r = guestfs_blockdev_setrw (g, device);
2551 r = guestfs_umount_all (g);
2558 r = guestfs_lvm_remove_all (g);
2563 char device[] = "/dev/sda";
2564 char lines_0[] = ",";
2571 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
2576 char fstype[] = "ext2";
2577 char device[] = "/dev/sda1";
2580 r = guestfs_mkfs (g, fstype, device);
2585 char device[] = "/dev/sda1";
2586 char mountpoint[] = "/";
2589 r = guestfs_mount (g, device, mountpoint);
2593 /* TestOutput for cp (2) */
2594 char expected[] = "file content";
2596 char path[] = "/old";
2597 char content[] = "file content";
2600 r = guestfs_write_file (g, path, content, 0);
2605 char path[] = "/dir";
2608 r = guestfs_mkdir (g, path);
2613 char src[] = "/old";
2614 char dest[] = "/dir/new";
2617 r = guestfs_cp (g, src, dest);
2622 char path[] = "/dir/new";
2625 r = guestfs_cat (g, path);
2628 if (strcmp (r, expected) != 0) {
2629 fprintf (stderr, "test_cp_2: expected \"%s\" but got \"%s\"\n", expected, r);
2637 static int test_grub_install_0_skip (void)
2641 str = getenv ("SKIP_TEST_GRUB_INSTALL_0");
2642 if (str && strcmp (str, "1") == 0) return 1;
2643 str = getenv ("SKIP_TEST_GRUB_INSTALL");
2644 if (str && strcmp (str, "1") == 0) return 1;
2648 static int test_grub_install_0 (void)
2650 if (test_grub_install_0_skip ()) {
2651 printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_grub_install_0");
2655 /* InitBasicFS for test_grub_install_0: create ext2 on /dev/sda1 */
2657 char device[] = "/dev/sda";
2660 r = guestfs_blockdev_setrw (g, device);
2667 r = guestfs_umount_all (g);
2674 r = guestfs_lvm_remove_all (g);
2679 char device[] = "/dev/sda";
2680 char lines_0[] = ",";
2687 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
2692 char fstype[] = "ext2";
2693 char device[] = "/dev/sda1";
2696 r = guestfs_mkfs (g, fstype, device);
2701 char device[] = "/dev/sda1";
2702 char mountpoint[] = "/";
2705 r = guestfs_mount (g, device, mountpoint);
2709 /* TestOutputTrue for grub_install (0) */
2712 char device[] = "/dev/sda1";
2715 r = guestfs_grub_install (g, root, device);
2720 char path[] = "/boot";
2723 r = guestfs_is_dir (g, path);
2727 fprintf (stderr, "test_grub_install_0: expected true, got false\n");
2734 static int test_zero_0_skip (void)
2738 str = getenv ("SKIP_TEST_ZERO_0");
2739 if (str && strcmp (str, "1") == 0) return 1;
2740 str = getenv ("SKIP_TEST_ZERO");
2741 if (str && strcmp (str, "1") == 0) return 1;
2745 static int test_zero_0 (void)
2747 if (test_zero_0_skip ()) {
2748 printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_zero_0");
2752 /* InitBasicFS for test_zero_0: create ext2 on /dev/sda1 */
2754 char device[] = "/dev/sda";
2757 r = guestfs_blockdev_setrw (g, device);
2764 r = guestfs_umount_all (g);
2771 r = guestfs_lvm_remove_all (g);
2776 char device[] = "/dev/sda";
2777 char lines_0[] = ",";
2784 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
2789 char fstype[] = "ext2";
2790 char device[] = "/dev/sda1";
2793 r = guestfs_mkfs (g, fstype, device);
2798 char device[] = "/dev/sda1";
2799 char mountpoint[] = "/";
2802 r = guestfs_mount (g, device, mountpoint);
2806 /* TestOutput for zero (0) */
2807 char expected[] = "data";
2809 char pathordevice[] = "/dev/sda1";
2812 r = guestfs_umount (g, pathordevice);
2817 char device[] = "/dev/sda1";
2820 r = guestfs_zero (g, device);
2825 char path[] = "/dev/sda1";
2828 r = guestfs_file (g, path);
2831 if (strcmp (r, expected) != 0) {
2832 fprintf (stderr, "test_zero_0: expected \"%s\" but got \"%s\"\n", expected, r);
2840 static int test_fsck_0_skip (void)
2844 str = getenv ("SKIP_TEST_FSCK_0");
2845 if (str && strcmp (str, "1") == 0) return 1;
2846 str = getenv ("SKIP_TEST_FSCK");
2847 if (str && strcmp (str, "1") == 0) return 1;
2851 static int test_fsck_0 (void)
2853 if (test_fsck_0_skip ()) {
2854 printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_fsck_0");
2858 /* InitBasicFS for test_fsck_0: create ext2 on /dev/sda1 */
2860 char device[] = "/dev/sda";
2863 r = guestfs_blockdev_setrw (g, device);
2870 r = guestfs_umount_all (g);
2877 r = guestfs_lvm_remove_all (g);
2882 char device[] = "/dev/sda";
2883 char lines_0[] = ",";
2890 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
2895 char fstype[] = "ext2";
2896 char device[] = "/dev/sda1";
2899 r = guestfs_mkfs (g, fstype, device);
2904 char device[] = "/dev/sda1";
2905 char mountpoint[] = "/";
2908 r = guestfs_mount (g, device, mountpoint);
2912 /* TestOutputInt for fsck (0) */
2914 char pathordevice[] = "/dev/sda1";
2917 r = guestfs_umount (g, pathordevice);
2922 char fstype[] = "ext2";
2923 char device[] = "/dev/sda1";
2926 r = guestfs_fsck (g, fstype, device);
2930 fprintf (stderr, "test_fsck_0: expected 0 but got %d\n", (int) r);
2937 static int test_fsck_1_skip (void)
2941 str = getenv ("SKIP_TEST_FSCK_1");
2942 if (str && strcmp (str, "1") == 0) return 1;
2943 str = getenv ("SKIP_TEST_FSCK");
2944 if (str && strcmp (str, "1") == 0) return 1;
2948 static int test_fsck_1 (void)
2950 if (test_fsck_1_skip ()) {
2951 printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_fsck_1");
2955 /* InitBasicFS for test_fsck_1: create ext2 on /dev/sda1 */
2957 char device[] = "/dev/sda";
2960 r = guestfs_blockdev_setrw (g, device);
2967 r = guestfs_umount_all (g);
2974 r = guestfs_lvm_remove_all (g);
2979 char device[] = "/dev/sda";
2980 char lines_0[] = ",";
2987 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
2992 char fstype[] = "ext2";
2993 char device[] = "/dev/sda1";
2996 r = guestfs_mkfs (g, fstype, device);
3001 char device[] = "/dev/sda1";
3002 char mountpoint[] = "/";
3005 r = guestfs_mount (g, device, mountpoint);
3009 /* TestOutputInt for fsck (1) */
3011 char pathordevice[] = "/dev/sda1";
3014 r = guestfs_umount (g, pathordevice);
3019 char device[] = "/dev/sda1";
3022 r = guestfs_zero (g, device);
3027 char fstype[] = "ext2";
3028 char device[] = "/dev/sda1";
3031 r = guestfs_fsck (g, fstype, device);
3035 fprintf (stderr, "test_fsck_1: expected 8 but got %d\n", (int) r);
3042 static int test_set_e2uuid_0_skip (void)
3046 str = getenv ("SKIP_TEST_SET_E2UUID_0");
3047 if (str && strcmp (str, "1") == 0) return 1;
3048 str = getenv ("SKIP_TEST_SET_E2UUID");
3049 if (str && strcmp (str, "1") == 0) return 1;
3053 static int test_set_e2uuid_0 (void)
3055 if (test_set_e2uuid_0_skip ()) {
3056 printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_set_e2uuid_0");
3060 /* InitBasicFS for test_set_e2uuid_0: create ext2 on /dev/sda1 */
3062 char device[] = "/dev/sda";
3065 r = guestfs_blockdev_setrw (g, device);
3072 r = guestfs_umount_all (g);
3079 r = guestfs_lvm_remove_all (g);
3084 char device[] = "/dev/sda";
3085 char lines_0[] = ",";
3092 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
3097 char fstype[] = "ext2";
3098 char device[] = "/dev/sda1";
3101 r = guestfs_mkfs (g, fstype, device);
3106 char device[] = "/dev/sda1";
3107 char mountpoint[] = "/";
3110 r = guestfs_mount (g, device, mountpoint);
3114 /* TestOutput for set_e2uuid (0) */
3115 char expected[] = "a3a61220-882b-4f61-89f4-cf24dcc7297d";
3117 char device[] = "/dev/sda1";
3118 char uuid[] = "a3a61220-882b-4f61-89f4-cf24dcc7297d";
3121 r = guestfs_set_e2uuid (g, device, uuid);
3126 char device[] = "/dev/sda1";
3129 r = guestfs_get_e2uuid (g, device);
3132 if (strcmp (r, expected) != 0) {
3133 fprintf (stderr, "test_set_e2uuid_0: expected \"%s\" but got \"%s\"\n", expected, r);
3141 static int test_set_e2uuid_1_skip (void)
3145 str = getenv ("SKIP_TEST_SET_E2UUID_1");
3146 if (str && strcmp (str, "1") == 0) return 1;
3147 str = getenv ("SKIP_TEST_SET_E2UUID");
3148 if (str && strcmp (str, "1") == 0) return 1;
3152 static int test_set_e2uuid_1 (void)
3154 if (test_set_e2uuid_1_skip ()) {
3155 printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_set_e2uuid_1");
3159 /* InitBasicFS for test_set_e2uuid_1: create ext2 on /dev/sda1 */
3161 char device[] = "/dev/sda";
3164 r = guestfs_blockdev_setrw (g, device);
3171 r = guestfs_umount_all (g);
3178 r = guestfs_lvm_remove_all (g);
3183 char device[] = "/dev/sda";
3184 char lines_0[] = ",";
3191 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
3196 char fstype[] = "ext2";
3197 char device[] = "/dev/sda1";
3200 r = guestfs_mkfs (g, fstype, device);
3205 char device[] = "/dev/sda1";
3206 char mountpoint[] = "/";
3209 r = guestfs_mount (g, device, mountpoint);
3213 /* TestOutput for set_e2uuid (1) */
3214 char expected[] = "";
3216 char device[] = "/dev/sda1";
3217 char uuid[] = "clear";
3220 r = guestfs_set_e2uuid (g, device, uuid);
3225 char device[] = "/dev/sda1";
3228 r = guestfs_get_e2uuid (g, device);
3231 if (strcmp (r, expected) != 0) {
3232 fprintf (stderr, "test_set_e2uuid_1: expected \"%s\" but got \"%s\"\n", expected, r);
3240 static int test_set_e2uuid_2_skip (void)
3244 str = getenv ("SKIP_TEST_SET_E2UUID_2");
3245 if (str && strcmp (str, "1") == 0) return 1;
3246 str = getenv ("SKIP_TEST_SET_E2UUID");
3247 if (str && strcmp (str, "1") == 0) return 1;
3251 static int test_set_e2uuid_2 (void)
3253 if (test_set_e2uuid_2_skip ()) {
3254 printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_set_e2uuid_2");
3258 /* InitBasicFS for test_set_e2uuid_2: create ext2 on /dev/sda1 */
3260 char device[] = "/dev/sda";
3263 r = guestfs_blockdev_setrw (g, device);
3270 r = guestfs_umount_all (g);
3277 r = guestfs_lvm_remove_all (g);
3282 char device[] = "/dev/sda";
3283 char lines_0[] = ",";
3290 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
3295 char fstype[] = "ext2";
3296 char device[] = "/dev/sda1";
3299 r = guestfs_mkfs (g, fstype, device);
3304 char device[] = "/dev/sda1";
3305 char mountpoint[] = "/";
3308 r = guestfs_mount (g, device, mountpoint);
3312 /* TestRun for set_e2uuid (2) */
3314 char device[] = "/dev/sda1";
3315 char uuid[] = "random";
3318 r = guestfs_set_e2uuid (g, device, uuid);
3325 static int test_set_e2uuid_3_skip (void)
3329 str = getenv ("SKIP_TEST_SET_E2UUID_3");
3330 if (str && strcmp (str, "1") == 0) return 1;
3331 str = getenv ("SKIP_TEST_SET_E2UUID");
3332 if (str && strcmp (str, "1") == 0) return 1;
3336 static int test_set_e2uuid_3 (void)
3338 if (test_set_e2uuid_3_skip ()) {
3339 printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_set_e2uuid_3");
3343 /* InitBasicFS for test_set_e2uuid_3: create ext2 on /dev/sda1 */
3345 char device[] = "/dev/sda";
3348 r = guestfs_blockdev_setrw (g, device);
3355 r = guestfs_umount_all (g);
3362 r = guestfs_lvm_remove_all (g);
3367 char device[] = "/dev/sda";
3368 char lines_0[] = ",";
3375 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
3380 char fstype[] = "ext2";
3381 char device[] = "/dev/sda1";
3384 r = guestfs_mkfs (g, fstype, device);
3389 char device[] = "/dev/sda1";
3390 char mountpoint[] = "/";
3393 r = guestfs_mount (g, device, mountpoint);
3397 /* TestRun for set_e2uuid (3) */
3399 char device[] = "/dev/sda1";
3400 char uuid[] = "time";
3403 r = guestfs_set_e2uuid (g, device, uuid);
3410 static int test_set_e2label_0_skip (void)
3414 str = getenv ("SKIP_TEST_SET_E2LABEL_0");
3415 if (str && strcmp (str, "1") == 0) return 1;
3416 str = getenv ("SKIP_TEST_SET_E2LABEL");
3417 if (str && strcmp (str, "1") == 0) return 1;
3421 static int test_set_e2label_0 (void)
3423 if (test_set_e2label_0_skip ()) {
3424 printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_set_e2label_0");
3428 /* InitBasicFS for test_set_e2label_0: create ext2 on /dev/sda1 */
3430 char device[] = "/dev/sda";
3433 r = guestfs_blockdev_setrw (g, device);
3440 r = guestfs_umount_all (g);
3447 r = guestfs_lvm_remove_all (g);
3452 char device[] = "/dev/sda";
3453 char lines_0[] = ",";
3460 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
3465 char fstype[] = "ext2";
3466 char device[] = "/dev/sda1";
3469 r = guestfs_mkfs (g, fstype, device);
3474 char device[] = "/dev/sda1";
3475 char mountpoint[] = "/";
3478 r = guestfs_mount (g, device, mountpoint);
3482 /* TestOutput for set_e2label (0) */
3483 char expected[] = "testlabel";
3485 char device[] = "/dev/sda1";
3486 char label[] = "testlabel";
3489 r = guestfs_set_e2label (g, device, label);
3494 char device[] = "/dev/sda1";
3497 r = guestfs_get_e2label (g, device);
3500 if (strcmp (r, expected) != 0) {
3501 fprintf (stderr, "test_set_e2label_0: expected \"%s\" but got \"%s\"\n", expected, r);
3509 static int test_pvremove_0_skip (void)
3513 str = getenv ("SKIP_TEST_PVREMOVE_0");
3514 if (str && strcmp (str, "1") == 0) return 1;
3515 str = getenv ("SKIP_TEST_PVREMOVE");
3516 if (str && strcmp (str, "1") == 0) return 1;
3520 static int test_pvremove_0 (void)
3522 if (test_pvremove_0_skip ()) {
3523 printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_pvremove_0");
3527 /* InitNone|InitEmpty for test_pvremove_0 */
3529 char device[] = "/dev/sda";
3532 r = guestfs_blockdev_setrw (g, device);
3539 r = guestfs_umount_all (g);
3546 r = guestfs_lvm_remove_all (g);
3550 /* TestOutputListOfDevices for pvremove (0) */
3552 char device[] = "/dev/sda";
3553 char lines_0[] = ",";
3560 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
3565 char device[] = "/dev/sda1";
3568 r = guestfs_pvcreate (g, device);
3573 char volgroup[] = "VG";
3574 char physvols_0[] = "/dev/sda1";
3575 char *physvols[] = {
3581 r = guestfs_vgcreate (g, volgroup, physvols);
3586 char logvol[] = "LV1";
3587 char volgroup[] = "VG";
3590 r = guestfs_lvcreate (g, logvol, volgroup, 50);
3595 char logvol[] = "LV2";
3596 char volgroup[] = "VG";
3599 r = guestfs_lvcreate (g, logvol, volgroup, 50);
3604 char vgname[] = "VG";
3607 r = guestfs_vgremove (g, vgname);
3612 char device[] = "/dev/sda1";
3615 r = guestfs_pvremove (g, device);
3623 r = guestfs_lvs (g);
3627 fprintf (stderr, "test_pvremove_0: extra elements returned from command\n");
3631 for (i = 0; r[i] != NULL; ++i)
3638 static int test_pvremove_1_skip (void)
3642 str = getenv ("SKIP_TEST_PVREMOVE_1");
3643 if (str && strcmp (str, "1") == 0) return 1;
3644 str = getenv ("SKIP_TEST_PVREMOVE");
3645 if (str && strcmp (str, "1") == 0) return 1;
3649 static int test_pvremove_1 (void)
3651 if (test_pvremove_1_skip ()) {
3652 printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_pvremove_1");
3656 /* InitNone|InitEmpty for test_pvremove_1 */
3658 char device[] = "/dev/sda";
3661 r = guestfs_blockdev_setrw (g, device);
3668 r = guestfs_umount_all (g);
3675 r = guestfs_lvm_remove_all (g);
3679 /* TestOutputListOfDevices for pvremove (1) */
3681 char device[] = "/dev/sda";
3682 char lines_0[] = ",";
3689 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
3694 char device[] = "/dev/sda1";
3697 r = guestfs_pvcreate (g, device);
3702 char volgroup[] = "VG";
3703 char physvols_0[] = "/dev/sda1";
3704 char *physvols[] = {
3710 r = guestfs_vgcreate (g, volgroup, physvols);
3715 char logvol[] = "LV1";
3716 char volgroup[] = "VG";
3719 r = guestfs_lvcreate (g, logvol, volgroup, 50);
3724 char logvol[] = "LV2";
3725 char volgroup[] = "VG";
3728 r = guestfs_lvcreate (g, logvol, volgroup, 50);
3733 char vgname[] = "VG";
3736 r = guestfs_vgremove (g, vgname);
3741 char device[] = "/dev/sda1";
3744 r = guestfs_pvremove (g, device);
3752 r = guestfs_vgs (g);
3756 fprintf (stderr, "test_pvremove_1: extra elements returned from command\n");
3760 for (i = 0; r[i] != NULL; ++i)
3767 static int test_pvremove_2_skip (void)
3771 str = getenv ("SKIP_TEST_PVREMOVE_2");
3772 if (str && strcmp (str, "1") == 0) return 1;
3773 str = getenv ("SKIP_TEST_PVREMOVE");
3774 if (str && strcmp (str, "1") == 0) return 1;
3778 static int test_pvremove_2 (void)
3780 if (test_pvremove_2_skip ()) {
3781 printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_pvremove_2");
3785 /* InitNone|InitEmpty for test_pvremove_2 */
3787 char device[] = "/dev/sda";
3790 r = guestfs_blockdev_setrw (g, device);
3797 r = guestfs_umount_all (g);
3804 r = guestfs_lvm_remove_all (g);
3808 /* TestOutputListOfDevices for pvremove (2) */
3810 char device[] = "/dev/sda";
3811 char lines_0[] = ",";
3818 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
3823 char device[] = "/dev/sda1";
3826 r = guestfs_pvcreate (g, device);
3831 char volgroup[] = "VG";
3832 char physvols_0[] = "/dev/sda1";
3833 char *physvols[] = {
3839 r = guestfs_vgcreate (g, volgroup, physvols);
3844 char logvol[] = "LV1";
3845 char volgroup[] = "VG";
3848 r = guestfs_lvcreate (g, logvol, volgroup, 50);
3853 char logvol[] = "LV2";
3854 char volgroup[] = "VG";
3857 r = guestfs_lvcreate (g, logvol, volgroup, 50);
3862 char vgname[] = "VG";
3865 r = guestfs_vgremove (g, vgname);
3870 char device[] = "/dev/sda1";
3873 r = guestfs_pvremove (g, device);
3881 r = guestfs_pvs (g);
3885 fprintf (stderr, "test_pvremove_2: extra elements returned from command\n");
3889 for (i = 0; r[i] != NULL; ++i)
3896 static int test_vgremove_0_skip (void)
3900 str = getenv ("SKIP_TEST_VGREMOVE_0");
3901 if (str && strcmp (str, "1") == 0) return 1;
3902 str = getenv ("SKIP_TEST_VGREMOVE");
3903 if (str && strcmp (str, "1") == 0) return 1;
3907 static int test_vgremove_0 (void)
3909 if (test_vgremove_0_skip ()) {
3910 printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_vgremove_0");
3914 /* InitNone|InitEmpty for test_vgremove_0 */
3916 char device[] = "/dev/sda";
3919 r = guestfs_blockdev_setrw (g, device);
3926 r = guestfs_umount_all (g);
3933 r = guestfs_lvm_remove_all (g);
3937 /* TestOutputList for vgremove (0) */
3939 char device[] = "/dev/sda";
3940 char lines_0[] = ",";
3947 r = guestfs_sfdisk (g, device, 0, 0, 0, lines);
3952 char device[] = "/dev/sda1";
3955 r = guestfs_pvcreate (g, device);
3960 char volgroup[] = "VG";
3961 char physvols_0[] = "/dev/sda1";
3962 char *physvols[] = {
3968 r = guestfs_vgcreate (g, volgroup, physvols);
3973 char logvol[] = "LV1";
3974 char volgroup[] = "VG";
3977 r = guestfs_lvcreate (g, logvol, volgroup, 50);
3982 char logvol[] = "LV2";
3983 char volgroup[] = "VG";
3986 r = guestfs_lvcreate (g, logvol, volgroup, 50);
3991 char vgname[] = "VG";
3994 r = guestfs_vgremove (g, vgname);
4002 r = guestfs_lvs (g);
4006 fprintf (stderr, "test_vgremove_0: extra elements returned from command\n");
4010 for (i = 0; r[i] != NULL; ++i)
4017 static int test_vgremove_1_skip (void)
4021 str = getenv ("SKIP_TEST_VGREMOVE_1");
4022 if (str && strcmp (str, "1") == 0) return 1;
4023 str = getenv ("SKIP_TEST_VGREMOVE");
4024 if (str && strcmp (str, "1") == 0) return 1;
4028 static int test_vgremove_1 (void)
4030 if (test_vgremove_1_skip ()) {
4031 printf ("%s skipped (reason: SKIP_TEST_* variable set)\n", "test_vgremove_1");
4035 /* InitNone|InitEmpty for test_vgremove_1 */
4037 char device[] = "/dev/sda";
4040 r = guestfs_blockdev_setrw (g, device);
4047 r = guestfs_umount_all (g);
4054 r = guestfs_lvm_remove_all (g);