test_requirements: Avoid using pip as library
Because importing "pip" in Python scripts is not supported usage of "pip", this patch fixes to use "pkg_resources" + "urllib" instead. Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
This commit is contained in:
parent
a27c56a054
commit
fe06d87f65
@ -19,8 +19,6 @@ import sys
|
|||||||
import unittest
|
import unittest
|
||||||
|
|
||||||
import pkg_resources
|
import pkg_resources
|
||||||
from pip.req import parse_requirements
|
|
||||||
from pip.download import PipSession
|
|
||||||
from six.moves import urllib
|
from six.moves import urllib
|
||||||
|
|
||||||
from nose.tools import ok_
|
from nose.tools import ok_
|
||||||
@ -28,7 +26,7 @@ from nose.tools import ok_
|
|||||||
|
|
||||||
LOG = logging.getLogger(__name__)
|
LOG = logging.getLogger(__name__)
|
||||||
|
|
||||||
MOD_DIR = os.path.dirname(sys.modules[__name__].__file__)
|
MOD_DIR = os.path.dirname('file://' + sys.modules[__name__].__file__)
|
||||||
_RYU_REQUIREMENTS_FILES = [
|
_RYU_REQUIREMENTS_FILES = [
|
||||||
'../../../tools/pip-requires',
|
'../../../tools/pip-requires',
|
||||||
'../../../tools/optional-requires',
|
'../../../tools/optional-requires',
|
||||||
@ -51,9 +49,10 @@ OPENSTACK_REQUIREMENTS_FILES = [
|
|||||||
def _get_requirements(files):
|
def _get_requirements(files):
|
||||||
requirements = {}
|
requirements = {}
|
||||||
for f in files:
|
for f in files:
|
||||||
req = parse_requirements(f, session=PipSession())
|
response = urllib.request.urlopen(f)
|
||||||
for r in req:
|
contents = response.read().decode('utf-8')
|
||||||
requirements[r.name] = str(r.req)
|
for r in pkg_resources.parse_requirements(contents):
|
||||||
|
requirements[r.name] = str(r)
|
||||||
|
|
||||||
return requirements
|
return requirements
|
||||||
|
|
||||||
@ -82,5 +81,5 @@ class TestRequirements(unittest.TestCase):
|
|||||||
except pkg_resources.VersionConflict as e:
|
except pkg_resources.VersionConflict as e:
|
||||||
LOG.exception(
|
LOG.exception(
|
||||||
'Some requirements of Ryu are conflicting with that of '
|
'Some requirements of Ryu are conflicting with that of '
|
||||||
'OpenStack project: %s' % OPENSTACK_REQUIREMENTS_REPO)
|
'OpenStack project: %s', OPENSTACK_REQUIREMENTS_REPO)
|
||||||
raise e
|
raise e
|
||||||
|
Loading…
Reference in New Issue
Block a user