flakytest.dev anze3db fedidevs
Profiles / #9

Passed Run of Nov 7, 17:55

CI github-actions:test · 4f01055 main dirty · pass/fail report
Some tests got too few samples to explain their time. Rerun with pytest --flakytest-profile --flakytest-rate 2000.
Wall time
39.77 s
4 workers
Test time
1m 36s
sum of test durations
Tests
310
310 passed
Profiler
tachyon
1000 Hz · 94,964 samples · Python 3.15.2 · flakytest 2026.0b1
Peak memory
657 MB
4 workers together

Where the time goes

Test time by category
  • Password hashing27.38 s
  • Migrations25.36 s
  • Libraries19.22 s
  • Database13.37 s
  • Templates2.97 s
  • DB schema2.79 s
  • Mocking1.80 s
  • Imports1.57 s
  • pytest404 ms
  • Factories395 ms
  • Unsampled328 ms
  • App code102 ms
  • Cache81 ms
  • Deep copies57 ms
  • Waiting23 ms
  • Test code22 ms
  • Network16 ms
  • Logging16 ms
  • Serialization13 ms
  • Fixture loading1 ms

Session timeline

Other
7 ms
Tests
1m 36s
Startup
9.61 s
Collection
2.91 s
Test phases
Setup 28.46 s Call 1m 07s Teardown 848 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.1s.

High App code
28.14 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 · 909 ms
  • starter_packs/tests.py:781 TestShareStarterPack.test_order_by · 749 ms
  • starter_packs/views.py:862 share_starter_pack · 685 ms
  • accounts/tests.py:550 TestAccountIndexRobots.assert_noindex · 601 ms
  • accounts/tests.py:555 TestAccountIndexRobots.assert_indexable · 556 ms
  • starter_packs/views.py:856 share_starter_pack · 544 ms
  • confs/views.py:509 create_conference · 443 ms
  • starter_packs/tests.py:841 TestShareStarterPack.test_api_formats · 429 ms
  • starter_packs/tests.py:954 TestShareStarterPack._get_activitypub · 421 ms
  • starter_packs/tests.py:1291 TestRemoteFollowStarterPack.test_deleted_pack_404 · 398 ms

Most affected tests:

  • starter_packs/tests.py::TestFollowStarterPack::test_instance_unreachable
  • starter_packs/tests.py::TestRemoteFollowStarterPack::test_deleted_pack_404
  • confs/tests.py::TestMigratedLegacyConferences::test_djangoconafrica_page
  • starter_packs/tests.py::TestStarterPacks::test_index_page
  • accounts/tests.py::TestSelectedInstance::test_invalid_selected_instance
  • confs/tests.py::TestCreateConference::test_rejects_more_than_three_icons
  • accounts/tests.py::TestAccountIndexRobots::test_two_facets_are_noindex
  • starter_packs/tests.py::TestShareStarterPack::test_api_activitypub_leaves_out_accounts_without_activitypub_id
2

Use a fast password hasher in tests

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

High Password hashing
26.01 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.21 s
  • confs/tests.py:1176 TestEditConference.setUp · 3.81 s
  • confs/tests.py:1177 TestEditConference.setUp · 3.73 s
  • confs/tests.py:1175 TestEditConference.setUp · 3.68 s
  • confs/tests.py:1371 TestApproveConference.setUp · 2.82 s
  • confs/tests.py:1372 TestApproveConference.setUp · 2.73 s
  • confs/tests.py:1317 TestConferenceApprovalVisibility.setUp · 1.54 s
  • confs/tests.py:1316 TestConferenceApprovalVisibility.setUp · 1.53 s
  • fedidevs/tests.py:63 TestAnonymousCacheAndCsrf.test_authenticated_html_is_private_and_keeps_csrf_header · 660 ms
  • confs/tests.py:1295 TestUnapproveConference.setUp · 607 ms

Most affected tests:

  • 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::TestEditConference::test_edit_does_not_change_slug
  • confs/tests.py::TestEditConference::test_owner_can_edit_after_approval
  • confs/tests.py::TestApproveConference::test_non_staff_forbidden
  • fedidevs/tests.py::TestAnonymousCacheAndCsrf::test_authenticated_html_is_private_and_keeps_csrf_header
  • confs/tests.py::TestApproveConference::test_get_not_allowed

Documentation

3

Stop re-running migrations on every test run

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

High Migrations
22.82 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.16 s
  • confs/migrations/0031_seed_conference_tags.py:14 seed_conference_tags · 806 ms
  • confs/migrations/0033_remove_legacy_conference_tables.py:388 _get_or_create_conference · 143 ms
  • confs/tests.py:412 TestLegacyConferenceDataMigration._leaf_targets · 130 ms
  • confs/tests.py:430 TestLegacyConferenceDataMigration._migrate · 83 ms
  • confs/tests.py:431 TestLegacyConferenceDataMigration._migrate · 66 ms
  • confs/migrations/0033_remove_legacy_conference_tables.py:214 _pk_batches · 65 ms
  • confs/migrations/0033_remove_legacy_conference_tables.py:325 _refresh_account_counts · 50 ms
  • confs/migrations/0033_remove_legacy_conference_tables.py:398 migrate_legacy_pair · 48 ms
  • starter_packs/migrations/0004_starterpack_published_at.py:9 set_published_at · 46 ms

Most affected tests:

  • confs/tests.py::TestMigratedLegacyConferences::test_fwd50_date_redirects
  • accounts/tests.py::TestAccountIndexRobots::test_two_facets_are_noindex
  • confs/tests.py::TestSyncAnnouncements::test_is_idempotent_and_refreshes_unposted_content
  • accounts/tests.py::TestSelectedInstance::test_invalid_selected_instance
  • 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 186ms, library 9ms) in 7 classes: TestFollowStarterPack (3 tests), TestApproveConference (6 tests), TestPostAnnouncements (6 tests), TestCreateConference (10 tests).

