def test_pipe_read (self): # ensure that 'readline' works properly on GreenPipes when data is not # immediately available (fd is nonblocking, was raising EAGAIN) # also ensures that readline() terminates on '\n' and '\r\n' r, w = os.pipe() r = GreenPipe(r) w = GreenPipe(w, 'w') def writer (): sleep(.1) w.write('line\n') w.flush() w.write('line\r\n') w.flush() gt = spawn(writer) sleep(0) line = r.readline() self.assertEquals(line, 'line\n') line = r.readline() self.assertEquals(line, 'line\r\n') gt.wait()
def test_pipe_read(self): # ensure that 'readline' works properly on GreenPipes when data is not # immediately available (fd is nonblocking, was raising EAGAIN) # also ensures that readline() terminates on '\n' and '\r\n' r, w = os.pipe() r = GreenPipe(r) w = GreenPipe(w, 'w') def writer(): sleep(.1) w.write('line\n') w.flush() w.write('line\r\n') w.flush() gt = spawn(writer) sleep(0) line = r.readline() self.assertEquals(line, 'line\n') line = r.readline() self.assertEquals(line, 'line\r\n') gt.wait()
def test_pipe (self): r, w = os.pipe() rf = GreenPipe(r, 'r'); wf = GreenPipe(w, 'w', 0); def sender (f, content): for ch in content: sleep(0.0001) f.write(ch) f.close() one_line = "12345\n"; spawn(sender, wf, one_line * 5) for i in xrange(5): line = rf.readline() sleep(0.01) self.assertEquals(line, one_line) self.assertEquals(rf.readline(), '')
def test_pipe(self): r, w = os.pipe() rf = GreenPipe(r, 'r') wf = GreenPipe(w, 'w', 0) def sender(f, content): for ch in content: sleep(0.0001) f.write(ch) f.close() one_line = "12345\n" spawn(sender, wf, one_line * 5) for i in xrange(5): line = rf.readline() sleep(0.01) self.assertEquals(line, one_line) self.assertEquals(rf.readline(), '')
def test_seek_on_buffered_pipe (self): f = GreenPipe(self.tempdir + "/TestFile", 'w+', 1024) self.assertEquals(f.tell(), 0) f.seek(0, 2) self.assertEquals(f.tell(), 0) f.write('1234567890') f.seek(0, 2) self.assertEquals(f.tell(), 10) f.seek(0) value = f.read(1) self.assertEqual(value, '1') self.assertEquals(f.tell(), 1) value = f.read(1) self.assertEqual(value, '2') self.assertEquals(f.tell(), 2) f.seek(0, 1) self.assertEqual(f.readline(), '34567890') f.seek(0) self.assertEqual(f.readline(), '1234567890') f.seek(0, 2) self.assertEqual(f.readline(), '')
def test_seek_on_buffered_pipe(self): f = GreenPipe(self.tempdir + "/TestFile", 'w+', 1024) self.assertEquals(f.tell(), 0) f.seek(0, 2) self.assertEquals(f.tell(), 0) f.write('1234567890') f.seek(0, 2) self.assertEquals(f.tell(), 10) f.seek(0) value = f.read(1) self.assertEqual(value, '1') self.assertEquals(f.tell(), 1) value = f.read(1) self.assertEqual(value, '2') self.assertEquals(f.tell(), 2) f.seek(0, 1) self.assertEqual(f.readline(), '34567890') f.seek(0) self.assertEqual(f.readline(), '1234567890') f.seek(0, 2) self.assertEqual(f.readline(), '')