Skip to content

Test adjustments, version bumps and associated adjustments - #1245

Open
peterthomassen wants to merge 6 commits into
mainfrom
20260819_bumps
Open

Test adjustments, version bumps and associated adjustments#1245
peterthomassen wants to merge 6 commits into
mainfrom
20260819_bumps

Conversation

@peterthomassen

@peterthomassen peterthomassen commented Aug 19, 2026

Copy link
Copy Markdown
Member

Upgrading only to Django 6.0, although Django 6.1. has been released two weeks ago. Two reasons to hold back:

DesecTestCase.setUp() creates a domain for each of settings.LOCAL_PUBLIC_SUFFIXES
("dedyn.$DESECSTACK_DOMAIN"). When DESECSTACK_DOMAIN is set to "io", the test
collides with that domain and fails with an IntegrityError. Use domain names
under the .example TLD instead, which cannot be a local public suffix.
@peterthomassen
peterthomassen force-pushed the 20260819_bumps branch 2 times, most recently from ed57383 to c6f1e83 Compare August 20, 2026 00:00
Two incompatibilities had to be addressed:

- Migration 0037: unsliced querysets are no longer accepted on the right-hand
  side of an exact lookup, so slice the correlated subqueries. The default
  policy is unique per token, so this does not change the semantics.

- django-celery-email accesses the removed EmailMessage.mixed_subtype
  attribute, and has not seen a release since 2019. We only used its
  email_to_dict()/dict_to_email() helpers (the app was not installed), so
  inline them: all we need is a JSON-serializable representation of the
  message, which the message's attributes already are (except the connection,
  which the task recreates anyway). Test settings carry the connection over so
  that the mail outbox exposes which lane was used.
@peterthomassen peterthomassen changed the title chore(): version bumps Test adjustments, version bumps and associated adjustments Aug 20, 2026
Cuts the API test suite runtime considerably by distributing tests over
per-CPU worker processes with cloned test databases.

Coverage needs a config file for this: the multiprocessing concurrency
setting is what makes the worker processes record data, and it is passed
on to them via the rcfile (command line options are not). The resulting
per-process data files are merged by `coverage combine`.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant