Quick wins for python3 support
Change-Id: I9b04543bd2fe9a3f52232040586041cb340a1133
This commit is contained in:
parent
bf46becbcf
commit
4188b2900d
@ -66,7 +66,7 @@ def _freeze(requirements, python):
|
|||||||
output = []
|
output = []
|
||||||
try:
|
try:
|
||||||
version_out = subprocess.check_output(
|
version_out = subprocess.check_output(
|
||||||
[python, "--version"], stderr=subprocess.STDOUT)
|
[python, "--version"], stderr=subprocess.STDOUT).decode('utf-8')
|
||||||
output.append(version_out)
|
output.append(version_out)
|
||||||
version_all = version_out.split()[1]
|
version_all = version_out.split()[1]
|
||||||
version = '.'.join(version_all.split('.')[:2])
|
version = '.'.join(version_all.split('.')[:2])
|
||||||
@ -78,7 +78,8 @@ def _freeze(requirements, python):
|
|||||||
[pip_bin, 'install', '-U', 'pip', 'setuptools', 'wheel']))
|
[pip_bin, 'install', '-U', 'pip', 'setuptools', 'wheel']))
|
||||||
output.append(subprocess.check_output(
|
output.append(subprocess.check_output(
|
||||||
[pip_bin, 'install', '-r', requirements]))
|
[pip_bin, 'install', '-r', requirements]))
|
||||||
freeze = subprocess.check_output([pip_bin, 'freeze'])
|
freeze = subprocess.check_output(
|
||||||
|
[pip_bin, 'freeze']).decode('utf-8')
|
||||||
output.append(freeze)
|
output.append(freeze)
|
||||||
return (version, _parse_freeze(freeze))
|
return (version, _parse_freeze(freeze))
|
||||||
except Exception as exc:
|
except Exception as exc:
|
||||||
@ -116,7 +117,8 @@ def _combine_freezes(freezes, blacklist=None):
|
|||||||
for package, versions in sorted(packages.items()):
|
for package, versions in sorted(packages.items()):
|
||||||
if package.lower() in excludes:
|
if package.lower() in excludes:
|
||||||
continue
|
continue
|
||||||
if len(versions) != 1 or versions.values()[0] != reference_versions:
|
if (len(versions) != 1 or
|
||||||
|
list(versions.values())[0] != reference_versions):
|
||||||
# markers
|
# markers
|
||||||
for version, py_versions in sorted(versions.items()):
|
for version, py_versions in sorted(versions.items()):
|
||||||
# Once the ecosystem matures, we can consider using OR.
|
# Once the ecosystem matures, we can consider using OR.
|
||||||
@ -126,7 +128,7 @@ def _combine_freezes(freezes, blacklist=None):
|
|||||||
(package, version, py_version))
|
(package, version, py_version))
|
||||||
else:
|
else:
|
||||||
# no markers
|
# no markers
|
||||||
yield '%s===%s\n' % (package, versions.keys()[0])
|
yield '%s===%s\n' % (package, list(versions.keys())[0])
|
||||||
|
|
||||||
|
|
||||||
# -- untested UI glue from here down.
|
# -- untested UI glue from here down.
|
||||||
|
@ -14,7 +14,7 @@
|
|||||||
|
|
||||||
from __future__ import print_function
|
from __future__ import print_function
|
||||||
|
|
||||||
import StringIO
|
import six
|
||||||
import sys
|
import sys
|
||||||
import textwrap
|
import textwrap
|
||||||
|
|
||||||
@ -42,7 +42,7 @@ class SmokeTest(testtools.TestCase):
|
|||||||
self.assertIn("jsonschema!=1.4.0,<2,>=1.0.0", global_reqs)
|
self.assertIn("jsonschema!=1.4.0,<2,>=1.0.0", global_reqs)
|
||||||
# And test the end to end call of update.py, UI and all.
|
# And test the end to end call of update.py, UI and all.
|
||||||
self.project = self.useFixture(common.project_fixture)
|
self.project = self.useFixture(common.project_fixture)
|
||||||
capture = StringIO.StringIO()
|
capture = six.StringIO()
|
||||||
update.main(['--source', global_env.root, self.project.root], capture)
|
update.main(['--source', global_env.root, self.project.root], capture)
|
||||||
reqs = common._file_to_list(self.project.req_file)
|
reqs = common._file_to_list(self.project.req_file)
|
||||||
# ensure various updates take
|
# ensure various updates take
|
||||||
@ -151,7 +151,7 @@ class UpdateTest(testtools.TestCase):
|
|||||||
actions = update._process_project(
|
actions = update._process_project(
|
||||||
common.project_project, common.global_reqs, None, None, None,
|
common.project_project, common.global_reqs, None, None, None,
|
||||||
False)
|
False)
|
||||||
capture = StringIO.StringIO()
|
capture = six.StringIO()
|
||||||
project.write(
|
project.write(
|
||||||
common.project_project, actions, capture, False, True)
|
common.project_project, actions, capture, False, True)
|
||||||
expected = ('Version change for: greenlet, SQLAlchemy, eventlet, PasteDeploy, routes, WebOb, wsgiref, boto, kombu, pycrypto, python-swiftclient, lxml, jsonschema, python-keystoneclient\n' # noqa
|
expected = ('Version change for: greenlet, SQLAlchemy, eventlet, PasteDeploy, routes, WebOb, wsgiref, boto, kombu, pycrypto, python-swiftclient, lxml, jsonschema, python-keystoneclient\n' # noqa
|
||||||
@ -183,7 +183,7 @@ Updated %(project)s/test-requirements.txt:
|
|||||||
actions = update._process_project(
|
actions = update._process_project(
|
||||||
common.project_project, common.global_reqs, None, None, None,
|
common.project_project, common.global_reqs, None, None, None,
|
||||||
False)
|
False)
|
||||||
capture = StringIO.StringIO()
|
capture = six.StringIO()
|
||||||
project.write(
|
project.write(
|
||||||
common.project_project, actions, capture, True, True)
|
common.project_project, actions, capture, True, True)
|
||||||
expected = ("""Syncing %(project)s/requirements.txt
|
expected = ("""Syncing %(project)s/requirements.txt
|
||||||
|
Loading…
Reference in New Issue
Block a user