tests: Make '080' be an official test of the guestfs_version API.

Useful because it tests returning a single structure.
This commit is contained in:
Richard W.M. Jones
2016-02-12 14:10:07 +00:00
parent b647dd8b52
commit 85b1815e7b
6 changed files with 112 additions and 0 deletions

View File

@@ -201,6 +201,7 @@ This is the numbering scheme used by the tests:
060 explicit close
065 implicit close (in GC'd languages)
070 optargs
080 version
- 100 launch, create partitions and LVs and filesystems

View File

@@ -116,6 +116,7 @@ test_progs_bc = \
t/guestfs_060_explicit_close.bc \
t/guestfs_065_implicit_close.bc \
t/guestfs_070_optargs.bc \
t/guestfs_080_version.bc \
t/guestfs_410_close_event.bc \
t/guestfs_420_log_messages.bc
@@ -128,6 +129,7 @@ test_progs_opt = \
t/guestfs_060_explicit_close.opt \
t/guestfs_065_implicit_close.opt \
t/guestfs_070_optargs.opt \
t/guestfs_080_version.opt \
t/guestfs_410_close_event.opt \
t/guestfs_420_log_messages.opt

View File

@@ -0,0 +1,27 @@
(* libguestfs OCaml tests
* Copyright (C) 2009-2016 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.
*)
let () =
let g = new Guestfs.guestfs () in
let version = g#version () in
assert (version.Guestfs.major = 1_L)
(* In other bindings, we may do additional tests on dynamic types
* here, but those are not necessary in OCaml.
*)
let () = Gc.compact ()

36
perl/t/080-version.t Normal file
View File

@@ -0,0 +1,36 @@
# libguestfs Perl bindings -*- perl -*-
# Copyright (C) 2016 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.
use strict;
use warnings;
use Test::More tests => 5;
use Sys::Guestfs;
my $g = Sys::Guestfs->new ();
ok ($g);
my %version = $g->version;
ok (1);
is ($version{major}, 1);
like ($version{minor}, qr/^\d+$/);
like ($version{release}, qr/^\d+$/);
# XXX We could try to check that $version{extra} is a string, but perl
# doesn't have a distinction between string and int, and in any case
# it's possible (although unusual) for $version{extra} to be an int.

46
python/t/080-version.py Normal file
View File

@@ -0,0 +1,46 @@
# libguestfs Python bindings
# Copyright (C) 2016 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.
import unittest
import sys
import os
import guestfs
if sys.version_info >= (3, 0):
cl = int
else:
cl = long
class Test080Version (unittest.TestCase):
def setUp (self):
self.g = guestfs.GuestFS (python_return_dict=True)
self.version = self.g.version ()
def test_major (self):
self.assertEqual (self.version['major'], 1)
def test_minor (self):
self.assertTrue (isinstance (self.version['minor'], cl))
def test_release (self):
self.assertTrue (isinstance (self.version['release'], cl))
def test_extra (self):
self.assertTrue (isinstance (self.version['extra'], str))
if __name__ == '__main__':
unittest.main ()