From b2657a560f04aa97aeb405ebd088ac5e3b96db60 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Wed, 3 Nov 2010 17:00:29 +0000 Subject: [PATCH] capitests: Test guestfs_add_drive_opts with optional args from C. (cherry picked from commit 2be1648632e5e8dca06d84349314ab5e84f29e5c) --- .gitignore | 1 + capitests/Makefile.am | 13 +++++++-- capitests/test-add-drive-opts.c | 58 +++++++++++++++++++++++++++++++++++++++++ 3 files changed, 70 insertions(+), 2 deletions(-) create mode 100644 capitests/test-add-drive-opts.c diff --git a/.gitignore b/.gitignore index 406e756..7228828 100644 --- a/.gitignore +++ b/.gitignore @@ -20,6 +20,7 @@ appliance/vmlinuz.* autom4te.cache *.bak bindtests.tmp +capitests/test-add-drive-opts capitests/test-command capitests/test-config capitests/test-create-handle diff --git a/capitests/Makefile.am b/capitests/Makefile.am index 1374d9b..435b1ee 100644 --- a/capitests/Makefile.am +++ b/capitests/Makefile.am @@ -27,12 +27,14 @@ check_PROGRAMS = \ tests \ test-command \ test-create-handle \ - test-config + test-config \ + test-add-drive-opts TESTS = \ tests \ test-create-handle \ - test-config + test-config \ + test-add-drive-opts TESTS_ENVIRONMENT = \ SKIP_TEST_COMMAND=$(shell ldd test-command | grep -sq 'not a dynamic executable' || echo 1) \ SKIP_TEST_COMMAND_LINES=$(shell ldd test-command | grep -sq 'not a dynamic executable' || echo 1) \ @@ -67,6 +69,13 @@ test_config_CFLAGS = \ test_config_LDADD = \ $(top_builddir)/src/libguestfs.la +test_add_drive_opts_SOURCES = test-add-drive-opts.c +test_add_drive_opts_CFLAGS = \ + -I$(top_srcdir)/src -I$(top_builddir)/src \ + $(WARN_CFLAGS) $(WERROR_CFLAGS) +test_add_drive_opts_LDADD = \ + $(top_builddir)/src/libguestfs.la + # Run the tests under valgrind. valgrind: diff --git a/capitests/test-add-drive-opts.c b/capitests/test-add-drive-opts.c new file mode 100644 index 0000000..897c6fa --- /dev/null +++ b/capitests/test-add-drive-opts.c @@ -0,0 +1,58 @@ +/* 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 + +#include +#include +#include +#include + +#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); + } + + r = guestfs_add_drive_opts (g, "/dev/null", -1); + if (r == -1) + exit (EXIT_FAILURE); + r = guestfs_add_drive_opts (g, "/dev/null", + GUESTFS_ADD_DRIVE_OPTS_READONLY, 1, + -1); + if (r == -1) + exit (EXIT_FAILURE); + r = guestfs_add_drive_opts (g, "/dev/null", + GUESTFS_ADD_DRIVE_OPTS_READONLY, 1, + GUESTFS_ADD_DRIVE_OPTS_FORMAT, "raw", + -1); + if (r == -1) + exit (EXIT_FAILURE); + + guestfs_close (g); + + exit (EXIT_SUCCESS); +} -- 1.8.3.1