view tests/silenttestrunner.py @ 20654:af9d9b778550

minirst: create valid output when table data contains a newline When table data contained a newline, the result of minirst.maketable did not look nice plus it was not recognised by minirst.format: == === ==== l1 1 one l2 2 2 22 l3 == === ==== This problem occurred when the description of options had a very long translation which was split by newlines. Do not bother a translator with this detail. The multiline translations for option descriptions have been fixed in baf1600adfbe in it.po, de.po and ro.po. I manually did the same as this patch does, I removed the newlines. When a newline was in the description, this created unusable help output: $ hg help somecommand hg somecommand [option]... with somecommand, you can... options: == =================== ======================================================= =================================== --longdesc VALUE xxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx -n --norm normal desc --newline VALUE line1 line2 == =================== =============== =========================================================================== now this looks much nicer: ... options: --longdesc VALUE xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx -n --norm normal desc --newline VALUE line1 line2
author Simon Heimberg <simohe@besonet.ch>
date Wed, 19 Feb 2014 17:32:21 +0100
parents 2cbfb8c497ee
children dadcd40b62d8
line wrap: on
line source

import unittest, sys

def main(modulename):
    '''run the tests found in module, printing nothing when all tests pass'''
    module = sys.modules[modulename]
    suite = unittest.defaultTestLoader.loadTestsFromModule(module)
    results = unittest.TestResult()
    suite.run(results)
    if results.errors or results.failures:
        for tc, exc in results.errors:
            print 'ERROR:', tc
            print
            sys.stdout.write(exc)
        for tc, exc in results.failures:
            print 'FAIL:', tc
            print
            sys.stdout.write(exc)
        sys.exit(1)