Hiroyuki Katsura
2019-Apr-03 15:55 UTC
[Libguestfs] [PATCH] Add missing python bindings tests
Signed-off-by: Hiroyuki Katsura <hiroyuki.katsura.0513@gmail.com> --- python/t/test020Create.py | 25 ++++++++++++++ python/t/test030CreateFlags.py | 27 +++++++++++++++ python/t/test040CreateMultiple.py | 32 ++++++++++++++++++ python/t/test050HandleProperties.py | 50 +++++++++++++++++++++++++++ python/t/test430ProgressMessages.py | 52 +++++++++++++++++++++++++++++ 5 files changed, 186 insertions(+) create mode 100644 python/t/test020Create.py create mode 100644 python/t/test030CreateFlags.py create mode 100644 python/t/test040CreateMultiple.py create mode 100644 python/t/test050HandleProperties.py create mode 100644 python/t/test430ProgressMessages.py diff --git a/python/t/test020Create.py b/python/t/test020Create.py new file mode 100644 index 000000000..476ffd059 --- /dev/null +++ b/python/t/test020Create.py @@ -0,0 +1,25 @@ +# libguestfs Python bindings +# Copyright (C) 2019 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 guestfs + + +class Test020Create(unittest.TestCase): + def test_create(self): + _ = guestfs.GuestFS(python_return_dict=True) diff --git a/python/t/test030CreateFlags.py b/python/t/test030CreateFlags.py new file mode 100644 index 000000000..2e9b48203 --- /dev/null +++ b/python/t/test030CreateFlags.py @@ -0,0 +1,27 @@ +# libguestfs Python bindings +# Copyright (C) 2019 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 guestfs + + +class Test030CreateFlags(unittest.TestCase): + def test_create_flags(self): + g = guestfs.GuestFS(python_return_dict=True, + environment=False) + g.parse_environment() diff --git a/python/t/test040CreateMultiple.py b/python/t/test040CreateMultiple.py new file mode 100644 index 000000000..cc0050695 --- /dev/null +++ b/python/t/test040CreateMultiple.py @@ -0,0 +1,32 @@ +# libguestfs Python bindings +# Copyright (C) 2019 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 guestfs + + +def ignore(_): + pass + + +class Test040CreateMultiple(unittest.TestCase): + def test_create_multiple(self): + g1 = guestfs.GuestFS(python_return_dict=True) + g2 = guestfs.GuestFS(python_return_dict=True) + g3 = guestfs.GuestFS(python_return_dict=True) + ignore((g1, g2, g3)) diff --git a/python/t/test050HandleProperties.py b/python/t/test050HandleProperties.py new file mode 100644 index 000000000..fc053d779 --- /dev/null +++ b/python/t/test050HandleProperties.py @@ -0,0 +1,50 @@ + +# libguestfs Python bindings +# Copyright (C) 2019 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 guestfs + + +class Test050HandleProperties(unittest.TestCase): + def test_verbose(self): + g = guestfs.GuestFS(python_return_dict=True) + g.set_verbose(1) + self.assertEqual(g.get_verbose(), 1) + g.set_verbose(0) + self.assertEqual(g.get_verbose(), 0) + + def test_autosync(self): + g = guestfs.GuestFS(python_return_dict=True) + g.set_autosync(1) + self.assertEqual(g.get_autosync(), 1) + g.set_autosync(0) + self.assertEqual(g.get_autosync(), 0) + + def test_path(self): + g = guestfs.GuestFS(python_return_dict=True) + g.set_path(".") + self.assertEqual(g.get_path(), ".") + + def test_add_drive(self): + g = guestfs.GuestFS(python_return_dict=True) + g.add_drive("/dev/null") + + def test_add_cdrom(self): + g = guestfs.GuestFS(python_return_dict=True) + g.add_cdrom("/dev/zero") diff --git a/python/t/test430ProgressMessages.py b/python/t/test430ProgressMessages.py new file mode 100644 index 000000000..79e0491ff --- /dev/null +++ b/python/t/test430ProgressMessages.py @@ -0,0 +1,52 @@ +# libguestfs Python bindings +# Copyright (C) 2019 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 os +import guestfs + +callback_invoked = 0 + + +def callback(ev, eh, buf, array): + global callback_invoked + callback_invoked += 1 + + +class Test430ProgressMessages(unittest.TestCase): + def test_progress_messages(self): + global callback_invoked + g = guestfs.GuestFS(python_return_dict=True) + g.add_drive('/dev/null') + g.launch() + + events = guestfs.EVENT_PROGRESS + + eh = g.set_event_callback(callback, events) + g.debug('progress', ['5']) + self.assertTrue(callback_invoked > 0) + + callback_invoked = 0 + g.delete_event_callback(eh) + g.debug('progress', ['5']) + self.assertEqual(callback_invoked, 0) + + g.set_event_callback(callback, events) + g.debug('progress', ['5']) + self.assertTrue(callback_invoked > 0) + + g.close() -- 2.17.1
Richard W.M. Jones
2019-Apr-03 16:33 UTC
Re: [Libguestfs] [PATCH] Add missing python bindings tests
Thanks for this. There was some extra whitespace in the patch which I removed, but it has now been pushed upstream. Rich. -- Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones Read my programming and virtualization blog: http://rwmj.wordpress.com libguestfs lets you edit virtual machines. Supports shell scripting, bindings from many languages. http://libguestfs.org
Possibly Parallel Threads
- [PATCH 0/7] Various Python pycodestyle fixes
- [PATCH v2 0/8] Various Python pycodestyle fixes
- [PATCH] python: tests: use more targeted assert*() functions/checks
- [PATCH 1/3] python: tests: refactor to use unittest's discovery
- [PATCH] Start adding return values tests for bindings