diff --git a/coverage/cmdline.py b/coverage/cmdline.py index 62edc2074..1fbcf3a12 100644 --- a/coverage/cmdline.py +++ b/coverage/cmdline.py @@ -85,6 +85,10 @@ class Opts(object): "which isn't done by default." ), ) + sort = optparse.make_option( + '--sort', action='store', metavar='COLUMN', + help="Sort the report by the named column" + ) show_missing = optparse.make_option( '-m', '--show-missing', action='store_true', help="Show line numbers of statements in each module that weren't executed.", @@ -405,6 +409,7 @@ def get_prog_name(self): Opts.include, Opts.omit, Opts.precision, + Opts.sort, Opts.show_missing, Opts.skip_covered, Opts.skip_empty, @@ -579,6 +584,7 @@ def command_line(self, argv): omit=omit, include=include, contexts=contexts, + sort=options.sort ) # We need to be able to import from the current directory, because diff --git a/coverage/config.py b/coverage/config.py index 6d336d1f9..84d9758bf 100644 --- a/coverage/config.py +++ b/coverage/config.py @@ -211,6 +211,7 @@ def __init__(self): self.show_missing = False self.skip_covered = False self.skip_empty = False + self.sort = None # Defaults for [html] self.extra_css = None diff --git a/coverage/control.py b/coverage/control.py index 14c22eb1d..c505a8e45 100644 --- a/coverage/control.py +++ b/coverage/control.py @@ -831,7 +831,7 @@ def _get_file_reporters(self, morfs=None): def report( self, morfs=None, show_missing=None, ignore_errors=None, file=None, omit=None, include=None, skip_covered=None, - contexts=None, skip_empty=None, precision=None, + contexts=None, skip_empty=None, precision=None, sort=None ): """Write a textual summary report to `file`. @@ -882,6 +882,7 @@ def report( ignore_errors=ignore_errors, report_omit=omit, report_include=include, show_missing=show_missing, skip_covered=skip_covered, report_contexts=contexts, skip_empty=skip_empty, precision=precision, + sort=sort ): reporter = SummaryReporter(self) return reporter.report(morfs, outfile=file)