Commit 772d36c4 authored by Paul Winkler's avatar Paul Winkler

OFS ObjectManager: Fixed list_imports() to tolerate missing

import directories. (Merged from trunk.)
parent e0b8013b
......@@ -27,6 +27,9 @@ Zope Changes
Bugs fixed
- OFS ObjectManager: Fixed list_imports() to tolerate missing
import directories.
- Collector #1965: 'get_transaction' missing from builtins without
sufficient deprecation notice (ZODB 3.6 properly removed it, but
Zope needs to keep it for another release).
......
......@@ -619,6 +619,8 @@ class ObjectManager(
paths.append(cfg.instancehome)
for impath in paths:
directory = os.path.join(impath, 'import')
if not os.path.isdir(directory):
continue
listing += [f for f in os.listdir(directory)
if f.endswith('.zexp') or f.endswith('.xml')]
return listing
......
......@@ -108,7 +108,6 @@ class ObjectManagerTests(PlacelessSetup, unittest.TestCase):
self.assertEqual( si.__ac_local_roles__, None )
def test_setObject_set_owner_with_emergency_user( self ):
om = self._makeOne()
newSecurityManager( None, emergency_user )
......@@ -380,6 +379,16 @@ class ObjectManagerTests(PlacelessSetup, unittest.TestCase):
self.assertRaises(BadRequest, om._setObject, 'REQUEST', si)
self.assertRaises(BadRequest, om._setObject, '/', si)
def test_list_imports(self):
om = self._makeOne()
# This must work whether we've done "make instance" or not.
# So list_imports() may return an empty list, or whatever's
# in skel/import. Tolerate both cases.
self.failUnless(isinstance(om.list_imports(), list))
for filename in om.list_imports():
self.failUnless(filename.endswith('.zexp') or
filename.endswith('.xml'))
def test_suite():
suite = unittest.TestSuite()
suite.addTest( unittest.makeSuite( ObjectManagerTests ) )
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment