Hello community, here is the log from the commit of package python3-mccabe for openSUSE:Factory checked in at 2016-02-01 19:57:17 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python3-mccabe (Old) and /work/SRC/openSUSE:Factory/.python3-mccabe.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "python3-mccabe" Changes: -------- --- /work/SRC/openSUSE:Factory/python3-mccabe/python3-mccabe.changes 2015-06-16 14:06:09.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.python3-mccabe.new/python3-mccabe.changes 2016-02-01 19:57:38.000000000 +0100 @@ -1,0 +2,12 @@ +Mon Feb 1 04:04:22 UTC 2016 - arun@gmx.de + +- specfile: + * update copyright year + * changed to setuptools + * added pytest-runner + +- update to version 0.4.0: + * Stop testing on Python 3.2 + * Add support for async/await keywords on Python 3.5 from PEP 0492 + +------------------------------------------------------------------- Old: ---- mccabe-0.3.1.tar.gz New: ---- mccabe-0.4.0.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python3-mccabe.spec ++++++ --- /var/tmp/diff_new_pack.Fwh37J/_old 2016-02-01 19:57:39.000000000 +0100 +++ /var/tmp/diff_new_pack.Fwh37J/_new 2016-02-01 19:57:39.000000000 +0100 @@ -1,7 +1,7 @@ # # spec file for package python3-mccabe # -# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2016 SUSE LINUX 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,7 +17,7 @@ Name: python3-mccabe -Version: 0.3.1 +Version: 0.4.0 Release: 0 Summary: McCabe checker, plugin for flake8 License: MIT @@ -26,7 +26,8 @@ Source: http://pypi.python.org/packages/source/m/mccabe/mccabe-%{version}.tar.gz BuildRequires: python3 BuildRequires: python3-devel -BuildRequires: python3-distribute +BuildRequires: python3-pytest-runner +BuildRequires: python3-setuptools BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildArch: noarch ++++++ mccabe-0.3.1.tar.gz -> mccabe-0.4.0.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mccabe-0.3.1/PKG-INFO new/mccabe-0.4.0/PKG-INFO --- old/mccabe-0.3.1/PKG-INFO 2015-06-14 20:58:06.000000000 +0200 +++ new/mccabe-0.4.0/PKG-INFO 2016-01-27 17:41:12.000000000 +0100 @@ -1,10 +1,10 @@ Metadata-Version: 1.1 Name: mccabe -Version: 0.3.1 +Version: 0.4.0 Summary: McCabe checker, plugin for flake8 -Home-page: https://github.com/flintwork/mccabe -Author: Florent Xicluna -Author-email: florent.xicluna@gmail.com +Home-page: https://github.com/pycqa/mccabe +Author: Ian Cordasco +Author-email: graffatcolmingov@gmail.com License: Expat license Description: McCabe complexity checker ========================= @@ -73,6 +73,13 @@ Changes ------- + 0.4.0 - 2016-01-27 + `````````````````` + + * Stop testing on Python 3.2 + + * Add support for async/await keywords on Python 3.5 from PEP 0492 + 0.3.1 - 2015-06-14 `````````````````` @@ -117,13 +124,17 @@ Keywords: flake8 mccabe Platform: UNKNOWN -Classifier: Development Status :: 3 - Alpha +Classifier: Development Status :: 5 - Production/Stable Classifier: Environment :: Console Classifier: Intended Audience :: Developers Classifier: License :: OSI Approved :: MIT License Classifier: Operating System :: OS Independent Classifier: Programming Language :: Python Classifier: Programming Language :: Python :: 2 +Classifier: Programming Language :: Python :: 2.7 Classifier: Programming Language :: Python :: 3 +Classifier: Programming Language :: Python :: 3.3 +Classifier: Programming Language :: Python :: 3.4 +Classifier: Programming Language :: Python :: 3.5 Classifier: Topic :: Software Development :: Libraries :: Python Modules Classifier: Topic :: Software Development :: Quality Assurance diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mccabe-0.3.1/README.rst new/mccabe-0.4.0/README.rst --- old/mccabe-0.3.1/README.rst 2015-06-14 20:57:32.000000000 +0200 +++ new/mccabe-0.4.0/README.rst 2016-01-27 17:40:06.000000000 +0100 @@ -65,6 +65,13 @@ Changes ------- +0.4.0 - 2016-01-27 +`````````````````` + +* Stop testing on Python 3.2 + +* Add support for async/await keywords on Python 3.5 from PEP 0492 + 0.3.1 - 2015-06-14 `````````````````` diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mccabe-0.3.1/mccabe.egg-info/PKG-INFO new/mccabe-0.4.0/mccabe.egg-info/PKG-INFO --- old/mccabe-0.3.1/mccabe.egg-info/PKG-INFO 2015-06-14 20:58:06.000000000 +0200 +++ new/mccabe-0.4.0/mccabe.egg-info/PKG-INFO 2016-01-27 17:41:12.000000000 +0100 @@ -1,10 +1,10 @@ Metadata-Version: 1.1 Name: mccabe -Version: 0.3.1 +Version: 0.4.0 Summary: McCabe checker, plugin for flake8 -Home-page: https://github.com/flintwork/mccabe -Author: Florent Xicluna -Author-email: florent.xicluna@gmail.com +Home-page: https://github.com/pycqa/mccabe +Author: Ian Cordasco +Author-email: graffatcolmingov@gmail.com License: Expat license Description: McCabe complexity checker ========================= @@ -73,6 +73,13 @@ Changes ------- + 0.4.0 - 2016-01-27 + `````````````````` + + * Stop testing on Python 3.2 + + * Add support for async/await keywords on Python 3.5 from PEP 0492 + 0.3.1 - 2015-06-14 `````````````````` @@ -117,13 +124,17 @@ Keywords: flake8 mccabe Platform: UNKNOWN -Classifier: Development Status :: 3 - Alpha +Classifier: Development Status :: 5 - Production/Stable Classifier: Environment :: Console Classifier: Intended Audience :: Developers Classifier: License :: OSI Approved :: MIT License Classifier: Operating System :: OS Independent Classifier: Programming Language :: Python Classifier: Programming Language :: Python :: 2 +Classifier: Programming Language :: Python :: 2.7 Classifier: Programming Language :: Python :: 3 +Classifier: Programming Language :: Python :: 3.3 +Classifier: Programming Language :: Python :: 3.4 +Classifier: Programming Language :: Python :: 3.5 Classifier: Topic :: Software Development :: Libraries :: Python Modules Classifier: Topic :: Software Development :: Quality Assurance diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mccabe-0.3.1/mccabe.py new/mccabe-0.4.0/mccabe.py --- old/mccabe-0.3.1/mccabe.py 2015-06-14 20:55:36.000000000 +0200 +++ new/mccabe-0.4.0/mccabe.py 2016-01-27 17:40:22.000000000 +0100 @@ -14,7 +14,7 @@ except ImportError: # Python 2.5 from flake8.util import ast, iter_child_nodes -__version__ = '0.3.1' +__version__ = '0.4.0' class ASTVisitor(object): @@ -133,6 +133,8 @@ self.graphs["%s%s" % (self.classname, node.name)] = self.graph self.reset() + visitAsyncFunctionDef = visitFunctionDef + def visitClassDef(self, node): old_classname = self.classname self.classname += node.name + "." @@ -158,13 +160,13 @@ visitAssert = visitAssign = visitAugAssign = visitDelete = visitPrint = \ visitRaise = visitYield = visitImport = visitCall = visitSubscript = \ visitPass = visitContinue = visitBreak = visitGlobal = visitReturn = \ - visitSimpleStatement + visitAwait = visitSimpleStatement def visitLoop(self, node): name = "Loop %d" % node.lineno self._subgraph(node, name) - visitFor = visitWhile = visitLoop + visitAsyncFor = visitFor = visitWhile = visitLoop def visitIf(self, node): name = "If %d" % node.lineno @@ -216,6 +218,8 @@ self.appendPathNode(name) self.dispatch_list(node.body) + visitAsyncWith = visitWith + class McCabeChecker(object): """McCabe cyclomatic complexity checker.""" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mccabe-0.3.1/setup.cfg new/mccabe-0.4.0/setup.cfg --- old/mccabe-0.3.1/setup.cfg 2015-06-14 20:58:06.000000000 +0200 +++ new/mccabe-0.4.0/setup.cfg 2016-01-27 17:41:12.000000000 +0100 @@ -1,8 +1,11 @@ [wheel] universal = 1 +[aliases] +test = pytest + [egg_info] -tag_date = 0 tag_build = +tag_date = 0 tag_svn_revision = 0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mccabe-0.3.1/setup.py new/mccabe-0.4.0/setup.py --- old/mccabe-0.3.1/setup.py 2014-04-26 15:47:59.000000000 +0200 +++ new/mccabe-0.4.0/setup.py 2016-01-27 17:37:51.000000000 +0100 @@ -27,27 +27,32 @@ keywords='flake8 mccabe', author='Tarek Ziade', author_email='tarek@ziade.org', - maintainer='Florent Xicluna', - maintainer_email='florent.xicluna@gmail.com', - url='https://github.com/flintwork/mccabe', + maintainer='Ian Cordasco', + maintainer_email='graffatcolmingov@gmail.com', + url='https://github.com/pycqa/mccabe', license='Expat license', py_modules=['mccabe'], zip_safe=False, - test_suite='test_mccabe', + setup_requires=['pytest-runner'], + tests_require=['pytest'], entry_points={ 'flake8.extension': [ 'C90 = mccabe:McCabeChecker', ], }, classifiers=[ - 'Development Status :: 3 - Alpha', + 'Development Status :: 5 - Production/Stable', 'Environment :: Console', 'Intended Audience :: Developers', 'License :: OSI Approved :: MIT License', 'Operating System :: OS Independent', 'Programming Language :: Python', 'Programming Language :: Python :: 2', + 'Programming Language :: Python :: 2.7', 'Programming Language :: Python :: 3', + 'Programming Language :: Python :: 3.3', + 'Programming Language :: Python :: 3.4', + 'Programming Language :: Python :: 3.5', 'Topic :: Software Development :: Libraries :: Python Modules', 'Topic :: Software Development :: Quality Assurance', ], diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mccabe-0.3.1/test_mccabe.py new/mccabe-0.4.0/test_mccabe.py --- old/mccabe-0.3.1/test_mccabe.py 2015-06-14 20:51:46.000000000 +0200 +++ new/mccabe-0.4.0/test_mccabe.py 2016-01-27 17:35:21.000000000 +0100 @@ -5,6 +5,8 @@ except ImportError: from io import StringIO +import pytest + import mccabe from mccabe import get_code_complexity @@ -84,6 +86,19 @@ print(4) """ +async_keywords = """\ +async def foobar(a, b, c): + await whatever(a, b, c) + if await b: + pass + + async with c: + pass + + async for x in a: + pass +""" + def get_complexity_number(snippet, strio, max=0): """Get the complexity number from the printed string.""" @@ -164,6 +179,13 @@ def test_try_else(self): self.assert_complexity(try_else, 4) + @pytest.mark.skipif(sys.version_info < (3, 5), + reason="Async keywords are only valid on Python 3.5+") + def test_async_keywords(self): + """Validate that we properly process async keyword usage.""" + complexity = get_complexity_number(async_keywords, self.strio) + self.assertEqual(complexity, 3) + class RegressionTests(unittest.TestCase): def setUp(self):