SHA256
1
0
forked from pool/python-tox

Accepting request 331797 from devel:languages:python

1

OBS-URL: https://build.opensuse.org/request/show/331797
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-tox?expand=0&rev=14
This commit is contained in:
Dominique Leuenberger 2015-10-01 07:29:02 +00:00 committed by Git OBS Bridge
commit 19df9c4d69
5 changed files with 173 additions and 53 deletions

View File

@ -1,3 +1,74 @@
-------------------------------------------------------------------
Wed Sep 16 13:18:44 UTC 2015 - rhafer@suse.com
- (Build)Require python-pluggy
- refreshed tox-disable-env-tests.patch
- Update to 2.1.1:
* fix platform skipping for detox
* report skipped platforms as skips in the summary
- additional changes from 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.
- additional changes from version 2.0.2
* fix issue247: tox now passes the LANG variable from the tox invocation
environment to the test environment by default.
* add SYSTEMDRIVE into default passenv on windows to allow pip6 to work.
Thanks Michael Krause.
- additional changes from version 2.0.1
* fix wheel packaging to properly require argparse on py26.
- additional 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
-------------------------------------------------------------------
Sat May 2 18:55:15 UTC 2015 - benoit.monin@gmx.fr

View File

@ -17,7 +17,7 @@
Name: python-tox
Version: 1.9.2
Version: 2.1.1
Release: 0
Summary: Virtualenv-based automation of test activities
License: MIT
@ -31,10 +31,12 @@ BuildRequires: python-devel
BuildRequires: python-Sphinx
# Test requirements:
BuildRequires: python-pip
BuildRequires: python-pluggy >= 0.3.0
BuildRequires: python-py >= 1.4.17
BuildRequires: python-pytest >= 2.3.5
BuildRequires: python-virtualenv >= 1.11.2
BuildRequires: unzip
Requires: python-pluggy >= 0.3.0
Requires: python-py >= 1.4.17
Requires: python-virtualenv >= 1.11.2
Requires(post): update-alternatives

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:3125a15da7381f59f835a25bd259a84acb7a69858c81e386c50027bd842bb91b
size 93029

3
tox-2.1.1.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:a03aa022a1f6f82cc21732af0ed48217a3c16873b98e16be22baa7cea74e1eef
size 102170

View File

