[Checkins] SVN: zc.lockfile/trunk/src/zc/lockfile/ Fixed a small bug in the file locking error logging (originally
Jim Fulton
jim at zope.com
Sat Oct 18 13:10:08 EDT 2008
Log message for revision 92354:
Fixed a small bug in the file locking error logging (originally
developed by Benji York in the ZODB project).
Changed:
U zc.lockfile/trunk/src/zc/lockfile/README.txt
U zc.lockfile/trunk/src/zc/lockfile/__init__.py
U zc.lockfile/trunk/src/zc/lockfile/tests.py
-=-
Modified: zc.lockfile/trunk/src/zc/lockfile/README.txt
===================================================================
--- zc.lockfile/trunk/src/zc/lockfile/README.txt 2008-10-18 15:04:04 UTC (rev 92353)
+++ zc.lockfile/trunk/src/zc/lockfile/README.txt 2008-10-18 17:10:07 UTC (rev 92354)
@@ -11,12 +11,18 @@
If we try to lock the same name, we'll get a lock error:
+ >>> import zope.testing.loggingsupport
+ >>> handler = zope.testing.loggingsupport.InstalledHandler('zc.lockfile')
>>> try:
... zc.lockfile.LockFile('lock')
... except zc.lockfile.LockError:
- ... print "Can't lock"
- Can't lock
+ ... print "Can't lock file"
+ Can't lock file
+ >>> for record in handler.records:
+ ... print record.levelname, record.getMessage()
+ ERROR Error locking file lock; pid=UNKNOWN
+
To release the lock, use it's close method:
>>> lock.close()
@@ -31,3 +37,9 @@
>>> lock = zc.lockfile.LockFile('lock')
>>> lock.close()
+
+.. Cleanup
+
+ >>> import os
+ >>> os.remove('lock')
+
Modified: zc.lockfile/trunk/src/zc/lockfile/__init__.py
===================================================================
--- zc.lockfile/trunk/src/zc/lockfile/__init__.py 2008-10-18 15:04:04 UTC (rev 92353)
+++ zc.lockfile/trunk/src/zc/lockfile/__init__.py 2008-10-18 17:10:07 UTC (rev 92354)
@@ -15,7 +15,7 @@
import os
import errno
import logging
-logger = logging.getLogger("ZODB.lock_file")
+logger = logging.getLogger("zc.lockfile")
class LockError(Exception):
"""Couldn't get a lock
@@ -78,7 +78,9 @@
fp.seek(1)
pid = fp.read().strip()[:20]
fp.close()
- logger.exception("Error locking file", path, pid)
+ if not pid:
+ pid = 'UNKNOWN'
+ logger.exception("Error locking file %s; pid=%s", path, pid)
raise
self._fp = fp
Modified: zc.lockfile/trunk/src/zc/lockfile/tests.py
===================================================================
--- zc.lockfile/trunk/src/zc/lockfile/tests.py 2008-10-18 15:04:04 UTC (rev 92353)
+++ zc.lockfile/trunk/src/zc/lockfile/tests.py 2008-10-18 17:10:07 UTC (rev 92354)
@@ -12,7 +12,7 @@
#
##############################################################################
import os, sys, unittest
-from zope.testing import doctest
+from zope.testing import doctest, setupstack
import zc.lockfile, time, threading
@@ -53,6 +53,9 @@
def test_suite():
suite = unittest.TestSuite()
- suite.addTest(doctest.DocFileSuite('README.txt'))
- suite.addTest(doctest.DocTestSuite())
+ suite.addTest(doctest.DocFileSuite(
+ 'README.txt',
+ setUp=setupstack.setUpDirectory, tearDown=setupstack.tearDown))
+ suite.addTest(doctest.DocTestSuite(
+ setUp=setupstack.setUpDirectory, tearDown=setupstack.tearDown))
return suite
More information about the Checkins
mailing list