5 new commits in tox: https://bitbucket.org/hpk42/tox/commits/f9f760fb37a9/ Changeset: f9f760fb37a9 User: mordred Date: 2013-07-16 17:21:11 Summary: Expand --develop help text to be more correct
The --develop option actually triggers pip install -e . instead of calling setup.py develop directly. Be clear about that. Affected #: 1 file diff -r 8c7e68bd1c8e5e29101ea9dc54c0525476295a0c -r f9f760fb37a95f36f934cb010a5a8cacb65f1657 tox/_config.py --- a/tox/_config.py +++ b/tox/_config.py @@ -91,7 +91,8 @@ parser.add_argument("--sdistonly", action="store_true", dest="sdistonly", help="only perform the sdist packaging activity.") parser.add_argument("--develop", action="store_true", dest="develop", - help="install package in the venv using setup.py develop") + help="install package in the venv using setup.py develop using " + "'pip -e .'") parser.add_argument("--installpkg", action="store", default=None, help="use specified package for installation into venv") parser.add_argument('-i', action="append", https://bitbucket.org/hpk42/tox/commits/139084074f08/ Changeset: 139084074f08 User: mordred Date: 2013-07-16 17:25:24 Summary: Don't run --no-deps on intial install Copy the logic from installpkg more completely. Affected #: 1 file diff -r f9f760fb37a95f36f934cb010a5a8cacb65f1657 -r 139084074f081f014758e4549209f8ac5c8a82a6 tox/_venv.py --- a/tox/_venv.py +++ b/tox/_venv.py @@ -216,10 +216,15 @@ def developpkg(self, setupdir, action): assert action is not None - self.finish() + if getattr(self, 'just_created', False): + action.setactivity("inst", sdistpath) + self.finish() + extraopts = [] + else: + action.setactivity("inst-nodeps", sdistpath) + extraopts = ['--no-deps'] if not self._needs_reinstall(setupdir, action): return - extraopts = ['--no-deps'] self._install(['-e', setupdir], extraopts=extraopts, action=action) def installpkg(self, sdistpath, action): https://bitbucket.org/hpk42/tox/commits/1a80bac8f67d/ Changeset: 1a80bac8f67d User: mordred Date: 2013-07-16 17:39:42 Summary: Report better on what we're doing develop mode should emit actions telling us what it's doing. Affected #: 2 files diff -r 139084074f081f014758e4549209f8ac5c8a82a6 -r 1a80bac8f67d32948751b20ee66f98ff03ec29ed tests/test_z_cmdline.py --- a/tests/test_z_cmdline.py +++ b/tests/test_z_cmdline.py @@ -362,7 +362,16 @@ def test_develop(initproj, cmd): initproj("example123", filedefs={'tox.ini': """ """}) - result = cmd.run("tox", "-v", "--develop") + result = cmd.run("tox", "-vv", "--develop") + assert not result.ret + assert "sdist-make" not in result.stdout.str() + +def test_usedevelop(initproj, cmd): + initproj("example123", filedefs={'tox.ini': """ + [tox] + usedevelop=True + """}) + result = cmd.run("tox", "-vv") assert not result.ret assert "sdist-make" not in result.stdout.str() diff -r 139084074f081f014758e4549209f8ac5c8a82a6 -r 1a80bac8f67d32948751b20ee66f98ff03ec29ed tox/_venv.py --- a/tox/_venv.py +++ b/tox/_venv.py @@ -217,14 +217,15 @@ def developpkg(self, setupdir, action): assert action is not None if getattr(self, 'just_created', False): - action.setactivity("inst", sdistpath) + action.setactivity("develop-inst", setupdir) self.finish() extraopts = [] else: - action.setactivity("inst-nodeps", sdistpath) + if not self._needs_reinstall(setupdir, action): + action.setactivity("develop-inst-noop", setupdir) + return + action.setactivity("develop-inst-nodeps", setupdir) extraopts = ['--no-deps'] - if not self._needs_reinstall(setupdir, action): - return self._install(['-e', setupdir], extraopts=extraopts, action=action) def installpkg(self, sdistpath, action): https://bitbucket.org/hpk42/tox/commits/44e60897da2b/ Changeset: 44e60897da2b User: mordred Date: 2013-07-16 17:57:41 Summary: Add develop to the configs that trigger recreate Affected #: 4 files diff -r 1a80bac8f67d32948751b20ee66f98ff03ec29ed -r 44e60897da2beb01adb940ef972bc58d7c076e03 tests/test_config.py --- a/tests/test_config.py +++ b/tests/test_config.py @@ -370,6 +370,7 @@ assert envconfig.changedir == config.setupdir assert envconfig.distribute == False assert envconfig.sitepackages == False + assert envconfig.develop == False assert envconfig.envlogdir == envconfig.envdir.join("log") assert envconfig.setenv is None diff -r 1a80bac8f67d32948751b20ee66f98ff03ec29ed -r 44e60897da2beb01adb940ef972bc58d7c076e03 tests/test_venv.py --- a/tests/test_venv.py +++ b/tests/test_venv.py @@ -473,6 +473,18 @@ venv.update() mocksession.report.expect("verbosity0", "*recreate*") + def test_develop_recreation(self, newconfig, mocksession): + config = newconfig([], "") + envconfig = config.envconfigs['python'] + venv = VirtualEnv(envconfig, session=mocksession) + venv.update() + cconfig = venv._getliveconfig() + cconfig.develop = True + cconfig.writeconfig(venv.path_config) + mocksession._clearmocks() + venv.update() + mocksession.report.expect("verbosity0", "*recreate*") + class TestVenvTest: def test_patchPATH(self, newmocksession, monkeypatch): diff -r 1a80bac8f67d32948751b20ee66f98ff03ec29ed -r 44e60897da2beb01adb940ef972bc58d7c076e03 tox/_config.py --- a/tox/_config.py +++ b/tox/_config.py @@ -262,6 +262,7 @@ vc.config = config reader = IniReader(self._cfg, fallbacksections=["testenv"]) reader.addsubstitions(**subs) + vc.develop = config.usedevelop or config.option.develop vc.envdir = reader.getpath(section, "envdir", "{toxworkdir}/%s" % name) vc.args_are_paths = reader.getbool(section, "args_are_paths", True) if reader.getdefault(section, "python", None): diff -r 1a80bac8f67d32948751b20ee66f98ff03ec29ed -r 44e60897da2beb01adb940ef972bc58d7c076e03 tox/_venv.py --- a/tox/_venv.py +++ b/tox/_venv.py @@ -5,18 +5,20 @@ from tox._config import DepConfig class CreationConfig: - def __init__(self, md5, python, version, distribute, sitepackages, deps): + def __init__(self, md5, python, version, distribute, sitepackages, + develop, deps): self.md5 = md5 self.python = python self.version = version self.distribute = distribute self.sitepackages = sitepackages + self.develop = develop self.deps = deps def writeconfig(self, path): lines = ["%s %s" % (self.md5, self.python)] - lines.append("%s %d %d" % (self.version, self.distribute, - self.sitepackages)) + lines.append("%s %d %d %d" % (self.version, self.distribute, + self.sitepackages, self.develop)) for dep in self.deps: lines.append("%s %s" % dep) path.ensure() @@ -28,15 +30,17 @@ lines = path.readlines(cr=0) value = lines.pop(0).split(None, 1) md5, python = value - version, distribute, sitepackages = lines.pop(0).split(None, 2) + version, distribute, sitepackages, develop = lines.pop(0).split( + None, 3) distribute = bool(int(distribute)) sitepackages = bool(int(sitepackages)) + develop = bool(int(develop)) deps = [] for line in lines: md5, depstring = line.split(None, 1) deps.append((md5, depstring)) return CreationConfig(md5, python, version, - distribute, sitepackages, deps) + distribute, sitepackages, develop, deps) except KeyboardInterrupt: raise except: @@ -48,6 +52,7 @@ and self.version == other.version and self.distribute == other.distribute and self.sitepackages == other.sitepackages + and self.develop == other.develop and self.deps == other.deps) class VirtualEnv(object): @@ -144,13 +149,14 @@ version = tox.__version__ distribute = self.envconfig.distribute sitepackages = self.envconfig.sitepackages + develop = self.envconfig.develop deps = [] for dep in self._getresolvedeps(): raw_dep = dep.name md5 = getdigest(raw_dep) deps.append((md5, raw_dep)) return CreationConfig(md5, python, version, - distribute, sitepackages, deps) + distribute, sitepackages, develop, deps) def _getresolvedeps(self): l = [] https://bitbucket.org/hpk42/tox/commits/fb612de381a7/ Changeset: fb612de381a7 User: mordred Date: 2013-07-16 18:00:05 Summary: Use the python from the venv for setup.py --name Affected #: 1 file diff -r 44e60897da2beb01adb940ef972bc58d7c076e03 -r fb612de381a79f8d7bff9cf2e0bc8fab42237efd tox/_venv.py --- a/tox/_venv.py +++ b/tox/_venv.py @@ -209,7 +209,7 @@ def _needs_reinstall(self, setupdir, action): setup_py = setupdir.join('setup.py') setup_cfg = setupdir.join('setup.cfg') - args = [str(self.getconfigexecutable()), str(setup_py), '--name'] + args = [self.envconfig.envpython, str(setup_py), '--name'] output = action.popen(args, cwd=setupdir, redirect=False, returnout=True) name = output.strip().decode('utf-8') Repository URL: https://bitbucket.org/hpk42/tox/ -- This is a commit notification from bitbucket.org. You are receiving this because you have the service enabled, addressing the recipient of this email. _______________________________________________ pytest-commit mailing list pytest-commit@python.org http://mail.python.org/mailman/listinfo/pytest-commit