diff --git a/.zuul.yaml b/.zuul.yaml index 585b1cf612b4..1997e5b9ce6c 100644 --- a/.zuul.yaml +++ b/.zuul.yaml @@ -271,3 +271,4 @@ irrelevant-files: *dsvm-irrelevant-files - os-vif-ovs: irrelevant-files: *dsvm-irrelevant-files + - openstack-tox-py37 diff --git a/nova/compute/multi_cell_list.py b/nova/compute/multi_cell_list.py index 4975d49688a0..0fd208bf972c 100644 --- a/nova/compute/multi_cell_list.py +++ b/nova/compute/multi_cell_list.py @@ -105,13 +105,13 @@ def query_wrapper(ctx, fn, *args, **kwargs): # we won't call into the implementation's comparison routines) # wrapping the sentinel indicating timeout. yield RecordWrapper(ctx, None, context.did_not_respond_sentinel) - raise StopIteration + return except Exception as e: # Here, we yield a RecordWrapper (no sort_ctx needed since # we won't call into the implementation's comparison routines) # wrapping the exception object indicating failure. yield RecordWrapper(ctx, None, e.__class__(e.args)) - raise StopIteration + return @six.add_metaclass(abc.ABCMeta) diff --git a/nova/tests/unit/test_api_validation.py b/nova/tests/unit/test_api_validation.py index db202276c899..bb2e74ab2a4f 100644 --- a/nova/tests/unit/test_api_validation.py +++ b/nova/tests/unit/test_api_validation.py @@ -467,7 +467,7 @@ class PatternPropertiesTestCase(APIValidationTestCase): # Note(jrosenboom): This is referencing an internal python error # string, which is no stable interface. We need a patch in the # jsonschema library in order to fix this properly. - if sys.version[:3] in ['3.5', '3.6']: + if sys.version[:3] in ['3.5', '3.6', '3.7']: detail = "expected string or bytes-like object" else: detail = "expected string or buffer" diff --git a/nova/tests/unit/test_flavors.py b/nova/tests/unit/test_flavors.py index bfaacbb708dd..d237e3d2147d 100644 --- a/nova/tests/unit/test_flavors.py +++ b/nova/tests/unit/test_flavors.py @@ -187,8 +187,8 @@ class CreateInstanceTypeTest(test.TestCase): self.assertInvalidInput('foobar\x00', 64, 1, 120) def test_name_with_non_printable_characters(self): - # Names cannot contain printable characters - self.assertInvalidInput(u'm1.\u0868 #', 64, 1, 120) + # Names cannot contain non printable characters + self.assertInvalidInput(u'm1.\u0C77 #', 64, 1, 120) def test_name_length_checks(self): MAX_LEN = 255 diff --git a/tox.ini b/tox.ini index 0c32d3b97eb6..9921284454ac 100644 --- a/tox.ini +++ b/tox.ini @@ -52,6 +52,12 @@ basepython = python3.6 commands = {[testenv:py35]commands} +[testenv:py37] +# TODO(efried): Remove this once https://github.com/tox-dev/tox/issues/425 is fixed. +basepython = python3.7 +commands = + {[testenv:py35]commands} + [testenv:pep8] description = Run style checks. @@ -119,6 +125,13 @@ deps = {[testenv:functional]deps} commands = {[testenv:functional]commands} +[testenv:functional-py37] +basepython = python3.7 +envdir = {toxworkdir}/py37 +setenv = {[testenv]setenv} +commands = + {[testenv:functional]commands} + [testenv:api-samples] envdir = {toxworkdir}/shared setenv =