X-Git-Url: http://git.annexia.org/?p=libguestfs.git;a=blobdiff_plain;f=tests.c;h=b344320884684765fe16bb037cd1bdbf2a866646;hp=a8f1d73acae97b39876762134d22f5a0e52b962f;hb=85ed8cef99c19b4143844991d14e0b848fecc5da;hpb=15e0fd573a87488c66cb3a6f0da01f3ab5f2f6ed diff --git a/tests.c b/tests.c index a8f1d73..b344320 100644 --- a/tests.c +++ b/tests.c @@ -72,6 +72,8 @@ static void no_test_warnings (void) fprintf (stderr, "warning: \"guestfs_get_qemu\" has no tests\n"); fprintf (stderr, "warning: \"guestfs_set_path\" has no tests\n"); fprintf (stderr, "warning: \"guestfs_get_path\" has no tests\n"); + fprintf (stderr, "warning: \"guestfs_set_append\" has no tests\n"); + fprintf (stderr, "warning: \"guestfs_get_append\" has no tests\n"); fprintf (stderr, "warning: \"guestfs_set_autosync\" has no tests\n"); fprintf (stderr, "warning: \"guestfs_get_autosync\" has no tests\n"); fprintf (stderr, "warning: \"guestfs_set_verbose\" has no tests\n"); @@ -105,8 +107,6 @@ static void no_test_warnings (void) fprintf (stderr, "warning: \"guestfs_chown\" has no tests\n"); fprintf (stderr, "warning: \"guestfs_sfdisk\" has no tests\n"); fprintf (stderr, "warning: \"guestfs_lvm_remove_all\" has no tests\n"); - fprintf (stderr, "warning: \"guestfs_command\" has no tests\n"); - fprintf (stderr, "warning: \"guestfs_command_lines\" has no tests\n"); fprintf (stderr, "warning: \"guestfs_tune2fs_l\" has no tests\n"); fprintf (stderr, "warning: \"guestfs_blockdev_setbsz\" has no tests\n"); fprintf (stderr, "warning: \"guestfs_tar_out\" has no tests\n"); @@ -116,6 +116,104 @@ static void no_test_warnings (void) fprintf (stderr, "warning: \"guestfs_debug\" has no tests\n"); fprintf (stderr, "warning: \"guestfs_get_e2label\" has no tests\n"); fprintf (stderr, "warning: \"guestfs_get_e2uuid\" has no tests\n"); + fprintf (stderr, "warning: \"guestfs_pvresize\" has no tests\n"); + fprintf (stderr, "warning: \"guestfs_sfdisk_N\" has no tests\n"); + fprintf (stderr, "warning: \"guestfs_sfdisk_l\" has no tests\n"); + fprintf (stderr, "warning: \"guestfs_sfdisk_kernel_geometry\" has no tests\n"); + fprintf (stderr, "warning: \"guestfs_sfdisk_disk_geometry\" has no tests\n"); + fprintf (stderr, "warning: \"guestfs_vg_activate_all\" has no tests\n"); + fprintf (stderr, "warning: \"guestfs_vg_activate\" has no tests\n"); +} + +static int test_zerofree_0 (void) +{ + /* TestOutput for zerofree (0) */ + char expected[] = "test file"; + { + char device[] = "/dev/sda"; + device[5] = devchar; + char lines_0[] = ","; + char *lines[] = { + lines_0, + NULL + }; + int r; + suppress_error = 0; + r = guestfs_sfdisk (g, device, 0, 0, 0, lines); + if (r == -1) + return -1; + } + { + char fstype[] = "ext3"; + char device[] = "/dev/sda1"; + device[5] = devchar; + int r; + suppress_error = 0; + r = guestfs_mkfs (g, fstype, device); + if (r == -1) + return -1; + } + { + char device[] = "/dev/sda1"; + device[5] = devchar; + char mountpoint[] = "/"; + int r; + suppress_error = 0; + r = guestfs_mount (g, device, mountpoint); + if (r == -1) + return -1; + } + { + char path[] = "/new"; + char content[] = "test file"; + int r; + suppress_error = 0; + r = guestfs_write_file (g, path, content, 0); + if (r == -1) + return -1; + } + { + char pathordevice[] = "/dev/sda1"; + pathordevice[5] = devchar; + int r; + suppress_error = 0; + r = guestfs_umount (g, pathordevice); + if (r == -1) + return -1; + } + { + char device[] = "/dev/sda1"; + device[5] = devchar; + int r; + suppress_error = 0; + r = guestfs_zerofree (g, device); + if (r == -1) + return -1; + } + { + char device[] = "/dev/sda1"; + device[5] = devchar; + char mountpoint[] = "/"; + int r; + suppress_error = 0; + r = guestfs_mount (g, device, mountpoint); + if (r == -1) + return -1; + } + { + char path[] = "/new"; + char *r; + suppress_error = 0; + r = guestfs_cat (g, path); + if (r == NULL) + return -1; + if (strcmp (r, expected) != 0) { + fprintf (stderr, "test_zerofree_0: expected \"%s\" but got \"%s\"\n", expected, r); + return -1; + } + free (r); + } + return 0; } static int test_hexdump_0 (void) @@ -296,6 +394,12 @@ static int test_strings_e_0 (void) return 0; } +static int test_strings_e_1 (void) +{ + printf ("%s skipped (reason: test disabled in generator)\n", "test_strings_e_1"); + return 0; +} + static int test_strings_0 (void) { /* InitBasicFS for strings (0): create ext2 on /dev/sda1 */ @@ -410,6 +514,95 @@ static int test_strings_0 (void) return 0; } +static int test_strings_1 (void) +{ + /* InitBasicFS for strings (1): create ext2 on /dev/sda1 */ + { + char device[] = "/dev/sda"; + device[5] = devchar; + int r; + suppress_error = 0; + r = guestfs_blockdev_setrw (g, device); + if (r == -1) + return -1; + } + { + int r; + suppress_error = 0; + r = guestfs_umount_all (g); + if (r == -1) + return -1; + } + { + int r; + suppress_error = 0; + r = guestfs_lvm_remove_all (g); + if (r == -1) + return -1; + } + { + char device[] = "/dev/sda"; + device[5] = devchar; + char lines_0[] = ","; + char *lines[] = { + lines_0, + NULL + }; + int r; + suppress_error = 0; + r = guestfs_sfdisk (g, device, 0, 0, 0, lines); + if (r == -1) + return -1; + } + { + char fstype[] = "ext2"; + char device[] = "/dev/sda1"; + device[5] = devchar; + int r; + suppress_error = 0; + r = guestfs_mkfs (g, fstype, device); + if (r == -1) + return -1; + } + { + char device[] = "/dev/sda1"; + device[5] = devchar; + char mountpoint[] = "/"; + int r; + suppress_error = 0; + r = guestfs_mount (g, device, mountpoint); + if (r == -1) + return -1; + } + /* TestOutputList for strings (1) */ + { + char path[] = "/new"; + int r; + suppress_error = 0; + r = guestfs_touch (g, path); + if (r == -1) + return -1; + } + { + char path[] = "/new"; + char **r; + int i; + suppress_error = 0; + r = guestfs_strings (g, path); + if (r == NULL) + return -1; + if (r[0] != NULL) { + fprintf (stderr, "test_strings_1: extra elements returned from command\n"); + print_strings (r); + return -1; + } + for (i = 0; r[i] != NULL; ++i) + free (r[i]); + free (r); + } + return 0; +} + static int test_equal_0 (void) { /* InitBasicFS for equal (0): create ext2 on /dev/sda1 */ @@ -4478,53 +4671,2768 @@ static int test_blockdev_getro_0 (void) device[5] = devchar; int r; suppress_error = 0; - r = guestfs_blockdev_setrw (g, device); + r = guestfs_blockdev_setrw (g, device); + if (r == -1) + return -1; + } + { + int r; + suppress_error = 0; + r = guestfs_umount_all (g); + if (r == -1) + return -1; + } + { + int r; + suppress_error = 0; + r = guestfs_lvm_remove_all (g); + if (r == -1) + return -1; + } + /* TestOutputTrue for blockdev_getro (0) */ + { + char device[] = "/dev/sda"; + device[5] = devchar; + int r; + suppress_error = 0; + r = guestfs_blockdev_setro (g, device); + if (r == -1) + return -1; + } + { + char device[] = "/dev/sda"; + device[5] = devchar; + int r; + suppress_error = 0; + r = guestfs_blockdev_getro (g, device); + if (r == -1) + return -1; + if (!r) { + fprintf (stderr, "test_blockdev_getro_0: expected true, got false\n"); + return -1; + } + } + return 0; +} + +static int test_blockdev_setrw_0 (void) +{ + /* InitEmpty for blockdev_setrw (0) */ + { + char device[] = "/dev/sda"; + device[5] = devchar; + int r; + suppress_error = 0; + r = guestfs_blockdev_setrw (g, device); + if (r == -1) + return -1; + } + { + int r; + suppress_error = 0; + r = guestfs_umount_all (g); + if (r == -1) + return -1; + } + { + int r; + suppress_error = 0; + r = guestfs_lvm_remove_all (g); + if (r == -1) + return -1; + } + /* TestOutputFalse for blockdev_setrw (0) */ + { + char device[] = "/dev/sda"; + device[5] = devchar; + int r; + suppress_error = 0; + r = guestfs_blockdev_setrw (g, device); + if (r == -1) + return -1; + } + { + char device[] = "/dev/sda"; + device[5] = devchar; + int r; + suppress_error = 0; + r = guestfs_blockdev_getro (g, device); + if (r == -1) + return -1; + if (r) { + fprintf (stderr, "test_blockdev_setrw_0: expected false, got true\n"); + return -1; + } + } + return 0; +} + +static int test_blockdev_setro_0 (void) +{ + /* InitEmpty for blockdev_setro (0) */ + { + char device[] = "/dev/sda"; + device[5] = devchar; + int r; + suppress_error = 0; + r = guestfs_blockdev_setrw (g, device); + if (r == -1) + return -1; + } + { + int r; + suppress_error = 0; + r = guestfs_umount_all (g); + if (r == -1) + return -1; + } + { + int r; + suppress_error = 0; + r = guestfs_lvm_remove_all (g); + if (r == -1) + return -1; + } + /* TestOutputTrue for blockdev_setro (0) */ + { + char device[] = "/dev/sda"; + device[5] = devchar; + int r; + suppress_error = 0; + r = guestfs_blockdev_setro (g, device); + if (r == -1) + return -1; + } + { + char device[] = "/dev/sda"; + device[5] = devchar; + int r; + suppress_error = 0; + r = guestfs_blockdev_getro (g, device); + if (r == -1) + return -1; + if (!r) { + fprintf (stderr, "test_blockdev_setro_0: expected true, got false\n"); + return -1; + } + } + return 0; +} + +static int test_statvfs_0 (void) +{ + /* InitBasicFS for statvfs (0): create ext2 on /dev/sda1 */ + { + char device[] = "/dev/sda"; + device[5] = devchar; + int r; + suppress_error = 0; + r = guestfs_blockdev_setrw (g, device); + if (r == -1) + return -1; + } + { + int r; + suppress_error = 0; + r = guestfs_umount_all (g); + if (r == -1) + return -1; + } + { + int r; + suppress_error = 0; + r = guestfs_lvm_remove_all (g); + if (r == -1) + return -1; + } + { + char device[] = "/dev/sda"; + device[5] = devchar; + char lines_0[] = ","; + char *lines[] = { + lines_0, + NULL + }; + int r; + suppress_error = 0; + r = guestfs_sfdisk (g, device, 0, 0, 0, lines); + if (r == -1) + return -1; + } + { + char fstype[] = "ext2"; + char device[] = "/dev/sda1"; + device[5] = devchar; + int r; + suppress_error = 0; + r = guestfs_mkfs (g, fstype, device); + if (r == -1) + return -1; + } + { + char device[] = "/dev/sda1"; + device[5] = devchar; + char mountpoint[] = "/"; + int r; + suppress_error = 0; + r = guestfs_mount (g, device, mountpoint); + if (r == -1) + return -1; + } + /* TestOutputStruct for statvfs (0) */ + { + char path[] = "/"; + struct guestfs_statvfs *r; + suppress_error = 0; + r = guestfs_statvfs (g, path); + if (r == NULL) + return -1; + if (r->bfree != 487702) { + fprintf (stderr, "test_statvfs_0: bfree was %d, expected 487702\n", + (int) r->bfree); + return -1; + } + if (r->blocks != 490020) { + fprintf (stderr, "test_statvfs_0: blocks was %d, expected 490020\n", + (int) r->blocks); + return -1; + } + if (r->bsize != 1024) { + fprintf (stderr, "test_statvfs_0: bsize was %d, expected 1024\n", + (int) r->bsize); + return -1; + } + free (r); + } + return 0; +} + +static int test_lstat_0 (void) +{ + /* InitBasicFS for lstat (0): create ext2 on /dev/sda1 */ + { + char device[] = "/dev/sda"; + device[5] = devchar; + int r; + suppress_error = 0; + r = guestfs_blockdev_setrw (g, device); + if (r == -1) + return -1; + } + { + int r; + suppress_error = 0; + r = guestfs_umount_all (g); + if (r == -1) + return -1; + } + { + int r; + suppress_error = 0; + r = guestfs_lvm_remove_all (g); + if (r == -1) + return -1; + } + { + char device[] = "/dev/sda"; + device[5] = devchar; + char lines_0[] = ","; + char *lines[] = { + lines_0, + NULL + }; + int r; + suppress_error = 0; + r = guestfs_sfdisk (g, device, 0, 0, 0, lines); + if (r == -1) + return -1; + } + { + char fstype[] = "ext2"; + char device[] = "/dev/sda1"; + device[5] = devchar; + int r; + suppress_error = 0; + r = guestfs_mkfs (g, fstype, device); + if (r == -1) + return -1; + } + { + char device[] = "/dev/sda1"; + device[5] = devchar; + char mountpoint[] = "/"; + int r; + suppress_error = 0; + r = guestfs_mount (g, device, mountpoint); + if (r == -1) + return -1; + } + /* TestOutputStruct for lstat (0) */ + { + char path[] = "/new"; + int r; + suppress_error = 0; + r = guestfs_touch (g, path); + if (r == -1) + return -1; + } + { + char path[] = "/new"; + struct guestfs_stat *r; + suppress_error = 0; + r = guestfs_lstat (g, path); + if (r == NULL) + return -1; + if (r->size != 0) { + fprintf (stderr, "test_lstat_0: size was %d, expected 0\n", + (int) r->size); + return -1; + } + free (r); + } + return 0; +} + +static int test_stat_0 (void) +{ + /* InitBasicFS for stat (0): create ext2 on /dev/sda1 */ + { + char device[] = "/dev/sda"; + device[5] = devchar; + int r; + suppress_error = 0; + r = guestfs_blockdev_setrw (g, device); + if (r == -1) + return -1; + } + { + int r; + suppress_error = 0; + r = guestfs_umount_all (g); + if (r == -1) + return -1; + } + { + int r; + suppress_error = 0; + r = guestfs_lvm_remove_all (g); + if (r == -1) + return -1; + } + { + char device[] = "/dev/sda"; + device[5] = devchar; + char lines_0[] = ","; + char *lines[] = { + lines_0, + NULL + }; + int r; + suppress_error = 0; + r = guestfs_sfdisk (g, device, 0, 0, 0, lines); + if (r == -1) + return -1; + } + { + char fstype[] = "ext2"; + char device[] = "/dev/sda1"; + device[5] = devchar; + int r; + suppress_error = 0; + r = guestfs_mkfs (g, fstype, device); + if (r == -1) + return -1; + } + { + char device[] = "/dev/sda1"; + device[5] = devchar; + char mountpoint[] = "/"; + int r; + suppress_error = 0; + r = guestfs_mount (g, device, mountpoint); + if (r == -1) + return -1; + } + /* TestOutputStruct for stat (0) */ + { + char path[] = "/new"; + int r; + suppress_error = 0; + r = guestfs_touch (g, path); + if (r == -1) + return -1; + } + { + char path[] = "/new"; + struct guestfs_stat *r; + suppress_error = 0; + r = guestfs_stat (g, path); + if (r == NULL) + return -1; + if (r->size != 0) { + fprintf (stderr, "test_stat_0: size was %d, expected 0\n", + (int) r->size); + return -1; + } + free (r); + } + return 0; +} + +static int test_command_lines_0_prereq (void) +{ + const char *str = getenv ("SKIP_TEST_COMMAND"); + return str && strcmp (str, "1") == 0; +} + +static int test_command_lines_0 (void) +{ + if (! test_command_lines_0_prereq ()) { + /* InitBasicFS for command_lines (0): create ext2 on /dev/sda1 */ + { + char device[] = "/dev/sda"; + device[5] = devchar; + int r; + suppress_error = 0; + r = guestfs_blockdev_setrw (g, device); + if (r == -1) + return -1; + } + { + int r; + suppress_error = 0; + r = guestfs_umount_all (g); + if (r == -1) + return -1; + } + { + int r; + suppress_error = 0; + r = guestfs_lvm_remove_all (g); + if (r == -1) + return -1; + } + { + char device[] = "/dev/sda"; + device[5] = devchar; + char lines_0[] = ","; + char *lines[] = { + lines_0, + NULL + }; + int r; + suppress_error = 0; + r = guestfs_sfdisk (g, device, 0, 0, 0, lines); + if (r == -1) + return -1; + } + { + char fstype[] = "ext2"; + char device[] = "/dev/sda1"; + device[5] = devchar; + int r; + suppress_error = 0; + r = guestfs_mkfs (g, fstype, device); + if (r == -1) + return -1; + } + { + char device[] = "/dev/sda1"; + device[5] = devchar; + char mountpoint[] = "/"; + int r; + suppress_error = 0; + r = guestfs_mount (g, device, mountpoint); + if (r == -1) + return -1; + } + /* TestOutputList for command_lines (0) */ + { + char remotefilename[] = "/test-command"; + int r; + suppress_error = 0; + r = guestfs_upload (g, "test-command", remotefilename); + if (r == -1) + return -1; + } + { + char path[] = "/test-command"; + int r; + suppress_error = 0; + r = guestfs_chmod (g, 493, path); + if (r == -1) + return -1; + } + { + char arguments_0[] = "/test-command"; + char arguments_1[] = "1"; + char *arguments[] = { + arguments_0, + arguments_1, + NULL + }; + char **r; + int i; + suppress_error = 0; + r = guestfs_command_lines (g, arguments); + if (r == NULL) + return -1; + if (!r[0]) { + fprintf (stderr, "test_command_lines_0: short list returned from command\n"); + print_strings (r); + return -1; + } + { + char expected[] = "Result1"; + if (strcmp (r[0], expected) != 0) { + fprintf (stderr, "test_command_lines_0: expected \"%s\" but got \"%s\"\n", expected, r[0]); + return -1; + } + } + if (r[1] != NULL) { + fprintf (stderr, "test_command_lines_0: extra elements returned from command\n"); + print_strings (r); + return -1; + } + for (i = 0; r[i] != NULL; ++i) + free (r[i]); + free (r); + } + } else + printf ("%s skipped (reason: test prerequisite)\n", "test_command_lines_0"); + return 0; +} + +static int test_command_lines_1_prereq (void) +{ + const char *str = getenv ("SKIP_TEST_COMMAND"); + return str && strcmp (str, "1") == 0; +} + +static int test_command_lines_1 (void) +{ + if (! test_command_lines_1_prereq ()) { + /* InitBasicFS for command_lines (1): create ext2 on /dev/sda1 */ + { + char device[] = "/dev/sda"; + device[5] = devchar; + int r; + suppress_error = 0; + r = guestfs_blockdev_setrw (g, device); + if (r == -1) + return -1; + } + { + int r; + suppress_error = 0; + r = guestfs_umount_all (g); + if (r == -1) + return -1; + } + { + int r; + suppress_error = 0; + r = guestfs_lvm_remove_all (g); + if (r == -1) + return -1; + } + { + char device[] = "/dev/sda"; + device[5] = devchar; + char lines_0[] = ","; + char *lines[] = { + lines_0, + NULL + }; + int r; + suppress_error = 0; + r = guestfs_sfdisk (g, device, 0, 0, 0, lines); + if (r == -1) + return -1; + } + { + char fstype[] = "ext2"; + char device[] = "/dev/sda1"; + device[5] = devchar; + int r; + suppress_error = 0; + r = guestfs_mkfs (g, fstype, device); + if (r == -1) + return -1; + } + { + char device[] = "/dev/sda1"; + device[5] = devchar; + char mountpoint[] = "/"; + int r; + suppress_error = 0; + r = guestfs_mount (g, device, mountpoint); + if (r == -1) + return -1; + } + /* TestOutputList for command_lines (1) */ + { + char remotefilename[] = "/test-command"; + int r; + suppress_error = 0; + r = guestfs_upload (g, "test-command", remotefilename); + if (r == -1) + return -1; + } + { + char path[] = "/test-command"; + int r; + suppress_error = 0; + r = guestfs_chmod (g, 493, path); + if (r == -1) + return -1; + } + { + char arguments_0[] = "/test-command"; + char arguments_1[] = "2"; + char *arguments[] = { + arguments_0, + arguments_1, + NULL + }; + char **r; + int i; + suppress_error = 0; + r = guestfs_command_lines (g, arguments); + if (r == NULL) + return -1; + if (!r[0]) { + fprintf (stderr, "test_command_lines_1: short list returned from command\n"); + print_strings (r); + return -1; + } + { + char expected[] = "Result2"; + if (strcmp (r[0], expected) != 0) { + fprintf (stderr, "test_command_lines_1: expected \"%s\" but got \"%s\"\n", expected, r[0]); + return -1; + } + } + if (r[1] != NULL) { + fprintf (stderr, "test_command_lines_1: extra elements returned from command\n"); + print_strings (r); + return -1; + } + for (i = 0; r[i] != NULL; ++i) + free (r[i]); + free (r); + } + } else + printf ("%s skipped (reason: test prerequisite)\n", "test_command_lines_1"); + return 0; +} + +static int test_command_lines_2_prereq (void) +{ + const char *str = getenv ("SKIP_TEST_COMMAND"); + return str && strcmp (str, "1") == 0; +} + +static int test_command_lines_2 (void) +{ + if (! test_command_lines_2_prereq ()) { + /* InitBasicFS for command_lines (2): create ext2 on /dev/sda1 */ + { + char device[] = "/dev/sda"; + device[5] = devchar; + int r; + suppress_error = 0; + r = guestfs_blockdev_setrw (g, device); + if (r == -1) + return -1; + } + { + int r; + suppress_error = 0; + r = guestfs_umount_all (g); + if (r == -1) + return -1; + } + { + int r; + suppress_error = 0; + r = guestfs_lvm_remove_all (g); + if (r == -1) + return -1; + } + { + char device[] = "/dev/sda"; + device[5] = devchar; + char lines_0[] = ","; + char *lines[] = { + lines_0, + NULL + }; + int r; + suppress_error = 0; + r = guestfs_sfdisk (g, device, 0, 0, 0, lines); + if (r == -1) + return -1; + } + { + char fstype[] = "ext2"; + char device[] = "/dev/sda1"; + device[5] = devchar; + int r; + suppress_error = 0; + r = guestfs_mkfs (g, fstype, device); + if (r == -1) + return -1; + } + { + char device[] = "/dev/sda1"; + device[5] = devchar; + char mountpoint[] = "/"; + int r; + suppress_error = 0; + r = guestfs_mount (g, device, mountpoint); + if (r == -1) + return -1; + } + /* TestOutputList for command_lines (2) */ + { + char remotefilename[] = "/test-command"; + int r; + suppress_error = 0; + r = guestfs_upload (g, "test-command", remotefilename); + if (r == -1) + return -1; + } + { + char path[] = "/test-command"; + int r; + suppress_error = 0; + r = guestfs_chmod (g, 493, path); + if (r == -1) + return -1; + } + { + char arguments_0[] = "/test-command"; + char arguments_1[] = "3"; + char *arguments[] = { + arguments_0, + arguments_1, + NULL + }; + char **r; + int i; + suppress_error = 0; + r = guestfs_command_lines (g, arguments); + if (r == NULL) + return -1; + if (!r[0]) { + fprintf (stderr, "test_command_lines_2: short list returned from command\n"); + print_strings (r); + return -1; + } + { + char expected[] = ""; + if (strcmp (r[0], expected) != 0) { + fprintf (stderr, "test_command_lines_2: expected \"%s\" but got \"%s\"\n", expected, r[0]); + return -1; + } + } + if (!r[1]) { + fprintf (stderr, "test_command_lines_2: short list returned from command\n"); + print_strings (r); + return -1; + } + { + char expected[] = "Result3"; + if (strcmp (r[1], expected) != 0) { + fprintf (stderr, "test_command_lines_2: expected \"%s\" but got \"%s\"\n", expected, r[1]); + return -1; + } + } + if (r[2] != NULL) { + fprintf (stderr, "test_command_lines_2: extra elements returned from command\n"); + print_strings (r); + return -1; + } + for (i = 0; r[i] != NULL; ++i) + free (r[i]); + free (r); + } + } else + printf ("%s skipped (reason: test prerequisite)\n", "test_command_lines_2"); + return 0; +} + +static int test_command_lines_3_prereq (void) +{ + const char *str = getenv ("SKIP_TEST_COMMAND"); + return str && strcmp (str, "1") == 0; +} + +static int test_command_lines_3 (void) +{ + if (! test_command_lines_3_prereq ()) { + /* InitBasicFS for command_lines (3): create ext2 on /dev/sda1 */ + { + char device[] = "/dev/sda"; + device[5] = devchar; + int r; + suppress_error = 0; + r = guestfs_blockdev_setrw (g, device); + if (r == -1) + return -1; + } + { + int r; + suppress_error = 0; + r = guestfs_umount_all (g); + if (r == -1) + return -1; + } + { + int r; + suppress_error = 0; + r = guestfs_lvm_remove_all (g); + if (r == -1) + return -1; + } + { + char device[] = "/dev/sda"; + device[5] = devchar; + char lines_0[] = ","; + char *lines[] = { + lines_0, + NULL + }; + int r; + suppress_error = 0; + r = guestfs_sfdisk (g, device, 0, 0, 0, lines); + if (r == -1) + return -1; + } + { + char fstype[] = "ext2"; + char device[] = "/dev/sda1"; + device[5] = devchar; + int r; + suppress_error = 0; + r = guestfs_mkfs (g, fstype, device); + if (r == -1) + return -1; + } + { + char device[] = "/dev/sda1"; + device[5] = devchar; + char mountpoint[] = "/"; + int r; + suppress_error = 0; + r = guestfs_mount (g, device, mountpoint); + if (r == -1) + return -1; + } + /* TestOutputList for command_lines (3) */ + { + char remotefilename[] = "/test-command"; + int r; + suppress_error = 0; + r = guestfs_upload (g, "test-command", remotefilename); + if (r == -1) + return -1; + } + { + char path[] = "/test-command"; + int r; + suppress_error = 0; + r = guestfs_chmod (g, 493, path); + if (r == -1) + return -1; + } + { + char arguments_0[] = "/test-command"; + char arguments_1[] = "4"; + char *arguments[] = { + arguments_0, + arguments_1, + NULL + }; + char **r; + int i; + suppress_error = 0; + r = guestfs_command_lines (g, arguments); + if (r == NULL) + return -1; + if (!r[0]) { + fprintf (stderr, "test_command_lines_3: short list returned from command\n"); + print_strings (r); + return -1; + } + { + char expected[] = ""; + if (strcmp (r[0], expected) != 0) { + fprintf (stderr, "test_command_lines_3: expected \"%s\" but got \"%s\"\n", expected, r[0]); + return -1; + } + } + if (!r[1]) { + fprintf (stderr, "test_command_lines_3: short list returned from command\n"); + print_strings (r); + return -1; + } + { + char expected[] = "Result4"; + if (strcmp (r[1], expected) != 0) { + fprintf (stderr, "test_command_lines_3: expected \"%s\" but got \"%s\"\n", expected, r[1]); + return -1; + } + } + if (r[2] != NULL) { + fprintf (stderr, "test_command_lines_3: extra elements returned from command\n"); + print_strings (r); + return -1; + } + for (i = 0; r[i] != NULL; ++i) + free (r[i]); + free (r); + } + } else + printf ("%s skipped (reason: test prerequisite)\n", "test_command_lines_3"); + return 0; +} + +static int test_command_lines_4_prereq (void) +{ + const char *str = getenv ("SKIP_TEST_COMMAND"); + return str && strcmp (str, "1") == 0; +} + +static int test_command_lines_4 (void) +{ + if (! test_command_lines_4_prereq ()) { + /* InitBasicFS for command_lines (4): create ext2 on /dev/sda1 */ + { + char device[] = "/dev/sda"; + device[5] = devchar; + int r; + suppress_error = 0; + r = guestfs_blockdev_setrw (g, device); + if (r == -1) + return -1; + } + { + int r; + suppress_error = 0; + r = guestfs_umount_all (g); + if (r == -1) + return -1; + } + { + int r; + suppress_error = 0; + r = guestfs_lvm_remove_all (g); + if (r == -1) + return -1; + } + { + char device[] = "/dev/sda"; + device[5] = devchar; + char lines_0[] = ","; + char *lines[] = { + lines_0, + NULL + }; + int r; + suppress_error = 0; + r = guestfs_sfdisk (g, device, 0, 0, 0, lines); + if (r == -1) + return -1; + } + { + char fstype[] = "ext2"; + char device[] = "/dev/sda1"; + device[5] = devchar; + int r; + suppress_error = 0; + r = guestfs_mkfs (g, fstype, device); + if (r == -1) + return -1; + } + { + char device[] = "/dev/sda1"; + device[5] = devchar; + char mountpoint[] = "/"; + int r; + suppress_error = 0; + r = guestfs_mount (g, device, mountpoint); + if (r == -1) + return -1; + } + /* TestOutputList for command_lines (4) */ + { + char remotefilename[] = "/test-command"; + int r; + suppress_error = 0; + r = guestfs_upload (g, "test-command", remotefilename); + if (r == -1) + return -1; + } + { + char path[] = "/test-command"; + int r; + suppress_error = 0; + r = guestfs_chmod (g, 493, path); + if (r == -1) + return -1; + } + { + char arguments_0[] = "/test-command"; + char arguments_1[] = "5"; + char *arguments[] = { + arguments_0, + arguments_1, + NULL + }; + char **r; + int i; + suppress_error = 0; + r = guestfs_command_lines (g, arguments); + if (r == NULL) + return -1; + if (!r[0]) { + fprintf (stderr, "test_command_lines_4: short list returned from command\n"); + print_strings (r); + return -1; + } + { + char expected[] = ""; + if (strcmp (r[0], expected) != 0) { + fprintf (stderr, "test_command_lines_4: expected \"%s\" but got \"%s\"\n", expected, r[0]); + return -1; + } + } + if (!r[1]) { + fprintf (stderr, "test_command_lines_4: short list returned from command\n"); + print_strings (r); + return -1; + } + { + char expected[] = "Result5"; + if (strcmp (r[1], expected) != 0) { + fprintf (stderr, "test_command_lines_4: expected \"%s\" but got \"%s\"\n", expected, r[1]); + return -1; + } + } + if (!r[2]) { + fprintf (stderr, "test_command_lines_4: short list returned from command\n"); + print_strings (r); + return -1; + } + { + char expected[] = ""; + if (strcmp (r[2], expected) != 0) { + fprintf (stderr, "test_command_lines_4: expected \"%s\" but got \"%s\"\n", expected, r[2]); + return -1; + } + } + if (r[3] != NULL) { + fprintf (stderr, "test_command_lines_4: extra elements returned from command\n"); + print_strings (r); + return -1; + } + for (i = 0; r[i] != NULL; ++i) + free (r[i]); + free (r); + } + } else + printf ("%s skipped (reason: test prerequisite)\n", "test_command_lines_4"); + return 0; +} + +static int test_command_lines_5_prereq (void) +{ + const char *str = getenv ("SKIP_TEST_COMMAND"); + return str && strcmp (str, "1") == 0; +} + +static int test_command_lines_5 (void) +{ + if (! test_command_lines_5_prereq ()) { + /* InitBasicFS for command_lines (5): create ext2 on /dev/sda1 */ + { + char device[] = "/dev/sda"; + device[5] = devchar; + int r; + suppress_error = 0; + r = guestfs_blockdev_setrw (g, device); + if (r == -1) + return -1; + } + { + int r; + suppress_error = 0; + r = guestfs_umount_all (g); + if (r == -1) + return -1; + } + { + int r; + suppress_error = 0; + r = guestfs_lvm_remove_all (g); + if (r == -1) + return -1; + } + { + char device[] = "/dev/sda"; + device[5] = devchar; + char lines_0[] = ","; + char *lines[] = { + lines_0, + NULL + }; + int r; + suppress_error = 0; + r = guestfs_sfdisk (g, device, 0, 0, 0, lines); + if (r == -1) + return -1; + } + { + char fstype[] = "ext2"; + char device[] = "/dev/sda1"; + device[5] = devchar; + int r; + suppress_error = 0; + r = guestfs_mkfs (g, fstype, device); + if (r == -1) + return -1; + } + { + char device[] = "/dev/sda1"; + device[5] = devchar; + char mountpoint[] = "/"; + int r; + suppress_error = 0; + r = guestfs_mount (g, device, mountpoint); + if (r == -1) + return -1; + } + /* TestOutputList for command_lines (5) */ + { + char remotefilename[] = "/test-command"; + int r; + suppress_error = 0; + r = guestfs_upload (g, "test-command", remotefilename); + if (r == -1) + return -1; + } + { + char path[] = "/test-command"; + int r; + suppress_error = 0; + r = guestfs_chmod (g, 493, path); + if (r == -1) + return -1; + } + { + char arguments_0[] = "/test-command"; + char arguments_1[] = "6"; + char *arguments[] = { + arguments_0, + arguments_1, + NULL + }; + char **r; + int i; + suppress_error = 0; + r = guestfs_command_lines (g, arguments); + if (r == NULL) + return -1; + if (!r[0]) { + fprintf (stderr, "test_command_lines_5: short list returned from command\n"); + print_strings (r); + return -1; + } + { + char expected[] = ""; + if (strcmp (r[0], expected) != 0) { + fprintf (stderr, "test_command_lines_5: expected \"%s\" but got \"%s\"\n", expected, r[0]); + return -1; + } + } + if (!r[1]) { + fprintf (stderr, "test_command_lines_5: short list returned from command\n"); + print_strings (r); + return -1; + } + { + char expected[] = ""; + if (strcmp (r[1], expected) != 0) { + fprintf (stderr, "test_command_lines_5: expected \"%s\" but got \"%s\"\n", expected, r[1]); + return -1; + } + } + if (!r[2]) { + fprintf (stderr, "test_command_lines_5: short list returned from command\n"); + print_strings (r); + return -1; + } + { + char expected[] = "Result6"; + if (strcmp (r[2], expected) != 0) { + fprintf (stderr, "test_command_lines_5: expected \"%s\" but got \"%s\"\n", expected, r[2]); + return -1; + } + } + if (!r[3]) { + fprintf (stderr, "test_command_lines_5: short list returned from command\n"); + print_strings (r); + return -1; + } + { + char expected[] = ""; + if (strcmp (r[3], expected) != 0) { + fprintf (stderr, "test_command_lines_5: expected \"%s\" but got \"%s\"\n", expected, r[3]); + return -1; + } + } + if (r[4] != NULL) { + fprintf (stderr, "test_command_lines_5: extra elements returned from command\n"); + print_strings (r); + return -1; + } + for (i = 0; r[i] != NULL; ++i) + free (r[i]); + free (r); + } + } else + printf ("%s skipped (reason: test prerequisite)\n", "test_command_lines_5"); + return 0; +} + +static int test_command_lines_6_prereq (void) +{ + const char *str = getenv ("SKIP_TEST_COMMAND"); + return str && strcmp (str, "1") == 0; +} + +static int test_command_lines_6 (void) +{ + if (! test_command_lines_6_prereq ()) { + /* InitBasicFS for command_lines (6): create ext2 on /dev/sda1 */ + { + char device[] = "/dev/sda"; + device[5] = devchar; + int r; + suppress_error = 0; + r = guestfs_blockdev_setrw (g, device); + if (r == -1) + return -1; + } + { + int r; + suppress_error = 0; + r = guestfs_umount_all (g); + if (r == -1) + return -1; + } + { + int r; + suppress_error = 0; + r = guestfs_lvm_remove_all (g); + if (r == -1) + return -1; + } + { + char device[] = "/dev/sda"; + device[5] = devchar; + char lines_0[] = ","; + char *lines[] = { + lines_0, + NULL + }; + int r; + suppress_error = 0; + r = guestfs_sfdisk (g, device, 0, 0, 0, lines); + if (r == -1) + return -1; + } + { + char fstype[] = "ext2"; + char device[] = "/dev/sda1"; + device[5] = devchar; + int r; + suppress_error = 0; + r = guestfs_mkfs (g, fstype, device); + if (r == -1) + return -1; + } + { + char device[] = "/dev/sda1"; + device[5] = devchar; + char mountpoint[] = "/"; + int r; + suppress_error = 0; + r = guestfs_mount (g, device, mountpoint); + if (r == -1) + return -1; + } + /* TestOutputList for command_lines (6) */ + { + char remotefilename[] = "/test-command"; + int r; + suppress_error = 0; + r = guestfs_upload (g, "test-command", remotefilename); + if (r == -1) + return -1; + } + { + char path[] = "/test-command"; + int r; + suppress_error = 0; + r = guestfs_chmod (g, 493, path); + if (r == -1) + return -1; + } + { + char arguments_0[] = "/test-command"; + char arguments_1[] = "7"; + char *arguments[] = { + arguments_0, + arguments_1, + NULL + }; + char **r; + int i; + suppress_error = 0; + r = guestfs_command_lines (g, arguments); + if (r == NULL) + return -1; + if (r[0] != NULL) { + fprintf (stderr, "test_command_lines_6: extra elements returned from command\n"); + print_strings (r); + return -1; + } + for (i = 0; r[i] != NULL; ++i) + free (r[i]); + free (r); + } + } else + printf ("%s skipped (reason: test prerequisite)\n", "test_command_lines_6"); + return 0; +} + +static int test_command_lines_7_prereq (void) +{ + const char *str = getenv ("SKIP_TEST_COMMAND"); + return str && strcmp (str, "1") == 0; +} + +static int test_command_lines_7 (void) +{ + if (! test_command_lines_7_prereq ()) { + /* InitBasicFS for command_lines (7): create ext2 on /dev/sda1 */ + { + char device[] = "/dev/sda"; + device[5] = devchar; + int r; + suppress_error = 0; + r = guestfs_blockdev_setrw (g, device); + if (r == -1) + return -1; + } + { + int r; + suppress_error = 0; + r = guestfs_umount_all (g); + if (r == -1) + return -1; + } + { + int r; + suppress_error = 0; + r = guestfs_lvm_remove_all (g); + if (r == -1) + return -1; + } + { + char device[] = "/dev/sda"; + device[5] = devchar; + char lines_0[] = ","; + char *lines[] = { + lines_0, + NULL + }; + int r; + suppress_error = 0; + r = guestfs_sfdisk (g, device, 0, 0, 0, lines); + if (r == -1) + return -1; + } + { + char fstype[] = "ext2"; + char device[] = "/dev/sda1"; + device[5] = devchar; + int r; + suppress_error = 0; + r = guestfs_mkfs (g, fstype, device); + if (r == -1) + return -1; + } + { + char device[] = "/dev/sda1"; + device[5] = devchar; + char mountpoint[] = "/"; + int r; + suppress_error = 0; + r = guestfs_mount (g, device, mountpoint); + if (r == -1) + return -1; + } + /* TestOutputList for command_lines (7) */ + { + char remotefilename[] = "/test-command"; + int r; + suppress_error = 0; + r = guestfs_upload (g, "test-command", remotefilename); + if (r == -1) + return -1; + } + { + char path[] = "/test-command"; + int r; + suppress_error = 0; + r = guestfs_chmod (g, 493, path); + if (r == -1) + return -1; + } + { + char arguments_0[] = "/test-command"; + char arguments_1[] = "8"; + char *arguments[] = { + arguments_0, + arguments_1, + NULL + }; + char **r; + int i; + suppress_error = 0; + r = guestfs_command_lines (g, arguments); + if (r == NULL) + return -1; + if (!r[0]) { + fprintf (stderr, "test_command_lines_7: short list returned from command\n"); + print_strings (r); + return -1; + } + { + char expected[] = ""; + if (strcmp (r[0], expected) != 0) { + fprintf (stderr, "test_command_lines_7: expected \"%s\" but got \"%s\"\n", expected, r[0]); + return -1; + } + } + if (r[1] != NULL) { + fprintf (stderr, "test_command_lines_7: extra elements returned from command\n"); + print_strings (r); + return -1; + } + for (i = 0; r[i] != NULL; ++i) + free (r[i]); + free (r); + } + } else + printf ("%s skipped (reason: test prerequisite)\n", "test_command_lines_7"); + return 0; +} + +static int test_command_lines_8_prereq (void) +{ + const char *str = getenv ("SKIP_TEST_COMMAND"); + return str && strcmp (str, "1") == 0; +} + +static int test_command_lines_8 (void) +{ + if (! test_command_lines_8_prereq ()) { + /* InitBasicFS for command_lines (8): create ext2 on /dev/sda1 */ + { + char device[] = "/dev/sda"; + device[5] = devchar; + int r; + suppress_error = 0; + r = guestfs_blockdev_setrw (g, device); + if (r == -1) + return -1; + } + { + int r; + suppress_error = 0; + r = guestfs_umount_all (g); + if (r == -1) + return -1; + } + { + int r; + suppress_error = 0; + r = guestfs_lvm_remove_all (g); + if (r == -1) + return -1; + } + { + char device[] = "/dev/sda"; + device[5] = devchar; + char lines_0[] = ","; + char *lines[] = { + lines_0, + NULL + }; + int r; + suppress_error = 0; + r = guestfs_sfdisk (g, device, 0, 0, 0, lines); + if (r == -1) + return -1; + } + { + char fstype[] = "ext2"; + char device[] = "/dev/sda1"; + device[5] = devchar; + int r; + suppress_error = 0; + r = guestfs_mkfs (g, fstype, device); + if (r == -1) + return -1; + } + { + char device[] = "/dev/sda1"; + device[5] = devchar; + char mountpoint[] = "/"; + int r; + suppress_error = 0; + r = guestfs_mount (g, device, mountpoint); + if (r == -1) + return -1; + } + /* TestOutputList for command_lines (8) */ + { + char remotefilename[] = "/test-command"; + int r; + suppress_error = 0; + r = guestfs_upload (g, "test-command", remotefilename); + if (r == -1) + return -1; + } + { + char path[] = "/test-command"; + int r; + suppress_error = 0; + r = guestfs_chmod (g, 493, path); + if (r == -1) + return -1; + } + { + char arguments_0[] = "/test-command"; + char arguments_1[] = "9"; + char *arguments[] = { + arguments_0, + arguments_1, + NULL + }; + char **r; + int i; + suppress_error = 0; + r = guestfs_command_lines (g, arguments); + if (r == NULL) + return -1; + if (!r[0]) { + fprintf (stderr, "test_command_lines_8: short list returned from command\n"); + print_strings (r); + return -1; + } + { + char expected[] = ""; + if (strcmp (r[0], expected) != 0) { + fprintf (stderr, "test_command_lines_8: expected \"%s\" but got \"%s\"\n", expected, r[0]); + return -1; + } + } + if (!r[1]) { + fprintf (stderr, "test_command_lines_8: short list returned from command\n"); + print_strings (r); + return -1; + } + { + char expected[] = ""; + if (strcmp (r[1], expected) != 0) { + fprintf (stderr, "test_command_lines_8: expected \"%s\" but got \"%s\"\n", expected, r[1]); + return -1; + } + } + if (r[2] != NULL) { + fprintf (stderr, "test_command_lines_8: extra elements returned from command\n"); + print_strings (r); + return -1; + } + for (i = 0; r[i] != NULL; ++i) + free (r[i]); + free (r); + } + } else + printf ("%s skipped (reason: test prerequisite)\n", "test_command_lines_8"); + return 0; +} + +static int test_command_lines_9_prereq (void) +{ + const char *str = getenv ("SKIP_TEST_COMMAND"); + return str && strcmp (str, "1") == 0; +} + +static int test_command_lines_9 (void) +{ + if (! test_command_lines_9_prereq ()) { + /* InitBasicFS for command_lines (9): create ext2 on /dev/sda1 */ + { + char device[] = "/dev/sda"; + device[5] = devchar; + int r; + suppress_error = 0; + r = guestfs_blockdev_setrw (g, device); + if (r == -1) + return -1; + } + { + int r; + suppress_error = 0; + r = guestfs_umount_all (g); + if (r == -1) + return -1; + } + { + int r; + suppress_error = 0; + r = guestfs_lvm_remove_all (g); + if (r == -1) + return -1; + } + { + char device[] = "/dev/sda"; + device[5] = devchar; + char lines_0[] = ","; + char *lines[] = { + lines_0, + NULL + }; + int r; + suppress_error = 0; + r = guestfs_sfdisk (g, device, 0, 0, 0, lines); + if (r == -1) + return -1; + } + { + char fstype[] = "ext2"; + char device[] = "/dev/sda1"; + device[5] = devchar; + int r; + suppress_error = 0; + r = guestfs_mkfs (g, fstype, device); + if (r == -1) + return -1; + } + { + char device[] = "/dev/sda1"; + device[5] = devchar; + char mountpoint[] = "/"; + int r; + suppress_error = 0; + r = guestfs_mount (g, device, mountpoint); + if (r == -1) + return -1; + } + /* TestOutputList for command_lines (9) */ + { + char remotefilename[] = "/test-command"; + int r; + suppress_error = 0; + r = guestfs_upload (g, "test-command", remotefilename); + if (r == -1) + return -1; + } + { + char path[] = "/test-command"; + int r; + suppress_error = 0; + r = guestfs_chmod (g, 493, path); + if (r == -1) + return -1; + } + { + char arguments_0[] = "/test-command"; + char arguments_1[] = "10"; + char *arguments[] = { + arguments_0, + arguments_1, + NULL + }; + char **r; + int i; + suppress_error = 0; + r = guestfs_command_lines (g, arguments); + if (r == NULL) + return -1; + if (!r[0]) { + fprintf (stderr, "test_command_lines_9: short list returned from command\n"); + print_strings (r); + return -1; + } + { + char expected[] = "Result10-1"; + if (strcmp (r[0], expected) != 0) { + fprintf (stderr, "test_command_lines_9: expected \"%s\" but got \"%s\"\n", expected, r[0]); + return -1; + } + } + if (!r[1]) { + fprintf (stderr, "test_command_lines_9: short list returned from command\n"); + print_strings (r); + return -1; + } + { + char expected[] = "Result10-2"; + if (strcmp (r[1], expected) != 0) { + fprintf (stderr, "test_command_lines_9: expected \"%s\" but got \"%s\"\n", expected, r[1]); + return -1; + } + } + if (r[2] != NULL) { + fprintf (stderr, "test_command_lines_9: extra elements returned from command\n"); + print_strings (r); + return -1; + } + for (i = 0; r[i] != NULL; ++i) + free (r[i]); + free (r); + } + } else + printf ("%s skipped (reason: test prerequisite)\n", "test_command_lines_9"); + return 0; +} + +static int test_command_lines_10_prereq (void) +{ + const char *str = getenv ("SKIP_TEST_COMMAND"); + return str && strcmp (str, "1") == 0; +} + +static int test_command_lines_10 (void) +{ + if (! test_command_lines_10_prereq ()) { + /* InitBasicFS for command_lines (10): create ext2 on /dev/sda1 */ + { + char device[] = "/dev/sda"; + device[5] = devchar; + int r; + suppress_error = 0; + r = guestfs_blockdev_setrw (g, device); + if (r == -1) + return -1; + } + { + int r; + suppress_error = 0; + r = guestfs_umount_all (g); + if (r == -1) + return -1; + } + { + int r; + suppress_error = 0; + r = guestfs_lvm_remove_all (g); + if (r == -1) + return -1; + } + { + char device[] = "/dev/sda"; + device[5] = devchar; + char lines_0[] = ","; + char *lines[] = { + lines_0, + NULL + }; + int r; + suppress_error = 0; + r = guestfs_sfdisk (g, device, 0, 0, 0, lines); + if (r == -1) + return -1; + } + { + char fstype[] = "ext2"; + char device[] = "/dev/sda1"; + device[5] = devchar; + int r; + suppress_error = 0; + r = guestfs_mkfs (g, fstype, device); + if (r == -1) + return -1; + } + { + char device[] = "/dev/sda1"; + device[5] = devchar; + char mountpoint[] = "/"; + int r; + suppress_error = 0; + r = guestfs_mount (g, device, mountpoint); + if (r == -1) + return -1; + } + /* TestOutputList for command_lines (10) */ + { + char remotefilename[] = "/test-command"; + int r; + suppress_error = 0; + r = guestfs_upload (g, "test-command", remotefilename); + if (r == -1) + return -1; + } + { + char path[] = "/test-command"; + int r; + suppress_error = 0; + r = guestfs_chmod (g, 493, path); + if (r == -1) + return -1; + } + { + char arguments_0[] = "/test-command"; + char arguments_1[] = "11"; + char *arguments[] = { + arguments_0, + arguments_1, + NULL + }; + char **r; + int i; + suppress_error = 0; + r = guestfs_command_lines (g, arguments); + if (r == NULL) + return -1; + if (!r[0]) { + fprintf (stderr, "test_command_lines_10: short list returned from command\n"); + print_strings (r); + return -1; + } + { + char expected[] = "Result11-1"; + if (strcmp (r[0], expected) != 0) { + fprintf (stderr, "test_command_lines_10: expected \"%s\" but got \"%s\"\n", expected, r[0]); + return -1; + } + } + if (!r[1]) { + fprintf (stderr, "test_command_lines_10: short list returned from command\n"); + print_strings (r); + return -1; + } + { + char expected[] = "Result11-2"; + if (strcmp (r[1], expected) != 0) { + fprintf (stderr, "test_command_lines_10: expected \"%s\" but got \"%s\"\n", expected, r[1]); + return -1; + } + } + if (r[2] != NULL) { + fprintf (stderr, "test_command_lines_10: extra elements returned from command\n"); + print_strings (r); + return -1; + } + for (i = 0; r[i] != NULL; ++i) + free (r[i]); + free (r); + } + } else + printf ("%s skipped (reason: test prerequisite)\n", "test_command_lines_10"); + return 0; +} + +static int test_command_0_prereq (void) +{ + const char *str = getenv ("SKIP_TEST_COMMAND"); + return str && strcmp (str, "1") == 0; +} + +static int test_command_0 (void) +{ + if (! test_command_0_prereq ()) { + /* InitBasicFS for command (0): create ext2 on /dev/sda1 */ + { + char device[] = "/dev/sda"; + device[5] = devchar; + int r; + suppress_error = 0; + r = guestfs_blockdev_setrw (g, device); + if (r == -1) + return -1; + } + { + int r; + suppress_error = 0; + r = guestfs_umount_all (g); + if (r == -1) + return -1; + } + { + int r; + suppress_error = 0; + r = guestfs_lvm_remove_all (g); + if (r == -1) + return -1; + } + { + char device[] = "/dev/sda"; + device[5] = devchar; + char lines_0[] = ","; + char *lines[] = { + lines_0, + NULL + }; + int r; + suppress_error = 0; + r = guestfs_sfdisk (g, device, 0, 0, 0, lines); + if (r == -1) + return -1; + } + { + char fstype[] = "ext2"; + char device[] = "/dev/sda1"; + device[5] = devchar; + int r; + suppress_error = 0; + r = guestfs_mkfs (g, fstype, device); + if (r == -1) + return -1; + } + { + char device[] = "/dev/sda1"; + device[5] = devchar; + char mountpoint[] = "/"; + int r; + suppress_error = 0; + r = guestfs_mount (g, device, mountpoint); + if (r == -1) + return -1; + } + /* TestOutput for command (0) */ + char expected[] = "Result1"; + { + char remotefilename[] = "/test-command"; + int r; + suppress_error = 0; + r = guestfs_upload (g, "test-command", remotefilename); + if (r == -1) + return -1; + } + { + char path[] = "/test-command"; + int r; + suppress_error = 0; + r = guestfs_chmod (g, 493, path); + if (r == -1) + return -1; + } + { + char arguments_0[] = "/test-command"; + char arguments_1[] = "1"; + char *arguments[] = { + arguments_0, + arguments_1, + NULL + }; + char *r; + suppress_error = 0; + r = guestfs_command (g, arguments); + if (r == NULL) + return -1; + if (strcmp (r, expected) != 0) { + fprintf (stderr, "test_command_0: expected \"%s\" but got \"%s\"\n", expected, r); + return -1; + } + free (r); + } + } else + printf ("%s skipped (reason: test prerequisite)\n", "test_command_0"); + return 0; +} + +static int test_command_1_prereq (void) +{ + const char *str = getenv ("SKIP_TEST_COMMAND"); + return str && strcmp (str, "1") == 0; +} + +static int test_command_1 (void) +{ + if (! test_command_1_prereq ()) { + /* InitBasicFS for command (1): create ext2 on /dev/sda1 */ + { + char device[] = "/dev/sda"; + device[5] = devchar; + int r; + suppress_error = 0; + r = guestfs_blockdev_setrw (g, device); + if (r == -1) + return -1; + } + { + int r; + suppress_error = 0; + r = guestfs_umount_all (g); + if (r == -1) + return -1; + } + { + int r; + suppress_error = 0; + r = guestfs_lvm_remove_all (g); + if (r == -1) + return -1; + } + { + char device[] = "/dev/sda"; + device[5] = devchar; + char lines_0[] = ","; + char *lines[] = { + lines_0, + NULL + }; + int r; + suppress_error = 0; + r = guestfs_sfdisk (g, device, 0, 0, 0, lines); + if (r == -1) + return -1; + } + { + char fstype[] = "ext2"; + char device[] = "/dev/sda1"; + device[5] = devchar; + int r; + suppress_error = 0; + r = guestfs_mkfs (g, fstype, device); + if (r == -1) + return -1; + } + { + char device[] = "/dev/sda1"; + device[5] = devchar; + char mountpoint[] = "/"; + int r; + suppress_error = 0; + r = guestfs_mount (g, device, mountpoint); + if (r == -1) + return -1; + } + /* TestOutput for command (1) */ + char expected[] = "Result2\n"; + { + char remotefilename[] = "/test-command"; + int r; + suppress_error = 0; + r = guestfs_upload (g, "test-command", remotefilename); + if (r == -1) + return -1; + } + { + char path[] = "/test-command"; + int r; + suppress_error = 0; + r = guestfs_chmod (g, 493, path); + if (r == -1) + return -1; + } + { + char arguments_0[] = "/test-command"; + char arguments_1[] = "2"; + char *arguments[] = { + arguments_0, + arguments_1, + NULL + }; + char *r; + suppress_error = 0; + r = guestfs_command (g, arguments); + if (r == NULL) + return -1; + if (strcmp (r, expected) != 0) { + fprintf (stderr, "test_command_1: expected \"%s\" but got \"%s\"\n", expected, r); + return -1; + } + free (r); + } + } else + printf ("%s skipped (reason: test prerequisite)\n", "test_command_1"); + return 0; +} + +static int test_command_2_prereq (void) +{ + const char *str = getenv ("SKIP_TEST_COMMAND"); + return str && strcmp (str, "1") == 0; +} + +static int test_command_2 (void) +{ + if (! test_command_2_prereq ()) { + /* InitBasicFS for command (2): create ext2 on /dev/sda1 */ + { + char device[] = "/dev/sda"; + device[5] = devchar; + int r; + suppress_error = 0; + r = guestfs_blockdev_setrw (g, device); + if (r == -1) + return -1; + } + { + int r; + suppress_error = 0; + r = guestfs_umount_all (g); + if (r == -1) + return -1; + } + { + int r; + suppress_error = 0; + r = guestfs_lvm_remove_all (g); + if (r == -1) + return -1; + } + { + char device[] = "/dev/sda"; + device[5] = devchar; + char lines_0[] = ","; + char *lines[] = { + lines_0, + NULL + }; + int r; + suppress_error = 0; + r = guestfs_sfdisk (g, device, 0, 0, 0, lines); + if (r == -1) + return -1; + } + { + char fstype[] = "ext2"; + char device[] = "/dev/sda1"; + device[5] = devchar; + int r; + suppress_error = 0; + r = guestfs_mkfs (g, fstype, device); + if (r == -1) + return -1; + } + { + char device[] = "/dev/sda1"; + device[5] = devchar; + char mountpoint[] = "/"; + int r; + suppress_error = 0; + r = guestfs_mount (g, device, mountpoint); + if (r == -1) + return -1; + } + /* TestOutput for command (2) */ + char expected[] = "\nResult3"; + { + char remotefilename[] = "/test-command"; + int r; + suppress_error = 0; + r = guestfs_upload (g, "test-command", remotefilename); + if (r == -1) + return -1; + } + { + char path[] = "/test-command"; + int r; + suppress_error = 0; + r = guestfs_chmod (g, 493, path); + if (r == -1) + return -1; + } + { + char arguments_0[] = "/test-command"; + char arguments_1[] = "3"; + char *arguments[] = { + arguments_0, + arguments_1, + NULL + }; + char *r; + suppress_error = 0; + r = guestfs_command (g, arguments); + if (r == NULL) + return -1; + if (strcmp (r, expected) != 0) { + fprintf (stderr, "test_command_2: expected \"%s\" but got \"%s\"\n", expected, r); + return -1; + } + free (r); + } + } else + printf ("%s skipped (reason: test prerequisite)\n", "test_command_2"); + return 0; +} + +static int test_command_3_prereq (void) +{ + const char *str = getenv ("SKIP_TEST_COMMAND"); + return str && strcmp (str, "1") == 0; +} + +static int test_command_3 (void) +{ + if (! test_command_3_prereq ()) { + /* InitBasicFS for command (3): create ext2 on /dev/sda1 */ + { + char device[] = "/dev/sda"; + device[5] = devchar; + int r; + suppress_error = 0; + r = guestfs_blockdev_setrw (g, device); + if (r == -1) + return -1; + } + { + int r; + suppress_error = 0; + r = guestfs_umount_all (g); + if (r == -1) + return -1; + } + { + int r; + suppress_error = 0; + r = guestfs_lvm_remove_all (g); + if (r == -1) + return -1; + } + { + char device[] = "/dev/sda"; + device[5] = devchar; + char lines_0[] = ","; + char *lines[] = { + lines_0, + NULL + }; + int r; + suppress_error = 0; + r = guestfs_sfdisk (g, device, 0, 0, 0, lines); + if (r == -1) + return -1; + } + { + char fstype[] = "ext2"; + char device[] = "/dev/sda1"; + device[5] = devchar; + int r; + suppress_error = 0; + r = guestfs_mkfs (g, fstype, device); + if (r == -1) + return -1; + } + { + char device[] = "/dev/sda1"; + device[5] = devchar; + char mountpoint[] = "/"; + int r; + suppress_error = 0; + r = guestfs_mount (g, device, mountpoint); + if (r == -1) + return -1; + } + /* TestOutput for command (3) */ + char expected[] = "\nResult4\n"; + { + char remotefilename[] = "/test-command"; + int r; + suppress_error = 0; + r = guestfs_upload (g, "test-command", remotefilename); + if (r == -1) + return -1; + } + { + char path[] = "/test-command"; + int r; + suppress_error = 0; + r = guestfs_chmod (g, 493, path); + if (r == -1) + return -1; + } + { + char arguments_0[] = "/test-command"; + char arguments_1[] = "4"; + char *arguments[] = { + arguments_0, + arguments_1, + NULL + }; + char *r; + suppress_error = 0; + r = guestfs_command (g, arguments); + if (r == NULL) + return -1; + if (strcmp (r, expected) != 0) { + fprintf (stderr, "test_command_3: expected \"%s\" but got \"%s\"\n", expected, r); + return -1; + } + free (r); + } + } else + printf ("%s skipped (reason: test prerequisite)\n", "test_command_3"); + return 0; +} + +static int test_command_4_prereq (void) +{ + const char *str = getenv ("SKIP_TEST_COMMAND"); + return str && strcmp (str, "1") == 0; +} + +static int test_command_4 (void) +{ + if (! test_command_4_prereq ()) { + /* InitBasicFS for command (4): create ext2 on /dev/sda1 */ + { + char device[] = "/dev/sda"; + device[5] = devchar; + int r; + suppress_error = 0; + r = guestfs_blockdev_setrw (g, device); + if (r == -1) + return -1; + } + { + int r; + suppress_error = 0; + r = guestfs_umount_all (g); + if (r == -1) + return -1; + } + { + int r; + suppress_error = 0; + r = guestfs_lvm_remove_all (g); + if (r == -1) + return -1; + } + { + char device[] = "/dev/sda"; + device[5] = devchar; + char lines_0[] = ","; + char *lines[] = { + lines_0, + NULL + }; + int r; + suppress_error = 0; + r = guestfs_sfdisk (g, device, 0, 0, 0, lines); + if (r == -1) + return -1; + } + { + char fstype[] = "ext2"; + char device[] = "/dev/sda1"; + device[5] = devchar; + int r; + suppress_error = 0; + r = guestfs_mkfs (g, fstype, device); + if (r == -1) + return -1; + } + { + char device[] = "/dev/sda1"; + device[5] = devchar; + char mountpoint[] = "/"; + int r; + suppress_error = 0; + r = guestfs_mount (g, device, mountpoint); + if (r == -1) + return -1; + } + /* TestOutput for command (4) */ + char expected[] = "\nResult5\n\n"; + { + char remotefilename[] = "/test-command"; + int r; + suppress_error = 0; + r = guestfs_upload (g, "test-command", remotefilename); + if (r == -1) + return -1; + } + { + char path[] = "/test-command"; + int r; + suppress_error = 0; + r = guestfs_chmod (g, 493, path); + if (r == -1) + return -1; + } + { + char arguments_0[] = "/test-command"; + char arguments_1[] = "5"; + char *arguments[] = { + arguments_0, + arguments_1, + NULL + }; + char *r; + suppress_error = 0; + r = guestfs_command (g, arguments); + if (r == NULL) + return -1; + if (strcmp (r, expected) != 0) { + fprintf (stderr, "test_command_4: expected \"%s\" but got \"%s\"\n", expected, r); + return -1; + } + free (r); + } + } else + printf ("%s skipped (reason: test prerequisite)\n", "test_command_4"); + return 0; +} + +static int test_command_5_prereq (void) +{ + const char *str = getenv ("SKIP_TEST_COMMAND"); + return str && strcmp (str, "1") == 0; +} + +static int test_command_5 (void) +{ + if (! test_command_5_prereq ()) { + /* InitBasicFS for command (5): create ext2 on /dev/sda1 */ + { + char device[] = "/dev/sda"; + device[5] = devchar; + int r; + suppress_error = 0; + r = guestfs_blockdev_setrw (g, device); + if (r == -1) + return -1; + } + { + int r; + suppress_error = 0; + r = guestfs_umount_all (g); + if (r == -1) + return -1; + } + { + int r; + suppress_error = 0; + r = guestfs_lvm_remove_all (g); + if (r == -1) + return -1; + } + { + char device[] = "/dev/sda"; + device[5] = devchar; + char lines_0[] = ","; + char *lines[] = { + lines_0, + NULL + }; + int r; + suppress_error = 0; + r = guestfs_sfdisk (g, device, 0, 0, 0, lines); + if (r == -1) + return -1; + } + { + char fstype[] = "ext2"; + char device[] = "/dev/sda1"; + device[5] = devchar; + int r; + suppress_error = 0; + r = guestfs_mkfs (g, fstype, device); + if (r == -1) + return -1; + } + { + char device[] = "/dev/sda1"; + device[5] = devchar; + char mountpoint[] = "/"; + int r; + suppress_error = 0; + r = guestfs_mount (g, device, mountpoint); + if (r == -1) + return -1; + } + /* TestOutput for command (5) */ + char expected[] = "\n\nResult6\n\n"; + { + char remotefilename[] = "/test-command"; + int r; + suppress_error = 0; + r = guestfs_upload (g, "test-command", remotefilename); + if (r == -1) + return -1; + } + { + char path[] = "/test-command"; + int r; + suppress_error = 0; + r = guestfs_chmod (g, 493, path); + if (r == -1) + return -1; + } + { + char arguments_0[] = "/test-command"; + char arguments_1[] = "6"; + char *arguments[] = { + arguments_0, + arguments_1, + NULL + }; + char *r; + suppress_error = 0; + r = guestfs_command (g, arguments); + if (r == NULL) + return -1; + if (strcmp (r, expected) != 0) { + fprintf (stderr, "test_command_5: expected \"%s\" but got \"%s\"\n", expected, r); + return -1; + } + free (r); + } + } else + printf ("%s skipped (reason: test prerequisite)\n", "test_command_5"); + return 0; +} + +static int test_command_6_prereq (void) +{ + const char *str = getenv ("SKIP_TEST_COMMAND"); + return str && strcmp (str, "1") == 0; +} + +static int test_command_6 (void) +{ + if (! test_command_6_prereq ()) { + /* InitBasicFS for command (6): create ext2 on /dev/sda1 */ + { + char device[] = "/dev/sda"; + device[5] = devchar; + int r; + suppress_error = 0; + r = guestfs_blockdev_setrw (g, device); + if (r == -1) + return -1; + } + { + int r; + suppress_error = 0; + r = guestfs_umount_all (g); + if (r == -1) + return -1; + } + { + int r; + suppress_error = 0; + r = guestfs_lvm_remove_all (g); + if (r == -1) + return -1; + } + { + char device[] = "/dev/sda"; + device[5] = devchar; + char lines_0[] = ","; + char *lines[] = { + lines_0, + NULL + }; + int r; + suppress_error = 0; + r = guestfs_sfdisk (g, device, 0, 0, 0, lines); + if (r == -1) + return -1; + } + { + char fstype[] = "ext2"; + char device[] = "/dev/sda1"; + device[5] = devchar; + int r; + suppress_error = 0; + r = guestfs_mkfs (g, fstype, device); + if (r == -1) + return -1; + } + { + char device[] = "/dev/sda1"; + device[5] = devchar; + char mountpoint[] = "/"; + int r; + suppress_error = 0; + r = guestfs_mount (g, device, mountpoint); + if (r == -1) + return -1; + } + /* TestOutput for command (6) */ + char expected[] = ""; + { + char remotefilename[] = "/test-command"; + int r; + suppress_error = 0; + r = guestfs_upload (g, "test-command", remotefilename); + if (r == -1) + return -1; + } + { + char path[] = "/test-command"; + int r; + suppress_error = 0; + r = guestfs_chmod (g, 493, path); + if (r == -1) + return -1; + } + { + char arguments_0[] = "/test-command"; + char arguments_1[] = "7"; + char *arguments[] = { + arguments_0, + arguments_1, + NULL + }; + char *r; + suppress_error = 0; + r = guestfs_command (g, arguments); + if (r == NULL) + return -1; + if (strcmp (r, expected) != 0) { + fprintf (stderr, "test_command_6: expected \"%s\" but got \"%s\"\n", expected, r); + return -1; + } + free (r); + } + } else + printf ("%s skipped (reason: test prerequisite)\n", "test_command_6"); + return 0; +} + +static int test_command_7_prereq (void) +{ + const char *str = getenv ("SKIP_TEST_COMMAND"); + return str && strcmp (str, "1") == 0; +} + +static int test_command_7 (void) +{ + if (! test_command_7_prereq ()) { + /* InitBasicFS for command (7): create ext2 on /dev/sda1 */ + { + char device[] = "/dev/sda"; + device[5] = devchar; + int r; + suppress_error = 0; + r = guestfs_blockdev_setrw (g, device); + if (r == -1) + return -1; + } + { + int r; + suppress_error = 0; + r = guestfs_umount_all (g); + if (r == -1) + return -1; + } + { + int r; + suppress_error = 0; + r = guestfs_lvm_remove_all (g); + if (r == -1) + return -1; + } + { + char device[] = "/dev/sda"; + device[5] = devchar; + char lines_0[] = ","; + char *lines[] = { + lines_0, + NULL + }; + int r; + suppress_error = 0; + r = guestfs_sfdisk (g, device, 0, 0, 0, lines); if (r == -1) return -1; } { + char fstype[] = "ext2"; + char device[] = "/dev/sda1"; + device[5] = devchar; int r; suppress_error = 0; - r = guestfs_umount_all (g); + r = guestfs_mkfs (g, fstype, device); if (r == -1) return -1; } { + char device[] = "/dev/sda1"; + device[5] = devchar; + char mountpoint[] = "/"; int r; suppress_error = 0; - r = guestfs_lvm_remove_all (g); + r = guestfs_mount (g, device, mountpoint); if (r == -1) return -1; } - /* TestOutputTrue for blockdev_getro (0) */ + /* TestOutput for command (7) */ + char expected[] = "\n"; { - char device[] = "/dev/sda"; - device[5] = devchar; + char remotefilename[] = "/test-command"; int r; suppress_error = 0; - r = guestfs_blockdev_setro (g, device); + r = guestfs_upload (g, "test-command", remotefilename); if (r == -1) return -1; } { - char device[] = "/dev/sda"; - device[5] = devchar; + char path[] = "/test-command"; int r; suppress_error = 0; - r = guestfs_blockdev_getro (g, device); + r = guestfs_chmod (g, 493, path); if (r == -1) return -1; - if (!r) { - fprintf (stderr, "test_blockdev_getro_0: expected true, got false\n"); + } + { + char arguments_0[] = "/test-command"; + char arguments_1[] = "8"; + char *arguments[] = { + arguments_0, + arguments_1, + NULL + }; + char *r; + suppress_error = 0; + r = guestfs_command (g, arguments); + if (r == NULL) + return -1; + if (strcmp (r, expected) != 0) { + fprintf (stderr, "test_command_7: expected \"%s\" but got \"%s\"\n", expected, r); return -1; } + free (r); } + } else + printf ("%s skipped (reason: test prerequisite)\n", "test_command_7"); return 0; } -static int test_blockdev_setrw_0 (void) +static int test_command_8_prereq (void) { - /* InitEmpty for blockdev_setrw (0) */ + const char *str = getenv ("SKIP_TEST_COMMAND"); + return str && strcmp (str, "1") == 0; +} + +static int test_command_8 (void) +{ + if (! test_command_8_prereq ()) { + /* InitBasicFS for command (8): create ext2 on /dev/sda1 */ { char device[] = "/dev/sda"; device[5] = devchar; @@ -4548,87 +7456,92 @@ static int test_blockdev_setrw_0 (void) if (r == -1) return -1; } - /* TestOutputFalse for blockdev_setrw (0) */ { char device[] = "/dev/sda"; device[5] = devchar; + char lines_0[] = ","; + char *lines[] = { + lines_0, + NULL + }; int r; suppress_error = 0; - r = guestfs_blockdev_setrw (g, device); + r = guestfs_sfdisk (g, device, 0, 0, 0, lines); if (r == -1) return -1; } { - char device[] = "/dev/sda"; + char fstype[] = "ext2"; + char device[] = "/dev/sda1"; device[5] = devchar; int r; suppress_error = 0; - r = guestfs_blockdev_getro (g, device); + r = guestfs_mkfs (g, fstype, device); if (r == -1) return -1; - if (r) { - fprintf (stderr, "test_blockdev_setrw_0: expected false, got true\n"); - return -1; - } } - return 0; -} - -static int test_blockdev_setro_0 (void) -{ - /* InitEmpty for blockdev_setro (0) */ { - char device[] = "/dev/sda"; + char device[] = "/dev/sda1"; device[5] = devchar; + char mountpoint[] = "/"; int r; suppress_error = 0; - r = guestfs_blockdev_setrw (g, device); - if (r == -1) - return -1; - } - { - int r; - suppress_error = 0; - r = guestfs_umount_all (g); + r = guestfs_mount (g, device, mountpoint); if (r == -1) return -1; } + /* TestOutput for command (8) */ + char expected[] = "\n\n"; { + char remotefilename[] = "/test-command"; int r; suppress_error = 0; - r = guestfs_lvm_remove_all (g); + r = guestfs_upload (g, "test-command", remotefilename); if (r == -1) return -1; } - /* TestOutputTrue for blockdev_setro (0) */ { - char device[] = "/dev/sda"; - device[5] = devchar; + char path[] = "/test-command"; int r; suppress_error = 0; - r = guestfs_blockdev_setro (g, device); + r = guestfs_chmod (g, 493, path); if (r == -1) return -1; } { - char device[] = "/dev/sda"; - device[5] = devchar; - int r; + char arguments_0[] = "/test-command"; + char arguments_1[] = "9"; + char *arguments[] = { + arguments_0, + arguments_1, + NULL + }; + char *r; suppress_error = 0; - r = guestfs_blockdev_getro (g, device); - if (r == -1) + r = guestfs_command (g, arguments); + if (r == NULL) return -1; - if (!r) { - fprintf (stderr, "test_blockdev_setro_0: expected true, got false\n"); + if (strcmp (r, expected) != 0) { + fprintf (stderr, "test_command_8: expected \"%s\" but got \"%s\"\n", expected, r); return -1; } + free (r); } + } else + printf ("%s skipped (reason: test prerequisite)\n", "test_command_8"); return 0; } -static int test_statvfs_0 (void) +static int test_command_9_prereq (void) { - /* InitBasicFS for statvfs (0): create ext2 on /dev/sda1 */ + const char *str = getenv ("SKIP_TEST_COMMAND"); + return str && strcmp (str, "1") == 0; +} + +static int test_command_9 (void) +{ + if (! test_command_9_prereq ()) { + /* InitBasicFS for command (9): create ext2 on /dev/sda1 */ { char device[] = "/dev/sda"; device[5] = devchar; @@ -4686,37 +7599,58 @@ static int test_statvfs_0 (void) if (r == -1) return -1; } - /* TestOutputStruct for statvfs (0) */ + /* TestOutput for command (9) */ + char expected[] = "Result10-1\nResult10-2\n"; { - char path[] = "/"; - struct guestfs_statvfs *r; + char remotefilename[] = "/test-command"; + int r; suppress_error = 0; - r = guestfs_statvfs (g, path); - if (r == NULL) + r = guestfs_upload (g, "test-command", remotefilename); + if (r == -1) return -1; - if (r->bfree != 487702) { - fprintf (stderr, "test_statvfs_0: bfree was %d, expected 487702\n", - (int) r->bfree); + } + { + char path[] = "/test-command"; + int r; + suppress_error = 0; + r = guestfs_chmod (g, 493, path); + if (r == -1) return -1; - } - if (r->blocks != 490020) { - fprintf (stderr, "test_statvfs_0: blocks was %d, expected 490020\n", - (int) r->blocks); + } + { + char arguments_0[] = "/test-command"; + char arguments_1[] = "10"; + char *arguments[] = { + arguments_0, + arguments_1, + NULL + }; + char *r; + suppress_error = 0; + r = guestfs_command (g, arguments); + if (r == NULL) return -1; - } - if (r->bsize != 1024) { - fprintf (stderr, "test_statvfs_0: bsize was %d, expected 1024\n", - (int) r->bsize); + if (strcmp (r, expected) != 0) { + fprintf (stderr, "test_command_9: expected \"%s\" but got \"%s\"\n", expected, r); return -1; } free (r); } + } else + printf ("%s skipped (reason: test prerequisite)\n", "test_command_9"); return 0; } -static int test_lstat_0 (void) +static int test_command_10_prereq (void) { - /* InitBasicFS for lstat (0): create ext2 on /dev/sda1 */ + const char *str = getenv ("SKIP_TEST_COMMAND"); + return str && strcmp (str, "1") == 0; +} + +static int test_command_10 (void) +{ + if (! test_command_10_prereq ()) { + /* InitBasicFS for command (10): create ext2 on /dev/sda1 */ { char device[] = "/dev/sda"; device[5] = devchar; @@ -4774,35 +7708,58 @@ static int test_lstat_0 (void) if (r == -1) return -1; } - /* TestOutputStruct for lstat (0) */ + /* TestOutput for command (10) */ + char expected[] = "Result11-1\nResult11-2"; { - char path[] = "/new"; + char remotefilename[] = "/test-command"; int r; suppress_error = 0; - r = guestfs_touch (g, path); + r = guestfs_upload (g, "test-command", remotefilename); if (r == -1) return -1; } { - char path[] = "/new"; - struct guestfs_stat *r; + char path[] = "/test-command"; + int r; suppress_error = 0; - r = guestfs_lstat (g, path); + r = guestfs_chmod (g, 493, path); + if (r == -1) + return -1; + } + { + char arguments_0[] = "/test-command"; + char arguments_1[] = "11"; + char *arguments[] = { + arguments_0, + arguments_1, + NULL + }; + char *r; + suppress_error = 0; + r = guestfs_command (g, arguments); if (r == NULL) return -1; - if (r->size != 0) { - fprintf (stderr, "test_lstat_0: size was %d, expected 0\n", - (int) r->size); + if (strcmp (r, expected) != 0) { + fprintf (stderr, "test_command_10: expected \"%s\" but got \"%s\"\n", expected, r); return -1; } free (r); } + } else + printf ("%s skipped (reason: test prerequisite)\n", "test_command_10"); return 0; } -static int test_stat_0 (void) +static int test_command_11_prereq (void) { - /* InitBasicFS for stat (0): create ext2 on /dev/sda1 */ + const char *str = getenv ("SKIP_TEST_COMMAND"); + return str && strcmp (str, "1") == 0; +} + +static int test_command_11 (void) +{ + if (! test_command_11_prereq ()) { + /* InitBasicFS for command (11): create ext2 on /dev/sda1 */ { char device[] = "/dev/sda"; device[5] = devchar; @@ -4860,29 +7817,38 @@ static int test_stat_0 (void) if (r == -1) return -1; } - /* TestOutputStruct for stat (0) */ + /* TestLastFail for command (11) */ { - char path[] = "/new"; + char remotefilename[] = "/test-command"; int r; suppress_error = 0; - r = guestfs_touch (g, path); + r = guestfs_upload (g, "test-command", remotefilename); if (r == -1) return -1; } { - char path[] = "/new"; - struct guestfs_stat *r; + char path[] = "/test-command"; + int r; suppress_error = 0; - r = guestfs_stat (g, path); - if (r == NULL) + r = guestfs_chmod (g, 493, path); + if (r == -1) return -1; - if (r->size != 0) { - fprintf (stderr, "test_stat_0: size was %d, expected 0\n", - (int) r->size); + } + { + char arguments_0[] = "/test-command"; + char *arguments[] = { + arguments_0, + NULL + }; + char *r; + suppress_error = 1; + r = guestfs_command (g, arguments); + if (r != NULL) return -1; - } free (r); } + } else + printf ("%s skipped (reason: test prerequisite)\n", "test_command_11"); return 0; } @@ -10157,9 +13123,15 @@ int main (int argc, char *argv[]) free (devs[i]); free (devs); - nr_tests = 110; + nr_tests = 136; test_num++; + printf ("%3d/%3d test_zerofree_0\n", test_num, nr_tests); + if (test_zerofree_0 () == -1) { + printf ("test_zerofree_0 FAILED\n"); + failed++; + } + test_num++; printf ("%3d/%3d test_hexdump_0\n", test_num, nr_tests); if (test_hexdump_0 () == -1) { printf ("test_hexdump_0 FAILED\n"); @@ -10172,12 +13144,24 @@ int main (int argc, char *argv[]) failed++; } test_num++; + printf ("%3d/%3d test_strings_e_1\n", test_num, nr_tests); + if (test_strings_e_1 () == -1) { + printf ("test_strings_e_1 FAILED\n"); + failed++; + } + test_num++; printf ("%3d/%3d test_strings_0\n", test_num, nr_tests); if (test_strings_0 () == -1) { printf ("test_strings_0 FAILED\n"); failed++; } test_num++; + printf ("%3d/%3d test_strings_1\n", test_num, nr_tests); + if (test_strings_1 () == -1) { + printf ("test_strings_1 FAILED\n"); + failed++; + } + test_num++; printf ("%3d/%3d test_equal_0\n", test_num, nr_tests); if (test_equal_0 () == -1) { printf ("test_equal_0 FAILED\n"); @@ -10508,6 +13492,144 @@ int main (int argc, char *argv[]) failed++; } test_num++; + printf ("%3d/%3d test_command_lines_0\n", test_num, nr_tests); + if (test_command_lines_0 () == -1) { + printf ("test_command_lines_0 FAILED\n"); + failed++; + } + test_num++; + printf ("%3d/%3d test_command_lines_1\n", test_num, nr_tests); + if (test_command_lines_1 () == -1) { + printf ("test_command_lines_1 FAILED\n"); + failed++; + } + test_num++; + printf ("%3d/%3d test_command_lines_2\n", test_num, nr_tests); + if (test_command_lines_2 () == -1) { + printf ("test_command_lines_2 FAILED\n"); + failed++; + } + test_num++; + printf ("%3d/%3d test_command_lines_3\n", test_num, nr_tests); + if (test_command_lines_3 () == -1) { + printf ("test_command_lines_3 FAILED\n"); + failed++; + } + test_num++; + printf ("%3d/%3d test_command_lines_4\n", test_num, nr_tests); + if (test_command_lines_4 () == -1) { + printf ("test_command_lines_4 FAILED\n"); + failed++; + } + test_num++; + printf ("%3d/%3d test_command_lines_5\n", test_num, nr_tests); + if (test_command_lines_5 () == -1) { + printf ("test_command_lines_5 FAILED\n"); + failed++; + } + test_num++; + printf ("%3d/%3d test_command_lines_6\n", test_num, nr_tests); + if (test_command_lines_6 () == -1) { + printf ("test_command_lines_6 FAILED\n"); + failed++; + } + test_num++; + printf ("%3d/%3d test_command_lines_7\n", test_num, nr_tests); + if (test_command_lines_7 () == -1) { + printf ("test_command_lines_7 FAILED\n"); + failed++; + } + test_num++; + printf ("%3d/%3d test_command_lines_8\n", test_num, nr_tests); + if (test_command_lines_8 () == -1) { + printf ("test_command_lines_8 FAILED\n"); + failed++; + } + test_num++; + printf ("%3d/%3d test_command_lines_9\n", test_num, nr_tests); + if (test_command_lines_9 () == -1) { + printf ("test_command_lines_9 FAILED\n"); + failed++; + } + test_num++; + printf ("%3d/%3d test_command_lines_10\n", test_num, nr_tests); + if (test_command_lines_10 () == -1) { + printf ("test_command_lines_10 FAILED\n"); + failed++; + } + test_num++; + printf ("%3d/%3d test_command_0\n", test_num, nr_tests); + if (test_command_0 () == -1) { + printf ("test_command_0 FAILED\n"); + failed++; + } + test_num++; + printf ("%3d/%3d test_command_1\n", test_num, nr_tests); + if (test_command_1 () == -1) { + printf ("test_command_1 FAILED\n"); + failed++; + } + test_num++; + printf ("%3d/%3d test_command_2\n", test_num, nr_tests); + if (test_command_2 () == -1) { + printf ("test_command_2 FAILED\n"); + failed++; + } + test_num++; + printf ("%3d/%3d test_command_3\n", test_num, nr_tests); + if (test_command_3 () == -1) { + printf ("test_command_3 FAILED\n"); + failed++; + } + test_num++; + printf ("%3d/%3d test_command_4\n", test_num, nr_tests); + if (test_command_4 () == -1) { + printf ("test_command_4 FAILED\n"); + failed++; + } + test_num++; + printf ("%3d/%3d test_command_5\n", test_num, nr_tests); + if (test_command_5 () == -1) { + printf ("test_command_5 FAILED\n"); + failed++; + } + test_num++; + printf ("%3d/%3d test_command_6\n", test_num, nr_tests); + if (test_command_6 () == -1) { + printf ("test_command_6 FAILED\n"); + failed++; + } + test_num++; + printf ("%3d/%3d test_command_7\n", test_num, nr_tests); + if (test_command_7 () == -1) { + printf ("test_command_7 FAILED\n"); + failed++; + } + test_num++; + printf ("%3d/%3d test_command_8\n", test_num, nr_tests); + if (test_command_8 () == -1) { + printf ("test_command_8 FAILED\n"); + failed++; + } + test_num++; + printf ("%3d/%3d test_command_9\n", test_num, nr_tests); + if (test_command_9 () == -1) { + printf ("test_command_9 FAILED\n"); + failed++; + } + test_num++; + printf ("%3d/%3d test_command_10\n", test_num, nr_tests); + if (test_command_10 () == -1) { + printf ("test_command_10 FAILED\n"); + failed++; + } + test_num++; + printf ("%3d/%3d test_command_11\n", test_num, nr_tests); + if (test_command_11 () == -1) { + printf ("test_command_11 FAILED\n"); + failed++; + } + test_num++; printf ("%3d/%3d test_file_0\n", test_num, nr_tests); if (test_file_0 () == -1) { printf ("test_file_0 FAILED\n");