X-Git-Url: http://git.annexia.org/?p=libguestfs.git;a=blobdiff_plain;f=tests.c;h=da8b4095dbdba8163604171c30633526c26a7b57;hp=b3d2f49e80a7ffc8183bd70d3691167ddd3123f0;hb=a8d25362435121ada85656c08cd79642f79f9f7b;hpb=b348eacbc4d84337856cf7cca518d61c63e92631 diff --git a/tests.c b/tests.c index b3d2f49..da8b409 100644 --- a/tests.c +++ b/tests.c @@ -63,12 +63,21 @@ static void no_test_warnings (void) fprintf (stderr, "warning: \"guestfs_add_drive\" has no tests\n"); fprintf (stderr, "warning: \"guestfs_add_cdrom\" has no tests\n"); fprintf (stderr, "warning: \"guestfs_config\" has no tests\n"); + fprintf (stderr, "warning: \"guestfs_set_qemu\" has no tests\n"); + 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_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"); fprintf (stderr, "warning: \"guestfs_get_verbose\" has no tests\n"); + fprintf (stderr, "warning: \"guestfs_is_ready\" has no tests\n"); + fprintf (stderr, "warning: \"guestfs_is_config\" has no tests\n"); + fprintf (stderr, "warning: \"guestfs_is_launching\" has no tests\n"); + fprintf (stderr, "warning: \"guestfs_is_busy\" has no tests\n"); + fprintf (stderr, "warning: \"guestfs_get_state\" has no tests\n"); + fprintf (stderr, "warning: \"guestfs_set_busy\" has no tests\n"); + fprintf (stderr, "warning: \"guestfs_set_ready\" has no tests\n"); fprintf (stderr, "warning: \"guestfs_ll\" has no tests\n"); fprintf (stderr, "warning: \"guestfs_pvs_full\" has no tests\n"); fprintf (stderr, "warning: \"guestfs_vgs_full\" has no tests\n"); @@ -94,11 +103,13 @@ static void no_test_warnings (void) 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"); + fprintf (stderr, "warning: \"guestfs_tgz_out\" has no tests\n"); } -static int test_blockdev_rereadpt_0 (void) +static int test_tgz_in_0 (void) { - /* InitEmpty for blockdev_rereadpt (0) */ + /* InitBasicFS for tgz_in (0): create ext2 on /dev/sda1 */ { int r; suppress_error = 0; @@ -113,48 +124,57 @@ static int test_blockdev_rereadpt_0 (void) if (r == -1) return -1; } - /* TestRun for blockdev_rereadpt (0) */ { + char *lines[] = { + ",", + NULL + }; int r; suppress_error = 0; - r = guestfs_blockdev_rereadpt (g, "/dev/sda"); + r = guestfs_sfdisk (g, "/dev/sda", 0, 0, 0, lines); if (r == -1) return -1; } - return 0; -} - -static int test_blockdev_flushbufs_0 (void) -{ - /* InitEmpty for blockdev_flushbufs (0) */ { int r; suppress_error = 0; - r = guestfs_umount_all (g); + r = guestfs_mkfs (g, "ext2", "/dev/sda1"); if (r == -1) return -1; } { int r; suppress_error = 0; - r = guestfs_lvm_remove_all (g); + r = guestfs_mount (g, "/dev/sda1", "/"); if (r == -1) return -1; } - /* TestRun for blockdev_flushbufs (0) */ + /* TestOutput for tgz_in (0) */ { int r; suppress_error = 0; - r = guestfs_blockdev_flushbufs (g, "/dev/sda"); + r = guestfs_tgz_in (g, "images/helloworld.tar.gz", "/"); if (r == -1) return -1; } + { + char *r; + suppress_error = 0; + r = guestfs_cat (g, "/hello"); + if (r == NULL) + return -1; + if (strcmp (r, "hello\n") != 0) { + fprintf (stderr, "test_tgz_in_0: expected \"hello\n\" but got \"%s\"\n", r); + return -1; + } + free (r); + } return 0; } -static int test_blockdev_getsize64_0 (void) +static int test_tar_in_0 (void) { - /* InitEmpty for blockdev_getsize64 (0) */ + /* InitBasicFS for tar_in (0): create ext2 on /dev/sda1 */ { int r; suppress_error = 0; @@ -169,56 +189,57 @@ static int test_blockdev_getsize64_0 (void) if (r == -1) return -1; } - /* TestOutputInt for blockdev_getsize64 (0) */ { - int64_t r; + char *lines[] = { + ",", + NULL + }; + int r; suppress_error = 0; - r = guestfs_blockdev_getsize64 (g, "/dev/sda"); + r = guestfs_sfdisk (g, "/dev/sda", 0, 0, 0, lines); if (r == -1) return -1; - if (r != 524288000) { - fprintf (stderr, "test_blockdev_getsize64_0: expected 524288000 but got %d\n", (int) r); - return -1; - } } - return 0; -} - -static int test_blockdev_getsz_0 (void) -{ - /* InitEmpty for blockdev_getsz (0) */ { int r; suppress_error = 0; - r = guestfs_umount_all (g); + r = guestfs_mkfs (g, "ext2", "/dev/sda1"); if (r == -1) return -1; } { int r; suppress_error = 0; - r = guestfs_lvm_remove_all (g); + r = guestfs_mount (g, "/dev/sda1", "/"); if (r == -1) return -1; } - /* TestOutputInt for blockdev_getsz (0) */ + /* TestOutput for tar_in (0) */ { - int64_t r; + int r; suppress_error = 0; - r = guestfs_blockdev_getsz (g, "/dev/sda"); + r = guestfs_tar_in (g, "images/helloworld.tar", "/"); if (r == -1) return -1; - if (r != 1024000) { - fprintf (stderr, "test_blockdev_getsz_0: expected 1024000 but got %d\n", (int) r); + } + { + char *r; + suppress_error = 0; + r = guestfs_cat (g, "/hello"); + if (r == NULL) + return -1; + if (strcmp (r, "hello\n") != 0) { + fprintf (stderr, "test_tar_in_0: expected \"hello\n\" but got \"%s\"\n", r); return -1; } + free (r); } return 0; } -static int test_blockdev_getbsz_0 (void) +static int test_checksum_0 (void) { - /* InitEmpty for blockdev_getbsz (0) */ + /* InitBasicFS for checksum (0): create ext2 on /dev/sda1 */ { int r; suppress_error = 0; @@ -233,56 +254,57 @@ static int test_blockdev_getbsz_0 (void) if (r == -1) return -1; } - /* TestOutputInt for blockdev_getbsz (0) */ { + char *lines[] = { + ",", + NULL + }; int r; suppress_error = 0; - r = guestfs_blockdev_getbsz (g, "/dev/sda"); + r = guestfs_sfdisk (g, "/dev/sda", 0, 0, 0, lines); if (r == -1) return -1; - if (r != 4096) { - fprintf (stderr, "test_blockdev_getbsz_0: expected 4096 but got %d\n", (int) r); - return -1; - } } - return 0; -} - -static int test_blockdev_getss_0 (void) -{ - /* InitEmpty for blockdev_getss (0) */ { int r; suppress_error = 0; - r = guestfs_umount_all (g); + r = guestfs_mkfs (g, "ext2", "/dev/sda1"); if (r == -1) return -1; } { int r; suppress_error = 0; - r = guestfs_lvm_remove_all (g); + r = guestfs_mount (g, "/dev/sda1", "/"); if (r == -1) return -1; } - /* TestOutputInt for blockdev_getss (0) */ + /* TestOutput for checksum (0) */ { int r; suppress_error = 0; - r = guestfs_blockdev_getss (g, "/dev/sda"); + r = guestfs_write_file (g, "/new", "test\n", 0); if (r == -1) return -1; - if (r != 512) { - fprintf (stderr, "test_blockdev_getss_0: expected 512 but got %d\n", (int) r); + } + { + char *r; + suppress_error = 0; + r = guestfs_checksum (g, "crc", "/new"); + if (r == NULL) + return -1; + if (strcmp (r, "935282863") != 0) { + fprintf (stderr, "test_checksum_0: expected \"935282863\" but got \"%s\"\n", r); return -1; } + free (r); } return 0; } -static int test_blockdev_getro_0 (void) +static int test_checksum_1 (void) { - /* InitEmpty for blockdev_getro (0) */ + /* InitBasicFS for checksum (1): create ext2 on /dev/sda1 */ { int r; suppress_error = 0; @@ -297,31 +319,46 @@ static int test_blockdev_getro_0 (void) if (r == -1) return -1; } - /* TestOutputTrue for blockdev_getro (0) */ { + char *lines[] = { + ",", + NULL + }; int r; suppress_error = 0; - r = guestfs_blockdev_setro (g, "/dev/sda"); + r = guestfs_sfdisk (g, "/dev/sda", 0, 0, 0, lines); if (r == -1) return -1; } { int r; suppress_error = 0; - r = guestfs_blockdev_getro (g, "/dev/sda"); + r = guestfs_mkfs (g, "ext2", "/dev/sda1"); if (r == -1) return -1; - if (!r) { - fprintf (stderr, "test_blockdev_getro_0: expected true, got false\n"); + } + { + int r; + suppress_error = 0; + r = guestfs_mount (g, "/dev/sda1", "/"); + if (r == -1) return -1; - } + } + /* TestLastFail for checksum (1) */ + { + char *r; + suppress_error = 1; + r = guestfs_checksum (g, "crc", "/new"); + if (r != NULL) + return -1; + free (r); } return 0; } -static int test_blockdev_setrw_0 (void) +static int test_checksum_2 (void) { - /* InitEmpty for blockdev_setrw (0) */ + /* InitBasicFS for checksum (2): create ext2 on /dev/sda1 */ { int r; suppress_error = 0; @@ -336,31 +373,57 @@ static int test_blockdev_setrw_0 (void) if (r == -1) return -1; } - /* TestOutputFalse for blockdev_setrw (0) */ { + char *lines[] = { + ",", + NULL + }; int r; suppress_error = 0; - r = guestfs_blockdev_setrw (g, "/dev/sda"); + r = guestfs_sfdisk (g, "/dev/sda", 0, 0, 0, lines); if (r == -1) return -1; } { int r; suppress_error = 0; - r = guestfs_blockdev_getro (g, "/dev/sda"); + r = guestfs_mkfs (g, "ext2", "/dev/sda1"); if (r == -1) return -1; - if (r) { - fprintf (stderr, "test_blockdev_setrw_0: expected false, got true\n"); + } + { + int r; + suppress_error = 0; + r = guestfs_mount (g, "/dev/sda1", "/"); + if (r == -1) + return -1; + } + /* TestOutput for checksum (2) */ + { + int r; + suppress_error = 0; + r = guestfs_write_file (g, "/new", "test\n", 0); + if (r == -1) + return -1; + } + { + char *r; + suppress_error = 0; + r = guestfs_checksum (g, "md5", "/new"); + if (r == NULL) + return -1; + if (strcmp (r, "d8e8fca2dc0f896fd7cb4cb0031ba249") != 0) { + fprintf (stderr, "test_checksum_2: expected \"d8e8fca2dc0f896fd7cb4cb0031ba249\" but got \"%s\"\n", r); return -1; } + free (r); } return 0; } -static int test_blockdev_setro_0 (void) +static int test_checksum_3 (void) { - /* InitEmpty for blockdev_setro (0) */ + /* InitBasicFS for checksum (3): create ext2 on /dev/sda1 */ { int r; suppress_error = 0; @@ -375,31 +438,57 @@ static int test_blockdev_setro_0 (void) if (r == -1) return -1; } - /* TestOutputTrue for blockdev_setro (0) */ { + char *lines[] = { + ",", + NULL + }; int r; suppress_error = 0; - r = guestfs_blockdev_setro (g, "/dev/sda"); + r = guestfs_sfdisk (g, "/dev/sda", 0, 0, 0, lines); if (r == -1) return -1; } { int r; suppress_error = 0; - r = guestfs_blockdev_getro (g, "/dev/sda"); + r = guestfs_mkfs (g, "ext2", "/dev/sda1"); if (r == -1) return -1; - if (!r) { - fprintf (stderr, "test_blockdev_setro_0: expected true, got false\n"); + } + { + int r; + suppress_error = 0; + r = guestfs_mount (g, "/dev/sda1", "/"); + if (r == -1) + return -1; + } + /* TestOutput for checksum (3) */ + { + int r; + suppress_error = 0; + r = guestfs_write_file (g, "/new", "test\n", 0); + if (r == -1) + return -1; + } + { + char *r; + suppress_error = 0; + r = guestfs_checksum (g, "sha1", "/new"); + if (r == NULL) + return -1; + if (strcmp (r, "4e1243bd22c66e76c2ba9eddc1f91394e57f9f83") != 0) { + fprintf (stderr, "test_checksum_3: expected \"4e1243bd22c66e76c2ba9eddc1f91394e57f9f83\" but got \"%s\"\n", r); return -1; } + free (r); } return 0; } -static int test_statvfs_0 (void) +static int test_checksum_4 (void) { - /* InitBasicFS for statvfs (0): create ext2 on /dev/sda1 */ + /* InitBasicFS for checksum (4): create ext2 on /dev/sda1 */ { int r; suppress_error = 0; @@ -439,26 +528,22 @@ static int test_statvfs_0 (void) if (r == -1) return -1; } - /* TestOutputStruct for statvfs (0) */ + /* TestOutput for checksum (4) */ { - struct guestfs_statvfs *r; + int r; suppress_error = 0; - r = guestfs_statvfs (g, "/"); - if (r == NULL) - return -1; - if (r->bfree != 487702) { - fprintf (stderr, "test_statvfs_0: bfree was %d, expected 487702\n", - (int) r->bfree); + r = guestfs_write_file (g, "/new", "test\n", 0); + if (r == -1) return -1; - } - if (r->blocks != 490020) { - fprintf (stderr, "test_statvfs_0: blocks was %d, expected 490020\n", - (int) r->blocks); + } + { + char *r; + suppress_error = 0; + r = guestfs_checksum (g, "sha224", "/new"); + 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, "52f1bf093f4b7588726035c176c0cdb4376cfea53819f1395ac9e6ec") != 0) { + fprintf (stderr, "test_checksum_4: expected \"52f1bf093f4b7588726035c176c0cdb4376cfea53819f1395ac9e6ec\" but got \"%s\"\n", r); return -1; } free (r); @@ -466,9 +551,9 @@ static int test_statvfs_0 (void) return 0; } -static int test_lstat_0 (void) +static int test_checksum_5 (void) { - /* InitBasicFS for lstat (0): create ext2 on /dev/sda1 */ + /* InitBasicFS for checksum (5): create ext2 on /dev/sda1 */ { int r; suppress_error = 0; @@ -508,33 +593,1061 @@ static int test_lstat_0 (void) if (r == -1) return -1; } - /* TestOutputStruct for lstat (0) */ + /* TestOutput for checksum (5) */ { int r; suppress_error = 0; - r = guestfs_touch (g, "/new"); + r = guestfs_write_file (g, "/new", "test\n", 0); if (r == -1) return -1; } { - struct guestfs_stat *r; + char *r; suppress_error = 0; - r = guestfs_lstat (g, "/new"); + r = guestfs_checksum (g, "sha256", "/new"); 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, "f2ca1bb6c7e907d06dafe4687e579fce76b37e4e93b7605022da52e6ccc26fd2") != 0) { + fprintf (stderr, "test_checksum_5: expected \"f2ca1bb6c7e907d06dafe4687e579fce76b37e4e93b7605022da52e6ccc26fd2\" but got \"%s\"\n", r); + return -1; + } + free (r); + } + return 0; +} + +static int test_checksum_6 (void) +{ + /* InitBasicFS for checksum (6): create ext2 on /dev/sda1 */ + { + 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 *lines[] = { + ",", + NULL + }; + int r; + suppress_error = 0; + r = guestfs_sfdisk (g, "/dev/sda", 0, 0, 0, lines); + if (r == -1) + return -1; + } + { + int r; + suppress_error = 0; + r = guestfs_mkfs (g, "ext2", "/dev/sda1"); + if (r == -1) + return -1; + } + { + int r; + suppress_error = 0; + r = guestfs_mount (g, "/dev/sda1", "/"); + if (r == -1) + return -1; + } + /* TestOutput for checksum (6) */ + { + int r; + suppress_error = 0; + r = guestfs_write_file (g, "/new", "test\n", 0); + if (r == -1) + return -1; + } + { + char *r; + suppress_error = 0; + r = guestfs_checksum (g, "sha384", "/new"); + if (r == NULL) + return -1; + if (strcmp (r, "109bb6b5b6d5547c1ce03c7a8bd7d8f80c1cb0957f50c4f7fda04692079917e4f9cad52b878f3d8234e1a170b154b72d") != 0) { + fprintf (stderr, "test_checksum_6: expected \"109bb6b5b6d5547c1ce03c7a8bd7d8f80c1cb0957f50c4f7fda04692079917e4f9cad52b878f3d8234e1a170b154b72d\" but got \"%s\"\n", r); + return -1; + } + free (r); + } + return 0; +} + +static int test_checksum_7 (void) +{ + /* InitBasicFS for checksum (7): create ext2 on /dev/sda1 */ + { + 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 *lines[] = { + ",", + NULL + }; + int r; + suppress_error = 0; + r = guestfs_sfdisk (g, "/dev/sda", 0, 0, 0, lines); + if (r == -1) + return -1; + } + { + int r; + suppress_error = 0; + r = guestfs_mkfs (g, "ext2", "/dev/sda1"); + if (r == -1) + return -1; + } + { + int r; + suppress_error = 0; + r = guestfs_mount (g, "/dev/sda1", "/"); + if (r == -1) + return -1; + } + /* TestOutput for checksum (7) */ + { + int r; + suppress_error = 0; + r = guestfs_write_file (g, "/new", "test\n", 0); + if (r == -1) + return -1; + } + { + char *r; + suppress_error = 0; + r = guestfs_checksum (g, "sha512", "/new"); + if (r == NULL) + return -1; + if (strcmp (r, "0e3e75234abc68f4378a86b3f4b32a198ba301845b0cd6e50106e874345700cc6663a86c1ea125dc5e92be17c98f9a0f85ca9d5f595db2012f7cc3571945c123") != 0) { + fprintf (stderr, "test_checksum_7: expected \"0e3e75234abc68f4378a86b3f4b32a198ba301845b0cd6e50106e874345700cc6663a86c1ea125dc5e92be17c98f9a0f85ca9d5f595db2012f7cc3571945c123\" but got \"%s\"\n", r); + return -1; + } + free (r); + } + return 0; +} + +static int test_download_0 (void) +{ + /* InitBasicFS for download (0): create ext2 on /dev/sda1 */ + { + 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 *lines[] = { + ",", + NULL + }; + int r; + suppress_error = 0; + r = guestfs_sfdisk (g, "/dev/sda", 0, 0, 0, lines); + if (r == -1) + return -1; + } + { + int r; + suppress_error = 0; + r = guestfs_mkfs (g, "ext2", "/dev/sda1"); + if (r == -1) + return -1; + } + { + int r; + suppress_error = 0; + r = guestfs_mount (g, "/dev/sda1", "/"); + if (r == -1) + return -1; + } + /* TestOutput for download (0) */ + { + int r; + suppress_error = 0; + r = guestfs_upload (g, "COPYING.LIB", "/COPYING.LIB"); + if (r == -1) + return -1; + } + { + int r; + suppress_error = 0; + r = guestfs_download (g, "/COPYING.LIB", "testdownload.tmp"); + if (r == -1) + return -1; + } + { + int r; + suppress_error = 0; + r = guestfs_upload (g, "testdownload.tmp", "/upload"); + if (r == -1) + return -1; + } + { + char *r; + suppress_error = 0; + r = guestfs_checksum (g, "md5", "/upload"); + if (r == NULL) + return -1; + if (strcmp (r, "e3eda01d9815f8d24aae2dbd89b68b06") != 0) { + fprintf (stderr, "test_download_0: expected \"e3eda01d9815f8d24aae2dbd89b68b06\" but got \"%s\"\n", r); + return -1; + } + free (r); + } + return 0; +} + +static int test_upload_0 (void) +{ + /* InitBasicFS for upload (0): create ext2 on /dev/sda1 */ + { + 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 *lines[] = { + ",", + NULL + }; + int r; + suppress_error = 0; + r = guestfs_sfdisk (g, "/dev/sda", 0, 0, 0, lines); + if (r == -1) + return -1; + } + { + int r; + suppress_error = 0; + r = guestfs_mkfs (g, "ext2", "/dev/sda1"); + if (r == -1) + return -1; + } + { + int r; + suppress_error = 0; + r = guestfs_mount (g, "/dev/sda1", "/"); + if (r == -1) + return -1; + } + /* TestOutput for upload (0) */ + { + int r; + suppress_error = 0; + r = guestfs_upload (g, "COPYING.LIB", "/COPYING.LIB"); + if (r == -1) + return -1; + } + { + char *r; + suppress_error = 0; + r = guestfs_checksum (g, "md5", "/COPYING.LIB"); + if (r == NULL) + return -1; + if (strcmp (r, "e3eda01d9815f8d24aae2dbd89b68b06") != 0) { + fprintf (stderr, "test_upload_0: expected \"e3eda01d9815f8d24aae2dbd89b68b06\" but got \"%s\"\n", r); + return -1; + } + free (r); + } + return 0; +} + +static int test_blockdev_rereadpt_0 (void) +{ + /* InitEmpty for blockdev_rereadpt (0) */ + { + 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; + } + /* TestRun for blockdev_rereadpt (0) */ + { + int r; + suppress_error = 0; + r = guestfs_blockdev_rereadpt (g, "/dev/sda"); + if (r == -1) + return -1; + } + return 0; +} + +static int test_blockdev_flushbufs_0 (void) +{ + /* InitEmpty for blockdev_flushbufs (0) */ + { + 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; + } + /* TestRun for blockdev_flushbufs (0) */ + { + int r; + suppress_error = 0; + r = guestfs_blockdev_flushbufs (g, "/dev/sda"); + if (r == -1) + return -1; + } + return 0; +} + +static int test_blockdev_getsize64_0 (void) +{ + /* InitEmpty for blockdev_getsize64 (0) */ + { + 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; + } + /* TestOutputInt for blockdev_getsize64 (0) */ + { + int64_t r; + suppress_error = 0; + r = guestfs_blockdev_getsize64 (g, "/dev/sda"); + if (r == -1) + return -1; + if (r != 524288000) { + fprintf (stderr, "test_blockdev_getsize64_0: expected 524288000 but got %d\n", (int) r); + return -1; + } + } + return 0; +} + +static int test_blockdev_getsz_0 (void) +{ + /* InitEmpty for blockdev_getsz (0) */ + { + 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; + } + /* TestOutputInt for blockdev_getsz (0) */ + { + int64_t r; + suppress_error = 0; + r = guestfs_blockdev_getsz (g, "/dev/sda"); + if (r == -1) + return -1; + if (r != 1024000) { + fprintf (stderr, "test_blockdev_getsz_0: expected 1024000 but got %d\n", (int) r); + return -1; + } + } + return 0; +} + +static int test_blockdev_getbsz_0 (void) +{ + /* InitEmpty for blockdev_getbsz (0) */ + { + 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; + } + /* TestOutputInt for blockdev_getbsz (0) */ + { + int r; + suppress_error = 0; + r = guestfs_blockdev_getbsz (g, "/dev/sda"); + if (r == -1) + return -1; + if (r != 4096) { + fprintf (stderr, "test_blockdev_getbsz_0: expected 4096 but got %d\n", (int) r); + return -1; + } + } + return 0; +} + +static int test_blockdev_getss_0 (void) +{ + /* InitEmpty for blockdev_getss (0) */ + { + 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; + } + /* TestOutputInt for blockdev_getss (0) */ + { + int r; + suppress_error = 0; + r = guestfs_blockdev_getss (g, "/dev/sda"); + if (r == -1) + return -1; + if (r != 512) { + fprintf (stderr, "test_blockdev_getss_0: expected 512 but got %d\n", (int) r); + return -1; + } + } + return 0; +} + +static int test_blockdev_getro_0 (void) +{ + /* InitEmpty for blockdev_getro (0) */ + { + 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) */ + { + int r; + suppress_error = 0; + r = guestfs_blockdev_setro (g, "/dev/sda"); + if (r == -1) + return -1; + } + { + int r; + suppress_error = 0; + r = guestfs_blockdev_getro (g, "/dev/sda"); + 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) */ + { + 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) */ + { + int r; + suppress_error = 0; + r = guestfs_blockdev_setrw (g, "/dev/sda"); + if (r == -1) + return -1; + } + { + int r; + suppress_error = 0; + r = guestfs_blockdev_getro (g, "/dev/sda"); + 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) */ + { + 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) */ + { + int r; + suppress_error = 0; + r = guestfs_blockdev_setro (g, "/dev/sda"); + if (r == -1) + return -1; + } + { + int r; + suppress_error = 0; + r = guestfs_blockdev_getro (g, "/dev/sda"); + 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 */ + { + 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 *lines[] = { + ",", + NULL + }; + int r; + suppress_error = 0; + r = guestfs_sfdisk (g, "/dev/sda", 0, 0, 0, lines); + if (r == -1) + return -1; + } + { + int r; + suppress_error = 0; + r = guestfs_mkfs (g, "ext2", "/dev/sda1"); + if (r == -1) + return -1; + } + { + int r; + suppress_error = 0; + r = guestfs_mount (g, "/dev/sda1", "/"); + if (r == -1) + return -1; + } + /* TestOutputStruct for statvfs (0) */ + { + struct guestfs_statvfs *r; + suppress_error = 0; + r = guestfs_statvfs (g, "/"); + 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 */ + { + 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 *lines[] = { + ",", + NULL + }; + int r; + suppress_error = 0; + r = guestfs_sfdisk (g, "/dev/sda", 0, 0, 0, lines); + if (r == -1) + return -1; + } + { + int r; + suppress_error = 0; + r = guestfs_mkfs (g, "ext2", "/dev/sda1"); + if (r == -1) + return -1; + } + { + int r; + suppress_error = 0; + r = guestfs_mount (g, "/dev/sda1", "/"); + if (r == -1) + return -1; + } + /* TestOutputStruct for lstat (0) */ + { + int r; + suppress_error = 0; + r = guestfs_touch (g, "/new"); + if (r == -1) + return -1; + } + { + struct guestfs_stat *r; + suppress_error = 0; + r = guestfs_lstat (g, "/new"); + 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 */ + { + 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 *lines[] = { + ",", + NULL + }; + int r; + suppress_error = 0; + r = guestfs_sfdisk (g, "/dev/sda", 0, 0, 0, lines); + if (r == -1) + return -1; + } + { + int r; + suppress_error = 0; + r = guestfs_mkfs (g, "ext2", "/dev/sda1"); + if (r == -1) + return -1; + } + { + int r; + suppress_error = 0; + r = guestfs_mount (g, "/dev/sda1", "/"); + if (r == -1) + return -1; + } + /* TestOutputStruct for stat (0) */ + { + int r; + suppress_error = 0; + r = guestfs_touch (g, "/new"); + if (r == -1) + return -1; + } + { + struct guestfs_stat *r; + suppress_error = 0; + r = guestfs_stat (g, "/new"); + 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_file_0 (void) +{ + /* InitBasicFS for file (0): create ext2 on /dev/sda1 */ + { + 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 *lines[] = { + ",", + NULL + }; + int r; + suppress_error = 0; + r = guestfs_sfdisk (g, "/dev/sda", 0, 0, 0, lines); + if (r == -1) + return -1; + } + { + int r; + suppress_error = 0; + r = guestfs_mkfs (g, "ext2", "/dev/sda1"); + if (r == -1) + return -1; + } + { + int r; + suppress_error = 0; + r = guestfs_mount (g, "/dev/sda1", "/"); + if (r == -1) + return -1; + } + /* TestOutput for file (0) */ + { + int r; + suppress_error = 0; + r = guestfs_touch (g, "/new"); + if (r == -1) + return -1; + } + { + char *r; + suppress_error = 0; + r = guestfs_file (g, "/new"); + if (r == NULL) + return -1; + if (strcmp (r, "empty") != 0) { + fprintf (stderr, "test_file_0: expected \"empty\" but got \"%s\"\n", r); + return -1; + } + free (r); + } + return 0; +} + +static int test_file_1 (void) +{ + /* InitBasicFS for file (1): create ext2 on /dev/sda1 */ + { + 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 *lines[] = { + ",", + NULL + }; + int r; + suppress_error = 0; + r = guestfs_sfdisk (g, "/dev/sda", 0, 0, 0, lines); + if (r == -1) + return -1; + } + { + int r; + suppress_error = 0; + r = guestfs_mkfs (g, "ext2", "/dev/sda1"); + if (r == -1) + return -1; + } + { + int r; + suppress_error = 0; + r = guestfs_mount (g, "/dev/sda1", "/"); + if (r == -1) + return -1; + } + /* TestOutput for file (1) */ + { + int r; + suppress_error = 0; + r = guestfs_write_file (g, "/new", "some content\n", 0); + if (r == -1) + return -1; + } + { + char *r; + suppress_error = 0; + r = guestfs_file (g, "/new"); + if (r == NULL) + return -1; + if (strcmp (r, "ASCII text") != 0) { + fprintf (stderr, "test_file_1: expected \"ASCII text\" but got \"%s\"\n", r); + return -1; + } + free (r); + } + return 0; +} + +static int test_file_2 (void) +{ + /* InitBasicFS for file (2): create ext2 on /dev/sda1 */ + { + 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 *lines[] = { + ",", + NULL + }; + int r; + suppress_error = 0; + r = guestfs_sfdisk (g, "/dev/sda", 0, 0, 0, lines); + if (r == -1) + return -1; + } + { + int r; + suppress_error = 0; + r = guestfs_mkfs (g, "ext2", "/dev/sda1"); + if (r == -1) + return -1; + } + { + int r; + suppress_error = 0; + r = guestfs_mount (g, "/dev/sda1", "/"); + if (r == -1) + return -1; + } + /* TestLastFail for file (2) */ + { + char *r; + suppress_error = 1; + r = guestfs_file (g, "/nofile"); + if (r != NULL) + return -1; + free (r); + } + return 0; +} + +static int test_umount_all_0 (void) +{ + /* InitBasicFS for umount_all (0): create ext2 on /dev/sda1 */ + { + 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 *lines[] = { + ",", + NULL + }; + int r; + suppress_error = 0; + r = guestfs_sfdisk (g, "/dev/sda", 0, 0, 0, lines); + if (r == -1) + return -1; + } + { + int r; + suppress_error = 0; + r = guestfs_mkfs (g, "ext2", "/dev/sda1"); + if (r == -1) + return -1; + } + { + int r; + suppress_error = 0; + r = guestfs_mount (g, "/dev/sda1", "/"); + if (r == -1) + return -1; + } + /* TestOutputList for umount_all (0) */ + { + int r; + suppress_error = 0; + r = guestfs_umount_all (g); + if (r == -1) + return -1; + } + { + char **r; + int i; + suppress_error = 0; + r = guestfs_mounts (g); + if (r == NULL) + return -1; + if (r[0] != NULL) { + fprintf (stderr, "test_umount_all_0: 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_stat_0 (void) +static int test_mounts_0 (void) { - /* InitBasicFS for stat (0): create ext2 on /dev/sda1 */ + /* InitBasicFS for mounts (0): create ext2 on /dev/sda1 */ { int r; suppress_error = 0; @@ -574,33 +1687,38 @@ static int test_stat_0 (void) if (r == -1) return -1; } - /* TestOutputStruct for stat (0) */ - { - int r; - suppress_error = 0; - r = guestfs_touch (g, "/new"); - if (r == -1) - return -1; - } + /* TestOutputList for mounts (0) */ { - struct guestfs_stat *r; + char **r; + int i; suppress_error = 0; - r = guestfs_stat (g, "/new"); + r = guestfs_mounts (g); if (r == NULL) return -1; - if (r->size != 0) { - fprintf (stderr, "test_stat_0: size was %d, expected 0\n", - (int) r->size); + if (!r[0]) { + fprintf (stderr, "test_mounts_0: short list returned from command\n"); + print_strings (r); + return -1; + } + if (strcmp (r[0], "/dev/sda1") != 0) { + fprintf (stderr, "test_mounts_0: expected \"/dev/sda1\" but got \"%s\"\n", r[0]); return -1; } + if (r[1] != NULL) { + fprintf (stderr, "test_mounts_0: 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_file_0 (void) +static int test_umount_0 (void) { - /* InitBasicFS for file (0): create ext2 on /dev/sda1 */ + /* InitEmpty for umount (0) */ { int r; suppress_error = 0; @@ -615,6 +1733,7 @@ static int test_file_0 (void) if (r == -1) return -1; } + /* TestOutputList for umount (0) */ { char *lines[] = { ",", @@ -640,32 +1759,37 @@ static int test_file_0 (void) if (r == -1) return -1; } - /* TestOutput for file (0) */ - { - int r; - suppress_error = 0; - r = guestfs_touch (g, "/new"); - if (r == -1) - return -1; - } { - char *r; + char **r; + int i; suppress_error = 0; - r = guestfs_file (g, "/new"); + r = guestfs_mounts (g); if (r == NULL) return -1; - if (strcmp (r, "empty") != 0) { - fprintf (stderr, "test_file_0: expected \"empty\" but got \"%s\"\n", r); + if (!r[0]) { + fprintf (stderr, "test_umount_0: short list returned from command\n"); + print_strings (r); + return -1; + } + if (strcmp (r[0], "/dev/sda1") != 0) { + fprintf (stderr, "test_umount_0: expected \"/dev/sda1\" but got \"%s\"\n", r[0]); + return -1; + } + if (r[1] != NULL) { + fprintf (stderr, "test_umount_0: 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_file_1 (void) +static int test_umount_1 (void) { - /* InitBasicFS for file (1): create ext2 on /dev/sda1 */ + /* InitEmpty for umount (1) */ { int r; suppress_error = 0; @@ -680,6 +1804,7 @@ static int test_file_1 (void) if (r == -1) return -1; } + /* TestOutputList for umount (1) */ { char *lines[] = { ",", @@ -705,32 +1830,35 @@ static int test_file_1 (void) if (r == -1) return -1; } - /* TestOutput for file (1) */ { int r; suppress_error = 0; - r = guestfs_write_file (g, "/new", "some content\n", 0); + r = guestfs_umount (g, "/"); if (r == -1) return -1; } { - char *r; + char **r; + int i; suppress_error = 0; - r = guestfs_file (g, "/new"); + r = guestfs_mounts (g); if (r == NULL) return -1; - if (strcmp (r, "ASCII text") != 0) { - fprintf (stderr, "test_file_1: expected \"ASCII text\" but got \"%s\"\n", r); + if (r[0] != NULL) { + fprintf (stderr, "test_umount_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_file_2 (void) +static int test_write_file_0 (void) { - /* InitBasicFS for file (2): create ext2 on /dev/sda1 */ + /* InitBasicFS for write_file (0): create ext2 on /dev/sda1 */ { int r; suppress_error = 0; @@ -770,21 +1898,32 @@ static int test_file_2 (void) if (r == -1) return -1; } - /* TestLastFail for file (2) */ + /* TestOutput for write_file (0) */ + { + int r; + suppress_error = 0; + r = guestfs_write_file (g, "/new", "new file contents", 0); + if (r == -1) + return -1; + } { char *r; - suppress_error = 1; - r = guestfs_file (g, "/nofile"); - if (r != NULL) + suppress_error = 0; + r = guestfs_cat (g, "/new"); + if (r == NULL) + return -1; + if (strcmp (r, "new file contents") != 0) { + fprintf (stderr, "test_write_file_0: expected \"new file contents\" but got \"%s\"\n", r); return -1; + } free (r); } return 0; } -static int test_umount_all_0 (void) +static int test_write_file_1 (void) { - /* InitBasicFS for umount_all (0): create ext2 on /dev/sda1 */ + /* InitBasicFS for write_file (1): create ext2 on /dev/sda1 */ { int r; suppress_error = 0; @@ -824,36 +1963,32 @@ static int test_umount_all_0 (void) if (r == -1) return -1; } - /* TestOutputList for umount_all (0) */ + /* TestOutput for write_file (1) */ { int r; suppress_error = 0; - r = guestfs_umount_all (g); + r = guestfs_write_file (g, "/new", "\nnew file contents\n", 0); if (r == -1) return -1; } { - char **r; - int i; + char *r; suppress_error = 0; - r = guestfs_mounts (g); + r = guestfs_cat (g, "/new"); if (r == NULL) return -1; - if (r[0] != NULL) { - fprintf (stderr, "test_umount_all_0: extra elements returned from command\n"); - print_strings (r); + if (strcmp (r, "\nnew file contents\n") != 0) { + fprintf (stderr, "test_write_file_1: expected \"\nnew file contents\n\" but got \"%s\"\n", r); return -1; } - for (i = 0; r[i] != NULL; ++i) - free (r[i]); free (r); } return 0; } -static int test_mounts_0 (void) +static int test_write_file_2 (void) { - /* InitBasicFS for mounts (0): create ext2 on /dev/sda1 */ + /* InitBasicFS for write_file (2): create ext2 on /dev/sda1 */ { int r; suppress_error = 0; @@ -893,38 +2028,32 @@ static int test_mounts_0 (void) if (r == -1) return -1; } - /* TestOutputList for mounts (0) */ + /* TestOutput for write_file (2) */ { - char **r; - int i; + int r; suppress_error = 0; - r = guestfs_mounts (g); - if (r == NULL) - return -1; - if (!r[0]) { - fprintf (stderr, "test_mounts_0: short list returned from command\n"); - print_strings (r); + r = guestfs_write_file (g, "/new", "\n\n", 0); + if (r == -1) return -1; - } - if (strcmp (r[0], "/dev/sda1") != 0) { - fprintf (stderr, "test_mounts_0: expected \"/dev/sda1\" but got \"%s\"\n", r[0]); + } + { + char *r; + suppress_error = 0; + r = guestfs_cat (g, "/new"); + if (r == NULL) return -1; - } - if (r[1] != NULL) { - fprintf (stderr, "test_mounts_0: extra elements returned from command\n"); - print_strings (r); + if (strcmp (r, "\n\n") != 0) { + fprintf (stderr, "test_write_file_2: expected \"\n\n\" but got \"%s\"\n", r); return -1; } - for (i = 0; r[i] != NULL; ++i) - free (r[i]); free (r); } return 0; } -static int test_umount_0 (void) +static int test_write_file_3 (void) { - /* InitEmpty for umount (0) */ + /* InitBasicFS for write_file (3): create ext2 on /dev/sda1 */ { int r; suppress_error = 0; @@ -939,7 +2068,6 @@ static int test_umount_0 (void) if (r == -1) return -1; } - /* TestOutputList for umount (0) */ { char *lines[] = { ",", @@ -965,37 +2093,32 @@ static int test_umount_0 (void) if (r == -1) return -1; } + /* TestOutput for write_file (3) */ { - char **r; - int i; + int r; suppress_error = 0; - r = guestfs_mounts (g); - if (r == NULL) - return -1; - if (!r[0]) { - fprintf (stderr, "test_umount_0: short list returned from command\n"); - print_strings (r); + r = guestfs_write_file (g, "/new", "", 0); + if (r == -1) return -1; - } - if (strcmp (r[0], "/dev/sda1") != 0) { - fprintf (stderr, "test_umount_0: expected \"/dev/sda1\" but got \"%s\"\n", r[0]); + } + { + char *r; + suppress_error = 0; + r = guestfs_cat (g, "/new"); + if (r == NULL) return -1; - } - if (r[1] != NULL) { - fprintf (stderr, "test_umount_0: extra elements returned from command\n"); - print_strings (r); + if (strcmp (r, "") != 0) { + fprintf (stderr, "test_write_file_3: expected \"\" but got \"%s\"\n", r); return -1; } - for (i = 0; r[i] != NULL; ++i) - free (r[i]); free (r); } return 0; } -static int test_umount_1 (void) +static int test_write_file_4 (void) { - /* InitEmpty for umount (1) */ + /* InitBasicFS for write_file (4): create ext2 on /dev/sda1 */ { int r; suppress_error = 0; @@ -1010,7 +2133,6 @@ static int test_umount_1 (void) if (r == -1) return -1; } - /* TestOutputList for umount (1) */ { char *lines[] = { ",", @@ -1036,35 +2158,32 @@ static int test_umount_1 (void) if (r == -1) return -1; } + /* TestOutput for write_file (4) */ { int r; suppress_error = 0; - r = guestfs_umount (g, "/"); + r = guestfs_write_file (g, "/new", "\n\n\n", 0); if (r == -1) return -1; } { - char **r; - int i; + char *r; suppress_error = 0; - r = guestfs_mounts (g); + r = guestfs_cat (g, "/new"); if (r == NULL) return -1; - if (r[0] != NULL) { - fprintf (stderr, "test_umount_1: extra elements returned from command\n"); - print_strings (r); + if (strcmp (r, "\n\n\n") != 0) { + fprintf (stderr, "test_write_file_4: expected \"\n\n\n\" but got \"%s\"\n", r); return -1; } - for (i = 0; r[i] != NULL; ++i) - free (r[i]); free (r); } return 0; } -static int test_write_file_0 (void) +static int test_write_file_5 (void) { - /* InitEmpty for write_file (0) */ + /* InitBasicFS for write_file (5): create ext2 on /dev/sda1 */ { int r; suppress_error = 0; @@ -1079,7 +2198,6 @@ static int test_write_file_0 (void) if (r == -1) return -1; } - /* TestOutput for write_file (0) */ { char *lines[] = { ",", @@ -1105,10 +2223,11 @@ static int test_write_file_0 (void) if (r == -1) return -1; } + /* TestOutput for write_file (5) */ { int r; suppress_error = 0; - r = guestfs_write_file (g, "/new", "new file contents", 0); + r = guestfs_write_file (g, "/new", "\n", 0); if (r == -1) return -1; } @@ -1118,8 +2237,8 @@ static int test_write_file_0 (void) r = guestfs_cat (g, "/new"); if (r == NULL) return -1; - if (strcmp (r, "new file contents") != 0) { - fprintf (stderr, "test_write_file_0: expected \"new file contents\" but got \"%s\"\n", r); + if (strcmp (r, "\n") != 0) { + fprintf (stderr, "test_write_file_5: expected \"\n\" but got \"%s\"\n", r); return -1; } free (r); @@ -4063,8 +5182,8 @@ int main (int argc, char *argv[]) char c = 0; int failed = 0; const char *srcdir; + const char *filename; int fd; - char buf[256]; int nr_tests, test_num = 0; no_test_warnings (); @@ -4079,89 +5198,90 @@ int main (int argc, char *argv[]) srcdir = getenv ("srcdir"); if (!srcdir) srcdir = "."; - guestfs_set_path (g, srcdir); + chdir (srcdir); + guestfs_set_path (g, "."); - snprintf (buf, sizeof buf, "%s/test1.img", srcdir); - fd = open (buf, O_WRONLY|O_CREAT|O_NOCTTY|O_NONBLOCK|O_TRUNC, 0666); + filename = "test1.img"; + fd = open (filename, O_WRONLY|O_CREAT|O_NOCTTY|O_NONBLOCK|O_TRUNC, 0666); if (fd == -1) { - perror (buf); + perror (filename); exit (1); } if (lseek (fd, 524288000, SEEK_SET) == -1) { perror ("lseek"); close (fd); - unlink (buf); + unlink (filename); exit (1); } if (write (fd, &c, 1) == -1) { perror ("write"); close (fd); - unlink (buf); + unlink (filename); exit (1); } if (close (fd) == -1) { - perror (buf); - unlink (buf); + perror (filename); + unlink (filename); exit (1); } - if (guestfs_add_drive (g, buf) == -1) { - printf ("guestfs_add_drive %s FAILED\n", buf); + if (guestfs_add_drive (g, filename) == -1) { + printf ("guestfs_add_drive %s FAILED\n", filename); exit (1); } - snprintf (buf, sizeof buf, "%s/test2.img", srcdir); - fd = open (buf, O_WRONLY|O_CREAT|O_NOCTTY|O_NONBLOCK|O_TRUNC, 0666); + filename = "test2.img"; + fd = open (filename, O_WRONLY|O_CREAT|O_NOCTTY|O_NONBLOCK|O_TRUNC, 0666); if (fd == -1) { - perror (buf); + perror (filename); exit (1); } if (lseek (fd, 52428800, SEEK_SET) == -1) { perror ("lseek"); close (fd); - unlink (buf); + unlink (filename); exit (1); } if (write (fd, &c, 1) == -1) { perror ("write"); close (fd); - unlink (buf); + unlink (filename); exit (1); } if (close (fd) == -1) { - perror (buf); - unlink (buf); + perror (filename); + unlink (filename); exit (1); } - if (guestfs_add_drive (g, buf) == -1) { - printf ("guestfs_add_drive %s FAILED\n", buf); + if (guestfs_add_drive (g, filename) == -1) { + printf ("guestfs_add_drive %s FAILED\n", filename); exit (1); } - snprintf (buf, sizeof buf, "%s/test3.img", srcdir); - fd = open (buf, O_WRONLY|O_CREAT|O_NOCTTY|O_NONBLOCK|O_TRUNC, 0666); + filename = "test3.img"; + fd = open (filename, O_WRONLY|O_CREAT|O_NOCTTY|O_NONBLOCK|O_TRUNC, 0666); if (fd == -1) { - perror (buf); + perror (filename); exit (1); } if (lseek (fd, 10485760, SEEK_SET) == -1) { perror ("lseek"); close (fd); - unlink (buf); + unlink (filename); exit (1); } if (write (fd, &c, 1) == -1) { perror ("write"); close (fd); - unlink (buf); + unlink (filename); exit (1); } if (close (fd) == -1) { - perror (buf); - unlink (buf); + perror (filename); + unlink (filename); exit (1); } - if (guestfs_add_drive (g, buf) == -1) { - printf ("guestfs_add_drive %s FAILED\n", buf); + if (guestfs_add_drive (g, filename) == -1) { + printf ("guestfs_add_drive %s FAILED\n", filename); exit (1); } @@ -4174,9 +5294,81 @@ int main (int argc, char *argv[]) exit (1); } - nr_tests = 58; + nr_tests = 75; test_num++; + printf ("%3d/%3d test_tgz_in_0\n", test_num, nr_tests); + if (test_tgz_in_0 () == -1) { + printf ("test_tgz_in_0 FAILED\n"); + failed++; + } + test_num++; + printf ("%3d/%3d test_tar_in_0\n", test_num, nr_tests); + if (test_tar_in_0 () == -1) { + printf ("test_tar_in_0 FAILED\n"); + failed++; + } + test_num++; + printf ("%3d/%3d test_checksum_0\n", test_num, nr_tests); + if (test_checksum_0 () == -1) { + printf ("test_checksum_0 FAILED\n"); + failed++; + } + test_num++; + printf ("%3d/%3d test_checksum_1\n", test_num, nr_tests); + if (test_checksum_1 () == -1) { + printf ("test_checksum_1 FAILED\n"); + failed++; + } + test_num++; + printf ("%3d/%3d test_checksum_2\n", test_num, nr_tests); + if (test_checksum_2 () == -1) { + printf ("test_checksum_2 FAILED\n"); + failed++; + } + test_num++; + printf ("%3d/%3d test_checksum_3\n", test_num, nr_tests); + if (test_checksum_3 () == -1) { + printf ("test_checksum_3 FAILED\n"); + failed++; + } + test_num++; + printf ("%3d/%3d test_checksum_4\n", test_num, nr_tests); + if (test_checksum_4 () == -1) { + printf ("test_checksum_4 FAILED\n"); + failed++; + } + test_num++; + printf ("%3d/%3d test_checksum_5\n", test_num, nr_tests); + if (test_checksum_5 () == -1) { + printf ("test_checksum_5 FAILED\n"); + failed++; + } + test_num++; + printf ("%3d/%3d test_checksum_6\n", test_num, nr_tests); + if (test_checksum_6 () == -1) { + printf ("test_checksum_6 FAILED\n"); + failed++; + } + test_num++; + printf ("%3d/%3d test_checksum_7\n", test_num, nr_tests); + if (test_checksum_7 () == -1) { + printf ("test_checksum_7 FAILED\n"); + failed++; + } + test_num++; + printf ("%3d/%3d test_download_0\n", test_num, nr_tests); + if (test_download_0 () == -1) { + printf ("test_download_0 FAILED\n"); + failed++; + } + test_num++; + printf ("%3d/%3d test_upload_0\n", test_num, nr_tests); + if (test_upload_0 () == -1) { + printf ("test_upload_0 FAILED\n"); + failed++; + } + test_num++; printf ("%3d/%3d test_blockdev_rereadpt_0\n", test_num, nr_tests); if (test_blockdev_rereadpt_0 () == -1) { printf ("test_blockdev_rereadpt_0 FAILED\n"); @@ -4297,6 +5489,36 @@ int main (int argc, char *argv[]) failed++; } test_num++; + printf ("%3d/%3d test_write_file_1\n", test_num, nr_tests); + if (test_write_file_1 () == -1) { + printf ("test_write_file_1 FAILED\n"); + failed++; + } + test_num++; + printf ("%3d/%3d test_write_file_2\n", test_num, nr_tests); + if (test_write_file_2 () == -1) { + printf ("test_write_file_2 FAILED\n"); + failed++; + } + test_num++; + printf ("%3d/%3d test_write_file_3\n", test_num, nr_tests); + if (test_write_file_3 () == -1) { + printf ("test_write_file_3 FAILED\n"); + failed++; + } + test_num++; + printf ("%3d/%3d test_write_file_4\n", test_num, nr_tests); + if (test_write_file_4 () == -1) { + printf ("test_write_file_4 FAILED\n"); + failed++; + } + test_num++; + printf ("%3d/%3d test_write_file_5\n", test_num, nr_tests); + if (test_write_file_5 () == -1) { + printf ("test_write_file_5 FAILED\n"); + failed++; + } + test_num++; printf ("%3d/%3d test_mkfs_0\n", test_num, nr_tests); if (test_mkfs_0 () == -1) { printf ("test_mkfs_0 FAILED\n"); @@ -4526,12 +5748,9 @@ int main (int argc, char *argv[]) } guestfs_close (g); - snprintf (buf, sizeof buf, "%s/test1.img", srcdir); - unlink (buf); - snprintf (buf, sizeof buf, "%s/test2.img", srcdir); - unlink (buf); - snprintf (buf, sizeof buf, "%s/test3.img", srcdir); - unlink (buf); + unlink ("test1.img"); + unlink ("test2.img"); + unlink ("test3.img"); if (failed > 0) { printf ("***** %d / %d tests FAILED *****\n", failed, nr_tests);