Made SerializeMixin check lockfile attr at import time.
This commit is contained in:
parent
d8c17aa10c
commit
2e4711c611
|
@ -1624,12 +1624,15 @@ class SerializeMixin:
|
||||||
"""
|
"""
|
||||||
lockfile = None
|
lockfile = None
|
||||||
|
|
||||||
@classmethod
|
def __init_subclass__(cls, /, **kwargs):
|
||||||
def setUpClass(cls):
|
super().__init_subclass__(**kwargs)
|
||||||
if cls.lockfile is None:
|
if cls.lockfile is None:
|
||||||
raise ValueError(
|
raise ValueError(
|
||||||
"{}.lockfile isn't set. Set it to a unique value "
|
"{}.lockfile isn't set. Set it to a unique value "
|
||||||
"in the base class.".format(cls.__name__))
|
"in the base class.".format(cls.__name__))
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def setUpClass(cls):
|
||||||
cls._lockfile = open(cls.lockfile)
|
cls._lockfile = open(cls.lockfile)
|
||||||
locks.lock(cls._lockfile, locks.LOCK_EX)
|
locks.lock(cls._lockfile, locks.LOCK_EX)
|
||||||
super().setUpClass()
|
super().setUpClass()
|
||||||
|
|
|
@ -0,0 +1,21 @@
|
||||||
|
from django.test import SimpleTestCase
|
||||||
|
from django.test.testcases import SerializeMixin
|
||||||
|
|
||||||
|
|
||||||
|
class TestSerializeMixin(SimpleTestCase):
|
||||||
|
def test_init_without_lockfile(self):
|
||||||
|
msg = (
|
||||||
|
"ExampleTests.lockfile isn't set. Set it to a unique value in the "
|
||||||
|
"base class."
|
||||||
|
)
|
||||||
|
with self.assertRaisesMessage(ValueError, msg):
|
||||||
|
class ExampleTests(SerializeMixin, SimpleTestCase):
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
class TestSerializeMixinUse(SerializeMixin, SimpleTestCase):
|
||||||
|
lockfile = __file__
|
||||||
|
|
||||||
|
def test_usage(self):
|
||||||
|
# Running this test ensures that the lock/unlock functions have passed.
|
||||||
|
pass
|
Loading…
Reference in New Issue