diff options
author | Richard W.M. Jones <rjones@redhat.com> | 2010-11-03 16:56:34 +0000 |
---|---|---|
committer | Richard W.M. Jones <rjones@redhat.com> | 2010-11-03 17:44:30 +0000 |
commit | b535363e7e7a000cca3651790f911b2d0605968f (patch) | |
tree | 827e8b6b502c7e5113d8bddae85290bf1d2c48e0 /capitests/test-config.c | |
parent | 162c89ed497212859d748506209ffc1b88763ab2 (diff) | |
download | libguestfs-b535363e7e7a000cca3651790f911b2d0605968f.tar.gz libguestfs-b535363e7e7a000cca3651790f911b2d0605968f.tar.xz libguestfs-b535363e7e7a000cca3651790f911b2d0605968f.zip |
capitests: Test some basic aspects of the C API.
Diffstat (limited to 'capitests/test-config.c')
-rw-r--r-- | capitests/test-config.c | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/capitests/test-config.c b/capitests/test-config.c new file mode 100644 index 00000000..c5411232 --- /dev/null +++ b/capitests/test-config.c @@ -0,0 +1,68 @@ +/* libguestfs + * Copyright (C) 2010 Red Hat Inc. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#include <config.h> + +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <unistd.h> + +#include "guestfs.h" + +int +main (int argc, char *argv[]) +{ + guestfs_h *g; + int r; + + g = guestfs_create (); + if (g == NULL) { + fprintf (stderr, "failed to create handle\n"); + exit (EXIT_FAILURE); + } + + /* If these fail, the default error handler will print an error + * message to stderr, so we don't need to print anything. This code + * is very pedantic, but after all we are testing the details of the + * C API. + */ + + if (guestfs_set_verbose (g, 1) == -1) + exit (EXIT_FAILURE); + r = guestfs_get_verbose (g); + if (r == -1) + exit (EXIT_FAILURE); + if (!r) { + fprintf (stderr, "set_verbose not true\n"); + exit (EXIT_FAILURE); + } + if (guestfs_set_verbose (g, 0) == -1) + exit (EXIT_FAILURE); + r = guestfs_get_verbose (g); + if (r == -1) + exit (EXIT_FAILURE); + if (r) { + fprintf (stderr, "set_verbose not false\n"); + exit (EXIT_FAILURE); + } + + guestfs_close (g); + + exit (EXIT_SUCCESS); +} |