diff options
author | Richard W.M. Jones <rjones@redhat.com> | 2012-05-05 14:55:03 +0100 |
---|---|---|
committer | Richard W.M. Jones <rjones@redhat.com> | 2012-05-14 15:44:32 +0100 |
commit | aea6f4bb423d97d3ad47b0cde656bb90390af70e (patch) | |
tree | ceca5b5e6a4d0531e3dd8c6cda15be007eee1f47 | |
parent | 529c615835d0dcb4e7f447ea1a032f231ddf24ed (diff) | |
download | libguestfs-aea6f4bb423d97d3ad47b0cde656bb90390af70e.tar.gz libguestfs-aea6f4bb423d97d3ad47b0cde656bb90390af70e.tar.xz libguestfs-aea6f4bb423d97d3ad47b0cde656bb90390af70e.zip |
test-tool: Implement -V / --version option.
(cherry picked from commit dd23234f730db7add330bd06f87cab1f08654747)
-rw-r--r-- | test-tool/libguestfs-test-tool.pod | 6 | ||||
-rw-r--r-- | test-tool/test-tool.c | 46 |
2 files changed, 34 insertions, 18 deletions
diff --git a/test-tool/libguestfs-test-tool.pod b/test-tool/libguestfs-test-tool.pod index c1efb59c..be405cd9 100644 --- a/test-tool/libguestfs-test-tool.pod +++ b/test-tool/libguestfs-test-tool.pod @@ -58,6 +58,12 @@ directory to try it. Set the launch timeout to C<N> seconds. The default is 600 seconds (10 minutes) which does not usually need to be adjusted. +=item B<-V> + +=item B<--version> + +Display the libguestfs version number and exit. + =back =head1 TRYING OUT A DIFFERENT VERSION OF QEMU diff --git a/test-tool/test-tool.c b/test-tool/test-tool.c index 1c8f6f56..224fcb61 100644 --- a/test-tool/test-tool.c +++ b/test-tool/test-tool.c @@ -86,6 +86,8 @@ usage (void) " --qemu qemu Specify QEMU binary\n" " --timeout n\n" " -t n Set launch timeout (default: %d seconds)\n" + " --version\n" + " -V Display libguestfs version and exit\n" ), DEFAULT_TIMEOUT); } @@ -99,12 +101,13 @@ main (int argc, char *argv[]) bindtextdomain (PACKAGE, LOCALEBASEDIR); textdomain (PACKAGE); - static const char *options = "t:?"; + static const char *options = "t:V?"; static const struct option long_options[] = { { "help", 0, 0, '?' }, { "qemu", 1, 0, 0 }, { "qemudir", 1, 0, 0 }, { "timeout", 1, 0, 't' }, + { "version", 0, 0, 'V' }, { 0, 0, 0, 0 } }; int c; @@ -113,6 +116,20 @@ 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; @@ -140,6 +157,13 @@ main (int argc, char *argv[]) } break; + case 'V': + printf ("%s %"PRIi64".%"PRIi64".%"PRIi64"%s\n", + "libguestfs-test-tool", + vers->major, vers->minor, vers->release, vers->extra); + guestfs_set_verbose (g, 0); + exit (EXIT_SUCCESS); + case '?': usage (); exit (EXIT_SUCCESS); @@ -156,9 +180,6 @@ main (int argc, char *argv[]) printf ("===== Test starts here =====\n"); - /* Must set LIBGUESTFS_DEBUG=1 */ - setenv ("LIBGUESTFS_DEBUG", "1", 1); - /* Print out any environment variables which may relate to this test. */ for (i = 0; environ[i] != NULL; ++i) if (STREQLEN (environ[i], "LIBGUESTFS_", 11)) @@ -168,13 +189,7 @@ main (int argc, char *argv[]) printf ("%s\n", environ[i]); printf ("TMPDIR=%s\n", getenv ("TMPDIR") ? : "(not set)"); - /* Create the handle and configure it. */ - g = guestfs_create (); - if (g == NULL) { - fprintf (stderr, - _("libguestfs-test-tool: failed to create libguestfs handle\n")); - exit (EXIT_FAILURE); - } + /* Configure the handle. */ if (guestfs_add_drive_opts (g, tmpf, GUESTFS_ADD_DRIVE_OPTS_FORMAT, "raw", -1) == -1) { @@ -185,11 +200,6 @@ 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); @@ -299,7 +309,7 @@ set_qemu (const char *path, int use_wrapper) exit (EXIT_FAILURE); } - setenv ("LIBGUESTFS_QEMU", path, 1); + guestfs_set_qemu (g, path); return; } @@ -340,7 +350,7 @@ set_qemu (const char *path, int use_wrapper) fclose (fp); - setenv ("LIBGUESTFS_QEMU", qemuwrapper, 1); + guestfs_set_qemu (g, qemuwrapper); atexit (cleanup_wrapper); } |