Hello community,

here is the log from the commit of package python3-tox for openSUSE:Factory 
checked in at 2015-06-23 11:59:15
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python3-tox (Old)
 and      /work/SRC/openSUSE:Factory/.python3-tox.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python3-tox"

Changes:
--------
--- /work/SRC/openSUSE:Factory/python3-tox/python3-tox.changes  2015-06-06 
09:54:16.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.python3-tox.new/python3-tox.changes     
2015-06-23 11:59:15.000000000 +0200
@@ -1,0 +2,24 @@
+Sun Jun 21 02:47:01 UTC 2015 - a...@gmx.de
+
+- patch:
+  * updated patch
+
+- update to version 2.1.0:
+  *fix issue258, fix issue248, fix issue253: for non-test commands
+   (installation, venv creation) we pass in the full invocation
+   environment.
+  * remove experimental --set-home option which was hardly used and
+    hackily implemented (if people want home-directory isolation we
+    should figure out a better way to do it, possibly through a
+    plugin)
+  * fix issue259: passenv is now a line-list which allows to
+    intersperse comments.  Thanks stefano-m.
+  * allow envlist to be a multi-line list, to intersperse comments and
+    have long envlist settings split more naturally.  Thanks Andre
+    Caron.
+  * introduce a TOX_TESTENV_PASSENV setting which is honored when
+    constructing the set of environment variables for test
+    environments.  Thanks Marc Abramowitz for pushing in this
+    direction.
+
+-------------------------------------------------------------------

Old:
----
  tox-2.0.2.tar.gz

New:
----
  tox-2.1.0.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python3-tox.spec ++++++
--- /var/tmp/diff_new_pack.3xVOWl/_old  2015-06-23 11:59:16.000000000 +0200
+++ /var/tmp/diff_new_pack.3xVOWl/_new  2015-06-23 11:59:16.000000000 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           python3-tox
-Version:        2.0.2
+Version:        2.1.0
 Release:        0
 Summary:        Virtualenv-based automation of test activities
 License:        MIT

++++++ tox-2.0.2.tar.gz -> tox-2.1.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/tox-2.0.2/CHANGELOG new/tox-2.1.0/CHANGELOG
--- old/tox-2.0.2/CHANGELOG     2015-06-03 13:53:21.000000000 +0200
+++ new/tox-2.1.0/CHANGELOG     2015-06-19 15:26:25.000000000 +0200
@@ -1,3 +1,24 @@
+2.1.0
+----------
+
+- fix issue258, fix issue248, fix issue253: for non-test commands 
+  (installation, venv creation) we pass in the full invocation environment.
+
+- remove experimental --set-home option which was hardly used and
+  hackily implemented (if people want home-directory isolation we should
+  figure out a better way to do it, possibly through a plugin)
+
+- fix issue259: passenv is now a line-list which allows to intersperse
+  comments.  Thanks stefano-m.
+
+- allow envlist to be a multi-line list, to intersperse comments
+  and have long envlist settings split more naturally.  Thanks Andre Caron.
+
+- introduce a TOX_TESTENV_PASSENV setting which is honored
+  when constructing the set of environment variables for test environments.
+  Thanks Marc Abramowitz for pushing in this direction.
+
+
 2.0.2
 ----------
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/tox-2.0.2/PKG-INFO new/tox-2.1.0/PKG-INFO
--- old/tox-2.0.2/PKG-INFO      2015-06-03 13:53:21.000000000 +0200
+++ new/tox-2.1.0/PKG-INFO      2015-06-19 15:26:25.000000000 +0200
@@ -1,6 +1,6 @@
 Metadata-Version: 1.1
 Name: tox
-Version: 2.0.2
+Version: 2.1.0
 Summary: virtualenv-based automation of test activities
 Home-page: http://tox.testrun.org/
 Author: holger krekel
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/tox-2.0.2/doc/conf.py new/tox-2.1.0/doc/conf.py
--- old/tox-2.0.2/doc/conf.py   2015-06-03 13:53:21.000000000 +0200
+++ new/tox-2.1.0/doc/conf.py   2015-06-19 15:26:25.000000000 +0200
@@ -48,8 +48,8 @@
 # built documents.
 #
 # The short X.Y version.
