mirror of
https://github.com/libguestfs/libguestfs.git
synced 2026-03-22 07:03:38 +00:00
Instead of running all the tests manually, the unittest module has a 'discovery' mode to run tests by importing them from a directory: this requires the tests to have different filenames, since they need to be imported as modules now (hence an empty __init__.py is added), and the current naming does not match the convention. Using unittest as loader/runner brings another change: tests skipped as whole cannot be done anymore with exit(77), since they are not run but imported: thus introduce an helper module with decorators applied to the test classes to skip them according to the current checks. This also gets us nicer recordings in the unittest log. Due to the relative imports (needed for the helper code), it is no more possible to execute tests anymore by invoking them manually; although it is possible to run single tests, still using unittest's runner: $ cd python python$ ../run python -m unittest discover -v t test010Load.py This does not change anything in what the tests do/check.
39 lines
1.3 KiB
Python
39 lines
1.3 KiB
Python
# libguestfs Python bindings
|
|
# Copyright (C) 2011-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 os
|
|
import guestfs
|
|
|
|
close_invoked = 0
|
|
|
|
def close_callback (ev, eh, buf, array):
|
|
global close_invoked
|
|
close_invoked += 1
|
|
|
|
class Test410CloseEvent (unittest.TestCase):
|
|
def test_close_event (self):
|
|
g = guestfs.GuestFS (python_return_dict=True)
|
|
|
|
# Register a callback for the close event.
|
|
g.set_event_callback (close_callback, guestfs.EVENT_CLOSE)
|
|
|
|
# Close the handle. The close callback should be invoked.
|
|
self.assertEqual (close_invoked, 0)
|
|
g.close ()
|
|
self.assertEqual (close_invoked, 1)
|