flakytest.dev anze3db fedidevs
Profiles / #8

Passed Run of Oct 26, 23:43

CI github-actions:test · 8ab642e main dirty · pass/fail report
Some tests got too few samples to explain their time. Rerun with pytest --flakytest-profile --flakytest-rate 5000.
Wall time
39.50 s
4 workers
Test time
1m 35s
sum of test durations
Tests
308
308 passed
Profiler
tachyon
1000 Hz · 93,189 samples · Python 3.15.1 · flakytest 2026.0b1
Peak memory
662 MB
4 workers together

Where the time goes

Test time by category
  • Password hashing27.35 s
  • Migrations25.35 s
  • Libraries18.89 s
  • Database12.57 s
  • Templates3.37 s
  • DB schema2.67 s
  • Imports1.95 s
  • Mocking1.36 s
  • pytest525 ms
  • Factories389 ms
  • Unsampled361 ms
  • App code109 ms
  • Deep copies67 ms
  • Cache46 ms
  • Network43 ms
  • Test code16 ms
  • Waiting16 ms
  • Logging15 ms
  • Serialization12 ms

Session timeline

Other
3 ms
Tests
1m 35s
Startup
8.45 s
Collection
3.50 s
Test phases
Setup 28.08 s Call 1m 06s Teardown 795 ms

Fix next

Ranked by the time each fix saves per run
1

Use plain static file storage in tests

Static file storage/manifest handling costs 28.3s.

High App code
28.28 s per run
Fix: In test settings use STORAGES["staticfiles"] = {"BACKEND": "django.contrib.staticfiles.storage.StaticFilesStorage"} so templates don't need a manifest. Read the guide
Details

Where:

  • accounts/views.py:425 index · 1.01 s
  • starter_packs/tests.py:841 TestShareStarterPack.test_api_formats · 740 ms
  • confs/views.py:509 create_conference · 691 ms
  • accounts/tests.py:550 TestAccountIndexRobots.assert_noindex · 606 ms
  • starter_packs/views.py:862 share_starter_pack · 528 ms
  • starter_packs/tests.py:781 TestShareStarterPack.test_order_by · 419 ms
  • starter_packs/tests.py:723 TestShareStarterPack.test_header_shows_gradient_and_account_avatars · 411 ms
  • confs/tests.py:152 TestMigratedLegacyConferences._assert_no_naive_warning · 374 ms
  • accounts/views.py:28 CountlessPage.__init__ · 335 ms
  • confs/views.py:296 _conference_detail · 323 ms

Most affected tests:

  • accounts/tests.py::TestAccountIndexRobots::test_two_facets_are_noindex
  • starter_packs/tests.py::TestShareStarterPack::test_header_shows_gradient_and_account_avatars
  • confs/tests.py::TestCreateConference::test_rejects_end_date_before_start
  • accounts/tests.py::TestSelectedInstance::test_invalid_selected_instance
  • confs/tests.py::TestCreateConference::test_form_renders_for_authenticated_user
  • starter_packs/tests.py::TestShareStarterPack::test_order_by_5___alphabetical____4__3__2__1__0__
  • confs/tests.py::TestMigratedLegacyConferences::test_djangoconafrica_page
  • accounts/tests.py::TestAccountIndexRobots::test_single_facet_is_indexable
2

Use a fast password hasher in tests

27.3s (29% of test time) is spent hashing passwords. Slow hashing protects real passwords; in tests it only burns CPU.

High Password hashing
25.98 s per run
Fix: In your test settings set PASSWORD_HASHERS = ["django.contrib.auth.hashers.MD5PasswordHasher"] (currently PBKDF2PasswordHasher). Read the guide
Details

Only change the hasher in test settings. Tests that assert on a specific hash format need updating.

Where:

  • confs/tests.py:1044 TestCreateConference.setUp · 5.51 s
  • confs/tests.py:1177 TestEditConference.setUp · 3.78 s
  • confs/tests.py:1175 TestEditConference.setUp · 3.75 s
  • confs/tests.py:1176 TestEditConference.setUp · 3.37 s
  • confs/tests.py:1371 TestApproveConference.setUp · 2.85 s
  • confs/tests.py:1372 TestApproveConference.setUp · 2.80 s
  • confs/tests.py:1317 TestConferenceApprovalVisibility.setUp · 1.52 s
  • confs/tests.py:1316 TestConferenceApprovalVisibility.setUp · 1.51 s
  • confs/tests.py:1295 TestUnapproveConference.setUp · 618 ms
  • confs/tests.py:1296 TestUnapproveConference.setUp · 601 ms

Most affected tests:

  • confs/tests.py::TestEditConference::test_edit_does_not_change_slug
  • confs/tests.py::TestEditConference::test_other_user_forbidden_on_approved_conference
  • confs/tests.py::TestEditConference::test_other_user_forbidden
  • confs/tests.py::TestEditConference::test_owner_can_edit
  • confs/tests.py::TestApproveConference::test_non_staff_forbidden
  • confs/tests.py::TestApproveConference::test_staff_sees_approve_button_on_detail
  • confs/tests.py::TestApproveConference::test_staff_approves
  • confs/tests.py::TestEditConference::test_owner_can_edit_after_approval

Documentation

3

Stop re-running migrations on every test run

Migrations take 25.3s per run, before the first test can start.

High Migrations
22.81 s per run
Fix: Run with --reuse-db (add it to addopts in pytest.ini/pyproject) so the test database survives between runs; pass --create-db when migrations change. If no test depends on data migrations, --nomigrations builds the schema straight from the models, which is faster still. Read the guide
Details

CI should still build the database from scratch (no --reuse-db) so broken migrations are caught.

Where:

  • confs/tests.py:432 TestLegacyConferenceDataMigration._migrate · 1.33 s
  • confs/migrations/0031_seed_conference_tags.py:14 seed_conference_tags · 761 ms
  • confs/tests.py:412 TestLegacyConferenceDataMigration._leaf_targets · 148 ms
  • confs/migrations/0033_remove_legacy_conference_tables.py:214 _pk_batches · 113 ms
  • confs/migrations/0033_remove_legacy_conference_tables.py:388 _get_or_create_conference · 87 ms
  • confs/tests.py:431 TestLegacyConferenceDataMigration._migrate · 71 ms
  • starter_packs/migrations/0004_starterpack_published_at.py:9 set_published_at · 65 ms
  • starter_packs/migrations/0009_starterpack_num_accounts.py:21 update_num_accounts · 61 ms
  • confs/tests.py:486 TestLegacyConferenceDataMigration._seed_overlapping_legacy_data · 54 ms
  • confs/migrations/0011_conferencepost_alter_conference_posts.py:13 update · 54 ms

Most affected tests:

  • confs/tests.py::TestMigratedLegacyConferences::test_fwd50_date_redirects
  • accounts/tests.py::TestAccountIndexRobots::test_two_facets_are_noindex
  • accounts/tests.py::TestSelectedInstance::test_invalid_selected_instance
  • confs/tests.py::TestSyncAnnouncements::test_is_idempotent_and_refreshes_unposted_content
  • confs/tests.py::TestLegacyConferenceDataMigration::test_copies_overlapping_legacy_rows_without_clobbering_existing_data
  • confs/tests.py::TestLegacyConferenceDataMigration::test_drops_legacy_tables_when_uniques_are_mysql_style_indexes