High Database
18.53 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.23 s
  • confs/tests.py:1176 TestEditConference.setUp · 3.83 s
  • confs/tests.py:1177 TestEditConference.setUp · 3.74 s
  • confs/tests.py:1175 TestEditConference.setUp · 3.69 s
  • confs/tests.py:1371 TestApproveConference.setUp · 2.84 s
  • confs/tests.py:1372 TestApproveConference.setUp · 2.74 s
  • confs/tests.py:1317 TestConferenceApprovalVisibility.setUp · 1.55 s
  • confs/tests.py:1316 TestConferenceApprovalVisibility.setUp · 1.54 s
  • confs/tests.py:1295 TestUnapproveConference.setUp · 610 ms
  • confs/tests.py:1296 TestUnapproveConference.setUp · 601 ms

Most affected tests:

  • 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::TestEditConference::test_edit_does_not_change_slug
  • confs/tests.py::TestEditConference::test_owner_can_edit_after_approval
  • confs/tests.py::TestApproveConference::test_non_staff_forbidden
  • confs/tests.py::TestApproveConference::test_get_not_allowed
  • confs/tests.py::TestApproveConference::test_staff_approves

Documentation

5

Disable django-debug-toolbar in tests

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

High App code
10.98 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 · 909 ms
  • starter_packs/views.py:862 share_starter_pack · 685 ms
  • starter_packs/views.py:856 share_starter_pack · 544 ms
  • confs/views.py:509 create_conference · 443 ms
  • confs/views.py:296 _conference_detail · 355 ms
  • starter_packs/views.py:185 starter_packs · 351 ms
  • starter_packs/views.py:60 get_editable_pack · 297 ms
  • accounts/views.py:28 CountlessPage.__init__ · 296 ms
  • accounts/templatetags/account_extras.py:36 instances_datalist · 282 ms
  • accounts/templatetags/account_extras.py:34 instances_datalist · 277 ms

Most affected tests:

  • confs/tests.py::TestMigratedLegacyConferences::test_djangoconafrica_page
  • accounts/tests.py::TestAccountIndexRobots::test_two_facets_are_noindex
  • starter_packs/tests.py::TestStarterPacks::test_index_page
  • accounts/tests.py::TestStaticPages::test_developers_on_mastodon
  • confs/tests.py::TestCreateConference::test_form_renders_for_authenticated_user
  • accounts/tests.py::TestSelectedInstance::test_invalid_selected_instance
  • accounts/tests.py::TestAccountIndexRobots::test_single_facet_is_indexable
  • fedidevs/tests.py::TestAnonymousCacheAndCsrf::test_anonymous_forms_work_after_csrf_bootstrap

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.58 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_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
  • 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
  • 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
  • accounts/tests.py::TestAccountIndexRobots::test_two_facets_are_noindex
  • confs/tests.py::TestSyncAnnouncements::test_is_idempotent_and_refreshes_unposted_content
  • 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
  • accounts/tests.py::TestInstanceIndexingBridgy::test_follows_redirect_and_coerces_null_version

Documentation

7

Make the test database server skip durability work

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

Medium Database
8.30 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.16 s
  • confs/migrations/0031_seed_conference_tags.py:14 seed_conference_tags · 806 ms
  • starter_packs/tests.py:397 TestToggleStarterPackAccount.test_toggle_after_limit · 672 ms
  • starter_packs/views.py:856 share_starter_pack · 543 ms
  • starter_packs/views.py:862 share_starter_pack · 336 ms
  • starter_packs/views.py:60 get_editable_pack · 297 ms
  • accounts/views.py:28 CountlessPage.__init__ · 296 ms
  • accounts/templatetags/account_extras.py:36 instances_datalist · 282 ms
  • accounts/templatetags/account_extras.py:34 instances_datalist · 277 ms
  • starter_packs/views.py:858 share_starter_pack · 254 ms

Most affected tests:

  • accounts/tests.py::TestSelectedInstance::test_invalid_selected_instance
  • confs/tests.py::TestMigratedLegacyConferences::test_fwd50_date_redirects
  • 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.9s.

Medium Parallelism
5.47 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 9.6s and collection 2.9s on every run, even when you only run one test.

Medium Imports
5.01 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.1s)
  • starter_packs/tests.py (335ms)
  • accounts/tests.py (57ms)
  • confs/tests.py (13ms)
  • stats/tests.py (6ms)
  • fedidevs/settings.py (2.7s)
  • debug_toolbar/panels/sql/__init__.py (1.4s)
  • starter_packs/admin.py (761ms)

Documentation

10

Run migrations once, not once per worker

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

Medium Migrations
19.46 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.948, 'builds': 4, 'workers': 4, 'per_build': 6.487}

Documentation

Tests

