Empty groupname will be 'DEFAULT' by default

By default, if the groupname is None, set it to 'DEFAULT'.
Seems like several libraries are exporting such groups, and it causes
sorting the 'by_section.items()' list to fail.

Closes-Bug: #1705245

Change-Id: I2001dc4894ff1e24c0eaed9ba71e3c5fba02ae36
(cherry picked from commit d7931f2573)
This commit is contained in:
Yuval Brik 2017-07-25 22:35:43 +03:00 committed by ChangBo Guo(gcb)
parent 683030c07e
commit 3f9f8d9350
2 changed files with 7 additions and 3 deletions

View File

@ -206,6 +206,8 @@ def _format_option_help(app, namespaces, split_namespaces):
else:
group_name = group
group = None
if group_name is None:
group_name = 'DEFAULT'
lines = _format_group(
app=app,
namespace=namespace,
@ -228,6 +230,8 @@ def _format_option_help(app, namespaces, split_namespaces):
else:
group_name = group
group = None
if group_name is None:
group_name = 'DEFAULT'
group_objs.setdefault(group_name, group)
by_section.setdefault(group_name, []).extend(group_opts)
for group_name, group_opts in sorted(by_section.items()):

View File

@ -403,14 +403,14 @@ class FormatOptionHelpTest(base.BaseTestCase):
_format_group.assert_any_call(
app=None,
namespace='namespace1',
group_name=None,
group_name='DEFAULT',
group_obj=None,
opt_list=['opt1'],
)
_format_group.assert_any_call(
app=None,
namespace='namespace2',
group_name=None,
group_name='DEFAULT',
group_obj=None,
opt_list=['opt2'],
)
@ -429,7 +429,7 @@ class FormatOptionHelpTest(base.BaseTestCase):
_format_group.assert_called_once_with(
app=None,
namespace=None,
group_name=None,
group_name='DEFAULT',
group_obj=None,
opt_list=['opt1', 'opt2'],
)