3 # Pretty-format subunit output
4 # Copyright (C) 2008-2010 Jelmer Vernooij <jelmer@samba.org>
5 # Published under the GNU GPL, v3 or later
12 sys
.path
.insert(0, "bin/python")
14 samba
.ensure_external_module("mimeparse", "mimeparse")
15 samba
.ensure_external_module("extras", "extras")
16 samba
.ensure_external_module("testtools", "testtools")
17 samba
.ensure_external_module("subunit", "subunit/python")
21 parser
= optparse
.OptionParser("format-subunit [options]")
22 parser
.add_option("--verbose", action
="store_true",
24 parser
.add_option("--immediate", action
="store_true",
25 help="Show failures immediately, don't wait until test run has finished")
26 parser
.add_option("--prefix", type="string", default
=".",
27 help="Prefix to write summary to")
29 opts
, args
= parser
.parse_args()
31 def handle_sigint(sig
, stack
):
34 signal
.signal(signal
.SIGINT
, handle_sigint
)
38 'TESTS_UNEXPECTED_OK': 0,
39 'TESTS_EXPECTED_OK': 0,
40 'TESTS_UNEXPECTED_FAIL': 0,
41 'TESTS_EXPECTED_FAIL': 0,
46 msg_ops
= subunithelper
.PlainFormatter(opts
.verbose
, opts
.immediate
, statistics
)
48 expected_ret
= subunithelper
.parse_results(msg_ops
, statistics
, sys
.stdin
)
50 summaryfile
= os
.path
.join(opts
.prefix
, "summary")
52 msg_ops
.write_summary(summaryfile
)
54 print "\nA summary with detailed information can be found in:"
55 print " %s" % summaryfile
57 sys
.exit(expected_ret
)