Revision dce20078

b/lib/utils/text.py
268 268
    """
269 269
    assert self._indent >= 0
270 270

  
271
    self._fh.write(self._indent * self.INDENT_STR)
272

  
273 271
    if args:
274
      self._fh.write(txt % args)
272
      line = txt % args
275 273
    else:
276
      self._fh.write(txt)
274
      line = txt
275

  
276
    if line:
277
      # Indent only if there's something on the line
278
      self._fh.write(self._indent * self.INDENT_STR)
279

  
280
    self._fh.write(line)
277 281

  
278 282
    self._fh.write("\n")
279 283

  
b/test/ganeti.utils.text_unittest.py
315 315
    sw = None
316 316
    self.assertEqual(buf.getvalue(), "")
317 317

  
318
  def testEmptyLines(self):
319
    buf = StringIO()
320
    sw = utils.ShellWriter(buf)
321

  
322
    def _AddLevel(level):
323
      if level == 6:
324
        return
325
      sw.IncIndent()
326
      try:
327
        # Add empty line, it should not be indented
328
        sw.Write("")
329
        sw.Write(str(level))
330
        _AddLevel(level + 1)
331
      finally:
332
        sw.DecIndent()
333

  
334
    _AddLevel(1)
335

  
336
    self.assertEqual(buf.getvalue(),
337
                     "".join("\n%s%s\n" % (i * "  ", i) for i in range(1, 6)))
338

  
318 339

  
319 340
class TestNormalizeAndValidateMac(unittest.TestCase):
320 341
  def testInvalid(self):

Also available in: Unified diff