Hello community, here is the log from the commit of package python-pyVows for openSUSE:Factory checked in at 2020-03-11 18:51:57 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-pyVows (Old) and /work/SRC/openSUSE:Factory/.python-pyVows.new.3160 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-pyVows" Wed Mar 11 18:51:57 2020 rev:3 rq:783594 version:3.0.0 Changes: -------- --- /work/SRC/openSUSE:Factory/python-pyVows/python-pyVows.changes 2019-03-10 09:37:04.764151757 +0100 +++ /work/SRC/openSUSE:Factory/.python-pyVows.new.3160/python-pyVows.changes 2020-03-11 18:54:53.211662554 +0100 @@ -1,0 +2,9 @@ +Wed Mar 11 05:04:44 UTC 2020 - Steve Kowalik <steven.kowa...@suse.com> + +- Update to 3.0.0: + * No upstream changelog, various fixes for Python 3. +- Drop patches no longer required: + * pr_133.patch + * py37-async-keyword.patch + +------------------------------------------------------------------- Old: ---- pr_133.patch py37-async-keyword.patch pyVows-2.1.0.tar.gz New: ---- pyVows-3.0.0.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-pyVows.spec ++++++ --- /var/tmp/diff_new_pack.KcSjxj/_old 2020-03-11 18:54:53.595662725 +0100 +++ /var/tmp/diff_new_pack.KcSjxj/_new 2020-03-11 18:54:53.595662725 +0100 @@ -1,7 +1,7 @@ # # spec file for package python-pyVows # -# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2020 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -18,19 +18,16 @@ %{?!python_module:%define python_module() python-%{**} python3-%{**}} Name: python-pyVows -Version: 2.1.0 +Version: 3.0.0 Release: 0 Summary: BDD test engine based on Vows.js License: MIT Group: Development/Languages/Python URL: https://github.com/heynemann/pyvows Source: https://files.pythonhosted.org/packages/source/p/pyVows/pyVows-%{version}.tar.gz -# Extracted from https://patch-diff.githubusercontent.com/raw/heynemann/pyvows/pull/133.patch -Patch0: pr_133.patch -Patch1: py37-async-keyword.patch BuildRequires: %{python_module Unidecode} -BuildRequires: %{python_module gevent >= 0.13.6} BuildRequires: %{python_module colorama >= 0.3.7} +BuildRequires: %{python_module gevent >= 0.13.6} BuildRequires: %{python_module preggy >= 0.5.8} BuildRequires: %{python_module setuptools} BuildRequires: fdupes @@ -47,8 +44,6 @@ %prep %setup -q -n pyVows-%{version} -%patch0 -p1 -%patch1 -p1 sed -i '/^#!/d' pyvows/__main__.py pyvows/cli.py %build ++++++ pyVows-2.1.0.tar.gz -> pyVows-3.0.0.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyVows-2.1.0/PKG-INFO new/pyVows-3.0.0/PKG-INFO --- old/pyVows-2.1.0/PKG-INFO 2016-07-26 18:35:58.000000000 +0200 +++ new/pyVows-3.0.0/PKG-INFO 2019-11-26 04:02:02.209948000 +0100 @@ -1,10 +1,11 @@ -Metadata-Version: 1.1 +Metadata-Version: 2.1 Name: pyVows -Version: 2.1.0 +Version: 3.0.0 Summary: pyVows is a BDD test engine based on Vows.js <http://vowsjs.org>. Home-page: http://pyvows.org -Author: Zearin +Author: Bernardo Heynemann Author-email: heynem...@gmail.com +Maintainer: Zearin License: MIT Description: pyVows is a test engine based on Vows.js. It features topic-based testing, (*fast*) parallel running of tests, code coverage reports, test profiling, and @@ -26,3 +27,5 @@ Classifier: Programming Language :: Python :: 2.6 Classifier: Programming Language :: Python :: 2.7 Classifier: Topic :: Software Development :: Testing +Description-Content-Type: text/x-rst +Provides-Extra: tests diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyVows-2.1.0/README.md new/pyVows-3.0.0/README.md --- old/pyVows-2.1.0/README.md 1970-01-01 01:00:00.000000000 +0100 +++ new/pyVows-3.0.0/README.md 2019-11-25 03:39:08.000000000 +0100 @@ -0,0 +1,17 @@ +[![Build Status](https://secure.travis-ci.org/heynemann/pyvows.png?branch=master)](http://travis-ci.org/heynemann/pyvows) +[![Coverage Status](https://coveralls.io/repos/heynemann/pyvows/badge.png)](https://coveralls.io/r/heynemann/pyvows) +[![PyPI Version](https://pypip.in/v/pyVows/badge.png)](https://crate.io/packages/pyVows) +[![PyPI Downloads](https://pypip.in/d/pyVows/badge.png)](https://crate.io/packages/pyVows) + +PyVows is the Python version of the [Vows.JS](http://vowsjs.org) testing framework. + +For more info, go to [pyVows website](http://pyvows.org). + +If you are using [tornado](http://www.tornadoweb.org), check out the +[Tornado_pyVows project](https://github.com/rafaelcaricio/tornado_pyvows) +by Rafael Carício. + +---- + +**Want to contribute?** Awesome! Please be sure to read +[Contributing](./CONTRIBUTING.md) first. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyVows-2.1.0/pyVows.egg-info/PKG-INFO new/pyVows-3.0.0/pyVows.egg-info/PKG-INFO --- old/pyVows-2.1.0/pyVows.egg-info/PKG-INFO 2016-07-26 18:35:58.000000000 +0200 +++ new/pyVows-3.0.0/pyVows.egg-info/PKG-INFO 2019-11-26 04:02:02.000000000 +0100 @@ -1,10 +1,11 @@ -Metadata-Version: 1.1 +Metadata-Version: 2.1 Name: pyVows -Version: 2.1.0 +Version: 3.0.0 Summary: pyVows is a BDD test engine based on Vows.js <http://vowsjs.org>. Home-page: http://pyvows.org -Author: Zearin +Author: Bernardo Heynemann Author-email: heynem...@gmail.com +Maintainer: Zearin License: MIT Description: pyVows is a test engine based on Vows.js. It features topic-based testing, (*fast*) parallel running of tests, code coverage reports, test profiling, and @@ -26,3 +27,5 @@ Classifier: Programming Language :: Python :: 2.6 Classifier: Programming Language :: Python :: 2.7 Classifier: Topic :: Software Development :: Testing +Description-Content-Type: text/x-rst +Provides-Extra: tests diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyVows-2.1.0/pyVows.egg-info/SOURCES.txt new/pyVows-3.0.0/pyVows.egg-info/SOURCES.txt --- old/pyVows-2.1.0/pyVows.egg-info/SOURCES.txt 2016-07-26 18:35:58.000000000 +0200 +++ new/pyVows-3.0.0/pyVows.egg-info/SOURCES.txt 2019-11-26 04:02:02.000000000 +0100 @@ -1,4 +1,5 @@ MANIFEST.in +README.md setup.py pyVows.egg-info/PKG-INFO pyVows.egg-info/SOURCES.txt diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyVows-2.1.0/pyVows.egg-info/requires.txt new/pyVows-3.0.0/pyVows.egg-info/requires.txt --- old/pyVows-2.1.0/pyVows.egg-info/requires.txt 2016-07-26 18:35:58.000000000 +0200 +++ new/pyVows-3.0.0/pyVows.egg-info/requires.txt 2019-11-26 04:02:02.000000000 +0100 @@ -1,7 +1,7 @@ -gevent>=0.13.6 -preggy>=0.11.1 +gevent>=1.2.2 +preggy>=1.3.0 [tests] -argparse -colorama -coverage +argparse>=1.4.0 +colorama>=0.3.7 +coverage>=4.1.1 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyVows-2.1.0/pyvows/cli.py new/pyVows-3.0.0/pyvows/cli.py --- old/pyVows-2.1.0/pyvows/cli.py 2016-07-26 18:24:45.000000000 +0200 +++ new/pyVows-3.0.0/pyvows/cli.py 2019-11-26 03:58:05.000000000 +0100 @@ -224,7 +224,7 @@ if xml: if arguments.cover_report: - with open(arguments.cover_report, 'w') as report: + with open(arguments.cover_report, 'wb') as report: report.write(xml) arguments.cover_threshold /= 100.0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyVows-2.1.0/pyvows/reporting/common.py new/pyVows-3.0.0/pyvows/reporting/common.py --- old/pyVows-2.1.0/pyvows/reporting/common.py 2016-07-26 18:24:45.000000000 +0200 +++ new/pyVows-3.0.0/pyvows/reporting/common.py 2019-11-26 03:58:05.000000000 +0100 @@ -42,10 +42,10 @@ Currently used only for characters `✓` and `✗`. ''' - if isinstance(thing, unicode): - return thing.encode(encoding) - else: + if isinstance(thing, bytes) or not isinstance(thing, str): return thing + else: + return thing.encode(encoding) class VowsReporter(object): @@ -169,8 +169,10 @@ '''Prints a color-formatted traceback with appropriate indentation.''' if isinstance(err_obj, AssertionError): error_msg = err_obj + elif isinstance(err_obj, bytes): + error_msg = err_obj.decode('utf8') else: - error_msg = unicode(err_obj) + error_msg = err_obj print(self.indent_msg(red(error_msg)), file=file) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyVows-2.1.0/pyvows/reporting/test.py new/pyVows-3.0.0/pyvows/reporting/test.py --- old/pyVows-2.1.0/pyvows/reporting/test.py 2016-07-26 18:24:45.000000000 +0200 +++ new/pyVows-3.0.0/pyvows/reporting/test.py 2019-11-26 03:58:05.000000000 +0100 @@ -11,7 +11,10 @@ from __future__ import division, print_function import sys -from StringIO import StringIO +try: + from StringIO import StringIO +except: + from io import StringIO from pyvows.color import yellow, red, blue from pyvows.reporting.common import ( diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyVows-2.1.0/pyvows/reporting/xunit.py new/pyVows-3.0.0/pyvows/reporting/xunit.py --- old/pyVows-2.1.0/pyvows/reporting/xunit.py 2016-07-26 18:24:45.000000000 +0200 +++ new/pyVows-3.0.0/pyvows/reporting/xunit.py 2019-11-26 03:58:05.000000000 +0100 @@ -26,7 +26,7 @@ def __init__(self, result): self.result_summary = self.summarize_results(result) - def write_report(self, filename, encoding='utf-8'): + def write_report(self, filename, encoding=None): # FIXME: Add Docstring with codecs.open(filename, 'w', encoding, 'replace') as output_file: output_file.write(self.to_xml(encoding)) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyVows-2.1.0/pyvows/runner/abc.py new/pyVows-3.0.0/pyvows/runner/abc.py --- old/pyVows-2.1.0/pyvows/runner/abc.py 2016-07-26 18:24:45.000000000 +0200 +++ new/pyVows-3.0.0/pyvows/runner/abc.py 2019-11-26 03:58:05.000000000 +0100 @@ -67,7 +67,7 @@ vow_result['succeeded'] = True if self.on_vow_success: self.on_vow_success(vow_result) - except SkipTest, se: + except SkipTest as se: vow_result['skip'] = se except: err_type, err_value, err_traceback = sys.exc_info() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyVows-2.1.0/pyvows/runner/executionplan.py new/pyVows-3.0.0/pyvows/runner/executionplan.py --- old/pyVows-2.1.0/pyvows/runner/executionplan.py 2016-07-26 18:24:45.000000000 +0200 +++ new/pyVows-3.0.0/pyvows/runner/executionplan.py 2019-11-26 03:58:05.000000000 +0100 @@ -15,7 +15,7 @@ def plan(self): plan = {} - for suiteName, contextClasses in self.suites.iteritems(): + for suiteName, contextClasses in self.suites.items(): plan[suiteName] = { 'contexts': {} } @@ -63,9 +63,10 @@ ] context['vows'] = [ - name for name, vow in contextMembers if inspect.ismethod(vow) - and self.is_included(context['id'] + '.' + name) - and not self.is_excluded(name) + name for name, vow in contextMembers + if (inspect.ismethod(vow) or inspect.isfunction(vow)) + and self.is_included(context['id'] + '.' + name) + and not self.is_excluded(name) ] subcontexts = [ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyVows-2.1.0/pyvows/runner/gevent.py new/pyVows-3.0.0/pyvows/runner/gevent.py --- old/pyVows-2.1.0/pyvows/runner/gevent.py 2016-07-26 18:24:45.000000000 +0200 +++ new/pyVows-3.0.0/pyvows/runner/gevent.py 2019-11-26 03:58:05.000000000 +0100 @@ -14,7 +14,10 @@ import inspect import sys import time -import StringIO +try: + from StringIO import StringIO +except: + from io import StringIO try: from colorama.ansitowin32 import AnsiToWin32 except ImportError: @@ -36,8 +39,8 @@ class _LocalOutput(gevent.local.local): def __init__(self): - self.__dict__['stdout'] = StringIO.StringIO() - self.__dict__['stderr'] = StringIO.StringIO() + self.__dict__['stdout'] = StringIO() + self.__dict__['stderr'] = StringIO() class _StreamCapture(object): @@ -71,9 +74,9 @@ start_time = time.time() result = VowsResult() if self.capture_output: - self._capture_streams(self.capture_output) + self._capture_streams(True) try: - for suiteName, suitePlan in self.execution_plan.iteritems(): + for suiteName, suitePlan in self.execution_plan.items(): batches = [batch for batch in self.suites[suiteName] if batch.__name__ in suitePlan['contexts']] for batch in batches: self.pool.spawn( @@ -88,7 +91,8 @@ self.pool.join() finally: - self._capture_streams(False) + if self.capture_output: + self._capture_streams(False) result.elapsed_time = elapsed(start_time) return result @@ -125,11 +129,11 @@ except Exception: raise VowsTopicError('setup', sys.exc_info()) - # Find & run topic function - if not hasattr(ctx_obj, 'topic'): # ctx_obj has no topic - return ctx_obj._get_first_available_topic(index) - try: + # Find & run topic function + if not hasattr(ctx_obj, 'topic'): # ctx_obj has no topic + return ctx_obj._get_first_available_topic(index) + topic_func = ctx_obj.topic topic_list = get_topics_for(topic_func, ctx_obj) @@ -239,11 +243,11 @@ try: topic = _run_setup_and_topic(ctx_obj, index) _update_execution_plan() - except SkipTest, se: + except SkipTest as se: ctx_result['skip'] = se skipReason = se topic = None - except VowsTopicError, e: + except VowsTopicError as e: ctx_result['error'] = e skipReason = SkipTest('topic dependency failed') topic = None @@ -251,7 +255,7 @@ if not ctx_result['error']: try: _run_teardown() - except Exception, e: + except Exception as e: ctx_result['error'] = e finally: ctx_result['stdout'] = VowsParallelRunner.output.stdout.getvalue() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyVows-2.1.0/pyvows/runner/utils.py new/pyVows-3.0.0/pyvows/runner/utils.py --- old/pyVows-2.1.0/pyvows/runner/utils.py 2016-07-26 18:24:45.000000000 +0200 +++ new/pyVows-3.0.0/pyvows/runner/utils.py 2019-11-26 03:58:05.000000000 +0100 @@ -34,10 +34,10 @@ # check for decorated topic function if hasattr(topic_function, '_original'): # _wrapper_type is 'async_topic' or 'capture_error' - async = (getattr(topic_function, '_wrapper_type', None) == 'async_topic') + _async = (getattr(topic_function, '_wrapper_type', None) == 'async_topic') topic_function = topic_function._original else: - async = False + _async = False code = get_code_for(topic_function) @@ -48,7 +48,7 @@ expected_args = code.co_argcount - 1 # taking the callback argument into consideration - if async: + if _async: expected_args -= 1 # prepare to create `topics` list diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyVows-2.1.0/pyvows/version.py new/pyVows-3.0.0/pyvows/version.py --- old/pyVows-2.1.0/pyvows/version.py 2016-07-26 18:33:49.000000000 +0200 +++ new/pyVows-3.0.0/pyvows/version.py 2019-11-26 03:59:00.000000000 +0100 @@ -12,7 +12,7 @@ #------------------------------------------------------------------------------------------------- -__version__ = (2, 1, 0) +__version__ = (3, 0, 0) #------------------------------------------------------------------------------------------------- diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyVows-2.1.0/setup.cfg new/pyVows-3.0.0/setup.cfg --- old/pyVows-2.1.0/setup.cfg 2016-07-26 18:35:58.000000000 +0200 +++ new/pyVows-3.0.0/setup.cfg 2019-11-26 04:02:02.209948000 +0100 @@ -1,5 +1,4 @@ [egg_info] tag_build = tag_date = 0 -tag_svn_revision = 0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyVows-2.1.0/setup.py new/pyVows-3.0.0/setup.py --- old/pyVows-2.1.0/setup.py 2016-07-26 18:24:45.000000000 +0200 +++ new/pyVows-3.0.0/setup.py 2019-11-26 03:58:17.000000000 +0100 @@ -18,14 +18,14 @@ _test_requires = [ - 'argparse', - 'colorama', - 'coverage' + 'argparse>=1.4.0', + 'colorama>=0.3.7', + 'coverage>=4.1.1' ] _install_requires = [ - 'gevent>=0.13.6', - 'preggy>=0.11.1', + 'gevent>=1.2.2', + 'preggy>=1.3.0', ] if sys.version_info < (2, 7): _install_requires.append('argparse >= 1.1') @@ -35,6 +35,7 @@ ### OVERVIEW name='pyVows', description='pyVows is a BDD test engine based on Vows.js <http://vowsjs.org>.', + long_description_content_type='text/x-rst', long_description=dedent( '''pyVows is a test engine based on Vows.js. It features topic-based testing, (*fast*) parallel running of tests, code coverage reports, test profiling, and diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyVows-2.1.0/tests/assertions/like_vows.py new/pyVows-3.0.0/tests/assertions/like_vows.py --- old/pyVows-2.1.0/tests/assertions/like_vows.py 2016-07-26 18:24:45.000000000 +0200 +++ new/pyVows-3.0.0/tests/assertions/like_vows.py 2019-11-26 03:58:05.000000000 +0100 @@ -47,9 +47,6 @@ def we_assert_it_is_like_42_float(self, topic): expect(topic).to_be_like(42.0) - def we_assert_it_is_like_42_long(self, topic): - expect(topic).to_be_like(long(42)) - def we_assert_it_is_not_like_41(self, topic): expect(topic).Not.to_be_like(41) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyVows-2.1.0/tests/assertions/types/file_vows.py new/pyVows-3.0.0/tests/assertions/types/file_vows.py --- old/pyVows-2.1.0/tests/assertions/types/file_vows.py 2016-07-26 18:24:45.000000000 +0200 +++ new/pyVows-3.0.0/tests/assertions/types/file_vows.py 2019-11-26 03:58:05.000000000 +0100 @@ -15,7 +15,9 @@ STRINGS = { 'that_are_files': ( __file__, - unicode(__file__), + (__file__.decode('utf8') + if isinstance(__file__, bytes) \ + else __file__), ), 'that_are_not_files': ( diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyVows-2.1.0/tests/async_vows.py new/pyVows-3.0.0/tests/async_vows.py --- old/pyVows-2.1.0/tests/async_vows.py 2016-07-26 18:24:45.000000000 +0200 +++ new/pyVows-3.0.0/tests/async_vows.py 2019-11-26 03:58:05.000000000 +0100 @@ -15,13 +15,13 @@ #------------------------------------------------------------------------------------------------- def asyncFunc(pool, callback): - def async(): + def _async(): time.sleep(0.1) return 10 def get_value(value): callback(value, 20, kwarg=30, kw2=40) - pool.apply_async(async, callback=get_value) + pool.apply_async(_async, callback=get_value) #------------------------------------------------------------------------------------------------- diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyVows-2.1.0/tests/bugs/64_vows.py new/pyVows-3.0.0/tests/bugs/64_vows.py --- old/pyVows-2.1.0/tests/bugs/64_vows.py 2016-07-26 18:24:45.000000000 +0200 +++ new/pyVows-3.0.0/tests/bugs/64_vows.py 2019-11-26 03:58:05.000000000 +0100 @@ -11,7 +11,10 @@ from pyvows.result import VowsResult from pyvows.reporting import VowsTestReporter # , VowsDefaultReporter -from StringIO import StringIO +try: + from StringIO import StringIO +except: + from io import StringIO @Vows.batch diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyVows-2.1.0/tests/context_inheritance_vows.py new/pyVows-3.0.0/tests/context_inheritance_vows.py --- old/pyVows-2.1.0/tests/context_inheritance_vows.py 2016-07-26 18:24:45.000000000 +0200 +++ new/pyVows-3.0.0/tests/context_inheritance_vows.py 2019-11-26 03:58:05.000000000 +0100 @@ -31,7 +31,8 @@ # Second case: BaseSubcontext should be ignored. class BaseSubcontext(Vows.Context): - def topic(self, (Thingy, ponies)): + def topic(self, v): + (Thingy, ponies) = v self.ignore('prepare') for pony in ponies: yield (Thingy, self.prepare(pony)) @@ -56,7 +57,8 @@ class ActualSubcontext(BaseContext.BaseSubcontext): def prepare(self, something): - return unicode(something) + return something.decode('utf8') if isinstance(something, bytes) else something - def pony_is_alicorn(self, (Thingy, pony)): + def pony_is_alicorn(self, v): + (Thingy, pony) = v expect(Thingy.alicorns).to_include(pony) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyVows-2.1.0/tests/prune_execution_vows.py new/pyVows-3.0.0/tests/prune_execution_vows.py --- old/pyVows-2.1.0/tests/prune_execution_vows.py 2016-07-26 18:24:45.000000000 +0200 +++ new/pyVows-3.0.0/tests/prune_execution_vows.py 2019-11-26 03:58:05.000000000 +0100 @@ -141,7 +141,7 @@ } expect(topic).to_equal(baseline) - class WithBothInclusionAndExclution(Vows.Context): + class WithBothInclusionAndExclusion(Vows.Context): @Vows.capture_error def topic(self): planner = ExecutionPlanner( diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyVows-2.1.0/tests/reporting/error_reporting_vows.py new/pyVows-3.0.0/tests/reporting/error_reporting_vows.py --- old/pyVows-2.1.0/tests/reporting/error_reporting_vows.py 2016-07-26 18:24:45.000000000 +0200 +++ new/pyVows-3.0.0/tests/reporting/error_reporting_vows.py 2019-11-26 03:58:05.000000000 +0100 @@ -12,7 +12,10 @@ from pyvows.reporting import VowsDefaultReporter from pyvows.runner.abc import VowsTopicError -from StringIO import StringIO +try: + from StringIO import StringIO +except: + from io import StringIO # These tests check that the reporting, which happens after all tests # have run, correctly shows the errors raised in topic functions. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyVows-2.1.0/tests/reporting/xunit_reporter_vows.py new/pyVows-3.0.0/tests/reporting/xunit_reporter_vows.py --- old/pyVows-2.1.0/tests/reporting/xunit_reporter_vows.py 2016-07-26 18:24:45.000000000 +0200 +++ new/pyVows-3.0.0/tests/reporting/xunit_reporter_vows.py 2019-11-26 03:58:05.000000000 +0100 @@ -34,11 +34,10 @@ return reporter def should_create_xml_header(self, topic): - expect(topic.to_xml().find('<?xml version="1.0" encoding="utf-8"?>')).to_equal(0) + expect(topic.to_xml().find(b'<?xml version="1.0" encoding="utf-8"?>')).to_equal(0) def should_have_a_testsuite_node(self, topic): - expect(topic.to_xml()).to_match(r'.*<testsuite errors="0" failures="0" hostname=".+?" ' + - 'name="pyvows" skip="0" tests="0" time="0\.000" timestamp=".+?"/>') + expect(topic.to_xml()).to_match(br'.*<testsuite.*/>') class WithDocument(Vows.Context): def topic(self, topic): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyVows-2.1.0/tests/skipping_vows.py new/pyVows-3.0.0/tests/skipping_vows.py --- old/pyVows-2.1.0/tests/skipping_vows.py 2016-07-26 18:24:45.000000000 +0200 +++ new/pyVows-3.0.0/tests/skipping_vows.py 2019-11-26 03:58:05.000000000 +0100 @@ -6,7 +6,10 @@ from pyvows.reporting.xunit import XUnitReporter from pyvows.reporting.common import V_VERBOSE -from StringIO import StringIO +try: + from StringIO import StringIO +except: + from io import StringIO @Vows.batch @@ -331,7 +334,10 @@ def tests_should_not_run_vow_shows_run(self, topic): expect(topic).Not.to_include('? tests should not run\n') - expect(topic).to_include('tests should not run\n') + try: + expect(topic).to_include('tests should not run\n') + except: + expect(topic).to_include("b'tests should not run'\n") def subcontext_tests_should_also_not_run_vow_shows_skipped(self, topic): expect(topic).to_include('? subcontext tests should also not run\n')