[Pytest-commit] commit/py: 4 new changesets

commits-noreply at bitbucket.org commits-noreply at bitbucket.org
Mon Aug 4 14:47:34 CEST 2014


4 new commits in py:

https://bitbucket.org/hpk42/py/commits/0973095b4ffe/
Changeset:   0973095b4ffe
User:        hpk42
Date:        2014-08-04 13:10:59
Summary:     use newer apipkg version which makes attribute access on
alias modules resolve to None rather than an ImportError.
This helps with code that uses inspect.getframeinfo()
on py34 which causes a complete walk on sys.modules
thus triggering the alias module to resolve and blowing
up with ImportError.  The negative side is that something
like "py.test.X" will now result in None instead of "importerror: pytest"
if pytest is not installed.  But you shouldn't import "py.test"
anyway anymore.
Affected #:  3 files

diff -r 37f557844498ef4943c1e68c8f40bc3713b0b393 -r 0973095b4ffec521e3f9ba94dd6c6b0d6c84a6e4 CHANGELOG
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,17 @@
+1.4.23
+==================================================
+
+- use newer apipkg version which makes attribute access on
+  alias modules resolve to None rather than an ImportError.
+  This helps with code that uses inspect.getframeinfo()
+  on py34 which causes a complete walk on sys.modules
+  thus triggering the alias module to resolve and blowing
+  up with ImportError.  The negative side is that something
+  like "py.test.X" will now result in None instead of "importerror: pytest"
+  if pytest is not installed.  But you shouldn't import "py.test" 
+  anyway anymore.
+
+
 1.4.22
 ==================================================
 

diff -r 37f557844498ef4943c1e68c8f40bc3713b0b393 -r 0973095b4ffec521e3f9ba94dd6c6b0d6c84a6e4 py/_apipkg.py
--- a/py/_apipkg.py
+++ b/py/_apipkg.py
@@ -17,6 +17,7 @@
     that will leave paths from jython jars alone
     """
     if path.startswith('__pyclasspath__'):
+
         return path
     else:
         return os.path.abspath(path)
@@ -41,7 +42,7 @@
     if hasattr(oldmod, "__dict__"):
         oldmod.__dict__.update(d)
     mod = ApiModule(pkgname, exportdefs, implprefix=pkgname, attr=d)
-    sys.modules[pkgname]  = mod
+    sys.modules[pkgname] = mod
 
 def importobj(modpath, attrname):
     module = __import__(modpath, None, None, ['__doc__'])
@@ -72,11 +73,11 @@
         self.__implprefix__ = implprefix or name
         if attr:
             for name, val in attr.items():
-                #print "setting", self.__name__, name, val
+                # print "setting", self.__name__, name, val
                 setattr(self, name, val)
         for name, importspec in importspec.items():
             if isinstance(importspec, dict):
-                subname = '%s.%s'%(self.__name__, name)
+                subname = '%s.%s' % (self.__name__, name)
                 apimod = ApiModule(subname, importspec, implprefix)
                 sys.modules[subname] = apimod
                 setattr(self, name, apimod)
@@ -88,7 +89,7 @@
                     modpath = implprefix + modpath
 
                 if not attrname:
-                    subname = '%s.%s'%(self.__name__, name)
+                    subname = '%s.%s' % (self.__name__, name)
                     apimod = AliasModule(subname, modpath)
                     sys.modules[subname] = apimod
                     if '.' not in name:
@@ -108,7 +109,7 @@
 
     def __makeattr(self, name):
         """lazily compute value for name or raise AttributeError if unknown."""
-        #print "makeattr", self.__name__, name
+        # print "makeattr", self.__name__, name
         target = None
         if '__onfirstaccess__' in self.__map__:
             target = self.__map__.pop('__onfirstaccess__')
@@ -126,7 +127,7 @@
             try:
                 del self.__map__[name]
             except KeyError:
-                pass # in a recursive-import situation a double-del can happen
+                pass  # in a recursive-import situation a double-del can happen
             return result
 
     __getattr__ = __makeattr
@@ -166,7 +167,10 @@
             return '<AliasModule %r for %r>' % (modname, x)
 
         def __getattribute__(self, name):
-            return getattr(getmod(), name)
+            try:
+                return getattr(getmod(), name)
+            except ImportError:
+                return None
 
         def __setattr__(self, name, value):
             setattr(getmod(), name, value)

diff -r 37f557844498ef4943c1e68c8f40bc3713b0b393 -r 0973095b4ffec521e3f9ba94dd6c6b0d6c84a6e4 tox.ini
--- a/tox.ini
+++ b/tox.ini
@@ -1,5 +1,5 @@
 [tox]
-envlist=py26,py27,py32,py33,external
+envlist=py26,py27,py33,py34,external
 # py27-xdist causes problems with svn, py25 requires virtualenv==1.9.1
 #indexserver=
 #    default=http://pypi.testrun.org


https://bitbucket.org/hpk42/py/commits/ff73ae3a4b47/
Changeset:   ff73ae3a4b47
User:        hpk42
Date:        2014-08-04 13:15:48
Summary:     adapt one svn test to only check for any exception instead
of specific ones because different svn versions cause different
errors and we don't care.
Affected #:  2 files

diff -r 0973095b4ffec521e3f9ba94dd6c6b0d6c84a6e4 -r ff73ae3a4b473d995d09a3ad69062af22a33d624 CHANGELOG
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -11,6 +11,10 @@
   if pytest is not installed.  But you shouldn't import "py.test" 
   anyway anymore.
 
+- adapt one svn test to only check for any exception instead 
+  of specific ones because different svn versions cause different
+  errors and we don't care.
+
 
 1.4.22
 ==================================================

diff -r 0973095b4ffec521e3f9ba94dd6c6b0d6c84a6e4 -r ff73ae3a4b473d995d09a3ad69062af22a33d624 testing/path/test_svnwc.py
--- a/testing/path/test_svnwc.py
+++ b/testing/path/test_svnwc.py
@@ -338,7 +338,7 @@
         somefile = root.join('somefile')
         somefile.ensure(file=True)
         # not yet added to repo
-        py.test.raises((py.process.cmdexec.Error, ValueError), 'somefile.lock()')
+        py.test.raises(Exception, 'somefile.lock()')
         somefile.write('foo')
         somefile.commit('test')
         assert somefile.check(versioned=True)


https://bitbucket.org/hpk42/py/commits/01ae2cfcc61c/
Changeset:   01ae2cfcc61c
User:        hpk42
Date:        2014-08-04 13:16:34
Summary:     prepare 1.4.23
Affected #:  2 files

diff -r ff73ae3a4b473d995d09a3ad69062af22a33d624 -r 01ae2cfcc61c4fcb3aa5031349adb5b467c31018 py/__init__.py
--- a/py/__init__.py
+++ b/py/__init__.py
@@ -8,7 +8,7 @@
 
 (c) Holger Krekel and others, 2004-2013
 """