1–200 of 310, slowest first · click a column to sort this page
Test Outcome Duration Setup Call Teardown Mostly Queries
accounts/tests.py::TestSelectedInstance::test_invalid_selected_instance
passed 7.00 s 6.62 s 376 ms 1 ms Migrations 1119
295 repeated
accounts/tests.py::TestAccountIndexRobots::test_two_facets_are_noindex
passed 6.95 s 6.49 s 450 ms 3 ms Migrations 1065
262 repeated
confs/tests.py::TestMigratedLegacyConferences::test_fwd50_date_redirects
passed 6.73 s 6.55 s 182 ms 1 ms Migrations 1062
262 repeated
confs/tests.py::TestSyncAnnouncements::test_is_idempotent_and_refreshes_unposted_content
passed 6.67 s 6.51 s 163 ms 1 ms Migrations 1075
262 repeated
confs/tests.py::TestEditConference::test_other_user_forbidden_on_approved_conference
passed 1.85 s 3 ms 1.84 s 0.49 ms Password hashing 31
6 repeated
confs/tests.py::TestConferenceOgImage::test_management_command_renders_missing_and_skips_current
passed 1.83 s 20 ms 1.81 s 0.33 ms Libraries 17
10 repeated
confs/tests.py::TestEditConference::test_other_user_forbidden
passed 1.78 s 1 ms 1.77 s 0.32 ms Password hashing 27
3 repeated
confs/tests.py::TestEditConference::test_owner_can_edit
passed 1.60 s 1 ms 1.60 s 0.63 ms Password hashing 31
3 repeated
confs/tests.py::TestLegacyConferenceDataMigration::test_copies_overlapping_legacy_rows_without_clobbering_existing_data
passed 1.50 s 3 ms 1.50 s 0.36 ms Migrations 293
72 repeated
confs/tests.py::TestEditConference::test_edit_does_not_change_slug
passed 1.47 s 18 ms 1.45 s 0.37 ms Password hashing 31
3 repeated
confs/tests.py::TestApproveConference::test_non_staff_forbidden
passed 1.34 s 2 ms 1.33 s 1 ms Password hashing 26
confs/tests.py::TestEditConference::test_owner_can_edit_after_approval
passed 1.32 s 1 ms 1.32 s 0.34 ms Password hashing 32
3 repeated
confs/tests.py::TestApproveConference::test_get_not_allowed
passed 1.22 s 15 ms 1.21 s 0.58 ms Password hashing 25
fedidevs/tests.py::TestAnonymousCacheAndCsrf::test_authenticated_html_is_private_and_keeps_csrf_header
passed 1.15 s 2 ms 1.15 s 0.32 ms Password hashing 31
3 repeated
confs/tests.py::TestApproveConference::test_staff_approves
passed 1.14 s 1 ms 1.14 s 0.31 ms Password hashing 28
confs/tests.py::TestApproveConference::test_staff_sees_approve_button_on_detail
passed 1.10 s 1 ms 1.10 s 2 ms Password hashing 31
starter_packs/tests.py::TestToggleStarterPackAccount::test_toggle_after_limit
passed 1.07 s 2 ms 1.07 s 3 ms Database 499
463 repeated
confs/tests.py::TestEditConference::test_owner_can_view_edit_form
passed 1.05 s 0.91 ms 1.05 s 0.22 ms Password hashing 30
3 repeated
confs/tests.py::TestCreateConference::test_rejects_more_than_three_icons
passed 1.03 s 2 ms 1.03 s 0.33 ms Password hashing 31
4 repeated
confs/tests.py::TestCreateConference::test_form_renders_for_authenticated_user
passed 1.00 s 2 ms 1.00 s 0.42 ms Password hashing 26
confs/tests.py::TestEditConference::test_owner_sees_edit_button_on_approved_detail
passed 959 ms 0.73 ms 958 ms 0.30 ms Password hashing 33
3 repeated
confs/tests.py::TestEditConference::test_staff_can_edit
passed 946 ms 0.76 ms 945 ms 0.92 ms Password hashing 31
3 repeated
confs/tests.py::TestEditConference::test_requires_login
passed 921 ms 0.77 ms 920 ms 0.27 ms Password hashing 9
3 repeated
confs/tests.py::TestLegacyConferenceDataMigration::test_drops_legacy_tables_when_uniques_are_mysql_style_indexes
passed 908 ms 1 ms 907 ms 0.52 ms Migrations 228
68 repeated
confs/tests.py::TestCreateConference::test_advanced_days_are_saved
passed 897 ms 19 ms 878 ms 0.38 ms Password hashing 27
confs/tests.py::TestApproveConference::test_anonymous_sees_pending_banner_without_button
passed 701 ms 0.82 ms 645 ms 55 ms Password hashing 15
confs/tests.py::TestConferenceApprovalVisibility::test_anonymous_sees_only_approved
passed 688 ms 9 ms 679 ms 0.30 ms Password hashing 18
3 repeated
confs/tests.py::TestConferenceApprovalVisibility::test_other_user_does_not_see_pending
passed 674 ms 0.82 ms 673 ms 0.23 ms Password hashing 35
3 repeated
confs/tests.py::TestCreateConference::test_rejects_end_date_before_start
passed 673 ms 1 ms 671 ms 0.55 ms Password hashing 26
confs/tests.py::TestConferenceApprovalVisibility::test_conference_tag_icon_rendered_in_list
passed 661 ms 0.87 ms 660 ms 0.26 ms Password hashing 20
3 repeated
confs/tests.py::TestCreateConference::test_submit_creates_pending_conference
passed 658 ms 1 ms 656 ms 0.99 ms Password hashing 28
confs/tests.py::TestConferenceApprovalVisibility::test_owner_sees_own_pending
passed 656 ms 0.78 ms 655 ms 0.26 ms Password hashing 35
3 repeated
confs/tests.py::TestConferenceApprovalVisibility::test_pending_detail_page_is_viewable
passed 653 ms 0.79 ms 651 ms 1 ms Password hashing 15
confs/tests.py::TestUnapproveConference::test_non_staff_forbidden
passed 646 ms 8 ms 637 ms 0.30 ms Password hashing 26
confs/tests.py::TestCreateConference::test_mastodon_url_is_kept
passed 645 ms 2 ms 642 ms 0.34 ms Password hashing 27
confs/tests.py::TestApproveConference::test_anonymous_redirected_to_login
passed 642 ms 9 ms 633 ms 0.29 ms Password hashing 9
confs/tests.py::TestCreateConference::test_mastodon_handle_is_converted_to_url
passed 641 ms 1 ms 640 ms 0.60 ms Password hashing 27
confs/tests.py::TestUnapproveConference::test_staff_unapproves
passed 641 ms 0.82 ms 639 ms 0.98 ms Password hashing 28
confs/tests.py::TestCreateConference::test_slug_collision_is_resolved
passed 585 ms 1 ms 583 ms 0.30 ms Password hashing 29
3 repeated
confs/tests.py::TestCreateConference::test_requires_login
passed 549 ms 6 ms 542 ms 0.29 ms Password hashing 6
starter_packs/tests.py::TestFollowStarterPack::test_instance_unreachable
passed 535 ms 67 ms 466 ms 1 ms Mocking 43
6 repeated
confs/tests.py::TestCreateConference::test_selected_icons_are_saved
passed 527 ms 1 ms 525 ms 0.28 ms Password hashing 31
starter_packs/tests.py::TestRemoteFollowStarterPack::test_deleted_pack_404
passed 466 ms 41 ms 424 ms 0.29 ms Libraries 10
starter_packs/tests.py::TestShareStarterPack::test_order_by_5___alphabetical____4__3__2__1__0__
passed 428 ms 112 ms 315 ms 0.54 ms Database 42
22 repeated
confs/tests.py::TestMigratedLegacyConferences::test_djangoconafrica_page
passed 409 ms 0.98 ms 408 ms 0.32 ms Database 11
starter_packs/tests.py::TestStarterPacks::test_index_page
passed 399 ms 39 ms 361 ms 0.37 ms Templates 19
11 repeated
accounts/tests.py::TestInstanceIndexingBridgy::test_follows_redirect_and_coerces_null_version
passed 379 ms 2 ms 375 ms 2 ms DB schema 73
62 repeated
starter_packs/tests.py::TestDeleteStarterPack::test_not_owned_starter_pack
passed 346 ms 48 ms 292 ms 6 ms Libraries 30
starter_packs/tests.py::TestShareStarterPack::test_api_activitypub_leaves_out_accounts_without_activitypub_id
passed 327 ms 1 ms 326 ms 0.38 ms Libraries 14
accounts/tests.py::TestAccountIndexRobots::test_single_facet_is_indexable
passed 325 ms 1 ms 317 ms 7 ms Libraries 20
15 repeated
mastodon_auth/tests.py::MastodonRatelimitHeaderTests::test_missing_ratelimit_reset_header_does_not_break_requests
passed 306 ms 2 ms 97 ms 207 ms DB schema 1
accounts/tests.py::TestStaticPages::test_developers_on_mastodon
passed 305 ms 19 ms 285 ms 0.36 ms Libraries 8
confs/tests.py::TestConferencePage::test_conference_with_utc_with_date_no_posts
passed 298 ms 3 ms 295 ms 0.33 ms Libraries 12
confs/tests.py::TestConferenceOgImage::test_render_writes_file_and_updates_fields
passed 287 ms 1 ms 285 ms 0.33 ms Libraries 8
starter_packs/tests.py::TestToggleStarterPackAccount::test_add_account
passed 277 ms 44 ms 233 ms 0.39 ms Libraries 42
starter_packs/tests.py::TestShareStarterPack::test_order_by_1___followers____4__3__2__1__0__
passed 268 ms 4 ms 264 ms 0.39 ms Libraries 20
5 repeated
confs/tests.py::TestConferencesPage::test_conferences_page
passed 268 ms 25 ms 241 ms 2 ms Templates 12
3 repeated
starter_packs/tests.py::TestOwnerManagement::test_accept_blocked_when_pack_at_max
passed 264 ms 55 ms 209 ms 0.34 ms Database 84
54 repeated
starter_packs/tests.py::TestPinAccountInStarterPack::test_no_pin_button_on_share_page
passed 263 ms 66 ms 197 ms 0.38 ms Database 41
3 repeated
starter_packs/tests.py::TestOwnerManagement::test_owner_cancels_invitation
passed 261 ms 1 ms 259 ms 0.33 ms Libraries 28
starter_packs/tests.py::TestFollowStarterPack::test_success
passed 261 ms 49 ms 211 ms 1 ms Database 48
9 repeated
starter_packs/tests.py::TestPinAccountInStarterPack::test_unpinned_pack_orders_by_followers
passed 259 ms 64 ms 193 ms 3 ms Libraries 23
3 repeated
accounts/tests.py::TestSitemap::test_sitemap
passed 258 ms 35 ms 221 ms 2 ms Libraries 14
5 repeated
accounts/tests.py::TestAccountIndexRobots::test_canonical_page_is_indexable
passed 257 ms 16 ms 240 ms 0.32 ms Libraries 8
starter_packs/tests.py::TestShareStarterPack::test_order_by_4___newest_account____0__1__2__3__4__
passed 256 ms 1 ms 253 ms 2 ms Libraries 20
5 repeated
starter_packs/tests.py::TestAddAccountsSearch::test_username_search_shows_checked_for_existing_account
passed 253 ms 58 ms 194 ms 0.34 ms Database 40
starter_packs/tests.py::TestShareStarterPack::test_order_by_3___last_active____4__3__2__1__0__
passed 245 ms 4 ms 241 ms 0.37 ms Libraries 20
5 repeated
starter_packs/tests.py::TestStarterPacks::test_index_page_unknown_language_ignored
passed 236 ms 44 ms 192 ms 0.29 ms Libraries 26
13 repeated
mastodon_auth/tests.py::MastodonRatelimitHeaderTests::test_creates_session_with_hook_when_none_given
passed 231 ms 2 ms 1 ms 228 ms DB schema 1
starter_packs/tests.py::TestOwnerManagement::test_cannot_remove_last_owner
passed 216 ms 1 ms 215 ms 0.33 ms Libraries 28
3 repeated
stats/tests.py::TestStats::test_posts_from_yesterday_are_updated
passed 212 ms 2 ms 210 ms 0.32 ms Database 108
91 repeated
confs/tests.py::TestConferencePage::test_conference_utc_with_no_filter
passed 212 ms 2 ms 209 ms 0.46 ms Libraries 16
starter_packs/tests.py::TestPinAccountInStarterPack::test_pin_button_shown_on_review_page
passed 211 ms 59 ms 152 ms 0.31 ms Database 40
3 repeated
confs/tests.py::TestMigratedLegacyConferences::test_fwd50_page
passed 211 ms 1 ms 209 ms 0.30 ms Libraries 11
starter_packs/tests.py::TestEditStarterPack::test_edit_starter_pack_post
passed 210 ms 1 ms 209 ms 0.36 ms Libraries 34
9 repeated
starter_packs/tests.py::TestOwnerManagement::test_owner_handles_shown_on_list_card
passed 208 ms 2 ms 206 ms 0.50 ms Libraries 17
starter_packs/tests.py::TestCreateStarterPack::test_create_page_logged_in
passed 206 ms 1 ms 205 ms 0.33 ms Libraries 24
accounts/tests.py::TestSelectedInstance::test_unselected_instance
passed 205 ms 1 ms 202 ms 2 ms Libraries 20
confs/tests.py::TestConferencePage::test_conference_pacific_with_no_filter
passed 204 ms 49 ms 154 ms 0.32 ms Database 20
starter_packs/tests.py::TestStarterPacks::test_index_page_logged_in
passed 204 ms 2 ms 200 ms 3 ms Libraries 26
starter_packs/tests.py::TestAddAccountsSearch::test_username_search_shows_unchecked_for_new_account
passed 203 ms 2 ms 200 ms 1 ms Mocking 30
fedidevs/tests.py::TestAnonymousCacheAndCsrf::test_anonymous_forms_work_after_csrf_bootstrap
passed 200 ms 23 ms 177 ms 0.30 ms Libraries 8
starter_packs/tests.py::TestFollowStarterPack::test_revoked_token_logs_out
passed 200 ms 1 ms 196 ms 3 ms Database 34
starter_packs/tests.py::TestShareStarterPack::test_logged_in
passed 197 ms 1 ms 196 ms 0.34 ms Database 36
7 repeated
starter_packs/tests.py::TestOwnerManagement::test_invite_blocked_when_owners_plus_invitations_at_max
passed 197 ms 2 ms 195 ms 0.36 ms Libraries 76
45 repeated
starter_packs/tests.py::TestShareStarterPack::test_api_activitypub
passed 196 ms 54 ms 142 ms 0.36 ms Libraries 34
17 repeated
starter_packs/tests.py::TestPinAccountInStarterPack::test_pin_button_shown_on_add_accounts_page
passed 196 ms 1 ms 194 ms 0.93 ms Libraries 29
starter_packs/tests.py::TestOwnerManagement::test_invite_blocked_at_max
passed 194 ms 0.96 ms 193 ms 0.42 ms Libraries 77
45 repeated
accounts/tests.py::TestAccountIndexRobots::test_search_is_noindex_even_alone
passed 188 ms 3 ms 185 ms 0.31 ms Libraries 8
starter_packs/tests.py::TestShareStarterPack::test_api_activitypub_leaves_out_attributed_to_without_author_activitypub_id
passed 187 ms 3 ms 183 ms 0.36 ms Libraries 11
starter_packs/tests.py::TestEditStarterPackAccounts::test_edit_starter_packs
passed 185 ms 39 ms 146 ms 0.38 ms Database 34
starter_packs/tests.py::TestStarterPacks::test_language_filter_only_lists_used_languages
passed 184 ms 4 ms 176 ms 5 ms Database 15
starter_packs/tests.py::TestEditStarterPack::test_edit_starter_pack_languages
passed 181 ms 42 ms 139 ms 0.35 ms Database 32
starter_packs/tests.py::TestPinAccountInStarterPack::test_pinned_account_listed_first_for_everyone
passed 180 ms 1 ms 179 ms 0.33 ms Libraries 13
starter_packs/tests.py::TestOwnerManagement::test_pending_invitation_shown_on_starter_packs_page
passed 179 ms 1 ms 178 ms 0.31 ms Libraries 28
accounts/tests.py::TestSelectedInstance::test_no_selected_instance
passed 178 ms 4 ms 174 ms 0.53 ms Database 12
accounts/tests.py::TestAccountIndexRobots::test_pagination_is_noindex
passed 177 ms 2 ms 175 ms 0.26 ms Libraries 8
accounts/tests.py::TestSelectedInstance::test_selected_instance_through_session
passed 177 ms 1 ms 176 ms 0.29 ms Templates 17
accounts/tests.py::TestAccountIndexRobots::test_empty_facet_values_are_not_facets
passed 176 ms 2 ms 174 ms 0.49 ms Libraries 8
starter_packs/tests.py::TestShareStarterPack::test_header_shows_gradient_and_account_avatars
passed 175 ms 2 ms 173 ms 0.53 ms Libraries 14
starter_packs/tests.py::TestRemoteFollowStarterPack::test_error_on_invalid_handle
passed 175 ms 1 ms 173 ms 0.78 ms Libraries 12
starter_packs/tests.py::TestShareStarterPack::test_api_formats_1___application_ld_json__profile__https___www_w3_org_ns_activitystreams_____application_activity_json__
passed 174 ms 74 ms 99 ms 0.31 ms Database 32
17 repeated
starter_packs/tests.py::TestOwnerManagement::test_non_owner_cannot_cancel_invitation
passed 174 ms 45 ms 128 ms 0.30 ms Database 35
stats/tests.py::TestStats::test_store_daily_stats_with_accounts
passed 173 ms 1 ms 171 ms 2 ms Database 104
88 repeated
starter_packs/tests.py::TestCreateStarterPack::test_create_starter_pack_rejects_too_many_languages
passed 173 ms 1 ms 171 ms 0.47 ms Libraries 25
starter_packs/tests.py::TestShareStarterPack::test_api_plain_json
passed 169 ms 2 ms 167 ms 0.40 ms Libraries 9
starter_packs/tests.py::TestEditStarterPack::test_edit_shows_selected_uncommon_language_expanded
passed 169 ms 32 ms 132 ms 4 ms Libraries 32
starter_packs/tests.py::TestShareStarterPack::test_languages_hidden_when_unset
passed 168 ms 2 ms 166 ms 0.32 ms Libraries 12
starter_packs/tests.py::TestShareStarterPack::test_share_starter_pack
passed 167 ms 1 ms 166 ms 0.51 ms Libraries 18
6 repeated
starter_packs/tests.py::TestCreateStarterPack::test_create_starter_pack_with_languages
passed 167 ms 3 ms 164 ms 0.29 ms Libraries 29
starter_packs/tests.py::TestEditStarterPack::test_edit_starter_packs
passed 165 ms 2 ms 163 ms 0.36 ms Templates 25
confs/tests.py::TestMigratedLegacyConferences::test_migrated_conference_shows_linked_posts
passed 164 ms 1 ms 158 ms 5 ms Templates 19
accounts/tests.py::TestAccountIndexRobots::test_unfaceted_root_index_is_indexable
passed 164 ms 2 ms 154 ms 7 ms Libraries 8
mastodon_auth/tests.py::MastodonAuthCallbackTests::test_token_response_without_scope_still_logs_in
passed 162 ms 0.93 ms 160 ms 0.41 ms Database 33
accounts/tests.py::TestWebfingerBackfill::test_backfills_only_live_starter_pack_accounts_and_authors
passed 161 ms 88 ms 67 ms 6 ms Database 34
22 repeated
starter_packs/tests.py::TestShareStarterPack::test_api_formats_7___text_plain____text_html__
passed 161 ms 1 ms 160 ms 0.32 ms Libraries 12
starter_packs/tests.py::TestRemoteFollowStarterPack::test_missing_handle
passed 161 ms 32 ms 128 ms 0.36 ms Database 14
starter_packs/tests.py::TestShareStarterPack::test_order_by_6___not_a_valid_option____4__3__2__1__0__
passed 160 ms 1 ms 159 ms 0.52 ms Libraries 20
5 repeated
mastodon_auth/tests.py::MastodonAuthCallbackTests::test_missing_code_state_is_logged_at_error
passed 158 ms 4 ms 153 ms 0.25 ms Libraries 5
starter_packs/tests.py::TestCreateStarterPack::test_create_starter_pack_rejects_unknown_language
passed 157 ms 0.97 ms 156 ms 0.35 ms Templates 25
starter_packs/tests.py::TestCreateStarterPack::test_form_error
passed 156 ms 4 ms 146 ms 7 ms Libraries 25
starter_packs/tests.py::TestShareStarterPack::test_order_by_recently_added_ignores_other_packs
passed 155 ms 1 ms 153 ms 0.63 ms Database 24
5 repeated
fedidevs/tests.py::TestAnonymousCacheAndCsrf::test_query_string_pages_are_not_noindexed
passed 155 ms 1 ms 145 ms 9 ms Libraries 7
starter_packs/tests.py::TestShareStarterPack::test_languages_shown_when_set
passed 155 ms 0.94 ms 147 ms 7 ms Libraries 13
starter_packs/tests.py::TestCreateStarterPack::test_create_page
passed 153 ms 35 ms 117 ms 0.29 ms Libraries 11
accounts/tests.py::TestSelectedInstance::test_selected_instance_http_truncate
passed 151 ms 3 ms 148 ms 0.29 ms Libraries 13
starter_packs/tests.py::TestDeleteStarterPack::test_delete
passed 150 ms 45 ms 105 ms 0.32 ms Database 31
starter_packs/tests.py::TestShareStarterPack::test_non_discoverable_accounts
passed 150 ms 2 ms 148 ms 0.33 ms Database 19
5 repeated
starter_packs/tests.py::TestPinAccountInStarterPack::test_readding_account_swaps_pin_button_to_enabled_unpinned
passed 149 ms 1 ms 147 ms 0.34 ms Database 50
14 repeated
starter_packs/tests.py::TestShareStarterPack::test_order_by_2___recently_added____0__1__2__3__4__
passed 148 ms 2 ms 146 ms 0.35 ms Database 20
5 repeated
starter_packs/tests.py::TestRemoteFollowStarterPack::test_mastodon_handle_is_told_to_log_in
passed 148 ms 1 ms 139 ms 7 ms Mocking 12
starter_packs/tests.py::TestStarterPacks::test_index_page_language_filter
passed 148 ms 1 ms 146 ms 0.36 ms Libraries 17
accounts/tests.py::TestStaticPages::test_faq
passed 147 ms 0.87 ms 144 ms 2 ms Libraries 7
starter_packs/tests.py::TestRemoteFollowStarterPack::test_share_page_shows_remote_follow_form_when_logged_out
passed 146 ms 1 ms 144 ms 0.92 ms Libraries 11
fedidevs/tests.py::TestAnonymousCacheAndCsrf::test_other_pages_keep_unknown_query_params
passed 144 ms 1 ms 142 ms 0.35 ms Database 10
3 repeated
mastodon_auth/tests.py::MastodonAuthCallbackTests::test_pleroma_granular_scope_mismatch_still_logs_in
passed 143 ms 0.98 ms 142 ms 0.34 ms Mocking 32
accounts/tests.py::TestAccountIndexRobots::test_selected_instance_is_noindex
passed 143 ms 3 ms 140 ms 0.28 ms Libraries 12
starter_packs/tests.py::TestOwnerManagement::test_invite_twice_does_not_duplicate
passed 142 ms 0.94 ms 141 ms 0.31 ms Libraries 40
3 repeated
starter_packs/tests.py::TestToggleStarterPackAccount::test_remove_account
passed 142 ms 2 ms 139 ms 0.34 ms Libraries 37
starter_packs/tests.py::TestStarterPacks::test_index_page_with_own_starter_packs
passed 140 ms 1 ms 138 ms 0.28 ms Libraries 30
starter_packs/tests.py::TestRemoteFollowStarterPack::test_share_page_hides_remote_follow_form_when_logged_in
passed 138 ms 0.96 ms 137 ms 0.39 ms Libraries 33
fedidevs/tests.py::TestPotatoqDashboard::test_inactive_staff_is_treated_as_logged_out
passed 137 ms 0.92 ms 136 ms 0.51 ms Libraries 22
starter_packs/tests.py::TestShareStarterPack::test_order_by_htmx_swaps_account_list
passed 135 ms 1 ms 133 ms 0.38 ms Database 19
5 repeated
starter_packs/tests.py::TestOwnerManagement::test_invite_without_account_access_is_rejected
passed 134 ms 1 ms 133 ms 0.30 ms Libraries 28
starter_packs/tests.py::TestCreateStarterPack::test_create_starter_pack_defaults_to_no_languages
passed 134 ms 0.92 ms 132 ms 0.35 ms Database 29
starter_packs/tests.py::TestPinAccountInStarterPack::test_removing_account_swaps_pin_button_to_disabled
passed 133 ms 1 ms 132 ms 0.35 ms Libraries 35
accounts/tests.py::TestSelectedInstance::test_selected_instance_slash_truncate
passed 133 ms 1 ms 131 ms 0.31 ms Libraries 13
posts/tests.py::TestSubscribePages::test_subscribe_uses_tailwind_layout
passed 132 ms 3 ms 126 ms 2 ms Libraries 6
starter_packs/tests.py::TestCreateStarterPack::test_create_starter_pack
passed 131 ms 1 ms 129 ms 0.29 ms Database 38
6 repeated
starter_packs/tests.py::TestOwnerManagement::test_non_owner_cannot_open_manage_page
passed 131 ms 1 ms 129 ms 0.38 ms Libraries 23
starter_packs/tests.py::TestOwnerManagement::test_invite_creates_pending_invitation_not_owner
passed 129 ms 5 ms 124 ms 0.37 ms Database 33
fedidevs/tests.py::TestAnonymousCacheAndCsrf::test_plain_pages_are_indexable
passed 128 ms 4 ms 125 ms 0.31 ms Database 7
accounts/tests.py::TestSelectedInstance::test_selected_instance
passed 128 ms 2 ms 126 ms 0.27 ms Templates 13
fedidevs/tests.py::TestRobotsTxt::test_disallows_query_strings_except_googlebot
passed 128 ms 2 ms 125 ms 0.42 ms Libraries –
mastodon_auth/tests.py::MastodonAuthCallbackTests::test_other_illegal_argument_error_still_logged_at_error
passed 128 ms 2 ms 125 ms 0.35 ms Mocking 7
confs/tests.py::TestConferencePage::test_posts_after_filter_does_not_warn_naive_datetime
passed 128 ms 0.94 ms 125 ms 2 ms Database 16
accounts/tests.py::TestAccountIndexRobots::test_deep_pagination_is_noindex
passed 127 ms 1 ms 125 ms 0.94 ms Libraries 8
starter_packs/tests.py::TestOwnerManagement::test_only_invited_user_can_accept
passed 127 ms 1 ms 125 ms 0.25 ms Libraries 31
accounts/tests.py::TestAccountIndexRobots::test_full_facet_product_is_noindex
passed 126 ms 1 ms 125 ms 0.33 ms Libraries 8
starter_packs/tests.py::TestOwnerManagement::test_remove_owner
passed 126 ms 3 ms 122 ms 1 ms Database 29
starter_packs/tests.py::TestRemoteFollowStarterPack::test_error_when_no_subscribe_endpoint
passed 125 ms 2 ms 123 ms 0.28 ms Database 12
fedidevs/tests.py::TestAccountIndexQueryParams::test_unknown_root_param_is_301ed
passed 124 ms 1 ms 121 ms 2 ms Libraries –
confs/tests.py::TestMigratedLegacyConferences::test_djangoconus_date_redirects
passed 124 ms 0.82 ms 123 ms 0.34 ms Database 5
mastodon_auth/tests.py::MastodonAuthCallbackTests::test_date_only_last_status_at_is_stored_as_aware
passed 124 ms 16 ms 107 ms 0.32 ms Database 32
starter_packs/tests.py::TestShareStarterPack::test_sort_select_avoids_inline_js
passed 123 ms 1 ms 120 ms 2 ms Database 12
confs/tests.py::TestMigratedLegacyConferences::test_djangoconafrica_date_redirects
passed 123 ms 1 ms 121 ms 0.30 ms Libraries 5
starter_packs/tests.py::TestShareStarterPack::test_api_formats_6___text_html____text_html__
passed 122 ms 0.99 ms 121 ms 0.45 ms Database 12
starter_packs/tests.py::TestOwnerManagement::test_added_owner_who_is_not_creator_can_edit
passed 121 ms 1 ms 120 ms 0.37 ms Database 26
starter_packs/tests.py::TestOwnerManagement::test_creator_removed_from_owners_loses_access
passed 121 ms 2 ms 119 ms 0.29 ms Libraries 25
confs/tests.py::TestConferencePage::test_conference_with_utc_with_date
passed 121 ms 1 ms 119 ms 0.30 ms Database 16
starter_packs/tests.py::TestOwnerManagement::test_decline_invitation_removes_it
passed 121 ms 1 ms 119 ms 0.35 ms Libraries 27
starter_packs/tests.py::TestPinAccountInStarterPack::test_toggle_pin_and_unpin
passed 119 ms 1 ms 118 ms 0.38 ms Database 33
3 repeated
confs/tests.py::TestConferencePage::test_conference_with_pacific_with_date
passed 119 ms 1 ms 117 ms 0.30 ms Libraries 16
starter_packs/tests.py::TestPinAccountInStarterPack::test_pin_limit
passed 119 ms 0.90 ms 118 ms 0.31 ms Libraries 47
20 repeated
mastodon_auth/tests.py::MastodonAuthCallbackTests::test_unknown_state_is_logged_as_warning_not_error
passed 118 ms 2 ms 111 ms 5 ms Libraries 5
starter_packs/tests.py::TestShareStarterPack::test_api_formats_5___application_json_q_0_5_text_html_q_0_4____application_json__
passed 118 ms 1 ms 116 ms 0.36 ms Libraries 8
stats/tests.py::TestStats::test_store_daily_stats
passed 117 ms 1 ms 115 ms 0.32 ms Database 102
88 repeated
starter_packs/tests.py::TestShareStarterPack::test_not_existing_starter_pack
passed 116 ms 0.90 ms 115 ms 0.33 ms Libraries 6
accounts/tests.py::TestSelectedInstance::test_selected_instance_https_truncate
passed 116 ms 1 ms 114 ms 0.28 ms Libraries 13
starter_packs/tests.py::TestPinAccountInStarterPack::test_toggle_pin_requires_ownership
passed 115 ms 1 ms 107 ms 7 ms Libraries 25
starter_packs/tests.py::TestDeleteStarterPack::test_delete_confirmation
passed 115 ms 1 ms 113 ms 0.32 ms Database 25
starter_packs/tests.py::TestEditStarterPackAccounts::test_not_owned_starter_pack
passed 115 ms 1 ms 107 ms 7 ms Libraries 24
fedidevs/tests.py::TestPotatoqDashboard::test_regular_user_is_forbidden
passed 114 ms 2 ms 113 ms 0.31 ms Libraries 22
starter_packs/tests.py::TestShareStarterPack::test_api_formats_4___application_json____application_json__
passed 113 ms 2 ms 111 ms 0.31 ms Libraries 8
starter_packs/tests.py::TestShareStarterPack::test_api_formats_2___application_activity_json____application_activity_json__
passed 113 ms 1 ms 111 ms 0.30 ms Database 10
confs/tests.py::TestMigratedLegacyConferences::test_djangoconus_old_url_redirects
passed 112 ms 2 ms 110 ms 0.26 ms Libraries 5
mastodon_auth/tests.py::MastodonAuthCallbackTests::test_invalid_grant_is_logged_as_warning_not_error
passed 111 ms 3 ms 108 ms 0.27 ms Mocking 8
starter_packs/tests.py::TestOwnerManagement::test_accept_invitation_makes_owner
passed 110 ms 2 ms 108 ms 0.32 ms Libraries 30
starter_packs/tests.py::TestEditStarterPack::test_not_owned_starter_pack
passed 110 ms 0.97 ms 107 ms 1 ms Database 24
starter_packs/tests.py::TestOwnerManagement::test_manage_owners_page
passed 109 ms 1 ms 102 ms 6 ms Database 27
starter_packs/tests.py::TestShareStarterPack::test_api_formats_3___application_activity_json_q_0_5_text_html_q_0_4____application_activity_json__
passed 109 ms 1 ms 107 ms 0.34 ms Libraries 10
starter_packs/tests.py::TestEditStarterPack::test_not_logged_in
passed 108 ms 2 ms 106 ms 0.33 ms Libraries 7
starter_packs/tests.py::TestDeleteStarterPack::test_not_logged_in
passed 108 ms 1 ms 105 ms 1 ms Libraries 7
mastodon_auth/tests.py::MastodonAuthCallbackTests::test_keyerror_without_token_errors
passed 107 ms 0.93 ms 106 ms 0.31 ms Libraries 8
starter_packs/tests.py::TestOwnerManagement::test_search_finds_logged_in_user
passed 106 ms 0.92 ms 100 ms 6 ms Database 28
mastodon_auth/tests.py::MastodonAuthCallbackTests::test_token_exchange_failure_without_token_errors
passed 105 ms 2 ms 103 ms 0.26 ms Mocking 8
fedidevs/tests.py::TestPotatoqDashboard::test_actions_skip_django_csrf_but_need_dashboard_header
passed 103 ms 22 ms 81 ms 0.28 ms Database 26
4 repeated
starter_packs/tests.py::TestPinAccountInStarterPack::test_stale_pin_toggle_returns_disabled_button
passed 103 ms 1 ms 102 ms 0.30 ms Database 26
starter_packs/tests.py::TestEditStarterPackAccounts::test_not_logged_in
passed 103 ms 2 ms 101 ms 0.39 ms Database 7
mastodon_auth/tests.py::MastodonAuthCallbackTests::test_pleroma_null_account_fields_are_coerced
passed 103 ms 0.99 ms 102 ms 0.27 ms Mocking 33

