[Libguestfs] [Bug 1406906] [PATCH 3/3] python: add regression test for RHBZ#1406906
Pino Toscano
ptoscano at redhat.com
Tue May 9 12:43:07 UTC 2017
On Saturday, 6 May 2017 11:32:29 CEST Matteo Cafasso wrote:
> Signed-off-by: Matteo Cafasso <noxdafox at gmail.com>
> ---
> python/t/test830RHBZ1406906.py | 55 ++++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 55 insertions(+)
> create mode 100644 python/t/test830RHBZ1406906.py
>
> diff --git a/python/t/test830RHBZ1406906.py b/python/t/test830RHBZ1406906.py
> new file mode 100644
> index 000000000..62caf8ce1
> --- /dev/null
> +++ b/python/t/test830RHBZ1406906.py
> @@ -0,0 +1,55 @@
> +# libguestfs Python bindings
> +# Copyright (C) 2017 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 os
> +import shutil
> +import tempfile
> +import unittest
> +
> +import guestfs
> +
> +
> +class Test830RHBZ1406906(unittest.TestCase):
> + def setUp(self):
> + self.filename = "rhbz1406906.img"
> + self.tempdir = tempfile.mkdtemp()
> + self.guestfs = guestfs.GuestFS(python_return_dict=True)
Usually we call the handle 'g'. Also, it would be better IMHO to
create the handle locally in the test_rhbz1406906 function itself.
> + self.guestfs.disk_create(self.filename, "raw", 512 * 1024 * 1024)
I'd just use a scratch disk, so the disk is automatically removed.
> + self.guestfs.add_drive(self.filename)
> + self.guestfs.launch()
> +
> + def tearDown(self):
> + self.guestfs.close()
> + os.unlink(self.filename)
> + shutil.rmtree(self.tempdir)
> +
> + def test_rhbz1406906(self):
> + self.guestfs.part_disk("/dev/sda", "mbr")
> + self.guestfs.mkfs("ext3", "/dev/sda1", blocksize=1024)
A simple ext4 with no options should be ok too. (This is not an issue,
just keeping the test simple with no extra options.)
> + self.guestfs.mount("/dev/sda1", "/")
> +
> + # touch file with illegal unicode character
> + open(os.path.join(self.tempdir, "\udcd4"), "w").close()
> +
> + self.guestfs.copy_in(self.tempdir, "/")
> +
> + # segfault here on Python 3
> + try:
> + self.guestfs.find("/")
> + except UnicodeDecodeError:
> + pass
If you expect an exception to happen, and want to check for that,
please use assertRaises, e.g.:
self.assertRaises(UnicodeDecodeError, g.find, "/")
Does it crash also with Python 2?
--
Pino Toscano
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: This is a digitally signed message part.
URL: <http://listman.redhat.com/archives/libguestfs/attachments/20170509/73d495fe/attachment.sig>
More information about the Libguestfs
mailing list