diff options
author | Sebastian Thiel <byronimo@gmail.com> | 2010-06-12 14:34:09 +0200 |
---|---|---|
committer | Sebastian Thiel <byronimo@gmail.com> | 2010-06-12 14:34:09 +0200 |
commit | 86ea63504f3e8a74cfb1d533be9d9602d2d17e27 (patch) | |
tree | a2c59af267666a4b44bda748b806585c46faae99 /test/git/async/test_channel.py | |
parent | f91495e271597034226f1b9651345091083172c4 (diff) | |
download | gitpython-86ea63504f3e8a74cfb1d533be9d9602d2d17e27.tar.gz |
Removed async from tree
Diffstat (limited to 'test/git/async/test_channel.py')
-rw-r--r-- | test/git/async/test_channel.py | 87 |
1 files changed, 0 insertions, 87 deletions
diff --git a/test/git/async/test_channel.py b/test/git/async/test_channel.py deleted file mode 100644 index e9e1b64c..00000000 --- a/test/git/async/test_channel.py +++ /dev/null @@ -1,87 +0,0 @@ -"""Channel testing""" -from test.testlib import * -from git.async.channel import * - -import time - -class TestChannels(TestBase): - - def test_base(self): - # creating channel yields a write and a read channal - wc, rc = mkchannel() - assert isinstance(wc, ChannelWriter) # default args - assert isinstance(rc, ChannelReader) - - - # TEST UNLIMITED SIZE CHANNEL - writing+reading is FIFO - item = 1 - item2 = 2 - wc.write(item) - wc.write(item2) - - # read all - it blocks as its still open for writing - to = 0.2 - st = time.time() - assert rc.read(timeout=to) == [item, item2] - assert time.time() - st >= to - - # next read blocks. it waits a second - st = time.time() - assert len(rc.read(1, True, to)) == 0 - assert time.time() - st >= to - - # writing to a closed channel raises - assert not wc.closed() - wc.close() - assert wc.closed() - wc.close() # fine - assert wc.closed() - - self.failUnlessRaises(ReadOnly, wc.write, 1) - - # reading from a closed channel never blocks - assert len(rc.read()) == 0 - assert len(rc.read(5)) == 0 - assert len(rc.read(1)) == 0 - - - # test callback channels - wc, rc = mkchannel(wtype = CallbackChannelWriter, rtype = CallbackChannelReader) - - cb = [0, 0] # set slots to one if called - def pre_write(item): - cb[0] = 1 - return item + 1 - def pre_read(count): - cb[1] = 1 - - # set, verify it returns previous one - assert wc.set_pre_cb(pre_write) is None - assert rc.set_pre_cb(pre_read) is None - assert wc.set_pre_cb(pre_write) is pre_write - assert rc.set_pre_cb(pre_read) is pre_read - - # writer transforms input - val = 5 - wc.write(val) - assert cb[0] == 1 and cb[1] == 0 - - rval = rc.read(1)[0] # read one item, must not block - assert cb[0] == 1 and cb[1] == 1 - assert rval == val + 1 - - - - # ITERATOR READER - reader = IteratorReader(iter(range(10))) - assert len(reader.read(2)) == 2 - assert len(reader.read(0)) == 8 - # its empty now - assert len(reader.read(0)) == 0 - assert len(reader.read(5)) == 0 - - # doesn't work if item is not an iterator - self.failUnlessRaises(ValueError, IteratorReader, list()) - - # NOTE: its thread-safety is tested by the pool - |