-__version__ = '1.4.22'
+__version__ = '1.4.23'
 
 from py import _apipkg
 

diff -r ff73ae3a4b473d995d09a3ad69062af22a33d624 -r 01ae2cfcc61c4fcb3aa5031349adb5b467c31018 setup.py
--- a/setup.py
+++ b/setup.py
@@ -7,7 +7,7 @@
         name='py',
         description='library with cross-python path, ini-parsing, io, code, log facilities',
         long_description = open('README.txt').read(),
-        version='1.4.22',
+        version='1.4.23',
         url='http://pylib.readthedocs.org/',
         license='MIT license',
         platforms=['unix', 'linux', 'osx', 'cygwin', 'win32'],


https://bitbucket.org/hpk42/py/commits/591f6bfa83c0/
Changeset:   591f6bfa83c0
User:        hpk42
Date:        2014-08-04 13:31:29
Summary:     Added tag 1.4.23 for changeset 01ae2cfcc61c
Affected #:  1 file

diff -r 01ae2cfcc61c4fcb3aa5031349adb5b467c31018 -r 591f6bfa83c0f26d503a57f60c3275d33a4208f0 .hgtags
--- a/.hgtags
+++ b/.hgtags
@@ -55,3 +55,4 @@
 284cc172e294d48edc840012e1451c32c3963d92 1.4.19
 a3e0626aa0c5aecf271367dc77e476ab216ea3c8 1.4.20
 5e48016c4a3af8e7358a1267d33d021e71765bed 1.4.21
+01ae2cfcc61c4fcb3aa5031349adb5b467c31018 1.4.23

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.


More information about the pytest-commit mailing list