[Zope3-checkins] SVN: Zope3/trunk/src/zope/configuration/xmlconfig.pyFixed the "unbound local" error if a different IOError is raised.

Steve Alexander steve at z3u.com
Sat Aug 7 02:54:44 EDT 2004


Phil Ruggera wrote:
> In W2K the unit tests give me:
> 
> Failure in test openInOrPlain (zope.configuration.xmlconfig)
> Traceback (most recent call last):
>   File "G:\Python\Dev\zope\src\zope\testing\doctestunit.py", line 71, in
> runTest
>     raise self.failureException(self.format_failure(new.getvalue()))
> AssertionError: Failed doctest test for
> zope.configuration.xmlconfig.openInOrPlain
>   File "G:\Python\Dev\zope\src\zope\configuration\xmlconfig.py", line 251,
> in openInOrPlain
> 
> *****************************************************************
> Failure in example: f = openInOrPlain('.')
> from line #30 of zope.configuration.xmlconfig.openInOrPlain
> Expected: IOError: [Errno 21] Is a directory
> Got: IOError: [Errno 13] Permission denied: '.'

Thanks!  I've checked in the following fix, which should work on both 
Linux and Windows 2000.


Index: src/zope/configuration/xmlconfig.py
===================================================================
--- src/zope/configuration/xmlconfig.py (revision 26948)
+++ src/zope/configuration/xmlconfig.py (working copy)
@@ -276,12 +276,18 @@
      >>> f.name[-11:]
      'foo.zcml.in'

-    Make sure other IOErrors are re-raised:
+    Make sure other IOErrors are re-raised.  We need to do this in a
+    try-except block because different errors are raised on Windows and
+    on Linux.

-    >>> f = openInOrPlain('.')
-    Traceback (most recent call last):
+    >>> try:
+    ...     f = openInOrPlain('.')
+    ... except IOError:
+    ...     print "passed"
+    ... else:
+    ...     print "failed"
      ...
-    IOError: [Errno 21] Is a directory
+    passed

      """
      try:

-- 
Steve Alexander


More information about the Zope3-Checkins mailing list