Merge "Return 130 for keyboard interrupt"

This commit is contained in:
Jenkins 2015-02-06 16:23:21 +00:00 committed by Gerrit Code Review
commit 1c37721287
3 changed files with 12 additions and 3 deletions
glanceclient
tests

@ -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