summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2014-09-23 08:02:16 +0000
committerGerrit Code Review <review@openstack.org>2014-09-23 08:02:16 +0000
commit79d1eec35aad874a7c08ff22c39260884a5524ba (patch)
tree927b7d44ea6966f76eb9d04e436f6c02e3198121
parentdee8bc62d641f633342cfdc37a246916a40b2f33 (diff)
parenta5bbba4833a6acc802e8a733db6aa307ed8acedf (diff)
downloadpython-keystoneclient-79d1eec35aad874a7c08ff22c39260884a5524ba.tar.gz
Merge "Do not iterate action.choices if it is none"0.11.1
-rw-r--r--keystoneclient/shell.py2
-rw-r--r--keystoneclient/tests/test_shell.py6
2 files changed, 8 insertions, 0 deletions
diff --git a/keystoneclient/shell.py b/keystoneclient/shell.py
index 61b93e9..ad8d127 100644
--- a/keystoneclient/shell.py
+++ b/keystoneclient/shell.py
@@ -443,6 +443,8 @@ class OpenStackHelpFormatter(argparse.HelpFormatter):
def add_arguments(self, actions):
for action in filter(lambda x: not x.option_strings, actions):
+ if not action.choices:
+ continue
for choice in action.choices:
length = len(choice) + self.INDENT_BEFORE_ARGUMENTS
if(length > self._max_help_position and
diff --git a/keystoneclient/tests/test_shell.py b/keystoneclient/tests/test_shell.py
index 2f7586b..fe720fe 100644
--- a/keystoneclient/tests/test_shell.py
+++ b/keystoneclient/tests/test_shell.py
@@ -115,6 +115,12 @@ class ShellTest(utils.TestCase):
self.assertThat(help_text,
matchers.MatchesRegex(required))
+ def test_help_command_with_no_action_choices(self):
+ required = 'usage: keystone user-update'
+ help_text = self.shell('help user-update')
+ self.assertThat(help_text,
+ matchers.MatchesRegex(required))
+
def test_auth_no_credentials(self):
with testtools.ExpectedException(
exceptions.CommandError, 'Expecting'):