@ -1,9 +1,11 @@
--- a/tests/test_config.py
+++ b/tests/test_config.py
@@ -1346,83 +1346,6 @@ class TestParseEnv:
config = newconfig([], inisource)
Index: tox-2.1.1/tests/test_config.py
===================================================================
--- tox-2.1.1.orig/tests/test_config.py
+++ tox-2.1.1/tests/test_config.py
@@ -1575,84 +1575,6 @@ class TestParseEnv:
assert config.envconfigs['hello'].recreate
-class TestCmdInvocation:
- def test_help(self, cmd):
- result = cmd.run("tox", "-h")
@ -71,22 +73,25 @@
- 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):
--- a/tests/test_z_cmdline.py
+++ b/tests/test_z_cmdline.py
@@ -1,685 +0,0 @@
-
@pytest.mark.parametrize("cmdline,envlist", [
("-e py26", ['py26']),
("-e py26,py33", ['py26', 'py33']),
Index: tox-2.1.1/tests/test_z_cmdline.py
===================================================================
--- tox-2.1.1.orig/tests/test_z_cmdline.py
+++ tox-2.1.1/tests/test_z_cmdline.py
@@ -1,727 +0,0 @@
-import tox
-import py
-import pytest
@ -98,19 +103,23 @@
-
-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
-
@ -122,6 +131,7 @@
- venv.update()
- report.expect("logpopen")
-
-
-def test__resolve_pkg(tmpdir, mocksession):
- distshare = tmpdir.join("distshare")
- spec = distshare.join("pkg123-*")
@ -147,6 +157,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")
@ -157,7 +168,6 @@
- assert res == p
-
-
-
-class TestSession:
- def test_make_sdist(self, initproj):
- initproj("example123-0.5", filedefs={
@ -167,15 +177,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
-
@ -190,7 +200,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)
@ -205,7 +215,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={
@ -266,6 +276,7 @@
- "*created sdist package at*",
- ])
-
-
-def test_minversion(cmd, initproj):
- initproj("interp123-0.5", filedefs={
- 'tests': {'test_hello.py': "def test_hello(): pass"},
@ -280,6 +291,7 @@
- ])
- assert result.ret
-
-
-def test_run_custom_install_command_error(cmd, initproj):
- initproj("interp123-0.5", filedefs={
- 'tox.ini': '''
@ -293,6 +305,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"},
@ -315,6 +328,7 @@
- "*ERROR*unknown*",
- ])
-
-
-def test_unknown_interpreter(cmd, initproj):
- initproj("interp123-0.5", filedefs={
- 'tests': {'test_hello.py': "def test_hello(): pass"},
@ -331,6 +345,23 @@
- "*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
- result.stdout.fnmatch_lines("""
- SKIPPED*platform mismatch*
- """)
-
-
-def test_skip_unknown_interpreter(cmd, initproj):
- initproj("interp123-0.5", filedefs={
- 'tests': {'test_hello.py': "def test_hello(): pass"},
@ -347,6 +378,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"},
@ -362,6 +394,7 @@
- "*ERROR*could not install*qweqwe123*",
- ])
-
-
-def test_unknown_environment(cmd, initproj):
- initproj("env123-0.7", filedefs={
- 'tox.ini': ''
@ -372,13 +405,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
@ -389,12 +422,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': ''
-
- })
@ -404,13 +437,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': ''
-
- })
@ -420,14 +453,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': ''
-
- })
@ -437,13 +470,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", )
@ -452,6 +485,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"},
@ -466,8 +500,7 @@
- packages=['pkg123',],
- install_requires=['qweqwe123'],
- )
- """
- ,
- """,
- 'tox.ini': '',
- })
- result = cmd.run("tox", )
@ -477,12 +510,12 @@
- ])
-
-
-
-class TestToxRun:
- @pytest.fixture
- def example123(self, initproj):
- initproj("example123-0.5", filedefs={
- 'tests': {'test_hello.py': """
- 'tests': {
- 'test_hello.py': """
- def test_hello(pytestconfig):
- pass
- """,
@ -546,6 +579,7 @@
- assert not result.ret
- assert "sdist-make" not in result.stdout.str()
-
-
-def test_usedevelop(initproj, cmd):
- initproj("example123", filedefs={'tox.ini': """
- [testenv]
@ -555,6 +589,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]
@ -573,9 +608,11 @@
- 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': """
- 'tests': {
- 'test_hello.py': """
- def test_hello(pytestconfig):
- pass
- """,
@ -639,6 +676,7 @@
- result = cmd.run("tox")
- assert not result.ret
-
-
-def test_notest(initproj, cmd):
- initproj("example123", filedefs={'tox.ini': """
- # content of: tox.ini
@ -657,6 +695,7 @@
- "*py26*reusing*",
- ])
-
-
-def test_PYC(initproj, cmd, monkeypatch):
- initproj("example123", filedefs={'tox.ini': ''})
- monkeypatch.setenv("PYTHONDOWNWRITEBYTECODE", 1)
@ -666,6 +705,7 @@
- "*create*",
- ])
-
-
-def test_env_VIRTUALENV_PYTHON(initproj, cmd, monkeypatch):
- initproj("example123", filedefs={'tox.ini': ''})
- monkeypatch.setenv("VIRTUALENV_PYTHON", '/FOO')
@ -675,6 +715,7 @@
- "*create*",
- ])
-
-
-def test_sdistonly(initproj, cmd):
- initproj("example123", filedefs={'tox.ini': """
- """})
@ -685,6 +726,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={
@ -700,6 +742,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={
@ -731,16 +774,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):
@ -756,6 +801,7 @@
- X:*tox*site-packages*
- """)
-
-
-def verify_json_report_format(data, testenvs=True):
- assert data["reportversion"] == "1"
- assert data["toxversion"] == tox.__version__
@ -767,8 +813,9 @@
- for command in envdata[commandtype]:
- assert command["output"]
- assert command["retcode"]
- if envname != "GLOB":
- assert isinstance(envdata["installed_packages"], list)
- pyinfo = envdata["python"]
- assert isinstance(pyinfo["version_info"], list)
- assert pyinfo["version"]
- assert pyinfo["executable"]
-