summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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'):