Merge "Return 130 for keyboard interrupt"
This commit is contained in:
commit
1c37721287
@ -234,10 +234,10 @@ def import_versioned_module(version, submodule=None):
|
||||
return importutils.import_module(module)
|
||||
|
||||
|
||||
def exit(msg=''):
|
||||
def exit(msg='', exit_code=1):
|
||||
if msg:
|
||||
print(encodeutils.safe_decode(msg), file=sys.stderr)
|
||||
sys.exit(1)
|
||||
sys.exit(exit_code)
|
||||
|
||||
|
||||
def save_image(data, path):
|
||||
|
@ -697,6 +697,6 @@ def main():
|
||||
try:
|
||||
OpenStackImagesShell().main(map(encodeutils.safe_decode, sys.argv[1:]))
|
||||
except KeyboardInterrupt:
|
||||
utils.exit('... terminating glance client')
|
||||
utils.exit('... terminating glance client', exit_code=130)
|
||||
except Exception as e:
|
||||
utils.exit(utils.exception_to_str(e))
|
||||
|
@ -289,6 +289,15 @@ class ShellTest(utils.TestCase):
|
||||
self.assertEqual('mydomain', kwargs['project_domain_name'])
|
||||
self.assertEqual('myid', kwargs['project_domain_id'])
|
||||
|
||||
@mock.patch.object(openstack_shell.OpenStackImagesShell, 'main')
|
||||
def test_shell_keyboard_interrupt(self, mock_glance_shell):
|
||||
# Ensure that exit code is 130 for KeyboardInterrupt
|
||||
try:
|
||||
mock_glance_shell.side_effect = KeyboardInterrupt()
|
||||
openstack_shell.main()
|
||||
except SystemExit as ex:
|
||||
self.assertEqual(130, ex.code)
|
||||
|
||||
|
||||
class ShellTestWithKeystoneV3Auth(ShellTest):
|
||||
# auth environment to use
|
||||
|
Loading…
x
Reference in New Issue
Block a user