mirror of https://github.com/docker/docker-py.git
support Python 3.5
Signed-off-by: Thomas Grainger <tom.grainger@procensus.com>
This commit is contained in:
parent
26f2b696ab
commit
e0b9cb2a8c
|
|
@ -1,12 +1,13 @@
|
|||
sudo: false
|
||||
language: python
|
||||
python:
|
||||
- "2.7"
|
||||
- "3.5"
|
||||
env:
|
||||
- TOX_ENV=py26
|
||||
- TOX_ENV=py27
|
||||
- TOX_ENV=py33
|
||||
- TOX_ENV=py34
|
||||
- TOX_ENV=py35
|
||||
- TOX_ENV=flake8
|
||||
install:
|
||||
- pip install tox
|
||||
|
|
|
|||
|
|
@ -546,12 +546,6 @@ def datetime_to_timestamp(dt):
|
|||
return delta.seconds + delta.days * 24 * 3600
|
||||
|
||||
|
||||
def longint(n):
|
||||
if six.PY3:
|
||||
return int(n)
|
||||
return long(n)
|
||||
|
||||
|
||||
def parse_bytes(s):
|
||||
if isinstance(s, six.integer_types + (float,)):
|
||||
return s
|
||||
|
|
@ -574,7 +568,7 @@ def parse_bytes(s):
|
|||
|
||||
if suffix in units.keys() or suffix.isdigit():
|
||||
try:
|
||||
digits = longint(digits_part)
|
||||
digits = int(digits_part)
|
||||
except ValueError:
|
||||
raise errors.DockerException(
|
||||
'Failed converting the string value for memory ({0}) to'
|
||||
|
|
@ -582,7 +576,7 @@ def parse_bytes(s):
|
|||
)
|
||||
|
||||
# Reconvert to long for the final result
|
||||
s = longint(digits * units[suffix])
|
||||
s = int(digits * units[suffix])
|
||||
else:
|
||||
raise errors.DockerException(
|
||||
'The specified value for memory ({0}) should specify the'
|
||||
|
|
|
|||
4
setup.py
4
setup.py
|
|
@ -16,6 +16,7 @@ extras_require = {
|
|||
':python_version < "3.3"': 'ipaddress >= 1.0.16',
|
||||
}
|
||||
|
||||
version = None
|
||||
exec(open('docker/version.py').read())
|
||||
|
||||
with open('./test-requirements.txt') as test_reqs_txt:
|
||||
|
|
@ -42,10 +43,13 @@ setup(
|
|||
'Intended Audience :: Developers',
|
||||
'Operating System :: OS Independent',
|
||||
'Programming Language :: Python',
|
||||
'Programming Language :: Python :: 2',
|
||||
'Programming Language :: Python :: 2.6',
|
||||
'Programming Language :: Python :: 2.7',
|
||||
'Programming Language :: Python :: 3',
|
||||
'Programming Language :: Python :: 3.3',
|
||||
'Programming Language :: Python :: 3.4',
|
||||
'Programming Language :: Python :: 3.5',
|
||||
'Topic :: Utilities',
|
||||
'License :: OSI Approved :: Apache Software License',
|
||||
],
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
mock==1.0.1
|
||||
pytest==2.7.2
|
||||
pytest==2.9.1
|
||||
coverage==3.7.1
|
||||
pytest-cov==2.1.0
|
||||
flake8==2.4.1
|
||||
|
|
@ -299,56 +299,30 @@ class ConverVolumeBindsTest(base.BaseTestCase):
|
|||
self.assertEqual(convert_volume_binds(data), ['/mnt/vol1:/data:rw'])
|
||||
|
||||
def test_convert_volume_binds_unicode_bytes_input(self):
|
||||
if six.PY2:
|
||||
expected = [unicode('/mnt/지연:/unicode/박:rw', 'utf-8')]
|
||||
expected = [u'/mnt/지연:/unicode/박:rw']
|
||||
|
||||
data = {
|
||||
'/mnt/지연': {
|
||||
'bind': '/unicode/박',
|
||||
'mode': 'rw'
|
||||
}
|
||||
data = {
|
||||
u'/mnt/지연'.encode('utf-8'): {
|
||||
'bind': u'/unicode/박'.encode('utf-8'),
|
||||
'mode': 'rw'
|
||||
}
|
||||
self.assertEqual(
|
||||
convert_volume_binds(data), expected
|
||||
)
|
||||
else:
|
||||
expected = ['/mnt/지연:/unicode/박:rw']
|
||||
|
||||
data = {
|
||||
bytes('/mnt/지연', 'utf-8'): {
|
||||
'bind': bytes('/unicode/박', 'utf-8'),
|
||||
'mode': 'rw'
|
||||
}
|
||||
}
|
||||
self.assertEqual(
|
||||
convert_volume_binds(data), expected
|
||||
)
|
||||
}
|
||||
self.assertEqual(
|
||||
convert_volume_binds(data), expected
|
||||
)
|
||||
|
||||
def test_convert_volume_binds_unicode_unicode_input(self):
|
||||
if six.PY2:
|
||||
expected = [unicode('/mnt/지연:/unicode/박:rw', 'utf-8')]
|
||||
expected = [u'/mnt/지연:/unicode/박:rw']
|
||||
|
||||
data = {
|
||||
unicode('/mnt/지연', 'utf-8'): {
|
||||
'bind': unicode('/unicode/박', 'utf-8'),
|
||||
'mode': 'rw'
|
||||
}
|
||||
data = {
|
||||
u'/mnt/지연': {
|
||||
'bind': u'/unicode/박',
|
||||
'mode': 'rw'
|
||||
}
|
||||
self.assertEqual(
|
||||
convert_volume_binds(data), expected
|
||||
)
|
||||
else:
|
||||
expected = ['/mnt/지연:/unicode/박:rw']
|
||||
|
||||
data = {
|
||||
'/mnt/지연': {
|
||||
'bind': '/unicode/박',
|
||||
'mode': 'rw'
|
||||
}
|
||||
}
|
||||
self.assertEqual(
|
||||
convert_volume_binds(data), expected
|
||||
)
|
||||
}
|
||||
self.assertEqual(
|
||||
convert_volume_binds(data), expected
|
||||
)
|
||||
|
||||
|
||||
class ParseEnvFileTest(base.BaseTestCase):
|
||||
|
|
@ -612,13 +586,7 @@ class UtilsTest(base.BaseTestCase):
|
|||
class SplitCommandTest(base.BaseTestCase):
|
||||
|
||||
def test_split_command_with_unicode(self):
|
||||
if six.PY2:
|
||||
self.assertEqual(
|
||||
split_command(unicode('echo μμ', 'utf-8')),
|
||||
['echo', 'μμ']
|
||||
)
|
||||
else:
|
||||
self.assertEqual(split_command('echo μμ'), ['echo', 'μμ'])
|
||||
self.assertEqual(split_command(u'echo μμ'), ['echo', 'μμ'])
|
||||
|
||||
@pytest.mark.skipif(six.PY3, reason="shlex doesn't support bytes in py3")
|
||||
def test_split_command_with_bytes(self):
|
||||
|
|
|
|||
4
tox.ini
4
tox.ini
|
|
@ -1,5 +1,5 @@
|
|||
[tox]
|
||||
envlist = py26, py27, py33, py34, flake8
|
||||
envlist = py26, py27, py33, py34, py35, flake8
|
||||
skipsdist=True
|
||||
|
||||
[testenv]
|
||||
|
|
@ -11,5 +11,5 @@ deps =
|
|||
-r{toxinidir}/requirements.txt
|
||||
|
||||
[testenv:flake8]
|
||||
commands = flake8 docker tests
|
||||
commands = flake8 docker tests setup.py
|
||||
deps = flake8
|
||||
|
|
|
|||
Loading…
Reference in New Issue