Hello community, here is the log from the commit of package python3-tox for openSUSE:Factory checked in at 2015-05-29 10:39:20 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 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-03-27 09:41:10.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.python3-tox.new/python3-tox.changes 2015-05-29 10:39:21.000000000 +0200 @@ -1,0 +2,59 @@ +Sun May 24 19:21:06 UTC 2015 - a...@gmx.de + +- specfile: + * added pluggy requirement + * updated patch file + +- update to version 2.0.1: + * fix wheel packaging to properly require argparse on py26. + +- changes from version 2.0.0: + * (new) introduce environment variable isolation: + tox now only passes the PATH and PIP_INDEX_URL variable from the + tox invocation environment to the test environment and on Windows + also "SYSTEMROOT", "PATHEXT", "TEMP" and "TMP" whereas on + unix additionally "TMPDIR" is passed. If you need to pass + through further environment variables you can use the new + "passenv" setting, a space-separated list of environment + variable names. Each name can make use of fnmatch-style glob + patterns. All environment variables which exist in the + tox-invocation environment will be copied to the test environment. + * a new "--help-ini" option shows all possible testenv settings and + their defaults. + * (new) introduce a way to specify on which platform a + testenvironment is to execute: the new per-venv "platform" setting + allows to specify a regular expression which is matched against + sys.platform. If platform is set and doesn't match the platform + spec in the test environment the test environment is ignored, no + setup or tests are attempted. + * (new) add per-venv "ignore_errors" setting, which defaults to + False. If "True", a non-zero exit code from one command will be + ignored and further commands will be executed (which was the + default behavior in tox < 2.0). If "False" (the default), then a + non-zero exit code from one command will abort execution of + commands for that environment. + * show and store in json the version dependency information for each + venv + * remove the long-deprecated "distribute" option as it has no effect + these days. + * fix issue233: avoid hanging with tox-setuptools integration + example. Thanks simonb. + * fix issue120: allow substitution for the commands section. Thanks + Volodymyr Vitvitski. + * fix issue235: fix AttributeError with --installpkg. Thanks + Volodymyr Vitvitski. + * tox has now somewhat pep8 clean code, thanks to Volodymyr + Vitvitski. + * fix issue240: allow to specify empty argument list without it + being rewritten to ".". Thanks Daniel Hahler. + * introduce experimental (not much documented yet) plugin system + based on pytest's externalized "pluggy" system. See + tox/hookspecs.py for the current hooks. + * introduce parser.add_testenv_attribute() to register an + ini-variable for testenv sections. Can be used from plugins + through the tox_add_option hook. + * rename internal files -- tox offers no external API except for the + experimental plugin hooks, use tox internals at your own risk. + * DEPRECATE distshare in documentation + +------------------------------------------------------------------- Old: ---- tox-1.9.2.tar.gz New: ---- tox-2.0.1.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python3-tox.spec ++++++ --- /var/tmp/diff_new_pack.L4qxFm/_old 2015-05-29 10:39:22.000000000 +0200 +++ /var/tmp/diff_new_pack.L4qxFm/_new 2015-05-29 10:39:22.000000000 +0200 @@ -17,7 +17,7 @@ Name: python3-tox -Version: 1.9.2 +Version: 2.0.1 Release: 0 Summary: Virtualenv-based automation of test activities License: MIT @@ -31,9 +31,11 @@ # Documentation requirements: BuildRequires: python3-Sphinx # Test requirements: +BuildRequires: python3-pluggy BuildRequires: python3-py >= 1.4.17 BuildRequires: python3-pytest >= 2.3.5 BuildRequires: python3-virtualenv >= 1.11.2 +Requires: python3-pluggy Requires: python3-py >= 1.4.17 Requires: python3-virtualenv >= 1.11.2 Requires(post): update-alternatives ++++++ tox-1.9.2.tar.gz -> tox-2.0.1.tar.gz ++++++ ++++ 7930 lines of diff (skipped) ++++++ tox-disable-env-tests.patch ++++++ --- /var/tmp/diff_new_pack.L4qxFm/_old 2015-05-29 10:39:22.000000000 +0200 +++ /var/tmp/diff_new_pack.L4qxFm/_new 2015-05-29 10:39:22.000000000 +0200 @@ -1,10 +1,10 @@ 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 -@@ -1346,83 +1346,6 @@ - config = newconfig([], inisource) +@@ -1500,82 +1500,6 @@ assert config.envconfigs['hello'].recreate + -class TestCmdInvocation: - def test_help(self, cmd): - result = cmd.run("tox", "-h") @@ -72,31 +72,32 @@ - result = cmd.run("tox", "--showconfig") - assert result.ret == 0 - result.stdout.fnmatch_lines([ -- r'*deps=*dep1==2.3, dep2*', +- r'*deps*dep1==2.3, dep2*', - ]) - # override dep1 specific version, and force version for dep2 - result = cmd.run("tox", "--showconfig", "--force-dep=dep1", - "--force-dep=dep2==5.0") - assert result.ret == 0 - result.stdout.fnmatch_lines([ -- r'*deps=*dep1, dep2==5.0*', +- r'*deps*dep1, dep2==5.0*', - ]) -- - class TestArgumentParser: - def test_dash_e_single_1(self): + + @pytest.mark.parametrize("cmdline,envlist", [ 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 -@@ -517,33 +517,6 @@ - assert 'PIP_REQUIRE_VIRTUALENV' not in os.environ +@@ -507,38 +507,6 @@ assert '__PYVENV_LAUNCHER__' not in os.environ --def test_setenv_added_to_pcall(tmpdir, mocksession, newconfig): + +-def test_env_variables_added_to_pcall(tmpdir, mocksession, newconfig, monkeypatch): - pkg = tmpdir.ensure("package.tar.gz") +- monkeypatch.setenv("X123", "123") - config = newconfig([], """ - [testenv:python] - commands=python -V +- passenv = x123 - setenv = - ENV_VAR = value - """) @@ -115,17 +116,20 @@ - assert 'ENV_VAR' in env - assert env['ENV_VAR'] == 'value' - assert env['VIRTUAL_ENV'] == str(venv.path) +- assert env['X123'] == "123" - -- for e in os.environ: -- assert e in env +- assert set(["ENV_VAR", "VIRTUAL_ENV", "PYTHONHASHSEED", "X123", "PATH"])\ +- .issubset(env) - +- # for e in os.environ: +- # assert e in env + + def test_installpkg_no_upgrade(tmpdir, newmocksession): - pkg = tmpdir.ensure("package.tar.gz") - mocksession = newmocksession([], "") diff -ruN a/tests/test_z_cmdline.py b/tests/test_z_cmdline.py --- a/tests/test_z_cmdline.py 2014-03-28 15:18:52.000000000 +0100 +++ b/tests/test_z_cmdline.py 1970-01-01 01:00:00.000000000 +0100 -@@ -1,685 +0,0 @@ +@@ -1,730 +0,0 @@ -import tox -import py -import pytest @@ -137,38 +141,43 @@ - -pytest_plugins = "pytester" - --from tox._cmdline import Session --from tox._config import parseconfig +-from tox.session import Session +-from tox.config import parseconfig +- - -def test_report_protocol(newconfig): - config = newconfig([], """ - [testenv:mypython] - deps=xy - """) +- - class Popen: - def __init__(self, *args, **kwargs): - pass +- - def communicate(self): - return "", "" +- - def wait(self): - pass - - session = Session(config, popen=Popen, -- Report=ReportExpectMock) +- Report=ReportExpectMock) - report = session.report - report.expect("using") - venv = session.getvenv("mypython") - venv.update() - report.expect("logpopen") - +- -def test__resolve_pkg(tmpdir, mocksession): - distshare = tmpdir.join("distshare") - spec = distshare.join("pkg123-*") - py.test.raises(tox.exception.MissingDirectory, -- 'mocksession._resolve_pkg(spec)') +- 'mocksession._resolve_pkg(spec)') - distshare.ensure(dir=1) - py.test.raises(tox.exception.MissingDependency, -- 'mocksession._resolve_pkg(spec)') +- 'mocksession._resolve_pkg(spec)') - distshare.ensure("pkg123-1.3.5.zip") - p = distshare.ensure("pkg123-1.4.5.zip") - @@ -186,6 +195,7 @@ - result = mocksession._resolve_pkg(spec) - assert result == p - +- -def test__resolve_pkg_doubledash(tmpdir, mocksession): - distshare = tmpdir.join("distshare") - p = distshare.ensure("pkg-mine-1.3.0.zip") @@ -196,7 +206,6 @@ - assert res == p - - -- -class TestSession: - def test_make_sdist(self, initproj): - initproj("example123-0.5", filedefs={ @@ -206,15 +215,15 @@ - }) - config = parseconfig([]) - session = Session(config) -- sdist = session.sdist() +- sdist = session.get_installpkg_path() - assert sdist.check() - assert sdist.ext == ".zip" - assert sdist == config.distdir.join(sdist.basename) -- sdist2 = session.sdist() +- sdist2 = session.get_installpkg_path() - assert sdist2 == sdist - sdist.write("hello") - assert sdist.stat().size < 10 -- sdist_new = Session(config).sdist() +- sdist_new = Session(config).get_installpkg_path() - assert sdist_new == sdist - assert sdist_new.stat().size > 10 - @@ -229,7 +238,7 @@ - }) - config = parseconfig([]) - session = Session(config) -- sdist = session.sdist() +- sdist = session.get_installpkg_path() - assert sdist.check() - assert sdist.ext == ".zip" - assert sdist == config.distdir.join(sdist.basename) @@ -244,7 +253,7 @@ - action.popen(["echo", ]) - match = mocksession.report.getnext("logpopen") - assert match[1].outpath.relto(mocksession.config.logdir) -- assert match[1].shell == False +- assert match[1].shell is False - - def test_summary_status(self, initproj, capfd): - initproj("logexample123-0.5", filedefs={ @@ -305,6 +314,7 @@ - "*created sdist package at*", - ]) - +- -def test_minversion(cmd, initproj): - initproj("interp123-0.5", filedefs={ - 'tests': {'test_hello.py': "def test_hello(): pass"}, @@ -319,6 +329,7 @@ - ]) - assert result.ret - +- -def test_run_custom_install_command_error(cmd, initproj): - initproj("interp123-0.5", filedefs={ - 'tox.ini': ''' @@ -332,6 +343,7 @@ - ]) - assert result.ret - +- -def test_unknown_interpreter_and_env(cmd, initproj): - initproj("interp123-0.5", filedefs={ - 'tests': {'test_hello.py': "def test_hello(): pass"}, @@ -354,6 +366,7 @@ - "*ERROR*unknown*", - ]) - +- -def test_unknown_interpreter(cmd, initproj): - initproj("interp123-0.5", filedefs={ - 'tests': {'test_hello.py': "def test_hello(): pass"}, @@ -370,6 +383,26 @@ - "*ERROR*InterpreterNotFound*xyz_unknown_interpreter*", - ]) - +- +-def test_skip_platform_mismatch(cmd, initproj): +- initproj("interp123-0.5", filedefs={ +- 'tests': {'test_hello.py': "def test_hello(): pass"}, +- 'tox.ini': ''' +- [testenv] +- changedir=tests +- platform=x123 +- ''' +- }) +- result = cmd.run("tox") +- assert not result.ret +- assert "platform mismatch" not in result.stdout.str() +- result = cmd.run("tox", "-v") +- assert not result.ret +- result.stdout.fnmatch_lines([ +- "*python*platform mismatch*" +- ]) +- +- -def test_skip_unknown_interpreter(cmd, initproj): - initproj("interp123-0.5", filedefs={ - 'tests': {'test_hello.py': "def test_hello(): pass"}, @@ -386,6 +419,7 @@ - "*SKIPPED*InterpreterNotFound*xyz_unknown_interpreter*", - ]) - +- -def test_unknown_dep(cmd, initproj): - initproj("dep123-0.7", filedefs={ - 'tests': {'test_hello.py': "def test_hello(): pass"}, @@ -401,6 +435,7 @@ - "*ERROR*could not install*qweqwe123*", - ]) - +- -def test_unknown_environment(cmd, initproj): - initproj("env123-0.7", filedefs={ - 'tox.ini': '' @@ -411,13 +446,13 @@ - "*ERROR*unknown*environment*qpwoei*", - ]) - +- -def test_skip_sdist(cmd, initproj): - initproj("pkg123-0.7", filedefs={ - 'tests': {'test_hello.py': "def test_hello(): pass"}, - 'setup.py': """ - syntax error -- """ -- , +- """, - 'tox.ini': ''' - [tox] - skipsdist=True @@ -428,12 +463,12 @@ - result = cmd.run("tox", ) - assert result.ret == 0 - +- -def test_minimal_setup_py_empty(cmd, initproj): - initproj("pkg123-0.7", filedefs={ - 'tests': {'test_hello.py': "def test_hello(): pass"}, - 'setup.py': """ -- """ -- , +- """, - 'tox.ini': '' - - }) @@ -443,13 +478,13 @@ - "*ERROR*empty*", - ]) - +- -def test_minimal_setup_py_comment_only(cmd, initproj): - initproj("pkg123-0.7", filedefs={ - 'tests': {'test_hello.py': "def test_hello(): pass"}, - 'setup.py': """\n# some comment - -- """ -- , +- """, - 'tox.ini': '' - - }) @@ -459,14 +494,14 @@ - "*ERROR*empty*", - ]) - +- -def test_minimal_setup_py_non_functional(cmd, initproj): - initproj("pkg123-0.7", filedefs={ - 'tests': {'test_hello.py': "def test_hello(): pass"}, - 'setup.py': """ - import sys - -- """ -- , +- """, - 'tox.ini': '' - - }) @@ -476,13 +511,13 @@ - "*ERROR*check setup.py*", - ]) - +- -def test_sdist_fails(cmd, initproj): - initproj("pkg123-0.7", filedefs={ - 'tests': {'test_hello.py': "def test_hello(): pass"}, - 'setup.py': """ - syntax error -- """ -- , +- """, - 'tox.ini': '', - }) - result = cmd.run("tox", ) @@ -491,6 +526,7 @@ - "*FAIL*could not package project*", - ]) - +- -def test_package_install_fails(cmd, initproj): - initproj("pkg123-0.7", filedefs={ - 'tests': {'test_hello.py': "def test_hello(): pass"}, @@ -505,8 +541,7 @@ - packages=['pkg123',], - install_requires=['qweqwe123'], - ) -- """ -- , +- """, - 'tox.ini': '', - }) - result = cmd.run("tox", ) @@ -516,14 +551,14 @@ - ]) - - -- -class TestToxRun: - @pytest.fixture - def example123(self, initproj): - initproj("example123-0.5", filedefs={ -- 'tests': {'test_hello.py': """ -- def test_hello(pytestconfig): -- pass +- 'tests': { +- 'test_hello.py': """ +- def test_hello(pytestconfig): +- pass - """, - }, - 'tox.ini': ''' @@ -585,6 +620,7 @@ - assert not result.ret - assert "sdist-make" not in result.stdout.str() - +- -def test_usedevelop(initproj, cmd): - initproj("example123", filedefs={'tox.ini': """ - [testenv] @@ -594,6 +630,7 @@ - assert not result.ret - assert "sdist-make" not in result.stdout.str() - +- -def test_usedevelop_mixed(initproj, cmd): - initproj("example123", filedefs={'tox.ini': """ - [testenv:devenv] @@ -612,11 +649,13 @@ - assert not result.ret - assert "sdist-make" in result.stdout.str() - +- -def test_test_usedevelop(cmd, initproj): - initproj("example123-0.5", filedefs={ -- 'tests': {'test_hello.py': """ -- def test_hello(pytestconfig): -- pass +- 'tests': { +- 'test_hello.py': """ +- def test_hello(pytestconfig): +- pass - """, - }, - 'tox.ini': ''' @@ -678,6 +717,7 @@ - result = cmd.run("tox") - assert not result.ret - +- -def test_notest(initproj, cmd): - initproj("example123", filedefs={'tox.ini': """ - # content of: tox.ini @@ -696,6 +736,7 @@ - "*py26*reusing*", - ]) - +- -def test_PYC(initproj, cmd, monkeypatch): - initproj("example123", filedefs={'tox.ini': ''}) - monkeypatch.setenv("PYTHONDOWNWRITEBYTECODE", 1) @@ -705,6 +746,7 @@ - "*create*", - ]) - +- -def test_env_VIRTUALENV_PYTHON(initproj, cmd, monkeypatch): - initproj("example123", filedefs={'tox.ini': ''}) - monkeypatch.setenv("VIRTUALENV_PYTHON", '/FOO') @@ -714,6 +756,7 @@ - "*create*", - ]) - +- -def test_sdistonly(initproj, cmd): - initproj("example123", filedefs={'tox.ini': """ - """}) @@ -724,6 +767,7 @@ - ]) - assert "-mvirtualenv" not in result.stdout.str() - +- -def test_separate_sdist_no_sdistfile(cmd, initproj): - distshare = cmd.tmpdir.join("distshare") - initproj(("pkg123-foo", "0.7"), filedefs={ @@ -739,6 +783,7 @@ - sdistfile = l[0] - assert 'pkg123-foo-0.7.zip' in str(sdistfile) - +- -def test_separate_sdist(cmd, initproj): - distshare = cmd.tmpdir.join("distshare") - initproj("pkg123-0.7", filedefs={ @@ -770,16 +815,18 @@ - p = distshare.ensure("pkg123-1.4.5.zip") - distshare.ensure("pkg123-1.4.5a1.zip") - session = Session(config) -- sdist_path = session.sdist() +- sdist_path = session.get_installpkg_path() - assert sdist_path == p - +- -def test_installpkg(tmpdir, newconfig): - p = tmpdir.ensure("pkg123-1.0.zip") - config = newconfig(["--installpkg=%s" % p], "") - session = Session(config) -- sdist_path = session.sdist() +- sdist_path = session.get_installpkg_path() - assert sdist_path == p - +- -@pytest.mark.xfail("sys.platform == 'win32' and sys.version_info < (2,6)", - reason="test needs better impl") -def test_envsitepackagesdir(cmd, initproj): @@ -795,6 +842,7 @@ - X:*tox*site-packages* - """) - +- -def verify_json_report_format(data, testenvs=True): - assert data["reportversion"] == "1" - assert data["toxversion"] == tox.__version__ @@ -806,8 +854,9 @@ - for command in envdata[commandtype]: - assert command["output"] - assert command["retcode"] -- pyinfo = envdata["python"] -- assert isinstance(pyinfo["version_info"], list) -- assert pyinfo["version"] -- assert pyinfo["executable"] -- +- if envname != "GLOB": +- assert isinstance(envdata["installed_packages"], list) +- pyinfo = envdata["python"] +- assert isinstance(pyinfo["version_info"], list) +- assert pyinfo["version"] +- assert pyinfo["executable"]