diff options
author | Johan Dahlin <johan@gnome.org> | 2008-01-21 20:10:30 +0000 |
---|---|---|
committer | Johan Dahlin <johan@src.gnome.org> | 2008-01-21 20:10:30 +0000 |
commit | 6d441aad5c3b56535f8383ebe7cff10a50289de9 (patch) | |
tree | fe716701c5d0bf5c6eb21e47783992ab18dc99b5 /tests/test_gio.py | |
parent | 8c31e35473f8d50cbb3cb832029f5ddc64022649 (diff) | |
download | pygobject-6d441aad5c3b56535f8383ebe7cff10a50289de9.tar.gz pygobject-6d441aad5c3b56535f8383ebe7cff10a50289de9.tar.xz pygobject-6d441aad5c3b56535f8383ebe7cff10a50289de9.zip |
Don't assume the buffer is set, use Py_XINCREF instead of Py_INCREF.
2008-01-21 Johan Dahlin <johan@gnome.org>
* gio/gio.override (async_result_callback_marshal):
Don't assume the buffer is set, use Py_XINCREF instead of Py_INCREF.
* gio/Makefile.am:
* gio/ginputstream.override:
* gio/goutputstream.override:
* gio/gvolumemonitor.override:
* gio/gfile.override:
* tests/test_gio.py:
Implement and test GFile.read_async. Use try/finally to always quit
the mainloop, even if the test fail.
Update source comment headers.
svn path=/trunk/; revision=744
Diffstat (limited to 'tests/test_gio.py')
-rw-r--r-- | tests/test_gio.py | 53 |
1 files changed, 42 insertions, 11 deletions
diff --git a/tests/test_gio.py b/tests/test_gio.py index d083361..b45e92f 100644 --- a/tests/test_gio.py +++ b/tests/test_gio.py @@ -6,6 +6,33 @@ import unittest from common import gio, gobject +class TestFile(unittest.TestCase): + def setUp(self): + self._f = open("file.txt", "w+") + self.file = gio.file_new_for_path("file.txt") + + def tearDown(self): + self._f.close() + os.unlink("file.txt") + + def testReadAsync(self): + self._f.write("testing") + self._f.seek(0) + + def callback(file, result): + try: + stream = file.read_finish(result) + self.failUnless(isinstance(stream, gio.InputStream)) + self.assertEquals(stream.read(), "testing") + finally: + loop.quit() + + self.file.read_async(0, None, callback) + + loop = gobject.MainLoop() + loop.run() + + class TestInputStream(unittest.TestCase): def setUp(self): self._f = open("inputstream.txt", "w+") @@ -22,11 +49,13 @@ class TestInputStream(unittest.TestCase): def testReadAsync(self): def callback(stream, result): - read = stream.read_finish(result) - self.assertEquals(read, len("testing")) - self.assertEquals(result.get_buffer(), "testing") - stream.close() - loop.quit() + try: + read = stream.read_finish(result) + self.assertEquals(read, len("testing")) + self.assertEquals(result.get_buffer(), "testing") + stream.close() + finally: + loop.quit() self.stream.read_async(7, 0, None, callback) @@ -36,12 +65,14 @@ class TestInputStream(unittest.TestCase): def testReadAsyncError(self): self.count = 0 def callback(stream, result): - #self.assertEquals(result.get_buffer(), None) - self.count += 1 - if self.count == 1: - return - self.assertRaises(gobject.GError, stream.read_finish, result) - loop.quit() + try: + #self.assertEquals(result.get_buffer(), None) + self.count += 1 + if self.count == 1: + return + self.assertRaises(gobject.GError, stream.read_finish, result) + finally: + loop.quit() self.stream.read_async(10240, 0, None, callback) self.stream.read_async(10240, 0, None, callback) |