Fit the StopIteration for py37

In Train we will switch to use py37 for tests.
There is a breaking change between Python 3.6 and 3.7
that is making it an error to raise a StopIteration exception
from a function or generator(https://www.python.org/dev/peps/pep-0479/).
So we need to fix it in code.

Change-Id: I003be4193944bc4176768c488f2f71b58fcbd58d
Closes-Bug: #1837856
Story: #2005924
Task: #34258
This commit is contained in:
wanghao 2019-07-25 16:58:28 +08:00
parent 0a5f0ed5d9
commit b63d025135
4 changed files with 14 additions and 9 deletions

View File

@ -112,7 +112,7 @@
- check-requirements
- openstack-lower-constraints-jobs
- openstack-python-jobs
- openstack-python36-jobs
- openstack-python3-train-jobs
- periodic-stable-jobs
- publish-openstack-docs-pti
- release-notes-jobs-python3

View File

@ -15,7 +15,9 @@ classifier =
Programming Language :: Python
Programming Language :: Python :: 2
Programming Language :: Python :: 2.7
Programming Language :: Python :: 3
Programming Language :: Python :: 3.6
Programming Language :: Python :: 3.7
[files]
packages =

View File

@ -1,6 +1,6 @@
[tox]
minversion = 2.0
envlist = py36,py27,pep8
envlist = py27,py37,pep8
skipsdist = True
[testenv]

View File

@ -38,15 +38,18 @@ LOG = logging.getLogger(__name__)
def _messages_iter(msg_iter):
"""Used to iterate through messages."""
msg = next(msg_iter)
yield msg.pop('claim')
yield msg
# Smoke it!
for msg in msg_iter:
del msg['claim']
try:
msg = next(msg_iter)
yield msg.pop('claim')
yield msg
# Smoke it!
for msg in msg_iter:
del msg['claim']
yield msg
except StopIteration:
return
class ClaimController(storage.Claim):
"""Implements claim resource operations using MongoDB.