mirror of
https://github.com/libguestfs/libguestfs.git
synced 2026-03-21 22:53:37 +00:00
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:
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
27
ocaml/t/guestfs_080_version.ml
Normal file
27
ocaml/t/guestfs_080_version.ml
Normal 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
36
perl/t/080-version.t
Normal 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
46
python/t/080-version.py
Normal 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 ()
|
||||
Reference in New Issue
Block a user