From dceec59877ba1b04267f88c6f6e77a4682342cb1 Mon Sep 17 00:00:00 2001 From: ColinDuquesnoy Date: Tue, 18 Mar 2014 19:16:49 +0100 Subject: [PATCH 1/6] Add py34 to tox's envlist --- tox.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tox.ini b/tox.ini index d346be97..e6592223 100644 --- a/tox.ini +++ b/tox.ini @@ -1,5 +1,5 @@ [tox] -envlist = py26, py27, py32, py33 +envlist = py26, py27, py32, py33, py34 [testenv] deps = https://bitbucket.org/hpk42/pytest/get/c4f58165e0d4.zip From d6187a4e23d4d6d5dc4e6588b1f2f5e1bc47bbdb Mon Sep 17 00:00:00 2001 From: ColinDuquesnoy Date: Tue, 18 Mar 2014 19:19:35 +0100 Subject: [PATCH 2/6] Fix UnicodeDecodeError Open binary file in binary mode. This happens in py34 because they fixed the missing ``get_filename`` attribute of ExtensionLoader --- jedi/_compatibility.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/jedi/_compatibility.py b/jedi/_compatibility.py index a862b74b..fdc11b6d 100644 --- a/jedi/_compatibility.py +++ b/jedi/_compatibility.py @@ -31,7 +31,8 @@ def find_module_py33(string, path=None): module_file = None else: module_path = loader.get_filename(string) - mode = 'rb' if module_path.endswith(".pyc") else 'r' + module_ext = os.path.splitext(module_path)[1] + mode = 'rb' if module_ext in ['.pyc', '.so', '.pyd'] else 'r' module_file = open(module_path, mode) except AttributeError: # ExtensionLoader has not attribute get_filename, instead it has a From 9470bc6c636f0a9f4c14c1409d7d2d9da58c4f83 Mon Sep 17 00:00:00 2001 From: ColinDuquesnoy Date: Tue, 18 Mar 2014 20:39:02 +0100 Subject: [PATCH 3/6] Add TOXENV=py34 to .travis.yml --- .travis.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.travis.yml b/.travis.yml index b6b18552..810b7f58 100644 --- a/.travis.yml +++ b/.travis.yml @@ -4,6 +4,7 @@ env: - TOXENV=py27 - TOXENV=py32 - TOXENV=py33 + - TOXENV=py34 - TOXENV=pypy - TOXENV=cov - TOXENV=sith From d810c13a5875045f3dea9111403c1f5691f2e2de Mon Sep 17 00:00:00 2001 From: ColinDuquesnoy Date: Tue, 18 Mar 2014 20:51:49 +0100 Subject: [PATCH 4/6] Install python 3.4 from ppa --- .travis.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.travis.yml b/.travis.yml index 810b7f58..1dc99d3d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -15,6 +15,9 @@ matrix: - env: TOXENV=pypy install: - pip install --quiet --use-mirrors tox + # install python 3.4 from PPA since Travis does not have python 3.4 yet + - sudo apt-add-repository -y ppa:fkrull/deadsnakes + - sudo apt-get install python3.4 script: - tox after_script: From 666d037022f777fe364ecfc5d9c14784f1bdbc3a Mon Sep 17 00:00:00 2001 From: ColinDuquesnoy Date: Tue, 18 Mar 2014 20:54:47 +0100 Subject: [PATCH 5/6] Travis: add apt-get update --- .travis.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.travis.yml b/.travis.yml index 1dc99d3d..d78cceb1 100644 --- a/.travis.yml +++ b/.travis.yml @@ -17,6 +17,7 @@ install: - pip install --quiet --use-mirrors tox # install python 3.4 from PPA since Travis does not have python 3.4 yet - sudo apt-add-repository -y ppa:fkrull/deadsnakes + - sudo apt-get update - sudo apt-get install python3.4 script: - tox From b18b3e3edd90ac077791e7ef493d98e309303347 Mon Sep 17 00:00:00 2001 From: ColinDuquesnoy Date: Tue, 18 Mar 2014 21:47:24 +0100 Subject: [PATCH 6/6] install python 3.4 only if toxenv is py34 --- .travis.yml | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index d78cceb1..55b03143 100644 --- a/.travis.yml +++ b/.travis.yml @@ -16,9 +16,11 @@ matrix: install: - pip install --quiet --use-mirrors tox # install python 3.4 from PPA since Travis does not have python 3.4 yet - - sudo apt-add-repository -y ppa:fkrull/deadsnakes - - sudo apt-get update - - sudo apt-get install python3.4 + - if [ "$TOXENV" = "py34" ]; then + sudo apt-add-repository -y ppa:fkrull/deadsnakes; + sudo apt-get update; + sudo apt-get install python3.4; + fi script: - tox after_script: