forked from pool/python-tox
- 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 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-tox?expand=0&rev=16
This commit is contained in:
parent
df4302e5ea
commit
212b288b0a
@ -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
|
||||
|
||||
|
@ -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} 30 \
|
||||
--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
|
||||
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:05c72b3b7481b47f48f63436c7355783dc8be77ffd7c2bc948b0b7aa2dd4d0de
|
||||
size 131654
|
3
tox-1.7.1.tar.gz
Normal file
3
tox-1.7.1.tar.gz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:869cb9e07847a9f0238f5a5029f3621504a5a3ec05af6d878e879b354c6851c4
|
||||
size 84635
|
749
tox-disable-env-tests.patch
Normal file
749
tox-disable-env-tests.patch
Normal file
@ -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"]
|
||||
-
|
@ -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
|
Loading…
Reference in New Issue
Block a user