From commits-noreply at bitbucket.org Wed Apr 6 09:25:22 2011 From: commits-noreply at bitbucket.org (Bitbucket) Date: Wed, 06 Apr 2011 07:25:22 -0000 Subject: [py-svn] commit/py: hpk42: fix issue4 - large calls to ansi_print can fail on Windows Message-ID: <20110406072522.15064.74447@bitbucket03.managed.contegix.com> 1 new changeset in py: http://bitbucket.org/hpk42/py/changeset/af470ecdf284/ changeset: r2014:af470ecdf284 user: hpk42 date: 2011-04-06 09:22:21 summary: fix issue4 - large calls to ansi_print can fail on Windows (this is Amaury's fix from the pypy copy) affected #: 4 files (145 bytes) --- a/CHANGELOG Fri Mar 11 13:48:50 2011 +0100 +++ b/CHANGELOG Wed Apr 06 09:22:21 2011 +0200 @@ -2,6 +2,7 @@ ================================================== - fix terminal coloring issue for skipped tests (thanks Amaury) +- fix issue4 - large calls to ansi_print (thanks Amaury) Changes between 1.4.1 and 1.4.2 ================================================== --- a/py/__init__.py Fri Mar 11 13:48:50 2011 +0100 +++ b/py/__init__.py Wed Apr 06 09:22:21 2011 +0200 @@ -8,7 +8,7 @@ (c) Holger Krekel and others, 2004-2010 """ -__version__ = '1.4.3.dev0' +__version__ = '1.4.3' from py import _apipkg --- a/py/_io/terminalwriter.py Fri Mar 11 13:48:50 2011 +0100 +++ b/py/_io/terminalwriter.py Wed Apr 06 09:22:21 2011 +0200 @@ -81,7 +81,9 @@ oldcolors = GetConsoleInfo(handle).wAttributes attr |= (oldcolors & 0x0f0) SetConsoleTextAttribute(handle, attr) - file.write(text) + while len(text) > 32768: + file.write(text[:32768]) + text = text[32768:] SetConsoleTextAttribute(handle, oldcolors) else: file.write(text) --- a/setup.py Fri Mar 11 13:48:50 2011 +0100 +++ b/setup.py Wed Apr 06 09:22:21 2011 +0200 @@ -9,7 +9,7 @@ name='py', description='library with cross-python path, ini-parsing, io, code, log facilities', long_description = open('README.txt').read(), - version='1.4.3.dev0', + version='1.4.3', url='http://pylib.org', license='MIT license', platforms=['unix', 'linux', 'osx', 'cygwin', 'win32'], @@ -37,4 +37,4 @@ ) if __name__ == '__main__': - main() + main() \ No newline at end of file Repository URL: https://bitbucket.org/hpk42/py/ -- This is a commit notification from bitbucket.org. You are receiving this because you have the service enabled, addressing the recipient of this email. From commits-noreply at bitbucket.org Wed Apr 6 09:28:03 2011 From: commits-noreply at bitbucket.org (Bitbucket) Date: Wed, 06 Apr 2011 07:28:03 -0000 Subject: [py-svn] commit/py: hpk42: more correctly apply patch from Amaury Message-ID: <20110406072803.22748.35800@bitbucket02.managed.contegix.com> 1 new changeset in py: http://bitbucket.org/hpk42/py/changeset/a59069f5f6e1/ changeset: r2015:a59069f5f6e1 user: hpk42 date: 2011-04-06 09:27:44 summary: more correctly apply patch from Amaury affected #: 1 file (46 bytes) --- a/py/_io/terminalwriter.py Wed Apr 06 09:22:21 2011 +0200 +++ b/py/_io/terminalwriter.py Wed Apr 06 09:27:44 2011 +0200 @@ -84,6 +84,8 @@ while len(text) > 32768: file.write(text[:32768]) text = text[32768:] + if text: + file.write(text) SetConsoleTextAttribute(handle, oldcolors) else: file.write(text) Repository URL: https://bitbucket.org/hpk42/py/ -- This is a commit notification from bitbucket.org. You are receiving this because you have the service enabled, addressing the recipient of this email. From commits-noreply at bitbucket.org Thu Apr 14 21:35:53 2011 From: commits-noreply at bitbucket.org (Bitbucket) Date: Thu, 14 Apr 2011 19:35:53 -0000 Subject: [py-svn] commit/pytest-xdist: hpk42: fix race condition as reported by Ralf Schmitt Message-ID: <20110414193553.8001.8651@bitbucket02.managed.contegix.com> 1 new changeset in pytest-xdist: http://bitbucket.org/hpk42/pytest-xdist/changeset/cafe8e5d645b/ changeset: r101:cafe8e5d645b user: hpk42 date: 2011-04-14 21:35:27 summary: fix race condition as reported by Ralf Schmitt affected #: 3 files (714 bytes) --- a/CHANGELOG Wed Mar 16 17:59:14 2011 +0100 +++ b/CHANGELOG Thu Apr 14 21:35:27 2011 +0200 @@ -5,6 +5,9 @@ - fix issue34 - distributed testing with -p plugin now works correctly +- fix race condition in looponfail mode where a concurrent file removal + could cause a crash + 1.5 ------------------------- --- a/testing/test_looponfail.py Wed Mar 16 17:59:14 2011 +0100 +++ b/testing/test_looponfail.py Thu Apr 14 21:35:27 2011 +0200 @@ -14,11 +14,11 @@ changed = sd.check() assert changed - tmp.ensure("new.py") + p = tmp.ensure("new.py") changed = sd.check() assert changed - tmp.join("new.py").remove() + p.remove() changed = sd.check() assert changed @@ -36,6 +36,24 @@ changed = sd.check() assert changed + def test_filechange_deletion_race(self, tmpdir, monkeypatch): + tmp = tmpdir + sd = StatRecorder([tmp]) + changed = sd.check() + assert not changed + + p = tmp.ensure("new.py") + changed = sd.check() + assert changed + + p.remove() + # make check()'s visit() call return our just removed + # path as if we were in a race condition + monkeypatch.setattr(tmp, 'visit', lambda *args: [p]) + + changed = sd.check() + assert changed + def test_pycremoval(self, tmpdir): tmp = tmpdir hello = tmp.ensure("hello.py") --- a/xdist/looponfail.py Wed Mar 16 17:59:14 2011 +0100 +++ b/xdist/looponfail.py Thu Apr 14 21:35:27 2011 +0200 @@ -201,14 +201,11 @@ newstat = {} for rootdir in self.rootdirlist: for path in rootdir.visit(self.fil, self.rec): - oldstat = statcache.get(path, None) - if oldstat is not None: - del statcache[path] + oldstat = statcache.pop(path, None) try: newstat[path] = curstat = path.stat() except py.error.ENOENT: if oldstat: - del statcache[path] changed = True else: if oldstat: Repository URL: https://bitbucket.org/hpk42/pytest-xdist/ -- This is a commit notification from bitbucket.org. You are receiving this because you have the service enabled, addressing the recipient of this email. From commits-noreply at bitbucket.org Sat Apr 16 01:13:51 2011 From: commits-noreply at bitbucket.org (Bitbucket) Date: Fri, 15 Apr 2011 23:13:51 -0000 Subject: [py-svn] commit/pytest: 2 new changesets Message-ID: <20110415231351.23729.68092@bitbucket01.managed.contegix.com> 2 new changesets in pytest: http://bitbucket.org/hpk42/pytest/changeset/b9c849304237/ changeset: r2193:b9c849304237 user: flub date: 2011-04-12 00:15:56 summary: Allow unicode characters in testdir.makepyfile() On python2.x text arguments where passed through str, which meant only ascii-encodable strings could be used. This uses py.builting._totext() to keep unicode until it is written out to the file, which was already UTF-8 encoded. affected #: 2 files (265 bytes) --- a/_pytest/pytester.py Sat Mar 19 20:13:04 2011 +0100 +++ b/_pytest/pytester.py Mon Apr 11 23:15:56 2011 +0100 @@ -236,13 +236,14 @@ def _makefile(self, ext, args, kwargs): items = list(kwargs.items()) if args: - source = "\n".join(map(str, args)) + "\n" + source = py.builtin._totext("\n").join( + map(py.builtin._totext, args)) + py.builtin._totext("\n") basename = self.request.function.__name__ items.insert(0, (basename, source)) ret = None for name, value in items: p = self.tmpdir.join(name).new(ext=ext) - source = str(py.code.Source(value)).lstrip() + source = py.builtin._totext(py.code.Source(value)).lstrip() p.write(source.encode("utf-8"), "wb") if ret is None: ret = p --- a/testing/test_pytester.py Sat Mar 19 20:13:04 2011 +0100 +++ b/testing/test_pytester.py Mon Apr 11 23:15:56 2011 +0100 @@ -1,3 +1,4 @@ +import py import pytest import os, sys from _pytest.pytester import LineMatcher, LineComp, HookRecorder @@ -113,3 +114,12 @@ assert res == [42] """) reprec.assertoutcome(passed=1) + + +def test_makepyfile_unicode(testdir): + global unichr + try: + unichr(65) + except NameError: + unichr = chr + testdir.makepyfile(unichr(0xfffd)) http://bitbucket.org/hpk42/pytest/changeset/2a5219be3d3c/ changeset: r2194:2a5219be3d3c user: flub date: 2011-04-16 01:09:25 summary: Prevent null-characters from appearing in junitxml's output The Jenkins XML parser does not deal with null-characters inside the XML. This replaces any null character with nothing in the XML output, which makes no visual difference. affected #: 2 files (3.6 KB) --- a/_pytest/junitxml.py Mon Apr 11 23:15:56 2011 +0100 +++ b/_pytest/junitxml.py Sat Apr 16 00:09:25 2011 +0100 @@ -5,8 +5,42 @@ import py import os +import re +import sys import time + +# Python 2.X and 3.X compatibility +try: + unichr(65) +except NameError: + unichr = chr +try: + unicode('A') +except NameError: + unicode = str +try: + long(1) +except NameError: + long = int + + +# We need to get the subset of the invalid unicode ranges according to +# XML 1.0 which are valid in this python build. Hence we calculate +# this dynamically instead of hardcoding it. The spec range of valid +# chars is: Char ::= #x9 | #xA | #xD | [#x20-#xD7FF] | [#xE000-#xFFFD] +# | [#x10000-#x10FFFF] +_illegal_unichrs = [(0x00, 0x08), (0x0B, 0x0C), (0x0E, 0x19), + (0xD800, 0xDFFF), (0xFDD0, 0xFFFF)] +_illegal_ranges = [unicode("%s-%s") % (unichr(low), unichr(high)) + for (low, high) in _illegal_unichrs + if low < sys.maxunicode] +illegal_xml_re = re.compile(unicode('[%s]') % + unicode('').join(_illegal_ranges)) +del _illegal_unichrs +del _illegal_ranges + + def pytest_addoption(parser): group = parser.getgroup("terminal reporting") group.addoption('--junitxml', action="store", dest="xmlpath", @@ -28,6 +62,7 @@ del config._xml config.pluginmanager.unregister(xml) + class LogXML(object): def __init__(self, logfile, prefix): self.logfile = logfile @@ -55,7 +90,14 @@ self.test_logs.append("") def appendlog(self, fmt, *args): - args = tuple([py.xml.escape(arg) for arg in args]) + def repl(matchobj): + i = ord(matchobj.group()) + if i <= 0xFF: + return unicode('#x%02X') % i + else: + return unicode('#x%04X') % i + args = tuple([illegal_xml_re.sub(repl, py.xml.escape(arg)) + for arg in args]) self.test_logs.append(fmt % args) def append_pass(self, report): --- a/testing/test_junitxml.py Mon Apr 11 23:15:56 2011 +0100 +++ b/testing/test_junitxml.py Sat Apr 16 00:09:25 2011 +0100 @@ -283,3 +283,71 @@ assert_attr(fnode, message="test failure") assert "custom item runtest failed" in fnode.toxml() + +def test_nullbyte(testdir): + # A null byte can not occur in XML (see section 2.2 of the spec) + testdir.makepyfile(""" + import sys + def test_print_nullbyte(): + sys.stdout.write('Here the null -->' + chr(0) + '<--') + sys.stdout.write('In repr form -->' + repr(chr(0)) + '<--') + assert False + """) + xmlf = testdir.tmpdir.join('junit.xml') + result = testdir.runpytest('--junitxml=%s' % xmlf) + text = xmlf.read() + assert '\x00' not in text + assert '#x00' in text + + +def test_nullbyte_replace(testdir): + # Check if the null byte gets replaced + testdir.makepyfile(""" + import sys + def test_print_nullbyte(): + sys.stdout.write('Here the null -->' + chr(0) + '<--') + sys.stdout.write('In repr form -->' + repr(chr(0)) + '<--') + assert False + """) + xmlf = testdir.tmpdir.join('junit.xml') + result = testdir.runpytest('--junitxml=%s' % xmlf) + text = xmlf.read() + assert '#x0' in text + + +def test_invalid_xml_escape(testdir): + # Test some more invalid xml chars, the full range should be + # tested really but let's just thest the edges of the ranges + # intead. + # XXX This only tests low unicode character points for now as + # there are some issues with the testing infrastructure for + # the higher ones. + # XXX Testing 0xD (\r) is tricky as it overwrites the just written + # line in the output, so we skip it too. + global unichr + try: + unichr(65) + except NameError: + unichr = chr + u = py.builtin._totext + invalid = (0x1, 0xB, 0xC, 0xE, 0x19,) + # 0xD800, 0xDFFF, 0xFFFE, 0x0FFFF) #, 0x110000) + valid = (0x9, 0xA, 0x20,) # 0xD, 0xD7FF, 0xE000, 0xFFFD, 0x10000, 0x10FFFF) + all = invalid + valid + prints = [u(" sys.stdout.write('''0x%X-->%s<--''')") % (i, unichr(i)) + for i in all] + testdir.makepyfile(u("# -*- coding: UTF-8 -*-"), + u("import sys"), + u("def test_print_bytes():"), + u("\n").join(prints), + u(" assert False")) + xmlf = testdir.tmpdir.join('junit.xml') + result = testdir.runpytest('--junitxml=%s' % xmlf) + text = xmlf.read() + for i in invalid: + if i <= 0xFF: + assert '#x%02X' % i in text + else: + assert '#x%04X' % i in text + for i in valid: + assert chr(i) in text 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. From commits-noreply at bitbucket.org Sat Apr 16 01:47:24 2011 From: commits-noreply at bitbucket.org (Bitbucket) Date: Fri, 15 Apr 2011 23:47:24 -0000 Subject: [py-svn] commit/pytest: flub: Update changelog Message-ID: <20110415234724.25425.47277@bitbucket02.managed.contegix.com> 1 new changeset in pytest: http://bitbucket.org/hpk42/pytest/changeset/80b5c77f96dc/ changeset: r2195:80b5c77f96dc user: flub date: 2011-04-16 01:47:16 summary: Update changelog affected #: 1 file (62 bytes) --- a/CHANGELOG Sat Apr 16 00:09:25 2011 +0100 +++ b/CHANGELOG Sat Apr 16 00:47:16 2011 +0100 @@ -13,6 +13,8 @@ - speed up skips (by not doing a full traceback represenation internally) +- fix issue37: avoid invalid characters in junitxml's output + Changes between 2.0.1 and 2.0.2 ---------------------------------------------- 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. From commits-noreply at bitbucket.org Sun Apr 17 12:21:07 2011 From: commits-noreply at bitbucket.org (Bitbucket) Date: Sun, 17 Apr 2011 10:21:07 -0000 Subject: [py-svn] commit/pytest: 2 new changesets Message-ID: <20110417102107.3073.36626@bitbucket01.managed.contegix.com> 2 new changesets in pytest: http://bitbucket.org/hpk42/pytest/changeset/f27dab0f3a45/ changeset: r2196:f27dab0f3a45 user: hpk42 date: 2011-04-17 12:20:11 summary: fix issue38 - nicer tracebacks on sessionstart/configure (and other internal/custom hook failures) affected #: 4 files (1.0 KB) --- a/CHANGELOG Sat Apr 16 00:47:16 2011 +0100 +++ b/CHANGELOG Sun Apr 17 12:20:11 2011 +0200 @@ -1,6 +1,9 @@ Changes between 2.0.2 and 2.0.3.dev ---------------------------------------------- +- fix issue38: nicer tracebacks on calls to hooks, particularly early + configure/sessionstart ones + - fix missing skip reason/meta information in junitxml files, reported via http://lists.idyll.org/pipermail/testing-in-python/2011-March/003928.html --- a/_pytest/core.py Sat Apr 16 00:47:16 2011 +0100 +++ b/_pytest/core.py Sun Apr 17 12:20:11 2011 +0200 @@ -265,8 +265,15 @@ config.hook.pytest_unconfigure(config=config) config.pluginmanager.unregister(self) - def notify_exception(self, excinfo): - excrepr = excinfo.getrepr(funcargs=True, showlocals=True) + def notify_exception(self, excinfo, option=None): + if option and option.fulltrace: + style = "long" + else: + style = "native" + excrepr = excinfo.getrepr(funcargs=True, + showlocals=getattr(option, 'showlocals', False), + style=style, + ) res = self.hook.pytest_internalerror(excrepr=excrepr) if not py.builtin.any(res): for line in str(excrepr).split("\n"): --- a/_pytest/main.py Sat Apr 16 00:47:16 2011 +0100 +++ b/_pytest/main.py Sun Apr 17 12:20:11 2011 +0200 @@ -71,7 +71,7 @@ session.exitstatus = EXIT_INTERRUPTED except: excinfo = py.code.ExceptionInfo() - config.pluginmanager.notify_exception(excinfo) + config.pluginmanager.notify_exception(excinfo, config.option) session.exitstatus = EXIT_INTERNALERROR if excinfo.errisinstance(SystemExit): sys.stderr.write("mainloop: caught Spurious SystemExit!\n") --- a/testing/acceptance_test.py Sat Apr 16 00:47:16 2011 +0100 +++ b/testing/acceptance_test.py Sun Apr 17 12:20:11 2011 +0200 @@ -13,6 +13,26 @@ '*ERROR: hello' ]) + def test_early_hook_error_issue38_1(self, testdir): + testdir.makeconftest(""" + def pytest_sessionstart(): + 0 / 0 + """) + result = testdir.runpytest(testdir.tmpdir) + assert result.ret != 0 + # tracestyle is native by default for hook failures + result.stdout.fnmatch_lines([ + '*INTERNALERROR*File*conftest.py*line 2*', + '*0 / 0*', + ]) + result = testdir.runpytest(testdir.tmpdir, "--fulltrace") + assert result.ret != 0 + # tracestyle is native by default for hook failures + result.stdout.fnmatch_lines([ + '*INTERNALERROR*def pytest_sessionstart():*', + '*INTERNALERROR*0 / 0*', + ]) + def test_file_not_found(self, testdir): result = testdir.runpytest("asd") assert result.ret != 0 http://bitbucket.org/hpk42/pytest/changeset/c8f97fe2247b/ changeset: r2197:c8f97fe2247b user: hpk42 date: 2011-04-17 12:20:13 summary: tentatively use internal list for cleanups at unconfigure time - this helps reporting with partially executed pytest_configure() hooks affected #: 7 files (678 bytes) --- a/_pytest/__init__.py Sun Apr 17 12:20:11 2011 +0200 +++ b/_pytest/__init__.py Sun Apr 17 12:20:13 2011 +0200 @@ -1,2 +1,2 @@ # -__version__ = '2.0.3.dev3' +__version__ = '2.0.3.dev4' --- a/_pytest/assertion.py Sun Apr 17 12:20:11 2011 +0200 +++ b/_pytest/assertion.py Sun Apr 17 12:20:13 2011 +0200 @@ -16,7 +16,8 @@ # py._code._assertionnew to detect this plugin was loaded and in # turn call the hooks defined here as part of the # DebugInterpreter. - config._monkeypatch = m = monkeypatch() + m = monkeypatch() + config._cleanup.append(m.undo) warn_about_missing_assertion() if not config.getvalue("noassert") and not config.getvalue("nomagic"): def callbinrepr(op, left, right): @@ -29,9 +30,6 @@ 'AssertionError', py.code._AssertionError) m.setattr(py.code, '_reprcompare', callbinrepr) -def pytest_unconfigure(config): - config._monkeypatch.undo() - def warn_about_missing_assertion(): try: assert False --- a/_pytest/config.py Sun Apr 17 12:20:11 2011 +0200 +++ b/_pytest/config.py Sun Apr 17 12:20:13 2011 +0200 @@ -12,6 +12,10 @@ config.trace.root.setwriter(sys.stderr.write) return config +def pytest_unconfigure(config): + for func in config._cleanup: + func() + class Parser: """ Parser for command line arguments. """ @@ -251,7 +255,8 @@ self._conftest = Conftest(onimport=self._onimportconftest) self.hook = self.pluginmanager.hook self._inicache = {} - + self._cleanup = [] + @classmethod def fromdictargs(cls, option_dict, args): """ constructor useable for subprocesses. """ --- a/_pytest/tmpdir.py Sun Apr 17 12:20:11 2011 +0200 +++ b/_pytest/tmpdir.py Sun Apr 17 12:20:13 2011 +0200 @@ -48,15 +48,12 @@ self.trace("finish") def pytest_configure(config): - config._mp = mp = monkeypatch() + mp = monkeypatch() t = TempdirHandler(config) + config._cleanup.extend([mp.undo, t.finish]) mp.setattr(config, '_tmpdirhandler', t, raising=False) mp.setattr(pytest, 'ensuretemp', t.ensuretemp, raising=False) -def pytest_unconfigure(config): - config._tmpdirhandler.finish() - config._mp.undo() - def pytest_funcarg__tmpdir(request): """return a temporary directory path object which is unique to each test function invocation, --- a/setup.py Sun Apr 17 12:20:11 2011 +0200 +++ b/setup.py Sun Apr 17 12:20:13 2011 +0200 @@ -22,7 +22,7 @@ name='pytest', description='py.test: simple powerful testing with Python', long_description = long_description, - version='2.0.3.dev3', + version='2.0.3.dev4', url='http://pytest.org', license='MIT license', platforms=['unix', 'linux', 'osx', 'cygwin', 'win32'], --- a/testing/acceptance_test.py Sun Apr 17 12:20:11 2011 +0200 +++ b/testing/acceptance_test.py Sun Apr 17 12:20:13 2011 +0200 @@ -33,6 +33,19 @@ '*INTERNALERROR*0 / 0*', ]) + def test_early_hook_configure_error_issue38(self, testdir): + testdir.makeconftest(""" + def pytest_configure(): + 0 / 0 + """) + result = testdir.runpytest(testdir.tmpdir) + assert result.ret != 0 + # here we get it on stderr + result.stderr.fnmatch_lines([ + '*INTERNALERROR*File*conftest.py*line 2*', + '*0 / 0*', + ]) + def test_file_not_found(self, testdir): result = testdir.runpytest("asd") assert result.ret != 0 --- a/testing/test_assertion.py Sun Apr 17 12:20:11 2011 +0200 +++ b/testing/test_assertion.py Sun Apr 17 12:20:13 2011 +0200 @@ -44,7 +44,8 @@ config = testdir.parseconfig() plugin.pytest_configure(config) assert hook != py.code._reprcompare - plugin.pytest_unconfigure(config) + from _pytest.config import pytest_unconfigure + pytest_unconfigure(config) assert hook == py.code._reprcompare def callequal(left, right): 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. From commits-noreply at bitbucket.org Sun Apr 17 21:57:25 2011 From: commits-noreply at bitbucket.org (Bitbucket) Date: Sun, 17 Apr 2011 19:57:25 -0000 Subject: [py-svn] commit/py: hpk42: small pre-release changes Message-ID: <20110417195725.28499.44869@bitbucket03.managed.contegix.com> 1 new changeset in py: http://bitbucket.org/hpk42/py/changeset/9950bf9d684a/ changeset: r2016:9950bf9d684a user: hpk42 date: 2011-04-17 21:56:55 summary: small pre-release changes affected #: 3 files (45 bytes) --- a/CHANGELOG Wed Apr 06 09:27:44 2011 +0200 +++ b/CHANGELOG Sun Apr 17 21:56:55 2011 +0200 @@ -1,4 +1,4 @@ -Changes between 1.4.2 and 1.4.3.dev +Changes between 1.4.2 and 1.4.3 ================================================== - fix terminal coloring issue for skipped tests (thanks Amaury) --- a/doc/index.txt Wed Apr 06 09:27:44 2011 +0200 +++ b/doc/index.txt Sun Apr 17 21:56:55 2011 +0200 @@ -10,7 +10,7 @@ .. note:: - py.test now comes from the `pytest distribution`_ + Since version 1.4, the testing tool "py.test" is part of its own `pytest distribution`_. .. _`pytest distribution`: http://pytest.org --- a/doc/install.txt Wed Apr 06 09:27:44 2011 +0200 +++ b/doc/install.txt Sun Apr 17 21:56:55 2011 +0200 @@ -66,7 +66,7 @@ .. _`setuptools`: http://pypi.python.org/pypi/setuptools -Contact and Communication points +Mailing list and issue tracker -------------------------------------- - `py-dev developers list`_ and `commit mailing list`_. Repository URL: https://bitbucket.org/hpk42/py/ -- This is a commit notification from bitbucket.org. You are receiving this because you have the service enabled, addressing the recipient of this email. From commits-noreply at bitbucket.org Sun Apr 17 23:07:57 2011 From: commits-noreply at bitbucket.org (Bitbucket) Date: Sun, 17 Apr 2011 21:07:57 -0000 Subject: [py-svn] commit/py: hpk42: Added tag 1.4.3 for changeset 9950bf9d684a Message-ID: <20110417210757.28497.20576@bitbucket03.managed.contegix.com> 1 new changeset in py: http://bitbucket.org/hpk42/py/changeset/4adaf69a78f0/ changeset: r2017:4adaf69a78f0 user: hpk42 date: 2011-04-17 23:07:49 summary: Added tag 1.4.3 for changeset 9950bf9d684a affected #: 1 file (47 bytes) --- a/.hgtags Sun Apr 17 21:56:55 2011 +0200 +++ b/.hgtags Sun Apr 17 23:07:49 2011 +0200 @@ -34,3 +34,4 @@ 5346ab41b059c95a48cbe1e8a7bae96ce6e0da27 1.4.0 1f3125cba7976538952be268f107c1d0c36c5ce8 1.4.1 04ab22db4ff737cf31e91d75a0f5d7077f324167 1.4.2 +9950bf9d684a984d511795013421c89c5cf88bef 1.4.3 Repository URL: https://bitbucket.org/hpk42/py/ -- This is a commit notification from bitbucket.org. You are receiving this because you have the service enabled, addressing the recipient of this email. From commits-noreply at bitbucket.org Sun Apr 17 23:09:43 2011 From: commits-noreply at bitbucket.org (Bitbucket) Date: Sun, 17 Apr 2011 21:09:43 -0000 Subject: [py-svn] commit/pytest: 2 new changesets Message-ID: <20110417210943.3073.94923@bitbucket01.managed.contegix.com> 2 new changesets in pytest: http://bitbucket.org/hpk42/pytest/changeset/2ef82d82daac/ changeset: r2198:2ef82d82daac user: hpk42 date: 2011-04-17 23:09:13 summary: bump version affected #: 2 files (10 bytes) --- a/_pytest/__init__.py Sun Apr 17 12:20:13 2011 +0200 +++ b/_pytest/__init__.py Sun Apr 17 23:09:13 2011 +0200 @@ -1,2 +1,2 @@ # -__version__ = '2.0.3.dev4' +__version__ = '2.0.3' --- a/setup.py Sun Apr 17 12:20:13 2011 +0200 +++ b/setup.py Sun Apr 17 23:09:13 2011 +0200 @@ -22,7 +22,7 @@ name='pytest', description='py.test: simple powerful testing with Python', long_description = long_description, - version='2.0.3.dev4', + version='2.0.3', url='http://pytest.org', license='MIT license', platforms=['unix', 'linux', 'osx', 'cygwin', 'win32'], http://bitbucket.org/hpk42/pytest/changeset/c777dcad1665/ changeset: r2199:c777dcad1665 user: hpk42 date: 2011-04-17 23:09:33 summary: Added tag 2.0.3 for changeset 2ef82d82daac affected #: 1 file (47 bytes) --- a/.hgtags Sun Apr 17 23:09:13 2011 +0200 +++ b/.hgtags Sun Apr 17 23:09:33 2011 +0200 @@ -34,3 +34,4 @@ e9e127acd6f0497324ef7f40cfb997cad4c4cd17 2.0.0 e4497c2aed358c1988cf7be83ca9394c3c707fa2 2.0.1 84e5c54b72448194a0f6f815da7e048ac8019d50 2.0.2 +2ef82d82daacb72733a3a532a95c5a37164e5819 2.0.3 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. From commits-noreply at bitbucket.org Sun Apr 17 23:10:45 2011 From: commits-noreply at bitbucket.org (Bitbucket) Date: Sun, 17 Apr 2011 21:10:45 -0000 Subject: [py-svn] commit/pytest-xdist: 2 new changesets Message-ID: <20110417211045.3077.95746@bitbucket01.managed.contegix.com> 2 new changesets in pytest-xdist: http://bitbucket.org/hpk42/pytest-xdist/changeset/4815040bdad8/ changeset: r102:4815040bdad8 user: hpk42 date: 2011-04-17 23:10:20 summary: bump version to 1.6 affected #: 3 files (16 bytes) --- a/CHANGELOG Thu Apr 14 21:35:27 2011 +0200 +++ b/CHANGELOG Sun Apr 17 23:10:20 2011 +0200 @@ -1,4 +1,4 @@ -1.6 (dev) +1.6 ------------------------- - terser collection reporting --- a/setup.py Thu Apr 14 21:35:27 2011 +0200 +++ b/setup.py Sun Apr 17 23:10:20 2011 +0200 @@ -2,7 +2,7 @@ setup( name="pytest-xdist", - version='1.6.dev3', + version='1.6', description='py.test xdist plugin for distributed testing and loop-on-failing modes', long_description=open('README.txt').read(), license='GPLv2 or later', --- a/xdist/__init__.py Thu Apr 14 21:35:27 2011 +0200 +++ b/xdist/__init__.py Sun Apr 17 23:10:20 2011 +0200 @@ -1,2 +1,2 @@ # -__version__ = '1.6.dev3' +__version__ = '1.6' http://bitbucket.org/hpk42/pytest-xdist/changeset/00bc3c2a2253/ changeset: r103:00bc3c2a2253 user: hpk42 date: 2011-04-17 23:10:37 summary: Added tag 1.6 for changeset 4815040bdad8 affected #: 1 file (45 bytes) --- a/.hgtags Sun Apr 17 23:10:20 2011 +0200 +++ b/.hgtags Sun Apr 17 23:10:37 2011 +0200 @@ -6,3 +6,4 @@ eaf8b1cb7c312883598677231be5bbeea3b5c127 1.3 a423748bf17ee778a37853225210257699cad9c1 1.4 cd44a941c833c098e4899fe3d42a96703754d0d5 1.5 +4815040bdad8f182a5487f57a9da385483836e75 1.6 Repository URL: https://bitbucket.org/hpk42/pytest-xdist/ -- This is a commit notification from bitbucket.org. You are receiving this because you have the service enabled, addressing the recipient of this email. From commits-noreply at bitbucket.org Sun Apr 17 23:15:59 2011 From: commits-noreply at bitbucket.org (Bitbucket) Date: Sun, 17 Apr 2011 21:15:59 -0000 Subject: [py-svn] commit/pytest: hpk42: Added tag 2.0.3 for changeset c777dcad1665 Message-ID: <20110417211559.3073.45899@bitbucket01.managed.contegix.com> 1 new changeset in pytest: http://bitbucket.org/hpk42/pytest/changeset/cf804f3445b0/ changeset: r2200:cf804f3445b0 user: hpk42 date: 2011-04-17 23:15:51 summary: Added tag 2.0.3 for changeset c777dcad1665 affected #: 1 file (94 bytes) --- a/.hgtags Sun Apr 17 23:09:33 2011 +0200 +++ b/.hgtags Sun Apr 17 23:15:51 2011 +0200 @@ -35,3 +35,5 @@ e4497c2aed358c1988cf7be83ca9394c3c707fa2 2.0.1 84e5c54b72448194a0f6f815da7e048ac8019d50 2.0.2 2ef82d82daacb72733a3a532a95c5a37164e5819 2.0.3 +2ef82d82daacb72733a3a532a95c5a37164e5819 2.0.3 +c777dcad166548b7499564cb49ae5c8b4b07f935 2.0.3 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. From commits-noreply at bitbucket.org Sun Apr 17 23:16:50 2011 From: commits-noreply at bitbucket.org (Bitbucket) Date: Sun, 17 Apr 2011 21:16:50 -0000 Subject: [py-svn] commit/pytest: 2 new changesets Message-ID: <20110417211650.12398.5921@bitbucket02.managed.contegix.com> 2 new changesets in pytest: http://bitbucket.org/hpk42/pytest/changeset/49f11dbff725/ changeset: r2201:49f11dbff725 user: hpk42 date: 2011-04-17 23:16:14 summary: add release announcement affected #: 3 files (1.3 KB) --- a/CHANGELOG Sun Apr 17 23:15:51 2011 +0200 +++ b/CHANGELOG Sun Apr 17 23:16:14 2011 +0200 @@ -1,4 +1,4 @@ -Changes between 2.0.2 and 2.0.3.dev +Changes between 2.0.2 and 2.0.3 ---------------------------------------------- - fix issue38: nicer tracebacks on calls to hooks, particularly early --- a/doc/announce/index.txt Sun Apr 17 23:15:51 2011 +0200 +++ b/doc/announce/index.txt Sun Apr 17 23:16:14 2011 +0200 @@ -5,6 +5,7 @@ .. toctree:: :maxdepth: 2 + release-2.0.3 release-2.0.2 release-2.0.1 release-2.0.0 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/announce/release-2.0.3.txt Sun Apr 17 23:16:14 2011 +0200 @@ -0,0 +1,40 @@ +py.test 2.0.3: bug fixes and speed ups +=========================================================================== + +Welcome to pytest-2.0.3, a maintenance and bug fix release of pytest, +a mature testing tool for Python, supporting CPython 2.4-3.2, Jython +and latest PyPy interpreters. See the extensive docs with tested examples here: + + http://pytest.org/ + +If you want to install or upgrade pytest, just type one of:: + + pip install -U pytest # or + easy_install -U pytest + +There also is a bugfix release 1.6 of pytest-xdist, the plugin +that enables seemless distributed and "looponfail" testing for Python. + +best, +holger krekel + +Changes between 2.0.2 and 2.0.3 +---------------------------------------------- + +- fix issue38: nicer tracebacks on calls to hooks, particularly early + configure/sessionstart ones + +- fix missing skip reason/meta information in junitxml files, reported + via http://lists.idyll.org/pipermail/testing-in-python/2011-March/003928.html + +- fix issue34: avoid collection failure with "test" prefixed classes + deriving from object. + +- don't require zlib (and other libs) for genscript plugin without + --genscript actually being used. + +- speed up skips (by not doing a full traceback represenation + internally) + +- fix issue37: avoid invalid characters in junitxml's output + http://bitbucket.org/hpk42/pytest/changeset/2ca334d2f701/ changeset: r2202:2ca334d2f701 user: hpk42 date: 2011-04-17 23:16:16 summary: Added tag 2.0.3 for changeset 49f11dbff725 affected #: 1 file (94 bytes) --- a/.hgtags Sun Apr 17 23:16:14 2011 +0200 +++ b/.hgtags Sun Apr 17 23:16:16 2011 +0200 @@ -37,3 +37,5 @@ 2ef82d82daacb72733a3a532a95c5a37164e5819 2.0.3 2ef82d82daacb72733a3a532a95c5a37164e5819 2.0.3 c777dcad166548b7499564cb49ae5c8b4b07f935 2.0.3 +c777dcad166548b7499564cb49ae5c8b4b07f935 2.0.3 +49f11dbff725acdcc5fe3657cbcdf9ae04e25bbc 2.0.3 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.