#!/usr/bin/env python # vim: expandtab # Pretty-format subunit output # Copyright (C) 2008-2010 Jelmer Vernooij # Published under the GNU GPL, v3 or later import optparse import os import signal import sys sys.path.insert(0, os.path.join(os.path.dirname(__file__), "../lib/subunit/python")) sys.path.insert(0, os.path.join(os.path.dirname(__file__), "../lib/testtools")) import subunithelper parser = optparse.OptionParser("format-subunit [options]") parser.add_option("--verbose", action="store_true", help="Be verbose") parser.add_option("--immediate", action="store_true", help="Show failures immediately, don't wait until test run has finished") parser.add_option("--prefix", type="string", default=".", help="Prefix to write summary to") opts, args = parser.parse_args() def handle_sigint(sig, stack): sys.exit(0) signal.signal(signal.SIGINT, handle_sigint) statistics = { 'SUITES_FAIL': 0, 'TESTS_UNEXPECTED_OK': 0, 'TESTS_EXPECTED_OK': 0, 'TESTS_UNEXPECTED_FAIL': 0, 'TESTS_EXPECTED_FAIL': 0, 'TESTS_ERROR': 0, 'TESTS_SKIP': 0, } msg_ops = subunithelper.PlainFormatter(opts.verbose, opts.immediate, statistics) expected_ret = subunithelper.parse_results(msg_ops, statistics, sys.stdin) summaryfile = os.path.join(opts.prefix, "summary") msg_ops.write_summary(summaryfile) print "\nA summary with detailed information can be found in:" print " %s" % summaryfile sys.exit(expected_ret)