Documentation

4

Create shared test data in setUpTestData instead of setUp

setUp() runs before every test and takes 26.5s in total (password hashing 26.3s, db 196ms, factories 12ms) in 7 classes: TestApproveConference (6 tests), TestFollowStarterPack (3 tests), TestCreateConference (10 tests), TestEditConference (9 tests).

High Database
18.56 s per run
Fix: Move object creation that tests only read from setUp() into `@classmethod def setUpTestData(cls)`: it runs once per class and each test still sees the original rows (TestCase rolls back to a savepoint). Read the guide
Details

Since Django 3.2 attributes assigned in setUpTestData are deep-copied per test, so in-memory changes don't leak between tests. Keep objects a test modifies in the database (or re-fetches) as before.

Where:

  • confs/tests.py:1044 TestCreateConference.setUp · 5.53 s
  • confs/tests.py:1177 TestEditConference.setUp · 3.80 s
  • confs/tests.py:1175 TestEditConference.setUp · 3.76 s
  • confs/tests.py:1176 TestEditConference.setUp · 3.38 s
  • confs/tests.py:1371 TestApproveConference.setUp · 2.86 s
  • confs/tests.py:1372 TestApproveConference.setUp · 2.81 s
  • confs/tests.py:1317 TestConferenceApprovalVisibility.setUp · 1.53 s
  • confs/tests.py:1316 TestConferenceApprovalVisibility.setUp · 1.52 s
  • confs/tests.py:1295 TestUnapproveConference.setUp · 620 ms
  • confs/tests.py:1296 TestUnapproveConference.setUp · 603 ms

Most affected tests:

  • confs/tests.py::TestEditConference::test_edit_does_not_change_slug
  • confs/tests.py::TestEditConference::test_other_user_forbidden_on_approved_conference
  • confs/tests.py::TestEditConference::test_other_user_forbidden
  • confs/tests.py::TestEditConference::test_owner_can_edit
  • confs/tests.py::TestApproveConference::test_non_staff_forbidden
  • confs/tests.py::TestApproveConference::test_staff_sees_approve_button_on_detail
  • confs/tests.py::TestApproveConference::test_staff_approves
  • confs/tests.py::TestEditConference::test_owner_can_edit_after_approval

Documentation

5

Disable django-debug-toolbar in tests

django-debug-toolbar is installed in the test settings and costs 11.8s.

High App code
11.79 s per run
Fix: Only add debug_toolbar to INSTALLED_APPS and MIDDLEWARE when not testing (e.g. `if DEBUG and not TESTING:`). Read the guide
Details

Where:

  • accounts/views.py:425 index · 1.01 s
  • confs/views.py:509 create_conference · 691 ms
  • starter_packs/views.py:862 share_starter_pack · 528 ms
  • accounts/views.py:28 CountlessPage.__init__ · 335 ms
  • confs/views.py:296 _conference_detail · 323 ms
  • starter_packs/views.py:60 get_editable_pack · 299 ms
  • starter_packs/views.py:856 share_starter_pack · 285 ms
  • starter_packs/views.py:858 share_starter_pack · 280 ms
  • starter_packs/tests.py:192 TestEditStarterPack.test_not_logged_in · 267 ms
  • starter_packs/views.py:729 share_starter_pack · 265 ms

Most affected tests:

  • accounts/tests.py::TestAccountIndexRobots::test_two_facets_are_noindex
  • confs/tests.py::TestCreateConference::test_rejects_end_date_before_start
  • accounts/tests.py::TestSelectedInstance::test_invalid_selected_instance
  • starter_packs/tests.py::TestShareStarterPack::test_order_by_5___alphabetical____4__3__2__1__0__
  • starter_packs/tests.py::TestEditStarterPack::test_not_logged_in
  • accounts/tests.py::TestAccountIndexRobots::test_single_facet_is_indexable
  • confs/tests.py::TestCreateConference::test_form_renders_for_authenticated_user
  • confs/tests.py::TestMigratedLegacyConferences::test_djangoconafrica_page

Documentation

6

Repeated queries (N+1) in the code under test

10 tests run the same query 10+ times, e.g. 45x in test_invalid_selected_instance. N+1 queries slow the tests and production alike.