-release = "2.0"
-version = "2.0.1"
+release = "2.1"
+version = "2.1.0"
 # The full version, including alpha/beta/rc tags.
 
 # The language for content autogenerated by Sphinx. Refer to documentation
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/tox-2.0.2/doc/config.txt new/tox-2.1.0/doc/config.txt
--- old/tox-2.0.2/doc/config.txt        2015-06-03 13:53:21.000000000 +0200
+++ new/tox-2.1.0/doc/config.txt        2015-06-19 15:26:25.000000000 +0200
@@ -195,14 +195,20 @@
 
    A list of wildcard environment variable names which
    shall be copied from the tox invocation environment to the test
-   environment.  If a specified environment variable doesn't exist in the tox
-   invocation environment it is ignored.  You can use ``*`` and ``?`` to
-   match multiple environment variables with one name.
+   environment when executing test commands.  If a specified environment
+   variable doesn't exist in the tox invocation environment it is ignored.
+   You can use ``*`` and ``?`` to match multiple environment variables with
+   one name.
 
-   Note that the ``PATH`` and ``PIP_INDEX_URL`` variables are unconditionally
-   passed down and on Windows ``SYSTEMROOT``, ``PATHEXT``, ``TEMP`` and ``TMP``
-   will be passed down as well whereas on unix ``TMPDIR`` will be passed down.
-   You can override these variables with the ``setenv`` option.
+   Note that the ``PATH``, ``LANG`` and ``PIP_INDEX_URL`` variables are
+   unconditionally passed down and on Windows ``SYSTEMROOT``, ``PATHEXT``,
+   ``TEMP`` and ``TMP`` will be passed down as well whereas on unix
+   ``TMPDIR`` will be passed down.  You can override these variables
+   with the ``setenv`` option.
+
+   If defined the ``TOX_TESTENV_PASSENV`` environment variable (in the tox
+   invocation environment) can define additional space-separated variable
+   names that are to be passed down to the test command environment.
 
 .. confval:: recreate=True|False(default)
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/tox-2.0.2/setup.py new/tox-2.1.0/setup.py
--- old/tox-2.0.2/setup.py      2015-06-03 13:53:21.000000000 +0200
+++ new/tox-2.1.0/setup.py      2015-06-19 15:26:25.000000000 +0200
@@ -48,7 +48,7 @@
         description='virtualenv-based automation of test activities',
         long_description=open("README.rst").read(),
         url='http://tox.testrun.org/',
-        version='2.0.2',
+        version='2.1.0',
         license='http://opensource.org/licenses/MIT',
         platforms=['unix', 'linux', 'osx', 'cygwin', 'win32'],
         author='holger krekel',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/tox-2.0.2/tests/test_config.py 
new/tox-2.1.0/tests/test_config.py
--- old/tox-2.0.2/tests/test_config.py  2015-06-03 13:53:21.000000000 +0200
+++ new/tox-2.1.0/tests/test_config.py  2015-06-19 15:26:25.000000000 +0200
@@ -696,14 +696,45 @@
         assert envconfig.setenv['ANOTHER_VAL'] == 'else'
 
     @pytest.mark.parametrize("plat", ["win32", "linux2"])
-    def test_passenv(self, tmpdir, newconfig, monkeypatch, plat):
+    def test_passenv_as_multiline_list(self, tmpdir, newconfig, monkeypatch, 
plat):
         monkeypatch.setattr(sys, "platform", plat)
         monkeypatch.setenv("A123A", "a")
         monkeypatch.setenv("A123B", "b")
         monkeypatch.setenv("BX23", "0")
         config = newconfig("""
             [testenv]
-            passenv = A123* B?23
+            passenv =
+                      A123*
+                      # isolated comment
+                      B?23
+        """)
+        assert len(config.envconfigs) == 1
+        envconfig = config.envconfigs['python']
+        if plat == "win32":
+            assert "PATHEXT" in envconfig.passenv
+            assert "SYSTEMDRIVE" in envconfig.passenv
+            assert "SYSTEMROOT" in envconfig.passenv
+            assert "TEMP" in envconfig.passenv
+            assert "TMP" in envconfig.passenv
+        else:
+            assert "TMPDIR" in envconfig.passenv
+        assert "PATH" in envconfig.passenv
+        assert "PIP_INDEX_URL" in envconfig.passenv
+        assert "LANG" in envconfig.passenv
+        assert "A123A" in envconfig.passenv
+        assert "A123B" in envconfig.passenv
+
+    @pytest.mark.parametrize("plat", ["win32", "linux2"])
+    def test_passenv_as_space_separated_list(self, tmpdir, newconfig, 
monkeypatch, plat):
+        monkeypatch.setattr(sys, "platform", plat)
+        monkeypatch.setenv("A123A", "a")
+        monkeypatch.setenv("A123B", "b")
+        monkeypatch.setenv("BX23", "0")
+        config = newconfig("""
+            [testenv]
+            passenv =
+                      # comment
+                      A123*  B?23
         """)
         assert len(config.envconfigs) == 1
         envconfig = config.envconfigs['python']
