[Checkins] SVN: transaction/trunk/ - Fixed ``hexlify`` NameError in ``transaction._transaction.oid_repr``
Chris McDonough
chrism at plope.com
Wed Sep 15 10:50:49 EDT 2010
Log message for revision 116436:
- Fixed ``hexlify`` NameError in ``transaction._transaction.oid_repr``
and add test.
Changed:
U transaction/trunk/CHANGES.txt
U transaction/trunk/transaction/_transaction.py
U transaction/trunk/transaction/tests/test_transaction.py
-=-
Modified: transaction/trunk/CHANGES.txt
===================================================================
--- transaction/trunk/CHANGES.txt 2010-09-15 14:11:06 UTC (rev 116435)
+++ transaction/trunk/CHANGES.txt 2010-09-15 14:50:48 UTC (rev 116436)
@@ -10,6 +10,9 @@
objects after calling ``sys.exc_info()`` to get one, causing
potential reference leakages.
+- Fixed ``hexlify`` NameError in ``transaction._transaction.oid_repr``
+ and add test.
+
1.1.0 (1010-05-12)
------------------
Modified: transaction/trunk/transaction/_transaction.py
===================================================================
--- transaction/trunk/transaction/_transaction.py 2010-09-15 14:11:06 UTC (rev 116435)
+++ transaction/trunk/transaction/_transaction.py 2010-09-15 14:50:48 UTC (rev 116436)
@@ -97,10 +97,10 @@
as their only argument.
"""
+import binascii
import logging
import sys
import thread
-import warnings
import weakref
import traceback
from cStringIO import StringIO
@@ -612,7 +612,7 @@
def oid_repr(oid):
if isinstance(oid, str) and len(oid) == 8:
# Convert to hex and strip leading zeroes.
- as_hex = hexlify(oid).lstrip('0')
+ as_hex = binascii.hexlify(oid).lstrip('0')
# Ensure two characters per input byte.
if len(as_hex) & 1:
as_hex = '0' + as_hex
Modified: transaction/trunk/transaction/tests/test_transaction.py
===================================================================
--- transaction/trunk/transaction/tests/test_transaction.py 2010-09-15 14:11:06 UTC (rev 116435)
+++ transaction/trunk/transaction/tests/test_transaction.py 2010-09-15 14:50:48 UTC (rev 116436)
@@ -41,10 +41,7 @@
import struct
import sys
import unittest
-import warnings
-
import transaction
-from transaction.tests.warnhook import WarningsHook
_ADDRESS_MASK = 256 ** struct.calcsize('P')
def positive_id(obj):
@@ -245,6 +242,25 @@
## self.fail("Hosed Application didn't stop commits")
+class Test_oid_repr(unittest.TestCase):
+ def _callFUT(self, oid):
+ from transaction._transaction import oid_repr
+ return oid_repr(oid)
+
+ def test_as_nonstring(self):
+ self.assertEqual(self._callFUT(123), '123')
+
+ def test_as_string_not_8_chars(self):
+ self.assertEqual(self._callFUT('a'), "'a'")
+
+ def test_as_string_z64(self):
+ s = '\0'*8
+ self.assertEqual(self._callFUT(s), '0x00')
+
+ def test_as_string_all_Fs(self):
+ s = '\1'*8
+ self.assertEqual(self._callFUT(s), '0x0101010101010101')
+
class DataObject:
def __init__(self, transaction_manager, nost=0):
@@ -748,6 +764,7 @@
DocFileSuite('doom.txt'),
DocTestSuite(),
unittest.makeSuite(TransactionTests),
+ unittest.makeSuite(Test_oid_repr),
))
if sys.version_info >= (2, 6):
suite.addTest(DocFileSuite('convenience.txt'))
More information about the checkins
mailing list