[Pytest-commit] commit/pytest: 3 new changesets
commits-noreply at bitbucket.org
commits-noreply at bitbucket.org
Thu Oct 3 18:04:57 CEST 2013
3 new commits in pytest:
https://bitbucket.org/hpk42/pytest/commits/04096e391ef1/
Changeset: 04096e391ef1
User: hpk42
Date: 2013-10-03 16:47:55
Summary: always dupfile if os.dup is available
Affected #: 2 files
diff -r bc620a10f932bc0d961b92f2c0b741e2ae1c8715 -r 04096e391ef16aa7b7b492a2677b4cd0f3e0fc52 _pytest/terminal.py
--- a/_pytest/terminal.py
+++ b/_pytest/terminal.py
@@ -37,7 +37,7 @@
# we try hard to make printing resilient against
# later changes on FD level. (unless capturing is off/sys)
stdout = sys.stdout
- if config.option.capture == "fd" and hasattr(os, "dup"):
+ if hasattr(os, "dup"):
try:
newstdout = py.io.dupfile(stdout, buffering=1,
encoding=stdout.encoding)
diff -r bc620a10f932bc0d961b92f2c0b741e2ae1c8715 -r 04096e391ef16aa7b7b492a2677b4cd0f3e0fc52 testing/test_terminal.py
--- a/testing/test_terminal.py
+++ b/testing/test_terminal.py
@@ -677,14 +677,6 @@
"*2 passed*"
])
-def test_nofd_manipulation_with_capture_disabled(testdir):
- from _pytest.terminal import pytest_configure
- config = testdir.parseconfig("--capture=no")
- stdout = sys.stdout
- pytest_configure(config)
- reporter = config.pluginmanager.getplugin('terminalreporter')
- assert reporter._tw._file == stdout
-
def test_tbstyle_native_setup_error(testdir):
p = testdir.makepyfile("""
import pytest
@@ -712,3 +704,14 @@
*==== hello ====*
world
""")
+
+ at pytest.mark.xfail("not hasattr(os, 'dup')")
+def test_fd_fixing(testdir):
+ testdir.makepyfile("""
+ import os
+ os.close(1)
+ def test_fdclose():
+ os.close(2)
+ """)
+ result = testdir.runpytest("-s")
+ result.stdout.fnmatch_lines("*1 pass*")
https://bitbucket.org/hpk42/pytest/commits/ebceac32c5cd/
Changeset: ebceac32c5cd
User: hpk42
Date: 2013-10-03 17:46:36
Summary: fix issue365 and depend on a newer py versions which uses colorama
for coloring instead of its own ctypes hacks.
Affected #: 3 files
diff -r 04096e391ef16aa7b7b492a2677b4cd0f3e0fc52 -r ebceac32c5cdaec80fe3005af9618916068b4fa2 CHANGELOG
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,12 +1,15 @@
Changes between 2.4.1 and 2.4.2
-----------------------------------
+- on Windows require colorama and a newer py lib so that py.io.TerminalWriter()
+ now uses colorama instead of its own ctypes hacks. (fixes issue365)
+
- fix "-k" matching of tests where "repr" and "attr" and other names would
cause wrong matches because of an internal implementation quirk
(don't ask) which is now properly implemented. fixes issue345.
- avoid "IOError: Bad Filedescriptor" on pytest shutdown by not closing
- the internal dupped stdout (fix is slightly hand-wavy but work).
+ the internal dupped stdout (fix is slightly hand-wavy but works).
- avoid tmpdir fixture to create too long filenames especially
when parametrization is used (issue354)
@@ -21,6 +24,7 @@
details of the node.keywords pseudo-dicts. Adapated
docs.
+
Changes between 2.4.0 and 2.4.1
-----------------------------------
diff -r 04096e391ef16aa7b7b492a2677b4cd0f3e0fc52 -r ebceac32c5cdaec80fe3005af9618916068b4fa2 _pytest/__init__.py
--- a/_pytest/__init__.py
+++ b/_pytest/__init__.py
@@ -1,2 +1,2 @@
#
-__version__ = '2.4.2.dev1'
+__version__ = '2.4.2'
diff -r 04096e391ef16aa7b7b492a2677b4cd0f3e0fc52 -r ebceac32c5cdaec80fe3005af9618916068b4fa2 setup.py
--- a/setup.py
+++ b/setup.py
@@ -3,15 +3,17 @@
long_description = open("README.rst").read()
def main():
- install_requires = ["py>=1.4.16"]
+ install_requires = ["py>=1.4.17.dev2"]
if sys.version_info < (2,7):
install_requires.append("argparse")
+ if sys.platform == "win32":
+ install_requires.append("colorama")
setup(
name='pytest',
description='py.test: simple powerful testing with Python',
long_description = long_description,
- version='2.4.2.dev1',
+ version='2.4.2',
url='http://pytest.org',
license='MIT license',
platforms=['unix', 'linux', 'osx', 'cygwin', 'win32'],
https://bitbucket.org/hpk42/pytest/commits/d5a0e8a77e0f/
Changeset: d5a0e8a77e0f
User: hpk42
Date: 2013-10-03 18:02:54
Summary: fix argcomplete-test to use sys.argv[0] if it looks like a py.test executable
Affected #: 1 file
diff -r ebceac32c5cdaec80fe3005af9618916068b4fa2 -r d5a0e8a77e0f2ccfea495c44a80b5a1409a0e832 testing/test_parseopt.py
--- a/testing/test_parseopt.py
+++ b/testing/test_parseopt.py
@@ -1,4 +1,6 @@
from __future__ import with_statement
+import sys
+import os
import py, pytest
from _pytest import config as parseopt
from textwrap import dedent
@@ -250,14 +252,16 @@
def test_argcomplete(testdir, monkeypatch):
if not py.path.local.sysfind('bash'):
pytest.skip("bash not available")
- import os
script = str(testdir.tmpdir.join("test_argcomplete"))
+ pytest_bin = sys.argv[0]
+ if "py.test" not in os.path.basename(pytest_bin):
+ pytest.skip("need to be run with py.test executable, not %s" %(pytest_bin,))
+
with open(str(script), 'w') as fp:
# redirect output from argcomplete to stdin and stderr is not trivial
# http://stackoverflow.com/q/12589419/1307905
# so we use bash
- fp.write('COMP_WORDBREAKS="$COMP_WORDBREAKS" $(which py.test) '
- '8>&1 9>&2')
+ fp.write('COMP_WORDBREAKS="$COMP_WORDBREAKS" %s 8>&1 9>&2' % pytest_bin)
# alternative would be exteneded Testdir.{run(),_run(),popen()} to be able
# to handle a keyword argument env that replaces os.environ in popen or
# extends the copy, advantage: could not forget to restore
Repository URL: https://bitbucket.org/hpk42/pytest/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
More information about the pytest-commit
mailing list