[Pkg-mailman-hackers] Bug#1134838: hyperkitty: Please fix compatibility with Django 5.x
Chris Lamb
lamby at debian.org
Fri Apr 24 22:36:51 BST 2026
Source: hyperkitty
Version: 1.3.12-4
Severity: normal
Tags: patch
Hi,
I'm in the process of preparing unstable for an upload of Django 5.2. To
this end, please apply the attached patch from upstream which fixes a
test failure under this version.
These changes are backwards compatible with Django version 4.2 that is
currently in unstable. I am using "Severity: normal" as I hope to upload
Django 5.2 very soon, but feel free to adjust.
(Patch attached.)
Regards,
--
,''`.
: :' : Chris Lamb
`. `'` lamby at debian.org / chris-lamb.co.uk
`-
-------------- next part --------------
diff --git debian/patches/0008-PATCH-fix-tests-Do-not-depend-on-Django-private-test.patch debian/patches/0008-PATCH-fix-tests-Do-not-depend-on-Django-private-test.patch
new file mode 100644
index 0000000..03b5b00
--- /dev/null
+++ debian/patches/0008-PATCH-fix-tests-Do-not-depend-on-Django-private-test.patch
@@ -0,0 +1,535 @@
+From: SATOH Fumiyasu <fumiyas at osstech.co.jp>
+Date: Thu, 25 Sep 2025 17:07:48 +0900
+Subject: [PATCH] fix: tests: Do not depend on Django private test methods
+
+Django 5.2 changes the django.test.TestCase._pre_setup() as the class
+method by the commit
+https://github.com/django/django/commit/8eca3e9bce519c21340312ee7846c92b27abea79
+for Django issue https://code.djangoproject.com/ticket/35660
+
+Source: upstream, https://gitlab.com/mailman/hyperkitty/-/commit/e815be11752ac6a3e839b155f0c43808619c56b0.patch
+---
+ hyperkitty/tests/_test_caching.py | 6 ++++++
+ hyperkitty/tests/commands/test_attachments_to_file.py | 2 ++
+ hyperkitty/tests/commands/test_import.py | 2 ++
+ hyperkitty/tests/lib/test_analysis.py | 1 +
+ hyperkitty/tests/lib/test_mailman.py | 1 +
+ hyperkitty/tests/lib/test_posting.py | 1 +
+ hyperkitty/tests/models/test_lastview.py | 1 +
+ hyperkitty/tests/models/test_mailinglist.py | 5 +++++
+ hyperkitty/tests/models/test_profile.py | 1 +
+ hyperkitty/tests/models/test_tag.py | 2 +-
+ hyperkitty/tests/models/test_vote.py | 1 +
+ hyperkitty/tests/test_feeds.py | 1 +
+ hyperkitty/tests/test_search_index.py | 2 ++
+ hyperkitty/tests/utils.py | 19 ++++++++-----------
+ hyperkitty/tests/views/test_accounts.py | 3 +++
+ hyperkitty/tests/views/test_archives.py | 5 +++++
+ hyperkitty/tests/views/test_compat.py | 1 +
+ hyperkitty/tests/views/test_index.py | 4 ++++
+ hyperkitty/tests/views/test_mailinglist.py | 1 +
+ hyperkitty/tests/views/test_mailman.py | 1 +
+ hyperkitty/tests/views/test_message.py | 1 +
+ hyperkitty/tests/views/test_search.py | 1 +
+ hyperkitty/tests/views/test_thread.py | 2 ++
+ 23 files changed, 52 insertions(+), 12 deletions(-)
+
+diff --git a/hyperkitty/tests/_test_caching.py b/hyperkitty/tests/_test_caching.py
+index 4feb980..9e6e739 100644
+--- a/hyperkitty/tests/_test_caching.py
++++ b/hyperkitty/tests/_test_caching.py
+@@ -20,12 +20,14 @@ from mailman.interfaces.archiver import ArchivePolicy
+ class ListCacheTestCase(unittest.TestCase):
+
+ def setUp(self):
++ super().setUp()
+ self.store = get_store(SettingsModule(), auto_create=True)
+ kittystore.utils.MM_CLIENT = Mock()
+
+ def tearDown(self):
+ self.store.close()
+ kittystore.utils.MM_CLIENT = None
++ super().tearDown()
+
+ def test_properties_on_new_message(self):
+ ml = FakeList("example-list")
+@@ -75,6 +77,7 @@ class FakeMMUser(object):
+ class UserIdCacheTestCase(unittest.TestCase):
+
+ def setUp(self):
++ super().setUp()
+ self.store = get_store(SettingsModule(), auto_create=True)#, debug=True)
+ self.mm_client = Mock()
+ mailman_user._MAILMAN_CLIENT = self.mm_client
+@@ -84,6 +87,7 @@ class UserIdCacheTestCase(unittest.TestCase):
+ def tearDown(self):
+ self.store.close()
+ mailman_user._MAILMAN_CLIENT = None
++ super().tearDown()
+
+ def test_on_new_message_userid(self):
+ # Check that the user_id is set on a new message
+@@ -166,6 +170,7 @@ class UserIdCacheTestCase(unittest.TestCase):
+
+ class TestNotifyStore(unittest.TestCase):
+ def setUp(self):
++ super().setUp()
+ self.store = get_sa_store(SettingsModule(), auto_create=True)
+ self.store.db.cache.get_or_create = Mock()
+ self.store.db.cache.get_or_create.side_effect = lambda *a, **kw: a[1]()
+@@ -175,6 +180,7 @@ class TestNotifyStore(unittest.TestCase):
+
+ def tearDown(self):
+ self.store.close()
++ super().tearDown()
+
+ def test_on_new_message_invalidate(self):
+ # Check that the cache is invalidated on new message
+diff --git a/hyperkitty/tests/commands/test_attachments_to_file.py b/hyperkitty/tests/commands/test_attachments_to_file.py
+index fd0aed8..8da8ea7 100644
+--- a/hyperkitty/tests/commands/test_attachments_to_file.py
++++ b/hyperkitty/tests/commands/test_attachments_to_file.py
+@@ -17,6 +17,7 @@ from hyperkitty.tests.utils import TestCase
+ class CommandTestCase(TestCase):
+
+ def setUp(self):
++ super().setUp()
+ msg_in = EmailMessage()
+ msg_in["From"] = "dummy at example.com"
+ msg_in["Message-ID"] = "<msg>"
+@@ -30,6 +31,7 @@ class CommandTestCase(TestCase):
+ def tearDown(self):
+ settings.HYPERKITTY_ATTACHMENT_FOLDER = None
+ self.tempdir.cleanup()
++ super().tearDown()
+
+ def test_no_attachment_folder(self):
+ # Test that no HYPERKITTY_ATTACHMENT_FOLDER raises CommandError
+diff --git a/hyperkitty/tests/commands/test_import.py b/hyperkitty/tests/commands/test_import.py
+index d82f0eb..a83a573 100644
+--- a/hyperkitty/tests/commands/test_import.py
++++ b/hyperkitty/tests/commands/test_import.py
+@@ -24,6 +24,7 @@ from hyperkitty.tests.utils import TestCase, get_test_file
+ class CommandTestCase(TestCase):
+
+ def setUp(self):
++ super().setUp()
+ self.command = Command()
+ self.common_cmd_args = dict(
+ verbosity=2, list_address="list at example.com",
+@@ -32,6 +33,7 @@ class CommandTestCase(TestCase):
+
+ def tearDown(self):
+ settings.HYPERKITTY_BATCH_MODE = False
++ super().tearDown()
+
+ def test_impacted_threads(self):
+ # existing message
+diff --git a/hyperkitty/tests/lib/test_analysis.py b/hyperkitty/tests/lib/test_analysis.py
+index 1dca1f5..ccc6bf2 100644
+--- a/hyperkitty/tests/lib/test_analysis.py
++++ b/hyperkitty/tests/lib/test_analysis.py
+@@ -33,6 +33,7 @@ from hyperkitty.tests.utils import TestCase
+ class TestThreadOrderDepth(TestCase):
+
+ def setUp(self):
++ super().setUp()
+ self.mlist = MailingList.objects.create(name="example-list")
+
+ def make_fake_email(self, num=1, date=None, thread=None):
+diff --git a/hyperkitty/tests/lib/test_mailman.py b/hyperkitty/tests/lib/test_mailman.py
+index cb5b785..9db2325 100644
+--- a/hyperkitty/tests/lib/test_mailman.py
++++ b/hyperkitty/tests/lib/test_mailman.py
+@@ -36,6 +36,7 @@ from hyperkitty.tests.utils import TestCase
+ class MailmanSubscribeTestCase(TestCase):
+
+ def setUp(self):
++ super().setUp()
+ self.ml = FakeMMList("list at example.com")
+ self.mailman_client.get_list.side_effect = lambda n: self.ml
+ self.ml.get_member = Mock()
+diff --git a/hyperkitty/tests/lib/test_posting.py b/hyperkitty/tests/lib/test_posting.py
+index 18b6597..052d661 100644
+--- a/hyperkitty/tests/lib/test_posting.py
++++ b/hyperkitty/tests/lib/test_posting.py
+@@ -49,6 +49,7 @@ class Django_mail:
+ class PostingTestCase(TestCase):
+
+ def setUp(self):
++ super().setUp()
+ self.mlist = MailingList.objects.create(name="list at example.com")
+ self.ml = FakeMMList("list at example.com")
+ self.mailman_client.get_list.side_effect = lambda n: self.ml
+diff --git a/hyperkitty/tests/models/test_lastview.py b/hyperkitty/tests/models/test_lastview.py
+index 37d4d98..fd3f115 100644
+--- a/hyperkitty/tests/models/test_lastview.py
++++ b/hyperkitty/tests/models/test_lastview.py
+@@ -32,6 +32,7 @@ from hyperkitty.tests.utils import TestCase
+ class LastViewTestCase(TestCase):
+
+ def setUp(self):
++ super().setUp()
+ self.user = User.objects.create(username="dummy")
+ msg = EmailMessage()
+ msg["From"] = "sender1 at example.com"
+diff --git a/hyperkitty/tests/models/test_mailinglist.py b/hyperkitty/tests/models/test_mailinglist.py
+index 7235a46..bc04e76 100644
+--- a/hyperkitty/tests/models/test_mailinglist.py
++++ b/hyperkitty/tests/models/test_mailinglist.py
+@@ -41,6 +41,7 @@ from hyperkitty.tests.utils import TestCase
+ class MailingListTestCase(TestCase):
+
+ def setUp(self):
++ super().setUp()
+ self.ml = MailingList.objects.create(name="list at example.com")
+ self.mailman_ml = FakeMMList("list at example.com")
+ self.mailman_client.get_list.side_effect = lambda n: self.mailman_ml
+@@ -215,6 +216,7 @@ class MailingListTestCase(TestCase):
+ class RecentThreadsTestCase(TestCase):
+
+ def setUp(self):
++ super().setUp()
+ self.ml = MailingList.objects.create(name="list at example.com")
+ self.cached_value = RecentThreads(self.ml)
+
+@@ -243,6 +245,7 @@ class RecentThreadsTestCase(TestCase):
+ class TopThreadsTestCase(TestCase):
+
+ def setUp(self):
++ super().setUp()
+ self.ml = MailingList.objects.create(name="list at example.com")
+ self.cached_value = TopThreads(self.ml)
+
+@@ -278,6 +281,7 @@ class TopThreadsTestCase(TestCase):
+ class PopularThreadsTestCase(TestCase):
+
+ def setUp(self):
++ super().setUp()
+ self.ml = MailingList.objects.create(name="list at example.com")
+ self.cached_value = PopularThreads(self.ml)
+
+@@ -313,6 +317,7 @@ class PopularThreadsTestCase(TestCase):
+ class FirstDateTestCase(TestCase):
+
+ def setUp(self):
++ super().setUp()
+ self.ml = MailingList.objects.create(name="list at example.com")
+ self.cached_value = FirstDate(self.ml)
+
+diff --git a/hyperkitty/tests/models/test_profile.py b/hyperkitty/tests/models/test_profile.py
+index 86ccaaa..cb91755 100644
+--- a/hyperkitty/tests/models/test_profile.py
++++ b/hyperkitty/tests/models/test_profile.py
+@@ -42,6 +42,7 @@ def _create_email(num, reply_to=None):
+ class ProfileTestCase(TestCase):
+
+ def setUp(self):
++ super().setUp()
+ self.user = User.objects.create(username="dummy")
+
+ def test_votes_in_list(self):
+diff --git a/hyperkitty/tests/models/test_tag.py b/hyperkitty/tests/models/test_tag.py
+index 1cdda43..112e09c 100644
+--- a/hyperkitty/tests/models/test_tag.py
++++ b/hyperkitty/tests/models/test_tag.py
+@@ -28,5 +28,5 @@ class TagTestCase(TestCase):
+ fixtures = ['tag_testdata.json']
+
+ def setUp(self):
+- super(TagTestCase, self).setUp()
++ super().setUp()
+ self.tag_1 = Tag.objects.get(pk=1)
+diff --git a/hyperkitty/tests/models/test_vote.py b/hyperkitty/tests/models/test_vote.py
+index 5a3a89d..cc70476 100644
+--- a/hyperkitty/tests/models/test_vote.py
++++ b/hyperkitty/tests/models/test_vote.py
+@@ -42,6 +42,7 @@ def _create_email(num, reply_to=None):
+ class VoteTestCase(TestCase):
+
+ def setUp(self):
++ super().setUp()
+ self.user = User.objects.create(username="dummy")
+
+ def test_msg_1(self):
+diff --git a/hyperkitty/tests/test_feeds.py b/hyperkitty/tests/test_feeds.py
+index 32386f6..0a35134 100644
+--- a/hyperkitty/tests/test_feeds.py
++++ b/hyperkitty/tests/test_feeds.py
+@@ -33,6 +33,7 @@ from hyperkitty.utils import reverse
+ class TestMailingListFeed(TestCase):
+
+ def setUp(self):
++ super().setUp()
+ self.user = User.objects.create_user(
+ 'testuser', 'test at example.com', 'testPass')
+ self.user.is_superuser = True
+diff --git a/hyperkitty/tests/test_search_index.py b/hyperkitty/tests/test_search_index.py
+index e2ea077..c142eb8 100644
+--- a/hyperkitty/tests/test_search_index.py
++++ b/hyperkitty/tests/test_search_index.py
+@@ -35,12 +35,14 @@ from hyperkitty.tests.utils import SearchEnabledTestCase
+ class SearchIndexTestCase(SearchEnabledTestCase):
+
+ def setUp(self):
++ super().setUp()
+ # Disable automatic update
+ apps.get_app_config('haystack').signal_processor.teardown()
+
+ def tearDown(self):
+ # Restore automatic update
+ apps.get_app_config('haystack').signal_processor.setup()
++ super().tearDown()
+
+ def _add_message(self, msgid="msg", list="list at example.com"):
+ msg = EmailMessage()
+diff --git a/hyperkitty/tests/utils.py b/hyperkitty/tests/utils.py
+index c33ea87..d9fb1e9 100644
+--- a/hyperkitty/tests/utils.py
++++ b/hyperkitty/tests/utils.py
+@@ -66,8 +66,8 @@ class TestCase(DjangoTestCase):
+ # Testcase classes can use this variable to add more overrides:
+ override_settings = {}
+
+- def _pre_setup(self):
+- super(TestCase, self)._pre_setup()
++ def setUp(self):
++ super().setUp()
+ self.tmpdir = tempfile.mkdtemp(prefix="hyperkitty-testing-")
+ # Logging
+ setup_logging(self.tmpdir)
+@@ -92,7 +92,7 @@ class TestCase(DjangoTestCase):
+ self._old_settings[key] = getattr(settings, key, None)
+ setattr(settings, key, value)
+
+- def _post_teardown(self):
++ def tearDown(self):
+ self._mm_client_patcher.stop()
+ cache.clear()
+ for key, value in self._old_settings.items():
+@@ -101,23 +101,20 @@ class TestCase(DjangoTestCase):
+ else:
+ setattr(settings, key, value)
+ shutil.rmtree(self.tmpdir)
+- super(TestCase, self)._post_teardown()
++ super().tearDown()
+
+
+ class SearchEnabledTestCase(TestCase):
+
+- def _pre_setup(self):
++ def setUp(self):
+ try:
+ import whoosh # noqa: F401
+ except ImportError:
+ raise SkipTest("The Whoosh library is not available")
+- super(SearchEnabledTestCase, self)._pre_setup()
++ super().setUp()
+ call_command('clear_index', verbosity=0, interactive=False)
+ call_command('update_index', verbosity=0)
+
+- def _post_teardown(self):
+- super(SearchEnabledTestCase, self)._post_teardown()
+-
+
+ class MigrationTestCase(TransactionTestCase):
+ """ Inpired by
+@@ -131,8 +128,8 @@ https://www.caktusgroup.com/blog/2016/02/02/writing-unit-tests-django-migrations
+ def app(self):
+ return apps.get_containing_app_config(type(self).__module__).name
+
+- def _pre_setup(self):
+- super(MigrationTestCase, self)._pre_setup()
++ def setUp(self):
++ super().setUp()
+ assert self.migrate_from and self.migrate_to, \
+ "TestCase '{}' must define migrate_from and migrate_to properties"\
+ .format(type(self).__name__)
+diff --git a/hyperkitty/tests/views/test_accounts.py b/hyperkitty/tests/views/test_accounts.py
+index 9dd5bc9..edb7090 100644
+--- a/hyperkitty/tests/views/test_accounts.py
++++ b/hyperkitty/tests/views/test_accounts.py
+@@ -43,6 +43,7 @@ from hyperkitty.utils import reverse
+ class AccountViewsTestCase(TestCase):
+
+ def setUp(self):
++ super().setUp()
+ self.user = User.objects.create_user(
+ 'testuser', 'test at example.com', 'testPass')
+ EmailAddress.objects.create(
+@@ -210,6 +211,7 @@ class AccountViewsTestCase(TestCase):
+ class LastViewsTestCase(TestCase):
+
+ def setUp(self):
++ super().setUp()
+ self.user = User.objects.create_user(
+ 'testuser', 'test at example.com', 'testPass')
+ self.client.login(username='testuser', password='testPass')
+@@ -300,6 +302,7 @@ class LastViewsTestCase(TestCase):
+ class SubscriptionsTestCase(TestCase):
+
+ def setUp(self):
++ super().setUp()
+ self.user = User.objects.create_user(
+ 'testuser', 'testuser at example.com', 'testPass')
+ self.mailman_client.get_list.side_effect = \
+diff --git a/hyperkitty/tests/views/test_archives.py b/hyperkitty/tests/views/test_archives.py
+index 15591ac..6a04f6d 100644
+--- a/hyperkitty/tests/views/test_archives.py
++++ b/hyperkitty/tests/views/test_archives.py
+@@ -47,6 +47,7 @@ from hyperkitty.utils import reverse
+ class ListArchivesTestCase(TestCase):
+
+ def setUp(self):
++ super().setUp()
+ # Create the list by adding a dummy message
+ msg = EmailMessage()
+ msg["From"] = "dummy at example.com"
+@@ -166,6 +167,7 @@ class ListArchivesTestCase(TestCase):
+ class ExportMboxTestCase(TestCase):
+
+ def setUp(self):
++ super().setUp()
+ # Create the list by adding a dummy message
+ msg = EmailMessage()
+ msg["From"] = "dummy at example.com"
+@@ -298,6 +300,7 @@ class ExportMboxTestCase(TestCase):
+ class PrivateArchivesTestCase(TestCase):
+
+ def setUp(self):
++ super().setUp()
+ self.user = User.objects.create_user(
+ 'testuser', 'test at example.com', 'testPass')
+ MailingList.objects.create(
+@@ -325,6 +328,7 @@ class PrivateArchivesTestCase(TestCase):
+
+ def tearDown(self):
+ self.client.logout()
++ super().tearDown()
+
+ def _do_test(self, url, query=None):
+ if query is None:
+@@ -372,6 +376,7 @@ class PrivateArchivesTestCase(TestCase):
+ class MonthsListTestCase(TestCase):
+
+ def setUp(self):
++ super().setUp()
+ # Create the list by adding a dummy message
+ # The message must be old to create multiple year accordion panels in
+ # the months list.
+diff --git a/hyperkitty/tests/views/test_compat.py b/hyperkitty/tests/views/test_compat.py
+index 3ca146e..87b5df3 100644
+--- a/hyperkitty/tests/views/test_compat.py
++++ b/hyperkitty/tests/views/test_compat.py
+@@ -32,6 +32,7 @@ from hyperkitty.utils import reverse
+ class CompatURLsTestCase(TestCase):
+
+ def setUp(self):
++ super().setUp()
+ MailingList.objects.create(name="list at example.com")
+ msg = EmailMessage()
+ msg["From"] = "dummy at example.com"
+diff --git a/hyperkitty/tests/views/test_index.py b/hyperkitty/tests/views/test_index.py
+index daa071e..5c9e17f 100644
+--- a/hyperkitty/tests/views/test_index.py
++++ b/hyperkitty/tests/views/test_index.py
+@@ -42,6 +42,7 @@ from hyperkitty.utils import reverse
+ class PrivateListTestCase(TestCase):
+
+ def setUp(self):
++ super().setUp()
+ MailingList.objects.create(
+ name="list at example.com", subject_prefix="[example] ",
+ archive_policy=ArchivePolicy.private.value)
+@@ -76,6 +77,7 @@ class PrivateListTestCase(TestCase):
+
+ def tearDown(self):
+ self.client.logout()
++ super().tearDown()
+
+ def _create_user(self, username, email):
+ User.objects.create_user(username, email, 'testPass')
+@@ -162,6 +164,7 @@ class PrivateListTestCase(TestCase):
+ class FindTestCase(TestCase):
+
+ def setUp(self):
++ super().setUp()
+ MailingList.objects.create(name="list-one at example.com")
+ MailingList.objects.create(name="list-two at example.com",
+ display_name="List Two")
+@@ -234,6 +237,7 @@ class FindTestCase(TestCase):
+ class DomainFilteringTestCase(TestCase):
+
+ def setUp(self):
++ super().setUp()
+ self._site = Site.objects.create(domain='www.example.com',
+ name='www')
+ self.mail_domain2 = MailDomain.objects.create(
+diff --git a/hyperkitty/tests/views/test_mailinglist.py b/hyperkitty/tests/views/test_mailinglist.py
+index ef37d0d..02999e7 100644
+--- a/hyperkitty/tests/views/test_mailinglist.py
++++ b/hyperkitty/tests/views/test_mailinglist.py
+@@ -37,6 +37,7 @@ from hyperkitty.utils import reverse
+ class DeleteMailingListTestCase(TestCase):
+
+ def setUp(self):
++ super().setUp()
+ self.user = User.objects.create_user(
+ 'testuser', 'test at example.com', 'testPass')
+ self.user.is_staff = True
+diff --git a/hyperkitty/tests/views/test_mailman.py b/hyperkitty/tests/views/test_mailman.py
+index 15cc852..939d661 100644
+--- a/hyperkitty/tests/views/test_mailman.py
++++ b/hyperkitty/tests/views/test_mailman.py
+@@ -66,6 +66,7 @@ class PrivateListTestCase(TestCase):
+ class ArchiveTestCase(TestCase):
+
+ def setUp(self):
++ super().setUp()
+ msg = EmailMessage()
+ msg["From"] = "dummy at example.com"
+ msg["Subject"] = "Fake Subject"
+diff --git a/hyperkitty/tests/views/test_message.py b/hyperkitty/tests/views/test_message.py
+index 7bb0af8..df987e5 100644
+--- a/hyperkitty/tests/views/test_message.py
++++ b/hyperkitty/tests/views/test_message.py
+@@ -53,6 +53,7 @@ from hyperkitty.utils import reverse
+ class MessageViewsTestCase(TestCase):
+
+ def setUp(self):
++ super().setUp()
+ self.user = User.objects.create_user(
+ 'testuser', 'test at example.com', 'testPass')
+ self.client.login(username='testuser', password='testPass')
+diff --git a/hyperkitty/tests/views/test_search.py b/hyperkitty/tests/views/test_search.py
+index e3bb92e..588234a 100644
+--- a/hyperkitty/tests/views/test_search.py
++++ b/hyperkitty/tests/views/test_search.py
+@@ -37,6 +37,7 @@ from hyperkitty.utils import reverse
+ class SearchViewsTestCase(SearchEnabledTestCase):
+
+ def setUp(self):
++ super().setUp()
+ self.user = User.objects.create_user(
+ 'testuser', 'test at example.com', 'testPass')
+ self.mailman_client.get_list.side_effect = \
+diff --git a/hyperkitty/tests/views/test_thread.py b/hyperkitty/tests/views/test_thread.py
+index 76dd5b2..d41eef9 100644
+--- a/hyperkitty/tests/views/test_thread.py
++++ b/hyperkitty/tests/views/test_thread.py
+@@ -43,6 +43,7 @@ from hyperkitty.utils import reverse
+ class ReattachTestCase(SearchEnabledTestCase):
+
+ def setUp(self):
++ super().setUp()
+ self.user = User.objects.create_user(
+ 'testuser', 'test at example.com', 'testPass')
+ self.user.is_staff = True
+@@ -189,6 +190,7 @@ class ReattachTestCase(SearchEnabledTestCase):
+ class ThreadTestCase(TestCase):
+
+ def setUp(self):
++ super().setUp()
+ self.user = User.objects.create_user(
+ 'testuser', 'test at example.com', 'testPass')
+ self.user.is_staff = True
diff --git debian/patches/series debian/patches/series
index 1d4d3d2..6c3b940 100644
--- debian/patches/series
+++ debian/patches/series
@@ -5,3 +5,4 @@
0005-Changes-to-support-mistune-3.1.patch
0006-Drop-robot-detection-from-hyperkitty.patch
0007-Fix-tests-warnings-for-BeautifulSoup-and-timezone-na.patch
+0008-PATCH-fix-tests-Do-not-depend-on-Django-private-test.patch
More information about the Pkg-mailman-hackers
mailing list