tags 1134838 + pending patch
thanks

I've just uploaded hyperkitty 1.3.12-4.1 to DELAYED/7:
  
  hyperkitty (1.3.12-4.1) unstable; urgency=medium
  .
    * Non-maintainer upload.
    * Fix compatibility with Django 5.x by applying an upstream patch authored 
by
      SATOH Fumiyasu to not rely on private test methods. (Closes: #1134838)

The full debdiff is attached.


Regards,

-- 
      ,''`.
     : :'  :     Chris Lamb
     `. `'`      [email protected] / chris-lamb.co.uk
       `-
diffstat for hyperkitty-1.3.12 hyperkitty-1.3.12

 changelog                                                               |    8 
 patches/0007-Fix-tests-warnings-for-BeautifulSoup-and-timezone-na.patch |   12 
 patches/0008-PATCH-fix-tests-Do-not-depend-on-Django-private-test.patch |  535 
++++++++++
 patches/series                                                          |    1 
 4 files changed, 548 insertions(+), 8 deletions(-)

diff -Nru hyperkitty-1.3.12/debian/changelog hyperkitty-1.3.12/debian/changelog
--- hyperkitty-1.3.12/debian/changelog  2026-03-22 15:07:06.000000000 -0700
+++ hyperkitty-1.3.12/debian/changelog  2026-06-01 12:37:06.000000000 -0700
@@ -1,3 +1,11 @@
+hyperkitty (1.3.12-4.1) unstable; urgency=medium
+
+  * Non-maintainer upload.
+  * Fix compatibility with Django 5.x by applying an upstream patch authored by
+    SATOH Fumiyasu to not rely on private test methods. (Closes: #1134838)
+
+ -- Chris Lamb <[email protected]>  Mon, 01 Jun 2026 12:37:06 -0700
+
 hyperkitty (1.3.12-4) unstable; urgency=medium
 
   * Fix d/p/0004
diff -Nru 
hyperkitty-1.3.12/debian/patches/0007-Fix-tests-warnings-for-BeautifulSoup-and-timezone-na.patch
 
hyperkitty-1.3.12/debian/patches/0007-Fix-tests-warnings-for-BeautifulSoup-and-timezone-na.patch
--- 
hyperkitty-1.3.12/debian/patches/0007-Fix-tests-warnings-for-BeautifulSoup-and-timezone-na.patch
    2026-03-22 14:46:29.000000000 -0700
+++ 
hyperkitty-1.3.12/debian/patches/0007-Fix-tests-warnings-for-BeautifulSoup-and-timezone-na.patch
    2026-06-01 12:37:06.000000000 -0700
@@ -20,10 +20,8 @@
  hyperkitty/tests/test_feeds.py        |  4 ++--
  2 files changed, 7 insertions(+), 7 deletions(-)
 
-diff --git a/hyperkitty/tests/models/test_email.py 
b/hyperkitty/tests/models/test_email.py
-index f395d51..7228967 100644
---- a/hyperkitty/tests/models/test_email.py
-+++ b/hyperkitty/tests/models/test_email.py
+--- hyperkitty-1.3.12.orig/hyperkitty/tests/models/test_email.py
++++ hyperkitty-1.3.12/hyperkitty/tests/models/test_email.py
 @@ -22,7 +22,7 @@
  
  import os
@@ -62,10 +60,8 @@
                        mailinglist=mlist,
                        subject="Message subject",
                        content="Dummy message")
-diff --git a/hyperkitty/tests/test_feeds.py b/hyperkitty/tests/test_feeds.py
-index aea8bf6..32386f6 100644
---- a/hyperkitty/tests/test_feeds.py
-+++ b/hyperkitty/tests/test_feeds.py
+--- hyperkitty-1.3.12.orig/hyperkitty/tests/test_feeds.py
++++ hyperkitty-1.3.12/hyperkitty/tests/test_feeds.py
 @@ -50,7 +50,7 @@ class TestMailingListFeed(TestCase):
          url = reverse('hk_list_feed', args=('[email protected]', ))
          response = self.client.get(url)
diff -Nru 
hyperkitty-1.3.12/debian/patches/0008-PATCH-fix-tests-Do-not-depend-on-Django-private-test.patch
 
hyperkitty-1.3.12/debian/patches/0008-PATCH-fix-tests-Do-not-depend-on-Django-private-test.patch
--- 
hyperkitty-1.3.12/debian/patches/0008-PATCH-fix-tests-Do-not-depend-on-Django-private-test.patch
    1969-12-31 16:00:00.000000000 -0800
+++ 
hyperkitty-1.3.12/debian/patches/0008-PATCH-fix-tests-Do-not-depend-on-Django-private-test.patch
    2026-06-01 12:37:06.000000000 -0700
@@ -0,0 +1,535 @@
+From: SATOH Fumiyasu <[email protected]>
+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"] = "[email protected]"
+         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="[email protected]",
+@@ -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("[email protected]")
+         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="[email protected]")
+         self.ml = FakeMMList("[email protected]")
+         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"] = "[email protected]"
+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="[email protected]")
+         self.mailman_ml = FakeMMList("[email protected]")
+         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="[email protected]")
+         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="[email protected]")
+         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="[email protected]")
+         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="[email protected]")
+         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', '[email protected]', '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="[email protected]"):
+         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', '[email protected]', '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', '[email protected]', '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', '[email protected]', '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"] = "[email protected]"
+@@ -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"] = "[email protected]"
+@@ -298,6 +300,7 @@ class ExportMboxTestCase(TestCase):
+ class PrivateArchivesTestCase(TestCase):
+ 
+     def setUp(self):
++        super().setUp()
+         self.user = User.objects.create_user(
+             'testuser', '[email protected]', '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="[email protected]")
+         msg = EmailMessage()
+         msg["From"] = "[email protected]"
+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="[email protected]", 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="[email protected]")
+         MailingList.objects.create(name="[email protected]",
+                                    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', '[email protected]', '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"] = "[email protected]"
+         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', '[email protected]', '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', '[email protected]', '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', '[email protected]', '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', '[email protected]', 'testPass')
+         self.user.is_staff = True
diff -Nru hyperkitty-1.3.12/debian/patches/series 
hyperkitty-1.3.12/debian/patches/series
--- hyperkitty-1.3.12/debian/patches/series     2026-03-22 14:46:29.000000000 
-0700
+++ hyperkitty-1.3.12/debian/patches/series     2026-06-01 12:37:06.000000000 
-0700
@@ -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

Reply via email to