Merge "handles keyboard interrupt"
This commit is contained in:
@@ -461,7 +461,9 @@ class OpenStackHelpFormatter(argparse.HelpFormatter):
|
||||
def main():
|
||||
try:
|
||||
OpenStackIdentityShell().main(sys.argv[1:])
|
||||
|
||||
except KeyboardInterrupt:
|
||||
print("... terminating keystone client", file=sys.stderr)
|
||||
sys.exit(130)
|
||||
except Exception as e:
|
||||
print(encodeutils.safe_encode(six.text_type(e)), file=sys.stderr)
|
||||
sys.exit(1)
|
||||
|
@@ -520,3 +520,13 @@ class ShellTest(utils.TestCase):
|
||||
'http://example.com:4321/go',
|
||||
'http://example.com:9876/adm')
|
||||
self.assertTrue(all([x == y for x, y in zip(actual, expect)]))
|
||||
|
||||
def test_shell_keyboard_interrupt(self):
|
||||
shell_mock = mock.MagicMock()
|
||||
with mock.patch('keystoneclient.shell.OpenStackIdentityShell.main',
|
||||
shell_mock):
|
||||
try:
|
||||
shell_mock.side_effect = KeyboardInterrupt()
|
||||
openstack_shell.main()
|
||||
except SystemExit as ex:
|
||||
self.assertEqual(130, ex.code)
|
||||
|
Reference in New Issue
Block a user