Barry Warsaw pushed to branch release-3.0 at mailman / Mailman
Commits: 9e3fc60a by Barry Warsaw at 2015-08-13T20:48:47Z `mailman` command with no subcommand now prints the help text. Given by Abhilash Raj. (Closes #137) - - - - - 3 changed files: - src/mailman/bin/mailman.py - + src/mailman/bin/tests/test_mailman.py - src/mailman/docs/NEWS.rst Changes: ===================================== src/mailman/bin/mailman.py ===================================== --- a/src/mailman/bin/mailman.py +++ b/src/mailman/bin/mailman.py @@ -88,7 +88,7 @@ def main(): command.add(parser, command_parser) command_parser.set_defaults(func=command.process) args = parser.parse_args() - if len(args.__dict__) == 0: + if len(args.__dict__) <= 1: # No arguments or subcommands were given. parser.print_help() parser.exit() ===================================== src/mailman/bin/tests/test_mailman.py ===================================== --- /dev/null +++ b/src/mailman/bin/tests/test_mailman.py @@ -0,0 +1,42 @@ +# Copyright (C) 2015 by the Free Software Foundation, Inc. +# +# This file is part of GNU Mailman. +# +# GNU Mailman is free software: you can redistribute it and/or modify it under +# the terms of the GNU General Public License as published by the Free +# Software Foundation, either version 3 of the License, or (at your option) +# any later version. +# +# GNU Mailman is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for +# more details. +# +# You should have received a copy of the GNU General Public License along with +# GNU Mailman. If not, see <http://www.gnu.org/licenses/>. + +"""Test mailman command utilities.""" + +__all__ = [ + 'TestMailmanCommand', + ] + + +import unittest + +from io import StringIO +from mock import patch +from mailman.bin.mailman import main + + + +class TestMailmanCommand(unittest.TestCase): + def test_mailman_command_without_subcommand_prints_help(self): + # Issue #137: Running `mailman` without a subcommand raises an + # AttributeError. + testargs = ['mailman'] + output = StringIO() + with patch('sys.argv', testargs), patch('sys.stdout', output): + with self.assertRaises(SystemExit): + main() + self.assertIn('usage', output.getvalue()) ===================================== src/mailman/docs/NEWS.rst ===================================== --- a/src/mailman/docs/NEWS.rst +++ b/src/mailman/docs/NEWS.rst @@ -32,6 +32,8 @@ Bugs link the address to the user. Given by Abhilash Raj. * Fix constraint violations on mailing list deletes affecting PostgreSQL. Given by Abhilash Raj. (Closes #115) + * `mailman` command with no subcommand now prints the help text. Given by + Abhilash Raj. (Closes #137) 3.0.0 -- "Show Don't Tell" View it on GitLab: https://gitlab.com/mailman/mailman/commit/9e3fc60a5d1e8625904f5ab56d4b751a1b1d024b
_______________________________________________ Mailman-checkins mailing list Mailman-checkins@python.org Unsubscribe: https://mail.python.org/mailman/options/mailman-checkins/archive%40jab.org