Skip to content

Commit 3e6ed51

Browse files
committed
Stop using six; fixes #504. Get tests running with newer ZODB that has removed a bunch of tests apparently.
1 parent d0bb72c commit 3e6ed51

File tree

4 files changed

+19
-12
lines changed

4 files changed

+19
-12
lines changed

CHANGES.rst

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
to support newer compilers like GCC 13.
1010
- Compile in C++ 11 mode instead of whatever the compiler default was
1111
(sometimes C++ 03), because the latter is deprecated by Boost.
12-
12+
- Stop relying on an undeclared dependency on ``six``. See :issue:`504`.
1313

1414
4.0.0 (2023-12-11)
1515
==================

src/relstorage/adapters/locker.py

+1-5
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@
2020

2121
import abc
2222
import sys
23-
import six
2423

2524

2625
from relstorage._compat import ABC
@@ -277,10 +276,7 @@ def reraise_commit_lock_error(self, cursor, lock_stmt, kind):
277276
val = kind(message)
278277
val.__relstorage_cause__ = v
279278
del v
280-
six.reraise(
281-
kind,
282-
val,
283-
sys.exc_info()[2])
279+
raise val.with_traceback(sys.exc_info()[2])
284280

285281
# MySQL allows aggregates in the top level to use FOR UPDATE,
286282
# but PostgreSQL does not, so we have to use the second form.

src/relstorage/tests/hptestbase.py

+9-1
Original file line numberDiff line numberDiff line change
@@ -480,6 +480,9 @@ def __tid_clock_needs_care(self):
480480
return getattr(adapter, 'RS_TEST_TXN_PACK_NEEDS_SLEEP', False)
481481

482482
def __maybe_ignore_monotonic(self, cls, method_name):
483+
if not hasattr(super(), method_name):
484+
raise unittest.SkipTest('Method ' + method_name + ' not available')
485+
483486
if not self.__tid_clock_needs_care():
484487
return getattr(super(), method_name)()
485488

@@ -523,6 +526,8 @@ def checkLoadBeforeOld(self):
523526
'checkLoadBeforeOld')
524527

525528
def checkSimpleHistory(self):
529+
if not hasattr(super(), 'checkSimpleHistory'):
530+
raise unittest.SkipTest('No test checkSimpleHistory')
526531
if not self.__tid_clock_needs_care():
527532
return super().checkSimpleHistory() # pylint:disable=no-member
528533
# This assumes that the `time` value in the storage.history()
@@ -605,7 +610,10 @@ def _run_with_storage_packing_at_packtime(self,
605610
find_packtime):
606611
# Ignore the pack timestamp given. Execute `find_packtime(storage)`
607612
# instead and use that.
608-
meth = getattr(super(), methname)
613+
try:
614+
meth = getattr(super(), methname)
615+
except AttributeError:
616+
raise unittest.SkipTest('No method ' + methname) from None
609617
if not self.__tid_clock_needs_care():
610618
return meth()
611619

src/relstorage/tests/reltestbase.py

+8-5
Original file line numberDiff line numberDiff line change
@@ -225,9 +225,12 @@ def __thread_safe_wrapper(self):
225225
self._storage = orig_storage
226226

227227
def __generic_wrapped_test(self, meth_name):
228-
meth = getattr(
229-
super(),
230-
meth_name)
228+
try:
229+
meth = getattr(
230+
super(),
231+
meth_name)
232+
except AttributeError:
233+
self.skipTest('No method ' + meth_name)
231234
try:
232235
with self.__thread_safe_wrapper():
233236
meth()
@@ -1119,11 +1122,11 @@ def checkBTreesLengthStress(self): # pylint:disable=too-complex
11191122
from ZODB.ConflictResolution import logger as CRLogger
11201123
from BTrees.Length import Length
11211124
import BTrees
1122-
from six import reraise
11231125

11241126
def log_err(*args, **kwargs): # pylint:disable=unused-argument
11251127
import sys
1126-
reraise(*sys.exc_info())
1128+
_t, v, _tb = sys.exc_info()
1129+
raise v
11271130

11281131
CRLogger.debug = log_err
11291132
CRLogger.exception = log_err

0 commit comments

Comments
 (0)