Revision 339be5a8 test/ganeti.utils_unittest.py
b/test/ganeti.utils_unittest.py | ||
---|---|---|
1558 | 1558 |
self.fail("Didn't detect inner loop's exception") |
1559 | 1559 |
|
1560 | 1560 |
|
1561 |
class TestLineSplitter(unittest.TestCase): |
|
1562 |
def test(self): |
|
1563 |
lines = [] |
|
1564 |
ls = utils.LineSplitter(lines.append) |
|
1565 |
ls.write("Hello World\n") |
|
1566 |
self.assertEqual(lines, []) |
|
1567 |
ls.write("Foo\n Bar\r\n ") |
|
1568 |
ls.write("Baz") |
|
1569 |
ls.write("Moo") |
|
1570 |
self.assertEqual(lines, []) |
|
1571 |
ls.flush() |
|
1572 |
self.assertEqual(lines, ["Hello World", "Foo", " Bar"]) |
|
1573 |
ls.close() |
|
1574 |
self.assertEqual(lines, ["Hello World", "Foo", " Bar", " BazMoo"]) |
|
1575 |
|
|
1576 |
def _testExtra(self, line, all_lines, p1, p2): |
|
1577 |
self.assertEqual(p1, 999) |
|
1578 |
self.assertEqual(p2, "extra") |
|
1579 |
all_lines.append(line) |
|
1580 |
|
|
1581 |
def testExtraArgsNoFlush(self): |
|
1582 |
lines = [] |
|
1583 |
ls = utils.LineSplitter(self._testExtra, lines, 999, "extra") |
|
1584 |
ls.write("\n\nHello World\n") |
|
1585 |
ls.write("Foo\n Bar\r\n ") |
|
1586 |
ls.write("") |
|
1587 |
ls.write("Baz") |
|
1588 |
ls.write("Moo\n\nx\n") |
|
1589 |
self.assertEqual(lines, []) |
|
1590 |
ls.close() |
|
1591 |
self.assertEqual(lines, ["", "", "Hello World", "Foo", " Bar", " BazMoo", |
|
1592 |
"", "x"]) |
|
1593 |
|
|
1594 |
|
|
1561 | 1595 |
if __name__ == '__main__': |
1562 | 1596 |
testutils.GanetiTestProgram() |
Also available in: Unified diff