@@ -724,20 +755,51 @@
     def test_passenv_with_factor(self, tmpdir, newconfig, monkeypatch):
         monkeypatch.setenv("A123A", "a")
         monkeypatch.setenv("A123B", "b")
+        monkeypatch.setenv("A123C", "c")
+        monkeypatch.setenv("A123D", "d")
         monkeypatch.setenv("BX23", "0")
+        monkeypatch.setenv("CCA43", "3")
+        monkeypatch.setenv("CB21", "4")
         config = newconfig("""
             [tox]
             envlist = {x1,x2}
             [testenv]
             passenv =
-                x1: A123A
-                x2: A123B
+                x1: A123A CC*
+                x1: CB21
+                # passed to both environments
+                A123C
+                x2: A123B A123D
         """)
         assert len(config.envconfigs) == 2
+
         assert "A123A" in config.envconfigs["x1"].passenv
+        assert "A123C" in config.envconfigs["x1"].passenv
+        assert "CCA43" in config.envconfigs["x1"].passenv
+        assert "CB21" in config.envconfigs["x1"].passenv
         assert "A123B" not in config.envconfigs["x1"].passenv
+        assert "A123D" not in config.envconfigs["x1"].passenv
+        assert "BX23" not in config.envconfigs["x1"].passenv
+
         assert "A123B" in config.envconfigs["x2"].passenv
+        assert "A123D" in config.envconfigs["x2"].passenv
         assert "A123A" not in config.envconfigs["x2"].passenv
