Exemplo n.º 1
0
    def testVanillaBufferedDrainer(self):
        b = BufferedDrainer(['cat', 'fixtures/lipsum.txt'],
                            read_event_cb=self.collect)
        b.start()

        self.assertEquals(self.callback_invoked, 261)
        self.assertEquals(len(self.chunks), 261)
        for chunk in self.chunks:
            self.assertEquals(len(chunk), 1)
Exemplo n.º 2
0
    def testTimerBasedLargerTimeout(self):
        b = BufferedDrainer(['sh', 'fixtures/counter.sh'],
                            read_event_cb=self.collect,
                            flush_timeout=2.5)
        b.start()

        self.assertEquals(self.callback_invoked, 2)
        self.assertEquals(self.triggered_by_chunk_size_exceeded, 0)
        self.assertEquals(self.triggered_by_timer, 1)
        self.assertEquals(self.triggered_otherwise, 1)
        self.assertEquals(len(self.chunks), 2)
        self.assertChunksCountUpTo30()
Exemplo n.º 3
0
    def testChunkSize20(self):
        b = BufferedDrainer(['cat', 'fixtures/lipsum.txt'], read_event_cb=self.collect, chunk_size=20)
        b.start()

        # lipsum.txt contains 261 lines, so we expect:
        # 13 chunks of 20 lines
        # 1 chunk of 1 line
        self.assertEquals(self.callback_invoked, 14)
        self.assertEquals(len(self.chunks[:-1]), 13)
        for chunk in self.chunks[:-1]:
            self.assertEquals(len(chunk), 20)
        self.assertEquals(len(chunk), 20)
Exemplo n.º 4
0
    def testWhenCombinedLikeThisTheTimerNeverFires(self):
        b = BufferedDrainer(['sh', 'fixtures/counter.sh'],
                            read_event_cb=self.collect,
                            chunk_size=10,
                            flush_timeout=2.5)
        b.start()

        self.assertEquals(self.callback_invoked, 3)
        self.assertEquals(self.triggered_by_timer, 0)
        self.assertEquals(self.triggered_by_chunk_size_exceeded, 3)
        self.assertEquals(self.triggered_otherwise, 0)
        self.assertEquals(len(self.chunks), 3)
        self.assertChunksCountUpTo30()