From e8d6d6f737ec0dce73b34b3ff85943497883b6e0 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Sat, 1 Dec 2012 11:43:33 +0000 Subject: [PATCH] test-tool: Create the handle later. Although this leads to a small amount of code duplication with the -V option, the overall effect is cleaner. This is just code motion. --- test-tool/test-tool.c | 43 +++++++++++++++++++++++++++---------------- 1 file changed, 27 insertions(+), 16 deletions(-) diff --git a/test-tool/test-tool.c b/test-tool/test-tool.c index 47feb5777..86e55e216 100644 --- a/test-tool/test-tool.c +++ b/test-tool/test-tool.c @@ -104,20 +104,6 @@ main (int argc, char *argv[]) struct guestfs_version *vers; char *p; - /* Create the handle. */ - g = guestfs_create (); - if (g == NULL) { - fprintf (stderr, - _("libguestfs-test-tool: failed to create libguestfs handle\n")); - exit (EXIT_FAILURE); - } - guestfs_set_verbose (g, 1); - vers = guestfs_version (g); - if (vers == NULL) { - fprintf (stderr, _("libguestfs-test-tool: guestfs_version failed\n")); - exit (EXIT_FAILURE); - } - for (;;) { c = getopt_long (argc, argv, options, long_options, &option_index); if (c == -1) break; @@ -146,15 +132,26 @@ main (int argc, char *argv[]) break; case 'V': + g = guestfs_create (); + if (g == NULL) { + fprintf (stderr, + _("libguestfs-test-tool: failed to create libguestfs handle\n")); + exit (EXIT_FAILURE); + } + vers = guestfs_version (g); + if (vers == NULL) { + fprintf (stderr, _("libguestfs-test-tool: guestfs_version failed\n")); + exit (EXIT_FAILURE); + } printf ("%s %"PRIi64".%"PRIi64".%"PRIi64"%s\n", "libguestfs-test-tool", vers->major, vers->minor, vers->release, vers->extra); - guestfs_set_verbose (g, 0); + guestfs_free_version (vers); + guestfs_close (g); exit (EXIT_SUCCESS); case '?': usage (); - guestfs_set_verbose (g, 0); exit (EXIT_SUCCESS); default: @@ -176,6 +173,15 @@ main (int argc, char *argv[]) ); sleep (3); + /* Create the handle. */ + g = guestfs_create (); + if (g == NULL) { + fprintf (stderr, + _("libguestfs-test-tool: failed to create libguestfs handle\n")); + exit (EXIT_FAILURE); + } + guestfs_set_verbose (g, 1); + make_files (); printf ("===== Test starts here =====\n"); @@ -211,6 +217,11 @@ main (int argc, char *argv[]) } /* Print any version info etc. */ + vers = guestfs_version (g); + if (vers == NULL) { + fprintf (stderr, _("libguestfs-test-tool: guestfs_version failed\n")); + exit (EXIT_FAILURE); + } printf ("library version: %"PRIi64".%"PRIi64".%"PRIi64"%s\n", vers->major, vers->minor, vers->release, vers->extra); guestfs_free_version (vers);