Barry Warsaw pushed to branch master at mailman / Mailman
Commits: f32f2364 by Abhilash Raj at 2015-08-13T20:37:12Z Fix #137 - - - - - 19bf129d by Abhilash Raj at 2015-08-13T20:37:12Z remove a print statement committed accidentally - - - - - 46b27396 by Abhilash Raj at 2015-08-13T20:37:12Z fix according to comments from barry - - - - - 9a6270ec by Abhilash Raj at 2015-08-13T20:37:12Z add tests for mailman command - - - - - 022bdf8b by Barry Warsaw at 2015-08-13T20:37:12Z Style cleanup. - - - - - a4077f26 by Barry Warsaw at 2015-08-13T20:40:21Z `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 @@ -26,6 +26,8 @@ Bugs * Confirmation messages should not be `Precedence: bulk`. (Closes #75) * 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) Configuration ------------- View it on GitLab: https://gitlab.com/mailman/mailman/compare/e64ee63b97decf8223a96bbc834a438e4d4fda58...a4077f26a8d586a55963d75a7b97103e116bff2d
_______________________________________________ Mailman-checkins mailing list Mailman-checkins@python.org Unsubscribe: https://mail.python.org/mailman/options/mailman-checkins/archive%40jab.org