diff --git a/.travis.yml b/.travis.yml index abbb57829..fb62a3493 100644 --- a/.travis.yml +++ b/.travis.yml @@ -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 diff --git a/docker/utils/utils.py b/docker/utils/utils.py index 98cbd61f1..caa98314e 100644 --- a/docker/utils/utils.py +++ b/docker/utils/utils.py @@ -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' diff --git a/setup.py b/setup.py index fac5129fa..854271102 100644 --- a/setup.py +++ b/setup.py @@ -16,6 +16,7 @@ ':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 @@ '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', ], diff --git a/test-requirements.txt b/test-requirements.txt index be4998803..460db1073 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -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 \ No newline at end of file +flake8==2.4.1 diff --git a/tests/unit/utils_test.py b/tests/unit/utils_test.py index 47c43ee26..ef927d367 100644 --- a/tests/unit/utils_test.py +++ b/tests/unit/utils_test.py @@ -299,56 +299,30 @@ def test_convert_volume_binds_no_mode(self): 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')] - - data = { - '/mnt/지연': { - 'bind': '/unicode/박', - 'mode': 'rw' - } - } - self.assertEqual( - convert_volume_binds(data), expected - ) - else: - expected = ['/mnt/지연:/unicode/박:rw'] + expected = [u'/mnt/지연:/unicode/박:rw'] - data = { - bytes('/mnt/지연', 'utf-8'): { - 'bind': bytes('/unicode/박', 'utf-8'), - 'mode': 'rw' - } + data = { + u'/mnt/지연'.encode('utf-8'): { + 'bind': u'/unicode/박'.encode('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')] - - data = { - unicode('/mnt/지연', 'utf-8'): { - 'bind': unicode('/unicode/박', 'utf-8'), - 'mode': 'rw' - } - } - self.assertEqual( - convert_volume_binds(data), expected - ) - else: - expected = ['/mnt/지연:/unicode/박:rw'] + expected = [u'/mnt/지연:/unicode/박:rw'] - data = { - '/mnt/지연': { - 'bind': '/unicode/박', - 'mode': 'rw' - } + data = { + u'/mnt/지연': { + 'bind': u'/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 @@ def test_create_ipam_config(self): 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): diff --git a/tox.ini b/tox.ini index 40e46fafb..be4508e42 100644 --- a/tox.ini +++ b/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