+        assert "A123C" in config.envconfigs["x2"].passenv
+        assert "CCA43" not in config.envconfigs["x2"].passenv
+        assert "CB21" not in config.envconfigs["x2"].passenv
+        assert "BX23" not in config.envconfigs["x2"].passenv
+
+    def test_passenv_from_global_env(self, tmpdir, newconfig, monkeypatch):
+        monkeypatch.setenv("A1", "a1")
+        monkeypatch.setenv("A2", "a2")
+        monkeypatch.setenv("TOX_TESTENV_PASSENV", "A1")
+        config = newconfig("""
+            [testenv]
+            passenv = A2
+        """)
+        env = config.envconfigs["python"]
+        assert "A1" in env.passenv
+        assert "A2" in env.passenv
 
     def test_changedir_override(self, tmpdir, newconfig):
         config = newconfig("""
@@ -1273,6 +1335,17 @@
         assert config.envlist == \
             ["py26-dep1", "py26-dep2", "py27-dep1", "py27-dep2"]
 
+    def test_envlist_multiline(self, newconfig):
+        inisource = """
+            [tox]
+            envlist =
+              py27
+              py34
+        """
+        config = newconfig([], inisource)
+        assert config.envlist == \
+            ["py27", "py34"]
+
     def test_minversion(self, tmpdir, newconfig, monkeypatch):
         inisource = """
             [tox]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/tox-2.0.2/tests/test_venv.py 
new/tox-2.1.0/tests/test_venv.py
--- old/tox-2.0.2/tests/test_venv.py    2015-06-03 13:53:21.000000000 +0200
+++ new/tox-2.1.0/tests/test_venv.py    2015-06-19 15:26:25.000000000 +0200
@@ -510,6 +510,7 @@
 def test_env_variables_added_to_pcall(tmpdir, mocksession, newconfig, 
monkeypatch):
     pkg = tmpdir.ensure("package.tar.gz")
     monkeypatch.setenv("X123", "123")
+    monkeypatch.setenv("YY", "456")
     config = newconfig([], """
         [testenv:python]
         commands=python -V
@@ -533,9 +534,12 @@
         assert env['ENV_VAR'] == 'value'
         assert env['VIRTUAL_ENV'] == str(venv.path)
         assert env['X123'] == "123"
+    # all env variables are passed for installation
+    assert l[0].env["YY"] == "456"
+    assert "YY" not in l[1].env
 
     assert set(["ENV_VAR", "VIRTUAL_ENV", "PYTHONHASHSEED", "X123", "PATH"])\
-        .issubset(env)
+        .issubset(l[1].env)
 
     # for e in os.environ:
     #    assert e in env
@@ -614,49 +618,3 @@
     x4 = venv.getcommandpath("x", cwd=tmpdir)
     assert x4.endswith(os.sep + 'x')
     mocksession.report.expect("warning", "*test command found but not*")
-
-
-def test_sethome_only_on_option(newmocksession, monkeypatch):
-    mocksession = newmocksession([], "")
-    venv = mocksession.getenv('python')
-    action = mocksession.newaction(venv, "qwe", [])
-    monkeypatch.setattr(tox.venv, "hack_home_env", None)
-    venv._install(["x"], action=action)
-
-
-def test_sethome_works_on_option(newmocksession, monkeypatch):
-    mocksession = newmocksession(["--set-home", "-i ALL=http://qwe";], "")
-    venv = mocksession.getenv('python')
-    action = mocksession.newaction(venv, "qwe", [])
-    venv._install(["x"], action=action)
-    _, mocked = mocksession.report.getnext("logpopen")
-    p = mocked.env["HOME"]
-    pydist = py.path.local(p).join(".pydistutils.cfg")
-    assert "http://qwe"; in pydist.read()
-
-
-def test_hack_home_env(tmpdir):
-    from tox.venv import hack_home_env
-    env = hack_home_env(tmpdir, "http://index";)
-    assert env["HOME"] == str(tmpdir)
-    assert env["PIP_INDEX_URL"] == "http://index";
-    assert "index_url = http://index"; in \
-           tmpdir.join(".pydistutils.cfg").read()
-    tmpdir.remove()
-    env = hack_home_env(tmpdir, None)
-    assert env["HOME"] == str(tmpdir)
-    assert not tmpdir.join(".pydistutils.cfg").check()
-    assert "PIP_INDEX_URL" not in env
-
-
-def test_hack_home_env_passthrough(tmpdir, monkeypatch):
-    from tox.venv import hack_home_env
-    env = hack_home_env(tmpdir, "http://index";)
-    monkeypatch.setattr(os, "environ", env)
-
-    tmpdir = tmpdir.mkdir("tmpdir2")
-    env2 = hack_home_env(tmpdir)
-    assert env2["HOME"] == str(tmpdir)
-    assert env2["PIP_INDEX_URL"] == "http://index";
-    assert "index_url = http://index"; in \
-           tmpdir.join(".pydistutils.cfg").read()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/tox-2.0.2/tox/__init__.py 
new/tox-2.1.0/tox/__init__.py
--- old/tox-2.0.2/tox/__init__.py       2015-06-03 13:53:21.000000000 +0200
+++ new/tox-2.1.0/tox/__init__.py       2015-06-19 15:26:25.000000000 +0200
@@ -1,5 +1,5 @@
 #
-__version__ = '2.0.2'
+__version__ = '2.1.0'
 
 from .hookspecs import hookspec, hookimpl  # noqa
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/tox-2.0.2/tox/config.py new/tox-2.1.0/tox/config.py
--- old/tox-2.0.2/tox/config.py 2015-06-03 13:53:21.000000000 +0200
+++ new/tox-2.1.0/tox/config.py 2015-06-19 15:26:25.000000000 +0200
@@ -283,10 +283,6 @@
     parser.add_argument("--develop", action="store_true", dest="develop",
                         help="install package in the venv using 'setup.py 
develop' via "
                              "'pip -e .'")
-    parser.add_argument("--set-home", action="store_true", dest="sethome",
-                        help="(experimental) force creating a new $HOME for 
each test "
-                             "environment and create .pydistutils.cfg|pip.conf 
files "
-                             "if index servers are specified with tox. ")
     parser.add_argument('-i', action="append",
                         dest="indexurl", metavar="URL",
                         help="set indexserver url (if URL is of form name=url 
set the "
@@ -300,10 +296,8 @@
                         help="force recreation of virtual environments")
     parser.add_argument("--result-json", action="store",
                         dest="resultjson", metavar="PATH",
-                        help="write a json file with detailed information 
about "
-                             "all commands and results involved.  This will 
turn off "
-                             "pass-through output from running test commands 
which is "
-                             "instead captured into the json result file.")
+                        help="write a json file with detailed information "
+                        "about all commands and results involved.")
 
     # We choose 1 to 4294967295 because it is the range of PYTHONHASHSEED.
     parser.add_argument("--hashseed", action="store",
@@ -387,8 +381,18 @@
         help="list of X=Y lines with environment variable settings")
 
     def passenv(testenv_config, value):
+        # Flatten the list to deal with space-separated values.
+        value = list(
+            itertools.chain.from_iterable(
+                [x.split(' ') for x in value]))
+
         passenv = set(["PATH", "PIP_INDEX_URL", "LANG"])
 
+        # read in global passenv settings
+        p = os.environ.get("TOX_TESTENV_PASSENV", None)
+        if p is not None:
+            passenv.update(x for x in p.split() if x)
+
         # we ensure that tmp directory settings are passed on
         # we could also set it to the per-venv "envtmpdir"
         # but this leads to very long paths when run with jenkins
@@ -408,9 +412,12 @@
         return passenv
 
     parser.add_testenv_attribute(
-        name="passenv", type="space-separated-list", postprocess=passenv,
-        help="environment variables names which shall be passed "
-             "from tox invocation to test environment when executing 
commands.")
+        name="passenv", type="line-list", postprocess=passenv,
+        help="environment variables needed during executing test commands "
+             "(taken from invocation environment). Note that tox always "
+             "passes through some basic environment variables which are "
+             "needed for basic functioning of the Python system. "
+             "See --showconfig for the eventual passenv setting.")
 
     parser.add_testenv_attribute(
         name="whitelist_externals", type="line-list",
@@ -731,6 +738,8 @@
 def _split_env(env):
     """if handed a list, action="append" was used for -e """
     if not isinstance(env, list):
+        if '\n' in env:
+            env = ','.join(env.split('\n'))
         env = [env]
     return mapcat(_expand_envstr, env)
 
@@ -909,7 +918,7 @@
 
         if envkey not in os.environ and default is None:
             raise tox.exception.ConfigError(
-                "substitution env:%r: unkown environment variable %r" %
+                "substitution env:%r: unknown environment variable %r" %
                 (envkey, envkey))
 
         return os.environ.get(envkey, default)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/tox-2.0.2/tox/session.py new/tox-2.1.0/tox/session.py
--- old/tox-2.0.2/tox/session.py        2015-06-03 13:53:21.000000000 +0200
+++ new/tox-2.1.0/tox/session.py        2015-06-19 15:26:25.000000000 +0200
@@ -46,6 +46,12 @@
     tw = py.io.TerminalWriter()
     tw.write(config._parser._format_help())
     tw.line()
+    tw.line("Environment variables", bold=True)
+    tw.line("TOXENV: comma separated list of environments "
+            "(overridable by '-e')")
+    tw.line("TOX_TESTENV_PASSENV: space-separated list of extra "
+            "environment variables to be passed into test command "
+            "environemnts")
 
 
 def show_help_ini(config):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/tox-2.0.2/tox/venv.py new/tox-2.1.0/tox/venv.py
--- old/tox-2.0.2/tox/venv.py   2015-06-03 13:53:21.000000000 +0200
+++ new/tox-2.1.0/tox/venv.py   2015-06-19 15:26:25.000000000 +0200
@@ -259,9 +259,7 @@
             l.append("--pre")
         return l
 
-    def run_install_command(self, packages, options=(),
-                            indexserver=None, action=None,
-                            extraenv=None):
+    def run_install_command(self, packages, options=(), action=None):
         argv = self.envconfig.install_command[:]
         # use pip-script on win32 to avoid the executable locking
         i = argv.index('{packages}')
@@ -269,18 +267,14 @@
         if '{opts}' in argv:
             i = argv.index('{opts}')
             argv[i:i + 1] = list(options)
+
         for x in ('PIP_RESPECT_VIRTUALENV', 'PIP_REQUIRE_VIRTUALENV',
                   '__PYVENV_LAUNCHER__'):
-            try:
-                del os.environ[x]
-            except KeyError:
-                pass
+            os.environ.pop(x, None)
+
         old_stdout = sys.stdout
         sys.stdout = codecs.getwriter('utf8')(sys.stdout)
-        if extraenv is None:
-            extraenv = {}
-        self._pcall(argv, cwd=self.envconfig.config.toxinidir,
-                    extraenv=extraenv, action=action)
+        self._pcall(argv, cwd=self.envconfig.config.toxinidir, action=action)
         sys.stdout = old_stdout
 
     def _install(self, deps, extraopts=None, action=None):
@@ -302,31 +296,29 @@
             assert ixserver.url is None or isinstance(ixserver.url, str)
 
         for ixserver in l:
-            if self.envconfig.config.option.sethome:
-                extraenv = hack_home_env(
-                    homedir=self.envconfig.envtmpdir.join("pseudo-home"),
-                    index_url=ixserver.url)
-            else:
-                extraenv = {}
-
             packages = d[ixserver]
             options = self._installopts(ixserver.url)
             if extraopts:
                 options.extend(extraopts)
             self.run_install_command(packages=packages, options=options,
-                                     action=action, extraenv=extraenv)
+                                     action=action)
 
-    def _getenv(self, extraenv={}):
-        env = {}
-        for envname in self.envconfig.passenv:
-            if envname in os.environ:
-                env[envname] = os.environ[envname]
+    def _getenv(self, testcommand=False):
+        if testcommand:
+            # for executing tests we construct a clean environment
+            env = {}
+            for envname in self.envconfig.passenv:
+                if envname in os.environ:
+                    env[envname] = os.environ[envname]
+        else:
+            # for executing non-test commands we use the full
+            # invocation environment
+            env = os.environ.copy()
 
+        # in any case we honor per-testenv setenv configuration
         env.update(self.envconfig.setenv)
 
         env['VIRTUAL_ENV'] = str(self.path)
-
-        env.update(extraenv)
         return env
 
     def test(self, redirect=False):
@@ -335,7 +327,7 @@
             self.status = 0
             self.session.make_emptydir(self.envconfig.envtmpdir)
             cwd = self.envconfig.changedir
-            env = self._getenv()
+            env = self._getenv(testcommand=True)
             # Display PYTHONHASHSEED to assist with reproducibility.
             action.setactivity("runtests", "PYTHONHASHSEED=%r" % 
env.get('PYTHONHASHSEED'))
             for i, argv in enumerate(self.envconfig.commands):
@@ -357,7 +349,7 @@
 
                 try:
                     self._pcall(argv, cwd=cwd, action=action, 
redirect=redirect,
-                                ignore_ret=ignore_ret)
+                                ignore_ret=ignore_ret, testcommand=True)
                 except tox.exception.InvocationError as err:
                     self.session.report.error(str(err))
                     self.status = "commands failed"
@@ -368,20 +360,18 @@
                     self.session.report.error(self.status)
                     raise
 
-    def _pcall(self, args, venv=True, cwd=None, extraenv={},
+    def _pcall(self, args, cwd, venv=True, testcommand=False,
                action=None, redirect=True, ignore_ret=False):
         for name in ("VIRTUALENV_PYTHON", "PYTHONDONTWRITEBYTECODE"):
-            try:
-                del os.environ[name]
-            except KeyError:
-                pass
-        assert cwd
+            os.environ.pop(name, None)
+
         cwd.ensure(dir=1)
         old = self.patchPATH()
         try:
             args[0] = self.getcommandpath(args[0], venv, cwd)
-            env = self._getenv(extraenv)
-            return action.popen(args, cwd=cwd, env=env, redirect=redirect, 
ignore_ret=ignore_ret)
+            env = self._getenv(testcommand=testcommand)
+            return action.popen(args, cwd=cwd, env=env,
+                                redirect=redirect, ignore_ret=ignore_ret)
         finally:
             os.environ['PATH'] = old
 
@@ -398,25 +388,3 @@
     if not path.check(file=1):
         return "0" * 32
     return path.computehash()
-
-
-def hack_home_env(homedir, index_url=None):
-    # XXX HACK (this could also live with tox itself, consider)
-    # if tox uses pip on a package that requires setup_requires
-    # the index url set with pip is usually not recognized
-    # because it is setuptools executing very early.
-    # We therefore run the tox command in an artifical home
-    # directory and set .pydistutils.cfg and pip.conf files
-    # accordingly.
-    if not homedir.check():
-        homedir.ensure(dir=1)
-    d = dict(HOME=str(homedir))
-    if not index_url:
-        index_url = os.environ.get("TOX_INDEX_URL")
-    if index_url:
-        homedir.join(".pydistutils.cfg").write(
-            "[easy_install]\n"
-            "index_url = %s\n" % index_url)
-        d["PIP_INDEX_URL"] = index_url
-        d["TOX_INDEX_URL"] = index_url
-    return d
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/tox-2.0.2/tox.egg-info/PKG-INFO 
new/tox-2.1.0/tox.egg-info/PKG-INFO
--- old/tox-2.0.2/tox.egg-info/PKG-INFO 2015-06-03 13:53:21.000000000 +0200
+++ new/tox-2.1.0/tox.egg-info/PKG-INFO 2015-06-19 15:26:25.000000000 +0200
@@ -1,6 +1,6 @@
 Metadata-Version: 1.1
 Name: tox
-Version: 2.0.2
+Version: 2.1.0
 Summary: virtualenv-based automation of test activities
 Home-page: http://tox.testrun.org/
 Author: holger krekel

++++++ tox-disable-env-tests.patch ++++++
--- /var/tmp/diff_new_pack.3xVOWl/_old  2015-06-23 11:59:16.000000000 +0200
+++ /var/tmp/diff_new_pack.3xVOWl/_new  2015-06-23 11:59:16.000000000 +0200
@@ -1,7 +1,8 @@
 diff -ruN a/tests/test_config.py b/tests/test_config.py
 --- a/tests/test_config.py     2014-03-28 15:18:52.000000000 +0100
+
 +++ b/tests/test_config.py     2014-07-04 09:18:56.318789330 +0200
-@@ -1500,82 +1500,6 @@
+@@ -1575,82 +1575,6 @@
          assert config.envconfigs['hello'].recreate
  
  
@@ -87,13 +88,14 @@
 diff -ruN a/tests/test_venv.py b/tests/test_venv.py
 --- a/tests/test_venv.py       2014-03-28 15:18:52.000000000 +0100
 +++ b/tests/test_venv.py       2014-07-04 09:19:23.328881676 +0200
-@@ -507,38 +507,6 @@
+@@ -507,42 +507,6 @@
          assert '__PYVENV_LAUNCHER__' not in os.environ
  
  
 -def test_env_variables_added_to_pcall(tmpdir, mocksession, newconfig, 
monkeypatch):
 -    pkg = tmpdir.ensure("package.tar.gz")
 -    monkeypatch.setenv("X123", "123")
+-    monkeypatch.setenv("YY", "456")
 -    config = newconfig([], """
 -        [testenv:python]
 -        commands=python -V
@@ -117,9 +119,12 @@
 -        assert env['ENV_VAR'] == 'value'
 -        assert env['VIRTUAL_ENV'] == str(venv.path)
 -        assert env['X123'] == "123"
+-    # all env variables are passed for installation
+-    assert l[0].env["YY"] == "456"
+-    assert "YY" not in l[1].env
 -
 -    assert set(["ENV_VAR", "VIRTUAL_ENV", "PYTHONHASHSEED", "X123", "PATH"])\
--        .issubset(env)
+-        .issubset(l[1].env)
 -
 -    # for e in os.environ:
 -    #    assert e in env


Reply via email to