diff options
Diffstat (limited to 'tests/test_error.py')
-rw-r--r-- | tests/test_error.py | 144 |
1 files changed, 0 insertions, 144 deletions
diff --git a/tests/test_error.py b/tests/test_error.py deleted file mode 100644 index 5702490..0000000 --- a/tests/test_error.py +++ /dev/null @@ -1,144 +0,0 @@ -# -*- Mode: Python; py-indent-offset: 4 -*- -# vim: tabstop=4 shiftwidth=4 expandtab -# -# test_error.py: Tests for GError wrapper implementation -# -# Copyright (C) 2012 Will Thompson -# Copyright (C) 2013 Martin Pitt -# Copyright (C) 2014 Simon Feltman <sfeltman@gnome.org> -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library 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 -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 -# USA - -import unittest - -from gi.repository import GLib -from gi.repository import GIMarshallingTests - - -class TestType(unittest.TestCase): - def test_attributes(self): - e = GLib.Error('test message', 'mydomain', 42) - self.assertEqual(e.message, 'test message') - self.assertEqual(e.domain, 'mydomain') - self.assertEqual(e.code, 42) - - def test_new_literal(self): - mydomain = GLib.quark_from_string('mydomain') - e = GLib.Error.new_literal(mydomain, 'test message', 42) - self.assertEqual(e.message, 'test message') - self.assertEqual(e.domain, 'mydomain') - self.assertEqual(e.code, 42) - - def test_matches(self): - mydomain = GLib.quark_from_string('mydomain') - notmydomain = GLib.quark_from_string('notmydomain') - e = GLib.Error('test message', 'mydomain', 42) - self.assertTrue(e.matches(mydomain, 42)) - self.assertFalse(e.matches(notmydomain, 42)) - self.assertFalse(e.matches(mydomain, 40)) - - def test_str(self): - e = GLib.Error('test message', 'mydomain', 42) - self.assertEqual(str(e), - 'mydomain: test message (42)') - - def test_repr(self): - e = GLib.Error('test message', 'mydomain', 42) - self.assertEqual(repr(e), - "GLib.Error('test message', 'mydomain', 42)") - - def test_inheritance(self): - self.assertTrue(issubclass(GLib.Error, RuntimeError)) - - -class ObjectWithVFuncException(GIMarshallingTests.Object): - def do_vfunc_meth_with_err(self, x): - if x == 42: - return True - - raise GLib.Error('unexpected value %d' % x, 'mydomain', 42) - - -class TestMarshalling(unittest.TestCase): - def test_array_in_crash(self): - # Previously there was a bug in invoke, in which C arrays were unwrapped - # from inside GArrays to be passed to the C function. But when a GError was - # set, invoke would attempt to free the C array as if it were a GArray. - # This crash is only for C arrays. It does not happen for C functions which - # take in GArrays. See https://bugzilla.gnome.org/show_bug.cgi?id=642708 - self.assertRaises(GLib.Error, GIMarshallingTests.gerror_array_in, [1, 2, 3]) - - def test_out(self): - # See https://bugzilla.gnome.org/show_bug.cgi?id=666098 - error, debug = GIMarshallingTests.gerror_out() - - self.assertIsInstance(error, GLib.Error) - self.assertEqual(error.domain, GIMarshallingTests.CONSTANT_GERROR_DOMAIN) - self.assertEqual(error.code, GIMarshallingTests.CONSTANT_GERROR_CODE) - self.assertEqual(error.message, GIMarshallingTests.CONSTANT_GERROR_MESSAGE) - self.assertEqual(debug, GIMarshallingTests.CONSTANT_GERROR_DEBUG_MESSAGE) - - def test_out_transfer_none(self): - # See https://bugzilla.gnome.org/show_bug.cgi?id=666098 - error, debug = GIMarshallingTests.gerror_out_transfer_none() - - self.assertIsInstance(error, GLib.Error) - self.assertEqual(error.domain, GIMarshallingTests.CONSTANT_GERROR_DOMAIN) - self.assertEqual(error.code, GIMarshallingTests.CONSTANT_GERROR_CODE) - self.assertEqual(error.message, GIMarshallingTests.CONSTANT_GERROR_MESSAGE) - self.assertEqual(GIMarshallingTests.CONSTANT_GERROR_DEBUG_MESSAGE, debug) - - def test_return(self): - # See https://bugzilla.gnome.org/show_bug.cgi?id=666098 - error = GIMarshallingTests.gerror_return() - - self.assertIsInstance(error, GLib.Error) - self.assertEqual(error.domain, GIMarshallingTests.CONSTANT_GERROR_DOMAIN) - self.assertEqual(error.code, GIMarshallingTests.CONSTANT_GERROR_CODE) - self.assertEqual(error.message, GIMarshallingTests.CONSTANT_GERROR_MESSAGE) - - def test_exception(self): - with self.assertRaises(GLib.Error) as context: - GIMarshallingTests.gerror() - - e = context.exception - self.assertEqual(e.domain, GIMarshallingTests.CONSTANT_GERROR_DOMAIN) - self.assertEqual(e.code, GIMarshallingTests.CONSTANT_GERROR_CODE) - self.assertEqual(e.message, GIMarshallingTests.CONSTANT_GERROR_MESSAGE) - - def test_vfunc_no_exception(self): - obj = ObjectWithVFuncException() - self.assertTrue(obj.vfunc_meth_with_error(42)) - - def test_vfunc_gerror_exception(self): - obj = ObjectWithVFuncException() - with self.assertRaises(GLib.Error) as context: - obj.vfunc_meth_with_error(-1) - - e = context.exception - self.assertEqual(e.message, 'unexpected value -1') - self.assertEqual(e.domain, 'mydomain') - self.assertEqual(e.code, 42) - - def tests_compare_two_gerrors_in_gvalue(self): - error = GLib.Error.new_literal(1, "error", 1) - error1 = GLib.Error.new_literal(1, "error", 1) - - GIMarshallingTests.compare_two_gerrors_in_gvalue(error, error1) - - -if __name__ == '__main__': - unittest.main() |