High Database
10.14 s per run
Fix: Django: fetch related rows in one query with select_related() for foreign keys and prefetch_related() for reverse/many-to-many relations, then lock the count in with assertNumQueries (or pytest-django's django_assert_num_queries). Read the guide
Details

This changes application code, so it speeds up production too; the tests stay as they are.

  • 45x in test_invalid_selected_instance: SELECT "confs_conferencetag"."id", "confs_conferencetag"."name", "confs_conferencetag"."slug", "confs_conferencetag"."icon" FROM "confs_conferencetag" WHERE "confs_conferencetag"."slug" = %s LIMIT ? FOR UPDATE
  • 45x in test_fwd50_date_redirects: SELECT "confs_conferencetag"."id", "confs_conferencetag"."name", "confs_conferencetag"."slug", "confs_conferencetag"."icon" FROM "confs_conferencetag" WHERE "confs_conferencetag"."slug" = %s LIMIT ? FOR UPDATE
  • 45x in test_is_idempotent_and_refreshes_unposted_content: SELECT "confs_conferencetag"."id", "confs_conferencetag"."name", "confs_conferencetag"."slug", "confs_conferencetag"."icon" FROM "confs_conferencetag" WHERE "confs_conferencetag"."slug" = %s LIMIT ? FOR UPDATE
  • 45x in test_two_facets_are_noindex: SELECT "confs_conferencetag"."id", "confs_conferencetag"."name", "confs_conferencetag"."slug", "confs_conferencetag"."icon" FROM "confs_conferencetag" WHERE "confs_conferencetag"."slug" = %s LIMIT ? FOR UPDATE
  • 44x in test_posts_from_yesterday_are_updated: SELECT COUNT(*) AS "__count" FROM "accounts_accountlookup" WHERE UPPER("accounts_accountlookup"."language"::text) LIKE UPPER(%s)

Most affected tests:

  • accounts/tests.py::TestSelectedInstance::test_invalid_selected_instance
  • confs/tests.py::TestMigratedLegacyConferences::test_fwd50_date_redirects
  • confs/tests.py::TestSyncAnnouncements::test_is_idempotent_and_refreshes_unposted_content
  • accounts/tests.py::TestAccountIndexRobots::test_two_facets_are_noindex
  • stats/tests.py::TestStats::test_posts_from_yesterday_are_updated
  • stats/tests.py::TestStats::test_store_daily_stats
  • stats/tests.py::TestStats::test_store_daily_stats_with_accounts
  • confs/tests.py::TestLegacyConferenceDataMigration::test_copies_overlapping_legacy_rows_without_clobbering_existing_data

Documentation

7

Make the test database server skip durability work

Tests spend 40.6s (43%) in the database. Test databases don't need to survive a crash, so the server can skip flushing to disk.

Medium Database
8.12 s per run
Fix: For a PostgreSQL test server (Docker/CI service) start it with -c fsync=off -c synchronous_commit=off -c full_page_writes=off, and put its data directory on tmpfs; for MySQL use --innodb-flush-log-at-trx-commit=0 --skip-log-bin. Never on a server with data you need. Read the guide
Details

Only affects crash safety of the throwaway test server; query behaviour is identical.

Where:

  • confs/tests.py:432 TestLegacyConferenceDataMigration._migrate · 1.33 s
  • confs/migrations/0031_seed_conference_tags.py:14 seed_conference_tags · 761 ms
  • starter_packs/tests.py:397 TestToggleStarterPackAccount.test_toggle_after_limit · 580 ms
  • accounts/views.py:28 CountlessPage.__init__ · 335 ms
  • starter_packs/views.py:60 get_editable_pack · 299 ms
  • starter_packs/views.py:856 share_starter_pack · 285 ms
  • starter_packs/views.py:858 share_starter_pack · 280 ms
  • starter_packs/views.py:729 share_starter_pack · 265 ms
  • stats/models.py:20 store_daily_stats · 252 ms
  • starter_packs/views.py:862 share_starter_pack · 232 ms

Most affected tests:

  • confs/tests.py::TestMigratedLegacyConferences::test_fwd50_date_redirects
  • accounts/tests.py::TestSelectedInstance::test_invalid_selected_instance
  • accounts/tests.py::TestAccountIndexRobots::test_two_facets_are_noindex
  • confs/tests.py::TestSyncAnnouncements::test_is_idempotent_and_refreshes_unposted_content
  • confs/tests.py::TestLegacyConferenceDataMigration::test_copies_overlapping_legacy_rows_without_clobbering_existing_data
  • confs/tests.py::TestLegacyConferenceDataMigration::test_drops_legacy_tables_when_uniques_are_mysql_style_indexes
  • starter_packs/tests.py::TestToggleStarterPackAccount::test_toggle_after_limit
  • accounts/tests.py::TestInstanceIndexingBridgy::test_follows_redirect_and_coerces_null_version

Documentation

8

pytest-xdist workers finish at very different times

The busiest worker ran 31.9s of tests, the least busy 20.3s.

Medium Parallelism
5.83 s per run
Fix: Use --dist worksteal (pytest-xdist 3.2+) so idle workers take tests from busy ones; if you use --dist loadscope/loadfile, split the biggest classes or modules. Read the guide
Details

Documentation

9

pytest takes a long time before the first test runs

Startup takes 8.5s and collection 3.5s on every run, even when you only run one test.

Medium Imports
4.78 s per run
Fix: Set testpaths and norecursedirs (node_modules, .venv, build, docs) so pytest doesn't walk unrelated directories; move heavy imports out of module level in test files and conftest.py into fixtures; check `python -X importtime -m pytest --collect-only -q` for the slowest imports. Read the guide
Details
  • mastodon_auth/tests.py (1.5s)
  • starter_packs/tests.py (338ms)
  • accounts/tests.py (127ms)
  • confs/tests.py (21ms)
  • stats/tests.py (1ms)
  • fedidevs/settings.py (2.1s)
  • debug_toolbar/panels/sql/__init__.py (1.2s)
  • starter_packs/admin.py (755ms)

Documentation

10

Modules are imported while tests run

2.0s of test time is spent importing modules: whichever test imports a heavy module first pays for it, which makes that test look slow (and varies with test order).

Low Imports
586 ms per run
Fix: Find what is imported at the lines listed. Import heavy modules at the top of the test module or in conftest.py so the cost shows up once at collection, or avoid importing them in tests at all (e.g. stub the heavy dependency). Read the guide
Details

Where:

  • confs/views.py:366 <module> · 176 ms
  • accounts/views.py:425 index · 120 ms
  • confs/management/commands/syncannouncements.py:14 Command.handle · 107 ms
  • accounts/tests.py:550 TestAccountIndexRobots.assert_noindex · 82 ms
  • accounts/management/commands/indexer.py:81 Command.handle · 74 ms
  • fedidevs/views.py:11 <module> · 69 ms
  • mastodon_auth/forms.py:27 MastodonLoginForm.clean_instance · 50 ms
  • confs/views.py:296 _conference_detail · 44 ms
  • confs/views.py:509 create_conference · 41 ms
  • confs/og_images.py:246 render_conference_og_image · 39 ms

Most affected tests:

  • accounts/tests.py::TestAccountIndexRobots::test_two_facets_are_noindex
  • accounts/tests.py::TestSelectedInstance::test_invalid_selected_instance
  • confs/tests.py::TestSyncAnnouncements::test_is_idempotent_and_refreshes_unposted_content
  • confs/tests.py::TestMigratedLegacyConferences::test_fwd50_date_redirects
  • confs/tests.py::TestConferenceOgImage::test_management_command_renders_missing_and_skips_current
  • mastodon_auth/tests.py::MastodonLoginFormTests::test_cleans_instance_to_ascii_hostname
  • confs/tests.py::TestMigratedLegacyConferences::test_fwd50_page
  • confs/tests.py::TestCreateConference::test_form_renders_for_authenticated_user
11

Run migrations once, not once per worker

Each of the 4 pytest-xdist workers builds its own test database by running every migration: 25.8s in total, about 6.5s per worker. 19.4s of it repeats work another worker already did.

Medium Migrations
19.35 s per run
Fix: Migrate once and copy the database: let one worker build the test database and have the others create theirs from it as a template (on PostgreSQL, CREATE DATABASE ... TEMPLATE ..., which copies files instead of running migrations). Django's own test runner already does this with --parallel. Read the guide
Details

Every copy is built by the same migrations, so a broken migration still fails the run.

  • {'total': 25.805, 'builds': 4, 'workers': 4, 'per_build': 6.451}

Documentation

Tests

1–200 of 308, slowest first · click a column to sort this page
Test Outcome Duration Setup Call Teardown Mostly Queries
accounts/tests.py::TestAccountIndexRobots::test_two_facets_are_noindex
passed 7.01 s 6.45 s 564 ms 0.97 ms Migrations 1065
262 repeated
accounts/tests.py::TestSelectedInstance::test_invalid_selected_instance
passed 6.99 s 6.61 s 385 ms 1 ms Migrations 1119
295 repeated
confs/tests.py::TestMigratedLegacyConferences::test_fwd50_date_redirects
passed 6.81 s 6.60 s 210 ms 1 ms Migrations 1062
262 repeated
confs/tests.py::TestSyncAnnouncements::test_is_idempotent_and_refreshes_unposted_content
passed 6.64 s 6.40 s 238 ms 1 ms Migrations 1075
262 repeated
confs/tests.py::TestEditConference::test_edit_does_not_change_slug
passed 1.94 s 16 ms 1.92 s 0.33 ms Password hashing 31
3 repeated
confs/tests.py::TestConferenceOgImage::test_management_command_renders_missing_and_skips_current
passed 1.74 s 38 ms 1.71 s 0.39 ms Libraries 17
10 repeated
confs/tests.py::TestEditConference::test_other_user_forbidden_on_approved_conference
passed 1.73 s 1 ms 1.73 s 0.37 ms Password hashing 31
6 repeated
confs/tests.py::TestEditConference::test_other_user_forbidden
passed 1.62 s 1 ms 1.62 s 0.37 ms Password hashing 27
3 repeated
confs/tests.py::TestEditConference::test_owner_can_edit
passed 1.56 s 1 ms 1.56 s 0.56 ms Password hashing 31
3 repeated
confs/tests.py::TestLegacyConferenceDataMigration::test_copies_overlapping_legacy_rows_without_clobbering_existing_data
passed 1.54 s 3 ms 1.53 s 0.34 ms Migrations 293
72 repeated
confs/tests.py::TestApproveConference::test_non_staff_forbidden
passed 1.38 s 4 ms 1.37 s 0.31 ms Password hashing 26
confs/tests.py::TestApproveConference::test_staff_sees_approve_button_on_detail
passed 1.30 s 0.94 ms 1.29 s 5 ms Password hashing 31
confs/tests.py::TestApproveConference::test_staff_approves
passed 1.24 s 3 ms 1.23 s 0.30 ms Password hashing 28
confs/tests.py::TestApproveConference::test_get_not_allowed
passed 1.20 s 23 ms 1.18 s 0.31 ms Password hashing 25
fedidevs/tests.py::TestAnonymousCacheAndCsrf::test_authenticated_html_is_private_and_keeps_csrf_header
passed 1.19 s 1 ms 1.19 s 0.33 ms Password hashing 31
3 repeated
confs/tests.py::TestEditConference::test_owner_can_edit_after_approval
passed 1.11 s 1 ms 1.11 s 0.34 ms Password hashing 32
3 repeated
confs/tests.py::TestEditConference::test_owner_can_view_edit_form
passed 1.03 s 1 ms 1.03 s 0.30 ms Password hashing 30
3 repeated
confs/tests.py::TestCreateConference::test_rejects_end_date_before_start
passed 1.02 s 4 ms 1.02 s 0.31 ms Password hashing 26
confs/tests.py::TestLegacyConferenceDataMigration::test_drops_legacy_tables_when_uniques_are_mysql_style_indexes
passed 1.00 s 1 ms 999 ms 0.53 ms Migrations 228
68 repeated
confs/tests.py::TestCreateConference::test_form_renders_for_authenticated_user
passed 964 ms 1 ms 962 ms 0.63 ms Password hashing 26
confs/tests.py::TestEditConference::test_owner_sees_edit_button_on_approved_detail
passed 940 ms 0.81 ms 939 ms 0.30 ms Password hashing 33
3 repeated
confs/tests.py::TestEditConference::test_staff_can_edit
passed 934 ms 0.75 ms 932 ms 1 ms Password hashing 31
3 repeated
starter_packs/tests.py::TestToggleStarterPackAccount::test_toggle_after_limit
passed 903 ms 1 ms 899 ms 3 ms Database 499
463 repeated
confs/tests.py::TestEditConference::test_requires_login
passed 903 ms 0.90 ms 902 ms 0.32 ms Password hashing 9
3 repeated
confs/tests.py::TestCreateConference::test_rejects_more_than_three_icons
passed 833 ms 3 ms 830 ms 0.36 ms Password hashing 31
4 repeated
confs/tests.py::TestCreateConference::test_advanced_days_are_saved
passed 774 ms 27 ms 747 ms 0.35 ms Password hashing 27
confs/tests.py::TestCreateConference::test_selected_icons_are_saved
passed 701 ms 4 ms 696 ms 1 ms Password hashing 31
confs/tests.py::TestConferenceApprovalVisibility::test_anonymous_sees_only_approved
passed 699 ms 9 ms 689 ms 0.29 ms Password hashing 18
3 repeated
confs/tests.py::TestCreateConference::test_slug_collision_is_resolved
passed 694 ms 1 ms 693 ms 0.33 ms Password hashing 29
3 repeated
confs/tests.py::TestApproveConference::test_anonymous_sees_pending_banner_without_button
passed 691 ms 0.78 ms 638 ms 53 ms Password hashing 15
confs/tests.py::TestConferenceApprovalVisibility::test_owner_sees_own_pending
passed 668 ms 0.83 ms 667 ms 0.28 ms Password hashing 35
3 repeated
confs/tests.py::TestConferenceApprovalVisibility::test_other_user_does_not_see_pending
passed 666 ms 0.88 ms 665 ms 0.34 ms Password hashing 35
3 repeated
confs/tests.py::TestUnapproveConference::test_non_staff_forbidden
passed 654 ms 16 ms 638 ms 0.28 ms Password hashing 26
confs/tests.py::TestCreateConference::test_submit_creates_pending_conference
passed 652 ms 4 ms 645 ms 2 ms Password hashing 28
confs/tests.py::TestUnapproveConference::test_staff_unapproves
passed 647 ms 0.88 ms 645 ms 1 ms Password hashing 28
confs/tests.py::TestConferenceApprovalVisibility::test_conference_tag_icon_rendered_in_list
passed 644 ms 0.81 ms 643 ms 0.31 ms Password hashing 20
3 repeated
confs/tests.py::TestApproveConference::test_anonymous_redirected_to_login
passed 644 ms 9 ms 634 ms 0.32 ms Password hashing 9
confs/tests.py::TestConferenceApprovalVisibility::test_pending_detail_page_is_viewable
passed 642 ms 0.81 ms 641 ms 1 ms Password hashing 15
confs/tests.py::TestCreateConference::test_requires_login
passed 626 ms 1 ms 624 ms 0.36 ms Password hashing 6
confs/tests.py::TestCreateConference::test_mastodon_handle_is_converted_to_url
passed 595 ms 1 ms 593 ms 0.30 ms Password hashing 27
confs/tests.py::TestCreateConference::test_mastodon_url_is_kept
passed 527 ms 1 ms 526 ms 0.54 ms Password hashing 27
starter_packs/tests.py::TestShareStarterPack::test_header_shows_gradient_and_account_avatars
passed 496 ms 1 ms 493 ms 2 ms Libraries 14
starter_packs/tests.py::TestShareStarterPack::test_order_by_5___alphabetical____4__3__2__1__0__
passed 421 ms 65 ms 356 ms 0.33 ms Templates 42
22 repeated
confs/tests.py::TestConferenceOgImage::test_render_writes_file_and_updates_fields
passed 364 ms 2 ms 362 ms 0.37 ms Libraries 8
starter_packs/tests.py::TestShareStarterPack::test_logged_in
passed 345 ms 89 ms 255 ms 0.34 ms Libraries 58
24 repeated
accounts/tests.py::TestStaticPages::test_developers_on_mastodon
passed 344 ms 25 ms 319 ms 0.34 ms Libraries 8
accounts/tests.py::TestAccountIndexRobots::test_single_facet_is_indexable
passed 331 ms 2 ms 325 ms 4 ms Database 20
15 repeated
confs/tests.py::TestMigratedLegacyConferences::test_djangoconafrica_page
passed 325 ms 2 ms 323 ms 0.33 ms Database 11
posts/tests.py::TestSubscribePages::test_subscribe_uses_tailwind_layout
passed 313 ms 1 ms 307 ms 5 ms Libraries 6
starter_packs/tests.py::TestEditStarterPack::test_not_logged_in
passed 311 ms 4 ms 307 ms 0.29 ms Libraries 7
mastodon_auth/tests.py::MastodonVersionCheckTests::test_log_in_survives_instance_endpoint_rejecting_requests
passed 305 ms 2 ms 86 ms 218 ms DB schema 1
accounts/tests.py::TestInstanceIndexingBridgy::test_follows_redirect_and_coerces_null_version
passed 303 ms 2 ms 300 ms 0.35 ms DB schema 73
62 repeated
confs/tests.py::TestConferencePage::test_conference_with_utc_with_date
passed 300 ms 4 ms 296 ms 0.38 ms Libraries 16
starter_packs/tests.py::TestFollowStarterPack::test_success
passed 278 ms 52 ms 224 ms 1 ms Mocking 48
9 repeated
fedidevs/tests.py::TestAccountIndexQueryParams::test_unknown_param_is_stripped_from_faceted_url
passed 271 ms 3 ms 268 ms 0.44 ms Libraries –
starter_packs/tests.py::TestStarterPacks::test_index_page_logged_in
passed 265 ms 55 ms 209 ms 0.36 ms Database 37
11 repeated
starter_packs/tests.py::TestPinAccountInStarterPack::test_no_pin_button_on_share_page
passed 246 ms 48 ms 198 ms 0.41 ms Libraries 41
3 repeated
accounts/tests.py::TestSelectedInstance::test_selected_instance_slash_truncate
passed 243 ms 1 ms 242 ms 0.28 ms Libraries 13
accounts/tests.py::TestSitemap::test_sitemap
passed 242 ms 33 ms 208 ms 2 ms Libraries 14
5 repeated
confs/tests.py::TestMigratedLegacyConferences::test_fwd50_page
passed 239 ms 2 ms 237 ms 0.35 ms Templates 11
starter_packs/tests.py::TestOwnerManagement::test_accept_blocked_when_pack_at_max
passed 236 ms 49 ms 187 ms 0.38 ms Database 84
54 repeated
starter_packs/tests.py::TestFollowStarterPack::test_instance_unreachable
passed 234 ms 46 ms 188 ms 0.37 ms Database 43
6 repeated
starter_packs/tests.py::TestRemoteFollowStarterPack::test_deleted_pack_404
passed 234 ms 25 ms 208 ms 0.92 ms Libraries 10
starter_packs/tests.py::TestPinAccountInStarterPack::test_pin_limit
passed 234 ms 1 ms 230 ms 3 ms Database 47
20 repeated
starter_packs/tests.py::TestShareStarterPack::test_sort_select_avoids_inline_js
passed 229 ms 1 ms 225 ms 3 ms Libraries 12
starter_packs/tests.py::TestOwnerManagement::test_manage_owners_page
passed 228 ms 43 ms 184 ms 0.70 ms Libraries 37
accounts/tests.py::TestSelectedInstance::test_selected_instance_through_session
passed 227 ms 7 ms 220 ms 0.27 ms Libraries 17
mastodon_auth/tests.py::IsValidRedirectQueryTests::test_rejects_malformed_or_incomplete_urls
passed 223 ms 2 ms 2 ms 218 ms DB schema 1
starter_packs/tests.py::TestShareStarterPack::test_api_formats_2___application_activity_json____application_activity_json__
passed 221 ms 3 ms 217 ms 0.37 ms Libraries 10
starter_packs/tests.py::TestRemoteFollowStarterPack::test_error_on_invalid_handle
passed 220 ms 7 ms 213 ms 0.29 ms Database 12
starter_packs/tests.py::TestOwnerManagement::test_invite_blocked_at_max
passed 219 ms 1 ms 217 ms 0.39 ms Database 77
45 repeated
starter_packs/tests.py::TestToggleStarterPackAccount::test_add_account
passed 215 ms 37 ms 178 ms 0.33 ms Libraries 42
starter_packs/tests.py::TestPinAccountInStarterPack::test_pinned_account_first_for_every_sort_option
passed 207 ms 41 ms 165 ms 0.38 ms Database 24
3 repeated
starter_packs/tests.py::TestStarterPacks::test_index_page
passed 207 ms 47 ms 160 ms 0.35 ms Templates 19
11 repeated
confs/tests.py::TestConferencePage::test_conference_pacific_with_no_filter
passed 207 ms 30 ms 176 ms 0.47 ms Libraries 20
starter_packs/tests.py::TestPinAccountInStarterPack::test_pin_button_shown_on_review_page
passed 206 ms 1 ms 205 ms 0.38 ms Libraries 29
starter_packs/tests.py::TestOwnerManagement::test_owner_cancels_invitation
passed 206 ms 5 ms 201 ms 0.62 ms Libraries 28
starter_packs/tests.py::TestShareStarterPack::test_order_by_4___newest_account____0__1__2__3__4__
passed 203 ms 1 ms 200 ms 2 ms pytest 20
5 repeated
stats/tests.py::TestStats::test_posts_from_yesterday_are_updated
passed 198 ms 0.98 ms 196 ms 2 ms Database 108
91 repeated
stats/tests.py::TestStats::test_store_daily_stats
passed 196 ms 13 ms 182 ms 0.32 ms Database 102
88 repeated
starter_packs/tests.py::TestEditStarterPack::test_edit_shows_selected_uncommon_language_expanded
passed 196 ms 32 ms 163 ms 0.41 ms Libraries 32
fedidevs/tests.py::TestPotatoqDashboard::test_actions_skip_django_csrf_but_need_dashboard_header
passed 196 ms 25 ms 171 ms 0.36 ms Libraries 26
4 repeated
starter_packs/tests.py::TestCreateStarterPack::test_create_starter_pack
passed 195 ms 2 ms 194 ms 0.31 ms Libraries 38
6 repeated
starter_packs/tests.py::TestEditStarterPack::test_edit_starter_packs
passed 194 ms 2 ms 191 ms 0.40 ms Libraries 25
accounts/tests.py::TestSelectedInstance::test_unselected_instance
passed 192 ms 1 ms 189 ms 0.97 ms Libraries 20
starter_packs/tests.py::TestOwnerManagement::test_invite_blocked_when_owners_plus_invitations_at_max
passed 189 ms 1 ms 187 ms 0.37 ms Libraries 76
45 repeated
accounts/tests.py::TestSelectedInstance::test_selected_instance_https_truncate
passed 185 ms 1 ms 184 ms 0.38 ms Libraries 13
starter_packs/tests.py::TestOwnerManagement::test_pending_invitation_shown_on_starter_packs_page
passed 185 ms 2 ms 182 ms 0.40 ms Libraries 28
starter_packs/tests.py::TestShareStarterPack::test_share_starter_pack
passed 185 ms 0.98 ms 184 ms 0.33 ms Libraries 18
6 repeated
starter_packs/tests.py::TestShareStarterPack::test_api_activitypub
passed 184 ms 64 ms 120 ms 0.38 ms Database 34
17 repeated
starter_packs/tests.py::TestOwnerManagement::test_invite_twice_does_not_duplicate
passed 184 ms 2 ms 182 ms 0.52 ms Libraries 40
3 repeated
starter_packs/tests.py::TestCreateStarterPack::test_create_page_logged_in
passed 182 ms 1 ms 181 ms 0.35 ms Libraries 24
accounts/tests.py::TestWebfingerBackfill::test_backfills_only_live_starter_pack_accounts_and_authors
passed 182 ms 75 ms 105 ms 2 ms Database 34
22 repeated
starter_packs/tests.py::TestShareStarterPack::test_order_by_1___followers____4__3__2__1__0__
passed 181 ms 2 ms 178 ms 0.38 ms Database 20
5 repeated
accounts/tests.py::TestSelectedInstance::test_selected_instance
passed 179 ms 1 ms 178 ms 0.27 ms Libraries 13
confs/tests.py::TestConferencePage::test_posts_after_filter_does_not_warn_naive_datetime
passed 177 ms 1 ms 171 ms 4 ms Libraries 16
confs/tests.py::TestMigratedLegacyConferences::test_migrated_conference_shows_linked_posts
passed 176 ms 2 ms 167 ms 7 ms Database 19
fedidevs/tests.py::TestPotatoqDashboard::test_staff_sees_dashboard
passed 175 ms 3 ms 172 ms 0.36 ms Libraries 22
starter_packs/tests.py::TestEditStarterPack::test_edit_starter_pack_post
passed 175 ms 3 ms 172 ms 0.40 ms Libraries 34
9 repeated
starter_packs/tests.py::TestAddAccountsSearch::test_username_search_shows_checked_for_existing_account
passed 174 ms 44 ms 130 ms 0.34 ms Database 40
accounts/tests.py::TestAccountIndexRobots::test_full_facet_product_is_noindex
passed 174 ms 1 ms 172 ms 0.33 ms Libraries 8
starter_packs/tests.py::TestToggleStarterPackAccount::test_remove_account
passed 173 ms 1 ms 172 ms 0.46 ms Libraries 37
starter_packs/tests.py::TestOwnerManagement::test_accept_invitation_makes_owner
passed 173 ms 2 ms 171 ms 0.68 ms Database 30
fedidevs/tests.py::TestAnonymousCacheAndCsrf::test_anonymous_forms_work_after_csrf_bootstrap
passed 173 ms 14 ms 158 ms 0.32 ms Libraries 8
starter_packs/tests.py::TestShareStarterPack::test_order_by_3___last_active____4__3__2__1__0__
passed 172 ms 1 ms 170 ms 0.35 ms Libraries 20
5 repeated
starter_packs/tests.py::TestOwnerManagement::test_only_invited_user_can_accept
passed 172 ms 2 ms 169 ms 0.47 ms Libraries 31
accounts/tests.py::TestAccountIndexRobots::test_pagination_is_noindex
passed 170 ms 2 ms 168 ms 0.34 ms Database 8
starter_packs/tests.py::TestEditStarterPackAccounts::test_edit_starter_packs
passed 170 ms 31 ms 138 ms 0.68 ms Libraries 34
fedidevs/tests.py::TestAnonymousCacheAndCsrf::test_other_pages_keep_unknown_query_params
passed 169 ms 1 ms 167 ms 0.96 ms Database 10
3 repeated
starter_packs/tests.py::TestEditStarterPackAccounts::test_not_owned_starter_pack
passed 165 ms 51 ms 110 ms 3 ms Database 30
starter_packs/tests.py::TestPinAccountInStarterPack::test_unpinned_pack_orders_by_followers
passed 164 ms 1 ms 160 ms 2 ms Libraries 12
starter_packs/tests.py::TestShareStarterPack::test_api_formats_6___text_html____text_html__
passed 163 ms 1 ms 162 ms 0.40 ms Libraries 12
starter_packs/tests.py::TestOwnerManagement::test_owner_handles_shown_on_list_card
passed 161 ms 2 ms 159 ms 0.36 ms Libraries 17
starter_packs/tests.py::TestPinAccountInStarterPack::test_pinned_account_listed_first_for_everyone
passed 159 ms 3 ms 156 ms 0.34 ms Database 13
starter_packs/tests.py::TestFollowStarterPack::test_revoked_token_logs_out
passed 158 ms 1 ms 155 ms 2 ms Database 34
fedidevs/tests.py::TestPotatoqDashboard::test_regular_user_is_forbidden
passed 158 ms 5 ms 152 ms 0.36 ms Libraries 22
starter_packs/tests.py::TestOwnerManagement::test_non_owner_cannot_invite
passed 157 ms 2 ms 155 ms 0.28 ms Libraries 23
accounts/tests.py::TestAccountIndexRobots::test_canonical_page_is_indexable
passed 157 ms 15 ms 142 ms 0.29 ms Database 8
starter_packs/tests.py::TestStarterPacks::test_index_page_language_filter
passed 157 ms 1 ms 154 ms 1 ms Libraries 17
starter_packs/tests.py::TestShareStarterPack::test_order_by_2___recently_added____0__1__2__3__4__
passed 154 ms 4 ms 150 ms 0.34 ms Database 20
5 repeated
accounts/tests.py::TestAccountIndexRobots::test_empty_facet_values_are_not_facets
passed 154 ms 2 ms 152 ms 0.33 ms Libraries 8
starter_packs/tests.py::TestShareStarterPack::test_languages_shown_when_set
passed 153 ms 0.98 ms 149 ms 3 ms Libraries 13
fedidevs/tests.py::TestAccountIndexQueryParams::test_empty_q_is_preserved
passed 151 ms 2 ms 148 ms 0.34 ms Libraries –
accounts/tests.py::TestAccountIndexRobots::test_search_is_noindex_even_alone
passed 150 ms 4 ms 146 ms 0.27 ms Libraries 8
starter_packs/tests.py::TestRemoteFollowStarterPack::test_share_page_hides_remote_follow_form_when_logged_in
passed 150 ms 1 ms 149 ms 0.47 ms Database 33
starter_packs/tests.py::TestEditStarterPack::test_edit_starter_pack_languages
passed 148 ms 2 ms 145 ms 0.33 ms Database 26
starter_packs/tests.py::TestRemoteFollowStarterPack::test_error_when_no_subscribe_endpoint
passed 148 ms 0.95 ms 146 ms 0.28 ms Mocking 12
accounts/tests.py::TestSelectedInstance::test_no_selected_instance
passed 147 ms 2 ms 145 ms 0.31 ms Libraries 12
mastodon_auth/tests.py::MastodonAuthCallbackTests::test_pleroma_granular_scope_mismatch_still_logs_in
passed 147 ms 2 ms 144 ms 0.37 ms Mocking 32
starter_packs/tests.py::TestOwnerManagement::test_added_owner_who_is_not_creator_can_edit
passed 145 ms 2 ms 143 ms 0.47 ms Templates 26
starter_packs/tests.py::TestDeleteStarterPack::test_not_logged_in
passed 143 ms 1 ms 141 ms 0.33 ms Libraries 7
confs/tests.py::TestConferencePage::test_conference_with_utc_with_date_no_posts
passed 142 ms 4 ms 137 ms 0.30 ms Libraries 12
confs/tests.py::TestConferencesPage::test_conferences_page
passed 141 ms 14 ms 127 ms 1 ms Database 12
3 repeated
starter_packs/tests.py::TestOwnerManagement::test_invite_existing_owner_is_noop
passed 141 ms 1 ms 139 ms 0.36 ms Libraries 29
starter_packs/tests.py::TestOwnerManagement::test_non_owner_cannot_cancel_invitation
passed 141 ms 2 ms 138 ms 0.60 ms Libraries 25
accounts/tests.py::TestSelectedInstance::test_selected_instance_http_truncate
passed 140 ms 0.96 ms 139 ms 0.30 ms Libraries 13
stats/tests.py::TestStats::test_store_daily_stats_with_accounts
passed 140 ms 1 ms 135 ms 4 ms Database 104
88 repeated
mastodon_auth/tests.py::RedirectToLocalViewTests::test_valid_query_redirects_unauthenticated_users_to_target
passed 139 ms 1 ms 135 ms 3 ms Libraries 5
starter_packs/tests.py::TestRemoteFollowStarterPack::test_missing_handle
passed 137 ms 1 ms 134 ms 2 ms Libraries 12
fedidevs/tests.py::TestAccountIndexQueryParams::test_unknown_root_param_is_301ed
passed 137 ms 17 ms 120 ms 0.52 ms Libraries –
starter_packs/tests.py::TestOwnerManagement::test_invite_creates_pending_invitation_not_owner
passed 136 ms 2 ms 134 ms 0.57 ms Database 33
accounts/tests.py::TestAccountIndexRobots::test_paginated_single_facet_is_noindex
passed 135 ms 2 ms 134 ms 0.32 ms Libraries 8
starter_packs/tests.py::TestDeleteStarterPack::test_not_owned_starter_pack
passed 135 ms 1 ms 131 ms 2 ms Libraries 24
accounts/tests.py::TestAccountIndexRobots::test_deep_pagination_is_noindex
passed 133 ms 4 ms 129 ms 0.30 ms Templates 8
starter_packs/tests.py::TestRemoteFollowStarterPack::test_mastodon_handle_is_told_to_log_in
passed 131 ms 2 ms 129 ms 0.34 ms Mocking 12
starter_packs/tests.py::TestEditStarterPack::test_not_owned_starter_pack
passed 131 ms 0.94 ms 127 ms 3 ms Libraries 24
starter_packs/tests.py::TestCreateStarterPack::test_create_starter_pack_rejects_unknown_language
passed 130 ms 2 ms 128 ms 0.28 ms Libraries 25
starter_packs/tests.py::TestOwnerManagement::test_search_excludes_existing_owners
passed 127 ms 1 ms 125 ms 0.55 ms Libraries 29
mastodon_auth/tests.py::MastodonAuthCallbackTests::test_date_only_last_status_at_is_stored_as_aware
passed 127 ms 12 ms 114 ms 0.34 ms Database 32
starter_packs/tests.py::TestShareStarterPack::test_api_formats_3___application_activity_json_q_0_5_text_html_q_0_4____application_activity_json__
passed 126 ms 1 ms 125 ms 0.33 ms Libraries 10
starter_packs/tests.py::TestShareStarterPack::test_non_discoverable_accounts
passed 126 ms 1 ms 125 ms 0.34 ms Database 19
5 repeated
starter_packs/tests.py::TestOwnerManagement::test_search_excludes_invited_users
passed 125 ms 1 ms 124 ms 0.34 ms Libraries 29
mastodon_auth/tests.py::MastodonAuthCallbackTests::test_oauth_error_redirect_is_surfaced
passed 125 ms 1 ms 124 ms 0.28 ms Libraries 5
accounts/tests.py::TestAccountIndexRobots::test_selected_instance_is_noindex
passed 125 ms 2 ms 123 ms 0.31 ms Libraries 12
starter_packs/tests.py::TestStarterPacks::test_index_page_with_own_starter_packs
passed 124 ms 1 ms 123 ms 0.30 ms Database 30
starter_packs/tests.py::TestCreateStarterPack::test_create_starter_pack_rejects_too_many_languages
passed 123 ms 0.95 ms 121 ms 0.55 ms Templates 25
starter_packs/tests.py::TestCreateStarterPack::test_create_page
passed 122 ms 28 ms 94 ms 0.30 ms Database 11
mastodon_auth/tests.py::MastodonAuthCallbackTests::test_other_illegal_argument_error_still_logged_at_error
passed 121 ms 0.97 ms 120 ms 0.31 ms Mocking 7
starter_packs/tests.py::TestShareStarterPack::test_order_by_recently_added_ignores_other_packs
passed 121 ms 1 ms 119 ms 0.31 ms Database 24
5 repeated
starter_packs/tests.py::TestCreateStarterPack::test_form_error
passed 120 ms 1 ms 113 ms 6 ms Database 25
fedidevs/tests.py::TestAnonymousCacheAndCsrf::test_plain_pages_are_indexable
passed 119 ms 4 ms 116 ms 0.32 ms Libraries 7
confs/tests.py::TestConferencePage::test_conference_with_pacific_with_date_no_posts
passed 119 ms 1 ms 118 ms 0.31 ms Database 12
fedidevs/tests.py::TestPotatoqDashboard::test_superuser_without_staff_flag_sees_dashboard
passed 119 ms 1 ms 115 ms 3 ms Libraries 22
confs/tests.py::TestConferencePage::test_conference_utc_with_no_filter
passed 119 ms 1 ms 118 ms 0.34 ms Libraries 16
starter_packs/tests.py::TestShareStarterPack::test_api_formats_7___text_plain____text_html__
passed 119 ms 1 ms 118 ms 0.30 ms Libraries 12
starter_packs/tests.py::TestOwnerManagement::test_search_finds_logged_in_user
passed 119 ms 1 ms 115 ms 3 ms Database 28
accounts/tests.py::TestAccountIndexRobots::test_unfaceted_root_index_is_indexable
passed 119 ms 4 ms 112 ms 3 ms Libraries 8
mastodon_auth/tests.py::RedirectToLocalViewTests::test_invalid_query_redirects_to_home
passed 118 ms 14 ms 104 ms 0.66 ms Libraries 5
fedidevs/tests.py::TestAnonymousCacheAndCsrf::test_csrf_endpoint_sets_cookie_and_returns_token
passed 118 ms 4 ms 113 ms 0.39 ms Libraries 5
starter_packs/tests.py::TestShareStarterPack::test_api_formats_4___application_json____application_json__
passed 117 ms 4 ms 113 ms 0.34 ms Libraries 8
starter_packs/tests.py::TestPinAccountInStarterPack::test_pin_button_shown_on_add_accounts_page
passed 117 ms 1 ms 116 ms 0.34 ms Database 29
starter_packs/tests.py::TestShareStarterPack::test_api_formats_1___application_ld_json__profile__https___www_w3_org_ns_activitystreams_____application_activity_json__
passed 117 ms 1 ms 115 ms 0.37 ms Libraries 10
starter_packs/tests.py::TestShareStarterPack::test_api_formats_5___application_json_q_0_5_text_html_q_0_4____application_json__
passed 116 ms 0.99 ms 114 ms 1 ms Libraries 8
starter_packs/tests.py::TestDeleteStarterPack::test_delete
passed 115 ms 28 ms 86 ms 0.34 ms Database 31
starter_packs/tests.py::TestOwnerManagement::test_cannot_remove_last_owner
passed 115 ms 4 ms 110 ms 0.34 ms Database 28
3 repeated
starter_packs/tests.py::TestStarterPacks::test_language_filter_only_lists_used_languages
passed 114 ms 1 ms 108 ms 5 ms Libraries 15
accounts/tests.py::TestStaticPages::test_faq
passed 114 ms 1 ms 109 ms 4 ms Templates 7
starter_packs/tests.py::TestOwnerManagement::test_invite_without_account_access_is_rejected
passed 114 ms 0.98 ms 106 ms 6 ms Database 28
starter_packs/tests.py::TestAddAccountsSearch::test_username_search_shows_unchecked_for_new_account
passed 112 ms 1 ms 111 ms 0.79 ms Database 30
starter_packs/tests.py::TestPinAccountInStarterPack::test_readding_account_swaps_pin_button_to_enabled_unpinned
passed 112 ms 0.97 ms 110 ms 0.30 ms Database 50
14 repeated
starter_packs/tests.py::TestShareStarterPack::test_languages_hidden_when_unset
passed 111 ms 1 ms 110 ms 0.34 ms Templates 12
starter_packs/tests.py::TestShareStarterPack::test_not_existing_starter_pack
passed 111 ms 1 ms 109 ms 0.28 ms Libraries 6
starter_packs/tests.py::TestRemoteFollowStarterPack::test_redirects_to_subscribe_url
passed 110 ms 26 ms 84 ms 0.31 ms Mocking 8
confs/tests.py::TestConferencePage::test_conference_with_pacific_with_date
passed 110 ms 1 ms 109 ms 0.48 ms Libraries 16
starter_packs/tests.py::TestCreateStarterPack::test_create_starter_pack_with_languages
passed 110 ms 1 ms 108 ms 0.28 ms Database 29
fedidevs/tests.py::TestAnonymousCacheAndCsrf::test_anonymous_html_is_publicly_cacheable_without_csrf_cookie
passed 110 ms 1 ms 108 ms 0.31 ms Libraries 7
mastodon_auth/tests.py::MastodonAuthCallbackTests::test_invalid_grant_is_logged_as_warning_not_error
passed 108 ms 1 ms 106 ms 0.66 ms Mocking 8
confs/tests.py::TestMigratedLegacyConferences::test_dotnetconf_page
passed 108 ms 0.98 ms 105 ms 2 ms Libraries 11
starter_packs/tests.py::TestOwnerManagement::test_decline_invitation_removes_it
passed 107 ms 1 ms 106 ms 0.47 ms Database 27
mastodon_auth/tests.py::MastodonAuthCallbackTests::test_keyerror_without_token_errors
passed 107 ms 2 ms 105 ms 0.34 ms Mocking 8
starter_packs/tests.py::TestShareStarterPack::test_order_by_6___not_a_valid_option____4__3__2__1__0__
passed 107 ms 0.98 ms 106 ms 0.30 ms Database 20
5 repeated
starter_packs/tests.py::TestOwnerManagement::test_removing_self_redirects_home
passed 106 ms 1 ms 105 ms 0.44 ms Libraries 27
posts/tests.py::TestSubscribePages::test_subscribe_success_uses_tailwind_layout
passed 106 ms 16 ms 90 ms 0.38 ms Libraries 6
starter_packs/tests.py::TestOwnerManagement::test_remove_owner
passed 106 ms 1 ms 104 ms 0.43 ms Libraries 29
starter_packs/tests.py::TestShareStarterPack::test_api_activitypub_leaves_out_attributed_to_without_author_activitypub_id
passed 105 ms 1 ms 103 ms 0.36 ms Libraries 11
starter_packs/tests.py::TestPinAccountInStarterPack::test_toggle_pin_and_unpin
passed 105 ms 1 ms 103 ms 0.37 ms Libraries 33
3 repeated
fedidevs/tests.py::TestAnonymousCacheAndCsrf::test_query_string_pages_are_not_noindexed
passed 103 ms 1.00 ms 99 ms 3 ms Database 7
fedidevs/tests.py::TestPotatoqDashboard::test_anonymous_is_sent_to_login
passed 103 ms 4 ms 98 ms 0.31 ms Libraries 5
starter_packs/tests.py::TestEditStarterPackAccounts::test_not_logged_in
passed 103 ms 1 ms 100 ms 1 ms Database 7
starter_packs/tests.py::TestOwnerManagement::test_non_owner_cannot_open_manage_page
passed 102 ms 1 ms 100 ms 0.32 ms Libraries 23

Slowest fixtures

Exact setup time across the session
Fixture Scope Calls Total Max
_django_setup_unittest class 76 25.84 s 6.59 s
django_db_setup session 4 25.81 s 6.59 s
_unittest_setUpClass_fixture_TestSelectedInstance class 1 213 ms 213 ms
_unittest_setUpClass_fixture_TestShareStarterPack class 3 209 ms 85 ms
_unittest_setUpClass_fixture_TestStarterPacks class 2 99 ms 54 ms
_unittest_setUpClass_fixture_TestFollowStarterPack class 2 94 ms 50 ms
_unittest_setUpClass_fixture_TestOwnerManagement class 2 88 ms 47 ms
_unittest_setUpClass_fixture_TestPinAccountInStarterPack class 2 85 ms 46 ms
_unittest_setUpClass_fixture_TestEditStarterPackAccounts class 2 76 ms 47 ms
_unittest_setUpClass_fixture_TestWebfingerBackfill class 1 72 ms 72 ms
_unittest_setUpClass_fixture_TestFollowBg class 1 70 ms 70 ms
_unittest_setUpClass_fixture_TestRemoteFollowStarterPack class 2 46 ms 23 ms
_unittest_setUpClass_fixture_TestAddAccountsSearch class 1 42 ms 42 ms
_unittest_setUpClass_fixture_TestConferenceOgImage class 1 35 ms 35 ms
_unittest_setUpClass_fixture_TestToggleStarterPackAccount class 1 35 ms 35 ms