diff options
| author | holger krekel <holger@merlinux.eu> | 2011-07-07 17:36:28 +0200 |
|---|---|---|
| committer | holger krekel <holger@merlinux.eu> | 2011-07-07 17:36:28 +0200 |
| commit | 7eb7567c55863194a1d4d3d8bec87fa38e10e325 (patch) | |
| tree | 2a431ad63b39027dacf2cce8b0e6e733127d259d | |
| parent | 6a058c5eef2912834a41362107f4adb01e9d9e23 (diff) | |
| download | tox-7eb7567c55863194a1d4d3d8bec87fa38e10e325.tar.gz | |
except for initial creation always install sdist with "-U --no-deps".
| -rw-r--r-- | CHANGELOG.txt | 4 | ||||
| -rw-r--r-- | tests/test_venv.py | 13 | ||||
| -rw-r--r-- | tox.ini | 1 | ||||
| -rw-r--r-- | tox/_venv.py | 7 |
4 files changed, 22 insertions, 3 deletions
diff --git a/CHANGELOG.txt b/CHANGELOG.txt index 8d0ea9b..5e1d29e 100644 --- a/CHANGELOG.txt +++ b/CHANGELOG.txt @@ -2,6 +2,10 @@ ----------------- - fix issue3 - fix example on frontpage +- fixed/enhanced: except for initial install always call use "-U + --no-deps" for installing the sdist package to ensure that a package + gets upgraded even if its version number did not change. (reported on + TIP mailing list and IRC) 1.0 ----------------- diff --git a/tests/test_venv.py b/tests/test_venv.py index 4d884ba..34b5e74 100644 --- a/tests/test_venv.py +++ b/tests/test_venv.py @@ -397,10 +397,21 @@ def test_setenv_added_to_pcall(mocksession, newconfig): for e in os.environ: assert e in env -def test_install_sdist_upgrade_mode(newmocksession): +def test_install_sdist_no_upgrade(newmocksession): mocksession = newmocksession([], "") venv = mocksession.getenv('python') + venv.just_created = True venv.install_sdist("whatever") l = mocksession._pcalls assert len(l) == 1 assert '-U' not in l[0].args + +def test_install_sdist_upgrade(newmocksession): + mocksession = newmocksession([], "") + venv = mocksession.getenv('python') + assert not hasattr(venv, 'just_created') + venv.install_sdist("whatever") + l = mocksession._pcalls + assert len(l) == 1 + assert '-U' in l[0].args + assert '--no-deps' in l[0].args @@ -7,6 +7,7 @@ indexserver = [testenv] commands=py.test --junitxml={envlogdir}/junit-{envname}.xml [] deps=pytest + py [testenv:py27-xdist] commands=py.test -n5 --junitxml={envlogdir}/junit-{envname}.xml [] diff --git a/tox/_venv.py b/tox/_venv.py index 6f539bb..fdabd38 100644 --- a/tox/_venv.py +++ b/tox/_venv.py @@ -175,10 +175,13 @@ class VirtualEnv(object): finally: old.chdir() self._getliveconfig().writeconfig(self.path_config) + self.just_created = True def install_sdist(self, sdistpath): - #self._install(['-U', sdistpath]) - self._install([sdistpath]) + if getattr(self, 'just_created', False): + self._install([sdistpath]) + else: + self._install(['-U', '--no-deps', sdistpath]) def install_deps(self): deps = self._getresolvedeps() |