Slowest fixtures

Exact setup time across the session
Fixture Scope Calls Total Max
_django_setup_unittest class 79 25.98 s 6.54 s
django_db_setup session 4 25.95 s 6.54 s
_unittest_setUpClass_fixture_TestShareStarterPack class 3 233 ms 109 ms
_unittest_setUpClass_fixture_TestSelectedInstance class 1 199 ms 199 ms
_unittest_setUpClass_fixture_TestPinAccountInStarterPack class 3 179 ms 61 ms
_unittest_setUpClass_fixture_TestFollowStarterPack class 2 112 ms 65 ms
_unittest_setUpClass_fixture_TestOwnerManagement class 2 96 ms 53 ms
_unittest_setUpClass_fixture_TestDeleteStarterPack class 2 88 ms 46 ms
_unittest_setUpClass_fixture_TestWebfingerBackfill class 1 85 ms 85 ms
_unittest_setUpClass_fixture_TestStarterPacks class 2 77 ms 41 ms
_unittest_setUpClass_fixture_TestEditStarterPack class 2 71 ms 40 ms
_unittest_setUpClass_fixture_TestRemoteFollowStarterPack class 2 69 ms 39 ms
_unittest_setUpClass_fixture_TestAddAccountsSearch class 1 56 ms 56 ms
_unittest_setUpClass_fixture_TestFollowBg class 1 51 ms 51 ms
_unittest_setUpClass_fixture_TestConferencePage class 1 46 ms 46 ms