summaryrefslogtreecommitdiff
path: root/test/git/async/test_channel.py
diff options
context:
space:
mode:
authorSebastian Thiel <byronimo@gmail.com>2010-06-12 14:34:09 +0200
committerSebastian Thiel <byronimo@gmail.com>2010-06-12 14:34:09 +0200
commit86ea63504f3e8a74cfb1d533be9d9602d2d17e27 (patch)
treea2c59af267666a4b44bda748b806585c46faae99 /test/git/async/test_channel.py
parentf91495e271597034226f1b9651345091083172c4 (diff)
downloadgitpython-86ea63504f3e8a74cfb1d533be9d9602d2d17e27.tar.gz
Removed async from tree
Diffstat (limited to 'test/git/async/test_channel.py')
-rw-r--r--test/git/async/test_channel.py87
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
-