diff --git a/python-tox.changes b/python-tox.changes index 997d50f..a35ad4f 100644 --- a/python-tox.changes +++ b/python-tox.changes @@ -1,3 +1,16 @@ +------------------------------------------------------------------- +Thu Jul 3 11:13:09 UTC 2014 - speilicke@suse.com + +- Update to version 1.7.1: + - fix issue162: don't list python 2.5 as compatibiliy/supported + - fix issue158 and fix issue155: windows/virtualenv properly works now: + call virtualenv through "python -m virtualenv" with the same + interpreter which invoked tox. Thanks Chris Withers, Ionel Maries Cristian. +- Add tox-disable-env-tests.patch: Disable tests that need network-access + and that depend on /usr/bin/tox (which is only added via u-a in %post) +- Remove tox-disable-network-accessing-tests.patch: Obsoleted by the above patch +- Implement update-alternatives to allow parallel installation with python3-tox + ------------------------------------------------------------------- Thu Sep 19 12:27:49 UTC 2013 - speilicke@suse.com diff --git a/python-tox.spec b/python-tox.spec index 8cf2414..9447fe9 100644 --- a/python-tox.spec +++ b/python-tox.spec @@ -1,7 +1,7 @@ # # spec file for package python-tox # -# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,29 +17,32 @@ Name: python-tox -Version: 1.6.1 +Version: 1.7.1 Release: 0 Summary: Virtualenv-based automation of test activities License: MIT Group: Development/Languages/Python Url: http://codespeak.net/tox Source: http://pypi.python.org/packages/source/t/tox/tox-%{version}.tar.gz -Patch0: tox-disable-network-accessing-tests.patch +# PATCH-FIX-OPENSUSE speilicke@suse.com -- Due to update-alternative usage, some bianries aren't available at build-time +Patch0: tox-disable-env-tests.patch BuildRequires: python-devel # Documentation requirements: BuildRequires: python-Sphinx # Test requirements: -BuildRequires: python-argparse -BuildRequires: python-py >= 1.4.9 +BuildRequires: python-pip +BuildRequires: python-py >= 1.4.17 BuildRequires: python-pytest >= 2.3.5 -BuildRequires: python-virtualenv +BuildRequires: python-virtualenv >= 1.11.2 BuildRequires: unzip -Requires: python-argparse -Requires: python-py -Requires: python-virtualenv +Requires: python-py >= 1.4.17 +Requires: python-virtualenv >= 1.11.2 +Requires(post): update-alternatives +Requires(postun): update-alternatives BuildRoot: %{_tmppath}/%{name}-%{version}-build %if 0%{?suse_version} && 0%{?suse_version} <= 1110 %{!?python_sitelib: %global python_sitelib %(python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")} +BuildRequires: python-argparse Requires: python-argparse %else BuildArch: noarch @@ -63,6 +66,8 @@ use for: %setup -q -n tox-%{version} %patch0 -p1 sed -i -e "/^\\[testenv\\]/ a\\sitepackages = True" tox.ini +sed -i -e "s/tox=tox:cmdline/tox-%{py_ver}=tox:cmdline/" \ + -e "s/tox-quickstart=tox._quickstart:main/tox-quickstart-%{py_ver}=tox._quickstart:main/" setup.py %build python setup.py build @@ -70,14 +75,35 @@ cd doc && make html && rm -r _build/html/.buildinfo # Generate HTML documentatio %install python setup.py install --prefix=%{_prefix} --root=%{buildroot} +mkdir -p %{buildroot}%{_sysconfdir}/alternatives +for B in tox tox-quickstart ; do + touch %{buildroot}%{_sysconfdir}/alternatives/$B + ln -sf %{_sysconfdir}/alternatives/$B %{buildroot}/%{_bindir}/$B +done %check -PATH=%{buildroot}%{_bindir}:$PATH PYTHONPATH=%{buildroot}%{python_sitelib}/ python setup.py test +PATH=%{buildroot}%{_bindir}:$PATH PYTHONPATH=%{buildroot}%{python_sitelib}/ py.test + +%post +update-alternatives \ + --install %{_bindir}/tox tox %{_bindir}/tox-%{py_ver} 20 \ + --slave %{_bindir}/tox-quickstart tox-quickstart %{_bindir}/tox-quickstart-%{py_ver} + +%postun +if [ $1 -eq 0 ] ; then + update-alternatives --remove tox %{_bindir}/tox-%{py_ver} +fi %files %defattr(-,root,root,-) %doc LICENSE README.rst doc/_build/html -%{_bindir}/* -%{python_sitelib}/* +%{_bindir}/tox +%{_bindir}/tox-%{py_ver} +%ghost %{_sysconfdir}/alternatives/tox +%{_bindir}/tox-quickstart +%{_bindir}/tox-quickstart-%{py_ver} +%ghost %{_sysconfdir}/alternatives/tox-quickstart +%{python_sitelib}/tox-%{version}-py%{py_ver}.egg-info +%{python_sitelib}/tox %changelog diff --git a/tox-1.6.1.tar.gz b/tox-1.6.1.tar.gz deleted file mode 100644 index 58448ee..0000000 --- a/tox-1.6.1.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:05c72b3b7481b47f48f63436c7355783dc8be77ffd7c2bc948b0b7aa2dd4d0de -size 131654 diff --git a/tox-1.7.1.tar.gz b/tox-1.7.1.tar.gz new file mode 100644 index 0000000..fbea811 --- /dev/null +++ b/tox-1.7.1.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:869cb9e07847a9f0238f5a5029f3621504a5a3ec05af6d878e879b354c6851c4 +size 84635 diff --git a/tox-disable-env-tests.patch b/tox-disable-env-tests.patch new file mode 100644 index 0000000..7b0143e --- /dev/null +++ b/tox-disable-env-tests.patch @@ -0,0 +1,749 @@ +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-03 13:05:36.488106890 +0200 +@@ -1101,83 +1101,6 @@ + config = newconfig([], inisource) + assert config.envconfigs['hello'].recreate + +-class TestCmdInvocation: +- def test_help(self, cmd): +- result = cmd.run("tox", "-h") +- assert not result.ret +- result.stdout.fnmatch_lines([ +- "*help*", +- ]) +- +- def test_version(self, cmd): +- result = cmd.run("tox", "--version") +- assert not result.ret +- stdout = result.stdout.str() +- assert tox.__version__ in stdout +- assert "imported from" in stdout +- +- def test_listenvs(self, cmd, initproj): +- initproj('listenvs', filedefs={ +- 'tox.ini': ''' +- [tox] +- envlist=py26,py27,py33,pypy,docs +- +- [testenv:notincluded] +- changedir = whatever +- +- [testenv:docs] +- changedir = docs +- ''', +- }) +- result = cmd.run("tox", "-l") +- result.stdout.fnmatch_lines(""" +- *py26* +- *py27* +- *py33* +- *pypy* +- *docs* +- """) +- +- def test_config_specific_ini(self, tmpdir, cmd): +- ini = tmpdir.ensure("hello.ini") +- result = cmd.run("tox", "-c", ini, "--showconfig") +- assert not result.ret +- result.stdout.fnmatch_lines([ +- "*config-file*hello.ini*", +- ]) +- +- def test_no_tox_ini(self, cmd, initproj): +- initproj("noini-0.5", ) +- result = cmd.run("tox") +- assert result.ret +- result.stderr.fnmatch_lines([ +- "*ERROR*tox.ini*not*found*", +- ]) +- +- def test_showconfig_with_force_dep_version(self, cmd, initproj): +- initproj('force_dep_version', filedefs={ +- 'tox.ini': ''' +- [tox] +- +- [testenv] +- deps= +- dep1==2.3 +- dep2 +- ''', +- }) +- result = cmd.run("tox", "--showconfig") +- assert result.ret == 0 +- result.stdout.fnmatch_lines([ +- 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*', +- ]) +- + class TestArgumentParser: + + def test_dash_e_single_1(self): +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,658 +0,0 @@ +-import tox +-import py +-import pytest +-import sys +-from tox._pytestplugin import ReportExpectMock +-try: +- import json +-except ImportError: +- import simplejson as json +- +-pytest_plugins = "pytester" +- +-from tox._cmdline 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 = 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)') +- distshare.ensure(dir=1) +- py.test.raises(tox.exception.MissingDependency, +- 'mocksession._resolve_pkg(spec)') +- distshare.ensure("pkg123-1.3.5.zip") +- p = distshare.ensure("pkg123-1.4.5.zip") +- +- mocksession.report.clear() +- result = mocksession._resolve_pkg(spec) +- assert result == p +- mocksession.report.expect("info", "determin*pkg123*") +- distshare.ensure("pkg123-1.4.7dev.zip") +- mocksession._clearmocks() +- result = mocksession._resolve_pkg(spec) +- mocksession.report.expect("warning", "*1.4.7*") +- assert result == p +- mocksession._clearmocks() +- distshare.ensure("pkg123-1.4.5a1.tar.gz") +- 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") +- res = mocksession._resolve_pkg(distshare.join("pkg-mine*")) +- assert res == p +- distshare.ensure("pkg-mine-1.3.0a1.zip") +- res = mocksession._resolve_pkg(distshare.join("pkg-mine*")) +- assert res == p +- +- +- +-class TestSession: +- def test_make_sdist(self, initproj): +- initproj("example123-0.5", filedefs={ +- 'tests': {'test_hello.py': "def test_hello(): pass"}, +- 'tox.ini': ''' +- ''' +- }) +- config = parseconfig([]) +- session = Session(config) +- sdist = session.sdist() +- assert sdist.check() +- assert sdist.ext == ".zip" +- assert sdist == config.distdir.join(sdist.basename) +- sdist2 = session.sdist() +- assert sdist2 == sdist +- sdist.write("hello") +- assert sdist.stat().size < 10 +- sdist_new = Session(config).sdist() +- assert sdist_new == sdist +- assert sdist_new.stat().size > 10 +- +- def test_make_sdist_distshare(self, tmpdir, initproj): +- distshare = tmpdir.join("distshare") +- initproj("example123-0.6", filedefs={ +- 'tests': {'test_hello.py': "def test_hello(): pass"}, +- 'tox.ini': ''' +- [tox] +- distshare=%s +- ''' % distshare +- }) +- config = parseconfig([]) +- session = Session(config) +- sdist = session.sdist() +- assert sdist.check() +- assert sdist.ext == ".zip" +- assert sdist == config.distdir.join(sdist.basename) +- sdist_share = config.distshare.join(sdist.basename) +- assert sdist_share.check() +- assert sdist_share.read("rb") == sdist.read("rb"), (sdist_share, sdist) +- +- def test_log_pcall(self, mocksession): +- mocksession.config.logdir.ensure(dir=1) +- assert not mocksession.config.logdir.listdir() +- action = mocksession.newaction(None, "something") +- action.popen(["echo", ]) +- match = mocksession.report.getnext("logpopen") +- assert match[1].outpath.relto(mocksession.config.logdir) +- assert match[1].shell == False +- +- def test_summary_status(self, initproj, capfd): +- initproj("logexample123-0.5", filedefs={ +- 'tests': {'test_hello.py': "def test_hello(): pass"}, +- 'tox.ini': ''' +- [testenv:hello] +- [testenv:world] +- ''' +- }) +- config = parseconfig([]) +- session = Session(config) +- envlist = ['hello', 'world'] +- envs = session.venvlist +- assert len(envs) == 2 +- env1, env2 = envs +- env1.status = "FAIL XYZ" +- assert env1.status +- env2.status = 0 +- assert not env2.status +- session._summary() +- out, err = capfd.readouterr() +- exp = "%s: FAIL XYZ" % env1.envconfig.envname +- assert exp in out +- exp = "%s: commands succeeded" % env2.envconfig.envname +- assert exp in out +- +- def test_getvenv(self, initproj, capfd): +- initproj("logexample123-0.5", filedefs={ +- 'tests': {'test_hello.py': "def test_hello(): pass"}, +- 'tox.ini': ''' +- [testenv:hello] +- [testenv:world] +- ''' +- }) +- config = parseconfig([]) +- session = Session(config) +- venv1 = session.getvenv("hello") +- venv2 = session.getvenv("hello") +- assert venv1 is venv2 +- venv1 = session.getvenv("world") +- venv2 = session.getvenv("world") +- assert venv1 is venv2 +- pytest.raises(LookupError, lambda: session.getvenv("qwe")) +- +- +-# not sure we want this option ATM +-def XXX_test_package(cmd, initproj): +- initproj("myproj-0.6", filedefs={ +- 'tests': {'test_hello.py': "def test_hello(): pass"}, +- 'MANIFEST.in': """ +- include doc +- include myproj +- """, +- 'tox.ini': '' +- }) +- result = cmd.run("tox", "package") +- assert not result.ret +- result.stdout.fnmatch_lines([ +- "*created sdist package at*", +- ]) +- +-def test_minversion(cmd, initproj): +- initproj("interp123-0.5", filedefs={ +- 'tests': {'test_hello.py': "def test_hello(): pass"}, +- 'tox.ini': ''' +- [tox] +- minversion = 6.0 +- ''' +- }) +- result = cmd.run("tox", "-v") +- result.stdout.fnmatch_lines([ +- "*ERROR*tox version is * required is at least 6.0*" +- ]) +- assert result.ret +- +-def test_unknown_interpreter_and_env(cmd, initproj): +- initproj("interp123-0.5", filedefs={ +- 'tests': {'test_hello.py': "def test_hello(): pass"}, +- 'tox.ini': ''' +- [testenv:python] +- basepython=xyz_unknown_interpreter +- [testenv] +- changedir=tests +- ''' +- }) +- result = cmd.run("tox") +- assert result.ret +- result.stdout.fnmatch_lines([ +- "*ERROR*InterpreterNotFound*xyz_unknown_interpreter*", +- ]) +- +- result = cmd.run("tox", "-exyz") +- assert result.ret +- result.stdout.fnmatch_lines([ +- "*ERROR*unknown*", +- ]) +- +-def test_unknown_interpreter(cmd, initproj): +- initproj("interp123-0.5", filedefs={ +- 'tests': {'test_hello.py': "def test_hello(): pass"}, +- 'tox.ini': ''' +- [testenv:python] +- basepython=xyz_unknown_interpreter +- [testenv] +- changedir=tests +- ''' +- }) +- result = cmd.run("tox") +- assert result.ret +- result.stdout.fnmatch_lines([ +- "*ERROR*InterpreterNotFound*xyz_unknown_interpreter*", +- ]) +- +-def test_unknown_dep(cmd, initproj): +- initproj("dep123-0.7", filedefs={ +- 'tests': {'test_hello.py': "def test_hello(): pass"}, +- 'tox.ini': ''' +- [testenv] +- deps=qweqwe123 +- changedir=tests +- ''' +- }) +- result = cmd.run("tox", ) +- assert result.ret +- result.stdout.fnmatch_lines([ +- "*ERROR*could not install*qweqwe123*", +- ]) +- +-def test_unknown_environment(cmd, initproj): +- initproj("env123-0.7", filedefs={ +- 'tox.ini': '' +- }) +- result = cmd.run("tox", "-e", "qpwoei") +- assert result.ret +- result.stdout.fnmatch_lines([ +- "*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 +- [testenv] +- commands=python -c "print('done')" +- ''' +- }) +- 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': '' +- +- }) +- result = cmd.run("tox", ) +- assert result.ret == 1 +- result.stdout.fnmatch_lines([ +- "*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': '' +- +- }) +- result = cmd.run("tox", ) +- assert result.ret == 1 +- result.stdout.fnmatch_lines([ +- "*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': '' +- +- }) +- result = cmd.run("tox", ) +- assert result.ret == 1 +- result.stdout.fnmatch_lines([ +- "*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", ) +- assert result.ret +- result.stdout.fnmatch_lines([ +- "*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"}, +- 'setup.py': """ +- from setuptools import setup +- setup( +- name='pkg123', +- description='pkg123 project', +- version='0.7', +- license='MIT', +- platforms=['unix', 'win32'], +- packages=['pkg123',], +- install_requires=['qweqwe123'], +- ) +- """ +- , +- 'tox.ini': '', +- }) +- result = cmd.run("tox", ) +- assert result.ret +- result.stdout.fnmatch_lines([ +- "*InvocationError*", +- ]) +- +- +- +-class TestToxRun: +- @pytest.fixture +- def example123(self, initproj): +- initproj("example123-0.5", filedefs={ +- 'tests': {'test_hello.py': """ +- def test_hello(pytestconfig): +- pass +- """, +- }, +- 'tox.ini': ''' +- [testenv] +- changedir=tests +- commands= py.test --basetemp={envtmpdir} \ +- --junitxml=junit-{envname}.xml +- deps=pytest +- ''' +- }) +- +- def test_toxuone_env(self, cmd, example123): +- result = cmd.run("tox") +- assert not result.ret +- result.stdout.fnmatch_lines([ +- "*junit-python.xml*", +- "*1 passed*", +- ]) +- result = cmd.run("tox", "-epython", ) +- assert not result.ret +- result.stdout.fnmatch_lines([ +- "*1 passed*", +- "*summary*", +- "*python: commands succeeded" +- ]) +- +- def test_different_config_cwd(self, cmd, example123, monkeypatch): +- # see that things work with a different CWD +- monkeypatch.chdir(cmd.tmpdir) +- result = cmd.run("tox", "-c", "example123/tox.ini") +- assert not result.ret +- result.stdout.fnmatch_lines([ +- "*1 passed*", +- "*summary*", +- "*python: commands succeeded" +- ]) +- +- def test_json(self, cmd, example123): +- # see that tests can also fail and retcode is correct +- testfile = py.path.local("tests").join("test_hello.py") +- assert testfile.check() +- testfile.write("def test_fail(): assert 0") +- jsonpath = cmd.tmpdir.join("res.json") +- result = cmd.run("tox", "--result-json", jsonpath) +- assert result.ret == 1 +- data = json.load(jsonpath.open("r")) +- verify_json_report_format(data) +- result.stdout.fnmatch_lines([ +- "*1 failed*", +- "*summary*", +- "*python: *failed*", +- ]) +- +- +-def test_develop(initproj, cmd): +- initproj("example123", filedefs={'tox.ini': """ +- """}) +- 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': """ +- [testenv] +- usedevelop=True +- """}) +- result = cmd.run("tox", "-vv") +- 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] +- usedevelop=True +- [testenv:nondev] +- usedevelop=False +- """}) +- +- # running only 'devenv' should not do sdist +- result = cmd.run("tox", "-vv", "-e", "devenv") +- assert not result.ret +- assert "sdist-make" not in result.stdout.str() +- +- # running all envs should do sdist +- result = cmd.run("tox", "-vv") +- 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 +- """, +- }, +- 'tox.ini': ''' +- [testenv] +- usedevelop=True +- changedir=tests +- commands= +- py.test --basetemp={envtmpdir} --junitxml=junit-{envname}.xml [] +- deps=pytest +- ''' +- }) +- result = cmd.run("tox", "-v") +- assert not result.ret +- result.stdout.fnmatch_lines([ +- "*junit-python.xml*", +- "*1 passed*", +- ]) +- assert "sdist-make" not in result.stdout.str() +- result = cmd.run("tox", "-epython", ) +- assert not result.ret +- result.stdout.fnmatch_lines([ +- "*1 passed*", +- "*summary*", +- "*python: commands succeeded" +- ]) +- # see that things work with a different CWD +- old = cmd.tmpdir.chdir() +- result = cmd.run("tox", "-c", "example123/tox.ini") +- assert not result.ret +- result.stdout.fnmatch_lines([ +- "*1 passed*", +- "*summary*", +- "*python: commands succeeded" +- ]) +- old.chdir() +- # see that tests can also fail and retcode is correct +- testfile = py.path.local("tests").join("test_hello.py") +- assert testfile.check() +- testfile.write("def test_fail(): assert 0") +- result = cmd.run("tox", ) +- assert result.ret +- result.stdout.fnmatch_lines([ +- "*1 failed*", +- "*summary*", +- "*python: *failed*", +- ]) +- +- +-def test_test_piphelp(initproj, cmd): +- initproj("example123", filedefs={'tox.ini': """ +- # content of: tox.ini +- [testenv] +- commands=pip -h +- [testenv:py26] +- basepython=python +- [testenv:py27] +- basepython=python +- """}) +- result = cmd.run("tox") +- assert not result.ret +- +-def test_notest(initproj, cmd): +- initproj("example123", filedefs={'tox.ini': """ +- # content of: tox.ini +- [testenv:py26] +- basepython=python +- """}) +- result = cmd.run("tox", "-v", "--notest") +- assert not result.ret +- result.stdout.fnmatch_lines([ +- "*summary*", +- "*py26*skipped tests*", +- ]) +- result = cmd.run("tox", "-v", "--notest", "-epy26") +- assert not result.ret +- result.stdout.fnmatch_lines([ +- "*py26*reusing*", +- ]) +- +-def test_PYC(initproj, cmd, monkeypatch): +- initproj("example123", filedefs={'tox.ini': ''}) +- monkeypatch.setenv("PYTHONDOWNWRITEBYTECODE", 1) +- result = cmd.run("tox", "-v", "--notest") +- assert not result.ret +- result.stdout.fnmatch_lines([ +- "*create*", +- ]) +- +-def test_env_VIRTUALENV_PYTHON(initproj, cmd, monkeypatch): +- initproj("example123", filedefs={'tox.ini': ''}) +- monkeypatch.setenv("VIRTUALENV_PYTHON", '/FOO') +- result = cmd.run("tox", "-v", "--notest") +- assert not result.ret, result.stdout.lines +- result.stdout.fnmatch_lines([ +- "*create*", +- ]) +- +-def test_sdistonly(initproj, cmd): +- initproj("example123", filedefs={'tox.ini': """ +- """}) +- result = cmd.run("tox", "-v", "--sdistonly") +- assert not result.ret +- result.stdout.fnmatch_lines([ +- "*sdist-make*setup.py*", +- ]) +- assert "virtualenv" not in result.stdout.str() +- +-def test_separate_sdist_no_sdistfile(cmd, initproj): +- distshare = cmd.tmpdir.join("distshare") +- initproj("pkg123-0.7", filedefs={ +- 'tox.ini': """ +- [tox] +- distshare=%s +- """ % distshare +- }) +- result = cmd.run("tox", "--sdistonly") +- assert not result.ret +- l = distshare.listdir() +- assert len(l) == 1 +- sdistfile = l[0] +- +-def test_separate_sdist(cmd, initproj): +- distshare = cmd.tmpdir.join("distshare") +- initproj("pkg123-0.7", filedefs={ +- 'tox.ini': """ +- [tox] +- distshare=%s +- sdistsrc={distshare}/pkg123-0.7.zip +- """ % distshare +- }) +- result = cmd.run("tox", "--sdistonly") +- assert not result.ret +- l = distshare.listdir() +- assert len(l) == 1 +- sdistfile = l[0] +- result = cmd.run("tox", "-v", "--notest") +- assert not result.ret +- result.stdout.fnmatch_lines([ +- "*inst*%s*" % sdistfile, +- ]) +- +- +-def test_sdist_latest(tmpdir, newconfig): +- distshare = tmpdir.join("distshare") +- config = newconfig([], """ +- [tox] +- distshare=%s +- sdistsrc={distshare}/pkg123-* +- """ % distshare) +- p0 = distshare.ensure("pkg123-1.3.5.zip") +- p = distshare.ensure("pkg123-1.4.5.zip") +- distshare.ensure("pkg123-1.4.5a1.zip") +- session = Session(config) +- sdist_path = session.sdist() +- 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() +- 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): +- initproj("pkg512-0.0.5", filedefs={ +- 'tox.ini': """ +- [testenv] +- commands= +- python -c "print(r'X:{envsitepackagesdir}')" +- """}) +- result = cmd.run("tox") +- assert result.ret == 0 +- result.stdout.fnmatch_lines(""" +- X:*tox*site-packages* +- """) +- +-def verify_json_report_format(data, testenvs=True): +- assert data["reportversion"] == "1" +- assert data["toxversion"] == tox.__version__ +- if testenvs: +- for envname, envdata in data["testenvs"].items(): +- for commandtype in ("setup", "test"): +- if commandtype not in envdata: +- continue +- 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"] +- diff --git a/tox-disable-network-accessing-tests.patch b/tox-disable-network-accessing-tests.patch deleted file mode 100644 index f1e47db..0000000 --- a/tox-disable-network-accessing-tests.patch +++ /dev/null @@ -1,226 +0,0 @@ -Binary files a/tests/.test_config.py.swp and b/tests/.test_config.py.swp differ -diff -ruN a/tests/test_z_cmdline.py b/tests/test_z_cmdline.py ---- a/tests/test_z_cmdline.py 2013-09-04 15:55:04.000000000 +0200 -+++ b/tests/test_z_cmdline.py 2013-09-05 10:12:19.605599163 +0200 -@@ -380,47 +380,47 @@ - ''' - }) - -- def test_toxuone_env(self, cmd, example123): -- result = cmd.run("tox") -- assert not result.ret -- result.stdout.fnmatch_lines([ -- "*junit-python.xml*", -- "*1 passed*", -- ]) -- result = cmd.run("tox", "-epython", ) -- assert not result.ret -- result.stdout.fnmatch_lines([ -- "*1 passed*", -- "*summary*", -- "*python: commands succeeded" -- ]) -- -- def test_different_config_cwd(self, cmd, example123, monkeypatch): -- # see that things work with a different CWD -- monkeypatch.chdir(cmd.tmpdir) -- result = cmd.run("tox", "-c", "example123/tox.ini") -- assert not result.ret -- result.stdout.fnmatch_lines([ -- "*1 passed*", -- "*summary*", -- "*python: commands succeeded" -- ]) -- -- def test_json(self, cmd, example123): -- # see that tests can also fail and retcode is correct -- testfile = py.path.local("tests").join("test_hello.py") -- assert testfile.check() -- testfile.write("def test_fail(): assert 0") -- jsonpath = cmd.tmpdir.join("res.json") -- result = cmd.run("tox", "--result-json", jsonpath) -- assert result.ret == 1 -- data = json.load(jsonpath.open("r")) -- verify_json_report_format(data) -- result.stdout.fnmatch_lines([ -- "*1 failed*", -- "*summary*", -- "*python: *failed*", -- ]) -+#def test_toxuone_env(self, cmd, example123): -+# result = cmd.run("tox") -+# assert not result.ret -+# result.stdout.fnmatch_lines([ -+# "*junit-python.xml*", -+# "*1 passed*", -+# ]) -+# result = cmd.run("tox", "-epython", ) -+# assert not result.ret -+# result.stdout.fnmatch_lines([ -+# "*1 passed*", -+# "*summary*", -+# "*python: commands succeeded" -+# ]) -+ -+#def test_different_config_cwd(self, cmd, example123, monkeypatch): -+# # see that things work with a different CWD -+# monkeypatch.chdir(cmd.tmpdir) -+# result = cmd.run("tox", "-c", "example123/tox.ini") -+# assert not result.ret -+# result.stdout.fnmatch_lines([ -+# "*1 passed*", -+# "*summary*", -+# "*python: commands succeeded" -+# ]) -+ -+#def test_json(self, cmd, example123): -+# # see that tests can also fail and retcode is correct -+# testfile = py.path.local("tests").join("test_hello.py") -+# assert testfile.check() -+# testfile.write("def test_fail(): assert 0") -+# jsonpath = cmd.tmpdir.join("res.json") -+# result = cmd.run("tox", "--result-json", jsonpath) -+# assert result.ret == 1 -+# data = json.load(jsonpath.open("r")) -+# verify_json_report_format(data) -+# result.stdout.fnmatch_lines([ -+# "*1 failed*", -+# "*summary*", -+# "*python: *failed*", -+# ]) - - - def test_develop(initproj, cmd): -@@ -430,14 +430,14 @@ - assert not result.ret - assert "sdist-make" not in result.stdout.str() - --def test_usedevelop(initproj, cmd): -- initproj("example123", filedefs={'tox.ini': """ -- [testenv] -- usedevelop=True -- """}) -- result = cmd.run("tox", "-vv") -- assert not result.ret -- assert "sdist-make" not in result.stdout.str() -+# def test_usedevelop(initproj, cmd): -+# initproj("example123", filedefs={'tox.ini': """ -+# [testenv] -+# usedevelop=True -+# """}) -+# result = cmd.run("tox", "-vv") -+# assert not result.ret -+# assert "sdist-make" not in result.stdout.str() - - def test_usedevelop_mixed(initproj, cmd): - initproj("example123", filedefs={'tox.ini': """ -@@ -457,57 +457,57 @@ - 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 -- """, -- }, -- 'tox.ini': ''' -- [testenv] -- usedevelop=True -- changedir=tests -- commands= -- py.test --basetemp={envtmpdir} --junitxml=junit-{envname}.xml [] -- deps=pytest -- ''' -- }) -- result = cmd.run("tox", "-v") -- assert not result.ret -- result.stdout.fnmatch_lines([ -- "*junit-python.xml*", -- "*1 passed*", -- ]) -- assert "sdist-make" not in result.stdout.str() -- result = cmd.run("tox", "-epython", ) -- assert not result.ret -- result.stdout.fnmatch_lines([ -- "*1 passed*", -- "*summary*", -- "*python: commands succeeded" -- ]) -- # see that things work with a different CWD -- old = cmd.tmpdir.chdir() -- result = cmd.run("tox", "-c", "example123/tox.ini") -- assert not result.ret -- result.stdout.fnmatch_lines([ -- "*1 passed*", -- "*summary*", -- "*python: commands succeeded" -- ]) -- old.chdir() -- # see that tests can also fail and retcode is correct -- testfile = py.path.local("tests").join("test_hello.py") -- assert testfile.check() -- testfile.write("def test_fail(): assert 0") -- result = cmd.run("tox", ) -- assert result.ret -- result.stdout.fnmatch_lines([ -- "*1 failed*", -- "*summary*", -- "*python: *failed*", -- ]) -+#def test_test_usedevelop(cmd, initproj): -+# initproj("example123-0.5", filedefs={ -+# 'tests': {'test_hello.py': """ -+# def test_hello(pytestconfig): -+# pass -+# """, -+# }, -+# 'tox.ini': ''' -+# [testenv] -+# usedevelop=True -+# changedir=tests -+# commands= -+# py.test --basetemp={envtmpdir} --junitxml=junit-{envname}.xml [] -+# deps=pytest -+# ''' -+# }) -+# result = cmd.run("tox", "-v") -+# assert not result.ret -+# result.stdout.fnmatch_lines([ -+# "*junit-python.xml*", -+# "*1 passed*", -+# ]) -+# assert "sdist-make" not in result.stdout.str() -+# result = cmd.run("tox", "-epython", ) -+# assert not result.ret -+# result.stdout.fnmatch_lines([ -+# "*1 passed*", -+# "*summary*", -+# "*python: commands succeeded" -+# ]) -+# # see that things work with a different CWD -+# old = cmd.tmpdir.chdir() -+# result = cmd.run("tox", "-c", "example123/tox.ini") -+# assert not result.ret -+# result.stdout.fnmatch_lines([ -+# "*1 passed*", -+# "*summary*", -+# "*python: commands succeeded" -+# ]) -+# old.chdir() -+# # see that tests can also fail and retcode is correct -+# testfile = py.path.local("tests").join("test_hello.py") -+# assert testfile.check() -+# testfile.write("def test_fail(): assert 0") -+# result = cmd.run("tox", ) -+# assert result.ret -+# result.stdout.fnmatch_lines([ -+# "*1 failed*", -+# "*summary*", -+# "*python: *failed*", -+# ]) - - - def test_test_piphelp(initproj, cmd): -Binary files a/tests/.test_z_cmdline.py.swp and b/tests/.test_z_cmdline.py.swp differ